<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 從Intel和ARM雙雄爭霸讀懂芯片的前世今生

          從Intel和ARM雙雄爭霸讀懂芯片的前世今生

          作者: 時間:2018-04-24 來源:新智元 收藏
          編者按:做芯片很難,做核心芯片更難,做需要生態(tài)系統(tǒng)的CPU芯片,比大家想象得都要難;當年,繞得過Intel,跨不過微軟。如今,繞得過Arm,做不出安卓,“生態(tài)之根”已被控制。

            滲透

          本文引用地址:http://www.ex-cimer.com/article/201804/378885.htm

            2011年1月,微軟在CES宣布要為架構(gòu)開發(fā)Windows 8 RT操作系統(tǒng)。在2012年年底,幾乎和芯手機上市的同時,包括微軟自家的Surface RT在內(nèi)的一大批二合一平板設(shè)備上市了。Windows 8 RT不支持所有之前為x86平臺開發(fā)的應(yīng)用程序,這成為它最大的軟肋,相關(guān)的產(chǎn)品慢慢銷聲匿跡了。滲透桌面市場的第一次嘗試失敗了。

            最近微軟和高通所推出的芯的Windows 10,吸取了教訓(xùn),用Eumlation的機制來支持舊有的x86桌面程序。這次嘗試能否成功,我們拭目以待。

            2009年,ARM推出了Cortex A9處理器,并且用40nm的工藝制造了雙核的樣片,跑到了2GHz。這是ARM第一次推出亂序超標量的處理器核,而亂序超標量是實現(xiàn)高性能的關(guān)鍵技術(shù),這是非常振奮人心的消息。2010年,Marvell推出了1.6GHz的4核A9的服務(wù)器芯片Armada XP。2013年,這款芯片被部署在百度的存儲服務(wù)器上,這是ARM服務(wù)器第一次大規(guī)模商用。但Marvell并未繼續(xù)推出新的服務(wù)器芯片。2011年,一家創(chuàng)業(yè)公司Calxeda采用Cortex A9,推出了共有480個CPU核的ARM服務(wù)器。但它的成就還不如Armada XP,2013年公司就倒閉了。

            2012年,AMD收購了一家做高密度服務(wù)器的廠商SeaMicro,準備把它所采用的CPU核由的Atom換成ARM架構(gòu)的CPU。但直到2014年AMD才推出8核Cortex A57的服務(wù)器芯片Opteron A1100,之后從來也沒有認真賣過它。2015年AMD就放棄了SeaMicro這個子品牌,不再做高密度服務(wù)器了。

            ARM進攻服務(wù)器市場的第一次嘗試失敗了。Marvell和Calxeda都采用的是32位的ARM核,先天不足;AMD則三心二意,畢竟自己還有x86 Server的生意。另外服務(wù)器市場對于單核單線程的運算能力也有很高的要求,僅僅有低功耗和高通量(high throughput)是不夠的。

            在ARMv8這一64位指令集發(fā)布之后,Cavium和AppliedMicro這兩家老牌網(wǎng)絡(luò)芯片廠商不約而同地將自己原先芯片中的架構(gòu)換成了ARMv8。因為產(chǎn)品的需要,Cavium和AppliedMicro都有自行設(shè)計處理器微架構(gòu)的能力,前者做MIPS處理器,后者做PowerPC處理器。它們兩家做ARMv8處理器時,也都采用了只授權(quán)指令集,微架構(gòu)自研的模式。Cavium共推出過兩代基于ARM的產(chǎn)品(2014、2016年),AppliedMicro推出過三代(2013、2015、2017年)。隨著產(chǎn)品性能逐漸接近Intel的Xeon E5,它們漸漸不再滿足于原先的網(wǎng)絡(luò)領(lǐng)域,開始覬覦服務(wù)器市場。

            最讓人期待的還是高通的Centriq芯片,2015年年底量產(chǎn)24核版本,2016年年底量產(chǎn)升級48核版本,還得到了微軟的強力支持??紤]到高通還和貴州成立了合資公司華芯通,Centriq很可能成為在國內(nèi)大規(guī)模商用的第一款A(yù)RM服務(wù)器芯片。

            另外具有國防背景的天津飛騰公司,也有ARM服務(wù)器芯片的產(chǎn)品,只是不知道這些產(chǎn)品何時能在通用市場上鋪貨。

            其他確定在研發(fā)ARM Server芯片的大廠還包括Broadcom和華為,進度上要略慢一些。

            ARM陣營對服務(wù)器發(fā)起的第二波沖擊,陣容要強大得多豪華得多。因此ARM才敢于宣稱,在2021年拿下25%的服務(wù)器市場份額。

            要做好Server CPU,ARM架構(gòu)還有些功課要一點一點補。多Socket服務(wù)器所需要的一致性協(xié)議,業(yè)界剛剛?cè)〉霉沧R準備采用CCIX,但還沒有具體的產(chǎn)品出來。做云端虛擬機所必備的虛擬化支持,ARM還有些性能問題。x86處理器提升Throughput的利器超線程技術(shù),ARM陣營尚不能支持。Intel芯片近年來陸續(xù)增加的安全特性,也夠ARM追趕一陣子的。但目前看來,ARM已經(jīng)沒有致命的短板,蠶食掉Intel的服務(wù)器市場份額是板上釘釘?shù)氖虑?,唯一的懸念是究竟多少份額?

            未來ISA將不那么重要

            從長遠看,半導(dǎo)體廠商對建立于ISA之上的生態(tài)系統(tǒng)的掌控力會變?nèi)酰鳬SA本身,會變得越來越不重要。這是軟件技術(shù)發(fā)展的趨勢決定的,如前所述,這些技術(shù)在90年代末就已經(jīng)初有小成了。

            第一是Web技術(shù)。網(wǎng)頁開發(fā)領(lǐng)域,有一個大家視若無睹的奇跡:最后居然只有Javascript一種開發(fā)語言屹立至今。要知道在服務(wù)器端和移動App領(lǐng)域,開發(fā)語言多如過江之卿。其中原因我也分析不出。反正js的挑戰(zhàn)者(微軟的VBScript和谷歌的Dart)都失敗了。網(wǎng)頁開發(fā)領(lǐng)域面臨的主要問題是瀏覽器差異大,API不太兼容。這個問題慢慢在緩解中,一來瀏覽器戰(zhàn)爭大局已定,Android和PC上的Chrome,以及iPhone和Mac上的safari是勝者;二來很多網(wǎng)頁應(yīng)用是跑在App里面的,例如微信和支付寶里,這種場景下Javascript的API已經(jīng)被特定廠商規(guī)范過了。

            由于開發(fā)語言和API的高度統(tǒng)一,H5(HTML5+Javascript)已經(jīng)成了兼容所有硬件的最通用的軟件開發(fā)平臺。曾經(jīng)有人鼓吹H5會趕走移動端和PC端的原生程序,后來被打臉了。但是移動端和PC端的原生App中,越來越多的界面是用H5生成的了,微信、支付寶、京東、淘寶、愛奇藝、有道詞典……統(tǒng)統(tǒng)都是這樣。

            Javascript吞噬一切的進程還在持續(xù)。2007年,Stack Overflow的聯(lián)合創(chuàng)始人Jeff Atwood曾經(jīng)提出過一條Atwood定律:任何能夠用JavaScript實現(xiàn)的應(yīng)用系統(tǒng),最終都必將用JavaScript實現(xiàn)。十年過去了,此定律基本奏效。把Javascript的一個子集當作匯編語言的asm.js及其后續(xù)的WebAssembly,更加使得網(wǎng)頁應(yīng)用有媲美原生應(yīng)用的潛力,在瀏覽器里跑Unity3D的游戲都不是問題。

            獨立的應(yīng)用程序仍然會是移動和桌面端的主流,因為沒有獨立程序,不方便做彈窗廣告,不方便啟動后臺進程收集用戶信息,不方便引誘用戶安裝其它獨立程序。但Web的能力的確在快速提升,Web Component技術(shù)實現(xiàn)了類似GUI庫的Widget復(fù)用,如今在瀏覽器里實現(xiàn)Office和IDE的功能都毫無問題(office365.com、docs.google.com、editor.construct.net、騰訊文檔);而WebGL已經(jīng)能支持Unity3D這種大型游戲框架。

            照此趨勢發(fā)展下去,獨立應(yīng)用程序僅僅會作為一個包裝而存在,開發(fā)者寫一套H5,加上不同的包裝,就成了PC、Mac、Android、iOS上的獨立應(yīng)用程序,不加包裝,就是網(wǎng)站。微軟去年開源的ReactXP,就是為了實現(xiàn)這一目標。

            這意味著什么?不但底層的CPU被OTT了,操作系統(tǒng)也被OTT了。因為移植一個應(yīng)用程序到各個平臺上,幾乎沒有什么難度。誰將是生態(tài)系統(tǒng)的掌控者?若干個超級App,像微信、QQ、支付寶這樣的。它們不但包裝自家的應(yīng)用,其它開發(fā)者也可以把自己的應(yīng)用放在這個包裝里面,借重超級App的廣泛覆蓋度,抵達最終用戶。前文提到了,如果微信小程序獲得成功,騰訊必然會重拾Q+的野心,把QQ變成桌面上各種H5應(yīng)用的App Store。

            如果真的會這樣,微軟豈不是會比Intel還著急?拜托,微軟已經(jīng)不是二十年前主要靠賣Windows和Office的光盤賺錢的那家公司了,未來它會專注于云計算。但Intel還和二十年前一樣在賣芯片。

            第二是編譯技術(shù)尤其是虛擬機的發(fā)展。如今的編程語言太多了,80年代那種搞定C語言編譯器就OK的好日子早已過去。任何一個新CPU架構(gòu)要想在移動、桌面、服務(wù)器市場站穩(wěn)腳跟,都得搞定無數(shù)的編譯器(包括虛擬機用的JIT編譯器),這是個壞消息。但好消息是,搞定這些編譯器基本就差不多了,不用勸說開發(fā)者重寫匯編代碼。

            老一代程序員對x86處理器架構(gòu)和匯編都非常熟悉。求伯君當年開發(fā)WPS時,手寫幾十萬行匯編;雷軍讀本科時,是系里20多年來拿過《匯編語言程序設(shè)計》滿分成績的兩個學(xué)生之一;梁肇新開發(fā)超級解霸時,把MMX匯編玩得出神入化。感興趣的讀者可以看看梁的《編程高手箴言》,那里面,描繪了一個對現(xiàn)在的程序員而言,完全陌生的世界。在那個世界里,你開發(fā)的PC應(yīng)用程序想要移植到Mac平臺上,幾乎要完全重寫。

            如今高層次的編程語言接管了一切,匯編語言從很多學(xué)校的本科課程里消失了,入門教材也從C改成了Java,甚至是Javascript或Python。程序員完全不熟悉底層的CPU。即使是真的需要拼性能的場合,編譯器也在很大程度上代替了手寫匯編。ARM的工程師告訴我說,ARM在開發(fā)開源的Compute Library過程中,主要依靠在C源碼中加入標注來指導(dǎo)編譯器生成SIMD指令,而不是像梁肇新那樣手寫。

            在這種情況下,軟件平臺廠商就變得非常強勢,因為他們知道,應(yīng)用開發(fā)商只需付出重新編譯一遍的代價。比如蘋果,就要求所有的App都改為64位的。這樣,未來蘋果在手機CPU里放棄對32位應(yīng)用的支持時,甚至都不會有人感覺得到。這對于x86生態(tài)系統(tǒng)而言,簡直是天方夜譚,顯然微軟對此非常眼饞,并且嘗試在Windows 10 S中復(fù)制這種掌控力。

            至于谷歌,Android把所有應(yīng)用都跑在虛擬機上的嘗試雖然失敗了,但如果未來它再針對AR/VR、AI或機器人發(fā)布一個什么軟件平臺的話,就很有可能完全禁止原生程序。

            而Oracle,正在努力開發(fā)可以支持所有編程語言、能把所有CPU給OTT掉的全新VM:GraalVM。我們拭目以待。

            第三是Emulation技術(shù)的發(fā)展。雖然眼下ARM陣營中靠Emulation進攻Intel的先鋒是高通,但最可怕的選手其實是NVidia。NVidia擁有最厲害的Emulation技術(shù),而且江湖傳言Denver處理器的初衷就是針對x86的。當初NVidia的Tegra處理器曾被拿來做Windows 8 RT的二合一平板。如今Denver處理器跑Windows 10絕不會讓人意外,那么它會怎么跑呢?肯定是直接在底層硬件上做x86的Emulation,而不是在Emulate出來的ARM指令集上再做一層Eumulation。

            Denver處理器前些年沒有跳出來搶Intel的飯碗,很大程度上是因為NVidia還在做Intel平臺的主板芯片組,另外NVidia還沒有那么強大。如今NVidia也不做芯片組生意了,還借AI的東風(fēng),股價扶搖直上。說不定哪天,NVidia就會放出Denver處理器的x86 Emulator,做到單線程性能不輸Xeon,強攻服務(wù)器市場。想想看,在單芯片上集成GPU和x86版的Denver,云計算廠商能不動心?

            如果未來Emulation技術(shù)進一步發(fā)展并且被越來越多的廠商掌握,很可能會出現(xiàn)這種情況:CPU本身是某種外界不了解的指令集,官方發(fā)布時,只能Emulate某種開放的指令集,例如RISCV;但是用戶可以給它安裝不同的Emulator,讓它變成x86-64處理器,或者ARM64處理器。在軟件定義一切的時代,這并不是多么瘋狂的想象。

            總之,CPU依然不可或缺,但CPU用誰家的,是什么指令集,會越來越不重要。軟件的發(fā)展,會在用戶和底層的CPU之間加入足夠大的緩沖帶,CPU的差異,越來越難以被用戶察覺到。

            展望:讓CPU不再難

            此文在最后修改之時,看到了梁寧的文章《一段關(guān)于國產(chǎn)芯片和操作系統(tǒng)的往事》,里面寫到:

            就像10多年前一樣,只要搞定知識產(chǎn)權(quán)問題,選擇技術(shù)路線,找會干的人,投入干,CPU/芯片就能夠做出來。搞不定的依然是操作系統(tǒng)。差距大的依然是生態(tài)。

            當年,繞得過Intel,跨不過微軟。如今,繞得過Arm,做不出安卓。

            我也曾在北大參與過國產(chǎn)CPU的研發(fā),生態(tài)之難體會頗深,真的,只是燒錢做芯片,無論燒多少都無法挑戰(zhàn)Intel和ARM,何況過去二十年真的沒燒多少。

            但我并沒有梁寧那么悲觀,畢竟技術(shù)的潮流無法抗拒,借用馬化騰的一句名言“可能你什么錯都沒有,最后就是錯在自己太老了”。

            Intel和ARM如此強大而且極少犯錯,我們?nèi)绱巳跣【退闼鼈兎稿e也無法利用——但我們可以欺負它們的“老”。

            在此借新智元的寶地,向小馬哥呼吁一聲:

            請借助騰訊的強大生態(tài),把CPU和OS這兩個老大難問題給OTT掉吧!

            做法非常簡單,把Q+桌面再重新搞起來,做一款完全使用Javascript&Webassembly編程的操作系統(tǒng),里面用騰訊文檔來替代Office,各種微信小程序都支持起來,適當支持游戲(但要加入家長監(jiān)控系統(tǒng))。補貼芯片廠,讓它們使用ARM或RISC-V外加國產(chǎn)Imagination gpu做SoC,生產(chǎn)類似Surface這樣的二合一平板。底層CPU使用的ISA完全不可見,上層編程完全用H5。這樣,就幫祖國把CPU和OS這兩個陳年大洞都補上了。

            芯片要下苦功,別凡事都指望模式創(chuàng)新。這不假。但偏偏CPU真的面臨一個十倍速變革的機會,真的有靠模式創(chuàng)新而勝出的機會,為什么不試試呢?如果騰訊不去嘗試一下,誰還有資格呢?促進祖國的微電子發(fā)展功德無量,相信這次不會有人說騰訊壟斷之類的閑話。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: Intel ARM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();