版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第4章指令系統(tǒng)和控制器部件4.1指令系統(tǒng)4.2指令功能及執(zhí)行過程4.3MIPS指令單周期CPU設(shè)計4.4MIPS指令多周期CPU設(shè)計4.5指令流水基本概念重點和難點
單條指令功能的實現(xiàn)如何設(shè)計指令的數(shù)據(jù)通路?如何劃分指令的執(zhí)行步驟?如何根據(jù)指令得到控制信號?
機器語言程序的自動執(zhí)行指令之間如何銜接?
提高性能在不增加太多硬件的情況下如何提高性能?
實現(xiàn)途徑控制信號生成:組合邏輯或微程序程序自動執(zhí)行:PC、節(jié)拍和下地址指令系統(tǒng):RISC和CISC提高性能:指令流水?dāng)?shù)據(jù)運算部件計算機控制部件存儲部件接口線路數(shù)據(jù)輸入設(shè)備接口線路數(shù)據(jù)輸出設(shè)備數(shù)據(jù)總線地址總線控制總線計算機主機
計算機外圍設(shè)備計算機的CPU計算機硬件系統(tǒng)功能部件對指令的控制:計算機的工作過程是連續(xù)執(zhí)行指令的過程,控制器應(yīng)能保證動態(tài)指令流的形成。對時序的控制:產(chǎn)生固定的時序信號,以保證全機各部件有節(jié)奏的工作。對操作的控制:依據(jù)指令內(nèi)容、指令的執(zhí)行步驟,形成并提供當(dāng)前各部件本時刻要用到的全部控制信號??刂破鞯墓δ苤噶睿?/p>
是指示計算機執(zhí)行基本操作的命令。指令也是用戶使用計算機的最小功能單位。
從計算機組成的層次結(jié)構(gòu)來說,計算機的指令有微指令、機器指令和宏指令之分。
微指令:是微程序級的命令,它屬于硬件;宏指令:是由苦干條機器指令組成的軟件指令,它屬于軟件;
機器指令:則介于微指令與宏指令之間,通常簡稱為指令。每一條指令可完成一個獨立的算術(shù)運算或邏輯運算操作。
本章所討論的指令是機器指令。
指令系統(tǒng):一臺計算機支持(或稱使用)的全部指令的集合構(gòu)成該計算機的指令系統(tǒng)。由于指令與計算機的性能以及硬件結(jié)構(gòu)密切相關(guān),所以不同系列、不同型號的計算機其指令系統(tǒng)是不一樣的。4.1指令系統(tǒng)
指令的基本格式尋址方式
指令系統(tǒng)的設(shè)計要求指令系統(tǒng)的發(fā)展oprsrtrdsafuncoprsrtimmediateoptargetMIPS指令格式
(32位)drsrioport/offsetImmediate/address/offsetTh-union指令格式
(16位)op任何一條機器指令由一組有意義的二進制代碼構(gòu)成,稱為一個指令字。如何把一個指令字劃分成多個字段并分配各字段所表示的內(nèi)容大有學(xué)問。一、指令的基本格式1.操作碼定長操作碼變長操作碼
在指令系統(tǒng)中,每一條指令都有唯一確定的操作碼。分二種形式:a.定長操作碼形式在指令字中,操作碼字段的位數(shù)和位置是固定的。早期的計算機一般采用定長操作碼的設(shè)計,控制簡單,且對操作碼的譯碼實現(xiàn)容易。
IBM360/370操作碼是八位的:
00000000~11111111
該指令系統(tǒng)最多可有多少條指令?
Th-union操作碼是八位的:
00000000~11111111
該指令系統(tǒng)最多可有256條指令。
例如:256RR型
OPC
R1R2844RS型
OPC
RnRmBD
844412RX型
OPC
R1X2B2D2844412SI型
OPC
I2B1D284412SS型
OPC
LB1D1B2D28
8
4
12412IBM360/370計算機的指令格式Ri:通用寄存器Xi:變址寄存器Bi:基址寄存器Di:位移量I:立即數(shù)L:數(shù)據(jù)的長度定長操作碼的特點
優(yōu)點:有利于簡化硬件設(shè)計,提高指令譯碼的速度和指令執(zhí)行的速度。
缺點:限制了指令系統(tǒng)的擴充、不利于縮短指令的長度,存在有很大程度的信息冗余。b.變長操作碼形式指令系統(tǒng)中,各指令的操作碼字段位數(shù)不等長。例:PDP-11小型機的指令系統(tǒng)
其指令長度為16位,操作碼字段的長度有4、7、10、13、16等不同的情況。
Mod
Ri
Mod
Rj
OP
四位六位六位
Ri
Mod
Rj
OP(7)
Mod
Rj
OP(10)
Rj
OP(13)
OP(16)為增加操作碼長度,采用
——
操作碼逐段擴展技術(shù)
變長操作碼的特點
優(yōu)點:可方便擴充指令系統(tǒng)有利于縮短指令操作碼的平均長度。
缺點:指令譯碼的控制復(fù)雜,硬件電路復(fù)雜。2.地址碼的設(shè)計和安排
按照指令中地址碼字段給出的地址的個數(shù)的不同,無地址指令(零地址指令)一地址指令(單地址指令)雙地址指令多地址指令有四種情況:Th-union的機器指令匯編指令
0000000000010010
ADDR1,R20000000110001001
SUBR8,R90000100100110000
INCR31000100000010000MOVR1,0055H0000000001010101a.無地址指令(零地址指令)有二種情況:
指令不需要任何操作數(shù)。
例:NOP、HALT
操作數(shù)為隱含的,或操作數(shù)地址是默認的。例:PUSHF、POPF
操作碼格式:b.一地址指令(單地址指令)操作碼地址碼只有一個地址碼,用于單操作數(shù)指令。例:INC、SHL、JMP、CALL或者雙操作數(shù)指令,但其中一個操作數(shù)的地址為默認值。
例:MUL、DIV格式:c.雙地址指令
地址碼2
地址碼1
操作碼
地址碼1既是源操作數(shù)的地址,也是目的操作數(shù)的地址。雙操作數(shù)在運算類、傳送類指令中使用較多。ADDDR,SR
格式:d.多地址指令
地址碼3
地址碼2
地址碼1
操作碼地址碼4地址碼3地址碼2
地址碼1操作碼特點:操作完成后源操作數(shù)的內(nèi)容不被破壞,用戶編程方便。嚴(yán)重的缺點是指令字較長。格式1:格式2:3.指令字長度
機器指令的二進制序列的位數(shù)。
定長指令變長操作碼
變長指令定長操作碼例1:某機指令系統(tǒng),指令字為16位固定長,要求有3地址指令、2地址指令、1地址指令和0地址指令,每個地址碼4位。應(yīng)如何設(shè)計?a.定長指令變長操作碼
該種形式是將操作碼的設(shè)計與地址碼的設(shè)計作為一個整體考慮,以形成高效合理的指令編碼。0000
XXXX
XXXX
XXXX~4位操作碼(3地址指令15條)1110
XXXX
XXXX
XXXX8位操作碼~(2地址指令15條)1111
0000
XXXX
XXXX1111
1110
XXXX
XXXX~(1地址指令15條)1111
11110000
XXXX1111
11111110
XXXX12位操作碼~(0地址指令16條)1111
1111111100001111
11111111111116位操作碼設(shè)計方案
練習(xí)1.指令字長為12位,每個地址碼為3位,采用擴展操作的方式,設(shè)計4條三地址指令、16條二地址指令、64條一地址指令和16條零地址指令。
(1)畫出擴展圖。
(2)畫出指令譯碼邏輯。
000
××××××××× ┆ ┆
011
×××××××××
100
000 ×××××× ┆┆
101
111
××× ×××110
000
000××× ┆┆
110
111
111
×××111
000
000
000 ┆┆
111
000
001
1114條三地址指令16條二地址指令16條零地址指令64條一地址指令(1)操作碼的擴展如下圖所示。練習(xí)2.設(shè)某機為定長指令字結(jié)構(gòu),指令長度12位,每個地址碼占3位,試提出一種方案,使該系統(tǒng)包含4條三地址指令,8條二地址指令,60條單地址指令。
000
××××××××× ┆ ┆
011
×××××××××
100
000 ×××××× ┆┆
100
111
××× ×××101
000
000××× ┆┆
101
111
011
×××4條三地址指令8條二地址指令60條一地址指令練習(xí)3.設(shè)某機為定長指令字結(jié)構(gòu),指令長度12位,每個地址碼占3位,試提出一種方案,使該系統(tǒng)包含4條三地址指令,8條二地址指令,180條單地址指令。
另問:能否構(gòu)成三地址指令4條,單地址指令255條,零地址指令64條呢?
000
××××××××× ┆ ┆
011
×××××××××
100
000 ×××××× ┆┆
100
111
××× ×××101
000
000××× ┆┆
111
110
011
×××4條三地址指令8條二地址指令180條一地址指令
000
×××××××××┆┆
011
×××××××××
100
000
000××× ┆┆
111
111
110
×××111111111000 ┆
111
111
111
111255條一地址指令8條零地址指令4條三地址指令指令字的長度與機器字長沒有固定的關(guān)系。
b.變長指令定長操作碼例:IBM360/370
指令的操作碼是8位的,指令字為16位、32位、48位。
TH-union
指令的操作碼是8位的,指令字為16位.
設(shè)某機型需設(shè)計100條指令。試確定以下兩種操作碼設(shè)計方案的操作碼長度。1)采用定長操作碼格式。2)采用擴展操作碼法。(設(shè)10℅的指令使用頻度為90℅)思考:
二、尋址方式尋址方式:指的是確定本條指令的數(shù)據(jù)地址及下一條要執(zhí)行的指令地址的方法。
不同的計算機系統(tǒng),使用數(shù)目和功能不同的尋址方式,其實現(xiàn)的復(fù)雜程度和運行性能也各不相同。1、指令尋址順序(PC)+1PC跳躍由轉(zhuǎn)移指令指出LDA1000ADD1001DEC1200JMP7LDA2000SUB2001INCSTA2500LDA1100...0123456789PC+1指令地址尋址方式指令地址指令順序?qū)ぶ?順序?qū)ぶ?順序?qū)ぶ?跳躍尋址7順序?qū)ぶ?2、數(shù)據(jù)尋址約定
指令字長=存儲字長=機器字長形式地址A操作碼尋址特征
通常需要在指令中為每一個操作數(shù)專設(shè)一個地址字段,用來表示數(shù)據(jù)的來源或去向的地址。
在指令中給出的操作數(shù)的地址被稱為形式地址,使用形式地址信息并按一定的規(guī)則計算出來的一個數(shù)值才是數(shù)據(jù)(或指令)的實際地址。
運算器中寄存器的編號或?qū)S眉拇嫫髅Q(編號)輸入/輸出指令中I/O設(shè)備的輸入輸出端口地址內(nèi)存儲器的一個存儲單元(或一I/O設(shè)備)的地址在指令的操作數(shù)地址字段,可能要指出:
在計算機的指令系統(tǒng)中,會有多種基本尋址方式和某些復(fù)合尋址方式,簡介如下:1)直接尋址
在指令的地址碼字段直接給出所需的操作數(shù)(或指令)在存儲器中的地址。
存儲器地址為操作數(shù)在存儲器中的地址?;蜣D(zhuǎn)移指令等用到的指令地址。內(nèi)存儲器
操作數(shù)
操作碼
存儲器地址…例:MOVR1,[0800]0000
1000
0000
0000操作碼0001
不用
特點是什么?簡單直觀,執(zhí)行速度快。編程不靈活,訪問空間有限。2)寄存器尋址
操作碼
寄存器編號…例如:
0000110010001001
SUB
R8,R90111010000110000
INC
R3
指令地址碼字段給出某一通用寄存器的編號(地址),且所需的操作數(shù)就在這個寄存器中,這就是寄存器尋址方式。
執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快。
寄存器個數(shù)有限,可縮短指令字長。3)間接尋址方式
若寄存器中存放的是操作數(shù)在內(nèi)存中所在單元的地址,這就是寄存器間接尋址方式。a.通過寄存器的間接尋址方式
OP
RegNo…寄存器間接尋址示意圖
OP
0101
…0000000000000111
R50007H
操作數(shù)………000700060008FFFF0000………(1)寄存器尋址與寄存器間接尋址的不同點
操作數(shù)所在位置不同指令執(zhí)行的速度不同思考題(2)設(shè)計寄存器間接尋址的必要性可有效縮短指令的長度可方便程序處理的需要b.通過存儲器的間接尋址方式
指令的地址碼字段給出的內(nèi)容既不是操作數(shù),也不是操作數(shù)的地址,而是操作數(shù)(或指令)地址的地址,這被稱為存儲器間接尋址方式。操作數(shù)Addr1特點:比直接尋址靈活,并且可用指令中的短地址訪問大的內(nèi)存空間;取操作數(shù)需二次訪問主存,降低了指令執(zhí)行的速度。
OP
Addr…4)基址尋址方式
在計算機中設(shè)置一個專用的基址寄存器,操作數(shù)(或指令)的地址通過基址寄存器的內(nèi)容和指令中的地址碼相加得到?;芳拇嫫骷臃ㄆ鞑僮鲾?shù)存儲器
OP
disp…例:disp=18H,[BS]=5700H
則操作數(shù)地址=5718H
主要用于為程序或數(shù)據(jù)分配存儲區(qū),對多道程序或浮動程序很有用,解決了程序在存儲器中的定位和擴大尋址空間等問題。5)變址尋址方式
操作數(shù)的地址由指定的變址寄存器(由Reg指定)的內(nèi)容和指令中的地址碼(Disp)相加得到。通用寄存器加法器存儲器
操作數(shù)
OP
Reg
Disp…例:Disp=18H,Reg=5,R5)=5700H
則操作數(shù)地址=5718H
便于對數(shù)組元素進行處理,此方式是計算機中常用的一種尋址方式。6)塊(串)尋址方式
為了對數(shù)組運算提供更好的支持,采用該種尋址方式的指令中,要對整個數(shù)組實現(xiàn)某種運算,只需給出數(shù)組的首地址和末地址,這條指令執(zhí)行一次,可對數(shù)組的全部元素完成某種運算操作。此方式是現(xiàn)代計算機中廣泛采用的一種尋址方式。7)隱含尋址方式
對于雙操作數(shù)指令,如果事先約定參與運算的一個操作數(shù)固定存放在某個寄存器或某個存儲單元中。指令中不直接給出某個操作數(shù)的地址,被稱為隱含尋址方式。ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個操作數(shù)隱含在ACC中如8086MUL指令被乘數(shù)隱含在AX(16位)或AL(8位)中MOVS指令源操作數(shù)的地址隱含在SI中目的操作數(shù)的地址隱含在DI中
指令字中少了一個地址字段,可縮短指令字長。8)立即尋址方式所需的一個操作數(shù)在指令的地址碼部分直接給出。特點:在取指令的同時取出了操作數(shù),不必訪問主存,提高了指令的執(zhí)行速度;靈活性差。
OP
Num…
操作數(shù)(或指令)的地址由程序計數(shù)器PC的內(nèi)容(即當(dāng)前執(zhí)行指令的地址)和指令的地址碼相加得到。例如:disp=48H (PC)=5600H則實際地址=disp+(PC)=5648H
主要用于轉(zhuǎn)移指令,對縮短指令長度很有用。位移量可正可負,通常用補碼表示。9)相對尋址方式主存空間2000PCJMP+30現(xiàn)行指令JMPNEXTADDAX,BX………200120012031PC在指令中不指定,是隱含的,所以可以縮短指令長度。
例題:設(shè)相對轉(zhuǎn)移指令占兩個字節(jié),第一個字節(jié)是操作碼,其地址是2000H,第二個字節(jié)是相對位移量,那么:(PC)=2002H(1)若第二個字節(jié)的內(nèi)容為06H,則轉(zhuǎn)移到的地址為______。①2008H②2009H③1FFCH④FFBH(2)若轉(zhuǎn)移到的地址為1FFDH,則第二個字節(jié)的內(nèi)容為_______。①05H②FBH③FDH④FFH
堆棧是內(nèi)存儲器中一塊按“后進先出”原則進行讀寫的存儲區(qū),并通過一個專用的寄存器(堆棧指針SP)給出堆棧的棧頂?shù)刂?,完成?shù)據(jù)的讀寫操作,故不必在指令中用操作數(shù)地址字段給堆棧地址。通常在讀寫操作的前后伴隨有計算機自動(不是用戶通過指令)修改SP內(nèi)容的動作,以確保按正確的“后進先出”原則讀寫堆棧區(qū)。10)堆棧結(jié)構(gòu)及尋址
如何在指令中表示尋址方式呢?1.用操作碼區(qū)分2.在指令中劃分專用的字段來說明問題:下圖所指的尋址方式的名稱是什么?
操作碼操作數(shù)
操作碼
寄存器
操作數(shù)
R
立即尋址寄存器尋址
操作碼
存儲器
指令
操作數(shù)
A
問題:下圖所指的尋址方式的名稱是什么?存儲器直接尋址
操作碼
操作數(shù)
A
存儲器
寄存器
R
存儲器
操作碼
操作數(shù)
A'
A
問題:下圖所指的尋址方式的名稱是什么?存儲器間接尋址寄存器間接尋址
操作碼
操作數(shù)
PC
存儲器
A
問題:下圖所指的尋址方式是什么?相對尋址──────────────────────────
尋址方式有效地址EA的計算公式尋址范圍
立即尋址直接尋址間接尋址變址尋址相對尋址解:因為OP字段長5位,所以指令能定義25=32種指令。
例:某機字長為16位,存儲器按字編址,訪內(nèi)存指令格式如下:
151110870OPMA其中OP是操作碼,M定義尋址方式,A為形式地址。設(shè)PC和Rx分別為程序計數(shù)器和變址寄存器,字長16位。(1)該指令能定義多少種指令?(2)表中各種尋址方式的尋址范圍為多少?(3)寫出表中各種尋址方式的有效地址EA的計算公式。EA=(PC)1個字,即指令自身EA=A256個字EA=(A)64K字EA=(Rx)+A64K字EA=(PC)+A256個字(PC附近)練習(xí)題:某機字長16位,內(nèi)存容量為64K字,指令格式為單字長單地址,其有64條指令,問:
1)若只采用直接尋址方式,指令能訪問多少內(nèi)存單元?
2)為了擴充指令的尋址范圍,可采用直接/間接尋址方式,若只增加一位直接/間接標(biāo)志,指令可尋址范圍為多少?指令直接尋址的范圍為多少?
一個完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求:
完備性
有效性規(guī)整性兼容性
三、指令系統(tǒng)的設(shè)計要求完備性是指用匯編語言編寫各種程序時,指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來實現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運行。高效率主要表現(xiàn)在程序占據(jù)存儲空間小、執(zhí)行速度快。規(guī)整性包括指令系統(tǒng)的對稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。1.對稱性是指在指令系統(tǒng)中所有的寄存器和存儲器單元都可同等對待,所有的指令都可使用各種尋址方式;2.勻齊性是指一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型;
3.指令格式和數(shù)據(jù)格式的一致性是指指令長度和數(shù)據(jù)長度有一定的關(guān)系,以方便處理和存取。兼容性
要能做到“向上兼容”,即低檔機上運行的軟件可以在高檔機上運行。要能做到“向后兼容”,即先生產(chǎn)機器上運行的軟件可以在后生產(chǎn)的機器上運行。輸入設(shè)備輸出設(shè)備入出接口和總線外存設(shè)備主存儲器高速緩存控制器運算器ADDSUBANDORMVRRSHRRCLOUTSTOREPUSHJUMPJRCCALLRETLOADPOPIN指令的功能分類算術(shù)與邏輯運算指令加、減、乘、除、變符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年航空安全員CET練習(xí)試卷附答案
- 當(dāng)宿舍長的心得體會
- 水滸傳的讀書心得100字
- 2024年新型環(huán)保家具供貨協(xié)議
- 2024年電氣系統(tǒng)定期檢查合同2篇
- 2024年智能化生產(chǎn)車間租賃及智能系統(tǒng)集成合同2篇
- 2024年游泳器材租賃合同3篇
- 2025年全國名校??甲魑模骸翱慈艘创蠊?jié)與最好從小處著眼”
- 2024年度電磁兼容檢測技術(shù)服務(wù)合同3篇
- 移動軟件開發(fā)課程設(shè)計
- 南充市市級事業(yè)單位2024年公招人員擬聘人員歷年管理單位遴選500模擬題附帶答案詳解
- 2024-2025學(xué)年上學(xué)期南京小學(xué)數(shù)學(xué)六年級期末模擬試卷
- 大學(xué)美育(同濟大學(xué)版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年湖北省工業(yè)建筑集團有限公司招聘筆試參考題庫含答案解析
- 10000中國普通人名大全
- 疫情索賠公式及相應(yīng)表格模板Excel
- 下肢動脈血栓相關(guān)知識
- 夏令營活動日程安排表
- C30P8普通混凝土配合比報告
- 數(shù)獨“六宮”練習(xí)題
- 武廣高鐵路基常見病害案例解析
評論
0/150
提交評論