在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

GReq_mcu168 ? 來源:未知 ? 作者:胡薇 ? 2018-05-03 11:14 ? 次閱讀

芯片很難,做核心芯片更難,做需要生態(tài)系統(tǒng)的CPU芯片,比大家想象得都要難。

這幾天中興事件持續(xù)發(fā)酵以來,各種議論紛紛擾擾。

新智元推送了《中國芯“逃兵”:缺芯是因?yàn)槿卞X;中國芯“老炮”:芯片救國靠BAT不是開玩笑》一文,引起了無數(shù)從業(yè)者熱議。

有十余年芯片從業(yè)經(jīng)驗(yàn)的水木網(wǎng)友torvaldsing告訴新智元,這幾天對他觸動最大的,還是碧樹西風(fēng)寫的這句話:

一碗牛肉面,真的要用牛肉,真的要用面,真的要燉很久,這么簡單的道理,偌大一個(gè)國家,這么多精英,過去這么多年了,咋就不能懂呢?

做芯片很難,做核心芯片更難,做需要生態(tài)系統(tǒng)的CPU芯片,比大家想象得都要難。

因此,torvaldsing投書新智元,嘗試談一談x86生態(tài)系統(tǒng)和ARM生態(tài)系統(tǒng)的艱難發(fā)展歷程和殘酷的市場競爭,向大家介紹一下做CPU的各種困難,以及眼下能看到的一線希望。

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

如今Intel在服務(wù)器市場占有率近乎100%,在桌面市場也大于80%,再加上Intel一貫重視宣傳,在普通大眾的心目中,Intel就是芯片的代稱,甚至是高科技的代稱。但I(xiàn)ntel并非生而如此,它的牛X千真萬確是熬出來的,是在列強(qiáng)環(huán)伺的競爭環(huán)境中殺出來的。

稱王

七十年代,在搭上IBM PC這趟快車之前,Intel的8位處理器已經(jīng)很成功,但也有很多競爭者,Zilog是其中翹楚,它研發(fā)的Z80系列產(chǎn)品和Intel的8080兼容,性價(jià)比高。一直到90年代,中國很多大學(xué)的微機(jī)實(shí)驗(yàn)課,還在用Zilog的板子。當(dāng)時(shí)還有一款處理器風(fēng)頭不遜于8080系列,即MOS公司的6502。后來MOS把6502的ISA(指令集架構(gòu))授權(quán)給了眾多廠商,流傳甚廣。70年代蘋果創(chuàng)立之初的Apple-I和Apple-II,80年代任天堂的紅白機(jī),90年代初的小霸王學(xué)習(xí)機(jī),90年代末的文曲星,都使用了6502系列的CPU。

