ARM 的發展歷史可以追溯到 1978 年,當年克里斯·庫裡(Chris Currry)所任職的公司遭遇財務危機,發展每況愈下,庫裡在和創始人深入溝通後,決定離職。當時的庫裡對微型計算機很感興趣,隨後和他的朋友赫爾曼·豪澤(Hermann Hauser)創立了劍橋處理器(Cambridge Processor Unit)有限公司。1979 年,劍橋處理器公司改名為橡果電腦(Acorn Computer)有限公司,據說改名字是因為希望公司的名字再字母排序中排在蘋果公司的前面,公司成立初期主要從事電子裝置設計和製造的業務,其第一個大獲成功的產品是 1981 年 12 月推為英國廣播公司微型計算機。1985年是橡果電腦一個重要的里程碑,他們獨立完成了 32 位微處理器的設計,採用精簡指令集,3 微米工藝,包含 25000 個電晶體。這個處理器是 ARM 架構的起點,即 ARMv1。
1990 年,由 VLSI 科技公司投資,橡果和蘋果各自持有 43% 的股份,成立了 ARM,此後 ARM 就成了 Advanced RISC Machines 的縮寫。最初的 ARM 成員只有很少的工程師,辦工場所在劍橋的一個穀倉裡。
1996年,ARM 和德州儀器、三星、諾基亞等公司建立合作,實現盈利。諾基亞 6110 手機中經典的遊戲——貪食蛇,就是基於 ARM 7TDMI 晶片開發的。1998 年,ARM 在納斯達克上市,掛牌交易,彼時的 ARM 市值已達十億美元!2004 年,ARM 釋出了 Cortex-A,R,M 三個系列的處理器,細心的讀者可能發現了,這三個系列的處理器,就是 ARM 的三個字母。2007 年 2 月,ARM 第一款 GPU——Mali-200 正式走向市場,同年,在科技界還有一件大事,那就是 iPhone 誕生了!iPhone 可謂是一部具有劃時代意義的電子產品,其中搭載的就是基於 ARM 核心的晶片,隨著智慧手機時代的來臨,ARM 也異軍突起,2007 年,基於 ARM 核心設計的晶片出貨量已達一百億顆!
2016 年 ARM 被日本軟銀收購,2020 年,軟銀擬以 400 億美元的價格將 ARM 出售給英偉達,但最終因多家監管機構反對,交易流產,ARM 依然會在半導體界保持中立狀態,繼續為其他晶片設計公司提供 IP(Intellectual Property)授權。
多年來, ARM 已經研發了相當多的不同的處理器產品。如下圖中:ARM 處理器產品分為經典 ARM 處理器系列(下圖分割線左側)和最新的 Cortex 處理器系列(下圖分割線右側)。並且根據應用範圍的不同,ARM 處理器可以分類成 3 個系列。
ARM三個系列處理器特點
另外,ARM 也推出了移動 GPU 系列,即 Mali GPU。
ARM 公司是一家智慧財產權(IP)供應商,它與一般的半導體公司最大的不同就是不製造晶片且不向終端使用者出售晶片,而是通過轉讓設計方案(就是我們通常說的授權),由合作伙伴生產出各具特色的晶片。
籠統來說,ARM 的授權分為三個層級:
這三個層級的許可權是依次上升的。對晶片設計公司的要求也是從低到高,而發揮的空間也是從低到高:指令集層級授權(也成軟核)發揮的空間最大,使用層級授權(也成硬核)發揮的空間最小。(比如代工廠臺積電拿著圖紙就可以施工,可以不用修改)。
買ARM使用層級授權(硬核)的晶片設計公司,用通俗的話說就是,使用 ARM 公版架構。這種情況下,晶片設計公司對外宣傳必須帶上 ARM 公司的品牌:CPU 的品牌是 Cortex-AXX(XX 代表兩位阿拉伯數位,第一個數位表示架構是第幾代,第二個表示架構微調),GPU則是 Mali-GXX(XX含義同上)。
如果用一個比較粗略但是好理解例子來說明這三個層級的許可權,大體上我們可以這樣理解:
假設我寫了一篇文章,我只授權了你轉發,不能更改,不能添油加醋,便是使用層級授權;我授權你可以在文章中參照我的文章,便是核心級授權;我授權你可以拿去修改、重組我的文章,形成一篇新的論文,便是架構層級授權。
注意,某一版本的架構層級授權,通常是永久性的。
目前,總共有超過 1000 家公司與 ARM 公司簽訂了技術使用許可協定,其中包括 apple、Intel、Broadcom、IBM、LG、SONY、NXP 和 TI 這樣的大公司。但是敢於購買架構授權的,也只有15家左右,高通、蘋果、Broadcom、Marvell、華為、三星都是典型的使用者(也都是各自行業的扛把子)。
下面以 S3C2440 為例與 51 微控制器進行對比分析,詳細解析了 ARM 架構。
ARM 公司主要設計 ARM 系列 AISC 處理器核心,它不生產晶片,只提供 IP 核。先以一個例子解釋一下架構、核、處理器和晶片:S3C2440,這是一款 SoC 晶片,注意,它不是 CPU,S3C2440 和我們熟知的 51 微控制器有點類似,都屬於嵌入式,嵌入式的發展到目前經歷了三個階段,分別是 SCM、MCU、SoC。51 屬於 SCM 或 MCU,而 S3C2440 就屬於 SoC 了,先來看看 51 微控制器的內部結構,如下圖所示。
其內部結構可以簡單的分成兩部分:CPU 和外設。再來看 2440 的:
中間的那個 ARM920T 就是它的處理器,處理器和核在我看來在這裡是一個概念,只不過一個是硬概念,一個是軟概念。這裡的 ARM920T 就既是處理器又是核。而三星做的就是除了這個 CPU 外其他的東西。
那架構呢?再來看一張圖。
其中左側的就是架構,右側的是處理器,也可以叫核。ARM 首個最成功的 CPU 是 ARM7TDMI,是基於 ARMv4的。ARM 架構包含了下述 RISC 特性:
和三星相同的其他和 ARM 合作的各大廠商通常會把它的 CPU 和各類外圍 IP 都放到一起,然後自己拿著圖紙去流片,生產出來的也是一個正方形,下面有很多引腳,這個東西不僅包含了 CPU,還包含了其他的控制器,這個東西就叫做 SoC(system on chip)。從英文來看,所謂的四核 SoC 什麼的,本意就不是單指 CPU,而是四核系統。
所以目前各大廠商所做的事情,就是買來 ARM 的授權,得到 ARM 處理器的原始碼,而後自己搞一些外圍 IP(或者買或者自己設計),組成一個 SoC 後,去流片。不同的 SoC,架構不同(就是 CPU 如何和 IP 聯絡起來,有的以匯流排為核心,有的以 DDR 為核心),所以,海思是擁有自主產權的 SoC 架構。可是,無論任何廠商,再怎麼折騰,都沒有怎麼動過 CPU,ARM 核心就好好的呆在那裡,那就是中央處理器。
在後智慧手機時代,ARM 迅速發展,並在十多年的時間建立了良好的生態,就連微軟這個英特爾的老夥伴,也在2011 年宣佈支援 ARM 架構。截止 2022 年,ARM 的合作伙伴已超過 1000 家,95% 的智慧手機中都使用基於 ARM 核心的處理器,處理器累計出貨超過 2250 億顆。要知道,如果在 2000 年左右,如果有人說 ARM 架構處理器的效能可以和 x86 媲美,甚至超越 x86,那麼無異於天方夜譚。然後科技發展日新月底,ARM 乘著行動網際網路這艘大船,逐步發展為指令集架構領域一支新的力量!
參考: