RISC或CISC真的有差嗎?
如果你是少數(shù)仍認為指令集架構(instruction set architectures,ISA)是精簡(RISC)或復雜(CISC),會對應用處理器之設計的功耗或性能有顯著影響的軟體或硬體設計工程師,放棄這種想法吧!它是不正確的,因為更重要的是處理器的微架構(microarchitecture),也就是指令被硬布線(hardwired)到處理器中的方法,以及有什么被添加入以協(xié)助它們達成特定目標。
本文引用地址:http://www.ex-cimer.com/article/276748.htm以上結論來自于學術期刊《ACM計算機系統(tǒng)學報(ACM Transactions on Computer Systems)》的一篇論文“指令集架構之戰(zhàn):了解ISA是CISC或RISC的關聯(lián)性(ISA Wars: Understanding the Relevance of ISA being CISC or RISC)”(參考連結),作者為Emily Blem、Jakrishnan Menon、Thiruvengadam Vijayaraghavan以及 Karthhikeyan Sankaralingam;該論文報告了過去四年美國威斯康辛大學(University of Wisconsin)垂直研究小組(Vertical Research Group,VRG)所做的一項研究結果。
報告作者之一Vijayaraghavan 表示,該研究是到目前為止針對三大處理器架構──英特爾(Intel) x86架構、ARM處理器以及現(xiàn)屬于Imagination 的MIPS處理器──的設計、實作等所有角度的最完整分析。“雖然在過去,RISC與CISC指令集架構也許有一些差異,但我們鎖定的參數(shù)──性能(performance)、功耗(power)與能源效益(energy)現(xiàn)在肯定沒有?!绷硪晃粓蟾孀髡逽ankaralingam 表示:“ISA缺乏的地方,微架構就會補強它,反之亦然?!?/p>
RISC、CISC指令集架構研究所采用的處理器平臺
Sankaralingam指出,現(xiàn)在只有一種處理器是真正的RISC架構──MIPS,是以美國史丹佛大學開發(fā)的RISC架構為基礎;至于x86處理器架構一開始是純CISC設計,但過去幾年來越來越朝類RISC結構發(fā)展。ARM處理器架構近似RISC,但采用更多CISC功能,包括增加的Thumb 1與Thumb 2指令集架構。
他表示:“所以我們的研究基本上是在目前的市場環(huán)境,比較今日的Intel、ARM與MIPS處理器;幾乎每一個我們的量測結果,都與指令集架構無關?!币酝谋容^研究會因為處理器系統(tǒng)的軟體與硬體資源不同而有缺陷,但VRG團隊盡力確保其量測是在條件幾乎相同的平臺與同等的環(huán)境中完成,為了區(qū)分出實作與ISA效果,他們盡可能讓所使用的各種ISA晶片,都具備類似的微架構。
此研究將比較樣本局限在ARM Cortex-A8或更高等級的處理器,較不注重Cortex-M系列元件;Sankaralingam解釋:“原因很簡單,我們的目標之一是要有能比較與量化的平臺,因此我們沒必要去看A9以下的處理器,以及相對應的競爭架構?!痹贑ortex-M0的環(huán)境下,ARM是與1~20MHz與2~50mWatt的8位元MCU競爭,其運作是架高在x86指令集之上,不適用其研究。
該研究小組的評估,是以一顆MIP處理器(中國開發(fā)的龍芯- Loongson處理器)、三個ARM平臺(Cortex- A8、Cortex-A9與Cortex-A15),以及三個x86架構設計(Atom、Bobcat與Sandybridge i7)來進行;他們也使用了相同的作業(yè)系統(tǒng)──Linux 2.6 LTS,還有以gss 4.4為基礎的交叉編譯器前端(cross compiler front end)。
在行動裝置客戶端的工作負載方面,他們使用CoreMark與Webkit性能基準;在桌上型應用方面,則是采用SPECCPU2006基準。至于伺服器工作負載的性能基準,則是使用包括lightpd與CLucerne等性能基準。
RISC、CISC指令集架構研究的發(fā)現(xiàn)
研究所采用的實作樣本,包括不同ISA以及相同ISA、不同微架構;Sankaralingam表示:“整體看來,我們選擇的平臺條件具備合理的平等,而且我們執(zhí)行了詳細的分析,分別得出各微架構與技術的效果。”
VRG團隊確實進行了處理器在執(zhí)行時間(execution time)、工作周期(cycle count)、指令數(shù)目(instruction count)、指令格式與結構(instruction format and mix)、微架構以及ISA對微架構影響的比較;功耗與能源效益的分析量測也很全面,包括平均功耗、平均技術獨立功耗(technology independent power),以及平均能源效益等等。
Sankaralingam表示,他們的報告結論是,雖然ISA與支援不同特殊應用(例如虛擬化、加速器、浮點運算..)的功耗與性能有關,但無論ISA是RISC或CISC,其實大都與今日成熟的微處理器設計領域沒有什么關系。“根據(jù)這項研究,開發(fā)工程師能簡單根據(jù)工程設計觀點,放心考慮針對不同性能等級最佳化的ARM、MIPS或x86處理器;”Sankaralingam指出:“不同ISA的能源效益基本上并沒有差別?!?/p>
如該報告最后一段所寫:“顯然數(shù)十年來的硬體與編譯器研發(fā),已經能有效掌握RISC與CISC架構,而且兩者在未來訴求節(jié)能的創(chuàng)新應用中擁有平等地位?!?/p>
評論