ARM架構發展史

當前,X86和ARM架構是公認的在商業化進程中表現最優秀的兩大架構。之前我們已經介紹了X86架構,今天介紹另一個在近十年大火的架構,ARM。

ARM架構,過去稱作進階精簡指令集機器(Advanced RISC Machine,更早稱作:Acorn RISC Machine),是一個32位精簡指令集(RISC)處理器架構,被廣泛地使用在嵌入式系統設計。由於節能的特點,ARM處理器非常適用於行動通訊領域,符合其主要設計目標為低耗電的特性。

ARM架构发展史

在今日,ARM家族佔了所有32位嵌入式處理器75%的比例,使它成為佔全世界最多數的32位架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、移動電話、多媒體播放器、掌上型電子遊戲,和計算機)到電腦外設(硬盤、桌上型路由器)甚至在導彈的彈載計算機等軍用設施中都有他的存在。在此還有一些基於ARM設計的派生產品,重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。說的直白一些,ARM相當於移動領域的x86,全球有超過95%的移動設備採用ARM設計架構的處理器。

ARM公司發展史

1978年,一家名字叫CPU(Cambridge Processor Unit)的公司在英國劍橋誕生,其創始人是一個名叫Hermann Hauser的奧地利籍物理學博士,還有一個名叫Chris Curry的英國工程師。

ARM架构发展史

Hermann Hauser和Chris Curry

CPU公司成立之後,主要從事電子設備設計和製造的業務。他們接到的第一份訂單,是製造賭博機的微控制器系統。這個微控制器系統被開發出來後,稱之為Acorn System 1。

ARM架构发展史

Acorn System 1

1979年,他們給公司換了個名字,叫做Acorn Computer Ltd。在Acorn System 1之後,他們又陸續開發了System 2、3、4,還有面向消費者的盒式計算機——Acorn Atom。

ARM架构发展史

Acorn Atom

到了1981年,公司迎來了一個難得的機遇——英國廣播公司BBC打算在整個英國播放一套提高電腦普及水平的節目,他們希望Acorn能生產一款與之配套的電腦。但是Acorn缺少合適的芯片。當時美國國家半導體和摩托羅拉公司的16位芯片售價過高,同時,當時如日中天的英特爾(Intel)拒絕為他們提供相關處理器(80286)的設計資料和樣品。一氣之下,Acorn決定自己造芯片。

就這樣,Acorn公司的研發人員從美國加州大學伯克利分校找到了一個關於新型處理器的研究——簡化指令集,恰好可以滿足他們的設計要求。在此基礎上,經過多年的艱苦奮鬥,來自劍橋大學的計算機科學家Sophie Wilson和Steve Furber最終完成了微處理器的設計。對於這塊芯片,Acorn給它命名為Acorn RISC Machine。這就是大名鼎鼎的“ARM”三個字母的由來。

ARM架构发展史

Sophie Wilson和Steve Furber

前者負責指令集開發,後者負責芯片設計。

當時研發出來的第一款處理器芯片的型號,被定為 ARM1。當時ARM1和同時期Intel的80286處理器(也就是常說的286)對比如下:

ARM架构发展史

可以看出來,ARM1和80286各有所長。但是,就在同一年,1985年10月,英特爾發佈了80386。在80386面前,ARM1就只有被吊打的份了。

ARM架构发展史

Intel 80386

32位,27.5萬個晶體管,頻率為12.5MHz,後提高到33MHz

讓ARM直接在性能上和x86系列硬槓,顯然是不現實的。ARM有意無意地選擇了與Intel不同的設計路線——Intel持續邁向x86高效能設計,ARM則專注於低成本、低功耗的研發方向。

ARM架構發展史

有些人將“指令集體系結構”稱為架構,這樣就有了ARMv8架構、ARMv7-A架構、ARMv6架構等等,這些都是ARM設計的一些RISC指令集。

所謂指令集體系結構,就是ARM公司推出的一整套的精簡指令,它是計算機最低層的命令,比如說應用程序需要從內存讀取數據,那麼最後就是通過調用ARM設計的指令是實現內存讀取。

ARM架构发展史

不過,也有人將ARM7、 ARM9、 ARM11以及Cortex等系列內核也稱為架構。譬如,現在ARM主流的架構應該就是智能手機領域的Cortex-A系列架構、工業控制嵌入式領域的Cortex-M系列架構、對穩定性要求高的Cortex-R系列架構等。值得一提的是,ARM架構在不斷演變的同時,仍保持了各個版本之間的兼容性。

那麼,為了清楚地表達每個ARM應用實例所使用的指令集,ARM公司定義了幾種主要的ARM指令集結構版本,以版本號V1-V8表示。

