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

          新聞中心

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

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

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

            如果有某個(gè)虛擬機(jī),它的指令集可以無縫支持所有的編程語言,還能保證高效率,那么所有CPU的都將被OTT(over-the-top)了,就像短信被微信OTT一樣。可惜還沒有一個(gè)虛擬機(jī)可以實(shí)現(xiàn)此目標(biāo)?,F(xiàn)在大家熟知的虛擬機(jī),都是和語言綁定的,例如JVM只支持Java、scala、kotlin等;DotNet虛擬機(jī)只支持C#、VB.net等;V8只支持Javascript、typescript等;HHVM只支持PHP。

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

            同一個(gè)VM上跑的語言相互調(diào)用很容易,跨VM很難互操作。由于虛擬機(jī)實(shí)在太多了,它們反而成了新的CPU架構(gòu)的攔路虎:80年代只需要搞定C語言編譯器就能賣Unix工作站,如今服務(wù)器要想挑戰(zhàn),必須把所有這些基于VM的編程語言都支持得很好,JIT編譯器的效率都要做得比較高才行。

            第三個(gè)挑戰(zhàn),來自Transmeta公司對x86指令集的Emulation(Emulation這個(gè)詞很難翻譯,索性不翻了)。簡單地說,Emulation就是把x86指令集看成一個(gè)虛擬機(jī)的指令集,然后用類似JIT編譯器的技術(shù),在非x86的CPU上跑x86的程序。未經(jīng)許可用別人的ISA做CPU是違法的,但用Emulation的方式實(shí)現(xiàn)ISA則不違法(和Transmeta只打過專利的官司沒打過ISA的官司,還輸了)。

            如今最廣為人知的Emulator是Qemu,上文提到的x86、MIPS、PowerPC、Sparc、MC68000它都可以支持。一般而言,Emulation會(huì)導(dǎo)致性能下降一個(gè)甚至若干個(gè)數(shù)量級,根本不足為慮。

            1995年,Transmeta公司成立,經(jīng)過艱苦的秘密研發(fā),于2000年推出了Crusoe處理器,用Emulation的方式,在一款VLIW(超長指令字)風(fēng)格的CPU上執(zhí)行x86的程序,這樣就規(guī)避了沒有x86指令集授權(quán)的問題。Transmeta的牛X在于,雖然是Emulation,但實(shí)現(xiàn)了接近Intel處理器的性能,同時(shí)功耗低很多。2000年年底Transmeta的IPO大獲成功,其風(fēng)光程度,直到后來谷歌IPO的時(shí)候才被超過。

            Transmeta最后還是失敗了,Intel在渠道上打壓它是次要原因,性能不足是主要原因。雖然VLIW在90年代中后期被廣為推崇,但事實(shí)證明,它的性能比起亂序執(zhí)行的超標(biāo)量架構(gòu),還是差一截。另外Transmeta的芯片是在臺積電制造的,那個(gè)時(shí)候不比現(xiàn)在,臺積電的工藝水平比起Intel還差很多。2000年的時(shí)候,PC還遠(yuǎn)沒有性能過剩,性能還是比功耗重要。等到2010年,Intel的Atom處理器慢得一塌糊涂,依然靠著低功耗,點(diǎn)燃了上網(wǎng)本的大火。

            Transmeta雖然失敗了,Emulation技術(shù)仍然在發(fā)展。NVidia在2008年購買了Transmeta的低功耗技術(shù)的授權(quán)。2014年,NVidia推出了Tegra K1芯片,其中的Denver處理器,利用Emulation技術(shù),在底層的7路超標(biāo)量架構(gòu)上,實(shí)現(xiàn)了64指令集。值得注意的是,NVidia擁有64的指令集的授權(quán),它不是用Emulation技術(shù)來規(guī)避什么,而是用Emulation來提升性能,實(shí)現(xiàn)比硬件直接執(zhí)行還要高的性能。根據(jù)評測結(jié)果,Denver超過了當(dāng)時(shí)蘋果最好的手機(jī)CPU。近期推出的Denver2處理器的,性能更是秒殺蘋果的A9X和華為的麒麟950。

            Emulation技術(shù)如果真的發(fā)展到了比直接執(zhí)行還要快,Intel的麻煩才剛剛開始。微軟聯(lián)合高通,推出基于SnapDragon835處理器的筆記本,運(yùn)行Windows 10操作系統(tǒng),上面可以安裝x86的軟件。Intel雖然很不爽,但Emulation并不需要指令集授權(quán),所以他只能警告說,在實(shí)現(xiàn)Emulator時(shí),不許侵犯Intel的專利,而這一點(diǎn),微軟和高通肯定早已考慮到了。

            挫折

            x86生態(tài)系統(tǒng)曾經(jīng)面對過一次最嚴(yán)重的、近乎滅頂之災(zāi)的挑戰(zhàn)。這次挑戰(zhàn)來自于誰?就來自于它的締造者Intel。

            Intel心不甘情不愿地把自己的x86指令級授權(quán)給了AMD等一眾供應(yīng)商,眼睜睜看著他們分享自己的利潤,很不爽,于是想在x86之外另起爐灶,建設(shè)自己獨(dú)享的生態(tài)系統(tǒng)。正巧在90年代初期,升級64位計(jì)算成為一個(gè)風(fēng)潮,1991年有MIPS R4000,1992年有DEC Alpha,1995年有SUN SPARC64。1994年開始,Intel聯(lián)合HP,準(zhǔn)備趁32位升級64位的時(shí)機(jī),拋棄原有的x86架構(gòu),新推出一個(gè)EPIC(Explicitly Parallel Instruction Computing)架構(gòu),名為IA64(Intel Architecture 64-bit)。

            x86架構(gòu)兼容老舊應(yīng)用程序的能力是出了名的。8086把8位的8080升級為16位的時(shí)候,80386升級到32位的時(shí)候,都完全兼容舊有的程序。直到今天,Intel的處理器依然支持虛擬8086模式,在此模式下,可以運(yùn)行30多年前的8086程序。升級到64bit的時(shí)候,Intel居然要放棄所有之前的8位、16位、32位應(yīng)用了!可想而知當(dāng)時(shí)在業(yè)界會(huì)引起怎樣的軒然大波。Linux的締造者Linus Torvalds公開對此表示反對。

            IA64進(jìn)展得并不順利,EPIC本質(zhì)上就是一種VLIW,如前所述,VLIW的性能比亂序超標(biāo)量要差。而且EPIC的編譯器非常難以開發(fā)。原定1997年就會(huì)推出產(chǎn)品,但直到1999年才發(fā)布IA64指令集,2001年才推出產(chǎn)品。另外Intel也不敢完全放棄之前的32位x86應(yīng)用,它給出的解決方案是Emulation,但EPIC不像Transmeta為Emulation做了很多專門優(yōu)化,跑32位x86應(yīng)用的性能很差。

            這個(gè)時(shí)候,千年老二AMD站了出來,為x86續(xù)命。2000年,它推出了AMD64指令集,延續(xù)了x86架構(gòu)兼容老舊應(yīng)用程序的優(yōu)良傳統(tǒng),可以原生執(zhí)行8位、16位、32位的老程序。2003年,AMD推出Opteron服務(wù)器CPU和Athlon64桌面CPU。

            AMD64從技術(shù)上和生態(tài)上都壓了IA64一頭,Opteron在服務(wù)器市場上為AMD贏得了前所未有的成功。2004年,Intel推出了代號為Nocona的至強(qiáng)服務(wù)器CPU,它支持一種稱為EM64T的技術(shù),EM64T就是AMD64的馬甲。江湖有傳言說,Intel曾想提出另外一套不同于AMD64的x86升級64位的方案,但微軟為了避免x86生態(tài)的分裂,極力阻止了。2012年,Intel推出了最后一代IA64的CPU,關(guān)閉了這個(gè)不賺錢的產(chǎn)品線。

            回顧這段歷史,有幾點(diǎn)特別令人感慨。

            首先,即使是看似無比強(qiáng)大不可戰(zhàn)勝的Intel,不顧生態(tài)系統(tǒng)中其它伙伴的利益,一意孤行也是會(huì)撞南墻的。

            其次,幸好由于歷史的原因,x86生態(tài)中,AMD和Intel是交叉授權(quán)的關(guān)系,AMD有權(quán)加入3DNow這種多媒體擴(kuò)展指令,也有權(quán)加入64位指令,如果是像如今ARM的架構(gòu)級授權(quán)方式,被授權(quán)的企業(yè)不能自行加以擴(kuò)展,那可能還真沒有辦法阻止Intel了。

            最后,Intel的執(zhí)行力還真是超強(qiáng),掉頭極快,EM64T的CPU只比AMD64的CPU晚出了一年(當(dāng)然不能排除Intel早就有備份方案)。

            雖然在IA64上栽了跟頭,但I(xiàn)ntel靠著自己的技術(shù)實(shí)力,持續(xù)不斷地推出性能和功耗表現(xiàn)更好的產(chǎn)品,AMD在64位戰(zhàn)役中所取得的優(yōu)勢,慢慢也被消磨掉了。

            歲月如梭。進(jìn)入移動(dòng)互聯(lián)網(wǎng)和云計(jì)算時(shí)代之后,服務(wù)器的需求量上升。這時(shí)RISC架構(gòu)的服務(wù)器CPU幾乎快被消滅干凈了,只剩下IBM Power奄奄一息。于是Intel幾乎獨(dú)享了服務(wù)器市場擴(kuò)大所帶來的紅利。但它卻高興不起來,因?yàn)橐苿?dòng)市場形成了ARM一家獨(dú)大的局面,移動(dòng)終端CPU這個(gè)市場,Intel怎么也擠不進(jìn)去。

            正巧Intel在剛剛火過一把的上網(wǎng)本市場里設(shè)計(jì)了一種低功耗的x86核心,即Atom。Intel以Atom為武器,殺入了手機(jī)芯片市場。2012年,Intel的老伙計(jì)聯(lián)想,推出了第一款I(lǐng)ntel芯片的手機(jī)K800。緊接著還有Motorola的XT890。2013年,中興、華碩也有產(chǎn)品問世。但三星、小米、華為、OPPO、VIVO等出貨量大的廠商,都沒有采用Intel的芯片。這些手機(jī)大廠,看看x86生態(tài)中做整機(jī)的聯(lián)想如何艱難度日,估計(jì)心里也是一萬個(gè)不樂意讓Intel到移動(dòng)領(lǐng)域來繼續(xù)稱王。

            到2014年,Intel芯的手機(jī)還是沒有打開局面,市場唱衰之聲一片。但I(xiàn)ntel并不想放棄。手機(jī)攻不下,那就攻平板!大廠攻不下,那就攻白牌!嫌我的芯片貴,我就給補(bǔ)貼!又過了兩年,平板也沒有攻下來。在移動(dòng)市場賠了上百億美金的Intel,黯然離場。

            Intel失利的原因眾說紛紜,我覺得根本原因還是競爭力不足:

            首先,這個(gè)時(shí)候的臺積電已經(jīng)不是Transmeta家Crusoe芯片誕生時(shí)的吳下阿蒙,它生產(chǎn)的手機(jī)芯片的功耗和性能并不輸給Intel;

            其次,這次Intel并無生態(tài)系統(tǒng)的優(yōu)勢,要靠名為houdini的Emulator來執(zhí)行ARM指令集的程序,性能打了折扣。試想,Intel芯的手機(jī)如果性能和待機(jī)時(shí)間都是iPhone的兩倍,誰能抵擋得住這種誘惑?

            幾乎在進(jìn)攻移動(dòng)市場的同時(shí),Intel也在推出產(chǎn)品試水物聯(lián)網(wǎng)市場,只不過沒有大舉宣傳。2013年10月,Intel推出一款叫做伽利略的Arduino開發(fā)板,上面的CPU叫做Quark(夸克)。Quark是比Atom(原子)還小的基本粒子,這個(gè)名字暗含著輕巧、低功耗的意思。接著,Intel在2014年的CES大會(huì)和2016年的IDF大會(huì)上,先后推出了升級的愛迪生和焦耳開發(fā)板。

            Intel的大名和Arduino聯(lián)系在一起多少有些奇怪。Arduino是一套可以跑在低端MCU上的C語言函數(shù)庫,是電子創(chuàng)客們的最愛。淘寶上Arduino開發(fā)板才幾十塊錢。焦耳開發(fā)板上的處理器是4核心、1.5GHz,跑Arduino太浪費(fèi)了。和它參數(shù)近似的Raspberry PI 3 Model B+開發(fā)板,四核64位ARM Cortex A53跑1.2GHz,淘寶價(jià)不到200塊。焦耳開發(fā)板要369美元。誰會(huì)當(dāng)這個(gè)冤大頭?

            物聯(lián)網(wǎng)市場極度分散,有無數(shù)應(yīng)用但規(guī)模都不大,Intel賺大錢習(xí)慣了,在這個(gè)微利又需要貼近客戶做服務(wù)的市場里,百般不適。2017年,Intel悄悄停產(chǎn)了針對物聯(lián)網(wǎng)市場的開發(fā)板。

            Intel接下來所可能面對的挫折,是ARM侵入服務(wù)器和桌面領(lǐng)域。這個(gè)話題下文還會(huì)有簡單分析。

            ARM生態(tài)系統(tǒng)

            近幾年ARM風(fēng)光無限,搶新聞?lì)^條的能力不遜于Intel。

            在很多圈外人看來,這家高科技公司好像是在移動(dòng)互聯(lián)網(wǎng)時(shí)代新冒出來的,但其實(shí)它的歷史和幾乎和80286一樣古老。而且它自誕生以來,就以移動(dòng)(portable)設(shè)備為自己首要的目標(biāo)市場。它等待一飛沖天的風(fēng)口,等待了二十年。

            發(fā)端

            前文提到,ARM是Acorn電腦公司創(chuàng)造的。

            Acorn電腦公司創(chuàng)立于1978年,在80年代初,它用6502系列CPU制造的BBC Micro電腦在英國大獲成功。6502的性能慢慢跟不上時(shí)代了,Acorn想基于80286開發(fā)新的電腦,但是Intel連樣片都不給——要是Intel大方些,ARM或許根本就不會(huì)誕生。

            Acorn一氣之下開發(fā)了ARM(Acorn RISC Machine),這是世界上第一款定位中低端(而非服務(wù)器)RISC處理器。1985年,ARM1誕生(但從未被商用),后來Acorn在1986年和1990年分別推出了ARM2和ARM3,1987年推出了RISC OS和桌面電腦Archimedes。它在英國的教育市場獲得了一定的成功,但1990年之后,很快被Wintel的生態(tài)擊敗了。

            1990年前后,研發(fā)掌上電腦成為一股風(fēng)潮。當(dāng)時(shí)有家叫做Active Book的公司,拿ARM2處理器開發(fā)一個(gè)叫做Personal Communicator的產(chǎn)品。可惜產(chǎn)品上市前,Active Book被AT&T收購了,AT&T把ARM2換成了自家的Hobbit處理器。

            幸好東方不亮西方亮,當(dāng)時(shí)的蘋果公司看好ARM,把自己研發(fā)的Newton平臺中的處理器,由AT&T的Hobbit,換成了ARM。這個(gè)“彼此互換”的故事聽起來讓人頭大,大家只需要記住,ARM的第一顆商用處理器ARM2,就曾被嘗試拿來做手持的電腦。

            ARM的東家是Acorn,和蘋果在電腦市場上有競爭。蘋果公司花了6周時(shí)間說服Acorn把ARM獨(dú)立出來運(yùn)營。1990年11月27日,合資公司ARM正式成立,蘋果、Acorn和VLSI分別出資150萬、150萬、25萬英鎊,Acorn把ARM處理器相關(guān)的知識產(chǎn)權(quán)和12名員工放在了新成立的公司里。此后,ARM的縮寫被轉(zhuǎn)而解釋為Advanced RISC Machine。

            為了節(jié)省成本,新公司在劍橋附近租了一間谷倉作為辦公室,全力為蘋果的Newton研發(fā)ARM6處理器(4和5這兩個(gè)編號被跳過去了)。



          關(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); })();