<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM指令集和X86指令集的比較

ARM指令集和X86指令集的比較

作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò ) 收藏
一、背景知識:

指令的強弱是CPU的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為復雜指令集(CISC)和精簡(jiǎn)指令集(RISC)兩部分。

本文引用地址:http://dyxdggzs.com/article/201611/317901.htm

相應的,微處理隨著(zhù)微指令的復雜度也可分為CISC及RISC這兩類(lèi)。

CISC

是一種為了便于編程和提高記憶體訪(fǎng)問(wèn)效率的晶片設計體系。在20世紀90年代中期之前,大多數的微處理器都采用CISC體系──包括Intel的80x86和Motorola的68K系列等。 即通常所說(shuō)的X86架構就是屬于CISC體系的。

RISC

是為了提高處理器運行的速度而設計的晶片體系。它的關(guān)鍵技術(shù)在于流水線(xiàn)操作(Pipelining):在一個(gè)時(shí)鐘周期里完成多條指令。而超流水線(xiàn)以及超標量技術(shù)已普遍在晶片設計中使用。RISC體系多用于非x86陣營(yíng)高性能微處理器CPU。像HOLTEK MCU系列等。

ARM(Advanced RISC Machines),既可以認為是一個(gè)公司的名字,也可以認為是對一類(lèi)微處理器的通稱(chēng),還可以認為是一種技術(shù)的名字。而ARM體系結構目前被公認為是業(yè)界領(lǐng)先的32位嵌入式RISC微處理器結構。所有ARM處理器共享這一體系結構。

因此我們可以從其所屬體系比較入手,來(lái)進(jìn)行X86指令集ARM指令集的比較。

二、CISC和RISC的比較

(一)

CISC

1

.CISC體系的指令特征

使用微代碼。

指令集可以直接在微代碼記憶體(比主記憶體的速度快很多)里執行,新設計的處理器,只需增加較少的電晶體就可以執行同樣的指令集,也可以很快地編寫(xiě)新的指令集程式。

龐大的指令集。

可以減少編程所需要的代碼行數,減輕程式師的負擔。高階語(yǔ)言對應的指令集:包括雙運算元格式、寄存器到寄存器、寄存器到記憶體以及記憶體到寄存器的指令。

2

.CISC體系的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

能夠有效縮短新指令的微代碼設計時(shí)間,允許設計師實(shí)現CISC體系機器的向上相容。新的系統可以使用一個(gè)包含早期系統的指令超集合,也就可以使用較早電腦上使用的相同軟體。另外微程式指令的格式與高階語(yǔ)言相匹配,因而編譯器并不一定要重新編寫(xiě)。

缺點(diǎn):

指令集以及晶片的設計比上一代產(chǎn)品更復雜,不同的指令,需要不同的時(shí)鐘周期來(lái)完成,執行較慢的指令,將影響整臺機器的執行效率。

(二)RISC

1

.RISC體系的指令特征

精簡(jiǎn)指令集:

包含了簡(jiǎn)單、基本的指令,透過(guò)這些簡(jiǎn)單、基本的指令,就可以組合成復雜指令。

同樣長(cháng)度的指令:

每條指令的長(cháng)度都是相同的,可以在一個(gè)單獨操作里完成。

單機器周期指令:

大多數的指令都可以在一個(gè)機器周期里完成,并且允許處理器在同一時(shí)間內執行一系列的指令。

2

.RISC體系的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

在使用相同的晶片技術(shù)和相同運行時(shí)鐘下,RISC系統的運行速度將是CISC的2~4倍。由于RISC處理器的指令集是精簡(jiǎn)的,它的記憶體管理單元、浮點(diǎn)單元等都能設計在同一塊晶片上。RISC處理器比相對應的CISC處理器設計更簡(jiǎn)單,所需要的時(shí)間將變得更短,并可以比CISC處理器應用更多先進(jìn)的技術(shù),開(kāi)發(fā)更快的下一代處理器。

缺點(diǎn):

多指令的操作使得程式開(kāi)發(fā)者必須小心地選用合適的編譯器,而且編寫(xiě)的代碼量會(huì )變得非常大。另外就是RISC體系的處理器需要更快記憶體,這通常都集成于處理器內部,就是L1 Cache(一級緩存)。

