計算機組成原理JLP_3.2_第1頁
計算機組成原理JLP_3.2_第2頁
計算機組成原理JLP_3.2_第3頁
計算機組成原理JLP_3.2_第4頁
計算機組成原理JLP_3.2_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 CPU子系統(tǒng)SCS-SWPU第3章 CPU子系統(tǒng)概概 述述3.1指令系統(tǒng)指令系統(tǒng)3.2運算部件運算部件3.3組合邏輯控制方式組合邏輯控制方式3.4微程序控制方式微程序控制方式3.53.6CPU的基本模型重點難點3.43.7CPU性能的提升技術計算機組成原理計算機組成原理 2009 SCS-SWPU3計算機處理的對象計算機處理的對象計算機中的計算機中的信息信息控制信息控制信息數(shù)據(jù)數(shù)據(jù)數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)指令信息指令信息 計算機中的信息表示計算機組成原理計算機組成原理 2009 SCS-SWPU4 指令:讓計算機完成某種操作的命令指令:讓計算機完成某種操作的命令 指

2、令系統(tǒng):一臺計算機所能執(zhí)行的全部指令指令系統(tǒng):一臺計算機所能執(zhí)行的全部指令 不同系列的計算機有不同的指令系統(tǒng);不同系列的計算機有不同的指令系統(tǒng); 指令越豐富功能越強,計算機結構越復雜指令越豐富功能越強,計算機結構越復雜 ; 是用戶編制程序的依據(jù),設計一臺計算機的基本出發(fā)點。是用戶編制程序的依據(jù),設計一臺計算機的基本出發(fā)點。 3.2 指令系統(tǒng)計算機組成原理計算機組成原理 2009 SCS-SWPU51指令的格式2指令的尋址方式3指令的功能和類型3.2 指令系統(tǒng)計算機組成原理計算機組成原理 2009 SCS-SWPU63.2.1 指令格式1、指令中的基本信息 機器指令的基本格式 操作碼:告訴計算機

3、做什么或執(zhí)行什么操作操作碼:告訴計算機做什么或執(zhí)行什么操作 (1 1)操作數(shù)或操作數(shù)地址)操作數(shù)或操作數(shù)地址 地址碼地址碼 (2 2)存放運算結果的地址)存放運算結果的地址 (3 3)后繼指令地址(常以隱含方式給出)后繼指令地址(常以隱含方式給出)顯地址顯地址 和和隱地址隱地址地址碼結構地址碼結構操作碼結構操作碼結構提高計算機提高計算機性能為目的性能為目的計算機組成原理計算機組成原理 2009 SCS-SWPU7(0) 四地址指令其中其中: Ai表示地址表示地址,可以是寄存器號,也可以是可以是寄存器號,也可以是 主存單元的地址碼;主存單元的地址碼; (Ai)表示存放于該地址的內容表示存放于該地

4、址的內容; A4明確表示下條將要執(zhí)行指令的地址明確表示下條將要執(zhí)行指令的地址; A4常隱含給出,四地址指令很少采用常隱含給出,四地址指令很少采用. .(A4)PC2.3.1 指令格式2、指令中的地址結構計算機組成原理計算機組成原理 2009 SCS-SWPU8(1) 三地址指令 特點: 若若A1A1、A2A2、A3A3為內存地址為內存地址 則執(zhí)行該指令需要訪問則執(zhí)行該指令需要訪問次次主存。主存。 根據(jù)根據(jù)PCPC的內容,取指令;的內容,取指令; 根據(jù)指令中的根據(jù)指令中的A1A1取操作數(shù);取操作數(shù); 根據(jù)指令中的根據(jù)指令中的A2A2取操作數(shù);取操作數(shù); ALUALU運算結果,然后將結果保存到運算

