版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第3章尋址方式與指令系統(tǒng)第3章尋址方式與指令系統(tǒng)主要內(nèi)容:3.1指令格式與指令系統(tǒng)設(shè)計3.2尋址方式3.3指令類型3.4CISC與RISC3.1指令格式與指令系統(tǒng)設(shè)計
3.1.1指令格式3.1.2指令字長
3.1.3指令的地址碼
3.1.4指令的操作碼3.1.5指令系統(tǒng)設(shè)計3.1.1機器指令格式指令:是指計算機執(zhí)行某種操作的命令。指令系統(tǒng):一臺計算機所能執(zhí)行的各種指令的總和。指令基本格式如下圖:操作碼說明操作的性質(zhì)及功能地址碼描述指令的操作對象,由地址碼可以給出操作數(shù)或操作數(shù)的地址,及操作結(jié)果的存放地址OPAddr操作碼字段θ地址碼字段D3.1.1機器指令格式1.操作碼:指示操作的類型,即要求計算機執(zhí)行的操作,如加、減、乘、除等。2.操作數(shù)或操作數(shù)地址:指令中應(yīng)給出參與運算的數(shù)據(jù)或指出這些數(shù)據(jù)的存放位置3.存放運算結(jié)果的地址:運算完成后所得結(jié)果的存放位置。4.后繼指令地址:在一個由指令序列構(gòu)成的程序中,執(zhí)行完一條指令后,需要指出下一條要執(zhí)行指令的存放位置。在一條指令中應(yīng)包含一個操作碼和一個或多個地址碼。操作碼θ操作數(shù)1地址操作數(shù)2地址運算結(jié)果地址后繼指令地址3.1.2指令字長指令字長是指一個指令所包含的二進制代碼的位數(shù)。指令長度=操作碼的長度+地址碼的長度
1.變字長指令優(yōu)點:指令字長因功能而異,結(jié)構(gòu)靈活,合理利用存儲空間,廣泛被復(fù)雜指令系統(tǒng)CISC采用缺點:控制復(fù)雜2.定字長指令特點:所有指令字長度均相同,且不變。優(yōu)點:指令執(zhí)行速度快,結(jié)構(gòu)簡單,便于控制,廣泛被精簡指令系統(tǒng)RISC使用思考:CPU怎么知道這條指令有多少字節(jié)?3.1.3指令的地址碼指令中的地址:共4個兩個操作數(shù)的地址、運行結(jié)果的地址、后繼指令地址指令提供地址的方式:顯地址方式:指令中明顯指明地址。隱地址方式:地址隱含約定,不出現(xiàn)在指令中。直接或間接給出思考:1.操作數(shù)隱含約定在哪?2.為什么要隱含約定?
使用隱地址可以減少指令中的地址數(shù),簡化地址結(jié)構(gòu)。
寄存器、堆棧。3.1.3指令的地址碼1.三地址指令格式指令功能:(A1)OP(A2)→A3 (PC)+
1→PC【例】“加”操作(X)+(Y)→Z,使用三地址指令時,可使用下面指令:ADDX,Y,Z;OPA1操作碼操作數(shù)1地址A2A3操作數(shù)2地址結(jié)果存放地址隱含后繼指令地址3.1.3指令的地址碼2.二地址指令格式指令功能:(A1)OP(A2)→A1 (PC)+1→PC 【例】“加”操作(X)+(Y)→Z,使用二地址指令時,可使用下面指令:ADDX,Y;MOVZ,X;OPA1操作碼目的操作數(shù)地址A2源操作數(shù)地址隱含后繼指令地址和運算結(jié)果地址3.1.3指令的地址碼3.一地址指令格式(1)只有目的操作數(shù)的單操作數(shù)指令指令功能:OP(A)→A (PC)+1→PC(2)隱含約定目的地址的雙操作數(shù)指令指令功能:(A)OP(AC)→AC (PC)+1→PCOPA操作碼地址碼隱含后繼指令地址和、源操作數(shù)地址和運算結(jié)果地址3.1.3指令的地址碼4.零地址指令格式(1)不需要操作數(shù)的指令 例如:停機指令和空操作指令。(2)單操作數(shù)指令 隱含約定操作數(shù)在累加器AC中。指令功能:OP(AC)→AC(3)雙操作數(shù)指令 操作數(shù)事先存放在堆棧中,由堆棧指針SP隱含指出。
例如:push表示(AC)→SP,而pop表示(SP)→ACOP操作碼
3.1.4指令的操作碼1.定長操作碼,變長指令碼操作碼的長度及位置固定,放在指令字的第一個字段中,其余字段均為地址碼常用于指令字較長,或是采用可變長指令格式的情況2.變長操作碼、定長指令碼操作碼長度不定(可擴展),但指令字長固定3.單功能型或復(fù)合型操作碼前者只表示一種操作,優(yōu)點是能快速識別并執(zhí)行。后者可表示多種操作例3-1設(shè)某機器指令長度為16位,包括1個操作碼字段和3個地址碼字段,每個字段長度均為4位?,F(xiàn)在要求擴展為15條三地址指令、15條二地址指令、15條一地址指令及16條零地址指令。試給出擴展操作碼的方案。該指令格式如下:OPA1操作碼字段地址碼字段A2A3地址碼字段地址碼字展方案的示意圖OPA1A2A3151211874300000……1110A2……A2A1……A1A1A3……A31111……11110000……11101111……1111A1A3……A31111……1111A2……A20000……1110A1A3……A31111……11111111……11111111……1111A10000……111115條三地址指令15條二地址指令15條一地址指令16條零地址指令3.1.5指令系統(tǒng)的設(shè)計
1.指令系統(tǒng)的設(shè)計原則(1)完備性:功能完善(2)正交性:不同含義的字段在編時互相獨立,互不相干(3)有效性:占空間少,執(zhí)行速度快 (4)規(guī)整性:格式一致、整齊,便于存取和處理(5)兼容性(6)可擴展性
2.指令系統(tǒng)的設(shè)計步驟(1)根據(jù)應(yīng)用,初擬出指令的分類和具體的指令;(2)試編出用該指令系統(tǒng)設(shè)計的各種高級語言的編譯程序;(3)各種算法編寫大量測試程序進行模擬測試,看指令系統(tǒng)的操作碼和尋址方式效能是否比較高。(4)將程序中高頻出現(xiàn)的指令串復(fù)合改成一條強功能新指令,即改用硬件方式實現(xiàn);而將頻度很低的指令的操作改成用基本的指令組成的指令串來完成,即用軟件方式實現(xiàn)。3.2.1指令的尋址方式所謂尋址方式就是尋找指令或操作數(shù)的有效地址的方法或途徑。從硬件角度,它決定了硬件結(jié)構(gòu)的設(shè)計;從軟件角度,它決定了編譯系統(tǒng)和匯編程序的設(shè)計方法。1.順序?qū)ぶ贩绞街噶顚ぶ贰页鱿乱粭l將要執(zhí)行的指令在存儲器中的地址。
存儲器指令n……指令n+1指令n+2……指令n+m……指令寄存器PC+1nn+12.跳躍尋址方式 該方式可以實現(xiàn)程序轉(zhuǎn)移或構(gòu)成循環(huán)程序,從而能縮短程序長度,或?qū)⒛承┏绦蜃鳛楣渤绦蛞?。存儲器指令n……轉(zhuǎn)移地址(m)指令n+1……指令m指令寄存器PC+1nm3.2.2操作數(shù)的尋址方式1.立即尋址2.存儲器直接尋址3.寄存器直接尋址
4.存儲器間接尋址5.寄存器間接尋址6.變址尋址7.基址尋址8.相對尋址9.頁面尋址10.堆棧尋址操作數(shù)尋址方式概述操作數(shù)可能存放的位置(1)直接包含在指令中,指令中給出操作數(shù)的值(2)在CPU的某個寄存器中,指令中給出寄存器號(3)在某主存單元中,指令中給出主存單元地址碼(4)在堆棧中,由棧頂指針SP提供地址(隱)(5)在某個I/O接口的寄存器中幾個概念形式地址:表示指令中的地址碼不能直接用來訪問主存。有效地址:對形式地址進行一定計算后得到的存放操作數(shù)的內(nèi)存實際地址。1.立即尋址OP立即數(shù)……M操作碼θ立即數(shù)S在指令中直接給出操作數(shù)。定長格式:變長格式:基本指令
立即數(shù)S主要用來提供常數(shù)、設(shè)置初值等。操作數(shù)在指令中,其長度固定、有限。操作數(shù)在基本指令之后,其長度可變。2.存儲器直接尋址(直接尋址)OPEA……M操作數(shù)主存…………EA在指令中直接給出操作數(shù)的主存地址。操作數(shù)地址操作數(shù)M優(yōu)點:較為簡單,無需作尋址計算。操作碼θ主存地址A
格式操作數(shù)S=(EA)例3-2設(shè)指令中的地址碼EA為2001H,主存部份地址及相應(yīng)存儲內(nèi)容關(guān)系如下表所示:地址存儲內(nèi)容2000H3BA0H2001H1200H2002H2A01H請問,如果按直接尋址,則所讀取的操作是什么?1200H3.寄存器直接尋址(寄存器尋址)OPRx……尋址方式字段操作數(shù)Rx優(yōu)點:可以有效縮短指令長度;指令的運行速度快;由指令給出操作數(shù)的寄存器號。操作碼θ寄存器號R格式寄存器號操作數(shù)R操作數(shù)S=(R)例3-3設(shè)指令中所給的寄存器號為001,CPU各寄存器的內(nèi)容如下表所示:寄存器號存儲內(nèi)容R02101HR12A01HR23BA0HR31200H請問,如果按寄存器尋址,則所讀取的操作是什么?2A01H4.存儲器間接尋址(間接尋址)在指令中給出操作數(shù)內(nèi)存地址的內(nèi)存地址。
OPA……MEA主存…………A操作數(shù)……EA優(yōu)點:較為靈活,便于編程;可用較短的地址碼來訪問較大的存儲空間。缺點:指令執(zhí)行的速度較慢格式操作碼θ間接地址AEA=(A),操作數(shù)S=((A))間址單元地址操作數(shù)地址MM操作數(shù)例3-4設(shè)指令中的地址碼EA為2001H,主存部份地址及相應(yīng)存儲內(nèi)容關(guān)系如下表所示:地址存儲內(nèi)容2000H3BA0H2001H2003H2002H2A01H2003H1200H請問,如果按間接尋址,則所讀取的操作是什么?1200H5.寄存器間接尋址OPRx……M主存…………Rx操作數(shù)……EAEA在指令中給出操作數(shù)內(nèi)存地址的寄存器號。
格式操作碼θ間接地址RxEA=(R),操作數(shù)S=((R))寄存器號操作數(shù)地址RM操作數(shù)例3-5寄存器號寄存內(nèi)容主存地址存儲內(nèi)容R02101H2000H3BA0HR12002H2001H2002HR23BA0H2002H2A01HR31200H2003H1200H請問,如果按寄存器間接尋址,則所讀取的操作是什么?2A01H設(shè)指令中所給的寄存器號為001,CPU各寄存器及相關(guān)主存單元的內(nèi)容如下表所示:寄存器號操作數(shù)地址RM操作數(shù)R內(nèi)容加1(1)自增型寄存器間址(2)自減型寄存器間址操作數(shù)S=-(R)寄存器號R內(nèi)容先減1,減后的結(jié)果為操作數(shù)地址RM操作數(shù)操作數(shù)S=(R)+兩種特殊的寄存器間接尋址6.變址尋址OPD……M主存…………Rx操作數(shù)……EA變址值Rx+EA=(Rx)+D格式操作碼θRXD變址量(可變)形式地址(不變)指令給出寄存器號和形式地址,寄存器內(nèi)容(變址量)與形式地址之和為有效地址。面向用戶,用于字符串、數(shù)組等操作,D為首地址。例3-6設(shè)指令中所給的寄存器號為001,形式地址為2000H,各寄存器及相關(guān)主存單元的存儲內(nèi)容所下表所示:寄存器號寄存內(nèi)容主存地址存儲內(nèi)容R02101H2000H3BA0HR10002H2001H2002HR23BA0H2002H2A01HR31200H2003H1200H請問,如果按變址尋址,則所讀出的操作數(shù)是什么?2A01H7.基址尋址OPD……M主存…………Rb操作數(shù)……EA基址值Rb+格式基址寄存器號指令給出一個寄存器號和一個形式地址(也稱位移量),寄存器內(nèi)容與位移量之和為有效地址。操作碼θRb
D位移量EA=(Rb)+D基準(zhǔn)地址(可變)位移量(不變)面向系統(tǒng),解決程序在主存中的重定位問題。實例演示設(shè)指令中所給的寄存器號為001,形式地址為0010H,各寄存器及相關(guān)主存單元的存儲內(nèi)容所下表所示:寄存器號寄存內(nèi)容主存地址存儲內(nèi)容R02101H2000H3BA0HR12000H…………R23BA0H2010H2A01HR31200H…………請問,如果按基址尋址,則所讀出的操作數(shù)是什么?2A01H8.相對尋址(基址尋址的特例)OPD……M主存現(xiàn)行指令……PC操作數(shù)……EA現(xiàn)行指令地址A+……A格式指令給出位移量,程序計數(shù)器PC內(nèi)容與位移量之和為有效地址。位移量操作碼θPC
D或隱含指定EA=(PC)+DD的取值可為正負(fù),因此有效地址就相對當(dāng)前指令位置上下浮動,給編程帶來方便。9.頁面尋址格式指令給出位移量D,PC的高位部分與D拼接,形成有效地址。位移量操作碼θPC
D或隱含指定操作數(shù)S=((PC)H,D)例.M為64KB,劃分為256頁,每頁256B。頁號頁內(nèi)地址PC0165H7C.........017CHS頁面尋址指令位移量例3-7假設(shè)主存空間分頁存儲,PC高字節(jié)代表頁號,某指令的形式地址為10H,各寄存器及相關(guān)主存單元的存儲內(nèi)容所下表所示:寄存器號寄存內(nèi)容主存地址存儲內(nèi)容PC2004H2000H3BA0HR12000H…………R23BA0H2010H2A01HR31200H…………請問,如果按頁面尋址,則所讀出的操作數(shù)是什么?2A01H10.堆棧尋址入棧:SP=SP-1出棧:SP=SP+13.3指令類型3.3.1數(shù)據(jù)傳送類指令3.3.2輸入/輸出指令3.3.3算術(shù)運算指令3.3.4邏輯運算指令3.3.5移位操作指令(略)3.3.6程序控制指令3.3.7串操作類指令(略)3.3.8其他指令(略)設(shè)計時的考慮因素:(1)規(guī)定傳送范圍例.DJS-100系列:80X86:IBM370:RMRM,RRRM,RR,MM解釋:傳送就是復(fù)制.主存中數(shù)據(jù)復(fù)制,還可以被多次使用.堆棧指針下移,視為數(shù)據(jù)不再存在.數(shù)據(jù)傳送類指令MOV、XCHG、PUSH/POP
(2)指明傳送單位MOVB
8MOVAX,BX
MOVW
16MOVL
32MOVAL,BL
MOVEAX,EBX
81632(3)設(shè)置尋址方式VAX-11機:X086機:思考:CPU怎么知道一條指令的尋址方式?各種信息主機外設(shè)信息:數(shù)據(jù)命令狀態(tài)輸入輸出指令=主機對外設(shè)的訪問=對外設(shè)接口寄存器的訪問輸入/輸出指令設(shè)計時的考慮因素:I/O指令的功能擴展主機對外設(shè)的尋址方式I/O指令設(shè)置方式統(tǒng)一編址,使用傳送指令獨立端口,使用專用指令I(lǐng)N或OUT例如假設(shè)采用通用的傳送指令實現(xiàn)I/O操作,I/O接口包含3個寄存器且通過數(shù)據(jù)總線與CPU相連接。各寄存器的地址和內(nèi)容分別如下表所示:寄存器寄存地址存儲內(nèi)容數(shù)據(jù)寄存器FF00HA0H命令字寄存器FF01H01H狀態(tài)字寄存器FF02H0FH試指出以下指令可能的含義或執(zhí)行結(jié)果:MOVFF01H,R0MOVR1,FF02HMOVR2,FF00HMOVFF00H,R3
設(shè)置時需考慮操作數(shù)類型、符號、進制等;算術(shù)邏輯運算指令
加ADD,減SUB,加1INC,減1DEC,求補NEG,比較CMP,乘MUL,除DIV等
運算結(jié)束后設(shè)置相應(yīng)狀態(tài)標(biāo)志。邏輯運算指令利用邏輯“與”實現(xiàn)位測試:例如,若要測試AL3,則可設(shè)置屏蔽字為“08H”。執(zhí)行TESTAL,08H利用邏輯“與”實現(xiàn)位分離:例如,若要分離出AL3~0,則可設(shè)置屏蔽字為“0FH”。執(zhí)行ANDAL,0FH利用邏輯“與”實現(xiàn)位清除:例如,若要清除AL3,則可設(shè)置屏蔽字為“F7H”。執(zhí)行ANDAL,F(xiàn)7H利用邏輯“或”實現(xiàn)位設(shè)置:例如,若要設(shè)置AL4=1,則可設(shè)置屏蔽字為“10H”執(zhí)行ORAL,10H利用邏輯“異或”實現(xiàn)位修改:例如,若要得AL的反碼,則可設(shè)置屏幕字為“7FH”執(zhí)行XORAL,7FH包含:邏輯與、邏輯或、邏輯非、邏輯異或應(yīng)用:可實現(xiàn)位測試、位清除、位設(shè)置、位修改等操作例如:設(shè)目的操作數(shù)AL=“11101011”(1)轉(zhuǎn)移指令程序控制指令(2)轉(zhuǎn)子指令與返回指令轉(zhuǎn)子:操作碼子程序入口無條件轉(zhuǎn)移條件轉(zhuǎn)移循環(huán):操作碼轉(zhuǎn)移地址:操作碼轉(zhuǎn)移地址轉(zhuǎn)移條件:轉(zhuǎn)移條件為循環(huán)計數(shù)值返回:操作碼返回地址同一條返回指令應(yīng)能提供多個不同的返回地址。返回地址的存?。河枚褩4娣欧祷氐刂?。(3)軟中斷指令程序自陷指令表示不同的功能調(diào)用…調(diào)試程序………早期,主要用于程序的調(diào)試?,F(xiàn)在,常用于系統(tǒng)功能調(diào)用。以INTn
的形式出現(xiàn)在程序中。(4)轉(zhuǎn)移條件:根據(jù)程序狀態(tài)字的標(biāo)志位決定轉(zhuǎn)移。進位位C—若有進位,則C=1(JC),否則C=0(JNC);正負(fù)位N—若結(jié)果為負(fù)數(shù),則N=1(JS),否則N=0(JNS);溢出位V—若有溢出發(fā)生,則V=1(JO),否則V=0(JNO);奇偶位P—代碼中有奇數(shù)個“1”時,P=1(JP),否則P=0(JNP);零標(biāo)志Z—若結(jié)果為“0”,則Z=1(JZ),否則Z=0(JNZ)。3.4CISC和RISC3.5.1按CISC方向發(fā)展與改進指令系統(tǒng)CISC(即ComplexInstructionSetComputer,復(fù)雜指令系統(tǒng)計算機)3.5.2按RISC方向發(fā)展與改進指令系統(tǒng)RISC(即ReducedInstructionSetComputing,精簡指令系統(tǒng)計算機)3.5.3Intel80x86指令集的發(fā)展(自學(xué))3.4.1按CISC方向發(fā)展與改進指令系統(tǒng)基本思路:增加新指令,減少目標(biāo)程序占用的存儲空間,減少程序執(zhí)行中的訪存次數(shù),縮短指令的執(zhí)行時間,以提高程序的運行速度。具體方案:1.面向目標(biāo)程序優(yōu)化實現(xiàn)改進2.面向高級語言優(yōu)化實現(xiàn)改進3.面向操作系統(tǒng)實現(xiàn)改進面向目標(biāo)程序優(yōu)化實現(xiàn)改進CISC方法1:通過對大量已有機器語言程序及其執(zhí)行情況進行統(tǒng)計各種指令和指令串的使用頻度來加以分析和改進。例如:取消低頻指令,用新指令替代高頻指令串等。方
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)數(shù)學(xué)新人教版一年級下冊20以內(nèi)口算練習(xí)題大全
- 遼寧工程技術(shù)大學(xué)《建筑工程概預(yù)算課程設(shè)計A》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省瀘州市納溪區(qū)2024年中考數(shù)學(xué)適應(yīng)性考試試題含答案
- 九州職業(yè)技術(shù)學(xué)院《數(shù)字化運營管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《兒童文學(xué)與兒童劇創(chuàng)編》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉安幼兒師范高等專科學(xué)?!缎竽廖⑸飳W(xué)實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南理工學(xué)院《導(dǎo)游實務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北生物科技職業(yè)學(xué)院《歷史學(xué)綜合素質(zhì)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《彈力》(教學(xué)設(shè)計)-2024-2025學(xué)年人教版(2024)初中物理八年級下冊
- 高考物理模擬測試題(含答案)
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- 原油脫硫技術(shù)
- 部編版初中語文七至九年級語文教材各冊人文主題與語文要素匯總一覽表合集單元目標(biāo)能力點
- 工程項目收入情況統(tǒng)計表
- GB/T 29490-2013企業(yè)知識產(chǎn)權(quán)管理規(guī)范
- GB/T 14436-1993工業(yè)產(chǎn)品保證文件總則
- 湖南省鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心地址醫(yī)療機構(gòu)名單目錄
- 《中外資產(chǎn)評估準(zhǔn)則》課件第6章 英國評估準(zhǔn)則
- FZ∕T 63006-2019 松緊帶
- 罐區(qū)自動化系統(tǒng)總體方案(31頁)ppt課件
- 工程建設(shè)項目內(nèi)外關(guān)系協(xié)調(diào)措施
評論
0/150
提交評論