IBM PC給了Intel和微軟大發(fā)展的機(jī)會。但它倆必須面對競爭。IBM PC是IBM主導(dǎo)下的一個(gè)開放標(biāo)準(zhǔn),各個(gè)零部件都是可以替換的。所以才有了“兼容機(jī)”的概念,和延續(xù)至今的裝機(jī)市場。當(dāng)時(shí)IBM要求Intel必須把x86指令集授權(quán)給其它廠商,避免CPU供應(yīng)商一家獨(dú)大。(詳細(xì)的x86兼容處理器生產(chǎn)廠家列表見https://en.wikipedia.org/wiki/List_of_x86_manufacturers)IBM自己也有生成x86兼容CPU的權(quán)力。同時(shí),為了限制微軟的MS-DOS,IBM自己也做DOS操作系統(tǒng),名為PC-DOS。

在IBM PC陣營內(nèi)部,Intel面對其它CPU供應(yīng)商的競爭,在陣營外部,還要和蘋果的Macintosh電腦競爭。當(dāng)時(shí)蘋果已經(jīng)換用Motorola 68000系列CPU,性能強(qiáng)勁,圖形界面誘人。當(dāng)時(shí)用Mac的人,逼格要高于用IBM PC的人。

Intel頂著陣營內(nèi)外的競爭壓力,苦心孤詣地發(fā)展壯大。這時(shí)候潛在的威脅在慢慢醞釀。從1981年的RISC-I開始,精簡指令集(RISC)逐步流行起來,誕生了一系列RISC風(fēng)格的CPU:1985年MIPS公司推出第一款商用的RISC芯片,HP公司在1986年推出PA-RISC,SUN公司在1987年推出SPARC,Motorola在1988年推出MC88000。當(dāng)時(shí)大家普遍認(rèn)為RISC優(yōu)于以x86為代表的CISC風(fēng)格CPU,就連Intel和AMD也害怕在RISC潮流中落伍,AMD在1987年推出了AM29000,Intel在1988年推出了i860/i960。

開始時(shí)RISC似乎并沒有威脅到桌面市場,MIPS、PA-RISC、SPARC全是用來做服務(wù)器和工作站的。被蘋果流放的喬布斯用MC88000系列CPU做NeXT桌面電腦,鎩羽而歸。1986年,英國的Acorn公司推出了一款名為ARM的RISC處理器,次年,它還配了個(gè)操作系統(tǒng)叫RISC OS,強(qiáng)攻桌面市場,可惜最終只在英國掀起來了一些波瀾。

1991年,RISC陣營實(shí)實(shí)在在地殺入桌面市場。這一年,IBM看到在PC陣營里,Intel和微軟這兩個(gè)小弟坐大,慢慢不受自己的控制,索性拉攏Apple和在RISC市場不得志的Motorola,推出了PowerPC架構(gòu),由IBM和Motorola生產(chǎn)芯片,Apple做操作系統(tǒng)和整機(jī),推出全新的Power Macintosh電腦。這三家組成了AIM(Apple-IBM-Motorola)聯(lián)盟,氣勢洶洶地向Wintel聯(lián)盟發(fā)起攻擊。

結(jié)果是Wintel贏了,個(gè)中原因眾說紛紜。有人說Wintel保持對已有軟件的向下兼容,而Apple頻繁更換底層的CPU,導(dǎo)致的不兼容氣走了用戶,然后由此強(qiáng)調(diào)軟件生態(tài)的重要。我則以為,歷史的發(fā)展有一定的偶然性,如果當(dāng)時(shí)Wintel不是比爾蓋茨和格魯夫在掌舵,而Apple是喬布斯在掌舵,可能結(jié)局完全不同。2005年,喬布斯掌舵下的蘋果,把Mac里面的CPU由PowerPC換成Intel的芯片,就完成得干脆利落,沒怎么受到軟件生態(tài)的牽絆。

總之,在80年代,大家就已經(jīng)深深懂得CPU的ISA是軟件生態(tài)系統(tǒng)的根基,不愿讓這個(gè)“生態(tài)之根”被別人控制。整機(jī)和系統(tǒng)的制造商,通過強(qiáng)制CPU廠商給其它廠商授權(quán)自己的ISA,來保證有第二家甚至更多的供應(yīng)商。如果不慎“生態(tài)之根”被別人控制了,例如IBM被Wintel篡了權(quán),甚至不惜另起爐灶來競爭。

同樣是把自己的指令集授權(quán)給其它廠商,Intel把幾乎所有的其它供應(yīng)商都擠死了,只省下AMD茍延殘喘;MOS則銷聲匿跡了,完全靠其它生產(chǎn)商把6502系列延續(xù)到了二十一世紀(jì)。造成這一差異的原因縱有千萬條,我想“打鐵還需自身硬”是最根本的。

霸業(yè)

在桌面市場上,Windows 95和Windows 98這兩款操作系統(tǒng),讓W(xué)intel聯(lián)盟登上了霸業(yè)的頂端。從1995年到2003年,Intel看起來簡直是不可戰(zhàn)勝的。

與此同時(shí),Intel還把幾乎所有的RISC架構(gòu)的CPU都干趴下了,占領(lǐng)了服務(wù)器市場。原因大概有這么幾點(diǎn)。

第一,從技術(shù)角度講,RISC是一種設(shè)計(jì)CPU的理念,而不是具體的某一種ISA。像x86這樣的復(fù)雜指令集,其實(shí)在實(shí)現(xiàn)過程中,也能借重RISC的理念。1989年的80486,已經(jīng)隱隱地可以看到RISC風(fēng)格的流水線,1995年的Pentium Pro,其核心已經(jīng)是一個(gè)亂序執(zhí)行的RISC了,只不過多了一個(gè)復(fù)雜的譯碼邏輯,把x86指令拆分成RISC風(fēng)格的微操作。因此從技術(shù)角度講,RISC指令集未必比x86有優(yōu)勢。

第二,RISC成也UNIX,敗也UNIX。UNIX和C語言樹立了很好的軟件開發(fā)傳統(tǒng),確保同一套代碼可以很方便地在不同CPU之間移植。80年代,一大堆RISC架構(gòu)的CPU,都可以很快配上自己的UNIX,很快把已有的C語言編寫的應(yīng)用跑在CPU上,然后就可以賣了。SUN公司的SPARC配有Solaris,HP公司的PA-RISC配有HP-UX,IBM公司的PowerPC配有AIX。

這些林林總總的UNIX變體,反過來又進(jìn)一步促使UNIX生態(tài)系統(tǒng)中軟件開發(fā)人員重視代碼的可移植性,大家都很小心地圍繞POSIX標(biāo)準(zhǔn)來編程,避免過分依賴于某個(gè)操作系統(tǒng)獨(dú)有的功能。這樣,一旦Intel芯片攜Linux(一種開源的UNIX變體)來和RISC架構(gòu)的工作站競爭,軟件應(yīng)用就紛紛以很小的移植難度,離開了昂貴的專有UNIX工作站。

第三,當(dāng)時(shí)PC市場比服務(wù)器市場大得多,Intel在PC市場的盈利幫助它研發(fā)更好的服務(wù)器芯片,巨大的出貨量降低了芯片的制造成本。研發(fā)優(yōu)勢和成本優(yōu)勢,奠定了Intel最終勝利的基礎(chǔ)。

這段時(shí)間,Intel還幾次面臨挑戰(zhàn),每次都成功保衛(wèi)了自己對于生態(tài)系統(tǒng)的掌控權(quán)。

第一個(gè)挑戰(zhàn),來自Internet瀏覽器。Netscape Navigator誕生后,對微軟和Intel都是挑戰(zhàn)。雖然當(dāng)時(shí)的動態(tài)網(wǎng)頁還非常初級,但是已經(jīng)有人喊出“Web is the computer”的概念。等到Java Applet出現(xiàn)之后,大家更是覺得可以在網(wǎng)頁上實(shí)現(xiàn)桌面應(yīng)用的效果,未來只需一個(gè)瀏覽器,就能取代桌面。Netscape的Marc Andreessen在1995年,就著手把Netscape瀏覽器打造成一個(gè)Internet OS。以那個(gè)時(shí)代的軟硬件水平,毫無疑問地,這些嘗試失敗了。

用一個(gè)高層次的軟件API,兜住所有的上層應(yīng)用,然后讓底層的硬件,都來支持這個(gè)API——這個(gè)主意不單單在技術(shù)上看起來很炫,從商業(yè)上,這是上層應(yīng)用廠商消解底層平臺廠商生態(tài)霸權(quán)的終極武器。因此,在那之后的二十年里,商業(yè)上的嘗試一直在持續(xù),包括:

1. 騰訊開發(fā)的WebQQ和Q+,在網(wǎng)頁里面提供一個(gè)類似Windows桌面的應(yīng)用場景,后來失敗了,回退到功能單一的SmartQQ。個(gè)中原因,我個(gè)人認(rèn)為還是那個(gè)時(shí)代的PC性能不夠。

2. 騰訊開發(fā)的微信小程序,在微信里面通過HTML5和Javascript實(shí)現(xiàn)手機(jī)App的功能,可以橫跨iOSAndroid

3. 谷歌推出ChromeOS和ChromeBook筆記本,里面跑的應(yīng)用,全都是基于HTML5和Javascript的。

我個(gè)人認(rèn)為,微信小程序幾乎一定會成功,它一旦成功,騰訊必然會重燃在PC平臺上做Q+的野心。Intel在桌面的霸權(quán),最大的威脅不是AMD,也不是ARM,而很可能是HTML5+Javascript,熟悉“降維打擊”的人,對此不會感到意外吧。

第二個(gè)挑戰(zhàn),來自虛擬機(jī)(Virtual Machine)和JIT(Just-in-time)編譯器。先鋒是Java的虛擬機(jī)JVM,后來微軟也推出了DotNet虛擬機(jī),支持C#等語言。虛擬機(jī)有一套虛擬的指令集,源代碼先被編譯到這個(gè)虛擬的指令集上,在程序運(yùn)行時(shí),JIT編譯器再把這套虛擬指令集編譯為CPU的原生指令集。面向虛擬機(jī)開發(fā)的程序,例如Java Applet,可以在不同的CPU和操作系統(tǒng)平臺上運(yùn)行。

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

同一個(gè)VM上跑的語言相互調(diào)用很容易,跨VM很難互操作。由于虛擬機(jī)實(shí)在太多了,它們反而成了新的CPU架構(gòu)的攔路虎:80年代只需要搞定C語言編譯器就能賣Unix工作站,如今ARM服務(wù)器要想挑戰(zhàn)Intel,必須把所有這些基于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則不違法(Intel和Transmeta只打過專利的官司沒打過ISA的官司,Intel還輸了)。

如今最廣為人知的Emulator是Qemu,上文提到的x86、MIPS、PowerPC、Sparc、MC68000它都可以支持。一般而言,Emulation會導(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)了ARM64指令集。值得注意的是,NVidia擁有ARM64的指令集的授權(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è)界會引起怎樣的軒然大波。Linux的締造者Linus Torvalds公開對此表示反對。

IA64進(jìn)展得并不順利,EPIC本質(zhì)上就是一種VLIW,如前所述,VLIW的性能比亂序超標(biāo)量要差。而且EPIC的編譯器非常難以開發(fā)。原定1997年就會推出產(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)中其它伙伴的利益,一意孤行也是會撞南墻的。

其次,幸好由于歷史的原因,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)入移動互聯(lián)網(wǎng)和云計(jì)算時(shí)代之后,服務(wù)器的需求量上升。這時(shí)RISC架構(gòu)的服務(wù)器CPU幾乎快被消滅干凈了,只剩下IBM Power奄奄一息。于是Intel幾乎獨(dú)享了服務(wù)器市場擴(kuò)大所帶來的紅利。但它卻高興不起來,因?yàn)橐苿邮袌鲂纬闪薃RM一家獨(dú)大的局面,移動終端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到移動領(lǐng)域來繼續(xù)稱王。

