版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第章 指 令 系 統(tǒng)7.1 機器指令 7.2 操作數(shù)類型和操作類型 7.3 尋址方式 7.4 指令格式舉例 7.5 RISC 技術(shù) 17.1 機 器 指 令一、指令的一般格式 操作碼字段 地址碼字段1. 操作碼反映機器做什么操作(1) 長度固定(2) 長度可變用于指令字長較長的情況,RISC如 IBM 370操作碼 8 位操作碼分散在指令字的不同字段中2(3) 擴展操作碼技術(shù)操作碼的位數(shù)隨地址數(shù)的減少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111
2、111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作碼8 位操作碼12 位操作碼16 位操作碼最多15條三地址指令最多15條二地址指令最多15條一地址指令16條零地址指令7.13(3) 擴展操作碼技術(shù)操作碼的位數(shù)隨地址數(shù)的減少而增加OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A311111111111100000001111011111111111111111111111111111111111100000001111111111111
3、1111111111111111A3A3A30000000111104 位操作碼8 位操作碼12 位操作碼16 位操作碼三地址指令操作碼每減少一種可多構(gòu)成24 種二地址指令二地址指令操作碼每減少一種可多構(gòu)成24 種一地址指令7.142. 地址碼(1) 四地址(2) 三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作數(shù)地址A2 第二操作數(shù)地址A3 結(jié)果的地址A4 下一條指令地址若 PC 代替 A4(A1) OP (A2) A38 8 8 8 OP A1 A2 A3(A1) OP (A2) A34 次訪存4 次訪存尋址范圍 26 = 64尋址范圍 28 = 256若 A3 用 A1
4、 或 A2 代替7.1設(shè)指令字長為 32 位操作碼固定為 8 位5(3) 二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或4 次訪存若ACC 代替 A1(或A2)若結(jié)果存于 ACC (4) 一地址(5) 零地址OP A18 24無地址碼(ACC) OP (A1) ACC2 次訪存尋址范圍 212 = 4 K尋址范圍 224 = 16 M 3次訪存7.16二、指令字長指令字長決定于操作碼的長度指令字長 = 存儲字長2. 指令字長 可變操作數(shù)地址的長度操作數(shù)地址的個數(shù)1. 指令字長 固定按字節(jié)的倍數(shù)變化7.177.2 操作數(shù)類型和操作種類一、操作數(shù)
5、類型地址數(shù)字字符邏輯數(shù)無符號整數(shù)定點數(shù)、浮點數(shù)、十進制數(shù)ASCII邏輯運算二、數(shù)據(jù)在存儲器中的存放方式字地址 為 低字節(jié) 地址字地址 為 高字節(jié) 地址37621540字地址04低字節(jié)04512673字地址04低字節(jié)8存儲器中的數(shù)據(jù)存放(存儲字長為 32 位)地址(十進制) 0 4 812162024283236雙字雙字(地址32)雙字雙字(地址24)半字(地址20)半字(地址22)半字(地址16)半字(地址18)字節(jié)(地址 8)字節(jié)(地址 9)字節(jié)(地址10)字節(jié)(地址11)字(地址 4)字(地址 0)字節(jié)(地址14) 字節(jié)(地址15)字節(jié)(地址13)字節(jié)(地址12)邊界對準地址(十進制)04
6、8字節(jié)( 地址7)字節(jié)( 地址6)字( 地址2)半字( 地址10)半字( 地址8)半字( 地址0)字( 地址4)邊界未對準 7.29三、操作類型1. 數(shù)據(jù)傳送源目的寄存器寄存器寄存器寄存器存儲器存儲器存儲器存儲器置“1”,清“0”2. 算術(shù)邏輯操作加、減、乘、除、增 1、減 1、求補、浮點運算、十進制運算與、或、非、異或、位操作、位測試、位清除、位求反如 8086MOVESTORELOADMOVEPUSHPOP例如MOVEMOVE7.2ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST103. 移位操作算術(shù)移位
7、4. 轉(zhuǎn)移(1) 無條件轉(zhuǎn)移 JMP(2) 條件轉(zhuǎn)移結(jié)果為零轉(zhuǎn) (Z = 1) JZ結(jié)果溢出轉(zhuǎn) (O = 1)JO結(jié)果有進位轉(zhuǎn)(C = 1)JC跳過一條指令 SKP循環(huán)移位(帶進位和不帶進位)如300305306307SKP DZ D = 0 則跳邏輯移位完成觸發(fā)器7.211(3) 調(diào)用和返回CALL SUB1.CALL SUB2.CALL SUB2RETURNRETURN主程序地址200021002101子程序SUB1240025002501256025612700主存空間分配程序執(zhí)行流程子程序SUB27.2.12IN AX, nOUT DX, ALOUT n, AXOUT DX, AX(4
8、) 陷阱(Trap)與陷阱指令意外事故的中斷 設(shè)置供用戶使用的陷阱指令如 8086 INT TYPE 軟中斷提供給用戶使用的陷阱指令,完成系統(tǒng)調(diào)用5. 輸入輸出 一般不提供給用戶直接使用 在出現(xiàn)事故時,由 CPU 自動產(chǎn)生并執(zhí)行(隱指令)IN AL, DXIN AX, DX入 端口地址 CPU 的寄存器出 CPU 的寄存器 端口地址7.2如如IN AL, nOUT n, AL137.3 尋 址 方 式尋址方式 確定 本條指令 的 操作數(shù)地址下一條 欲執(zhí)行 指令 的 指令地址指令尋址數(shù)據(jù)尋址尋址方式147.3 尋 址 方 式一、指令尋址順序( PC ) + 1 PC跳躍由轉(zhuǎn)移指令指出LDA 10
9、00ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址尋址方式指令地址指令順序?qū)ぶ?順序?qū)ぶ?順序?qū)ぶ?跳躍尋址7順序?qū)ぶ?15二、數(shù)據(jù)尋址 形式地址 指令字中的地址 有效地址 操作數(shù)的真實地址 約定 指令字長 = 存儲字長 = 機器字長1. 立即尋址 指令執(zhí)行階段不訪存 A 的位數(shù)限制了立即數(shù)的范圍形式地址 A操作碼尋址特征OP # A立即尋址特征立即數(shù) 可正可負 補碼形式地址 A 就是操作數(shù)7.3162. 直接尋址EA = A操作數(shù)主存尋址特征LDAAAACC 執(zhí)行階段訪問一次存儲器 A 的
10、位數(shù)決定了該指令操作數(shù)的尋址范圍 操作數(shù)的地址不易修改(必須修改A)有效地址由形式地址直接給出7.3173. 隱含尋址操作數(shù)地址隱含在操作碼中ADDA操作數(shù)主存尋址特征AACC暫存ALU另一個操作數(shù)隱含在 ACC 中如 8086MUL 指令被乘數(shù)隱含在 AX(16位)或 AL(8位)中MOVS 指令源操作數(shù)的地址隱含在 SI 中目的操作數(shù)的地址隱含在 DI 中 指令字中少了一個地址字段,可縮短指令字長7.3184. 間接尋址EA =(A)有效地址由形式地址間接提供OPA尋址特征AEA主存EAA1EA A1主存 EA10 執(zhí)行指令階段 2 次訪存 可擴大尋址范圍 便于編制程序OPA尋址特征A一次
11、間址多次間址操作數(shù)操作數(shù)多次訪存7.319 子程序主程序8081201202調(diào)用子程序調(diào)用子程序間接尋址編程舉例(A) = 81(A) = 202 間址特征7.3JMP A 205. 寄存器尋址EA = Ri 執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快OPRi尋址特征 寄存器個數(shù)有限,可縮短指令字長操作數(shù)R0RiRn寄存器有效地址即為寄存器編號7.321EA = ( Ri )6. 寄存器間接尋址 有效地址在寄存器中, 操作數(shù)在存儲器中,執(zhí)行階段訪存操作數(shù)主存OPRi尋址特征 便于編制循環(huán)程序地址R0RiRn寄存器有效地址在寄存器中7.3227. 基址尋址(1) 采用專用寄存器作基址寄存器EA =
12、 ( BR ) + ABR 為基址寄存器OPA操作數(shù)主存尋址特征ALUBR 可擴大尋址范圍 有利于多道程序 BR 內(nèi)容由操作系統(tǒng)或管理程序確定 在程序的執(zhí)行過程中 BR 內(nèi)容不變,形式地址 A 可變7.323(2) 采用通用寄存器作基址寄存器操作數(shù)主存尋址特征ALUOPR0AR0 作基址寄存器 由用戶指定哪個通用寄存器作為基址寄存器通用寄存器R0Rn-1R1 基址寄存器的內(nèi)容由操作系統(tǒng)確定 在程序的執(zhí)行過程中 R0 內(nèi)容不變,形式地址 A 可變7.3248. 變址尋址EA = ( IX ) +AOPA操作數(shù)主存尋址特征ALUIX 可擴大尋址范圍 便于處理數(shù)組問題 IX 的內(nèi)容由用戶給定 IX
13、為變址寄存器(專用) 在程序的執(zhí)行過程中 IX 內(nèi)容可變,形式地址 A 不變通用寄存器也可以作為變址寄存器7.325例 設(shè)數(shù)據(jù)塊首地址為 D,求 N 個數(shù)的平均值直接尋址變址尋址LDA DADD D + 1ADD D + 2ADD D + ( N -1 )DIV # NSTA ANSLDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANS共 N + 2 條指令共 8 條指令A(yù)DD X, DMX 為變址寄存器D 為形式地址(X) 和 #N 比較(X) +1 X結(jié)果不為零則轉(zhuǎn) 7.3269. 相對尋址 EA = ( PC ) + AA 是相對于當前指令的位移量(可正可
14、負,補碼) A 的位數(shù)決定操作數(shù)的尋址范圍 程序浮動 廣泛用于轉(zhuǎn)移指令操作數(shù)尋址特征ALUOPA相對距離 A1000PC 主存1000AOP7.327 (1) 相對尋址舉例M 隨程序所在存儲空間的位置不同而不同EA = ( M+3 ) 3 = M 3*LDA # 0LDX # 0ADD X, DINXCPX # NBNE MDIV # NSTA ANSMM+1M+2M+3而指令 BNE 與 指令 ADD X, D 相對位移量不變 3* 指令 BNE操作數(shù)的有效地址為 3* 相對尋址特征*7.328(2) 按字節(jié)尋址的相對尋址舉例OP位移量2000 H2008 H8JMP * + 8OP06 H
15、2000 H2008 H8設(shè) 當前指令地址 PC = 2000H轉(zhuǎn)移后的目的地址為 2008H因為 取出 JMP * + 8 后 PC = 2002H二字節(jié)指令故 JMP * + 8 指令 的第二字節(jié)為 2008H - 2002H = 06H7.32910. 堆棧尋址(1) 堆棧的特點堆棧硬堆棧軟堆棧多個寄存器指定的存儲空間先進后出(一個入出口)棧頂?shù)刂?由 SP 指出 11FFFH +12000 H進棧 (SP) 1 SP出棧 (SP)+ 1 SP棧頂棧底2000 HSP2000 H1FFF HSP1FFFH棧頂棧底進棧出棧 1FFF H棧頂 2000 H棧頂7.330(2) 堆棧尋址舉例1
16、5200HACCSPX棧頂200H棧底主存151FFHACCSP15棧頂200H棧底主存X1FFHPUSH A 前PUSH A 后POP A 前POP A 后Y1FFHACCSPX棧頂200H棧底主存151FFH15200HACCSP棧頂200H棧底主存X157.331(3) SP 的修改與主存編址方法有關(guān) 按 字 編址進棧出棧(SP) 1 SP(SP)+ 1 SP 按 字節(jié) 編址存儲字長 16 位進棧出棧(SP) 2 SP(SP)+ 2 SP存儲字長 32 位進棧出棧(SP) 4 SP(SP)+ 4 SP7.3327.4 指令格式舉例一、設(shè)計指令格式時應(yīng)考慮的各種因素1. 指令系統(tǒng)的 兼容性
17、(向上兼容)2. 其他因素操作類型數(shù)據(jù)類型指令格式包括指令個數(shù)及操作的難易程度指令字長是否固定尋址方式寄存器個數(shù)地址碼位數(shù)、地址個數(shù)、尋址方式類型操作碼位數(shù)、是否采用擴展操作碼技術(shù),確定哪些數(shù)據(jù)類型可參與操作指令尋址、操作數(shù)尋址寄存器的多少直接影響指令的執(zhí)行時間33二、指令格式舉例1. PDP 8指令字長固定 12 位 操作碼 間 頁 地址碼訪存類指令0235411寄存器類指令 1 1 1 輔助操作碼02311I/O 類指令 1 1 0 設(shè)備 操作碼02311987.4采用擴展操作碼技術(shù)342. PDP 11源地址OP4 6 6 16 16目的地址存儲器地址1存儲器地址2OP10 6 16目的
18、地址存儲器地址目的地址4 6 6源地址OP 10 6目的地址OP-CODE16OP-CODE指令字長有 16 位、32 位、48 位三種零地址 (16 位)一地址 (16 位)二地址 R R (16 位)二地址 R M (32 位)二地址 M M (48 位)擴展操作碼技術(shù)7.4353. IBM 360OPR1R2 RR格式8 4 4OPR1XBD RX格式8 4 4 4 12OPR1R3BD RS格式8 4 4 4 12OPBDI SI格式8 8 4 12二地址 R R基址加變址尋址二地址 R M三地址 R M基址尋址二地址 M M基址尋址基址尋址立即數(shù) M7.4OPB1D1LB2D2 SS
19、格式88412412364. Intel 8086(1) 指令字長(2) 地址格式1 6 個字節(jié)MOV WORD PTR0204, 0138H 6 字節(jié)INC AX 1 字節(jié)一地址NOP 1 字節(jié)CALL段內(nèi)調(diào)用 3 字節(jié)零地址 5 字節(jié)段間調(diào)用寄存器 寄存器寄存器 立即數(shù)寄存器 存儲器ADD AX,BX 2 字節(jié)ADD AX,3048H 4 字節(jié)ADD AX,3048H 3 字節(jié)二地址CALL7.4377.5 RISC 技 術(shù) 一、RISC 的產(chǎn)生和發(fā)展 80 20 規(guī)律 典型程序中 80% 的語句僅僅使 用處理機中 20% 的指令 執(zhí)行頻度高的簡單指令,因復(fù)雜指令 的存在,執(zhí)行速度無法提高
20、RISC(Reduced Instruction Set Computer)CISC(Complex Instruction Set Computer) RISC技術(shù) 能否用 20% 的簡單指令組合不常用的 80% 的指令功能?38二、RISC 的主要特征 選用使用頻度較高的一些 簡單指令, 復(fù)雜指令的功能由簡單指令來組合 指令 長度固定、指令格式種類少、尋址方式少 只有 LOAD / STORE 指令訪存 采用 流水技術(shù) 一個時鐘周期 內(nèi)完成一條指令 采用 組合邏輯 實現(xiàn)控制器 CPU 中有多個 通用 寄存器 采用 優(yōu)化 的 編譯 程序 7.539三、CISC 的主要特征 系統(tǒng)指令 復(fù)雜龐大
21、,各種指令使用頻度相差大 指令 長度不固定、指令格式種類多、尋址方式多 訪存 指令 不受限制 大多數(shù)指令需要 多個時鐘周期 執(zhí)行完畢 采用 微程序 控制器 CPU 中設(shè)有 專用寄存器 難以 用 優(yōu)化編譯 生成高效的目的代碼 7.540四、RISC和CISC 的比較 1. RISC更能 充分利用 VLSI 芯片的面積2. RISC 更能 提高計算機運算速度指令數(shù)、指令格式、尋址方式少,通用 寄存器多,采用 組合邏輯 ,便于實現(xiàn) 指令流水3. RISC 便于設(shè)計,可 降低成本,提高 可靠性4. RISC 有利于編譯程序代碼優(yōu)化 5. RISC 不易 實現(xiàn) 指令系統(tǒng)兼容 7.541第章 CPU 的結(jié)
22、構(gòu)和功能8.1 CPU 的結(jié)構(gòu)8.3 指令流水8.2 指令周期8.4 中斷系統(tǒng)428.1 CPU 的結(jié)構(gòu)一、 CPU 的功能取指令分析指令執(zhí)行指令,發(fā)出各種操作命令控制程序輸入及結(jié)果的輸出總線管理處理異常情況和特殊請求1. 控制器的功能2. 運算器的功能實現(xiàn)算術(shù)運算和邏輯運算指令控制操作控制時間控制數(shù)據(jù)加工處理中斷43二、CPU 結(jié)構(gòu)框圖PC IR指令控制操作控制時間控制數(shù)據(jù)加工處理中斷ALU 寄存器中斷系統(tǒng)1. CPU 與系統(tǒng)總線CU 時序電路寄存器ALU 中斷 系統(tǒng)CUCPU控制總線數(shù)據(jù)總線地址總線8.1442. CPU 的內(nèi)部結(jié)構(gòu)8.1 算術(shù)和布爾邏輯取反移位狀態(tài)標志內(nèi)部 數(shù)據(jù)總線寄存器
23、CU中斷系統(tǒng)ALU控制信號C P U451. 用戶可見寄存器(1) 通用寄存器三、 CPU 的寄存器存放操作數(shù)可作 某種尋址方式所需的 專用寄存器(2) 數(shù)據(jù)寄存器存放操作數(shù)(滿足各種數(shù)據(jù)類型)兩個寄存器拼接存放雙倍字長數(shù)據(jù)(3) 地址寄存器存放地址,其位數(shù)應(yīng)滿足最大的地址范圍用于特殊的尋址方式 段基值 棧指針(4) 條件碼寄存器存放條件碼,可作程序分支的依據(jù)如 正、負、零、溢出、進位等8.1462. 控制和狀態(tài)寄存器(1) 控制寄存器PC控制 CPU 操作(2) 狀態(tài)寄存器狀態(tài)寄存器其中 MAR、MDR、IR 用戶不可見 存放條件碼PSW 寄存器存放程序狀態(tài)字 PC 用戶可見 3. 舉例Z8
24、000 8086 MC 68000MARMMDRIR8.147四、 控制單元 CU 和中斷系統(tǒng)1. CU 產(chǎn)生全部指令的微操作命令序列組合邏輯設(shè)計微程序設(shè)計硬連線邏輯存儲邏輯2. 中斷系統(tǒng)參見 第篇 五、ALU參見 8.4 節(jié)參見 第章8.1488.2 指 令 周 期一、 指令周期的基本概念1 . 指令周期取出并執(zhí)行一條指令所需的全部時間完成一條指令執(zhí)行取指、分析取指階段取指周期執(zhí)行階段執(zhí)行周期(取指、分析)(執(zhí)行指令)指令周期取指周期執(zhí)行周期492. 每條指令的指令周期不同取指周期指令周期取指周期 執(zhí)行周期指令周期NOPADD mem MUL mem8.2取指周期執(zhí)行周期指令周期503. 具
25、有間接尋址的指令周期4. 帶有中斷周期的指令周期取指周期間址周期指令周期執(zhí)行周期取指周期間址周期指令周期執(zhí)行周期中斷周期8.2515. 指令周期流程取指周期執(zhí)行周期有間址嗎?有中斷嗎?間址周期中斷周期是是否否8.2526. CPU 工作周期的標志CPU 訪存有四種性質(zhì)取 指令取 地址取 操作數(shù)存 程序斷點取指周期間址周期執(zhí)行周期中斷周期FEDINDDINTDCLK1FE1IND1EX1INTEXDCPU 的4個工作周期8.2531. 取指周期數(shù)據(jù)流二、 指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲器CPU地址總線數(shù)據(jù)總線控制總線IR+1 8.2542. 間址周期數(shù)據(jù)流MDRCUMARCPU地址
26、總線數(shù)據(jù)總線控制總線PCIR存儲器MDR8.2553. 執(zhí)行周期數(shù)據(jù)流4 . 中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線數(shù)據(jù)總線控制總線PC存儲器8.2568.3 指 令 流 水一、如何提高機器速度1. 提高訪存速度2. 提高 I/O 和主機之間的傳送速度 提高整機處理能力高速芯片Cache多體并行I/O 處理機DMA多總線通道高速器件改進系統(tǒng)結(jié)構(gòu) ,開發(fā)系統(tǒng)的并行性中斷3. 提高運算器速度高速芯片改進算法快速進位鏈57二、系統(tǒng)的并行性時間上互相重疊2. 并行性的等級指令級(指令之間)(指令內(nèi)部)過程級(程序、進程)兩個或兩個以上事件在 同一時刻 發(fā)生兩個或兩個以
27、上事件在 同一時間段 發(fā)生并行1. 并行的概念粗粒度軟件實現(xiàn)細粒度硬件實現(xiàn)并發(fā)同時8.358取指令 3執(zhí)行指令 3三、指令流水原理2. 指令的二級流水1. 指令的串行執(zhí)行取指令 取指令部件 完成總有一個部件 空閑指令預(yù)取若 取指 和 執(zhí)行 階段時間上 完全重疊指令周期 減半 速度提高 1 倍執(zhí)行指令 執(zhí)行指令部件 完成取指令 1執(zhí)行指令 1取指令 2執(zhí)行指令 2取指令 3執(zhí)行指令 3取指令 2執(zhí)行指令 2取指令 1執(zhí)行指令 18.359 必須等 上條 指令執(zhí)行結(jié)束,才能確定 下條 指令的地址, 造成時間損失3. 影響指令流水效率加倍的因素(1) 執(zhí)行時間 取指時間 (2) 條件轉(zhuǎn)移指令 對指令
28、流水的影響 解決辦法 ?取指令部件指令部件緩沖區(qū)執(zhí)行指令部件猜測法8.3604. 指令的六級流水六級流水14 個時間單位串行執(zhí)行6 9 54個時間單位完成 一條指令6 個時間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令 1指令 2指令 3指令 4指令 5指令 6指令 7指令 8指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t8.361指令 1 與指令 4 沖突指令 2 與指令 5 沖突指令
29、1、指令3、指令 6 沖突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令 1指令 2指令 3指令 4指令 5指令 6指令 7指令 8指令 9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影響指令流水線性能的因素1. 結(jié)構(gòu)相關(guān)8.3不同指令爭用同一功能部件產(chǎn)生資源沖突程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率解決辦法 停頓 指令存儲器和數(shù)據(jù)存儲器分開 指令預(yù)取技術(shù) (適用于訪存
30、周期短的情況)622. 數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的 讀/寫 訪問順序 采用 旁路技術(shù)解決辦法8.3 寫后讀相關(guān)(RAW)SUB R1,R2,R3ADD R4,R5,R1;(R2) (R3) R1;(R5)+(R1) R4 讀后寫相關(guān)(WAR)STA M,R2ADD R2,R4,R5;(R2) M 存儲單元;(R4)+(R5) R2 寫后寫相關(guān)(WAW) 后推法MUL R3,R2,R1SUB R3,R4,R5;(R2) (R1) R3;(R4) (R5) R3633. 控制相關(guān)8.3BNE 指令必須等CPX 指令的結(jié)果才能判斷出是轉(zhuǎn)移還是順序執(zhí)行LDA # 0LDX # 0IN
31、XCPX # NBNE MDIV # NSTA ANSADD X, DM由轉(zhuǎn)移指令引起643. 控制相關(guān)8.3WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令 1指令 2指令 3指令 4指令 5指令 6指令 7指令15指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14轉(zhuǎn)移損失t設(shè) 指令3 是轉(zhuǎn)移指令65四、流水線性能 1. 吞吐率 單位時間內(nèi) 流水線所完成指令 或 輸出結(jié)果 的 數(shù)量8.3 最大吞吐率 實際吞吐率 連續(xù)處理 n 條指令的吞吐率為設(shè) m 段的
32、流水線各段時間為tTpmax =1tTp =m + (n-1) ntt662. 加速比 Sp 8.3 m 段的 流水線的速度 與等功能的 非流水線的速度 之比 設(shè)流水線各段時間為 t 完成 n 條指令在 m 段流水線上共需 T = m + (n-1) t t 完成 n 條指令在等效的非流水線上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 則67由于流水線有 建立時間 和 排空時間因此各功能段的 設(shè)備不可能 一直 處于 工作 狀態(tài) 8.3流水線中各功能段的 利用率3. 效率 mt31245312453124531245 n-1 nn-1 nn-1 n
33、n-1 nT時間S空間空間S4S3S2S1(n-1) t688.3m(m + n -1) t = mnt 流水線各段處于工作時間的時空區(qū)流水線中各段總的時空區(qū) 效率 = 3. 效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時間S空間空間S4S3S2S1(n-1) t流水線中各功能段的 利用率69五、流水線的多發(fā)技術(shù) 1. 超標量技術(shù) 每個時鐘周期內(nèi)可 并發(fā)多條獨立指令 不能調(diào)整 指令的 執(zhí)行順序配置多個功能部件 通過編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13時
34、鐘周期指令序列702. 超流水線技術(shù) 在 一個時鐘周期 內(nèi) 再分段 ( 3 段) 不能調(diào)整 指令的 執(zhí)行順序在一個時鐘周期內(nèi) 一個功能部件使用多次( 3 次)靠編譯程序解決優(yōu)化問題流水線速度是原來速度的 3 倍8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13時鐘周期指令序列713. 超長指令字技術(shù) 采用 多個處理部件具有 多個操作碼字段 的 超長指令字(可達幾百位)由編譯程序 挖掘 出指令間 潛在 的 并行性,將 多條 能 并行操作 的指令組合成 一條8.3IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13時鐘周期指令
35、序列72六、流水線結(jié)構(gòu)1. 指令流水線結(jié)構(gòu)完成一條指令分 7 段, 每段需一個時鐘周期若 流水線不出現(xiàn)斷流1 個時鐘周期出 1 結(jié)果不采用流水技術(shù)7 個時鐘周期出 1 結(jié)果理想情況下,7 級流水 的速度是不采用流水技術(shù)的 7 倍地址形成部件指令譯碼部件取操作數(shù)部件取指令部件操作執(zhí)行部件回寫結(jié)果部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存8.3732. 運算流水線完成 浮點加減 運算 可分對階、尾數(shù)求和、規(guī)格化 三段分段原則 每段 操作時間 盡量 一致鎖存器對階功能部件第一段尾數(shù)加部件鎖存器第二段規(guī)格化部件鎖存器第三段8.3748.4 中斷系統(tǒng)一、概述1. 引起中斷的各種因素(1) 人為設(shè)置的中
36、斷(2) 程序性事故如 轉(zhuǎn)管指令溢出、操作碼不能識別、除法非法(5) 外部事件(4) I/O 設(shè)備(3) 硬件故障用 鍵盤中斷 現(xiàn)行程序轉(zhuǎn)管指令管理程序752. 中斷系統(tǒng)需解決的問題(1) 各中斷源 如何 向 CPU 提出請求 ?(2) 各中斷源 同時 提出 請求 怎么辦 ?(5) 如何 尋找入口地址 ?(4) 如何 保護現(xiàn)場 ?(3) CPU 什么 條件、什么 時間、以什么 方式 響應(yīng)中斷 ?(6) 如何 恢復(fù)現(xiàn)場,如何 返回 ?(7) 處理中斷的過程中又 出現(xiàn)新的中斷 怎么辦 ?硬件 軟件8.476二、中斷請求標記和中斷判優(yōu)邏輯1. 中斷請求標記 INTR一個請求源 一個 INTR 中斷請
37、求標記觸發(fā)器多個INTR 組成 中斷請求標記寄存器INTR 分散 在各個中斷源的 接口電路中INTR 集中 在 CPU 的中斷系統(tǒng) 內(nèi)12345n掉電過熱階上溢主存讀寫校驗錯非法除法鍵盤輸入打印機輸出8.4772. 中斷判優(yōu)邏輯 分散 在各個中斷源的 接口電路中 鏈式排隊器 集中 在 CPU 內(nèi)(1) 硬件實現(xiàn)(排隊器) 1 1 1 & 1 & 1 &參見 第五章INTR1INTR2INTR3INTR4INTR1 、 INTR2 、 INTR3 、 INTR4 優(yōu)先級 按 降序 排列 INTP1INTP2INTP3INTP48.478A、B、C 優(yōu)先級按 降序 排列(2) 軟件實現(xiàn)(程序查詢)
38、否是否 A 請求?是否 B 請求?是否 C 請求?轉(zhuǎn) A 的服務(wù)程序入口地址轉(zhuǎn) B 的服務(wù)程序入口地址轉(zhuǎn) C 的服務(wù)程序入口地址是是是否否8.479三、中斷服務(wù)程序入口地址的尋找1. 硬件向量法入口地址 200入口地址 300入口地址 40012 H13 H14 H主存12 H13 H14 HJMP 200JMP 300JMP 400主存向量地址形成部件中斷向量排隊器輸出向量地址 12H、13H、14H入口地址 200、 300、 4008.4802. 軟件查詢法 M JMP 1# SR1# D = 1 轉(zhuǎn)1# 服務(wù)程序 SKP DZ 2# JMP 2# SR2# D = 0 跳2# D =
39、1 轉(zhuǎn)2# 服務(wù)程序 SKP DZ 8# JMP 8# SR8# D = 0 跳8# D = 1 轉(zhuǎn)8# 服務(wù)程序八個中斷源 1,2, 8 按 降序 排列8.4 SKP DZ 1#1# D = 0 跳(D為完成觸發(fā)器)中斷識別程序(入口地址 M)地 址說 明指 令81四、中斷響應(yīng)1. 響應(yīng)中斷的 條件允許中斷觸發(fā)器 EINT = 12. 響應(yīng)中斷的 時間指令執(zhí)行周期結(jié)束時刻由CPU 發(fā)查詢信號 CPU中斷查詢INTR1DQINTR2DQINTRnDQ中斷源 1中斷源 2中斷源 n至排隊器8.4823. 中斷隱指令(1) 保護程序斷點(2) 尋找服務(wù)程序入口地址(3) 硬件 關(guān)中斷向量地址形成部件INTSQREINTSQRPC 1 &1排隊器斷點存于 特定地址( 0 號地址) 內(nèi)斷點 進棧INT 中斷標記EINT 允許中斷R S 觸發(fā)器8.4向量地址PC(硬件向量法)中斷識別程序 入口地址MPC(軟件查詢法)83五、保護現(xiàn)場和恢復(fù)現(xiàn)場1. 保護現(xiàn)場2. 恢復(fù)現(xiàn)場寄存器 內(nèi)容斷點保護現(xiàn)場其它服務(wù)程序恢復(fù)現(xiàn)場中斷返回PUSH視不同請求源而定POP中斷服務(wù)程序 完成中斷服務(wù)程序中斷隱指令 完成中斷服務(wù)程序 完成8.4IRET841. 多重中斷的概念klmk +1l +1m +1第一次 中斷第二次 中斷第三次 中斷程序斷點 k+1 , l+1 , m+1六、中斷屏蔽技術(shù)8.4852.
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)學(xué)教育中的實驗教學(xué)方法
- 2025年度餐飲行業(yè)供應(yīng)鏈金融服務(wù)合同范本2篇
- 2024鏟車租賃協(xié)議書
- 二零二五年度綠色建筑砂漿采購合同范本2篇
- 二零二五年度租賃車輛保險及理賠服務(wù)合同2篇
- 2024年科技公司與金融機構(gòu)之間的技術(shù)服務(wù)外包合同
- 2024年跨境物流委托代理協(xié)議模板版B版
- 2025年度股權(quán)投資讓與擔保合同規(guī)范范本5篇
- 節(jié)約糧食的精彩發(fā)言稿范文(11篇)
- 2024珍稀郵票贈送協(xié)議范本一
- 麻醉與舒適醫(yī)療
- RFID涉密載體管控系統(tǒng)技術(shù)方案-V1.0-20120326
- 全國林草行業(yè)森林消防員技能競賽理論知識考試題及答案
- 《中小學(xué)校園食品安全和膳食經(jīng)費管理工作指引》專題培訓(xùn)
- 2022年山東省公務(wù)員錄用考試《申論》真題(A類)及答案解析
- 2024年治安保衛(wèi)部規(guī)章制度(2篇)
- 2024年保密知識測試試題附答案(綜合卷)
- 豬糞供應(yīng)合同范本
- 化妝培訓(xùn)課件教學(xué)課件
- 腰椎間盤突出癥課件(共100張課件)
- 人教版2024-2025學(xué)年六年級數(shù)學(xué)上冊5.4 扇形的面積 同步練習(xí)(附答案解析)
評論
0/150
提交評論