http://www.techbang.com/posts/10678-fully-understand-arm-processors-cisc-and-risc-are-what-history-structure-a-see-through-the-computer-96-issues-cover-story-the-king

你知道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公司開發一款水果盤,也就是拉霸的遊戲機。

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

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

▲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專注於低成本、低功耗的研發方向。

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

ly98computer 發表在 痞客邦 PIXNET 留言(0) 人氣()