到2014年,Intel芯的手機(jī)還是沒有打開局面,市場唱衰之聲一片。但I(xiàn)ntel并不想放棄。手機(jī)攻不下,那就攻平板!大廠攻不下,那就攻白牌!嫌我的芯片貴,我就給補(bǔ)貼!又過了兩年,平板也沒有攻下來。在移動市場賠了上百億美金的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)攻移動市場的同時(shí),Intel也在推出產(chǎn)品試水物聯(lián)網(wǎng)市場,只不過沒有大舉宣傳。2013年10月,Intel推出一款叫做伽利略的Arduino開發(fā)板,上面的CPU叫做Quark(夸克)。Quark是比Atom(原子)還小的基本粒子,這個(gè)名字暗含著輕巧、低功耗的意思。接著,Intel在2014年的CES大會和2016年的IDF大會上,先后推出了升級的愛迪生和焦耳開發(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美元。誰會當(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è)話題下文還會有簡單分析。

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

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

在很多圈外人看來,這家高科技公司好像是在移動互聯(lián)網(wǎng)時(shí)代新冒出來的,但其實(shí)它的歷史和幾乎和80286一樣古老。而且它自誕生以來,就以移動(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或許根本就不會誕生。

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è)編號被跳過去了)。

Newton(牛頓)是蘋果花大力氣研發(fā)的觸屏移動技術(shù)平臺,Newton OS是不同于Mac OS的操作系統(tǒng)(如同后來的iOS)。如果你聽過蘋果、牛頓和萬有引力的故事,應(yīng)該能體會蘋果公司對Newton平臺有多么高的期望。

Newton平臺的第一款產(chǎn)品MessagePad于1993年8月上市了,采用32位ARM610處理器,頻率為20MHz,屏幕大小為336×240,重量410克,采用4節(jié)7號電池供電,售價(jià)699美元(相當(dāng)于今天的1129美元)。可惜的是,它銷量很差,上市頭四個(gè)月的銷量不過5萬臺。

1998年,中國的恒基偉業(yè)公司推出了一款叫做 “商務(wù)通”的產(chǎn)品,像極了Newton Messagepad。它采用Dragonball處理器,主頻僅16MHz,屏幕大小10漢字x10漢字,重量105克,采用2節(jié)5號電池供電,售價(jià)人民幣1988元。靠著“呼機(jī)手機(jī)商務(wù)通,一個(gè)也不能少”的廣告,商務(wù)通在1999年大賣100萬臺。雖然2001年后商務(wù)通及類似產(chǎn)品很快就被越來越強(qiáng)大的手機(jī)擠出了市場,但讓人好奇的是,背靠營銷能力更加強(qiáng)大的蘋果,Newton為何沒能一炮而紅?

其中一個(gè)重要的原因是,Newton重點(diǎn)宣傳的手寫識別功能表現(xiàn)很糟糕。而商務(wù)通對手寫漢字的識別率——根據(jù)我個(gè)人的體驗(yàn)——還真是不錯(cuò),考慮到它僅僅16MHz的CPU主頻,能做到這么好簡直是奇跡。當(dāng)時(shí)商務(wù)通部分型號的賣點(diǎn)就是“連筆王”,對潦草的漢字識別得相當(dāng)好。

軟件對于一款產(chǎn)品的重要性,真的是生死攸關(guān)啊!

深耕

扯遠(yuǎn)了,讓我們回到ARM的故事上來。

1990年ARM創(chuàng)立之初,給自己定下的使命是“設(shè)計(jì)有競爭力的、低功耗、高性能、低成本的處理器,并且使它們成為目標(biāo)市場中廣為接受的標(biāo)準(zhǔn)”,目標(biāo)市場包括:手持設(shè)備(Portable),嵌入式(Embedded Control)和汽車電子(Automotive)。跨越近三十年,這個(gè)使命和市場定位始終未變,直到今天。

