2016年7月時,軟銀(SoftBank)宣布斥資234億英鎊買下全球最大行動晶片設計授權商安謀(ARM),寫下「歐洲科技企業史上最大筆收購案」的紀錄。軟銀董事長孫正義指出,預計未來 20 年內,ARM 晶片的年產量將達到 1 兆片的規模。
ARM的獲利模式在於不自行生產晶片、僅授權ARM架構給處理器晶片設計商,客戶包括輝達(NVIDIA, NVDA-US)(Nvidia)、高通(Qualcomm, QCOM-US)、三星(Samsung)、德州儀器(Texas Instruments, TXN-US)(TI)等巨頭。然而究竟什麼是「架構」?ARM架構和Intel x86架構又有什麼不同?這對於安謀(ARM)和英特爾(Intel, INTC-US)公司又有什麼樣決定性的商業發展?
今天就讓我們來聊聊,什麼是處理器架構、與ARM和Intel x86的處理器架構的商業模式之爭。
對電腦下命令: 高階語言與低階語言
CPU(Central Processing Unit, 中央處理器)是驅動整台電腦運作的中心樞紐,就像是電腦的大腦;若沒有CPU,電腦就無法使用。CPU的功能主要是執行電腦的指令、以及處理電腦軟體中的資料。
什麼是指令呢? 指令是低階語言的命令。我們可以對電腦以程式下達命令,比如加減乘除的運算;在高階語言中的命令稱為敘述(statements),在低階語言中稱為指令(instructions)。所謂的程式,就是指我們要電腦完成某一項工作,所下達的一連串命令。
等等!什麼又是高階語言和低階語言呢?
高階語言是目前最常見的程式語言,平常我們聽到的C/C++、Java、Python…等語言都是高階語言。高階語言以人類的日常語言英文為基礎,使用一般人易於接受的文字來表示,可讀性高。
然而電腦是看不懂高階語言的,因此我們需要將高階語言透過編譯器(Complier)將高階語言再轉成能直接與硬體溝通的低階語言。電腦唯一能讀懂的語言就是二進位制的機器語言(Machine Language),由0與1組成,比如00101001010101100111….別說你會撰寫到發瘋,連看懂都有困難。因此後來又發展出了組合語言(Assembly Language),改用較短的字串取代機器語言的0與1。
由於CPU只認得機器語言,因此組合語言所撰寫的程式依然需要經由組譯器(Assembler)來轉譯為機器碼。這個流程簡單來說,就是高階語言(C/C++, Java, Python, JavaScript…)得透過編譯器(Complier)轉成組合語言(Assembly Language)、再透過組譯程式(Assembler)轉譯成機器語言(Machine Language),機器才能讀得懂。
組合語言和機器語言一樣,是直接對CPU進行操作,因此依然屬於低階語言。比如高階語言你要算加法運算就直接寫1 + 1 = 2就好;然而組合語言你得對CPU中的暫存器下命令,寫成:add $s0, $s1, $s2,表示把編號s1和s2暫存器中的數字相加、並存回s0暫存器。
這麼講大家可能很難理解,來做個示範吧!如果我們希望電腦輸出「Hello, World!」這行字,在高階語言中會這樣寫(範例為C語言):
這時候電腦會輸出Output結果:Hello, World!。
同樣的一行字,來看看在組合語言中是怎麼寫的:
這時候你可能已經有:「這東西是什麼!!!」的想法了… 別急,最後來看看機器語言會怎麼寫:
…天啊。
我們可以明顯發現,高階語言的一個敘述可以對應到多個低階語言的指令,比低階語言更易撰寫、也較好閱讀。這樣的話,為什麼還要有低階語言呢?
因為高階語言要讓機器理解,還須經過「編譯」這個步驟,不但執行程式的時間較長,所需的電腦資源(如記憶體大小)也較多。
低階語言雖然難懂,但效能強,無論執行效率還是占用資源都比高階語言少。也因為低階語言對硬體直接操作,一種組合語言會專用於某種電腦架構,而不像許多高階語言可以在不同系統平台之間移植。根據這種特性,我們能透過組合語言訂定「指令集架構」(Instruction Set Architecture)。
指令集架構: 電腦的製作基礎
瞭解組合語言的概念後,終於可以來看看什麼是處理器的「架構」啦!
低階語言的指令是處理器(CPU)可以執行的最基本運算, 一款處理器所能支援執行的所有指令的總集合,就稱為指令集 (Instructions)。
在低階語言指令中,會出現資料於特定硬體上操作或存取的資訊,工程師須受過硬體訓練才能瞭解低階語言;現在一般寫個網站、寫APP,無須了解記憶體和或硬體便可以操作了。要撰寫低階組合語言,除了學習指令、還得學習相關的硬體規定,就叫「指令集架構」(Instruction Set Architecture),依據相同指令集架構所造出來的計算機、要能執行指令集中的每一道指令。
指令集架構是電腦的基礎,也會影響作業系統的種類以及軟體的支援程度,每個指令集架構皆有各自的生態。現行的指令集架構非常多,知名的架構包括x86、ARM、MIPS。x86由Intel主導,也是目前個人電腦的主流架構,ARM則是採用授權的方式釋出, 在行動裝置的市佔率高達九成。MIPS則被應用於任天堂和Sony的遊戲機上。
指令集可依據CPU的設計目的,分為複雜指令集(CISC)和精簡指令集(RISC)。在1980年代前,指令集越做越複雜、為了支援這些指令集導致電腦結構也越來越複雜,然而,在複雜指令集中,僅有20%的指令最常被使用、剩下80%指令使用率相對低。
事實上,規格簡單、造出來的機器才會簡單且效能強,1979年美國加州大學伯克萊分校提出了RISC的概念,精簡指令集(RISC)只提供基本指令,剩下的複雜指令由基本指令拼湊而成,講求CPU執行速度。
當然CISC並沒有被淘汰掉,CISC與RISC各有優劣,依據硬體製作需求而有所選擇。還記得本文開頭舉例的高階語言和低階語言程式碼的行數差異嗎? CISC提供較佳的程式撰寫環境,能在較短程式碼內達到目標,不僅讓工程師能在撰寫程式上更輕鬆、在早期電腦記憶體容量有限時也能以較少的指令運作複雜的運算。
RISC處理器的規格則是要簡單許多,高階語言藉由編譯(Compile)轉成RISC指令很有效率,容易量產、價格更便宜、提升速度也很快,重點是低功耗、耗電量低。晶片業由傳統巨頭Intel導向ARM的翻盤, 來自RISC的革新絕對是位大功臣。
Intel與ARM: 高效能與低功耗之爭
晶片的運算效能與功耗成正比,代表若是晶片功能越強大,相對就更加耗電。晶片設計常要為了增強效能而犧牲功耗表現。比如2015年高通旗下產品Snapdragon 810的「發熱門」──無論是CPU還是GPU,Snapdragon 810性能與前代產品Snapdragon 801相比都有所提升,可惜功耗大、過熱問題嚴重,使得當年使用該產品的各廠牌旗艦智慧型手機紛紛陷入爭紛。
Intel和ARM間的競爭,莫過於高效能與低功耗的取捨,與傳統「一人吃餅、你吃餅屑」和「把市場養大大家一起吃餅」的經營差異。
ARM的前身為Acorn Computer(艾康電腦),1978年創立於英國劍橋。後來因為艾康電腦的財務出現狀況,1990年分割出ARM成為獨立子公司。ARM建立之初,蘋果(Apple, AAPL-US)還持有其40%股份,只是後來陸續出脫,成為開發iPod, iPhone的資金。雖然蘋果一度想要買回ARM股權,甚至還提出了收購邀約,可惜被ARM執行長拒絕。
1985年,艾康電腦與蘋果公司(Apple Inc.)研發出採用精簡指令集的新型處理器,命名為ARM (Acorn RISC Machine, 後來更名為Advanced RISC Machine),又稱ARM 1。同年十月Intel發表80386處理器,ARM1的功能顯得相對簡單,效能也不敵80386,但耗電量明顯更低。這樣的差異使得ARM系列處理器往後的設計路線明顯與Intel不同,Intel持續邁向高效能的x86架構,ARM專注於低成本、低功耗的研發方向。
早期電腦的晶片注重效能更甚功耗,當時的桌上型電腦都有電源連接插座,在無須擔心耗電量的情況下只需比拚效能即可。然而當筆電、智慧型手機與平板逐漸普及,取代桌電成為主流電子市場時,面對運算性能要求不高卻注重續航力的產品,低功耗與低價位的晶片成為比效能更重要的考量點。(當然無論ARM還是Intel都會號稱自家產品具備低功耗高效能的特點啦。)
加上ARM獨特經營模式所擁有的競爭優勢──ARM本身並不直接生產晶片,商業模式採用授權智慧財產權的方式,由高通、聯發科(2454-TW)、三星等廠商使用ARM的指令集架構,再加入自家研發的技術,比如內顯GPU、3G/4G支援、省電機制…最後整合成一顆SoC(System on Chip, 系統單晶片)處理器。獲利模式簡單來說分成兩塊:一是一次性的對外授權收入,二是版稅、客戶每生產一塊晶片就要支付ARM一筆提成。
這與Intel的經營方式大相逕庭,自行研發、製造、出售的產品毛利高達50%,比純作授權的微薄利潤還高,大概得賣百來片ARM的晶片才抵過Intel賣一片晶片。其他廠商若要從頭開始研發x86這樣的架構可能得耗時二、三十年。藉由賺得的高額利潤,Intel能再投入大量的成本研發下一代處理器技術與生產線製程,甩競爭對手又一個世代。
以其對手AMD來說好了,研發一個內核架構至少需時5年以上,AMD的資本額與Intel相差幾十倍,技術落後、研發資金也不足,比起Intel的正向循環,AMD幾回惡性循環後導致公司虧損。AMD之所以被Intel留著只是為了不被反壟斷法控訴…。這種由Intel一家獨霸技術與市場的經營方式,也就是所謂的「一人吃餅、你吃餅屑」。
相比之下,ARM用便宜的價格進行大量的授權,不用投入高額資本於工廠產線。ARM架構能興起、還要感謝幕後功臣蘋果,除了早期共同研發精簡指令集架構(RISC)、出資讓ARM公司獨立出來,更重要地,還以使用ARM架構的iPhone, iPad 打開了行動運算市場,讓其他廠商紛紛能以低價購入ARM授權,進行智慧型手機晶片的研發。RISC之所以成為目前主流指令集,與行動裝置相輔相成,可謂時也、運也、命也,所謂「把市場養大大家一起吃餅」。
Intel不但在行動市場上慢了一步,在手機晶片上的思維也是固守x86架構,故而開發出使用x86架構的RISC晶片,導致功耗大。Intel有的是資本,不惜祭出高額的補貼政策以吸引手機廠使用,華碩(2357-TW)的Zenfone便搭載了Intel CPU,可惜有著耗電量過高的問題。即使後續Intel開發出Atom系列處理器,有著不遜於ARM晶片的低功耗、高性能特點,可惜鮮有人聞問之下,Intel宣布退出Sofia、Broxton兩款 Atom 處理器的開發,總共慘賠了數十億美元。
不是說Intel產品做得不好,現在的主流營運模式已不是直接販售處理器,而是透過智財授權方式營利。Intel若是學ARM的授權模式,收入將會比銷售最終產品的收入要低得多,難以讓Intel投入巨資研發的最新製程生產線、保持目前「高研發VS高毛利相互驅動」的商業模式。而ARM的設計與製造分開,較不會有這個問題。
由於ARM收費低廉,相較於Intel於2015年的營收達到516.9億美元,ARM的同年營收僅15 億美元。但十多年過去,ARM培養了一個遠比PC市場更龐大的陣營。與其說是Intel和ARM之間的對決、CISC與RISC的對決,倒不如說Intel對上的是各家取得安謀授權的半導體廠商,是經營模式的問題。我們更可以說,ARM已經被視為處理器架構設計領域的領導廠商,Intel則逐漸成為晶片先進製程製造領域的資本密集廠商。
今年四月,Intel日宣布將於2017年中前裁員1.2萬人,佔Intel全球13萬員工中的11%人力,是近10年來最大規模的裁員動作。此舉意味著Intel雖極力轉型,仍無法有效因應 個人電腦市場的衰退、並未能在行動裝置市場中扭轉頹勢。
今年八月, Intel再透露其10奈米FinFET製程全面支援ARM架構,並已與 ARM 簽定授權協議,生產ARM架構的處理器產品;第一批產品將用於LG和展訊上、LG和展訊分別採取的是10奈米和14奈米製程,在晶圓代工市場向台積電(2330-TW)、三星(Samsung)以及格羅方德(Globalfoundries)等競爭同業叫陣。
這樁合作案向市場承認了──手機應用是晶圓代工市場的最大宗,與ARM架構的王道地位。