看ARM如何搶走英特爾的X86市場––CPU市場上的逆襲!
文章推薦指數: 80 %
本文選自台灣作者lynn的科技博客,由於是科普文章,所以很多地方講的比較基礎,本文前半部分為基礎知識講解,可以略過。
什麼叫「架構」?INTEL面臨的移動市場逆襲
2016年7月時,軟銀(SoftBank) 宣布斥資234億英鎊買下全球最大移動晶片設計授權商安謀(ARM),寫下「歐洲科技企業史上最大筆收購案」的紀錄。
軟銀董事長孫正義指出,預計未來20 年內,ARM 晶片的年產量將達到1 兆片的規模。
等等,到底什麼叫ARM 晶片?
你聽過Android、iOS 手機,那你知道無論Android 還是iOS 手機都是用ARM 架構的晶片、連NVIDIA 的CPU 晶片也是使用ARM 架構嗎(可惜現在已經退出)?所以ARM 到底是在干麻?
你知道你自己正在用的手機的CPU,正是ARM 架構嗎?
那你知道你的手機如果不是iPhone 或三星,很有可能就是用高通設計的晶片嗎?蛤?那 ARM 和高通又有什麼關係?
聽說,是ARM 賣架構給高通這家IC 設計公司、高通買回來再設計自己的晶片… 所以講來講去,到底什麼是「架構」?(晶片架構、處理器架構… 到底這個「架構」是在講什麼?)
聽說,伺服器用的晶片架構主要是x86、手機晶片用的則都是ARM,到底為什麼?
怎麼那麼多的為什麼啦!吼,繞來繞去聽不懂啦。
別急,看完這篇文章就知道ARM 和Intel 在干麻、又是怎麼在移動通訊市場上打群架的了ˋ_ˊ
對電腦下命令: 高級語言與低級語言
CPU (Central Processing Unit, 中央處理器) 是驅動整台電腦運作的中心樞紐,就像是電腦的大腦;若沒有CPU,電腦就無法使用。
CPU 的功能主要是執行電腦的指令、以及處理電腦軟體中的資料。
什麼是指令呢?指令是低級語言的命令。
我們可以對電腦以程式下達命令,比如加減乘除的運算;在高級語言中的命令稱為「敘述」 (statements),在低級語言中則稱為「指令」 (instructions)。
所謂的程式,就是指我們要電腦完成某一項工作,所下達的一連串命令。
等等!什麼又是高級語言和低級語言呢?
高級語言是目前最常見的程式語言,平常我們聽到的程式語言,比如C/C++、都是高級語言。
高級語言以人類的日常語言英文為基礎,使用一般人易於接受的文字來表示,可讀性高。
然而電腦是看不懂高級語言的,因此我們需要將高級語言透過編譯器(Complier) 將高級語言再轉成能直接與硬體溝通的低級語言。
電腦唯一能讀懂的語言就是二進位制的「機器語言」 (Machine Language),由0與1組成,比如00101001010101100111…. 別說你會撰寫到發瘋,連看懂都有困難。
因此後來又發展出了「組合語言」 (Assembly Language),改用較短的字串取代機器語言的0與1,讓人類比較好看的懂。
由於CPU只認得機器語言,因此組合語言所撰寫的程式依然需要經由「組譯器」 (Assembler) 來轉譯為機器碼。
組合語言每一行直接對應到的幾乎就是一個機器碼,高級語言則無。
這個流程簡單來說,就是高級語言(C/C++) 得透過編譯器(Complier) 轉成組合語言(Assembly Language)、再透過組譯程式(Assembler) 轉譯成機器碼(Machine Code),機器才能讀得懂。
低級語言不用耗費編譯流程、即可被CPU 所執行,因此以低級程式語言編寫的程式,其運作效率會較高級語言更高。
然而可能別人寫兩三行就解決的程式、你要寫數十行數百行而已。
就是看人類方便(高級語言)、還是機器方便(低級語言)。
這麼講大家可能很難理解,來做個示範吧!如果我們希望電腦輸出「Hello, World!」這行字,在高級語言中會這樣寫(範例為C語言):
這時候電腦會輸出Output結果:Hello, World!。
同樣的一行字,來看看在組合語言中是怎麼寫的:
這時候你可能已經有:「這東西是什麼!!!」的想法了… 別急,最後來看看機器語言會怎麼寫:
…天啊。
這誰看得懂。
我們可以明顯發現,高級語言的一個敘述可以對應到多個低級語言的指令,比低級語言更易撰寫、也較好閱讀。
這樣的話,為什麼還要有低級語言呢?
事實上,不是「為什麼還要有低級語言」,而是一開始的電腦就只有低級語言!高級語言是後面才發展出來的東西,方便人類好寫且好讀懂。
可以說:「低級語言是要給機器看的、高級語言是給人看的」。
如果是底層的嵌入式系統,有些工程師還是要直接去寫組合語言。
也就是說,高級語言和低級語言的功能不同,不能直接相比。
高級語言是來幫助我們進行抽象化的設計、讓我們能描述出需要的行為,而不是去Micro Control 每一行機器要跑的指令。
但高級語言要讓機器理解,還須經過編譯器的「編譯」這個步驟。
編譯後的結果,會直接影響電腦執行該程式的效能。
就像是一個翻譯人員把中文翻成英文一樣,如果翻的好的話一樣很優美、能達到最理想的效果;如果翻不好的話,就會變得很糟糕。
台灣一家新創 Skymizer 就是在做編譯器的優化,讓相同的程式碼經過更優化的編譯器後、能在電腦上跑更快噢!
低級語言雖然難懂,但硬體能不經編譯器、直接執行。
(不過機器只能看懂0/1,所以如果是組合語言的話,還要經過組譯器翻譯=>機器語言噢~)
也因為低級語言對硬體直接操作,一種組合語言會專用於某種電腦架構,而不像許多高級語言可以在不同系統平台之間移植。
根據這種特性,我們能透過組合語言訂定「指令集」,和該指令集依附的「指令集架構」。
指令集架構: 電腦的製作基礎
一天到晚聽到ARM 架構、x86 架構,聽得很煩、卻又不知道是什麼意思嗎ˊ_>ˋ… 別再當科技新聞小白,了解低級語言的概念後,終於可以來看看什麼是處理器的「架構」啦!
低級語言的「指令」是處理器(CPU )可以執行的最基本運算, 一款處理器所能支援執行的「所有指令的總集合」,就稱為指令集(Instructions)。
在低級語言指令中,會出現資料於特定硬體上操作或存取的資訊,工程師須受過硬體訓練才能了解低級語言;現在一般寫個網站、寫APP 都用高級語言,無須了解記憶體和或硬體便可以操作了。
然而要造計算機,除了指令、還得制定與該指令集相關的硬體規定,就叫「指令集架構」(Instruction Set Architecture)。
現在讓我們要來講一個如何造出一顆CPU的故事。
有天有位軟體工程師小智、和設計CPU的硬體工程師小皮湊在一起。
『工具人_軟體小智』:「好基友,一起來造顆CPU吧!看要怎麼合作呢?(貼圖)」
『社畜__硬體小皮』:「好!不然這樣好了,你負責編寫能跑在CPU 上的指令,我負責設計CPU的硬體零件。
咱分頭進行,一年後在這邊碰面,兩邊再合在一起!」
『工具人_軟體小智』:「等等,這樣我們各干各的,誰知道一年後合在一起時會不會爆炸!怎麼能保證我寫的指令,能在你設計的CPU 上跑得起來呢?」
『社畜_硬體小皮』:「 這樣好了,我們共同把規則定好,再去分頭進行設計軟體和硬體,才能保證一年後碰面時,軟體和硬體能順利地結合在一起、你我不分開
這個規則,就是「指令集架構」(ISA),包含了軟體與硬體兩部分。
可以說,從上游設計、到下游製造的IC 工業鏈,全部都是圍繞著一個指令集為基礎,來量身定做該指令集的「軟體指令」和「其所依附的硬體零件」。
所以說,指令集就是造計算機的規格。
一旦決定了指令集後、我們就可以著手設計計算機。
相同規格的計算機,可以有不同的實作方式;但依據相同指令集架構所造出來的計算機、要能執行指令集中的每一道指令。
所以你會看到ARM 指令集有很多不同的處理器(高通、聯發科、展訊…),但他們都可以執行所有ARM 架構的指令。
差別在不同廠商的晶片,會再加上其他作為競爭力的功能,比如通訊、照相等等。
發現了嗎,這是一件很驚人的事情!一旦決定了指令集架構,整個IC工業鏈幾百億幾千億的市值,都會圍繞在該指令集架構上從頭到尾進行量身定做,因此一旦被市場所接受、就相當容易形成壟斷的情況。
指令集架構是電腦的基礎,也會影響作業系統的種類以及軟體的支援程度,每個指令集架構皆有各自的生態。
現行的指令集架構非常多,知名的架構包括x86、ARM、MIPS等。
x86 由Intel 主導,也是目前個人電腦的主流架構,ARM 則是採用授權的方式釋出, 在移動裝置的市占率高達九成。
MIPS 則被應用於任天堂和Sony 的遊戲機上。
指令集可依據CPU 的設計目的,分為「複雜指令集」 (CISC) 和「精簡指令集」 (RISC)。
在1980年代前,指令集越做越複雜;為了支援這些指令集,導致電腦的硬體結構也越來越複雜。
然而,在複雜指令集中,僅有20% 的指令最常被使用、剩下80% 指令使用率相對低。
事實上,規格簡單、造出來的機器才會簡單且效能強。
1979 年美國加州大學伯克萊分校提出了RISC 的概念,精簡指令集(RISC) 只提供基本指令,剩下的複雜指令由基本指令拼湊而成,講求CPU 執行速度。
想想看,不會因為英文只有26 個字母,就讓我們的溝通受到限制;同理,指令集也不會因為個別指令能完成的功能較簡單而受到限制。
當然CISC 並沒有被淘汰掉,CISC 與RISC 各有優劣,依據硬體製作需求而有所選擇。
還記得本文開頭舉例的高級語言和低級語言程式碼的行數差異嗎?相同的道理, CISC 提供較佳的程式撰寫環境,能在較短程式碼內達到目標。
不僅讓工程師能在撰寫程式上更輕鬆、在早期電腦記憶體容量有限時,也能以較少的指令運作複雜的運算。
RISC 處理器的規格則是要簡單許多,高級語言藉由編譯(Compile) 轉成RISC 指令很有效率,容易量產、價格更便宜、提升速度也很快,重點是低功耗、耗電量低。
晶片業由傳統巨頭Intel 導向ARM 的翻盤, 來自RISC 的革新絕對是位大功臣。
INTEL 與ARM: 高效能與低功耗之爭
晶片的運算效能與功耗成正比,代表若是晶片功能越強大,相對就更加耗電。
晶片設計常要為了增強效能而犧牲功耗表現。
比如2015 年高通旗下產品Snapdragon 810 的「發熱門」事件──無論是CPU 還是GPU,Snapdragon 810 性能與前代產品Snapdragon 801 相比都有所提升。
可惜Snapdragon 810 ,和下一代的Snapdragon 820 都有著功耗大、發熱嚴重的問題,使得當年使用該產品的各廠牌旗艦智慧型手機紛紛陷入爭紛。
Intel和ARM間的競爭,莫過於高效能與低功耗的取捨,與傳統「一人吃餅、你吃餅屑」和「把市場養大大家一起吃餅」的經營差異。
ARM的前身為Acorn Computer (艾康電腦),1978年創立於英國劍橋。
後來因為艾康電腦的財務出現狀況,1990年分割出ARM成為獨立子公司。
ARM建立之初,蘋果還持有其40% 股份,只是後來陸續出脫,成為開發iPod、iPhone的資金。
雖然蘋果一度想要買回ARM 股權,甚至還提出了收購邀約,可惜被ARM執行長拒絕。
想想如果蘋果當初還持有ARM,到現在會變成多驚人的結果XDD~
1985年,艾康電腦與蘋果公司研發出採用精簡指令集的新型處理器,命名為ARM (Acorn RISC Machine,後來更名為Advanced RISC Machine),又稱ARM 1。
同年十月,Intel也發表了80386處理器。
ARM1 的功能顯得相對簡單,效能也不敵80386,但耗電量明顯更低。
這樣的差異使得ARM 系列處理器往後的設計路線明顯與Intel 不同,Intel持續邁向高效能的x86 架構,ARM 專注於低成本、低功耗的研發方向。
早期電腦的晶片注重效能更甚功耗,當時的桌上型電腦都有電源連接插座,在無須擔心耗電量的情況下只需比拼效能即可。
然而當筆電、智慧型手機與平板逐漸普及,取代桌電成為主流電子市場時,面對運算性能要求不高卻注重續航力的產品,低功耗與低價位的晶片成為比效能更重要的考量點。
(當然,無論ARM還是Intel都會號稱自家產品具備低功耗高效能的特點啦…。
)
加上ARM 獨特經營模式所擁有的競爭優勢──ARM 本身並不直接生產晶片,商業模式採用授權智慧財產權的方式,由高通、聯發科、三星等廠商使用ARM 的指令集架構,再加入自家研發的技術,比如內顯GPU、3G/4G 支援、省電機制… 最後整合成一顆SoC (System on Chip, 系統單晶片) 處理器。
獲利模式簡單來說分成兩塊:一是一次性的對外授權收入,二是版稅、客戶每生產一塊晶片就要支付ARM 一筆提成。
這與Intel 的經營方式大相逕庭,自行研發、製造、出售的產品毛利高達50%,比純作授權的微薄利潤還高,大概得賣百來片ARM 的晶片才抵過Intel 賣一片晶片。
其他廠商若要從頭開始研發x86 這樣的架構可能得耗時二、三十年。
藉由賺得的高額利潤,Intel能再投入大量的成本研發下一代處理器技術與生產線製程,甩競爭對手又一個世代。
以其對手AMD 來說好了AMD 的資本額與Intel 相差幾十倍,製程技術落後(誰叫他要包給格羅方德呢…)、研發資金也不足,比起Intel 的正向循環, AMD 幾回惡性循環後導致公司虧損。
AMD之所以被Intel留著只是為了不被反壟斷法控訴…。
這種由Intel一家獨霸技術與市場的經營方式,也就是所謂的「一人吃餅、你吃餅屑」。
相比之下,ARM 用便宜的價格進行大量的授權,不用投入高額資本於工廠產線。
ARM 架構能興起、還要感謝幕後功臣蘋果,除了早期共同研發精簡指令集架構(RISC)、出資讓ARM 公司獨立出來,更重要地,還以使用ARM 架構的iPhone、iPad 打開了移動運算市場,讓其他廠商紛紛能以低價購入ARM 授權,進行智慧型手機晶片的研發。
RISC之所以成為目前主流指令集,與移動裝置相輔相成,可謂時也、運也、命也,所謂「把市場養大大家一起吃餅」。
Intel 不但在移動市場上慢了一步,在手機晶片上的思維也是固守x86 架構,故而開發出使用x86架構的RISC晶片,導致功耗大。
Intel 有的是資本,不惜祭出高額的補貼政策以吸引手機廠使用,華碩的Zenfone 便搭載了Intel CPU,
可惜有著耗電量過高的問題。
即使後續Intel 開發出Atom 系列處理器,有著不遜於ARM晶片的低功耗、高性能特點,可惜鮮有人聞問之下,Intel 宣布退出Sofia、Broxton 兩款Atom 處理器的開發,總共慘賠了數十億美元。
不是說Intel 產品做得不好,現在的主流營運模式已不是直接販售處理器,而是透過智財授權方式營利。
Intel 若是學ARM 的授權模式,收入將會比銷售最終產品的收入要低得多,難以讓Intel 投入巨資研發的最新製程生產線、保持目前「高研發VS高毛利相互驅動」的商業模式。
而ARM 的設計與製造分開,較不會有這個問題。
等於說Intel 作為IDM,被原有斥資規模甚巨的廠房所拖累,讓Intel 若想轉型成純IC 設計公司會有相當困難。
ARM 則收費低廉,相較於Intel 於2015 年的營收達到516.9 億美元,ARM 的同年營收僅15 億美元。
但十多年過去,ARM 培養了一個遠比PC 市場更龐大的陣營。
與其說是Intel和ARM之間的對決、CISC與RISC的對決,倒不如說Intel對上的是各家取得ARM授權的半導體廠商,是經營模式的問題。
移動通訊市場上的「ARM+高通」的模式,正鯨吞蠶食Intel 的晶片銷售量;去年12 月也傳出消息,高通預計在2017 年推出基於ARM 架構打造的Centriq 2400 處理器,想要從移動通訊市場上跨界過來、搶食Intel x86架構目前穩拿的PC 和伺服器市場。
2016 年4 月,Intel 日宣布將於2017 年中前裁員1.2 萬人,占Intel 全球13萬員工中的11% 人力,是近十年來最大規模的裁員動作。
此舉意味著Intel 雖極力轉型,仍無法有效因應個人電腦市場的衰退、並未能在移動裝置市場中扭轉頹勢。
2016 年 8 月, Intel 再透露其10 奈米FinFET 製程全面支援ARM 架構,並已與ARM 簽定授權協議,生產ARM 架構的處理器產品;第一批產品將用於LG 和展訊上。
LG 和展訊分別採取的是10 奈米和14 奈米製程,由此Intel 將在晶圓代工市場向台積電、三星、以及格羅方德等競爭同業叫陣。
我們已經可以說,ARM 已經被視為處理器架構設計領域的領導廠商,Intel 則逐漸成為晶片先進位程製造領域的資本密集廠商。
(也就是有轉變成ARM 代工廠的趨勢ˊ__>ˋ)
這樁合作案同時向市場承認了──移動通訊才是晶圓代工市場的最大宗應用,與ARM架構的王道地位。
— 備註:【高通、聯發科、三星使用ARM 指令集做晶片?】
雖然我們在內文中提到,由高通、聯發科、三星等廠商使用ARM 的指令集架構,再加入自家研發的技術。
然而針對這句話我要稍作解釋,高通和聯發科對ARM 指令集的「使用方式」可是有稍稍不同呢。
ARM 有出指令集,也有出公版的晶片,簡單說就是直接一個已經做好的陽春版晶片電路,這種賣設計圖的智慧財產權,就叫賣IP。
蘋果、高通、三星等廠商都是向ARM 買指令集,再自己設計電路,大概是嫌ARM 自己做的晶片效能不夠。
然而聯發科和其他幾家廠商不一樣,買的是IP(公版)來兜自己的晶片,不自己從頭設計電路。
要說這家公司研發能力和高通有的比嗎?當Intel入股展訊,小米、華為也在做自己的自製晶片,加上一堆中國IC設計小公司紛紛崛起,大家都能直接向ARM買現成IP就能出晶片搭在白牌手機上,聯發科的競爭力勢必…?
而且聯發科身為台灣IC設計龍頭廠商,一旦被追過,台灣剩下的其他家IC設計廠又真的打得過嗎…?
超能課堂(144):X86、ARM有何不同?
一台伺服器、一台電腦、一台手機最重要的電子零部件是什麼?沒錯,就是CPU處理器。它主要負責數據計算、控制功能,是最核心的部分。不過你又知道有多少種CPU架構嗎?主流的X86、ARM到底有什麼區別?
安謀公布最新晶片產品藍圖
晶片設計IP供應商安謀(ARM)公布最新晶片產品藍圖,揭示未來處理器設計架構展望,可望對處理器市場造成連鎖效應,其將力助三星電子(Samsung Electronics)與高通(Qualcomm...
引發晶片行業地震!ARM全新架構如此彪悍
ARM近日推出全新的DynamIQ技術,並表示作為未來ARM Cortex-A系列處理器的基礎,基於ARM big.LITTLE技術演進的DynamIQ技術相比上一代技術將提供更多的核心搭配方式...
蘋果在晶片領域布下「王炸之局」,高通、三星難擺苦追宿命
在智慧型手機領域,蘋果從指令集到微架構一手打造的 64 位晶片可說打遍天下無敵手,即便是三星、高通等晶片產業龍頭,也難以撼動其市場地位。然而,這次在 MWC 2018 中,我們可以看到包含三星、...
聯發科不看好ARM進入電腦市場
來源:內容來自網易科技,謝謝。據美國媒體報導,儘管過去幾年比較糟糕,但今年晚些時候Windows PC將依靠ARM晶片回歸,只是只有高通晶片。另一家重要的ARM晶片製造商聯發科(MediaTek...
有關處理器架構、工藝的必讀文章
剛入手了SONY Xperia Z5 Premium,其CPU採用了爭(fa)議(re)較大的驍龍(Snapdragon )810,那就藉此機會談談關於桌面CPU和移動CPU的一些東西吧。從小就...
高通晶片這麼強勁,幾乎稱霸智慧型手機,為什麼電腦上用得少?
在智慧型手機,有一個板塊是我們不得不提的點,那就是處理器。我們熟知的智慧型手機處理器的品牌就有,就有高通處理器、聯發科處理器、華為海思處理器以及蘋果A系列處理器,這幾大處理器就是我們常見到的品牌...
手機cpu到底是什麼
提起CPU,大家都知道是中央處理器。但是CPU的性能由什麼決定的?是不是CPU越高手機的性能就越強?這些問題很多人搞不明白。大家都知道,一台電腦性能的強弱很大程度上由CPU和顯卡決定。手機同樣也...
什麼樣的晶片才稱得上自主研發?
隨著國家對信息安全的重視,作為信息安全基石的晶片尤其是CPU晶片的安全也逐漸被人們關注。電子晶片一直是我國信息產業鏈條中的脆弱的一環,目前我國每年晶片的進口額比石油進口額還要高。所以我國的信息產...
手機晶片霸主 ARM 首曝 PC 計劃,兩年內超越英特爾?
作為一家晶片設計廠商,ARM 早已完成了對手機、平板等移動設備以及更多小型設備的事實壟斷。ARM 指令集以及相關架構,以「功耗低」這一重要特性,成為了移動處理器的黃金標準。無論是蘋果、高通,還是...
小米自研處理器難度有多大?
4月底,小米確定要發布一款6.4英寸的超大屏手機晶片「小米Max」,小米的新品一直都有著巨大的關話題性,然而這次卻被另一個相關消息搶了風頭——小米將推出自研處理器,代號「步槍」。小米真的要推出自...
華為的麒麟960是完完全全的自主生產的嗎?
有網友曾問道,華為的麒麟960是完完全全的自主生產的嗎?既然性能這麼高,為什麼不供給其他手機生產廠商用?首先第一個問題:麒麟處理器(從早期的K3V2到最新的麒麟970)都是華為自己設計的,生產則...