完全看懂 ARM 處理器:RISC 與 CISC 是什麼?歷史、架構一次看透

完全看懂 ARM 處理器:RISC 與 CISC 是什麼?歷史、架構一次看透

ADVERTISEMENT

你知道iOSWindows PhoneAndroid這3大平台的手機共通點是什麼嗎?除了都可以打電話、傳簡訊、安裝App之外,在硬體架構上最大的共同點,就是這些手機CPU全都是採用ARM架構。現在連Microsoft都相中這塊逐漸成長中的市場大餅,下一代的微軟視窗作業系統Windows 8也將會推出ARM版本,稱為Windows RT。究竟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公司開發一款水果盤,也就是拉霸的遊戲機。

完全看懂 ARM 處理器:RISC 與 CISC 是什麼?歷史、架構一次看透

▲Cambridge Processor Unit為ACE Coin Equipment製造的水果盤遊戲機。

1979年,公司營運漸上軌道,便改名為Acron Computer有限公司。Acorn的中文翻譯為橡子,就是在冰原歷險記電影裡,那隻「鼠奎特」一直在追的果實,Acron Computer也以橡子為公司的標誌。

完全看懂 ARM 處理器:RISC 與 CISC 是什麼?歷史、架構一次看透

▲Acorn Computer Ltd把橡子圖案運用在自己的商標之中。

世界上首顆RISC處理器

隨著時間過去,漸漸地發現原本的硬體設計已不符需求,Acorn想要升級機器內的CPU。當時處理器的發展潮流是由8位元轉向16位元,一開始有考慮使用美國國家半導體以及Motorola新的16位元晶片,但是經過評估後,發現2個缺點。

  1. 執行上有點慢,中斷的回應時間太長,而且太貴。
  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的優點列舉如下:

  1. 指令長度固定,方便CPU解碼,簡化解碼器設計。
  2. 盡量在CPU的暫存器(最快的記憶體元件)裡操作,避免額外的讀取與載入時間。
  3. 由於指令長度固定,更能受益於執行線路管線化(pipeline)後所帶來的效能提升。
  4. 處理器簡化,電晶體數量少,易於提升運作時脈。比起同時脈的CISC處理器,耗電量較低。

RISC的缺點列舉如下:

  1. 複雜指令需要由許多的小指令去完成,程式變得比較大,記憶體也占用比較多,這在硬碟昂貴,常常使用磁帶儲存的時代來說,是個大缺點。
  2. 程式變長,代表著讀取工作變得繁重,需要更多的時間將指令從記憶體載入至處理器內。

這裡也提供一個小小的概念,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專注於低成本、低功耗的研發方向。

完全看懂 ARM 處理器:RISC 與 CISC 是什麼?歷史、架構一次看透

▲這是由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的始祖。

完全看懂 ARM 處理器:RISC 與 CISC 是什麼?歷史、架構一次看透

▲Apple Newton Message Pad。

延伸閱讀:

智慧型手機拆光看清楚:24個重要元件解說,認識手機的內涵

(後面還有開始大賣的ARM7)

R.F.
作者

誤入叢林的小白兔,每天爬樓梯到七樓的白癡,幻想自己很瘦的豬,一放假就睡死的bed potato。

使用 Facebook 留言
915a4a802c7f93674cedf5e04f95dea1?size=48&default=wavatar
21.  david (發表於 2012年9月20日 20:53)
※ 引述《R.F.》的留言:
> 由於ARM採用IP授權的關係,資料挖得更深,也越覺得有趣,光是各家廠商的應用處理器之間的差異就相當的多,也還有Intel當初買了StrongARM做出自家的XScale,而後又賣給Marvell,近幾年又想利用Atom重返行動裝置市場,這歷史實在太黑了(≧▽≦)

大家好, 我是受害者 [拼命揮手]
12c52b153daf70e75162ec15e8c01cbe?size=48&default=wavatar
22.  水球 (發表於 2012年9月20日 22:39)
歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。

╮(╯_╰)╭
R.F.
23.  R.F. (發表於 2012年9月21日 03:30)
※ 引述《水球》的留言:
> 歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。
>
> ╮(╯_╰)╭

這是小弟當初在收集資料上的遺漏,感謝水球大大的指正
張昌華
1人給推

25.  張昌華 (發表於 2012年9月24日 12:10)
ARM 的成功最重要的關鍵,應該是與TI聯手用ARM7 囊括Nokia 早期feature phone 的市場,從此奠定了ARM在mobile device 的省電一哥的地位,Apple 只是錦上添花爾以
凱文克勞斯
26.  凱文克勞斯 (發表於 2012年9月28日 22:13)
樓上大大剛好點出我的疑惑
我也記得Nokia當年在打江山的確用了很多ARM
或許編輯可以找一下有關ARM跟Nokia的歷史
畢竟Apple也真的是比較後面的事 ...
9f17abfbaa1801e9461c99032410355c?size=48&default=wavatar
27.  大白 (發表於 2012年10月31日 15:03)
※ 引述《水球》的留言:
> 歷史上第一台RISC電腦是IBM 801,或著是更早的CDC6600.... 說「首顆RISC微處理器」,一般都會先講IBM的ROMP,怎麼說應該還排不上ARM。
>
> ╮(╯_╰)╭

其實不能算是錯的喔,因為CDC6600是main frame而不是microcomputer,IBM 801則是minicomputer也不是microcomputer。而ROMP的設計雖然是microprocessor,也很早就設計完成,但是實際上市卻是遲至1986年的事情了。所以ARM的確是世界上第一顆上市的RISC microprocessor。
78a51ac1b2d94619f0a641efa4d96487?size=48&default=wavatar
28.  Bill (發表於 2012年11月10日 11:02)
ARM 並不是首顆 RISC Processor,早在 1975 年 IBM 推出 801 系列 RISC 電腦,第一顆 MIPS 晶片於1984年誕生也比ARM還早,許多計算機組織的經典教科書都以這些早期的 RISC 晶片為教才。
Ad049e336f23e32e6790b49d82110d04?size=48&default=wavatar
1人給推

29.  djboy (發表於 2012年12月31日 15:21)
以當年仍在手機晶片業界的員工的猜測,Intel會賣Strong ARM主要有是因為對 ATOM太樂觀了,以及堂堂CPU大廠怎可受限到ARM這種小公司的限制。

原本以為ATOM透過製程的進步,可以大副減少耗電量;同時消費者(手機廠)也願意為了高效能而減少待機時間。沒有想到ATOM的耗電量是手機業者完全不能接受,造成完全進不了手機產業。

另外就是,全世界所有廠商很有「默契」的拒絕用INTEL(和WINDOWS),不讓他們在PC上吃乾抹淨的故事重演。

但是,效能就是用電力換出來的。當ARM的效能和ATOM一樣時,他的耗電量也和ATOM是一樣。這個障礙應該就被打破,再加上INTEL的晶圓+IP實力,應該可以小勝收場。

不過,可惜,這是比軟體的年代,加上所有人都拒絕INTEL,所以除非ARM犯錯或是INTEL找到突破點,不然仍然是ARM的天下。
發表回應
謹慎發言,尊重彼此。按此展開留言規則