第七章指令系統(tǒng)計算機組成原理_第1頁
第七章指令系統(tǒng)計算機組成原理_第2頁
第七章指令系統(tǒng)計算機組成原理_第3頁
第七章指令系統(tǒng)計算機組成原理_第4頁
第七章指令系統(tǒng)計算機組成原理_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、7.1 機器指令機器指令 7.2 操作數(shù)類型和操作類型操作數(shù)類型和操作類型 7.3 尋址方式尋址方式 7.4 指令格式舉例指令格式舉例 7.5 RISC 技術技術 一、指令的一般格式一、指令的一般格式 操作碼字段操作碼字段 地址碼字段地址碼字段1. 操作碼操作碼反映機器做什么操作反映機器做什么操作(1) 長度固定長度固定(2) 長度可變長度可變用于指令字長較長的情況用于指令字長較長的情況操作碼分散在指令字的不同字段中操作碼分散在指令字的不同字段中便于譯碼,擴展性差便于譯碼,擴展性差能縮短指令平均長度能縮短指令平均長度增加譯碼和分析的難度,使控制器復雜,增加譯碼和分析的難度,使控制器復雜,采用擴

2、展操作碼技術采用擴展操作碼技術 擴展操作碼技術擴展操作碼技術操作碼的位數(shù)隨地址數(shù)的減少而增加操作碼的位數(shù)隨地址數(shù)的減少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作碼位操作碼8 位操作碼位操作碼12 位操作碼位操作碼16 位操作碼位操作碼最多最多15條三地址指令條三地址指令最多最多15條二地址指

3、令條二地址指令最多最多15條一地址指令條一地址指令16條零地址指令條零地址指令操作碼的位數(shù)隨地址數(shù)的減少而增加操作碼的位數(shù)隨地址數(shù)的減少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作碼位操作碼8 位操作碼位操作碼12 位操作碼位操作碼16 位操作碼位操作碼三地址指令操作碼三地址指令操作碼每減少一

4、種可多構成每減少一種可多構成24 種二地址指令種二地址指令二地址指令操作碼二地址指令操作碼每減少一種可多構成每減少一種可多構成24 種一地址指令種一地址指令2. 地址碼地址碼(1) 四地址四地址(2) 三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作數(shù)地址第一操作數(shù)地址A2 第二操作數(shù)地址第二操作數(shù)地址A3 結果的地址結果的地址A4 下一條指令地址下一條指令地址若若 PC 代替代替 A4 ?(A1) OP (A2) A38 8 8 8 OP A1 A2 A3(A1) OP (A2) A3尋址范圍尋址范圍 26 = 64尋址范圍尋址范圍 28 = 256若若 A3 用用

