ARM-MIPS-X86三種典型指令集的簡(jiǎn)介及其特點(diǎn)_第1頁(yè)
ARM-MIPS-X86三種典型指令集的簡(jiǎn)介及其特點(diǎn)_第2頁(yè)
ARM-MIPS-X86三種典型指令集的簡(jiǎn)介及其特點(diǎn)_第3頁(yè)
ARM-MIPS-X86三種典型指令集的簡(jiǎn)介及其特點(diǎn)_第4頁(yè)
ARM-MIPS-X86三種典型指令集的簡(jiǎn)介及其特點(diǎn)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ARM、MIPS、X86三種典型指令集的特點(diǎn)20122261 梅亮亮1.ARM指令集1.1 ARM指令集的特點(diǎn):l 體積小,低功耗,低成本,高性能;l 支持 Thumb ( 16 位) /ARM ( 32 位)雙指令集,能很好的兼容 8 位 /16 位器件;l 大量使用寄存器,指令執(zhí)行速度更快;l 大多數(shù)數(shù)據(jù)操作都在寄存器中完成;l 尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;l 指令長(zhǎng)度固定;l 流水線處理方式l Load_store結(jié)構(gòu):在RISC中,所有的計(jì)算都要求在寄存器中完成。而寄存器和內(nèi)存的通信則由單獨(dú)的指令來(lái)完成。而在CSIC中,CPU是可以直接對(duì)內(nèi)存進(jìn)行操作的。 1.2 Thumb指令及應(yīng)用

2、Thumb指令集是ARM指令集的一個(gè)子集,所有的Thumb指令都有對(duì)應(yīng)的ARM指令。它舍棄了ARM指令集的一些特性 如大多數(shù)的Thumb指令是無(wú)條件執(zhí)行的,而幾乎所有的ARM指令都是有條件執(zhí)行的;大多數(shù)的Thumb數(shù)據(jù)處理指令的目的寄存器與其中一個(gè)源寄存器相同。 Thumb指令集在保留32代碼優(yōu)勢(shì)的同時(shí),大大的節(jié)省了系統(tǒng)的存儲(chǔ)空間。Thumb指令集中操作數(shù)仍然是32位,指令地址也為32位,指令編碼16位。 由于Thumb指令的長(zhǎng)度為16位,即只用ARM指令一半的位數(shù)來(lái)實(shí)現(xiàn)同樣的功能,所以,要實(shí)現(xiàn)特定的程序功能,所需的Thumb指令的條數(shù)較ARM指令多。1.2.1 Thumb指令優(yōu)勢(shì)與局限性優(yōu)勢(shì)

3、: Thumb代碼所需的存儲(chǔ)空間約為ARM代碼的6070 ; Thumb代碼使用的指令數(shù)比ARM代碼多約3040 ; 若使用32位的存儲(chǔ)器,ARM代碼比Thumb代碼快約40 ; 若使用16位的存儲(chǔ)器,Thumb代碼比ARM代碼快約4050; 與ARM代碼相比較,使用Thumb代碼,存儲(chǔ)器的功耗會(huì)降低約30。局限性: 條件跳轉(zhuǎn)限制在256byte 偏移范圍內(nèi),無(wú)條件跳轉(zhuǎn)限制為4K偏移范圍內(nèi),而ARM為32 Mbytes偏移 。它不支持乘法和累加指令;沒(méi)有協(xié)處理器指令;沒(méi)有信號(hào)量指令;沒(méi)有訪問(wèn)CPSR指令。1.3 對(duì)ARM指令的一些總結(jié)ARM指令集是32位的,程序的啟動(dòng)都是從ARM指令集開始,包

4、括所有異常中斷都是自動(dòng)轉(zhuǎn)化為ARM狀態(tài),并且所有的指令都可以是有條件執(zhí)行的。ARM指令集是Load/Store型的,只能通過(guò)Load/Store指令實(shí)現(xiàn)對(duì)系統(tǒng)存儲(chǔ)器的訪問(wèn),而其他的指令都是基于處理器內(nèi)部的寄存器操作完成的,這和INTEL匯編是不同的,剛接觸的人很不易理解。與x86相比,ARM采用的RISC體系最大特點(diǎn)是指令長(zhǎng)度固定,指令格式種類少,尋址方式種類少,大多數(shù)是簡(jiǎn)單指令且都能在一個(gè)時(shí)鐘周期內(nèi)完成,易于設(shè)計(jì)超標(biāo)量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進(jìn)行,因此有較快運(yùn)行速度。因此,ARM處理器才成為是當(dāng)前最流行的處理器系列,是幾種主流的嵌入式處理體系結(jié)構(gòu)之一。2.MIPS指令集2

5、.1 MIPS簡(jiǎn)介MIPS是高效精簡(jiǎn)指令集計(jì)算機(jī)(RISC)體系結(jié)構(gòu)中最優(yōu)雅的一種;即使連MIPS的競(jìng)爭(zhēng)對(duì)手也這樣認(rèn)為,這可以從MIPS對(duì)于后來(lái)研制的新型體系結(jié)構(gòu)比如DEC的Alpha和HP的Precision產(chǎn)生的強(qiáng)烈影響看出來(lái)。雖然自身的優(yōu)雅設(shè)計(jì)并不能保證在充滿競(jìng)爭(zhēng)的市場(chǎng)上長(zhǎng)盛不衰,但是MIPS微處理器卻經(jīng)常能在處理器的每個(gè)技術(shù)發(fā)展階段保持速度最快的同時(shí)保持設(shè)計(jì)的簡(jiǎn)潔。相對(duì)的簡(jiǎn)潔對(duì)于MIPS來(lái)說(shuō)是一種商業(yè)需要,MIPS起源于一個(gè)學(xué)術(shù)研究項(xiàng)目,該項(xiàng)目的設(shè)計(jì)小組連同幾個(gè)半導(dǎo)體廠商合伙人希望能制造出芯片并拿到市場(chǎng)上去賣。結(jié)果是該結(jié)構(gòu)得到了工業(yè)領(lǐng)域內(nèi)最大范圍的具有影響力的制造商們的支持。從生產(chǎn)專用

6、集成電路核心(ASIC Cores)的廠家(LSI Logic,Toshiba, Philips, NEC)到生產(chǎn)低成本CPU的廠家(NEC, Toshiba,和IDT),從低端64位處理器生產(chǎn)廠家(IDT, NKK, NEC)到高端64位處理器生產(chǎn)廠家(NEC, Toshiba和IDT).低端的CPU物理面積只有1.5平方毫米(在SOC系統(tǒng)里面肉眼很難找到).而高端的R10000處理器,第一次投放市場(chǎng)時(shí)可能是世界上最快的CPU,它的物理面積幾乎有1平方英寸,發(fā)熱近30瓦特.雖然MIPS看起來(lái)沒(méi)什么優(yōu)勢(shì),但是足夠的銷售量使其能健康發(fā)展:1997年面市的44M的MIPS CPU,絕大多數(shù)使用于嵌

7、入式應(yīng)用領(lǐng)域.MIPS CPU是一種RISC結(jié)構(gòu)的CPU, 它產(chǎn)生于一個(gè)特殊的蓬勃發(fā)展的學(xué)術(shù)研究與開發(fā)時(shí)期.RISC(精簡(jiǎn)指令集計(jì)算機(jī))是一個(gè)極有吸引力的縮寫名詞,與很多這類名次相似,可能遮掩的真實(shí)含義超過(guò)了它所揭示的.但是它的確對(duì)于那些在1986到1989年之間投放市場(chǎng)的新型CPU體系結(jié)構(gòu)提供了一個(gè)有用的標(biāo)識(shí)名,這些新型體系結(jié)構(gòu)的非凡的性能主要?dú)w功于幾年前的幾個(gè)具有開創(chuàng)性的研究項(xiàng)目所產(chǎn)生的思想。有人曾說(shuō):任何在1984年以后定義的計(jì)算機(jī)體系結(jié)構(gòu)都是RISC;雖然這是對(duì)于工業(yè)領(lǐng)域廣泛使用這個(gè)縮寫名詞的嘲諷,但是這個(gè)說(shuō)法也的確是真實(shí)的-1984年以后沒(méi)有任何一款計(jì)算機(jī)能夠忽視RISC先驅(qū)者們的工

8、作。在斯坦福大學(xué)開展的MIPS項(xiàng)目是這些具有開創(chuàng)性的項(xiàng)目中的一個(gè)。該項(xiàng)目命名為MIPS(主要是無(wú)內(nèi)鎖流水段微型計(jì)算機(jī)的關(guān)鍵短語(yǔ)的縮略)同時(shí)也是每秒百萬(wàn)條指令數(shù)的雙關(guān)語(yǔ)。斯坦福研究小組的工作表明雖然流水線已經(jīng)是一種眾所周知的技術(shù),但是以前的體系結(jié)構(gòu)對(duì)它研究的遠(yuǎn)遠(yuǎn)不夠,流水線技術(shù)其實(shí)能夠被更好的利用。尤其是當(dāng)結(jié)合了1980年的硅材料設(shè)計(jì)水平時(shí)。2.2 MIPS的指令格式只有3種:1、R(register)類型的指令。該類型指令從寄存器堆(register file)中讀取兩個(gè)源操作數(shù),計(jì)算結(jié)果寫回寄存器堆。2、I(immediate)類型的指令。該類型指令使用一個(gè)16位的立即數(shù)作為一個(gè)源操作數(shù)。3

9、、J(jump)類型的指令。該類型指令使用一個(gè)26位的立即數(shù)作為跳轉(zhuǎn)的目標(biāo)地址(target address)。MIPS的指令種類有:1、算術(shù)運(yùn)算。2、邏輯運(yùn)算。3、數(shù)據(jù)傳送。4、條件轉(zhuǎn)移。5、無(wú)條件跳轉(zhuǎn)。6、特殊指令。7、例外指令。8、協(xié)處理器指令。9、系統(tǒng)控制協(xié)處理器指令。2.3 MIPS特點(diǎn)l 所有指令都是32位編碼;l 有些指令有26位供目標(biāo)地址編碼;有些則只有16位。因此要想加載任何一個(gè)32位值,就得用兩個(gè)加載指令。16位的目標(biāo)地址意味著,指令的跳轉(zhuǎn)或子函數(shù)的位置必須在64K以內(nèi)(上下32K);l 所有的動(dòng)作原理上要求必須在1個(gè)時(shí)鐘周期內(nèi)完成,一個(gè)動(dòng)作一個(gè)階段;l 所有的運(yùn)算都是基于

10、32位的,沒(méi)有對(duì)字節(jié)和對(duì)半字的運(yùn)算(MIPS里,字定義為32位,半字定義為16位);l 沒(méi)有單獨(dú)的棧指令,所有對(duì)棧的操作都是統(tǒng)一的內(nèi)存訪問(wèn)方式。因?yàn)閜ush和pop指令實(shí)際上是一個(gè)復(fù)合操作,包含對(duì)內(nèi)存的寫入和對(duì)棧指針的移動(dòng);l 由于MIPS固定指令長(zhǎng)度,所以造成其編譯后的二進(jìn)制文件和內(nèi)存占用空間比x86的要大,(x86平均指令長(zhǎng)度只有3個(gè)字節(jié)多一點(diǎn),而MIPS是4個(gè)字節(jié));l 尋址方式:只有一種內(nèi)存尋址方式。就是基地址加一個(gè)16位的地址偏移;l 內(nèi)存中的數(shù)據(jù)訪問(wèn)必須嚴(yán)格對(duì)齊(至少4字節(jié)對(duì)齊);l 跳轉(zhuǎn)指令只有26位目標(biāo)地址,再加上2位的對(duì)齊位,可尋址28位的空間,即256M;l 條件分支指令只

11、有16位跳轉(zhuǎn)地址,加上2位的對(duì)齊位,共18位尋址空間,即256K;l MIPS默認(rèn)不把子函數(shù)的返回地址(就是調(diào)用函數(shù)的受害指令地址)存放到棧中,而是存放到$31寄存器中;這對(duì)那些葉子函數(shù)有利。如果遇到嵌套的函數(shù)的話,有另外的機(jī)制處理;3.x86指令集3.1 x86指令集簡(jiǎn)介X86指令集是美國(guó)Intel公司為其第一塊16位CPU(i8086)專門開發(fā)的,美國(guó)IBM公司1981年推出的世界第一臺(tái)PC機(jī)中的CPU?/FONTi8088(i8086簡(jiǎn)化版)使用的也是X86指令,同時(shí)電腦中為提高浮點(diǎn)數(shù)據(jù)處理能力而增加的X87芯片系列數(shù)學(xué)協(xié)處理器則另外使用X87指令,以后就將X86指令集和X87指令集統(tǒng)稱