5、結果,然后將結果保存到A3A3。2.3.1 指令格式2、指令中的地址結構計算機組成原理計算機組成原理 2009 SCS-SWPU9(2) 二地址指令 其中其中: : A1A1為目的為目的操作數(shù)地址操作數(shù)地址,A2A2為為源操作數(shù)地址源操作數(shù)地址。 二地址指令執(zhí)行之后,二地址指令執(zhí)行之后,A1A1原存的內容被破壞了原存的內容被破壞了。2.3.1 指令格式2、指令中的地址結構 OP A1 A2指令的功能:(指令的功能:(A1A1)OP(A2) = A1OP(A2) = A1 (PC)+n = PC (PC)+n = PC計算機組成原理計算機組成原理 2009 SCS-SWPU10(3) 一地址指令

6、2.3.1 指令格式2、指令中的地址結構 OP A雙操作數(shù)指令雙操作數(shù)指令指令的功能:(指令的功能:(ACCACC)OP(A) = ACCOP(A) = ACC (PC)+n = PC (PC)+n = PC其中其中: Acc: Acc是累加寄存器是累加寄存器( ( 隱地址隱地址 ) )單操作數(shù)指令單操作數(shù)指令指令的功能:指令的功能:OP(A) = AOP(A) = A (PC)+n = PC (PC)+n = PC計算機組成原理計算機組成原理 2009 SCS-SWPU11(4) 零地址指令1 1、顯地址數(shù)多,指令長,所需、顯地址數(shù)多,指令長,所需 存儲空間大,讀取時間長存儲空間大,讀取時間

7、長2 2、顯地址數(shù)少,地址選擇受限制、顯地址數(shù)少,地址選擇受限制2.3.1 指令格式2、指令中的地址結構 OP單操作數(shù)的指令單操作數(shù)的指令指令的功能:指令的功能: OP(ACC) = ACCOP(ACC) = ACC不需要操作數(shù)的指令不需要操作數(shù)的指令如:如:HLTHLT、NOPNOP堆棧中的操作數(shù)(堆棧中的操作數(shù)(“先進后出先進后出” ” 存儲區(qū))存儲區(qū))操作操作: PUSH : PUSH 、POPPOPSPSP(堆棧指針)(堆棧指針): : 給出棧頂單元地址給出棧頂單元地址 計算機組成原理計算機組成原理 2009 SCS-SWPU12指令的操作碼結構操作碼的位數(shù)決定指令種類的多少操作碼的位

8、數(shù)決定指令種類的多少操作碼的編碼操作碼的編碼固定長度操作碼固定長度操作碼可變長度操作碼可變長度操作碼3.2.1 指令格式3、操作碼結構計算機組成原理計算機組成原理 2009 SCS-SWPU13v(1) 固定長度操作碼 操作碼操作碼位數(shù)和位置是位數(shù)和位置是固定固定的的 多用于多用于指令較長指令較長或或可變字長指令格式可變字長指令格式 設字長為設字長為3232位的計算機,用第一個字節(jié)表示操作碼位的計算機,用第一個字節(jié)表示操作碼 該格式,能提供多少條指令?該格式,能提供多少條指令? 操作碼操作碼 地址碼地址碼一個字節(jié)一個字節(jié)3 3個字節(jié)個字節(jié) 特點特點: : 讀取和識別指令簡單,譯碼簡單、迅速。讀

9、取和識別指令簡單,譯碼簡單、迅速。3.2.1 指令格式3、操作碼結構計算機組成原理計算機組成原理 2009 SCS-SWPU14v(2) 可變長度操作碼 又稱為擴展操作碼又稱為擴展操作碼 操作碼擴展技術:操作碼擴展到地址碼操作碼擴展技術:操作碼擴展到地址碼地址部分位數(shù)較多時,讓操作碼的尾數(shù)少些地址部分位數(shù)較多時,讓操作碼的尾數(shù)少些地址部分位數(shù)較少時,讓操作碼的位數(shù)增加,以增加指令種類地址部分位數(shù)較少時,讓操作碼的位數(shù)增加,以增加指令種類特點:特點:操作碼字段的位數(shù)和位置不固定將增加操作碼字段的位數(shù)和位置不固定將增加指令譯碼指令譯碼和和分析的難度分析的難度,使控制器的設計復雜化,使控制器的設計復

10、雜化。N N位位 32-N32-N位位 操作碼操作碼 地址碼地址碼3.2.1 指令格式3、操作碼結構計算機組成原理計算機組成原理 2009 SCS-SWPU15 00000000 XXXX XXXX XXXX 15 XXXX XXXX XXXX 15條三地址指令(位操作碼) 11101110 XXXX XXXX XXXX XXXX XXXX XXXX 11111111 00000000 XXXX XXXX 15 XXXX XXXX 15條二個地址指令(8 8位操作碼) 11111111 11101110 XXXX XXXX XXXX XXXX 11111111 1111 1111 000000

11、00 XXXX 15 XXXX 15條一地址指令(1212位操作碼) 1111 11111111 1111 11101110 XXXX XXXX 1111 1111 11111111 1111 1111 00000000 16 16條零地址指令(1616位操作碼) 1111 1111 11111111 1111 1111 11111111 思考題:另一種方案思考題:另一種方案1414條三地址指令,條三地址指令,3131條二地址指令,條二地址指令,1515條一地址指條一地址指令令,16,16條零地址指令條零地址指令例例3-1 3-1 設某指令系統(tǒng)的指令字長為設某指令系統(tǒng)的指令字長為1616位,最

12、多可給出三個地址段:位,最多可給出三個地址段: X X、Y Y、Z Z,每個地址字段占,每個地址字段占4 4位,位, 設計一種擴展操作碼的方案:設計一種擴展操作碼的方案:opXYZ3.2.1 指令格式3、操作碼結構16例. 某機為定長指令字結構,指令長度為16位,每個操作數(shù)的地址碼長6 位,指令分無操作數(shù)、單操作數(shù)和雙操作數(shù)三類。若雙操作數(shù)指令有K條,無操作數(shù)指令有L條,為單操作數(shù)最多有多少條? 解 (1)設單操作數(shù)指令有X條,分析:1)雙操作數(shù)指令有K條,其最大指令數(shù)24條;留有24-K個編碼可以擴展到單操作數(shù)指令2)單操作數(shù)指令有X條,其最大指令數(shù)(24-K)26條;留有(24-K)26