綜合上面所述,若要再進(jìn)一步比較CISC與RISC之差異,可以由以下幾點(diǎn)來(lái)進(jìn)行分析:

1、指令的形成

CISC

因指令復雜,故采微指令碼控制單元的設計,而RISC的指令90%是由硬體直接完成,只有10%的指令是由軟體以組合的方式完成,因此指令執行時(shí)間上RISC較短,但RISC所須ROM空間相對的比較大,至于RAM使用大小應該與程序的應用比較有關(guān)系。

2、定址模式

CISC

的需要較多的定址模式,而RISC只有少數的定址模式,因此CPU在計算記憶體有效位址時(shí),CISC占用的匯流排周期較多。

3、指令的執行

CISC

指令的格式長(cháng)短不一,執行時(shí)的周期次數也不統一,而RISC結構剛好相反,故適合采用管線(xiàn)處理架構的設計,進(jìn)而可以達到平均一周期完成一指令的方向努力。顯然的,在設計上RISC較CISC簡(jiǎn)單,同時(shí)因為CISC的執行步驟過(guò)多,閑置的單元電路等待時(shí)間增長(cháng),不利于平行處理的設計,所以就效能而言RISC較CISC還是站了上風(fēng),但RISC因指令精簡(jiǎn)化后造成應用程式碼變大,需要較大的程式記憶體空間,且存在指令種類(lèi)較多等等的缺點(diǎn)。

(三)X86指令集和ARM指令集:

(1) X86指令集:

X86

指令集是Intel為其第一塊16位CPU(i8086)專(zhuān)門(mén)開(kāi)發(fā)的,后來(lái)的電腦中為提高浮點(diǎn)數據處理能力而增加的X87芯片系列數學(xué)協(xié)處理器另外使用X87指令,以后就將X86指令集和X87指令集統稱(chēng)為X86指令集。雖然隨著(zhù)CPU技術(shù)的不斷發(fā)展,Intel陸續研制出更新型的i80386、i80486,但為了保證電腦能繼續運行以往開(kāi)發(fā)的各類(lèi)應用程序以保護和繼承豐富的軟件資源,所以Intel公司所生產(chǎn)的所有CPU仍然繼續使用X86指令集,所以它的CPU仍屬于X86系列。由于Intel X86系列及其兼容CPU都使用X86指令集,所以就形成了今天龐大的X86系列及兼容CPU陣容。

除了具備上述CISC的諸多特性外,X86指令集有以下幾個(gè)突出的缺點(diǎn):

l通用寄存器組————對CPU內核結構的影響

X86指令集只有8個(gè)通用寄存器。所以,CISC的CPU執行是大多數時(shí)間是在訪(fǎng)問(wèn)存儲器中的數據,而不是寄存器中的。這就拖慢了整個(gè)系統的速度。

RISC系統往往具有非常多的通用寄存器,并采用了重疊寄存器窗口和寄存器堆等技術(shù)使寄存器資源得到充分的利用。

l解碼————對CPU的外核的影響

解碼器(Decode Unit),這是x86CPU才有的東西。其作用是把長(cháng)度不定的x86指令轉換為長(cháng)度固定的類(lèi)似于RISC的指令,并交給RISC內核。解碼分為硬件解碼和微解碼,對于簡(jiǎn)單的x86指令只要硬件解碼即可,速度較快,而遇到復雜的x86指令則需要進(jìn)行微解碼,并把它分成若干條簡(jiǎn)單指令,速度較慢且很復雜。Athlon也好,PIII也好,老式的CISC的X86指令集嚴重制約了他們的性能表現。

l尋址范圍小——約束了用戶(hù)需要

即使AMD

研發(fā)出X86-64架構時(shí),雖然也解決了傳統X86固有的一些缺點(diǎn),比如尋址范圍的擴大,但這種改善并不能直接帶來(lái)性能上的提升。

(2)ARM指令集:

相比而言,以RISC為架構體系的ARM指令集的指令格式統一,種類(lèi)比較少,尋址方式也比復雜指令集少。當然處理速度就提高很多。ARM處理器都是所謂的精簡(jiǎn)指令集處理機(RISC)。