而且,根據(jù)我了解到的知識,ARM是處理器的源代碼授權(quán)這一商業(yè)模式的開創(chuàng)者。如今,芯片設(shè)計(jì)從Verilog等源代碼出發(fā),經(jīng)過一系列自動化或半自動化的優(yōu)化步驟,最終形成工廠制造芯片所需要的版圖文件;整個(gè)過程類似軟件從源代碼被編譯為CPU的機(jī)器碼。但在80年代,芯片的設(shè)計(jì)自動化非常原始。七八十年代的處理器授權(quán),都是指令集的授權(quán)。Synopsys公司于1986年成立,1987年推出把Verilog編譯為門級網(wǎng)表的DesignCompiler,之后基于源代碼的芯片自動化設(shè)計(jì)流程才慢慢地被建立起來。于是源代碼授權(quán)才成為技術(shù)上可行的模式。

ARM從未自己生產(chǎn)過商用的芯片。它只是將自己研發(fā)的處理器的源代碼的知識產(chǎn)權(quán)(IP)授權(quán)給芯片廠商,由它們推出最終芯片。受益于這一商業(yè)模式,盡管在1993年,Apple的Newton失敗了,但ARM并未因?yàn)樵O(shè)備賣不出去而虧錢,還幸運(yùn)地拿到了TI的訂單,于是成功盈利了。員工數(shù)量也由12人增長到了42人。次年ARM又拿到了三星的訂單,員工增長到70多人,搬出了谷倉。

除了源代碼授權(quán)的模式之外,ARM也做指令集授權(quán),1995年,ARM把指令集授權(quán)給DEC,DEC很快設(shè)計(jì)出了性能更好的StrongARM處理器。1997年,StrongARM產(chǎn)品線被賣給Intel,更名為XScale。

1995年,Motorola在香港的研發(fā)團(tuán)隊(duì)基于MC68000指令集開發(fā)出了針對手持設(shè)備的DragonBall處理器,在這之后的十年,DragonBall處理器一直都是ARM強(qiáng)大的競爭對手。不但Moto自己的手機(jī)用它,Palm、三星、Sony的手機(jī)也用它。當(dāng)然還有前文提到的商務(wù)通。ARM相對于Dragonball處理器有什么優(yōu)勢?我認(rèn)為最大的優(yōu)勢是從客戶需求出發(fā)的、持續(xù)的創(chuàng)新;其次是ARM的開放的商業(yè)模式。

RISC指令集一般都采用32位定長指令,代碼密度比起x86之類的CISC來要差一些,但手機(jī)的存儲空間有限,對代碼密度的要求高。1994年,ARM為此專門研發(fā)了16位的指令集Thumb,以及支持這一指令集的ARM7TDMI。

開放授權(quán)的商業(yè)模式,使得整機(jī)廠在選擇芯片時(shí),可以找到支持同一指令集的多種芯片產(chǎn)品,不容易被綁架。Nokia作為和Motolora旗鼓相當(dāng)?shù)氖謾C(jī)制造商,肯定不會選擇競爭對手的Dragonball,而ARM的技術(shù)實(shí)力和商業(yè)模式,正好符合Nokia的需求。

1997年,Nokia推出了一代經(jīng)典6110,它采用TI的芯片,處理器核心是ARM7TDMI。6110是Nokia第一款帶紅外接口的手機(jī),第一次內(nèi)置了經(jīng)典的貪吃蛇游戲,它的界面成為了之后Nokia手機(jī)的標(biāo)準(zhǔn)。從此,Nokia和ARM成為了好基友,Nokia的Symbian操作系統(tǒng),一直都建立在ARM架構(gòu)的基礎(chǔ)上。

1998年,趁著6110大紅大紫的東風(fēng),ARM在Nasdaq上市了。同一年,SGI公司看到處理器IP授權(quán)生意有利可圖,把MIPS部門拆分出來,次年MIPS推出了它第一款可授權(quán)的處理器設(shè)計(jì)M4K。此后的十年里,MIPS一直都是ARM有力的競爭對手。

商務(wù)通在中國流行的那幾年,國際市場上流行性能更高的掌上電腦和智能手機(jī),操作系統(tǒng)包括Palm OS、微軟的WinCE、Nokia的Symbian、RIM的Blackberry OS,Motorola的Wisdom OS。在這個(gè)領(lǐng)域里,ARM陣營中負(fù)責(zé)高性能的XScale大放異彩,暴擊Dragonball。當(dāng)Dragonball的頻率還停留在33MHz/66MHz時(shí),Xscale已經(jīng)飆到了200~400MHz。MC68000指令集在手持設(shè)備領(lǐng)域敗走。Palm OS的1.0~4.0都是基于MC68000指令集的,5.0就換成了ARM。后來Motorola的半導(dǎo)體部門Freescale干脆推出了基于ARM核的iMX系列產(chǎn)品,替代Dragonball產(chǎn)品線。

蘋果作為掌上電腦的先行者,卻在這次浪潮里無所作為,在Wintel的擠壓下,它的桌面業(yè)務(wù)都已經(jīng)瀕臨絕境,無暇顧及其它市場了。1997年,不溫不火的Newton從蘋果公司獨(dú)立了出來。當(dāng)喬布斯回歸蘋果之后,又火速把Newton收編了回來,并且干凈利落地停掉了Newton產(chǎn)品線——喬幫主只想要Newton手里的ARM股份。1998年到2003年,蘋果通過出售ARM的股票獲利11億美元。這筆錢,是喬布斯復(fù)興戰(zhàn)略的重要燃料,可以說是蘋果的救命錢。

綻放

經(jīng)過多年的深耕,ARM在新世紀(jì)開始時(shí),已經(jīng)是手機(jī)領(lǐng)域里的王者,依然在為客戶的需求做著持續(xù)的創(chuàng)新,Java加速技術(shù)就是一個(gè)典型的例子。

從2000年開始,功能手機(jī)的性能提升到了足夠高的水平,人們希望在手機(jī)上玩比較復(fù)雜的游戲,而不僅僅是貪吃蛇。但是手機(jī)的處理器和操作系統(tǒng)實(shí)在是太分散了,為了方便游戲跑在不同手機(jī)上,J2ME平臺應(yīng)運(yùn)而生。從原理上講,J2ME和Applet并無不同,都是基于JVM的。Java在并不分散的桌面領(lǐng)域沒有獲得成功,但在分散的手機(jī)領(lǐng)域獲得了成功。