13、X個編碼可以擴展到無操作數(shù)指令3)無操作數(shù)指令有:(24-K)26 - X)26 則 (24-K)26 - X)26 = L 即,X (24-K)26 - (L / 26 ) 單操作數(shù)指令最多: (24-K)26 - (L / 26 )條。 4 6 63.2.1 指令格式3、操作碼結構計算機組成原理計算機組成原理 2009 SCS-SWPU174、 指令字長v(1 1)定字長指令格式: 如NOVANOVA機,所有指令均1616位字長 特點:結構簡單,控制方便 適用于精簡指令系統(tǒng)(RISC)RISC)v(2 2)可變字長指令格式 通常以字節(jié)為單位,有1 1字節(jié)、2 2字節(jié)、3 3字節(jié)等長度的指令

14、; 讀取操作碼后判斷是多少字節(jié)長度的指令 適用于復雜指令系統(tǒng)(CISCCISC) 特點:結構靈活,控制復雜 如如 80868086微處理機采用的是微處理機采用的是1-61-6字節(jié)的可變字長指令形式字節(jié)的可變字長指令形式 3.2.1 指令格式4、指令字長計算機組成原理計算機組成原理 2009 SCS-SWPU183.2.1 指令格式舉例源地址OP4 6 6 16 16目的地址存儲器地址1存儲器地址2OP10 6 16目的地址存儲器地址目的地址4 6 6源地址OP 10 6目的地址OP CODE16OP CODE例如:PDP 11指令字長有 16 位、32 位、48 位三種零地址 (16 位)一地

15、址 (16 位)二地址 R R (16 位)二地址 R M (32 位)二地址 M M (48 位)擴展操作碼技術計算機組成原理計算機組成原理 2009 SCS-SWPU3.2.1 指令格式舉例例如: IBM 360 操作碼字段一律都是8位OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12OPB1D1LB2D2 SS格式8 8 4 12 4 12二地址 R R基址加變址尋址二地址 R M三地址 R M基址尋址二地址 M M 基址尋址基址尋址立即數(shù) M計算機組成原理計算機組成原理 2009

16、 SCS-SWPU201指令的格式2指令的尋址方式3指令的功能和類型3.2 指令信息的表示尋址方式有關概念:尋址方式有關概念: 地址:數(shù)據(jù)和指令在存貯器(或寄存器)地址:數(shù)據(jù)和指令在存貯器(或寄存器) 的存放位置的存放位置 指令地址:存放指令的地址指令地址:存放指令的地址 數(shù)據(jù)地址:存放數(shù)據(jù)的地址數(shù)據(jù)地址:存放數(shù)據(jù)的地址指令地址的形成(指令的尋址方式)指令地址的形成(指令的尋址方式) 順序:順序:( ( PC )+1 PC )+1 PC PC 程序執(zhí)行程序執(zhí)行 轉移:轉移地址轉移:轉移地址 PCPC 3.2.2 常見尋址方式2122 數(shù)據(jù)地址的形成(數(shù)據(jù)的尋址方式)數(shù)據(jù)地址的形成(數(shù)據(jù)的尋址方

17、式) 數(shù)據(jù)和程序一樣,在存貯器中也是按一數(shù)據(jù)和程序一樣,在存貯器中也是按一定的順序存放的,但是在程序的執(zhí)行過程中定的順序存放的,但是在程序的執(zhí)行過程中,有的存貯單元的數(shù)據(jù)可能多次使用,沒有,有的存貯單元的數(shù)據(jù)可能多次使用,沒有什么規(guī)律可循,不能象指令地址的形成,在什么規(guī)律可循,不能象指令地址的形成,在CPUCPU中設置一個程序計數(shù)器,這就提出操作中設置一個程序計數(shù)器,這就提出操作數(shù)地址如何形成?即通常稱的尋址方式數(shù)地址如何形成?即通常稱的尋址方式。 3.2.2 常見尋址方式23 操作數(shù)的存放位置操作數(shù)的存放位置 : (1 1)操作數(shù)在指令中)操作數(shù)在指令中( (指令指令) )(2 2)操作數(shù)在

18、)操作數(shù)在CPUCPU的某個寄存器中(寄存器號)的某個寄存器中(寄存器號)(3 3)操作數(shù)在主存儲器中(單元地址碼)操作數(shù)在主存儲器中(單元地址碼)(4 4)操作數(shù)在堆棧區(qū)中(堆棧指針)操作數(shù)在堆棧區(qū)中(堆棧指針SPSP)(5 5)操作數(shù)在)操作數(shù)在I/OI/O接口的寄存器中(端口地址)接口的寄存器中(端口地址) 根據(jù)操作數(shù)的存放位置的不同,指令中如何根據(jù)操作數(shù)的存放位置的不同,指令中如何提供操作數(shù)相應的尋址信息?提供操作數(shù)相應的尋址信息?3.2.2 常見尋址方式24 尋址方式:指令中如何提供操作數(shù)或操作數(shù)尋址方式:指令中如何提供操作數(shù)或操作數(shù)地址(或指令中操作數(shù)或操作數(shù)地址的表達地址(或指令

19、中操作數(shù)或操作數(shù)地址的表達方式)方式) 形式地址:形式地址: 指令中給出的地址指令中給出的地址 有效地址(有效地址(EAEA):):將形式地址進行一定將形式地址進行一定 的運算而得到的地址的運算而得到的地址 物理地址:直接訪問存貯單元的地址物理地址:直接訪問存貯單元的地址 尋址過程:形成操作數(shù)地址的過程尋址過程:形成操作數(shù)地址的過程3.2.2 常見尋址方式操作碼操作碼OPOP地址碼地址碼A A指令格式指令格式:25 一個指令系統(tǒng)采用什么尋址方式,將會直接一個指令系統(tǒng)采用什么尋址方式,將會直接影響到指令的長度和尋址空間,影響指令系統(tǒng)功影響到指令的長度和尋址空間,影響指令系統(tǒng)功能的強弱,以及編制程

20、序時方便靈活的程度。所能的強弱,以及編制程序時方便靈活的程度。所有,這是指令系統(tǒng)的關鍵問題之一。有,這是指令系統(tǒng)的關鍵問題之一。 每種機器都有自己的一套尋址方式,不同的每種機器都有自己的一套尋址方式,不同的計算機尋址方式的分類和名稱都不統(tǒng)一,常用的計算機尋址方式的分類和名稱都不統(tǒng)一,常用的尋址方式有以下幾種:尋址方式有以下幾種: (1 1)立即尋址)立即尋址 (2 2)直接尋址)直接尋址 (3 3)間接尋址)間接尋址 (4 4)變址尋址)變址尋址 3.2.2 常見尋址方式26形式地址A: 指令字中的地址 有效地址EA : 操作數(shù)的真實地址 指令系統(tǒng)可以采用多種尋址方式,指令中如何區(qū)別它們,有兩

21、種方法:一種方法是由操作碼決定其尋址方式,另一種方法是指令中設置尋址方式字段。1. 立即尋址 指令執(zhí)行階段不訪存 A 的位數(shù)限制了立即數(shù)的范圍形式地址 A操作碼OP尋址特征OP # A立即尋址特征立即數(shù) 可正可負 補碼形式地址 A 就是操作數(shù)3.2.2 常見尋址方式272. 直接尋址EA = A操作數(shù)主存尋址特征OPAA 執(zhí)行階段訪問一次存儲器 A 的位數(shù)決定了該指令操作數(shù)的尋址范圍 操作數(shù)的地址不易修改(必須修改A)有效地址由形式地址直接給出3.2.2 常見尋址方式283. 寄存器直接尋址EA = Ri 執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征 寄存器個數(shù)有限,可縮短指令字長

22、操作數(shù)R0RiRn寄存器有效地址即為寄存器編號3.2.2 常見尋址方式294. 主存間接尋址EA =(A) EA由形式地址間接提供OPA尋址特征AEA主存EAA1EA A1主存 EA10 執(zhí)行指令階段 2 次訪存 可擴大尋址范圍 便于編制程序OPA尋址特征A一次間址多次間址操作數(shù)操作數(shù)多次訪存3.2.2 常見尋址方式30EA = ( Ri )5. 寄存器間接尋址 有效地址在寄存器中, 操作數(shù)在存儲器中,執(zhí)行階段訪存操作數(shù)主存OPRi尋址特征 便于編制循環(huán)程序地址EAR0RiRn寄存器有效地址在寄存器中i i 3.2.2 常見尋址方式316.變址尋址(1) 采用專用寄存器作變址寄存器EA = (

23、 RX ) + DRX為變址寄存器OPD操作數(shù)主存尋址特征ALURX 可擴大尋址范圍 RX 的內容由用戶給定 在程序的執(zhí)行過程中 RX 內容可變,形式地址 D 不變 便于處理數(shù)組問題2.3.2 常見尋址方式32(2) 采用通用寄存器作變址寄存器操作數(shù)主存ALUOPR0DEA=( R0 )+DR0 作變址寄存器 由用戶指定哪個通用寄存器作為變址寄存器通用寄存器R0Rn-1R1 變址寄存器的內容由用戶確定 在程序的執(zhí)行過程中 R0 內容可變,形式地址 D不變2.3.2 常見尋址方式337. 基址尋址(1) 采用專用寄存器作基址寄存器EA = (RB ) + DRB 為基址寄存器OPD操作數(shù)主存尋址

24、特征ALURB 可擴大尋址范圍 便于程序搬家 RB 內容由操作系統(tǒng)或管理程序確定 在程序的執(zhí)行過程中 RB 內容不變,形式地址 D 可變2.3.2 常見尋址方式34(2) 采用通用寄存器作基址寄存器操作數(shù)主存ALUOPR0DEA=( R0 )+DR0 作基址寄存器 由用戶指定哪個通用寄存器作為基址寄存器通用寄存器R0Rn-1R1 基址寄存器的內容由操作系統(tǒng)確定 在程序的執(zhí)行過程中 R0 內容不變,形式地址 D 可變2.3.2 常見尋址方式358. 基址加變址方式操作數(shù)主存ALUOPR0R1 dEA=(R0)+(R1)+dR0 作基址寄存器R1 作變址寄存器 由用戶指定哪個通用寄存器作為基址寄存

25、器和變址寄存器通用寄存器R0Rn-1R1 基址寄存器和變址寄存器的內容由用戶確定 在程序的執(zhí)行過程中 R0 內容不變, R1和d內容可變ALU2.3.2 常見尋址方式369. 相對尋址 EA = ( PC ) + dd 是相對于當前指令的位移量(可正可負,補碼) d 的位數(shù)決定操作數(shù)的尋址范圍 程序浮動 廣泛用于轉移指令操作數(shù)尋址特征ALUOPd相對距離 d1000PC主存1000dOP2.3.2 常見尋址方式 與基址尋址的原理相同,基準地址為PC的當前的內容3710. 頁面尋址 EA = ( PC ) H, dd 是EA的低位 用于存儲器分頁管理方式操作數(shù)尋址特征ALUOPd=FF1030P

26、C主存1030dOP100000FF10FF2.3.2 常見尋址方式3811. 堆棧尋址(1) 堆棧的特點堆棧硬件堆棧軟件堆棧堆棧指令堆棧子程序工作方式:先進后出(一個入出口)棧頂?shù)刂罚?由堆棧指針(SP) 指示進棧 (或寫入) : (SP) 1 SP出棧 (或彈出) : (SP)+ 1 SP2.3.2 常見尋址方式堆棧用于程序調用(子程序的多重調用)和中斷處理 00FFHSP 棧頂棧底 FFFFH主存X00FFH0000H 堆棧為”自底向上”生長方式39(2) 尋址舉例15200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSH A 前PUSH

27、 A 后POP A 前POP A 后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X152.3.2 常見尋址方式40(3) SP 的修改與主存編址方法有關 按 字 編址進棧出棧(SP) 1 SP(SP)+ 1 SP 按 字節(jié) 編址存儲字長 16 位進棧出棧(SP) 2 SP(SP)+ 2 SP存儲字長 32 位進棧出棧(SP) 4 SP(SP)+ 4 SP4112. 隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個操作數(shù)隱含在 ACC 中如 8086MUL 指令被乘數(shù)隱含在 AX(16位)或 AL(8位)中MO

28、VS 指令源操作數(shù)的地址隱含在 SI 中目的操作數(shù)的地址隱含在 DI 中 指令字中少了一個地址字段,可縮短指令字長計算機組成原理計算機組成原理 2009 SCS-SWPU421指令的格式2指令的尋址方式3指令的功能和類型3.2 指令信息的表示43RISC 技術技術 CISC CISC(Complex Instruction Set ComputerComplex Instruction Set Computer) 復雜指令系統(tǒng)(或集)計算機復雜指令系統(tǒng)(或集)計算機 RISC RISC(Reduced Instruction Set ComputerReduced Instruction Se

29、t Computer) 精減指令系統(tǒng)(或集)計算機精減指令系統(tǒng)(或集)計算機典型程序中典型程序中 80% 的指令僅僅使用處理機中的指令僅僅使用處理機中 20% 的指令。的指令。執(zhí)行頻度高的簡單指令,因復雜指令的存在,執(zhí)執(zhí)行頻度高的簡單指令,因復雜指令的存在,執(zhí)行速度無法提高。行速度無法提高。能否用能否用 20% 的簡單指令組合不常用的的簡單指令組合不常用的80% 的指的指令功能?令功能?3.2.3 指令的功能和類型44CISC 的主要特征 指令系統(tǒng)復雜,指令數(shù)目一般為200-300條。 指令長度不固定,指令格式多,尋址方式多。 可以訪存指令不受限制。 各種指令使用頻度相差大。 各種指令執(zhí)行時間

30、相差大,需多個時鐘周期完成。 多數(shù)采用微程序控制器。 難以用優(yōu)化編譯生成高效的目標代碼程序。 3.1.3 CPU的指令類型45RISC 的主要特征 選用使用頻率較高的一些簡單指令 復雜指令的功能由簡單指令來組合。 指令長度固定。 只有 LOAD / STORE 指令訪存。 多個通用寄存器。 組合邏輯實現(xiàn)控制器。 流水技術,一個時鐘周期內完成一條指令。 采用優(yōu)化的編譯程序。 3.1.3 CPU的指令類型計算機組成原理計算機組成原理 2009 SCS-SWPU46指令的分類不同的機型,對指令的分類不同,有三種方法:不同的機型,對指令的分類不同,有三種方法:(1 1)按指令格式分類)按指令格式分類

