解析x86、ARM和MIPS三種主流晶片架構

文章推薦指數: 80 %
投票人數:10人

指令集可分為複雜指令集(CISC)和精簡指令集(RISC)兩部分,代表架構分別是x86、ARM和MIPS。

ARM RISC是為了提高處理器運行速度而設計的晶片體系,它的關鍵技術在於流水線操作即在一個時鐘周期里完成多條指令。

相較複雜指令集CISC而言,以RISC為架構體系的ARM指令集的指令格式統一、種類少、尋址方式少,簡單的指令意味著相應硬體線路可以儘量做到最佳化,從而提高執行速率。

因為指令集的精簡,所以許多工作必須組合簡單的指令,而針對複雜組合的工作便需要由編譯程序來執行。

而CISC體系的x86指令集因為硬體所提供的指令集較多,所以許多工作都能夠以一個或是數個指令來代替,編譯的工作因而減少了許多。

ARM指令集架構的主要特點:一是體積小、低功耗、低成本、高性能;二是大量使用寄存器且大多數數據操作都在寄存器中完成,指令執行速度更快;三是尋址方式靈活簡單,執行效率高;四是指令長度固定,可通過多流水線方式提高處理效率。

MIPS是高效精簡指令集計算機體系結構中的一種,與當前商業化最成功的ARM架構相比,MIPS的優勢主要有五點:一是早於ARM支持64bit指令和操作,截至目前MIPS已面向高中低端市場先後發布了P5600系列、I6400系列和M5100系列64位處理器架構,其中P5600、I6400單核性能分別達到3.5和3.0DMIPS/MHz,即單核每秒可處理350萬條和300萬條指令,超過ARM Cortex-A53 230萬條/秒的處理速度;二是MIPS有專門的除法器,可以執行除法指令;三是MIPS的內核寄存器比ARM多一倍,在同樣的性能下MIPS的功耗會比 ARM更低,同樣功耗下性能比ARM更高;四是MIPS指令比ARM稍微多一些,執行部分運算更為靈活;五是MIPS在架構授權方面更為開放,允許授權商自行更改設計,如更多核的設計。

同時,MIPS架構也存在一些不足之處:一是MIPS的內存地址起始有問題,這導致了MIPS在內存和cache的支持方面都有限制,即MIPS單內核無法面對高容量內存配置;二是MIPS技術演進方向是並行線程,類似INTEL的超線程,而ARM未來的發展方向是物理多核,從目前核心移動設備的發展趨勢來看物理多核占據了上風;三是MIPS雖然結構更加簡單,但是到現在還是順序單/雙發射,ARM則已經進化到了亂序雙/三發射,執行指令流水線周期遠不如ARM高效;四是MIPS學院派發展風格導致其商業進程遠遠滯後於ARM,當ARM與高通、蘋果、NVIDIA等晶片設計公司合作大舉進攻移動終端的時候,MIPS還停留在高清盒子、印表機等小眾市場產品中;五是MIPS自身系統的軟體平台也較為落後,應用軟體與ARM體系相比要少很多。

x86 CISC是一種為了便於編程和提高記憶體訪問效率的晶片設計體系,包括兩大主要特點:一是使用微代碼,指令集可以直接在微代碼記憶體里執行,新設計的處理器,只需增加較少的電晶體就可以執行同樣的指令集,也可以很快地編寫新的指令集程式;二是擁有龐大的指令集,x86擁有包括雙運算元格式、寄存器到寄存器、寄存器到記憶體以及記憶體到寄存器的多種指令類型,為實現複雜操作,微處理器除向程式設計師提供類似各種寄存器和機器指令功能外,還通過存於只讀存儲器(ROM)中的微程序來實現極強的功能,微處理器在分析完每一條指令之後執行一系列初級指令運算來完成所需的功能。

x86指令體系的優勢體現在能夠有效縮短新指令的微代碼設計時間,允許實現CISC體系機器的向上兼容,新的系統可以使用一個包含早期系統的指令集合。

另外微程式指令的格式與高階語言相匹配,因而編譯器並不一定要重新編寫。

相較ARM RISC指令體系,其缺點主要包括四個方面。

第一,通用寄存器規模小,x86指令集只有8個通用寄存器,CPU大多數時間是在訪問存儲器中的數據,影響整個系統的執行速度。

而RISC系統往往具有非常多的通用寄存器,並採用了重疊寄存器窗口和寄存器堆等技術,使寄存器資源得到充分的利用。

第二,解碼器影響性能表現,解碼器的作用是把長度不定的x86指令轉換為長度固定的類似於RISC的指令,並交給RISC內核。

解碼分為硬體解碼和微解碼,對於簡單的x86指令只要硬體解碼即可,速度較快,而遇到複雜的x86指令則需要進行微解碼,並把它分成若干條簡單指令,速度較慢且很複雜。

第三,x86指令集尋址範圍小,約束用戶需要。

第四,x86 CISC單個指令長度不同,運算能力強大,不過相對來說結構複雜,很難將CISC全部硬體集成在一顆晶片上。

而ARM RISC單個指令長度固定,只包含使用頻率最高的少量指令,性能一般但結構簡單,執行效率穩定。

「夸克微小,卻能成就偉大,因為有你。

請關注英特爾Quark開發者俱樂部微信公共號intelquark。


請為這篇文章評分?


相關文章 

RISC和CISC指令集對晶片性能影響重要嗎?

我們看科技新聞的時候經常會看到指令集三個字,這是什麼?又該如何理解呢?對晶片會有什麼樣的影響呢?這裡我們就來簡單說一說。 大家都知道電腦是靠晶片來執行命令和運算的,而晶片的本質是一堆電晶體並不認...

繼續掀裙子看真相之能跑linux的那些cpu

這個中秋節,程式設計師可能都過得不夠好,大家都在關注阿里搶月全事件,開始是笑,最後笑出了淚。我們傳大的程式設計師,既然讓小小的HR給黑了,扣了一頂腐敗的大帽子。筆者覺得,寫個腳本在網頁刷按鈕這...

性能更強的SPARC和Power為啥鬥不過x86

相比x86,IBM的Power架構和Sun的SPARC架構都曾有著很明顯的性能優勢。但時至今日,已經接近40歲的x86架構占據了超過90%的伺服器市場。根源來看,是由於封閉系統和企業屬性不符,盲...

實用乾貨:關於處理器ARM知識匯總

基於鼎易鴻基&萬酷電子的掃描槍產品採用的處理器都是ARM32-bit,所以今天我們來簡單探討下關於ARM處理器的相關知識,歡迎各路大神指點交流。【ARM處理器簡介】ARM處理器是一種低能耗高性能...