5、A1 或或 A2 代替?代替?設指令字長為設指令字長為 32 位位操作碼固定為操作碼固定為 8 位位(3) 二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或若若ACC 代替代替 A1(或(或A2)(4) 一地址一地址(5) 零地址零地址OP A18 24無地址碼,例如:空操作(無地址碼,例如:空操作(NOP),停機停機(HLT), 子程序返回(子程序返回(RET)等。等。(ACC) OP (A1) ACC尋址范圍尋址范圍 212 = 4 K尋址范圍尋址范圍 224 = 16 M 二、指令字長二、指令字長指令字長決定于指令字長決定于操作碼

6、的長度操作碼的長度指令字長指令字長 = = 存儲字長存儲字長 2. 2. 指令字長指令字長 可變可變操作數(shù)地址的長度操作數(shù)地址的長度操作數(shù)地址的個數(shù)操作數(shù)地址的個數(shù) 1. 1. 指令字長指令字長 固定固定7.3 尋址方式尋址方式 程序程序y = ax + b存儲過程。存儲過程。 存儲器存儲器01234567891011(1) 定義變量定義變量 a, x, b, y問題一:問題一:程序和數(shù)據(jù)如何存儲?程序和數(shù)據(jù)如何存儲?(2) y= ax + b步驟分解步驟分解LDA 8MUL 9ADD 10STA 11 x a b y x a b y存儲器存儲器01234567891011LDA 8MUL 9

7、ADD 10STA 11 ? ENDPCPCPCPCPC ? ?問題二:問題二:CPU如何找到指令?如何找到指令? JMP 7PC (1) 順序尋址順序尋址 程序計數(shù)器程序計數(shù)器PC加加1,自動,自動形成下一條指令地址。形成下一條指令地址。(2) 跳躍尋址跳躍尋址下一條指令地址由指令下一條指令地址由指令的地址碼給出。的地址碼給出。 ALU CU ACC . R0 . JMP 7 HLT x a b y01234567891011LDA xMUL aADD bSTA yR8 指令格式指令格式 有效地址有效地址 EA操作數(shù)的真實地址操作數(shù)的真實地址 ,由,由尋址特征尋址特征和和形式地址形式地址共同

8、決定。共同決定。形式地址形式地址 A操作碼操作碼OP尋址特征尋址特征T 1. 直接尋址直接尋址操作數(shù)操作數(shù)M8 執(zhí)行階段訪問一次存儲器。執(zhí)行階段訪問一次存儲器。 A 的位數(shù)決定了操作數(shù)的尋址范圍。的位數(shù)決定了操作數(shù)的尋址范圍。形式地址形式地址A直接得到直接得到有效地址有效地址EA。尋址特點:尋址特點:LDA8M比較快地找比較快地找到操作數(shù)?到操作數(shù)? 2. 寄存器尋址寄存器尋址 操作數(shù)位于寄存器中操作數(shù)位于寄存器中, 指令中的指令中的形式地址形式地址A是是寄存寄存器標號器標號。操作數(shù)操作數(shù)R0R8R15寄存器寄存器LDA8R 執(zhí)行階段不訪存,執(zhí)行速度快。執(zhí)行階段不訪存,執(zhí)行速度快。 寄存器個數(shù)

9、較少,尋址空間有限。寄存器個數(shù)較少,尋址空間有限。尋址特點:尋址特點: 如何擴大如何擴大 尋址范圍?尋址范圍? 3. 立即尋址立即尋址 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 A 的位數(shù)限制了立即數(shù)的范圍的位數(shù)限制了立即數(shù)的范圍OP # A立即尋址特征立即尋址特征立即數(shù)立即數(shù) 可正可負可正可負 補碼補碼形式地址形式地址 A 就是操作數(shù)就是操作數(shù)4. 隱含尋址隱含尋址操作數(shù)地址隱含在操作碼中操作數(shù)地址隱含在操作碼中ADDA操作數(shù)操作數(shù)主存主存尋址特征尋址特征AACC暫存暫存ALU另一個操作數(shù)另一個操作數(shù)隱含在隱含在 ACC 中中如如 8086MUL 指令指令被乘數(shù)隱含在被乘數(shù)隱含在 AX(16位)

10、或位)或 AL(8位)中位)中MOVS 指令指令源操作數(shù)的地址隱含在源操作數(shù)的地址隱含在 SI 中中目的操作數(shù)的地址隱含在目的操作數(shù)的地址隱含在 DI 中中 指令字中少了一個地址字段,可縮短指令字長指令字中少了一個地址字段,可縮短指令字長5. 間接尋址間接尋址EA =(A) 有效地址由形式地址間接提供有效地址由形式地址間接提供OPA尋址特征尋址特征AEA主存主存EAA1EA A1主存主存 EA10 執(zhí)行指令階段執(zhí)行指令階段 2 次訪存次訪存 可擴大尋址范圍可擴大尋址范圍 便于編制程序便于編制程序OPA尋址特征尋址特征A一次間址一次間址多次間址多次間址操作數(shù)操作數(shù)操作數(shù)操作數(shù)多次訪存多次訪存 子

11、程序子程序主程序主程序8081201202調用子程序調用子程序調用子程序調用子程序間接尋址編程舉例間接尋址編程舉例(A) = 81(A) = 202 間址特征間址特征JMP A EA = ( Ri )6. 寄存器間接尋址寄存器間接尋址 有效地址在寄存器中,有效地址在寄存器中, 操作數(shù)在存儲器中,執(zhí)行階段訪存操作數(shù)在存儲器中,執(zhí)行階段訪存操作數(shù)操作數(shù)主存主存OPRi尋址特征尋址特征 便于編制循環(huán)程序便于編制循環(huán)程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中7. 基址尋址基址尋址(1) (1) 采用采用專用寄存器專用寄存器作基址寄存器作基址寄存器(2)(2) 采用采用通用

12、寄存器通用寄存器作基址寄存器作基址寄存器操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUALUOPOPR R0 0A AR R0 0 作基址寄存器作基址寄存器 由用戶指定哪個通用寄存器作為基址寄存器由用戶指定哪個通用寄存器作為基址寄存器通用寄存器通用寄存器R R0 0R Rn n-1-1R R1 1 基址寄存器的內容由基址寄存器的內容由操作系統(tǒng)操作系統(tǒng)確定確定 程序執(zhí)行過程中程序執(zhí)行過程中 R R0 0 內容不變,形式地址內容不變,形式地址 A A 可變可變8. 8. 變址尋址變址尋址EA = ( IX ) +AEA = ( IX ) +AOPOPA A操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUAL

13、UIXIX 可擴大尋址范圍可擴大尋址范圍 便于處理便于處理數(shù)組問題數(shù)組問題 IX IX 的內容由用戶給定的內容由用戶給定 IX IX 為變址寄存器(專用)為變址寄存器(專用) 程序執(zhí)行過程程序執(zhí)行過程 IX IX 內容可變內容可變, ,形式地址形式地址 A A 不變不變通用寄存器也可以作為變址寄存器通用寄存器也可以作為變址寄存器 9. 9. 相對尋址相對尋址 EA = ( PC ) + A EA = ( PC ) + A A A 是相對于當前指令的位移量(可正可負,補碼)是相對于當前指令的位移量(可正可負,補碼) A A 的位數(shù)決定操作數(shù)的尋址范圍的位數(shù)決定操作數(shù)的尋址范圍 程序浮動程序浮動

14、廣泛用于轉移指令廣泛用于轉移指令操作數(shù)操作數(shù)尋址特征尋址特征ALUALUOPOPA A相對距離相對距離 A A10001000PCPC 主存主存10001000A AOPOP例例7.2 設相對尋址的轉移指令占設相對尋址的轉移指令占3個字節(jié),第一字個字節(jié),第一字節(jié)為操作碼,第二,三字節(jié)為相對位移量(補碼節(jié)為操作碼,第二,三字節(jié)為相對位移量(補碼表示),而且數(shù)據(jù)在存儲器中采用以低字節(jié)地址表示),而且數(shù)據(jù)在存儲器中采用以低字節(jié)地址為字地址的存放方式,每當為字地址的存放方式,每當CPU從存儲器取出一從存儲器取出一個字節(jié)時,即自動完成個字節(jié)時,即自動完成(PC)+1PC.1)若若PC當前值為當前值為24