31、單操作數(shù)、雙操作數(shù)、程序轉移等單操作數(shù)、雙操作數(shù)、程序轉移等(2 2)按操作數(shù)尋址方式分類)按操作數(shù)尋址方式分類 RRRR型、型、 RXRX型、型、 RSRS型(或型(或RMRM型)、型)、 SI SI型(或型(或MIMI型)、型)、 SSSS型(或型(或MMMM型)等型)等(3 3)按指令功能分類)按指令功能分類 傳送指令、傳送指令、I/OI/O指令、算術運算指令、邏輯運算指令、算術運算指令、邏輯運算指令、程序控制指令、處理機控制指令等指令、程序控制指令、處理機控制指令等3.2.3 指令的功能和類型471. 傳送類指令源地址 目的地址數(shù)(1) 規(guī)定傳送范圍例. DJS-100系列: 80X8

32、6: IBM370:R MR M,R RR M,R R,M M設置時需考慮:3.2.3 指令的功能和類型48(2) 指明傳送單位例. VAX-11(用操作碼說明):80X86(用地址量說明):MOVB 8MOV AX,BX (16)MOVW 16MOVL 32MOV AL,BL (8)MOV EAX,EBX (32)(3) 設置尋址方式 在尋址方式的設置上幾乎不受限制,能比較集中地反映指令系統(tǒng)各種尋址方式的實現(xiàn)。3.2.3 指令的功能和類型492. 訪存指令(1)讀存儲器:LOAD(2)寫存儲器:STROE(3)彈出:POP(4)壓入:PUSH3.2.3 指令的功能和類型50(1 1)主機對外

33、設的尋址方式)主機對外設的尋址方式( (I/OI/O設備的編址方法設備的編址方法) )尋找I/O接口中的寄存器的方式。I/O端口尋找I/O接口中的寄存器的方式。如何為I/O端口分配地址?3.2.3 指令的功能和類型控制總線CB地址總線ABI/O接口電路數(shù)據(jù)控制狀態(tài)數(shù)據(jù)總線DBCPU外設控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器3.輸入/輸出指令511)單獨編址I/O地址空間不占主存空間,可與主存空間重疊。編址到設備:每個設備有各自的設備編碼;I/O指令中給出設備碼,并指明訪問的哪個寄存器。=1 訪問存儲器=0 訪問I/O端口需設置標志區(qū)分訪問對象,如編址到寄存器:為每個寄存器(I/O端口)分配獨立的端口地

34、址;I/O指令中給出端口地址。M/IO2)統(tǒng)一編址3.2.3 指令的功能和類型522)統(tǒng)一編址I/O端口占據(jù)部分主存空間。常將存儲空間的低端分配給主存單元,高端分配給I/O端口,以示區(qū)分。編址到寄存器 1)設置專用I/O指令 針對單獨編址,用I/O指令訪問I/O端口。 指令中說明I/O操作,并給出設備碼或端口地址。 :為每個寄存器(I/O端口)分配總線地址;訪問外設時,指令中給出總線地址。(2 2) I/OI/O指令設置方式指令設置方式顯式I/O指令3.2.3 指令的功能和類型53例. 80X86I/O指令設置 輸入:IN AL,n;端口地址(n) AL(直接端口尋址) IN AL,DX;間接

35、端口地址(DX) AL(間接端口尋址) 輸出:OUT n,AL;(AL) n(直接端口尋址) OUT DX,AL;(AL) (DX)(間接端口尋址)3.2.3 指令的功能和類型54 2)用傳送指令實現(xiàn)I/O操作 針對統(tǒng)一編址,用傳送指令訪問I/O端口。不設專用I/O指令。隱式I/O指令 3)通過I/O處理機進行I/O操作兩級I/O指令CPU執(zhí)行簡單I/O指令 (啟動、停止、查詢、清除)I/O處理機執(zhí)行I/O操作指令 (輸入、輸出)3.2.3 指令的功能和類型55設置時需考慮操作數(shù)類型、符號、進制等;運算結束后設置相應狀態(tài)標志。(1) 算術運算指令4.算術邏輯運算指令(2) 邏輯運算指令實現(xiàn)對代

36、碼位的設置、測試、清除、修改等。與或異或3.2.3 指令的功能和類型(3) 移位指令56控制程序流程。(1) 轉移指令5.程序控制指令(2) 轉子指令與返回指令轉子:操作碼 子程序入口無條件轉移條件轉移循環(huán):操作碼 轉移地址:操作碼 轉移地址 轉移條件:轉移條件為循環(huán)計數(shù)值返回:操作碼 返回地址3.2.3 指令的功能和類型57(3)軟中斷指令程序自陷指令表示不同的功能調用調試程序早期主要用于程序的調試?,F(xiàn)在常常用于系統(tǒng)功能調用。以 INT n 的形式出現(xiàn)在程序中。(4)控制處理機某些功能的指令(5)面向操作系統(tǒng)的一些指令3.2.3 指令的功能和類型581、指令格式如下所示,其中OP為操作碼,試