ARM架构发展史

ARMv1架構

1985年,ARMv1架構誕生,該版架構只在原型機ARM1出現過,只有26位的尋址空間(64MB),沒有用於商業產品。

ARMv2架構

1986年,ARMv2架構誕生,該版本架構對V1進行了擴展,首顆量產的ARM處理器ARM2就是基於該架構,包含了對32位乘法指令和協處理器指令的支持,但同樣仍為26位尋址空間。其後還出現了變種ARMv2a,ARM3即採用了ARMv2a,是第一片採用Cache的ARM處理器。

ARMv3架構

1990年,ARMv3架構誕生,第一個採用ARMv3架構的微處理器是ARM6(610)以及ARM7,ARM6作為IP核、獨立的處理器、具有片上高速緩存、MMCU和寫緩衝的集成CPU,尋址空間增大到32位(4GB)。變種版本有3G和3M。版本3G是不與版本2a相兼容的版本3。版本3M引入了有符號和無符號數乘法和乘加指令。

ARMv4架構

1993年,ARMv4架構在V3版上作了進一步擴充,是目前應用最廣的ARM架構

,ARM7(7TDMI)、ARM8、ARM9(9TDMI)和Strong ARM均採用了該架構。ARM在這個系列中引入了T變種指令集,即處理器可工作在Thumb狀態,增加了16位Thumb指令集。V4不再強制要求與26位地址空間兼容,而且還明確了哪些指令會引起未定義指令異常。

ARMv5架構

1998年,ARMv5架構誕生,在V4版基礎上增加了一些新的指令,ARM7(EJ)、ARM9(E)、ARM10(E)和Xscale採用了該架構,這版架構改進了ARM/Thumb狀態之間的切換效率。這些新增命令有帶有鏈接和交換的轉移BLX指令;計數前導零CLZ指令;BRK中斷指令;增加了數字信號處理指令(V5TE版);為協處理器增加更多可選擇的指令。此外還引入了DSP指令和支持JAVA。

ARMv6架構

V6版架構於2001年正式發佈,首先被應用在ARM11處理器。V6版架構在降低耗電量的同時,還強化了圖形處理性能。它還引進了包括單指令多數據(SIMD) 運算在內的一系列新功能。通過追加有效進行多媒體處理的SIMD(Single Instruction,Multiple Data,單指令多數據)功能,將語音及圖像的處理功能提高到了原型機的4倍。此外,還引入了混合16位/32位的Thumb-2指令集和Trust Zone技術。

ARMv7架構

2004年,ARMv7架構誕生,該版本架構採用了Thumb-2技術,它是在ARM的Thumb代碼壓縮技術的基礎上發展出來的,並且保持了對已存ARM解決方案的完整的代碼兼容性。此外,ARMv7還支持改良的運行環境,來迎合不斷增加的JIT和DAC技術的使用。

ARMv7架構還包括 NEON™ 技術擴展,可將DSP和媒體處理吞吐量提升高達400%,並提供改進的浮點支持以滿足下一代3D圖形和遊戲以及傳統嵌入式控制應用的需要。

從這個時候開始ARM以Cortex來重新命名處理器,Cortex-M3/4/7,Cortex-R4/5/6/7,Cortex-A8/9/5/7/15/17都是基於該架構。

ARMv6-M架構

2007年,在ARMv6基礎上衍生了ARMv6-M架構,該架構是專門為低成本、高性能設備而設計,向以前由8位設備占主導地位的市場提供32位功能強大的解決方案。Cortex-M0/1/0+即採用的該架構。

ARMv8架構

2011年,ARMv8架構誕生,Cortex-A32/35/53/57/72/73採用的是該架構,這是ARM公司的首款支持64位指令集的處理器架構。

由於ARM處理器的授權內核被廣泛用於手機等諸多電子產品,故ARMv8架構作為下一代處理器的核心技術而受到普遍關注。

ARMv8是在32位ARM架構上進行開發的,主要被用於對擴展虛擬地址和64位數據處理技術有更高要求的產品領域。ARMv8是近20年來,ARM架構變動最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已經顛覆了我們對舊的ARM架構的認知。

可以看出,從ARMv7架構開始,ARM的命名方式有所改變。新的處理器家族,改以Cortex命名,並分為三個系列,分別是Cortex-A,Cortex-R,Cortex-M。

Cortex-A:針對高性能計算。如我們目前手機SoC中常出現的Cortex-A76等。

Cortex-R:針對實時操作處理。主要是面向嵌入式實時處理器。在汽車的電子制動系統,工業控制領域等領域比較常見。