J2ME的游戲越做越復(fù)雜,但手機(jī)的處理能力畢竟有限,桌面和服務(wù)器上的JIT編譯器在手機(jī)上跑得太吃力了。于是ARM在2001年推出了ARM926EJ-S處理器,它支持Jazelle DBX技術(shù),可以直接解碼和執(zhí)行Java的字節(jié)碼,省掉了JIT編譯器的負(fù)擔(dān)。這一功能大受歡迎,幫助ARM9系列成為了迄今最受歡迎的ARM處理器,總共有250多個(gè)授權(quán)廠家,其中100多個(gè)授權(quán)的是ARM926EJ-S。

在MTK助推山寨功能機(jī)火遍神州的那幾年,主控芯片所使用的核全部都是ARM9。在iOS和安卓的應(yīng)用商店誕生之前,功能手機(jī)全靠J2ME開發(fā)的應(yīng)用來實(shí)現(xiàn)各種炫酷的功能。從某種意義上講,在低端市場上,Jazelle是助力山寨機(jī)火爆的最大幕后功臣。

然而高性能ARM芯片的扛把子XScale,卻被Intel于2006年6月賣給了Marvell。這是Intel實(shí)施x86-everywhere戰(zhàn)略的一個(gè)步驟。Intel希望x86的生態(tài)也能進(jìn)入到低功耗的移動領(lǐng)域,而不是用自己先進(jìn)的工藝制程和設(shè)計(jì)能力幫ARM建設(shè)高端應(yīng)用的生態(tài)。22個(gè)月之后,2008年4月,低功耗的Atom芯片誕生了。

高性能ARM芯片的扛把子換成了蘋果。2004年,在賣光ARM股票的一年之后,喬布斯決定研發(fā)iPhone。2007年1月,在Intel放棄ARM之后僅半年,iPhone誕生了。蘋果可不會采用低端市場上死守ARM9那種玩法,iPhone一代就采用了400MHz的ARM11;2009年的iPhone 3GS,升級為600MHz的Cortex A8;2010年的iPhone4,蘋果自研的A4芯片升級為1GHz的Cortex A8。接下來蘋果自研芯片性能一路狂飆的歷程,大家都很熟悉了。

從ARM6到ARM11,這些IP核都是按照兼顧移動設(shè)備、汽車電子和嵌入式這三個(gè)市場的思路來設(shè)計(jì)的。從2003年起,ARM把產(chǎn)品線有針對性地劃分為A、R、M三個(gè)系列,分別對應(yīng)上述三個(gè)市場,而且IP核的名字都統(tǒng)一加上了Cortex的前綴。Cortex A8就是A系列的第一個(gè)作品。iPhone 3GS和iPhone4令Cortex A8大火,但讓ARM一飛沖天的推手,卻是iPhone的競爭對手——安卓(Android)。

有很多文章介紹安卓如何誕生,如何在移動設(shè)備領(lǐng)域干掉了除iOS之外的全部對手,毋須贅述。這里只想強(qiáng)調(diào)一個(gè)被普遍忽略的事實(shí):安卓從誕生之初,就要求應(yīng)用程序采用Java編寫,并且跑在Dalvik虛擬機(jī)上;但iPhone上的應(yīng)用,都是原生的ARM程序。要知道Android手機(jī)的處理器性能相對iPhone并無優(yōu)勢。

山寨之王MTK于2009年2月推出的首款智能手機(jī)芯片MT6516,采用406MHz的ARM9;2008年~2010年間由HTC推出的那幾款賣得很好的Android手機(jī),也無非是ARM11和Cortex A8的核,幾百兆的頻率,這種級別的處理器跑虛擬機(jī)還是蠻吃力的。另外虛擬機(jī)占用內(nèi)存大的缺點(diǎn),也不利于用戶體驗(yàn)和降低成本。

谷歌寧可冒著讓安卓出師不利的風(fēng)險(xiǎn),也要推廣Dalvik虛擬機(jī)。這是為什么?谷歌內(nèi)部的決策過程我們無從得知。一個(gè)合理的猜測是,谷歌不愿看到手機(jī)領(lǐng)域里ARM一家獨(dú)大,它希望給MIPS、x86等其它CPU一個(gè)機(jī)會。J2ME的成功,讓谷歌看到完全建立在虛擬機(jī)上的手機(jī)應(yīng)用生態(tài),是完全可能的。

Dalvik虛擬機(jī)可以跑Java,但并不采用JVM那種基于堆棧的字節(jié)碼,而是改用一種基于寄存器的方案。這么做當(dāng)然是為了規(guī)避SUN公司(后被Oracle收購)的專利,同時(shí)也讓無法直接運(yùn)行JVM字節(jié)碼的MIPS、x86能夠?qū)崿F(xiàn)輕量級的JIT編譯器,無須Jazelle這樣的技術(shù)。從另外一個(gè)角度講,MIPS在電視、機(jī)頂盒、游戲機(jī)市場上占優(yōu),x86在桌面市場近乎壟斷,支持它們,也意味著安卓有可能進(jìn)軍電視和桌面。

安卓對所有CPU而言,都是巨大的機(jī)會,誰抓住了這個(gè)機(jī)會,就可以一舉改變競爭格局,實(shí)現(xiàn)霸業(yè)。

只可惜MIPS公司太不給力,一直也沒有搞定靠譜的MIPS版Android。等到2011年1月,Synopsys公司給自家的ARC處理器移植好Dalvik虛擬機(jī)和瀏覽器用的V8虛擬機(jī)、Android環(huán)境已完備的時(shí)候,MIPS都還沒動靜。順便說一句,Intel曾經(jīng)的南橋芯片里都有ARC處理器,它是Active Management Technology(AMT)的重要基石。

這個(gè)時(shí)候,北京的君正公司坐不住了。君正靠做低成本的MP4播放器起家,2011年5月在創(chuàng)業(yè)板上市。君正擁有MIPS的架構(gòu)級授權(quán),對自己研發(fā)的XBurst處理器非常自信,準(zhǔn)備靠它進(jìn)攻手機(jī)和平板市場。2011年7月,基于君正JZ4760的MIPS智能手機(jī)通過Android兼容性測試。2011年12月,基于君正JZ4770平臺的平板電腦,被谷歌選為Android4.0的首發(fā)產(chǎn)品,一時(shí)風(fēng)光無限。

