ADVERTISEMENT
你知道iOS、Windows Phone、Android這3大平台的手機共通點是什麼嗎?除了都可以打電話、傳簡訊、安裝App之外,在硬體架構上最大的共同點,就是這些手機CPU全都是採用ARM架構。現在連Microsoft都相中這塊逐漸成長中的市場大餅,下一代的微軟視窗作業系統Windows 8也將會推出ARM版本,稱為Windows RT。究竟ARM與行動裝置的關係是什麼?又如何在這競爭激烈的市場中存活下去,逐漸壯大在嵌入式產品的影響力?看下去就知道。
快速目錄:
- ARM的開始、世界上首顆RISC處理器
- 開始大賣的ARM7、更換哈佛架構
- 被蘋果相中的ARMv6、高中低階Cortex
- 部分ARM處理器家族、架構對照表
都是從不務正業開始
如同Intel並不是以CPU起家,而是從記憶體跨足到IC設計,至今成為x86處理器的龍頭。ARM也是一樣,這一切都要從Hermann Hauser和Chris Curry所創立的Cambridge Processor Unit開始說起。
1978年,由物理學家Hermann Hauser和工程師Chris Curry一同在英國劍橋成立了一間公司,公司名稱直接取作Cambridge Processor Unit(CPU),主要從事提供當地電子儀器設備的業務。第一份合約即是為ACE Coin Equipment公司開發一款水果盤,也就是拉霸的遊戲機。
▲Cambridge Processor Unit為ACE Coin Equipment製造的水果盤遊戲機。
1979年,公司營運漸上軌道,便改名為Acron Computer有限公司。Acorn的中文翻譯為橡子,就是在冰原歷險記電影裡,那隻「鼠奎特」一直在追的果實,Acron Computer也以橡子為公司的標誌。
▲Acorn Computer Ltd把橡子圖案運用在自己的商標之中。
世界上首顆RISC處理器
隨著時間過去,漸漸地發現原本的硬體設計已不符需求,Acorn想要升級機器內的CPU。當時處理器的發展潮流是由8位元轉向16位元,一開始有考慮使用美國國家半導體以及Motorola新的16位元晶片,但是經過評估後,發現2個缺點。
- 執行上有點慢,中斷的回應時間太長,而且太貴。
- 一台500英鎊的電腦,CPU售價高達100英鎊。
於是只好轉向Intel,要求提供一些80286設計資料以及樣品,但是卻遭到Intel拒絕。這件事情後來直接導致Acorn決定設計自己需要的CPU,由於採用RISC架構的關係,名稱就稱為Acorn RISC Machine(ARM)。
RISC與CISC的差異
處理器的指令集可簡單分為2種,CISC(complex instruction set computer)以及RISC(reduced instruction set computer)。一開始的處理器都是CISC架構,隨著時間演進,有越來越多的指令集加入。由於當時編譯器的技術並不純熟,程式都會直接以機器碼或是組合語言寫成,為了減少程式設計師的設計時間,逐漸開發出單一指令,複雜操作的程式碼,設計師只需寫下簡單的指令,再交由CPU去執行。但是後來有人發現,整個指令集中,只有約20%的指令常常會被使用到,約佔整個程式的80%;剩餘80%的指令,只佔整個程式的20%。於是1979年美國加州大學柏克萊分校的David Patterson教授提出了RISC的想法,主張硬體應該專心加速常用的指令,較為複雜的指令則利用常用的指令去組合。
RISC的優點列舉如下:
- 指令長度固定,方便CPU解碼,簡化解碼器設計。
- 盡量在CPU的暫存器(最快的記憶體元件)裡操作,避免額外的讀取與載入時間。
- 由於指令長度固定,更能受益於執行線路管線化(pipeline)後所帶來的效能提升。
- 處理器簡化,電晶體數量少,易於提升運作時脈。比起同時脈的CISC處理器,耗電量較低。
RISC的缺點列舉如下:
- 複雜指令需要由許多的小指令去完成,程式變得比較大,記憶體也占用比較多,這在硬碟昂貴,常常使用磁帶儲存的時代來說,是個大缺點。
- 程式變長,代表著讀取工作變得繁重,需要更多的時間將指令從記憶體載入至處理器內。
這裡也提供一個小小的概念,CISC是在RISC出現之後才出現的相對名詞,並不是從一開始就有CISC、RISC這2種處理器架構。
首顆RISC架構CPU
於1985年,Acorn設計出了第一代處理器晶片,稱為ARM1,由Sophie Wilson設計出類似於6502的指令集,因為當時Acorn為英國國家廣播公司BBC所製造的BBC Micro電腦採用MOS 6502處理器,使用類似的指令集有助於縮短開發時間以及技術轉移。Steve Furber則是負責設計硬體實作。ARM1以第二顆處理器的身分,安裝在BBC Micro內部。
ARM1在晶圓設計部分,規格為3微米製程、2層金屬層、總計2萬5千個電晶體、6MHz運作時脈、消耗功率120mW、晶片面積50mm2。當時Intel的80286使用1.5微米製程、13萬4千個電晶體、6~12Mhz運作時脈,同時這2款處理器都不包含快取。
同年10月,Intel發表80386處理器,與之相比,ARM1顯得功能簡單、能源消耗較少,在效能上不是80386的對手。這一差異導致ARM系列處理器往後的設計路線明顯與Intel不同,Intel持續邁向x86高效能設計,ARM專注於低成本、低功耗的研發方向。
▲這是由VLSI製造的ARM1處理器,最外層那一圈不是CPU本體,而是必須焊在電路板上的連接座。
漸入佳境、架構變更
真正商業化的處理器為ARM2,ARM1處理器架構為ARMv1,到了ARM2更新到ARMv2,這一代新增乘法器在核心之中。ARMv2的進階版ARMv2a則是多包了記憶體管理核心、繪圖及I/O處理器。接下來的ARM3,處理器架構ARMv2a,是第一次於CPU裡內建了4KB快取。1990年,Acorn開始與蘋果電腦合作發展新一代的ARM晶片,特地還為此設立了一間公司,稱為Advanced RISC Machines公司。最初財務吃緊,辦公室僅為一個穀倉,成員也僅有12人。原本ARM所代表的Acorn RISC Machine,也在此時更換為Advanced RISC Machine。
1991年發展出的ARM6,處理器架構更新為ARMv3,主要擴展記憶體定址線。之前的ARM產品都只有26bit的記憶體定址線,最大可支援64MB的記憶體。從ARM6開始,完整支援32位元記憶體定址,最大支援到4GB。在此離題一下,ARM6處理器家族下的ARM610處理器,曾經用在蘋果電腦的Newton Message Pad上頭,Newton也被視為現今PDA與Smart Phone的始祖。
▲Apple Newton Message Pad。
延伸閱讀:
(後面還有開始大賣的ARM7)
> 由於ARM採用IP授權的關係,資料挖得更深,也越覺得有趣,光是各家廠商的應用處理器之間的差異就相當的多,也還有Intel當初買了StrongARM做出自家的XScale,而後又賣給Marvell,近幾年又想利用Atom重返行動裝置市場,這歷史實在太黑了(≧▽≦)
大家好, 我是受害者 [拼命揮手]
╮(╯_╰)╭
> 歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。
>
> ╮(╯_╰)╭
這是小弟當初在收集資料上的遺漏,感謝水球大大的指正
我也記得Nokia當年在打江山的確用了很多ARM
或許編輯可以找一下有關ARM跟Nokia的歷史
畢竟Apple也真的是比較後面的事 ...
> 歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。
>
> ╮(╯_╰)╭
其實不能算是錯的喔,因為CDC6600是main frame而不是microcomputer,IBM 801則是minicomputer也不是microcomputer。而ROMP的設計雖然是microprocessor,也很早就設計完成,但是實際上市卻是遲至1986年的事情了。所以ARM的確是世界上第一顆上市的RISC microprocessor。
原本以為ATOM透過製程的進步,可以大副減少耗電量;同時消費者(手機廠)也願意為了高效能而減少待機時間。沒有想到ATOM的耗電量是手機業者完全不能接受,造成完全進不了手機產業。
另外就是,全世界所有廠商很有「默契」的拒絕用INTEL(和WINDOWS),不讓他們在PC上吃乾抹淨的故事重演。
但是,效能就是用電力換出來的。當ARM的效能和ATOM一樣時,他的耗電量也和ATOM是一樣。這個障礙應該就被打破,再加上INTEL的晶圓+IP實力,應該可以小勝收場。
不過,可惜,這是比軟體的年代,加上所有人都拒絕INTEL,所以除非ARM犯錯或是INTEL找到突破點,不然仍然是ARM的天下。
長知識了
請問我能轉貼這篇文章嗎?