15、0(十進制),要求轉移到(十進制),要求轉移到290(十進制),則轉移指令的第二三字節(jié)的機器代(十進制),則轉移指令的第二三字節(jié)的機器代碼是什么?碼是什么?2)如)如PC當前值為當前值為240(十進制),要求轉移到(十進制),要求轉移到200(十進制),則轉移指令的第二三字節(jié)的機器(十進制),則轉移指令的第二三字節(jié)的機器代碼是什么?代碼是什么?10. 堆棧尋址堆棧尋址(1) 堆棧的特點堆棧的特點堆棧堆棧硬堆棧硬堆棧軟堆棧軟堆棧多個寄存器多個寄存器指定的存儲空間指定的存儲空間先進后出先進后出(一個入出口)(一個入出口) 棧頂?shù)刂窏m數(shù)刂?由由 SP 指出指出 11FFFH +12000 H進棧進

16、棧 (SP) 1 SP出棧出棧 (SP)+ 1 SP棧頂棧頂棧底棧底2000 HSP2000 H1FFF HSP1FFFH棧頂棧頂棧底棧底進棧進棧出棧出棧 1FFF H棧頂棧頂 2000 H棧頂棧頂(2) 堆棧尋址舉例堆棧尋址舉例15200HACCSPX棧頂棧頂200H棧底棧底主存主存151FFHACCSP15棧頂棧頂200H棧底棧底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX棧頂棧頂200H棧底棧底主存主存151FFH15200HACCSP棧頂棧頂200H棧底棧底主存主存X15(3) SP 的修改與主存編址方法有關的修改與主存編