ARM的強(qiáng)大軟件生態(tài)此時(shí)起到了護(hù)城河的作用。基于君正的平板,軟件兼容性出了問題。原因在于谷歌沒有強(qiáng)求所有的應(yīng)用都跑在Dalvik虛擬機(jī)上,對于部分對性能有苛刻要求的app,例如游戲,谷歌允許用CPU的原生指令集來開發(fā),為此還提供了NDK(Native Development Kit)。對于那些包含了ARM原生指令的游戲,君正的平板要么不支持,要么用emulator支持,總之用戶體驗(yàn)都不好。

ARM生態(tài)圈里,在2011年,正好有兩家芯片廠商異軍突起:全志和瑞芯微,它們分別推出了采用Cortex A8處理器的A10芯片和RK2918芯片,成本極低,主打平板和安卓電視盒子。君正的平板夢被它們粉碎了,之后只好轉(zhuǎn)戰(zhàn)安卓手表,消沉了很多年。對于MIPS而言,還有一個(gè)壞消息是,在它們的強(qiáng)力助推下,電視盒子市場也成了ARM的天下。經(jīng)營不善的MIPS于2012年賣給了Imagination,Imagination不但沒能依靠MIPS在CPU市場中有所作為,反而在GPU市場里也敗給了ARM,在2017年被迫整體賣身,MIPS業(yè)務(wù)賣回給了硅谷公司。

2012~2016年,Intel在安卓市場上挑戰(zhàn)ARM,也失敗了。于是安卓給CPU帶來的紅利,全部被ARM吃掉了。隨著手機(jī)越來越重要,ARM也越來越重要,它所推出的最新的Cortex A系列處理器,被手機(jī)芯片爭相采用。ARM生態(tài)也越來越強(qiáng)大,它的觸角,慢慢伸出了手機(jī)領(lǐng)域。

滲透

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

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

