《計(jì)算機(jī)組成原理》教程第4章指令系統(tǒng).ppt_第1頁(yè)
《計(jì)算機(jī)組成原理》教程第4章指令系統(tǒng).ppt_第2頁(yè)
《計(jì)算機(jī)組成原理》教程第4章指令系統(tǒng).ppt_第3頁(yè)
《計(jì)算機(jī)組成原理》教程第4章指令系統(tǒng).ppt_第4頁(yè)
《計(jì)算機(jī)組成原理》教程第4章指令系統(tǒng).ppt_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)組成原理 第4章 指令系統(tǒng),2,本章知識(shí)點(diǎn),指令系統(tǒng):機(jī)器指令的集合,表征計(jì)算機(jī)性能的重要因素 機(jī)器語(yǔ)言 匯編語(yǔ)言(Assemble Language) Instruction Set Architecture(ISA) CISC、RISC、VLIW 處理器、C編譯器、OS 本章的內(nèi)容 指令格式 尋址方式 指令系統(tǒng)介紹 學(xué)時(shí):10節(jié),3,從計(jì)算機(jī)組成的層次結(jié)構(gòu)來(lái)說(shuō),計(jì)算機(jī)的指令有微指令、機(jī)器指令和宏指令之分: 微指令-微程序級(jí)的命令,解釋執(zhí)行機(jī)器指令。屬于硬件 宏指令-由若干條機(jī)器指令組成的軟件指令,完成某一特定功能。屬于軟件 機(jī)器指令-介于微指令與宏指令之間,通常簡(jiǎn)稱為指令,完成某一特

2、定操作。本章所討論的指令,是機(jī)器指令。,一 指令分類與要求,4,一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求: (1) 完備性 完備性是指用匯編語(yǔ)言編寫各種程序時(shí),指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來(lái)實(shí)現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。 (2) 有效性 有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運(yùn)行。高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。 (3) 規(guī)整性規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。 對(duì)稱性:在指令系統(tǒng)中所有的寄存器和存儲(chǔ)器單元都可同等對(duì)待,所有的指令都可使用各種尋址方式;勻齊性:一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型; 格

3、式一致性:指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度有一定的關(guān)系,以方便處理和存取。 (4) 兼容性: 至少要能做到向上兼容,即低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行。,指令系統(tǒng):指計(jì)算機(jī)所能執(zhí)行的所有指令的集合,5,即指令字用二進(jìn)制代碼表示的結(jié)構(gòu)形式 包括 操作碼:操作的性質(zhì) 地址碼:操作數(shù)(operand)的存儲(chǔ)位置,即參加操作的 數(shù)據(jù)的地址和結(jié)果數(shù)的地址,二 指令的格式,6,1.操作碼 指令的操作碼表示該指令應(yīng)進(jìn)行什么性質(zhì)的操作。組成操作碼字段的位數(shù)一般取決于計(jì)算機(jī)指令系統(tǒng)的規(guī)模。 固定長(zhǎng)度操作碼:便于譯碼,擴(kuò)展性差. 可變長(zhǎng)度操作碼:能縮短指令平均長(zhǎng)度 操作碼的的位數(shù)決定了所能表示的操作數(shù),n位操作碼最多表示2

4、n種操作,7,2地址碼 根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。目前二地址和一地址指令格式用得最多。 零地址指令:零地址指令的指令字中只有操作碼,沒(méi)有地址碼。 如:NOP、 CLR指令 一地址指令:一地址指令常稱單操作數(shù)指令,指令中僅給出一個(gè)操作數(shù)地址A,另一個(gè)操作數(shù)址和目的操作數(shù)地址均隱含(指定為累加器AC)。(AC) OP (A) AC 如:ADD R1 二地址指令:二地址指令常稱雙操作數(shù)指令,指令中給出兩個(gè)地址碼字段A1和A2,分別指明參與 操作的兩個(gè)數(shù)在內(nèi)存中或運(yùn)算器通用寄存器的地址,其中地址A1兼作存放操作結(jié)果的地址。(A1) OP (A2) A1 如

5、:ADD R1, R2 三地址指:三地址指令字中有二個(gè)源操作數(shù)地址A1,A2和一個(gè)目的操作數(shù)地址A3。(A1) OP (A2) A3 如:ADD R1, R2, R3,8,在二地址指令格式中,從操作數(shù)的物理位置來(lái)說(shuō),又可歸結(jié)為三種類型: (SS)型指令-存儲(chǔ)器存儲(chǔ)器型指令,為訪問(wèn)存儲(chǔ)器的指令格式; (RR)型指令-寄存器寄存器型指令,為訪問(wèn)寄存器的指令格式; (RS)型指令-寄存器存儲(chǔ)器型指令,用于存儲(chǔ)器與寄存器交換信息。,9,1.指令字長(zhǎng) 機(jī)器字長(zhǎng)-指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算精度。 指令字長(zhǎng)-指令字長(zhǎng)度等于機(jī)器字長(zhǎng)度的指令,稱為單字長(zhǎng)指令;指令字長(zhǎng)度等于半個(gè)機(jī)