Cortex-M:專為低功耗、低成本系統設計。目前火熱的IoT領域常常見到採用Cortex-M架構的處理器。

其實,除了上述三大系列之外,還有一個主打安全的Cortex-SC系列(SC:SecurCore),主要用於政府安全芯片。

ARM 公司本身並不靠自有的設計來製造或出售 CPU ,而是將處理器架構授權給有興趣的廠家。

1990年,Acorn為了和蘋果合作,專門成立了一家合資公司,名叫ARM(Advanced RISC Machines)。蘋果投了150萬英鎊,芯片廠商VLSI投了25萬英鎊,Acorn本身則以150萬英鎊的知識產權和12名工程師入股。

在成立後的那幾年,ARM業績平平,工程師們也人心惶惶,害怕隨時都會失業。在這個情況下,ARM決定改變他們的產品策略——他們不再生產芯片,轉而以授權的方式,將芯片設計方案轉讓給其他公司,即“Partnership”開放模式。沒想到正是這種模式,開創了屬於ARM的全新時代。

ARM所採取的是IP授權的商業模式,收取一次性技術授權費用和版稅提成。具體來說,ARM有三種授權方式:使用層級授權、內核層級授權和架構層級授權。這三個層級的權限是依次上升的。

使用層級授權是最基本也是最低的授權等級。這就意味著你只能拿別人提供的定義好的IP來嵌入在你的設計中,不能更改人家的IP,也不能借助人家的IP創造自己的基於該IP的封裝產品。擁有使用授權的用戶只能購買已經封裝好的ARM處理器核心,而如果想要實現更多功能和特性,則只能通過增加封裝之外的DSP核心的形式來實現(當然,也可以通過對芯片的再封裝方法來實現)。由於擔心對知識產權保護不力,ARM對很多中國背景的企業均採取這一級別的授權。

內核層級授權指可以以一個內核為基礎然後在加上自己的外設,不能改變原有設計,但可以根據自己的需要調整產品的頻率、功耗等。比如USART GPIO SPI ADC 等等,最後形成了自己的MCU,比如三星、德州儀器(TI)、博通、飛思卡爾、富士通以及Calxeda等,這些公司並沒有權限去對內核進行改造。

架構層級授權是ARM會授權合作廠商使用自己的架構,且可以對ARM架構進行大幅度改造,甚至可以對ARM指令集進行擴展或縮減,方便其根據自己的需要來設計處理器。例如高通的Krait架構和蘋果的Swift架構,就是在取得ARM的授權後根據自己的需求設計完成的。

做個很形象的比喻:假設我寫了一篇文章,我只授權了你轉發,不能更改,不能添油加醋,便是使用層級授權;我授權你可以在文章中引用我的文章,便是內核級授權;我授權你可以拿去修改、重組我的文章,形成一篇新的論文,便是架構層級授權。

注意,某一版本的架構層級授權,通常是永久性的。

如果按照用途來劃分得更細一點,ARM的授權模式還包括了比如

學術授權是免費面向高校和科研機構的;比如Design Start,是為了方便半導體企業低成本、低風險、快速瞭解ARM IP的一種授權模式;這兩種模式下設計出來的芯片不能銷售,只能用於內部研究。

還有多用途授權和終身多用途授權,以時間為授權效力劃分,相對來說比較適合大型企業。而單用途授權以用途劃分授權效力範圍,這種授權模式之下,需要交一筆前期授權費,此後按照每顆芯片收取約2%的版稅。這種授權相對來說比較適合創業公司,或者目標明確的特定設計項目。

正是ARM的這種授權模式,極大地降低了自身的研發成本和研發風險。它以風險共擔、利益共享的模式,形成了一個以ARM為核心的生態圈,使得低成本創新成為可能。目前ARM在全球擁有大約1000個授權合作、超過300家合作伙伴,但是敢於購買架構授權的,也只有15家。高通Krait、蘋果Swift、Marvell都是典型的用戶。正是靠著如此眾多授權夥伴的支持,ARM處理器才獲得了25億顆的季度出貨量,歷史總量已經達到500億顆,可以繞地球12周。

ARM架构发展史

基於ARM處理器/微控器的產品主要有:

ARM架构发展史

ARM在中國

ARM看到中國蓬勃發展的市場潛力,於2002年進入中國,和中國的合作伙伴攜手共同建設ARM生態。為進入中國市場,ARM公司為中國廠商提供量身定製的服務,幫助其更快和更便宜地申請ARM授權。例如,在中國實施一種稱為“IP Access”策略,即用戶只要交納一定的授權費,就可以在眾多產品中任意選擇自己需要的ARM核,當他們覺得采用某個核不適用時,即使研發展開後也還可以再換另一個。

根據ARM的公開信息顯示,截止目前,ARM在中國地區已經有超過200多個合作伙伴,中國客戶推出的基於ARM技術的國產SoC(系統級芯片)累計出貨量超過160億顆,現在國內95%的國產芯片都是基於ARM技術的。很多ARM中國合作伙伴所設計的芯片已經在全球物聯網、移動乃至雲服務器等眾多應用領域佔據領先地位,成為全球化半導體市場中不容忽視的創新推動力。

ARM已壟斷移動芯片市場,並逐漸進入了PC市場,基於該架構將較為容易建立服務器芯片生態,因此也最受重視,目前國產服務器芯片企業當中有飛騰

華為基於ARM架構研發服務器芯片。

其中華為進展最快,也最具實力,其擁有較為完整的產業鏈,自主研發ARM核心架構,同時基於自有ARM架構服務器芯片研發服務器產品,並計劃與它力推的華為雲計算相結合。

當前華為 ARM 架構服務器相關產業產品三類主線:Hi16 系 列 CPU、鯤鵬系列 ARM CPU 和泰山服務器。2004 年華為就已經開始了 ARM 架構相關芯片的開發,覆蓋華為多個產品線,2019年重磅發佈自研的鯤鵬920系列高性能處理器,服務器版最多64核,桌面版有4核及8核版。

ARM架构发展史

鯤鵬920(Kunpeng920)處理器

而從基於ARM架構的具體部署和業務進展維度看,天津飛騰發展較早,其產品線佈局、商業化和生態做都還不錯,目前已經與400多家國內的軟硬件廠商進行了合作,已經初步建立起了相對完整的生態體系。

飛騰處理器誕生於1999年,團隊規模從最初的十幾人發展到如今500多人,芯片規模從幾十萬晶體管發展到幾百億晶體管,製程工藝從0.35微米發展到16/14納米,形成了完整涵蓋服務器、桌面和筆記本、嵌入式的高性能CPU產品線。比如FT-2000+/64處理器芯片是面向企業級高性能服務器。需要指出的是,飛騰與華為一樣都是獲得了ARM指令集架構的永久性授權,目前其內核也是自主設計的。

ARM架构发展史

FT-2000處理器

按照ARM最新的規劃,ARM計劃在四年(2017 + 2018 + 2019 + 2020)實現1000億的芯片發貨量(上一個1000億花了26年),然後衝著1萬億放量努力。其定位的五大方向除了ARM架構已經佔據優勢的移動計算,汽車電子,嵌入式芯片,消費電子等,還包括了互聯網和服務器基礎設施。所以在商業全球化,市場開放化不斷加大的的整體環境下去擔心ARM服務器廠商的授權被限制的情況大可不必。

此外,獲得ARM指令集授權的廠家不單是在計算核與SoC芯片設計上擁有最大的自由度,而且可以根據市場需求對ARM指令集的升級換代提出修改或添加意見,ARM指令集的發展是開放的。隨著飛騰、華為、展迅等國內廠家市場佔有率不斷提高,對ARM指令集發展的話語權將逐步增大,通過市場的成功來實現對上層IP的影響力。

基於開放的ARM芯片IP授權,眾多廠商共同參與了ARM服務器架構規範標準的制定。2016年4月,在中國市場,ARM在工信部的牽頭下,與戴爾、華為、阿里巴巴等成立了綠色計算產業聯盟,正在推動基於ARM架構的服務器。華為、ARM、戴爾、聯想、華芯通、電子標準院、新華三、天津飛騰、中國軟件、SK海力士、北大、清華、上海交大、中科院計算所、神州數碼、瀋陽東軟、紫光國芯、中國電子、Mellanox、天津麒麟、中國長城、NVIDIA、南京百敖等都是其會員單位。

ARM架构发展史

ARM合作伙伴

在中國服務器市場,ARM已經有了全套基於服務器芯片的產業鏈合作伙伴,包括:KMI、博傲等內核虛擬機固件廠商,中科方德、中標麒麟、普華等操作系統廠商,阿里雲、華為雲、百度雲等雲系統合作夥伴,達夢、人大金倉、瑞中數據、神舟通用、南大通用等數據庫廠商,東方通、山東中創、金蝶等中間件廠商以及浪潮、聯想、曙光、中興、長城等整機系統廠商,構成了完整的產業生態鏈,可以實現軟件全面國產化。

ARM在中國的大事記:

ARM架构发展史ARM架构发展史


分享到:


相關文章: