新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MIPS架構與ARM架構

MIPS架構與ARM架構

作者: 時間:2016-11-09 來源:網(wǎng)絡 收藏
這兩個都是小型設備的處理器架構。MIPS架構的處理器多用在網(wǎng)關、貓、機頂盒什么的。ARM處理器用在便攜設備,智能手機。這兩個東西的市場幾乎很少重疊,因此也談不上對比。

普通用戶關注MIPS主要還是因為我國所謂的”龍芯“。龍芯一開始抄襲MIPS,后來購買到了授權。倒也并非龍芯不想發(fā)展X86架構的桌面CPU市場或者ARM架構的移動設備市場,是因為這兩家的授權太過于苛刻。X86的授權Intel已然不可能再授權。ARM是一家芯片設計公司,只能給出使用授權,不會同意讓龍芯自行設計。只有MIPS才可行,MIPS的授權說白了就是隨便抄隨便改。

本文引用地址:http://m.butianyuan.cn/article/201611/317798.htm

很多龍芯的支持者提出了MIPS在理論上有諸多的領先,但不要忘了ARM是一家商業(yè)公司,市場占有率高,競爭意識也非常強。幾乎所有的智能手機都是ARM架構,就是最有力的證明。

1.流水線結構 pipeline
– MIPS 是最簡單的體系結構之一,所以使大學喜歡選擇 MIPS 體系結構來介紹計算體系結構課程。
– ARM has barrel shifter
shifter是兩面性的,一方面它可以提高數(shù)學邏輯運算速度,另一方面它也增加了硬件的復雜性。所以和可以完成同樣功能的adder/shift register相比,效率更高,但是也占用更多的芯片面積。
– MIPS have “branch delay slot” and “load delay slot”
MIPS使用編譯器來解決上面的兩個問題。因為MIPS最初的設計思想就是使用簡單的RISC硬體,然后靠編譯器及其他軟體技術,來達成RISC的完整概念。

2.指令結構 instruction
– MIPS have 32bit and 64bit architecture,but ARM only have 32bit architecture
ARM11 局部64位
– MIPS是開放式的架構,用戶可以在開發(fā)的內(nèi)核中加入自己的指令,
– ARM has 4-bit condition code in every instruction
ARM 在這一點很像x86。MIPS在MIPS IV也加入”conditional move”指令,來提高pipeline的效率。
– ARM has pre- and post-increment addressing modes
auto-increment/decrement on load/store instructions
– 在節(jié)省代碼空間方面,MIPS16 很類似ARM Thumb

3.寄存器 register
-由于MIPS內(nèi)核中有32個寄存器(Register),而ARM只有16個,這種結構設計上的先天優(yōu)勢,決定了在同等性能表現(xiàn)下,MIPS的芯片面積和功耗會更小。
– ARM 有一組特殊用途寄存器cp0-cp15,可以使用MCR,MRC等指令控制;相對應的,MIPS也有cp0 0-30,使用mfc0,mtc0 指令控制。

– Register banking in ARM. r8-r12 FIQ mode;r13:SP r14:LR
感覺不出banked register有什么好處。

– MIPS has a hard-wired-to-zero register ,but ARM not
MIPS use register $0 for Zero

4.地址空間 address space
– MIPS 起始地址是0xbfc00000,會有4Mbyte的大小限制,但一般MIPS芯片都會采取一些方法解決這個問題。
ARM沒有這種問題。
MIPS24K 起始地址改到了0xbf000000,現(xiàn)在有16Mbyte的空間了。

– MIPS don’t have to turn paging on to enable the cache.
MIPS have the address space for both cache and un-cache
but ARM need enable/disable cache

5.功能 function
– Float point: MIPS64 has.
ARM’s support for FP is limited, and usually not included, and it is a 32 bit architecture
– ARM use JTAG,MIPS use EJTAG。Debug工具一般兩種都支持。使用起來感覺差不多。

6.性能 performance
– 具體性能比較,因為差異性太大,所以很難分出誰好誰壞。從個人經(jīng)驗來講 MIPS4k和ARM9基本上是同一個級別的,但ARM9性能似乎要比MIPS4K好。
同樣是32bit的MIPS24K性能上比MIPS4K有很大提升,也應該比ARM9要好些。
因為沒有用過ARM11和MIPS34K的芯片,沒法比較,但感覺這兩個似乎是一個級別的。
Cortex-A8和 MIPS 74K都是最新的設計,應該性能也差不多。

7.應用
– 在1000MHz以上的應用,很難找到采用ARM架構的產(chǎn)品。
MIPS架構用在200MHz或者是266MHz以下的應用比較少,而這恰恰是ARM的主攻市場。
– ARM 由于功耗小,普遍用在在手機/PDA等便攜式消費電子領域; MIPS 在住宅網(wǎng)關、線纜調(diào)制解調(diào)器、線纜機頂盒等,由于MIPS 多核的發(fā)展,現(xiàn)在大型網(wǎng)關設備也多用它。
– ARM 采用硬核授權;MIPS 采用軟核授權,用戶可以自己配置,做自己的產(chǎn)品。

8.未來發(fā)展
– ARM的下一代走向多內(nèi)核結構,而MIPS公司的下一代核心則轉(zhuǎn)向硬件多線程功能(multithreading)
MIPS 的multi-threading 很類似Intel 的 HyperThreading技術。從現(xiàn)在的發(fā)展來看,多內(nèi)核占上風。
2008.12.21: 其實今天看來,也不好妄自評論孰好孰壞,雖說, HT技術在intel上發(fā)展并不好(已經(jīng)基本被dual core)代替,但是并不能推斷說MT在MIPS上就發(fā)展不好,畢竟mips的應用場合多是嵌入式領域,而MT的功耗小芯片面積小的優(yōu)勢正好能發(fā)揮作用。
2008.12.29: MIPS也并不是只有multithreading, 其實現(xiàn)在很多的MIPS cpu的廠商都有multi-core的mips cpu在出,比如cavium, broadcom, infineon,國內(nèi)的龍芯也有多核的產(chǎn)品。
2009.6.11: MIPS的多核發(fā)展顯然比ARM要好。從 Cavium,RMI,公司的產(chǎn)品大量的應用便可見一斑。

9.總結
自己感覺ARM和MIPS在一開始的RISC的設計上有很多不同,但隨著技術的發(fā)展,各自揚長避短,好的技術大家都會使用。比如ARM11和MIPS R1000就使用了很多一樣的技術。感覺RISC做到了極至就都一樣了。

精簡指令集編輯risc一般指精簡指令集

本詞條缺少信息欄,補充相關內(nèi)容使詞條更完整,還能快速升級,趕緊來編輯吧!

RISC的英文全稱是Reduced Instruction Set Computer,中文是精簡指令集計算機。特點是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水線技術。在中高檔服務器中采用RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的PowerPC、MIPS公司的MIPS和SUN公司的Sparc。

目錄

  • 1簡介

  • 2發(fā)展背景

  • 發(fā)展分歧

  • 提出原由

  • 3優(yōu)勢

  • 4特征

  • 5結構特點

  • 6發(fā)展前景

1簡介編輯

精簡指令集,是計算機中央處理器的一種設計模式,也被稱為RISC(Reduced Instruction Set Computer的縮寫)。[1] 這種設計思路對指令數(shù)目和尋址方式都做了精簡,使其實現(xiàn)更容易,指令并行執(zhí)行程度更好,編譯器的效率更高。常用的精簡指令集微處理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。這種設計思路最早的產(chǎn)生緣自于有人發(fā)現(xiàn),盡管傳統(tǒng)處理器設計了許多特性讓代碼編寫更加便捷,但這些復雜特性需要幾個指令周期才能實現(xiàn),并且常常不被運行程序所采用。此外,處理器和主內(nèi)存之間運行速度的差別也變得越來越大。在這些因素促使下,出現(xiàn)了一系列新技術,使處理器的指令得以流水執(zhí)行,同時降低處理器訪問內(nèi)存的次數(shù)。早期,這種指令集的特點是指令數(shù)目少,每條指令都采用標準字長、執(zhí)行時間短、中央處理器的實現(xiàn)細節(jié)對于機器級程序是可見的。

2發(fā)展背景編輯

在早期的計算機業(yè)中,編譯器技術尚未出現(xiàn)。程序是以機器語言或匯編語言完成的。為了便于編寫程序,計算機架構師造出越來越復雜的指令,可以高階程序語言直接陳述高階功能。當時的看法是硬件比編譯器更易設計,所以復雜的東西就加進硬件了。

加速復雜化的其它因素是缺乏大內(nèi)存。內(nèi)存小的環(huán)境中,具有極高訊息密度的程序較有利。當內(nèi)存中的每一字節(jié)如此珍貴,例如儲存某個完整系統(tǒng)只需幾千字節(jié),它使產(chǎn)業(yè)移向高度編碼的指令、長度不等的指令、執(zhí)行多個操作的指令,和執(zhí)行數(shù)據(jù)傳輸與計算的指令。當時指令封包問題遠比易解的指令重要。

那時使用磁性技術,內(nèi)存不僅小,而且很慢。這是維持極高訊息密度的其它原因。借著具有極高訊息密度封包,當必須存取慢速資源時可以降低頻率。

CPU只有少數(shù)緩存器的兩個原因︰

CPU內(nèi)部緩存器遠貴于外部內(nèi)存。以當時的集成電路技術水準,大緩存器集對芯片或電路板區(qū)域只是多余的浪費。

具有大數(shù)量的緩存器將需要大數(shù)量的指令位(使用珍貴的RAM)以做為緩存器指定器。

基于上述原因,CPU設計師試著令指令盡可能做更多的工作。這導致一個指令將做全部的工作︰讀入兩個數(shù)字,相加,并且直接在內(nèi)存儲存計算結果。其它版本將從內(nèi)存讀取兩個數(shù)字,但計算結果儲存在緩存器。另一個版本將從內(nèi)存和緩存器各讀一個數(shù)字,并再次存入內(nèi)存。以此類推。這種處理器設計原理最終成為復雜指令集(CISC)。

當時的目標是給所有的指令提供所有的尋址模式,此稱為「正交性」。這在 CPU 上導致了一些復雜性,但就理論上每個可能的命令都可以單獨的調(diào)試(調(diào)用,be tuned),這樣使得程序員能夠比用簡單的命令來得更快速。

這類的設計最終可以由光譜的兩端來表達, 6502 在光譜的一端,而 VAX 在光譜的另一端。單價25美元的 1MHz 6502 芯片只有單一的通用緩存器, 但它的極精簡的單周期內(nèi)存界面(single-cycle memory interface)讓一個位的操作效能和更高頻率設計幾乎相同,例如 4MHz Zilog Z80 在使用相同慢速的記憶芯片下(大約近似 300ns)。

發(fā)展分歧

在計算機指令系統(tǒng)的優(yōu)化發(fā)展過程中,出現(xiàn)過兩個截然不同的優(yōu)化方向:CISC技術和RISC技術。CISC是指復雜指令系統(tǒng)計算機(Complex Instruction Set Computer);RISC是指精減指令系統(tǒng)計算機(Reduced Instruction Set Computer)。這里的計算機指令系統(tǒng)指的是計算機的最低層的機器指令,也就是CPU能夠直接識別的指令。隨著計算機系統(tǒng)的復雜,要求計算機指令系統(tǒng)的構造能使計算機的整體性能更快更穩(wěn)定。最初,人們采用的優(yōu)化方法是通過設置一些功能復雜的指令,把一些原來由軟件實現(xiàn)的、常用的功能改用硬件的指令系統(tǒng)實現(xiàn),以此來提高計算機的執(zhí)行速度,這種計算機系統(tǒng)就被稱為復雜指令系統(tǒng)計算機,即Complex Instruction Set Computer,簡稱CISC。另一種優(yōu)化方法是在20世紀80年代才發(fā)展起來的,其基本思想是盡量簡化計算機指令功能,只保留那些功能簡單、能在一個節(jié)拍內(nèi)執(zhí)行完成的指令,而把較復雜的功能用一段子程序來實現(xiàn),這種計算機系統(tǒng)就被稱為精簡指令系統(tǒng)計算機.即Reduced Instruction Set Computer,簡稱RISC。RISC技術的精華就是通過簡化計算機指令功能,使指令的平均執(zhí)行周期減少,從而提高計算機的工作主頻,同時大量使用通用寄存器來提高子程序執(zhí)行的速度

提出原由

IBM公司設在紐約Yorktown的JhomasI.Wason研究中心于1975年組織力量研究指令系統(tǒng)的合理性問題.因為當時已感到,日趨龐雜的指令系統(tǒng)不但不易實現(xiàn).而且還可能降低系統(tǒng)性能.1979年以帕特遜教授為首的一批科學家也開始在美國加州大學伯克萊分校開展這一研究.結果表明,CISC存在許多缺點.首先.在這種計算機中.各種指令的使用率相差懸殊:一個典型程序的運算過程所使用的80%指令.只占一個處理器指令系統(tǒng)的20%.事實上最頻繁使用的指令是取、存和加這些最簡單的指令.這樣-來,長期致力于復雜指令系統(tǒng)的設計,實際上是在設計一種難得在實踐中用得上的指令系統(tǒng)的處理器.同時.復雜的指令系統(tǒng)必然帶來結構的復雜性.這不但增加了設計的時間與成本還容易造成設計失誤.此外.盡管VLSI技術現(xiàn)在已達到很高的水平,但也很難把CISC的全部硬件做在一個芯片上,這也妨礙單片計算機的發(fā)展.在CISC中,許多復雜指令需要極復雜的操作,這類指令多數(shù)是某種高級語言的直接翻版,因而通用性差.由于采用二級的微碼執(zhí)行方式,它也降低那些被頻繁調(diào)用的簡單指令系統(tǒng)的運行速度.因而.針對CISC的這些弊?。撂剡d等人提出了精簡指令的設想即指令系統(tǒng)應當只包含那些使用頻率很高的少量指令.并提供一些必要的指令以支持操作系統(tǒng)和高級語言.按照這個原則發(fā)展而成的計算機被稱為精簡指令集計算機(ReducedInstructionSetComputer-RISC)結構.簡稱RISC.

3優(yōu)勢編輯

RISC和CISC是設計制造微處理器的兩種典型技術,雖然它們都是試圖

在體系結構、操作運行、軟件硬件、編譯時間和運行時間等諸多因素中做出某種平衡,以求達到高效的目的,但采用的方法不同,因此,在很多方面差異很大,它們主要有:

(1)指令系統(tǒng):RISC設計者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC機器上實現(xiàn)特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。而CISC計算機的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。

(2)存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機器的存儲器操作指令多,操作直接。

(3)程序:RISC匯編語言程序一般需要較大的內(nèi)存空間,實現(xiàn)特殊功能時程序復雜,不易設計;而CISC匯編語言程序編程相對簡單,科學計算及復雜操作的程序設計相對容易,效率較高。

(4)中斷:RISC機器在一條指令執(zhí)行的適當?shù)胤娇梢皂憫袛?,但是相比CISC指令執(zhí)行的時間短,所以中斷響應及時;而CISC機器是在一條指令執(zhí)行結束后響應中斷。

(5)CPU:RISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強、面積大、功耗大。

(6)設計周期:RISC微處理器結構簡單,布局緊湊,設計周期短,且易于采用最新技術;CISC微處理器結構復雜,設計周期長。

(7)用戶使用:RISC微處理器結構簡單,指令規(guī)整,性能容易把握,易學易用;CISC微處理器結構復雜,功能強大,實現(xiàn)特殊功能容易。

(8)應用范圍:由于RISC指令系統(tǒng)的確定與特定的應用領域有關,故RISC機器更適合于專用機;而CISC機器則更適合于通用機。

4特征編輯

統(tǒng)一指令編碼(例如,所有指令中的op-code永遠位于同樣的位位置、等長指令),可快速解譯︰

泛用的緩存器,所有緩存器可用于所有內(nèi)容,以及編譯器設計的單純化(不過緩存器中區(qū)分了整數(shù)和浮點數(shù));

單純的尋址模式(復雜尋址模式以簡單計算指令序列取代);

硬件中支持少數(shù)數(shù)據(jù)型別(例如,一些CISC計算機中存有處理字節(jié)字符串的指令。這在RISC計算機中不太可能出現(xiàn))。

RISC設計上同時也有哈佛內(nèi)存模塊特色,凡指令流和數(shù)據(jù)流在概念上分開;這意味著更改代碼存在的內(nèi)存地址對處理器執(zhí)行過的指令沒有影響(因為CPU有著獨立的指令和數(shù)據(jù)緩存),至少在特殊的同步指令發(fā)出前。在另一面,這允許指令緩存和數(shù)據(jù)緩存同時被訪問,通常能改進運行效率。

許多早期的RISC設計同樣共享著不好的副作用——轉(zhuǎn)移延時槽,轉(zhuǎn)移延時槽是指一個跳轉(zhuǎn)或轉(zhuǎn)移指令之后的指令空間。無論轉(zhuǎn)移是否發(fā)生,空間中的指令將被執(zhí)行(或者說是轉(zhuǎn)移效果被延遲)。這些指令讓CPU的算術和邏輯單元(ALU)繁忙比通常執(zhí)行轉(zhuǎn)移所需更多的時間。現(xiàn)在轉(zhuǎn)移延時槽被認為是實現(xiàn)特定RISC設計的副作用,現(xiàn)代的RISC設計通常避免了這個問題(如PowerPC,最近的SPARC版本,MIPS)。

5結構特點編輯

RISC是簡化指令集計算機的簡略縮寫,其風格是強調(diào)計算機結構的簡單性和高效性。RISC設計是從足夠的不可缺少的指令集開始的。它的速度比那些具有傳統(tǒng)復雜指令組計算機結構的機器快得多,而且RISC機由于其較簡潔的設計,較易使用,故具有更短的研制開發(fā)周期。RISC結構一般具有如下的一些特點:

①單周期的執(zhí)行:它統(tǒng)一用單周期指令。從根本上克服了CISC指令周期數(shù)有長有短,造成運行中偶發(fā)性不確定,致使運行失常的問題。

②采用高效的流水線操作:使指令在流水線中并行地操作,從而提高處理數(shù)據(jù)和指令的速度。

③無微代碼的硬連線控制:微代碼的使用會增加復雜性和每條指令的執(zhí)行周期。

④指令格式的規(guī)格化和簡單化:為與流水線結構相適應且提高流水線的效率,指令的格式必須趨于簡單和固定的規(guī)式。比如指令采用16位或32位的固定的長度,并且指令中的操作碼字段、操作數(shù)字段都盡可能具有統(tǒng)一的格式。此外,盡量減少尋址方式,從而使硬件邏輯部件簡化且縮短譯碼時間,同時也提高了機器執(zhí)行效率和可靠性。

⑤采用面向寄存器堆的指令:RISC結構采用大量的寄存器——寄存器操作指令,使指令系統(tǒng)更為精簡??刂撇考鼮楹喕?,指令執(zhí)行速度大大提高。由于VLSI技術的迅速發(fā)展,使得在一個芯片上做大量的寄存器成為可能。這也促成了RISC結構的實現(xiàn)。