37、分析指令格式特點。4)這種指令結構常用于算術/邏輯類運算指令,執(zhí)行速度快。1)單字長(16位)二地址指令。2)操作碼字段 OP可以指定26=64種基本操作。3)源寄存器和目標寄存器都是通用寄存器(各指定16個), 所以是RR型指令,兩個操作數(shù)均在通用寄存器中。 指令系統(tǒng)的設計與分析 源寄存器目標寄存器15 10 7 4 3 0 OP問題:操作數(shù)是否可以是RS型、SS型?指令格式特點:592、指令格式如下所示,其中OP為操作碼,試分析指令格式特點。1)雙字長二地址指令,用于訪問存儲器。2)操作碼字段OP為6位,可以指定64種操作。3)一個操作數(shù)在源寄存器(共16個),另一個操作數(shù)在存儲器中(由基

38、值寄存器和位移量決定),所以是RS型指令。指令系統(tǒng)的設計與分析 源寄存器基址寄存器15 10 7 4 3 0 OP 位移量 (16位)指令格式特點:3、某計算機字長為16位,主存地址空間大小為128 KB,按字編址。采用單字長指令格式,指令各字段定義如下: 轉移指令采用相對尋址方式,相對偏移量用補碼表示。尋址方式定義如下:Ms / Md 尋址方式 助記符 含義 000B 寄存器直接 Rn 操作數(shù)=(Rn) 001B 寄存器間接 (Rn) 操作數(shù)=(Rn) 010B 寄存器間接、自增 (Rn)+ 操作數(shù)=(Rn), (Rn)+1Rn 011B 相對 D(Rn) 轉移目標地址=(PC)+(Rn)注

39、:(x)表示存儲器地址x或寄存器x的內容。指令系統(tǒng)的設計與分析 Md Rd15 12 11 源操作數(shù) 6 5 目的操作數(shù) 0 OP Ms Rs請回答下列問題:(1)該指令系統(tǒng)最多可有多少條指令?該計算機最多有多少個通用寄存器?存儲器地址寄存器(MAR)和存儲器數(shù)據(jù)寄存器(MDR)至少各需要多少位?(2)轉移指令的目標地址范圍是多少?(3)若操作碼0010B表示加法操作(助記符為add),寄存器R4和R5的編號分別為100B和101B,R4的內容為1234H,R5的內容為5678H,地址1234H中的內容為5678H,地址5678H中的內容為1234H,則匯編語句“add (R4), (R5)+

40、”(逗號前為源操作數(shù),逗號后為目的操作數(shù))對應的機器碼是什么(用十六進制表示)?該指令執(zhí)行后,哪些寄存器和存儲單元的內容會改變?改變后的內容是什么?指令系統(tǒng)的設計與分析答案 (1)指令系統(tǒng)最多支持16條指令;支持8個通用寄存器;MAR至少為16位;MDR至少為16位。(2)轉移指令的目標地址范圍為0000HFFFFH。(3)匯編語句“add (R4), (R5)+”,對應的機器碼為: 0010 001 100 010 101B=2315H。 add (R4), (R5)+;功能: (R4)+ (R5)=(R5), (R5)+1=R5 ; (1234H)+ (5678H)=5678H+1234H

41、=68ACH=(R5) “add (R4), (R5)+”指令執(zhí)行后,R5和存儲單元5678H的內容會改變。執(zhí)行后,R5的內容為5679H。內存5678H單元的內容為68ACH。2.3.3 指令的功能和類型4、某計算機主存容量4Mx16位,且存儲字長等于指令字長,若指令系統(tǒng)能完成97種操作,操作碼位數(shù)固定,且有直接、間接、基址、變址、相對、立即等6種尋址方式。(1)設計一地址指令格式并指出各字段的作用;(2)指令直接尋址的最大范圍;(3)一次間址和多次間址的尋址范圍;(4)立即數(shù)的范圍;(5)相對尋址的位移量;(6)6種尋址方式的指令,哪一種執(zhí)行時間最短?哪一種最長?哪一種便于用戶編制處理數(shù)組

42、問題的程序?哪一種便于程序浮動?(7)如何修改指令格式,使指令的直接尋址范圍擴大到4M?指令系統(tǒng)的設計與分析答案 (1)指令格式: (2)直接尋址的最大范圍:0 26-1 (3)一次間址的尋址范圍:0 216-1 多次間址的尋址范圍:0 215-1(4)立即數(shù)的范圍:-2525-1(5)相對尋址的位移量:-2525-1(6)6種尋址方式的指令,立即尋址執(zhí)行時間最短,間接尋址執(zhí)行時間最長,變址尋址便于用戶編制處理數(shù)組問題的程序,相對尋址便于程序浮動。(7)直接尋址范圍擴大到4M的指令格式:222=4M指令系統(tǒng)的設計與分析15 9 8 6 5 0 OP M A15 9 8 6 5 0 OP M A