12、為X86指令集。雖然隨著CPU技術(shù)的不斷發(fā)展,Intel陸續(xù)研制出更新型的i80386、i80486直到今天的Pentium(以下簡(jiǎn)為P)系列,但為了保證電腦能繼續(xù)運(yùn)行以往開發(fā)的各類應(yīng)用程序以保護(hù)和繼承豐富的軟件資源,所以Intel公司所生產(chǎn)的所有CPU仍然繼續(xù)使用X86指令集,所以它的CPU仍屬于X86系列。 另外除Intel公司之外,AMD和Cyrix等廠家也相繼生產(chǎn)出能使用X86指令集的CPU,由于這些CPU能運(yùn)行所有的為IntelCPU所開發(fā)的各種軟件,所以電腦業(yè)內(nèi)人士就將這些CPU列為Intel的CPU兼容產(chǎn)品。由于IntelX86系列及其兼容CPU都使用X86指令集,所以就形成了今

13、天龐大的X86系列及兼容CPU陣容。當(dāng)然在目前的臺(tái)式(便攜式)電腦中并不都是使用X86系列CPU,部分服務(wù)器和蘋果(Macintosh)機(jī)中還使用美國(guó)DIGITAL(數(shù)字)公司的Alpha61164和PowerPC604e系列CPU。3.2 80x86匯編指令 (1) 數(shù)據(jù)傳送指令。 (2) 算術(shù)運(yùn)算指令。 (3) 邏輯運(yùn)算指令。 (4) 串操作指令。 (5) 控制轉(zhuǎn)移指令。 (6) 處理器控制指令。 (7) 保護(hù)方式指令。3.3 CISC指令集:x86采用了CISC指令集。在CISC指令集的各種指令中,大約有20%的指令會(huì)被反復(fù)使用,占整個(gè)程序代碼的80%。而余下的80%的指令卻不經(jīng)常使用,

14、在程序設(shè)計(jì)中只占20%。長(zhǎng)期來(lái),計(jì)算機(jī)性能的提高往往是通過(guò)增加硬件的復(fù)雜性來(lái)獲得隨著集成電路技術(shù)特別是VLSI(超大規(guī)模集成電路)技術(shù)的迅速發(fā)展,為了軟件編程方便和提高程序的運(yùn)行速度,硬件工程師采用的辦法是不斷增加可實(shí)現(xiàn)復(fù)雜功能的指令和多種靈活的編址方式甚至某些指令可支持高級(jí)語(yǔ)言語(yǔ)句歸類后的復(fù)雜操作至使硬件越來(lái)越復(fù)雜,造價(jià)也相應(yīng)提高為實(shí)現(xiàn)復(fù)雜操作,微處理器除向程序員提供類似各種寄存器和機(jī)器指令功能外還通過(guò)存于只讀存貯器(ROM)中的微程序來(lái)實(shí)現(xiàn)其極強(qiáng)的功能,傲處理在分析每一條指令之后執(zhí)行一系列初級(jí)指令運(yùn)算來(lái)完成所需的功能,這種設(shè)計(jì)的型式被稱為復(fù)雜指令集計(jì)算機(jī)(ComplexInstructionSetComputer-CISC)結(jié)構(gòu)一般CISC計(jì)算機(jī)所含的指令數(shù)目至少300條以上,有的甚至超過(guò)500條3.4 CISC體系的優(yōu)缺點(diǎn)優(yōu)點(diǎn):能夠有效縮短新指令的微代碼設(shè)計(jì)時(shí)間,允許設(shè)計(jì)師實(shí)現(xiàn)CISC體系機(jī)器的向上相容。新的系統(tǒng)可以使用一個(gè)包含早期系統(tǒng)的指令超集合,也就可以使用較早電腦上使用的相同軟體。另外微程式指令的格式與高階語(yǔ)言相匹配,因而編譯器并不一定要重新編寫。缺點(diǎn):指令集以及晶片的設(shè)計(jì)比上一代產(chǎn)品更復(fù)雜,不同的指令,需要不同的時(shí)鐘周期來(lái)完成,執(zhí)行

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論