2009年,ARM推出了Cortex A9處理器,并且用40nm的工藝制造了雙核的樣片,跑到了2GHz。這是ARM第一次推出亂序超標(biāo)量的處理器核,而亂序超標(biāo)量是Intel實(shí)現(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個(gè)CPU核的ARM服務(wù)器。但它的成就還不如Armada XP,2013年公司就倒閉了。

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

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

在ARMv8這一64位指令集發(fā)布之后,Cavium和AppliedMicro這兩家老牌網(wǎng)絡(luò)芯片廠商不約而同地將自己原先芯片中的架構(gòu)換成了ARMv8。因?yàn)楫a(chǎn)品的需要,Cavium和AppliedMicro都有自行設(shè)計(jì)處理器微架構(gòu)的能力,前者做MIPS處理器,后者做PowerPC處理器。它們兩家做ARMv8處理器時(shí),也都采用了只授權(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核版本,還得到了微軟的強(qiáng)力支持。考慮到高通還和貴州成立了合資公司華芯通,Centriq很可能成為在國內(nèi)大規(guī)模商用的第一款A(yù)RM服務(wù)器芯片。

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

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

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

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

未來ISA將不那么重要

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

第一是Web技術(shù)。網(wǎng)頁開發(fā)領(lǐng)域,有一個(gè)大家視若無睹的奇跡:最后居然只有Javascript一種開發(fā)語言屹立至今。要知道在服務(wù)器端和移動App領(lǐng)域,開發(fā)語言多如過江之卿。其中原因我也分析不出。反正js的挑戰(zhàn)者(微軟的VBScript和谷歌的Dart)都失敗了。網(wǎng)頁開發(fā)領(lǐng)域面臨的主要問題是瀏覽器差異大,API不太兼容。這個(gè)問題慢慢在緩解中,一來瀏覽器戰(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吞噬一切的進(jìn)程還在持續(xù)。2007年,Stack Overflow的聯(lián)合創(chuàng)始人Jeff Atwood曾經(jīng)提出過一條Atwood定律:任何能夠用JavaScript實(shí)現(xiàn)的應(yīng)用系統(tǒng),最終都必將用JavaScript實(shí)現(xiàn)。十年過去了,此定律基本奏效。把Javascript的一個(gè)子集當(dāng)作匯編語言的asm.js及其后續(xù)的WebAssembly,更加使得網(wǎng)頁應(yīng)用有媲美原生應(yīng)用的潛力,在瀏覽器里跑Unity3D的游戲都不是問題。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

展望:讓CPU不再難

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

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

當(dāng)年,繞得過Intel,跨不過微軟。如今,繞得過Arm,做不出安卓。

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

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    51127

    瀏覽量

    426098
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9154

    瀏覽量

    368524
  • intel
    +關(guān)注

    關(guān)注

    19

    文章

    3483

    瀏覽量

    186276

原文標(biāo)題:從Intel和ARM爭霸戰(zhàn), 看看做芯片到底有多難

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    安泰功率放大器應(yīng)用:納米材料的前世今生

    ,因此在各個(gè)領(lǐng)域具有廣泛的應(yīng)用前景。那么你知道納米材料是如何被發(fā)現(xiàn),又是如何走入我們的生活,獲得長足發(fā)展的嗎?今天Aigtek安泰電子帶大家詳細(xì)了解一下。 納米材料的前世今生 1861年,隨著膠體化學(xué)的建立,科學(xué)家們開始了對直徑為
    的頭像 發(fā)表于 01-02 14:05 ?126次閱讀
    安泰功率放大器應(yīng)用:納米材料的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    光耦合器的前世今生誕生到現(xiàn)代應(yīng)用的演變

    光耦合器是一種重要的電子元件,其在電子信號隔離和傳輸中的作用不可替代。自20世紀(jì)60年代首次被研發(fā)以來,光耦合器經(jīng)歷了基礎(chǔ)隔離器件到高性能元件的不斷演化,在現(xiàn)代電子設(shè)備中占據(jù)了重要地位。本文將深入探討光耦合器的發(fā)展歷程、技術(shù)特點(diǎn)以及在當(dāng)今科技領(lǐng)域中的廣泛應(yīng)用。
    的頭像 發(fā)表于 12-13 16:16 ?192次閱讀
    光耦合器的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>:<b class='flag-5'>從</b>誕生到現(xiàn)代應(yīng)用的演變

    ARM芯片為什么能夠直連SN74LVC1G17?

    一個(gè)信號,經(jīng)過SN74LVC1G17(3.3V供電)后,輸出直連到ARM芯片(AM3352)輸入管腳。 SN74LVC1G17芯片資料
    發(fā)表于 12-03 06:41

    深入了解Java泛型——從前世今生到PECS原則

    本文主要介紹泛型誕生的前世今生,特性,以及著名PECS原則的由來。 在日常開發(fā)中,必不可少的會使用到泛型,這個(gè)過程中經(jīng)常會出現(xiàn)類似“為什么這樣會編譯報(bào)錯(cuò)?”,“為什么這個(gè)列表無法添加
    的頭像 發(fā)表于 11-21 11:45 ?206次閱讀
    深入了解Java泛型——從<b class='flag-5'>前世</b><b class='flag-5'>今生</b>到PECS原則

    TPA3116D2輸入看到的阻抗指的是什么,是芯片音頻輸入引腳向芯片內(nèi)部,還是向外部

    of 1ms or less if possible. 請問輸入看到的阻抗指的是什么,是芯片音頻輸入引腳向芯片內(nèi)部,還是向外部
    發(fā)表于 10-12 09:04

    特信固定式與便攜式:無人機(jī)反制雙雄守護(hù)安全

    特信固定式與便攜式:無人機(jī)反制雙雄守護(hù)安全
    的頭像 發(fā)表于 09-26 09:21 ?285次閱讀

    STM32到基于Arm的MSPM0的遷移指南

    電子發(fā)燒友網(wǎng)站提供《STM32到基于Arm的MSPM0的遷移指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:31 ?0次下載
    <b class='flag-5'>從</b>STM32到基于<b class='flag-5'>Arm</b>的MSPM0的遷移指南

    遷移到基于Arm STM32的MSPMO指南

    電子發(fā)燒友網(wǎng)站提供《遷移到基于Arm STM32的MSPMO指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:17 ?0次下載
    <b class='flag-5'>從</b>遷移到基于<b class='flag-5'>Arm</b> STM32的MSPMO指南

    嵌入式系統(tǒng)的前世今生

    一、初始階段(1960-1970)1960年代末:嵌入式系統(tǒng)的概念開始形成,最初用于專業(yè)的軍事和航天應(yīng)用,例如用于導(dǎo)彈控制的計(jì)算機(jī)系統(tǒng)。微處理器的誕生:1971年,英特爾推出了4004芯片,這是
    的頭像 發(fā)表于 04-12 08:11 ?1722次閱讀
    嵌入式系統(tǒng)的<b class='flag-5'>前世</b><b class='flag-5'>今生</b>

    杰發(fā)科技AutoChips AC8015國產(chǎn)汽車芯片突圍之路

    原標(biāo)題:杰發(fā)科技AutoChips AC8015國產(chǎn)汽車芯片突圍之路 來源:Gartner 長期以來,中國汽車芯片一直依賴恩智浦、英飛凌、瑞薩、德州儀器等國際大廠,進(jìn)口比例高達(dá)90
    的頭像 發(fā)表于 04-08 02:57 ?875次閱讀
    <b class='flag-5'>從</b>杰發(fā)科技AutoChips AC8015<b class='flag-5'>看</b>國產(chǎn)汽車<b class='flag-5'>芯片</b>突圍之路

    Intel fpga芯片系列有哪些

    Intel FPGA芯片系列主要包括以下幾種。
    的頭像 發(fā)表于 03-14 16:28 ?1131次閱讀

    昨天看到消息AlteraIntel獨(dú)立出來了,不知道大家常用的FPGA是什么?

    昨天看到消息AlteraIntel獨(dú)立出來了,不知道大家常用的FPGA是什么?我這邊分成常規(guī)生產(chǎn)治具是altera的,算法和圖像相關(guān)的使用的是Xilinx的;
    發(fā)表于 03-06 13:39

    ARM系列STM32F103芯片的解密方法

    本文介紹ARM系列STM32F103芯片的解密方法,其內(nèi)核是Cortex-M3,內(nèi)存16K-512K都有。
    發(fā)表于 02-28 11:20 ?1799次閱讀

    Arm v9芯片新架構(gòu)揭秘

    從中長期來看,隨著單芯片 ARM 核數(shù)增加、基于 ARM 架構(gòu)芯片數(shù)量的上升以及ARM 應(yīng)用場景的增加,公司仍將保持增長。據(jù)公司公告數(shù)據(jù)顯示
    發(fā)表于 02-27 14:14 ?5514次閱讀
    <b class='flag-5'>Arm</b> v9<b class='flag-5'>芯片</b>新架構(gòu)揭秘

    FPGA中競爭與冒險(xiǎn)的前世今生

    競爭冒險(xiǎn):在組合電路中,當(dāng)邏輯門有兩個(gè)互補(bǔ)輸入信號同時(shí)向相反狀態(tài)變化時(shí),輸出端可能產(chǎn)生過渡干擾脈沖的現(xiàn)象,稱為競爭冒險(xiǎn)。那么 FPGA 產(chǎn)生競爭冒險(xiǎn)的原因是什么呢? 信號在 FPGA 器件內(nèi)部通過連線和邏輯單元時(shí),都有一定的延時(shí)。 延時(shí)的大小與連線的長短和邏輯單元的數(shù)目有關(guān) 同時(shí)還受器件的制造工藝、工作電壓、溫度等條件的影響 信號的高低電平轉(zhuǎn)換也需要一定的過渡時(shí)間 。由于以上存在的因素,多路信號的電平值發(fā)生變化時(shí),在信號變化的瞬間,組合邏輯的輸出有先后順序,并不是同時(shí)變化往往會出現(xiàn)一些不正確的尖峰信號,這些尖峰信號稱為毛刺 。如果一個(gè)組合邏輯電路中有毛刺出現(xiàn),就說明該電路存在冒險(xiǎn) 。與分立元件不同,由于 PLD 內(nèi)部不存在寄生電容電感,這些毛刺將被完整的保留并向下一級傳遞,因此毛刺現(xiàn)象在 PLD 、 FPGA 設(shè)計(jì)中尤為突出 。 毛刺的累加 將會影響整個(gè)設(shè)計(jì)的可靠性和精確性 。因此判斷邏輯電路中是否存在冒險(xiǎn)以及如何避免冒險(xiǎn)是 FPGA 設(shè)計(jì)人員必須要考慮的問題。 接下來我們就要考慮如何消除冒險(xiǎn) ,消除冒險(xiǎn)的方式有一下幾種: 1、利用冗余項(xiàng)消除毛刺 函數(shù)式和真值表所描述的是靜態(tài)邏輯,而競爭則是從一種 穩(wěn)態(tài)到另一種穩(wěn)態(tài)的過程。因此競爭是動態(tài)過程,它發(fā)生在輸入變量變化時(shí)。此時(shí),修改卡諾圖,增加多余項(xiàng),在卡諾圖的兩圓相切處增加一個(gè)圓,可以消除邏輯冒險(xiǎn)。但該法對于計(jì)數(shù)器型產(chǎn)生的毛刺是無法消除的。 2、采用格雷碼 我們可以通過改變設(shè)計(jì),破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計(jì)中,常常采用格雷碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器,這是因?yàn)楦窭状a計(jì)數(shù)器的輸出每次只有一位跳變 消除了競爭冒險(xiǎn)的發(fā)生條件,避免了毛刺的產(chǎn)生。 3、采樣法 由于冒險(xiǎn)出現(xiàn)在變量發(fā)生變化的時(shí)刻,如果待信號穩(wěn)定之后加入取樣脈沖,那么就只有在取樣脈沖作用期間輸出的信號才能有效。這樣可以避免產(chǎn)生的毛刺影響輸出波形。 一般說來,冒險(xiǎn)出現(xiàn)在信號發(fā)生電平轉(zhuǎn)換的時(shí)刻,也就是說在輸出信號的建立時(shí)間內(nèi)會發(fā)生冒險(xiǎn),而在輸出信號 的保持時(shí)間內(nèi)是不會有毛刺信號出現(xiàn)的。如果在輸出信號的保持時(shí)間內(nèi)對其進(jìn)行采樣,就可以消除毛刺信號的影響。 4、吸收法 增加輸出濾波,在輸出端接上小電容C可以濾除毛刺 。但輸出波形的前后沿將變壞,在對波形要求較嚴(yán)格時(shí),應(yīng)再加整形電路,該方法不宜在中間級使用。 5、延遲辦法 因?yàn)槊套罱K是由于延遲造成的,所以可以找出產(chǎn)生延遲的支路。對于相對延遲小的支路,加上毛刺寬度 的延遲可以消除毛刺。 還可以用高頻時(shí)鐘來驅(qū)動一移位寄存器,待延時(shí)信號作數(shù)據(jù)輸入,按所需延時(shí)正確設(shè)置移位寄存器的級數(shù) ,移位寄存器的輸出即為延時(shí)后的信號。 當(dāng)然最好的就是,在設(shè)計(jì)之初,就對競爭冒險(xiǎn)進(jìn)行規(guī)避,具體規(guī)避方法有: 1、在設(shè)計(jì)中每一個(gè)模塊中只用一個(gè)時(shí)鐘,避免使用多時(shí)鐘設(shè)計(jì),同時(shí)避免使用主時(shí)鐘分頻后的二次時(shí)鐘作為時(shí)序器件的時(shí)鐘輸入, 因?yàn)闀r(shí)鐘偏斜會比較大 。 2、設(shè)計(jì)譯碼邏輯電路時(shí)必須十分小心,因?yàn)樽g碼器和比較器本身會產(chǎn)生尖峰,容易產(chǎn)生毛刺,把譯碼器或比較器的輸出直接連到時(shí)鐘輸入端或異步清除端,會造成嚴(yán)重的后果。 3、在設(shè)計(jì)中 應(yīng)該盡量避免隱含 RS 觸發(fā)器的出現(xiàn)。一般要控制輸出被直接反饋到輸入端,采用反饋環(huán)路會出現(xiàn)隱含 RS 觸發(fā)器,其對輸入尖峰和假信號很敏感,輸入端有任何變化都有可能使輸出值立刻改變,此時(shí)易造成毛刺的產(chǎn)生,導(dǎo)致時(shí)序的嚴(yán)重混亂。 4、在設(shè)計(jì)電路時(shí) 要用寄存器和觸發(fā)器設(shè)計(jì)電路,盡量不要用鎖存器,因它對輸入信號的毛刺太敏感。如果堅(jiān)持用鎖存器設(shè)計(jì)必須保證輸入信號絕對沒有毛刺,且滿足保持時(shí)間。 5、在設(shè)計(jì)中充分利用資源 ,因?yàn)?大部分 FPGA 器件都為時(shí)鐘、復(fù)位、預(yù)置等信號提供特殊的全局布線資源,要充分利用這些資源。 6、在設(shè)計(jì)中 不論是控制信號還是地址總線信號、數(shù)據(jù)總線信號,都要采用另外的寄存器,以使內(nèi)部歪斜的數(shù)據(jù)變成同步數(shù)據(jù)。 7、在設(shè)計(jì)中 應(yīng)該盡 量避免使用延遲線,因它對工藝過程的變化極為敏感,會大大降低電路的穩(wěn)定性和可靠性,并將為測試帶來麻煩。 8、在設(shè)計(jì)中 對所有模塊的輸入時(shí)鐘、輸入信號、輸出信號都用D觸發(fā)器或寄存器進(jìn)行同步處理,即輸出信號直接來自觸發(fā)器或寄存器的輸出端。這樣可以消除尖峰和毛刺信號。
    發(fā)表于 02-21 16:26
    主站蜘蛛池模板: 四虎永久网址在线观看| 91大神大战高跟丝袜美女| 免费超爽视频| 天天插视频| 国产成人精品亚洲日本在线 | 狠狠色狠狠色综合| 三级黄色a| 在线成人免费| 国内精品99| 丁香网五月天| www.五月激情| 加勒比精品久久一区二区三区| 天天综合网久久| 在线天堂在线| 国产激烈床戏无遮挡观看| 久青草视频在线播放| 日本五十交尾在线观看| 四虎影库网址| 四虎欧美在线观看免费| 日韩毛片免费看| 日本中文字幕在线播放| 日本a级片视频| 欧美一级特黄aaa大片| 色偷偷免费| 色视频免费观看| 色妹子在线| 美女国产在线观看免费观看| 免费一级成人毛片| 欧美日韩精品一区二区另类| 日韩一级生活片| 久久奈| 黄a视频在线观看| 亚洲久久草| 天天操伊人| 亚洲精品91大神在线观看| 2019天天干| 黄色永久免费| 不卡视频免费在线观看| 99久久精品费精品国产一区二 | 特大一级aaaaa毛片| 欧美激情xxxx性bbbb|