6、 器字長(zhǎng)度的指令,稱為半字長(zhǎng)指令;指令字長(zhǎng)度等于兩個(gè)機(jī)器字長(zhǎng)度的指令,稱為雙字長(zhǎng)指令。 2多字長(zhǎng)指令 使用多字長(zhǎng)指令的目的,在于提供足夠的地址位來(lái)解決訪問(wèn)內(nèi)存任何單元的尋址問(wèn)題。但是主要缺點(diǎn)是必須兩次或多次訪問(wèn)內(nèi)存以取出整條指令,這就降低了CPU的運(yùn)算速度,同時(shí)又占用了更多的存儲(chǔ)空間。 3指令字結(jié)構(gòu) 等長(zhǎng)指令字結(jié)構(gòu)-在一個(gè)指令系統(tǒng)中,如果各種指令字長(zhǎng)度是相等的,稱為等長(zhǎng)指令字結(jié)構(gòu)。優(yōu)點(diǎn):指令字結(jié)構(gòu)簡(jiǎn)單:取指快、譯碼簡(jiǎn)單。 變長(zhǎng)指令字結(jié)構(gòu)-如果在一個(gè)指令系統(tǒng)中,各種指令字長(zhǎng)度隨指令功能而異,就稱為變長(zhǎng)指令字結(jié)構(gòu)。優(yōu)點(diǎn):指令字結(jié)構(gòu)靈活,能充分利用指令長(zhǎng)度;缺點(diǎn):指令的控制較復(fù)雜。,三 指令字,10

7、,為便于書寫和記憶而設(shè)定的,與機(jī)器指令一一對(duì)應(yīng); 不同的計(jì)算機(jī)采用的助記符是不一樣的.,數(shù)據(jù)傳遞 mov,load,store 算術(shù)邏輯邏運(yùn)算 add,sub,and,not,or,xor,dec,inc,cmp *移位操作 shl,shr,srl,srr *轉(zhuǎn)移控制 jmp,bnz,beq,call,ret,int,iret I/O指令 in,out 系統(tǒng)指令 Halt,nop,wait,sti,cli,4.指令助記符,11,四 尋址方式,尋址方式-當(dāng)采用地址指定方式時(shí),形成操作數(shù)的地址或指令地址的方式,稱為尋址方式。 分類:指令尋址方式 和 數(shù)據(jù)尋址方式 1.指令尋址: 順序?qū)ぶ贩绞?指令

8、逐條順序執(zhí)行,由PC+1PC控制; 跳躍尋址方式-程序執(zhí)行轉(zhuǎn)移指令,下條指令的地址不再是由PC給出,而是由本條指令給出。 2.操作數(shù)尋址 即形成操作數(shù)有效地址的方法 有效地址:操作數(shù)在內(nèi)存中的物理地址 EA尋址方式形式地址,12,典型尋址方式 隱含尋址立即尋址直接尋址間接尋址寄存器尋址方式和寄存器間接尋址方式相對(duì)尋址基址尋址方式變址尋址方式塊尋址方式段尋址方式 復(fù)合尋址方式,13,(1)隱含尋址 在指令中并不直接給出操作數(shù)的地址,而是隱含著操作數(shù)的地址。 例:ADD B ;另一個(gè)操作數(shù)的地址即隱含為累加器AC (2)立即尋址指令的地址字段指出的不是操作數(shù)的地址,而是操作數(shù)本身,這種尋址方式稱為

9、立即尋址。優(yōu)點(diǎn):不需操作數(shù)地址尋址,速度快。例: ADD B,#3 ;#3為立即數(shù) (3)直接尋址直接尋址是一種基本的尋址方式,其特點(diǎn)是:在指令格式的地址字段中直接指出操作數(shù)在內(nèi)存的地址D,即有效地址等于形式地址。 E=D 例:INC 3A00H這是一條加1指令,指令有效地址E=3A00H,14,(4)間接尋址間接尋址是相對(duì)于直接尋址而言的,在間接尋址的情況下,指令地址字段中的形式地址D不是操作數(shù)的有效地址,而是操作數(shù)地址的指示器,即D單元的內(nèi)容才是操作數(shù)的有效地址。 E=(D)優(yōu)點(diǎn):提供編程的靈活性;缺點(diǎn):增加了訪存時(shí)間,速度慢。 例: INC (3A00H)這是一條加1指令,指令有效地址E

10、=(3A00H)=4000H,15,(5)寄存器尋址方式和寄存器間接尋址方式寄存器尋址方式-當(dāng)操作數(shù)不放在內(nèi)存中,而是存放在CPU的通用寄存器中時(shí),可采 用寄存器尋址方式。 優(yōu)點(diǎn):用寄存器暫存操作數(shù),無(wú)需訪存,速度快。 例:INC R1 這是一條加1指令,指令有效地址E = R1 寄存器間接尋址方式-指令中的寄存器內(nèi)容不是操作數(shù),而是操作數(shù)的地址,該地 址指明的操作數(shù)應(yīng)在內(nèi)存中。E=(Ri) 例:INC (R1) 這是一條加1指令,指令有效地址E=(R1)=3A00H,16,6)相對(duì)尋址把程序計(jì)數(shù)器PC的內(nèi)容加上指令格式中的形式地址D而形成操作數(shù)的有效地址。 E=(PC) D 優(yōu)點(diǎn):相對(duì)于當(dāng)前

11、指令地址進(jìn)行浮動(dòng)。 例: INC PC+200H 這是一條加1指令,指令有效地址E=(PC)+200H=2200H,17,7)基址尋址方式將CPU中基址寄存器Bx的內(nèi)容加上指令格式中的形式地址而形成操作數(shù)的有效地址。E=(Bx) D 如:INC Bx+300H 這是一條加1指令,指令有效地址E=(Bx)+300H=0380H (8) 變址尋址方式把CPU中某個(gè)變值寄存器Rx的內(nèi)容與偏移量D相加來(lái)形成操作數(shù)的有效地址。 E=(Rx) D如:INC Rx+300H 這是一條加1指令,指令有效地址E=(Rx)+300H=0380H 變址尋址和基址尋址尋址方法十分類似,但用途不同: 變址尋址:主要便于

12、數(shù)組訪問(wèn) 基址尋址:可擴(kuò)大尋址范圍, 可實(shí)現(xiàn)程序浮動(dòng),18,(9) 塊尋址方式實(shí)現(xiàn)數(shù)據(jù)塊的傳送。 指示數(shù)據(jù)塊長(zhǎng)度的方法: 指令中劃出字段給出塊長(zhǎng)度; 指令中劃出字段指出塊的首地址、末地址; 由塊結(jié)束字符指出數(shù)據(jù)塊長(zhǎng)度。 (10)復(fù)合尋址方式-多種尋址方式的組合 例1:相對(duì)、間址尋址方式 INC (PC+100H) 這是一條加1指令,指令有效地址:E=(PC)+100H)=2000H,19,10) *段尋址方式 Intel 8086 CPU中采用了段尋址方式(基址尋址的特例)。由16位段寄存器和16位偏移量產(chǎn)生20位物理地址 11)*自動(dòng)變址尋址 指在變址方式中,每經(jīng)過(guò)一次變址運(yùn)算時(shí),都自動(dòng)改變

13、變址寄存 器的內(nèi)容,以后在PDP-11中詳講.,20,3.堆棧尋址方式,(1)特征 堆棧是一種特殊的數(shù)據(jù)尋址方式,它對(duì)數(shù)據(jù)的存取方法采用“先進(jìn)后出”原理。具體見(jiàn)P98 按結(jié)構(gòu)不同可分為: 寄存器堆棧(串聯(lián)堆棧) 存儲(chǔ)器堆棧串行堆棧 是由CPU當(dāng)中的一組專門的寄存器構(gòu)成,采用下壓式進(jìn)棧方式。優(yōu)點(diǎn):速度快缺點(diǎn): 堆棧大小有限 破壞性讀出 串行堆棧存的容量有限,為了突破這種限制,使用了存儲(chǔ)器堆棧,21,存儲(chǔ)器堆棧 -由程序員設(shè)置一部分主存作為堆棧,并使用CPU中的一個(gè)特殊寄存器SP作為堆棧指示器,指示棧頂位置。 串聯(lián)堆棧和存儲(chǔ)器堆棧的操作方式不同,在串聯(lián)堆棧中,移動(dòng)的是數(shù)據(jù),而在存儲(chǔ)器堆棧中,移動(dòng)的

14、是棧頂。 特點(diǎn): 堆棧能根據(jù)程序員要求,設(shè)置任意長(zhǎng)度; 可按程序員要求,在主存中建立多個(gè)堆棧; 可用訪存指令來(lái)對(duì)堆棧中的數(shù)據(jù)進(jìn)行尋址操作。 用途: 保留斷點(diǎn)及現(xiàn)場(chǎng); 利用堆棧傳遞參數(shù)。,22,(2) 堆棧工作過(guò)程(一)進(jìn)棧操作 建立堆棧,由指令把棧頂?shù)刂匪腿隨P,指針指向棧頂。 進(jìn)棧:(A)Msp, (sp)-1SP ;Msp:存儲(chǔ)器的棧頂單元 (二)出棧操作 (SP)+1SP, (Msp)A,23,一個(gè)較完善的指令系統(tǒng)應(yīng)當(dāng)包括: 數(shù)據(jù)傳送類指令: 例)move、load、store等 算術(shù)運(yùn)算類指令: 例)add、sub、mult、div、comp等 移位操作類指令: 例) shl,shr,

15、srl,srr 邏輯運(yùn)算類指令: 例)and、or、xor、not等 程序控制類指令: 例)jump、branch、jsr、ret、int等 輸入輸出指令: 例)in、out等 字符串類指令: 例)如alpha中cmpbge、inswh、extbl等 系統(tǒng)控制類指令: 例)push、pop、test等 (由于大家已學(xué)過(guò)匯編語(yǔ)言,因此指令系統(tǒng)這一小節(jié)請(qǐng)自學(xué),參照書P114-140),五.指令類型,24,25,六.指令的編碼(了解),1.固定長(zhǎng)度編碼法 即操作碼固定長(zhǎng)度,用N位表示某一種操作. 2.哈夫曼編碼法 是一種操作碼的優(yōu)化編碼,其編碼原則:對(duì)出現(xiàn)頻率較高的信息單元用較短的位數(shù)表示,對(duì)出現(xiàn)頻

16、度較低的信息單元?jiǎng)t用較長(zhǎng)的位數(shù)表示. 具體見(jiàn)P110 3.擴(kuò)展操作碼法 由哈夫曼編碼引申出來(lái)的一種編碼,即對(duì)于出現(xiàn)概率較高的信息用較短的位數(shù)來(lái)表示,而對(duì)于較低的則用較長(zhǎng)位數(shù)表示,26,7.PDP-11機(jī)指令系統(tǒng),地址:存儲(chǔ)器和寄存器均有統(tǒng)一編址 通用寄存器組:R0-R7 指令格式:?jiǎn)尾僮鲾?shù)和雙操作數(shù)指令 具體見(jiàn)圖示P117 尋指方式,操作碼尋址方式寄存器,27,.寄存器直接尋址(0型尋址) 操作數(shù)寫法:Rn 尋址方式字段為:000 .寄存囂間接尋址(1型尋址) 操作數(shù)字段寫法:Rn 尋址方式字段為:111,其余類推 .自增直接尋址(2型尋址) 指令中的Rn中的數(shù)據(jù)即為操作數(shù),然后對(duì)該寄存器中內(nèi)

17、容遞增,操作數(shù)字段記作:(Rn)+,28,.自增間接尋址 (Rn)+ .自減直接尋址 -(Rn) 通用寄存器Rn的內(nèi)容先遞減,然后再作為操作數(shù)地址. .自減間接尋址 -(Rn) .直接變址尋址 X (Rn) 指令中指定的通用寄存器內(nèi)容與本條指令下一單元內(nèi)容相加,和為操作數(shù)地址. .間接變址尋址 X(Rn) 指令中指定的通用寄存器中內(nèi)容與本條指令下一單元內(nèi)容相加,和為操作數(shù)地址的地址.,29,.立即尋址方式n 本條指令的下一單元的內(nèi)容為操作數(shù) 10.絕對(duì)間接尋址 #n 指令 中指定R7,且尋址字段為011時(shí),則本指令下一單元內(nèi)容為操作數(shù)地址. 11.相對(duì)尋址方式 A 指令中指定R7,且尋址字段為

18、110時(shí),則本指令下一單元的內(nèi)容與當(dāng)時(shí)的PC值相加,和為操作數(shù)地址. 12.相對(duì)間接尋址 A 指令中指定R7,且尋址字段為111時(shí),本條指令的下一單元的內(nèi)容與當(dāng)時(shí)的PC值相加,和作為操作數(shù)地址的地址.,30,內(nèi)存編址方式,程序狀態(tài)字 見(jiàn)書P124 指令系統(tǒng)介紹 .算術(shù)運(yùn)算指令(注意其標(biāo)志位) 加法:ADD SS,DD 例:ADD R1,R2 ADD #10,R3,31,減法:SUB SS,DD 例:SUB R1,R2 (R2)-(R1) R2 其余的見(jiàn)書. .邏輯運(yùn)算指令 求反COMDD / COMB DD 比較 CMP SS,DD / CMPB SS,DD 加 BIS SS,DD / BISB SS,DD 乘 BIT SS,DD / BITB SS,DD 按位清 BIC SS,D

溫馨提示

  • 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)論