⑥采用裝入/存儲指令結構:在CISC結構中。大量設置存儲器——存儲器操作指令,頻繁地訪問內(nèi)存,將會使執(zhí)行速度降低。RISC結構的指令系統(tǒng)中,只有裝入/存儲指令可以訪問內(nèi)存,而其它指令均在寄存器之間對數(shù)據(jù)進行處理。用裝入指令從內(nèi)存中將數(shù)據(jù)取出,送到寄存器;在寄存器之間對數(shù)據(jù)進行快速處理,并將它暫存在那里,以便再有需要時。不必再次訪問內(nèi)存。在適當?shù)臅r候,使用一條存儲指令再將這個數(shù)據(jù)送回內(nèi)存。采用這種方法可以提高指令執(zhí)行的速度。

⑦注重編譯的優(yōu)化,力求有效地支撐高級語言程序。

通常使用的單片機中,MCS一51系列的單片機屬于CISC的體系結構;AVR系列的單片機則屬于RISC的體系結構。

6發(fā)展前景編輯

鑒于RISC的設計特點以及其無可比擬的優(yōu)點,RISC體系結構處理器的發(fā)展方向:

650) this.width=650;" class="lazy-img" alt="" src="http://f.hiphotos.baidu.com/baike/s%3D220/sign=28bdb2601038534388cf8023a312b01f/9c16fdfaaf51f3dea918f86894eef01f3a297917.jpg" style="border:0px;background-image:url("http://img.baidu.com/img/baike/img-loading.gif");background-color:transparent;width:220px;height:130px;background-position:50% 50%;" />擴展指令集

是增加處理器的并行性;

二是擴展支持可伸縮并行計算機系統(tǒng)的功能;

三是提高工藝水平。最終RISC與DSP在嵌入式應用中完美融合,密不可分。

RISC微處理器不僅精簡了指令系統(tǒng),采用超標量和超流水線結構;它們的指令數(shù)目只有幾十條,卻大大增強了并行處理能力。如:1987年SunMicrosystem公司推出的SPARC芯片就是一種超標量結構的RISC處理器。而SGI公司推出的MIPS處理器則采用超流水線結構,這些RISC處理器在構建并行精簡指令系統(tǒng)多處理機中起著核心的作用。RISC處理器是當今UNIX領域64位多處理機的主流芯片。

性能特點

性能特點一:由于指令集簡化后,流水線以及常用指令均可用硬件執(zhí)行;

性能特點二:采用大量的寄存器,使大部分指令操作都在寄存器之間進行,提高了處理速度;

性能特點三:采用緩存—主機—外存三級存儲結構,使取數(shù)與存數(shù)指令分開執(zhí)行,使處理器可以完成盡可能多的工作,且不因從存儲器存取信息而放慢處理速度。

應用特點

由于RISC處理器指令簡單、采用硬布線控制邏輯、處理能力強、速度快,世界上絕大部分UNIX工作站和服務器廠商均采用RISC芯片作CPU用。如原DEC的Alpha21364、IBM的PowerPCG4、HP的PA—8900、SGI的R12000A和SUNMicrosystem公司的UltraSPARC║。

運行特點

RISC芯片的工作頻率一般在400MHZ數(shù)量級。時鐘頻率低,功率消耗少,溫升也少,機器不易發(fā)生故障和老化,提高了系統(tǒng)的可靠性。單一指令周期容納多部并行操作。在RISC微處理器發(fā)展過程中。曾產(chǎn)生了超長指令字(VLIW)微處理器,它使用非常長的指令組合,把許多條指令連在一起,以能并行執(zhí)行。VLIW處理器的基本模型是標量代碼的執(zhí)行模型,使每個機器周期內(nèi)有多個操作。有些RISC處理器中也采用少數(shù)VLIW指令來提高處理速度。



關鍵詞: MIPS架構ARM架

評論


技術專區(qū)

關閉