17、址方法有關 按按 字字 編址編址進棧進棧出棧出棧(SP) 1 SP(SP)+ 1 SP 按按 字節(jié)字節(jié) 編址編址存儲字長存儲字長 16 位位進棧進棧出棧出棧(SP) 2 SP(SP)+ 2 SP存儲字長存儲字長 32 位位進棧進棧出棧出棧(SP) 4 SP(SP)+ 4 SP問問: :下圖所指的尋址方式的名稱下圖所指的尋址方式的名稱: : 操作操作操作數(shù)操作數(shù) 指令指令 操作碼操作碼 寄存器寄存器 指令指令 操作數(shù)操作數(shù) R 操操作作碼碼 存存儲儲器器 指指令令 操操作作數(shù)數(shù) A 操操作作碼碼 操操作作數(shù)數(shù) A 存存儲儲器器 寄寄存存器器 指指令令 R 存存儲儲器器 指指令令 操操作作碼碼 操

18、操作作數(shù)數(shù) A A 操操作作碼碼 操操作作數(shù)數(shù) PC 指指令令 存存儲儲器器 A I A 存存儲儲器器 寄寄存存器器 R 指指令令 操操作作碼碼 操操作作數(shù)數(shù) 一、設計指令格式時應考慮的各種因素一、設計指令格式時應考慮的各種因素1. 指令系統(tǒng)的指令系統(tǒng)的 兼容性兼容性 (向上兼容)(向上兼容)2. 其他因素其他因素操作類型操作類型數(shù)據(jù)類型數(shù)據(jù)類型指令格式指令格式包括指令個數(shù)及操作的難易程度包括指令個數(shù)及操作的難易程度指令字長是否固定指令字長是否固定尋址方式尋址方式寄存器個數(shù)寄存器個數(shù)地址碼位數(shù)、地址個數(shù)、尋址方式類型地址碼位數(shù)、地址個數(shù)、尋址方式類型操作碼位數(shù)、是否采用擴展操作碼技術,操作碼位

19、數(shù)、是否采用擴展操作碼技術,確定哪些數(shù)據(jù)類型可參與操作確定哪些數(shù)據(jù)類型可參與操作指令尋址、操作數(shù)尋址指令尋址、操作數(shù)尋址寄存器的多少直接影響指令的執(zhí)行時間寄存器的多少直接影響指令的執(zhí)行時間3. Intel 8086(1) 指令字長指令字長(2) 地址格式地址格式1 6 個字節(jié)個字節(jié)MOV WORD PTR0204, 0138H 6 字節(jié)字節(jié)INC AX 1 字節(jié)字節(jié)一地址一地址NOP 1 字節(jié)字節(jié)CALL段內調用段內調用 3 字節(jié)字節(jié)零地址零地址 5 字節(jié)字節(jié)段間調用段間調用寄存器寄存器 寄存器寄存器寄存器寄存器 立即數(shù)立即數(shù)寄存器寄存器 存儲器存儲器ADD AX,BX 2 字節(jié)字節(jié)ADD A

20、X,3048H 4 字節(jié)字節(jié)ADD AX,3048H 3 字節(jié)字節(jié)二地址二地址CALL例例7.4 某機字長某機字長16位,存儲器直接尋址空間為位,存儲器直接尋址空間為128字,變字,變址時的位移量為址時的位移量為-64+63,16個通用寄存器均可作為變址個通用寄存器均可作為變址寄存器。設計一套指令系統(tǒng)格式,滿足下列尋址類型的寄存器。設計一套指令系統(tǒng)格式,滿足下列尋址類型的要求:要求:(1)直接尋址的二地址指令)直接尋址的二地址指令3條條(2)變址尋址的一地址指令)變址尋址的一地址指令6條條(3)寄存器尋址的二地址指令)寄存器尋址的二地址指令8條條(4)直接尋址的一地址指令)直接尋址的一地址指令