43、1 A2計算機組成原理計算機組成原理 SWPU65一、單選題1.1.計算機中表示地址時使用( )。 A. A.無符號數(shù)無符號數(shù) B. B.原碼原碼 C.C.反碼反碼 D.D.補碼補碼2 2. . 以下四種類型指令中,執(zhí)行時間最長的是( )( )。 A. RR A. RR型型 B. RSB. RS型型 C. SSC. SS型型 D. RXD. RX型型 3 3. . 設變址寄存器為X X,形式地址為D D,()表示寄存器X X的內容,尋址方式的有效地址為( )( )。 A.EA=(X)+D B.EA=(X)+(D) C.EA=(X)+D) D.EA=(X)+(D) A.EA=(X)+D B.EA

44、=(X)+(D) C.EA=(X)+D) D.EA=(X)+(D)4 4. .指令地址字段中,直接指出操作數(shù)本身的尋址,稱為( )( )。 A. A.隱含尋址隱含尋址 B.B.立即尋址立即尋址 C.C.寄存器尋址寄存器尋址 D.D.直接尋址直接尋址5.5.某指令系統(tǒng)的指令字長為1616位,每個地址字段占6 6位,用擴展操作碼技術。若指令系統(tǒng)具有二地址指令1515條、一地址指令4848條,則最多有( )條零地址指令。 A.64 B.256 C.1024 D.2048 A.64 B.256 C.1024 D.2048計算機組成原理計算機組成原理 SWPU666.6.為了縮短指令中某地址段的位數(shù),有

45、效的方法是采用( )。 A. A.立即尋址立即尋址 B. B.變址尋址變址尋址 C.C.間接尋址間接尋址 D.D.寄存器尋址寄存器尋址7.7.以下幾種尋址方式中,( )方式取操作數(shù)最快。 A. A.直接尋址直接尋址 B. B.變址尋址變址尋址 C.C.間接尋址間接尋址 D.D.寄存器直接尋址寄存器直接尋址8.8.先計算后再訪問內存的尋址方式是( )。 A. A.立即尋址立即尋址 B. B.直接尋址直接尋址 C.C.間接尋址間接尋址 D.D.變址尋址變址尋址9.9.以下幾種尋址方式中,( )方式對實現(xiàn)程序浮動提供支持。 A. A.基址尋址基址尋址 B. B.變址尋址變址尋址 C.C.間接尋址間接

46、尋址 D.D.相對尋址相對尋址1 10 0. .指令系統(tǒng)中采用不同尋址方式的目的主要是( )( )。 A. A.實現(xiàn)存儲程序和程序控制實現(xiàn)存儲程序和程序控制 B. B.縮短指令長度,擴大尋址空間,提高編程靈活性縮短指令長度,擴大尋址空間,提高編程靈活性 C. C.可以直接訪問外存可以直接訪問外存 D. D.提供擴展操作碼的可能并降低指令譯碼難度提供擴展操作碼的可能并降低指令譯碼難度計算機組成原理計算機組成原理 SWPU6711.11.能改變程序執(zhí)行順序的是( )指令。 A. A.數(shù)據(jù)傳送數(shù)據(jù)傳送 B. B.移位操作移位操作 C. C.輸入輸出輸入輸出 D. D.轉移轉移12.12.在堆棧中,保

47、持不變的是( )。 A. A.棧頂 B. B.棧底 C.C.堆棧指針 D.D.棧中的數(shù)據(jù)13.13.數(shù)據(jù)傳送類指令不包括( )。 A.RR A.RR型型 B.RS B.RS型型 C.SSC.SS型型 D.SID.SI型型1 14 4. .目前的計算機,從原理上講( )( )。 A. A. 指令以二進制形式存放,數(shù)據(jù)以十進制形式存放指令以二進制形式存放,數(shù)據(jù)以十進制形式存放 B. B. 指令以十進制形式存放,數(shù)據(jù)以二進制形式存放指令以十進制形式存放,數(shù)據(jù)以二進制形式存放 C. C. 指令和數(shù)據(jù)都以二進制形式存放指令和數(shù)據(jù)都以二進制形式存放 D. D. 指令和數(shù)據(jù)都以十進制形式存放指令和數(shù)據(jù)都以十

48、進制形式存放15.15.設指令字長為1616位,存儲器按字節(jié)編,CPU CPU 讀取一條單字長指令后,PCPC值自動加( )。 A.1 B.2 C.4 D.0 A.1 B.2 C.4 D.0計算機組成原理計算機組成原理 SWPU68一、單選題1.1.計算機中表示地址時使用( A A )。 A. A.無符號數(shù)無符號數(shù) B. B.原碼原碼 C.C.反碼反碼 D.D.補碼補碼2 2. . 以下四種類型指令中,執(zhí)行時間最長的是( C )( C )。 A. RR A. RR型型 B. RSB. RS型型 C. SSC. SS型型 D. RXD. RX型型 3 3. . 設變址寄存器為X X,形式地址為D D,()表示寄存器X X的內容,尋址方式的有效地址為(A )(A )。 A.EA=(X)+D B.

溫馨提示

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

最新文檔

評論

0/150

提交評論