其所有指令都是利用一些簡(jiǎn)單的指令組成的,簡(jiǎn)單的指令意味著(zhù)相應硬件線(xiàn)路可以盡量做到最佳化,而提高執行速率,相對的使得一個(gè)指令所需的時(shí)間減到最短。

而因為指令集的精簡(jiǎn),所以許多工作都必須組合簡(jiǎn)單的指令,而針對較復雜組合的工作便需要由『編譯程式』(compiler)來(lái)執行,而CISC體系的X86指令集因為硬體所提供的指令集較多,所以許多工作都能夠以一個(gè)或是數個(gè)指令來(lái)代替,compiler的工作因而減少許多。

除了具備上述RISC的諸多特性之外,可以總結ARM指令集架構的其它一些特點(diǎn)如下:

lARM

的特點(diǎn)

1.體積小,低功耗,低成本,高性能

2.支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;

3.大量使用寄存器,指令執行速度更快;

4.大多數數據操作都在寄存器中完成;

5.尋址方式靈活簡(jiǎn)單,執行效率高;

6.指令長(cháng)度固定;

7.流水線(xiàn)處理方式

8.Load_store結構

lARM的一些非RISC

思想的指令架構:

1.允許一些特定指令的執行周期數字可變,以降低功耗,減小面積和代碼尺寸。

2.增加了桶形移位器來(lái)擴展某些指令的功能。

3.使用了16位的Thumb指令集來(lái)提高代碼密度。

4.使用條件執行指令來(lái)提高代碼密度和性能。

5.使用增強指令來(lái)實(shí)現數據信號處理的功能。

(四)小結:

因此,大量的復雜指令、可變的指令長(cháng)度、多種的尋址方式這些CISC的特點(diǎn),也是CISC的缺點(diǎn),因為這些都大大增加了解碼的難度,而在現在的高速硬件發(fā)展下,復雜指令所帶來(lái)的速度提升早已不及在解碼上浪費點(diǎn)的時(shí)間。除了個(gè)人PC市場(chǎng)還在用X86指令集外,服務(wù)器以及更大的系統都早已不用CISC了。x86仍然存在的理由就是為了兼容大量的x86平臺上的軟件,同時(shí),它的體系結構組成的實(shí)現不太困難。

而RISC體系的ARM指令最大特點(diǎn)是指令長(cháng)度固定,指令格式種類(lèi)少,尋址方式種類(lèi)少,大多數是簡(jiǎn)單指令且都能在一個(gè)時(shí)鐘周期內完成,易于設計超標量與流水線(xiàn),寄存器數量多,大量操作在寄存器之間進(jìn)行。優(yōu)點(diǎn)是不言而喻的,因此,ARM處理器才成為是當前最流行的處理器系列,是幾種主流的嵌入式處理體系結構之一。

RISC

目前正如日中天,Intel似乎也將最終拋棄x86而轉向RISC結構。

而實(shí)際上,隨著(zhù)RISC處理器在嵌入式領(lǐng)域中大放異彩,傳統的X86系列CISC處理器在Intel公司的積極改進(jìn)下也克服了功耗過(guò)高的問(wèn)題,成為一些高性能嵌入式設備的最佳選擇,發(fā)展到今天,CISC與RISC之間的界限已經(jīng)不再是那么涇渭分明,RISC自身的設計正在變得越來(lái)越復雜(當然并不是完全依著(zhù)CISC的思路變復雜),因為所有實(shí)際使用的CPU都需要不斷提高性能,所以在體系結構中加入新特點(diǎn)就在所難免。另一方面,原來(lái)被認為是CISC體系結構的處理器也吸收了許多RISC的優(yōu)點(diǎn),比如Pentium處理器在內部的實(shí)現中也是采用的RISC的架構,復雜的指令在內部由微碼分解為多條精簡(jiǎn)指令來(lái)運行,但是對于處理器外部來(lái)說(shuō),為了保持兼容性還是以CISC風(fēng)格的指令集展示出來(lái)。



關(guān)鍵詞: ARM指令集X86指令

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>