21、12條條(5)零地址指令)零地址指令32條。條。 試問還有多少種代碼未用。試問還有多少種代碼未用。例例 7.5 設某機配有基址寄存器和變址寄存器,采用設某機配有基址寄存器和變址寄存器,采用一地址格式的指令系統(tǒng),允許直接和間接尋址,且一地址格式的指令系統(tǒng),允許直接和間接尋址,且指令字長、機器字長和存儲字長都為指令字長、機器字長和存儲字長都為16位。位。(1)若采用單字長指令,共能完成)若采用單字長指令,共能完成105種操作,則種操作,則指令可直接尋址的范圍是多少?一次間接尋址的尋指令可直接尋址的范圍是多少?一次間接尋址的尋址范圍是多少?畫出其指令格式并說明各字段的含址范圍是多少?畫出其指令格式并

22、說明各字段的含義?義?(2)若存儲字長不變,可采用什么方法直接訪問容)若存儲字長不變,可采用什么方法直接訪問容量為量為16MB的主存?的主存?例例 7.6 某模型機共有某模型機共有64種操作,操作碼位數(shù)固定,且種操作,操作碼位數(shù)固定,且具有以下特點具有以下特點 (1)采用一地址或二地址格式)采用一地址或二地址格式 (2)有寄存器尋址、直接尋址和相對尋址(位移量)有寄存器尋址、直接尋址和相對尋址(位移量為為-128+127)三種尋址方式。)三種尋址方式。 (3)有)有16個通用寄存器,算術運算和邏輯運算的操個通用寄存器,算術運算和邏輯運算的操作數(shù)均在寄存器中,結果也在寄存器中。作數(shù)均在寄存器中,

23、結果也在寄存器中。 (4)取數(shù))取數(shù)/存數(shù)指令在寄存器和存儲器之間傳送數(shù)據(jù)。存數(shù)指令在寄存器和存儲器之間傳送數(shù)據(jù)。 (5)存儲器容量為)存儲器容量為1MB,按字節(jié)編址。,按字節(jié)編址。 要求設計算邏指令,取數(shù)要求設計算邏指令,取數(shù)/存數(shù)指令和相對轉移指令存數(shù)指令和相對轉移指令的格式,并簡述理由。的格式,并簡述理由。例例7.7 設某機共能完成設某機共能完成110種操作,種操作,CPU有有8個通用寄個通用寄存器(存器(16位),主存容量為位),主存容量為4M字,采用寄存器字,采用寄存器-存儲存儲器型指令。器型指令。(1)欲使指令可直接訪問主存的任一地址,指令字)欲使指令可直接訪問主存的任一地址,指令

24、字長應取多少為,畫出指令格式。長應取多少為,畫出指令格式。 (2)若在上述設計的指令字中設置一尋址特征位)若在上述設計的指令字中設置一尋址特征位X,且且X=1表示某個寄存器作基址寄存器,畫出指令格式。表示某個寄存器作基址寄存器,畫出指令格式。試問基址尋址可否訪問主存的任一單元?提出一種試問基址尋址可否訪問主存的任一單元?提出一種方案可以訪問主存任一位置。方案可以訪問主存任一位置。 (3)若主存容量擴大到)若主存容量擴大到4G字,且存儲字長等于指字,且存儲字長等于指令字長,則在不改變上述硬件結構的前提下,可采令字長,則在不改變上述硬件結構的前提下,可采用什么方法使指令可訪問存儲器的任一位置。用什么方法使指令可訪問存儲器的任一位置。二、二、RISC RISC 的主要特征的主要特征 選用使用頻度較高的一些選用使用頻度較高的一些 簡單指令簡單指令, 復雜指令的功

溫馨提示

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

評論

0/150

提交評論