新聞中心

        EEPW首頁 > 嵌入式系統 > 業界動態 > 從Intel和ARM雙雄爭霸讀懂芯片的前世今生

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

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

          這幾天中興事件持續發酵以來,各種議論紛紛擾擾。

        本文引用地址:http://www.104case.com/article/201804/378885.htm

          上周,新智元推送了《中國芯“逃兵”:缺芯是因為缺錢;中國芯“老炮”:芯片救國靠BAT不是開玩笑》一文,引起了無數從業者熱議。

          有十余年芯片從業經驗的水木網友torvaldsing告訴新智元,這幾天對他觸動最大的,還是碧樹西風寫的這句話:

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

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

          以下是torvaldsing的雄文:

          我盡量寫得輕松一些,因為其實這個話題很有趣,仔細探究起來,很多看似爆炸性的新聞,其實草蛇灰線伏脈千里,在很早之前就發端了,這其中的故事,真的像演義小說一樣好玩。

          本文會羅列很多的往事和參考資料,保證有誠意。一些地方沒忍住加上了一些三腳貓的分析,歡迎拍磚打臉。

          x86生態系統

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

          稱王

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

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

          在IBM PC陣營內部,Intel面對其它CPU供應商的競爭,在陣營外部,還要和蘋果的Macintosh電腦競爭。當時蘋果已經換用Motorola 68000系列CPU,性能強勁,圖形界面誘人。當時用Mac的人,逼格要高于用IBM PC的人。

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

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

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

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

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

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

          霸業

          在桌面市場上,Windows 95和Windows 98這兩款操作系統,讓Wintel聯盟登上了霸業的頂端。從1995年到2003年,Intel看起來簡直是不可戰勝的。

          與此同時,Intel還把幾乎所有的RISC架構的CPU都干趴下了,占領了服務器市場。原因大概有這么幾點。

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

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

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

          第三,當時PC市場比服務器市場大得多,Intel在PC市場的盈利幫助它研發更好的服務器芯片,巨大的出貨量降低了芯片的制造成本。研發優勢和成本優勢,奠定了Intel最終勝利的基礎。

          這段時間,Intel還幾次面臨挑戰,每次都成功保衛了自己對于生態系統的掌控權。

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

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

          1. 騰訊開發的WebQQ和Q+,在網頁里面提供一個類似Windows桌面的應用場景,后來失敗了,回退到功能單一的SmartQQ。個中原因,我個人認為還是那個時代的PC性能不夠。

          2. 騰訊開發的微信小程序,在微信里面通過HTML5和Javascript實現手機App的功能,可以橫跨iOS和Android。

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

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

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


        上一頁 1 2 3 4 下一頁

        關鍵詞: Intel ARM

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 楚雄市| 赫章县| 砚山县| 达尔| 合作市| 疏附县| 大渡口区| 肥乡县| 定南县| 双流县| 共和县| 顺义区| 富川| 阿巴嘎旗| 涟水县| 桦南县| 邵阳县| 武陟县| 东阿县| 石台县| 巴林右旗| 扎兰屯市| 平利县| 汶川县| 确山县| 南京市| 正安县| 射阳县| 同德县| 石城县| 阿合奇县| 韶山市| 芷江| 嘉荫县| 吉隆县| 绍兴市| 安溪县| 京山县| 犍为县| 大方县| 儋州市|