版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3. 1 處理器的指令集處理器的指令集 3. 2 處理器的基本組成與工作過程處理器的基本組成與工作過程 3. 3 從從CISC到到RISC3. 4 Intel 80 x86系列微處理器系列微處理器 2022-4-213.1 處理器的指令集處理器的指令集3.1.1 概述概述(機(jī)器)指令(機(jī)器)指令:機(jī)器能夠識(shí)別并執(zhí)行的命令:機(jī)器能夠識(shí)別并執(zhí)行的命令指令集指令集:一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,通:一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,通常也叫做指令系統(tǒng)(狹義)。常也叫做指令系統(tǒng)(狹義)。 指令字指令字:代表指令的一組二進(jìn)制代碼信息:代表指令的一組二進(jìn)制代碼信息指令字長指令字長:指令字中二進(jìn)制代碼的位數(shù)
2、:指令字中二進(jìn)制代碼的位數(shù) 指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,其指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,其格式和功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),也直接格式和功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),也直接影響到系統(tǒng)軟件,影響到機(jī)器的應(yīng)用范圍。影響到系統(tǒng)軟件,影響到機(jī)器的應(yīng)用范圍。 指令系統(tǒng)(廣義)指令系統(tǒng)(廣義)主要包括數(shù)據(jù)表示、指令集和主要包括數(shù)據(jù)表示、指令集和尋址方式三方面的內(nèi)容。尋址方式三方面的內(nèi)容。規(guī)整性:規(guī)整性:指令與運(yùn)算規(guī)則統(tǒng)一指令與運(yùn)算規(guī)則統(tǒng)一兼容性:兼容性:“向上兼容向上兼容”完備性:完備性:指令齊全、編程方便指令齊全、編程方便高效性:高效性:占內(nèi)存少,運(yùn)行速度快占內(nèi)存少,運(yùn)行
3、速度快一個(gè)完善的指令系統(tǒng)應(yīng)滿足以下四方面的要求:一個(gè)完善的指令系統(tǒng)應(yīng)滿足以下四方面的要求:對(duì)于一個(gè)計(jì)算機(jī)系統(tǒng)來講:對(duì)于一個(gè)計(jì)算機(jī)系統(tǒng)來講:1)指令是程序設(shè)計(jì)的最小單位)指令是程序設(shè)計(jì)的最小單位2)指令是硬件設(shè)計(jì)的依據(jù))指令是硬件設(shè)計(jì)的依據(jù)3)指令是軟件和硬件的接口)指令是軟件和硬件的接口 匯編語言是基于英文的機(jī)器指令助記符。匯編語言是基于英文的機(jī)器指令助記符。 按匯編語言書寫的程序叫做按匯編語言書寫的程序叫做匯編語言源程序匯編語言源程序,匯,匯編語言源程序由匯編程序編語言源程序由匯編程序(Assembler)轉(zhuǎn)換成機(jī)器指轉(zhuǎn)換成機(jī)器指令,供計(jì)算機(jī)接受并執(zhí)行。令,供計(jì)算機(jī)接受并執(zhí)行。 匯編語言的提
4、出是計(jì)算機(jī)技術(shù)的一大進(jìn)步,體現(xiàn)匯編語言的提出是計(jì)算機(jī)技術(shù)的一大進(jìn)步,體現(xiàn)了計(jì)算思維的一個(gè)重要概念了計(jì)算思維的一個(gè)重要概念抽象抽象。 計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展過程就是計(jì)算機(jī)程序設(shè)計(jì)語言的發(fā)展過程就是 不斷抽象不斷抽象的過程。通過抽象,程序設(shè)計(jì)語言具有了更好的可編的過程。通過抽象,程序設(shè)計(jì)語言具有了更好的可編程性、可移植性、可重用性。程性、可移植性、可重用性。匯編語言:匯編語言:一、指令的一般格式一、指令的一般格式 操作碼字段操作碼字段 地址碼字段地址碼字段1. 操作碼操作碼反映機(jī)器做什么操作反映機(jī)器做什么操作 (1) 固定長度操作碼固定長度操作碼(2)可變可變長度操作碼長度操作碼硬件設(shè)計(jì)簡(jiǎn)單硬件
5、設(shè)計(jì)簡(jiǎn)單指令譯碼時(shí)間短指令譯碼時(shí)間短操作碼分散在指令字的不同字段中操作碼分散在指令字的不同字段中硬件設(shè)計(jì)相對(duì)復(fù)雜硬件設(shè)計(jì)相對(duì)復(fù)雜 指令譯碼時(shí)間長指令譯碼時(shí)間長3.1.2 指令的操作碼與操作數(shù)指令的操作碼與操作數(shù)2. 地址碼地址碼 用來指出操作數(shù)的地址用來指出操作數(shù)的地址 源操作數(shù)的地址源操作數(shù)的地址結(jié)果(目的操作數(shù))的地址結(jié)果(目的操作數(shù))的地址下一條指令的地址下一條指令的地址 這些地址可以是這些地址可以是CPU內(nèi)部寄存器的地址,主存內(nèi)部寄存器的地址,主存的地址和的地址和IO設(shè)備地址設(shè)備地址 按照操作數(shù)地址的數(shù)目可以把指令分為四地址指按照操作數(shù)地址的數(shù)目可以把指令分為四地址指令、三地址指令、二
6、地址指令、一地址指令和零地令、三地址指令、二地址指令、一地址指令和零地址指令。址指令。(1) 四地址四地址 (2) 三地址三地址OP A1 A2 A3 A48 6 6 6 6A1 第一操作數(shù)地址第一操作數(shù)地址A2 第二操作數(shù)地址第二操作數(shù)地址A3 結(jié)果的地址結(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 或或 A2 代替代替設(shè)指令字長為設(shè)指令字長為 32
7、位位操作碼固定為操作碼固定為 8 位位(3) 二地址二地址OP A1 A28 12 12(A1) OP (A2) A1(A1) OP (A2) A2或或4 次訪存次訪存若若ACC 代替代替 A1(或(或A2)若結(jié)果存于若結(jié)果存于 ACC (4) 一地址一地址 (5) 零地址零地址OP A18 24無地址碼無地址碼 NOP, HLT , IRET等等(ACC) OP (A1) ACC2 次訪存次訪存尋址范圍尋址范圍 212 = 4 K尋址范圍尋址范圍 224 = 16 M 3次訪存次訪存二、指令字二、指令字 長長指令字長決定于指令字長決定于操作碼的長度操作碼的長度指令字長指令字長 = 機(jī)器字長機(jī)
8、器字長= 存儲(chǔ)字長存儲(chǔ)字長 2. 指令字長指令字長 可變可變操作數(shù)地址的長度操作數(shù)地址的長度操作數(shù)地址的個(gè)數(shù)操作數(shù)地址的個(gè)數(shù)1. 指令字長指令字長 固定固定按字節(jié)的倍數(shù)變化按字節(jié)的倍數(shù)變化小小 結(jié)結(jié) 當(dāng)用一些硬件資源代替指令字中的地址碼字段后當(dāng)用一些硬件資源代替指令字中的地址碼字段后 當(dāng)指令的地址字段為寄存器時(shí)當(dāng)指令的地址字段為寄存器時(shí) 可擴(kuò)大指令的尋址范圍可擴(kuò)大指令的尋址范圍 可縮短指令字長可縮短指令字長 可減少訪存次數(shù)可減少訪存次數(shù) 三地址三地址 OP R1, R2, R3 二地址二地址 OP R1, R2 一地址一地址 OP R1 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 可縮短指令字長可縮
9、短指令字長3.1.3 尋址方式尋址方式尋址方式尋址方式 確定確定 本條指令本條指令 的的 操作數(shù)地址操作數(shù)地址下一條下一條 欲執(zhí)行欲執(zhí)行 指令指令 的的 指令地址指令地址指令尋址指令尋址數(shù)據(jù)尋址數(shù)據(jù)尋址尋址方式尋址方式一、指令尋址一、指令尋址順序順序( PC ) + 1 PC跳躍跳躍由轉(zhuǎn)移指令指出由轉(zhuǎn)移指令指出LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA 2500LDA 1100.0123456789PC+1指令地址尋址方式指令地址尋址方式指令地址指令地址指令指令順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?跳躍尋址跳躍尋址7順
10、序?qū)ぶ讽樞驅(qū)ぶ?二、數(shù)據(jù)尋址二、數(shù)據(jù)尋址 形式地址形式地址 指令字中的地址指令字中的地址 有效地址有效地址 操作數(shù)的真實(shí)地址操作數(shù)的真實(shí)地址 約定約定 指令字長指令字長 = 存儲(chǔ)字長存儲(chǔ)字長 = 機(jī)器字長機(jī)器字長1. 立即數(shù)尋址立即數(shù)尋址 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 A 的位數(shù)限制了立即數(shù)的范圍的位數(shù)限制了立即數(shù)的范圍形式地址形式地址 A操作碼操作碼尋址特征尋址特征 OP # A立即尋址特征立即尋址特征立即數(shù)立即數(shù) 可正可負(fù)可正可負(fù) 補(bǔ)碼補(bǔ)碼形式地址形式地址 A 就是操作數(shù)就是操作數(shù)A AEAEA2. 直接尋址直接尋址EA = A操作數(shù)操作數(shù)主存主存尋址特征尋址特征O PAAACC
11、執(zhí)行階段訪問一次存儲(chǔ)器執(zhí)行階段訪問一次存儲(chǔ)器 A 的位數(shù)決定了該指令操作數(shù)的尋址范圍的位數(shù)決定了該指令操作數(shù)的尋址范圍 操作數(shù)的地址不易修改(必須修改操作數(shù)的地址不易修改(必須修改A)有效地址由形式地址直接給出有效地址由形式地址直接給出3. 隱含尋址隱含尋址操作數(shù)地址隱含在操作碼中操作數(shù)地址隱含在操作碼中ADDA操作數(shù)操作數(shù)主存主存尋址特征尋址特征AACC暫存暫存ALU另一個(gè)操作數(shù)另一個(gè)操作數(shù)隱含在隱含在 ACC 中中如如 8086MUL 指令指令被乘數(shù)隱含在被乘數(shù)隱含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令源操作數(shù)的地址隱含在源操作數(shù)的地址隱含在 SI 中中目的操作
12、數(shù)的地址隱含在目的操作數(shù)的地址隱含在 DI 中中 指令字中少了一個(gè)地址字段,可縮短指令字長指令字中少了一個(gè)地址字段,可縮短指令字長4. 間接尋址間接尋址EA =(A) 有效地址由形式地址間接提供有效地址由形式地址間接提供OPA尋址特征尋址特征AEA主存主存EAA1EA A1主存主存 EA10 執(zhí)行指令階段執(zhí)行指令階段 2 次訪存次訪存 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于編制程序便于編制程序OPA尋址特征尋址特征A一次間址一次間址多次間址多次間址操作數(shù)操作數(shù)操作數(shù)操作數(shù)多次訪存多次訪存5. 寄存器尋址寄存器尋址EA = Ri 執(zhí)行階段不訪存,只訪問寄存器,執(zhí)行速度快執(zhí)行階段不訪存,只訪問寄存器,
13、執(zhí)行速度快OPRi尋址特征尋址特征 寄存器個(gè)數(shù)有限,可縮短指令字長寄存器個(gè)數(shù)有限,可縮短指令字長操作數(shù)操作數(shù)R0RiRn寄存器寄存器有效地址即為寄存器編號(hào)有效地址即為寄存器編號(hào)EA = ( Ri )6. 寄存器間接尋址寄存器間接尋址 有效地址在寄存器中,有效地址在寄存器中, 操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)操作數(shù)主存主存OPRi尋址特征尋址特征 便于編制循環(huán)程序便于編制循環(huán)程序地址地址R0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中7. 基址尋址基址尋址(1) 采用專用寄存器作基址寄存器采用專用寄存器作基址寄存器EA = ( BR ) + ABR
14、為基址寄存器為基址寄存器OPA操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUBR 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 BR 內(nèi)容由操作系統(tǒng)或管理程序確定內(nèi)容由操作系統(tǒng)或管理程序確定 在程序的執(zhí)行過程中在程序的執(zhí)行過程中 BR 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用戶指定哪個(gè)通用寄存器作為基址寄存器由用戶指定哪個(gè)通用寄存器作為基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的內(nèi)容由操作系統(tǒng)確定基址寄存器的內(nèi)容由操作系統(tǒng)確定 在程序的執(zhí)行過
15、程中在程序的執(zhí)行過程中 R0 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變8. 變址尋址變址尋址EA = ( IX ) +AOPA操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUIX 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于處理數(shù)組問題便于處理數(shù)組問題 IX 的內(nèi)容由用戶給定的內(nèi)容由用戶給定 IX 為變址寄存器(專用)為變址寄存器(專用) 在程序的執(zhí)行過程中在程序的執(zhí)行過程中 IX 內(nèi)容可變,形式地址內(nèi)容可變,形式地址 A 不變不變通用寄存器也可以作為變址寄存器通用寄存器也可以作為變址寄存器例例 設(shè)數(shù)據(jù)塊首地址為設(shè)數(shù)據(jù)塊首地址為 D,求,求 N 個(gè)數(shù)的平均值個(gè)數(shù)的平均值直接尋址直接尋址變址尋址變址尋
16、址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)結(jié)果不為零則轉(zhuǎn)9. 相對(duì)尋址相對(duì)尋址 EA = ( PC ) + AA 是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼) A 的位數(shù)決定操作數(shù)的尋址范圍的位數(shù)決定操作數(shù)的尋址范圍 程序浮動(dòng)程
17、序浮動(dòng) 廣泛用于轉(zhuǎn)移指令廣泛用于轉(zhuǎn)移指令操作數(shù)操作數(shù)尋址特征尋址特征ALUOPA相對(duì)距離相對(duì)距離 A1000PC主存主存1000AOP10. 堆棧尋址堆棧尋址 “堆棧堆棧(Stack)”是一個(gè)重要的數(shù)據(jù)結(jié)構(gòu),廣泛應(yīng)是一個(gè)重要的數(shù)據(jù)結(jié)構(gòu),廣泛應(yīng)用于子程序調(diào)用和中斷服務(wù)等領(lǐng)域。堆棧的存取原則是用于子程序調(diào)用和中斷服務(wù)等領(lǐng)域。堆棧的存取原則是后進(jìn)先出后進(jìn)先出(Last In First Out, LIFO)。對(duì)堆棧的操作都。對(duì)堆棧的操作都是針對(duì)棧頂單元進(jìn)行的,有是針對(duì)棧頂單元進(jìn)行的,有“壓入壓入(PUSH)”和和“彈出彈出(POP)”兩條指令。兩條指令。(1) 堆棧的特點(diǎn)堆棧的特點(diǎn)堆棧堆棧硬堆棧硬堆
18、棧軟堆棧軟堆棧多個(gè)寄存器多個(gè)寄存器指定的存儲(chǔ)空間指定的存儲(chǔ)空間 軟件堆棧一般在內(nèi)存中開辟一個(gè)堆棧區(qū),并在軟件堆棧一般在內(nèi)存中開辟一個(gè)堆棧區(qū),并在處理器中設(shè)置指示堆棧棧頂單元地址的處理器中設(shè)置指示堆棧棧頂單元地址的“堆棧指針堆棧指針寄存器寄存器(Stack Pointer, SP)”來管理這個(gè)堆棧。來管理這個(gè)堆棧。 相對(duì)于硬件堆棧,軟件堆棧有三個(gè)優(yōu)點(diǎn):相對(duì)于硬件堆棧,軟件堆棧有三個(gè)優(yōu)點(diǎn): 1.可以有較大的深度。可以有較大的深度。2.可以設(shè)置多個(gè)堆棧??梢栽O(shè)置多個(gè)堆棧。3.除了專門的堆棧指令除了專門的堆棧指令PUSH和和POP外,還可以使用外,還可以使用任何訪問主存的指令來訪問堆棧中的數(shù)據(jù)。任何訪
19、問主存的指令來訪問堆棧中的數(shù)據(jù)。先進(jìn)后出(一個(gè)入出口)先進(jìn)后出(一個(gè)入出口) 棧頂?shù)刂窏m數(shù)刂?由由 SP 指出指出 11FFFH +12000 H進(jìn)棧進(jìn)棧 (SP) 1 SP出棧出棧 (SP)+ 1 SP棧頂棧頂棧底棧底2000 HSP2000 H1FFF HSP1FFFH棧頂棧頂棧底棧底進(jìn)棧進(jìn)棧出棧出棧 1FFF H棧頂棧頂 2000 H棧頂棧頂(2) 堆棧尋址舉例堆棧尋址舉例15200HACCSPX棧頂棧頂200H棧底棧底主存主存151FFHACCSP15棧頂棧頂200H棧底棧底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX棧
20、頂棧頂200H棧底棧底主存主存151FFH15200HACCSP棧頂棧頂200H棧底棧底主存主存X15(3) SP 的修改與主存編址方法有關(guān)的修改與主存編址方法有關(guān) 按按 字字 編址編址進(jìn)棧進(jìn)棧出棧出棧(SP) 1 SP(SP)+ 1 SP 按按 字節(jié)字節(jié) 編址編址存儲(chǔ)字長存儲(chǔ)字長 16 位位進(jìn)棧進(jìn)棧出棧出棧(SP) 2 SP(SP)+ 2 SP存儲(chǔ)字長存儲(chǔ)字長 32 位位進(jìn)棧進(jìn)棧出棧出棧(SP) 4 SP(SP)+ 4 SP3.1.4 指令的基本功能指令的基本功能通用計(jì)算機(jī)系統(tǒng)的指令集可分為通用計(jì)算機(jī)系統(tǒng)的指令集可分為5類基本指令:類基本指令:(1)算術(shù))算術(shù)/邏輯邏輯/移位指令(簡(jiǎn)稱算邏指
21、令)移位指令(簡(jiǎn)稱算邏指令)(2)數(shù)據(jù)傳送指令(簡(jiǎn)稱數(shù)傳指令)數(shù)據(jù)傳送指令(簡(jiǎn)稱數(shù)傳指令) (3)控制轉(zhuǎn)移指令)控制轉(zhuǎn)移指令(4)輸入)輸入/輸出指令輸出指令(5)處理器控制及調(diào)試指令)處理器控制及調(diào)試指令1. 算術(shù)算術(shù)/邏輯邏輯/移位指令(簡(jiǎn)稱算邏指令)移位指令(簡(jiǎn)稱算邏指令)n定點(diǎn)加法指令定點(diǎn)加法指令A(yù)DDn定點(diǎn)減法指令定點(diǎn)減法指令SUBn定點(diǎn)乘法指令定點(diǎn)乘法指令MULn定點(diǎn)除法指令定點(diǎn)除法指令DIVn加加1指令指令I(lǐng)NCn減減1指令指令DECn比較指令比較指令CMPn浮點(diǎn)加法指令浮點(diǎn)加法指令A(yù)DDFn浮點(diǎn)減法指令浮點(diǎn)減法指令SUBFn浮點(diǎn)乘法指令浮點(diǎn)乘法指令MULFn浮點(diǎn)除法指令浮點(diǎn)除法
22、指令DIVFn“與與”運(yùn)算指令運(yùn)算指令A(yù)NDn“或或”運(yùn)算指令運(yùn)算指令ORn“非非”運(yùn)算指令運(yùn)算指令NOTn“ 異 或異 或 ” 運(yùn) 算 指 令運(yùn) 算 指 令XORn算術(shù)左移指令算術(shù)左移指令SALn算術(shù)右移指令算術(shù)右移指令SARn邏輯左移指令邏輯左移指令SHLn邏輯右移指令邏輯右移指令SHRn帶進(jìn)位循環(huán)左移指令帶進(jìn)位循環(huán)左移指令RCLn不帶進(jìn)位循環(huán)左移指令不帶進(jìn)位循環(huán)左移指令ROLn帶進(jìn)位循環(huán)右移指令帶進(jìn)位循環(huán)右移指令RCRn不帶進(jìn)位循環(huán)右移指令不帶進(jìn)位循環(huán)右移指令ROR2. 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令源源 目目 的的寄存寄存 器器寄存器寄存器 寄存器寄存器寄存器寄存器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存
23、儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器MOVESTORELOADMOVEPUSHPOP例例 如如MOVEMOVE3. 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令(1) 無條件轉(zhuǎn)移無條件轉(zhuǎn)移 JMP(2) 條件轉(zhuǎn)移條件轉(zhuǎn)移結(jié)果為零轉(zhuǎn)結(jié)果為零轉(zhuǎn) (Z = 1) JZ結(jié)果溢出轉(zhuǎn)結(jié)果溢出轉(zhuǎn) (O = 1)JO跳過一條指令跳過一條指令 SKP(3) 調(diào)用和返回調(diào)用和返回CALL SUB1. .CALL SUB2.CALL SUB2RETURNRETURN.主程序主程序地址地址200021002101子程序子程序SUB1240025002501256025612700主存空間分配主存空間分配程序執(zhí)行流程程序執(zhí)行流程子程序子程序SUB2IN
24、 AX, nOUT DX, ALOUT n, AXOUT DX, AX(4) 陷阱(陷阱(Trap)與陷阱指令)與陷阱指令意外事故的中斷意外事故的中斷 設(shè)置供用戶使用的陷阱指令設(shè)置供用戶使用的陷阱指令如如 8086 INT TYPE 軟中斷軟中斷提供給用戶使用的陷阱指令,完成系統(tǒng)調(diào)用提供給用戶使用的陷阱指令,完成系統(tǒng)調(diào)用4. 輸入輸出指令輸入輸出指令 一般不提供給用戶直接使用一般不提供給用戶直接使用 在出現(xiàn)事故時(shí),由在出現(xiàn)事故時(shí),由 CPU 自動(dòng)產(chǎn)生并執(zhí)行(隱指令)自動(dòng)產(chǎn)生并執(zhí)行(隱指令)IN AL, DXIN AX, DX入入 端口地址端口地址 CPU 的寄存器的寄存器出出 CPU 的寄存器
25、的寄存器 端口地址端口地址如如如如IN AL, nOUT n, AL3.1.4 指令的格式舉例指令的格式舉例一、設(shè)計(jì)指令格式時(shí)應(yīng)考慮的各種因素一、設(shè)計(jì)指令格式時(shí)應(yīng)考慮的各種因素1. 指令系統(tǒng)的指令系統(tǒng)的 兼容性兼容性 (向上兼容)(向上兼容)2. 其他因素其他因素操作類型操作類型數(shù)據(jù)類型數(shù)據(jù)類型指令格式指令格式包括指令個(gè)數(shù)及操作的難易程度包括指令個(gè)數(shù)及操作的難易程度指令字長是否固定指令字長是否固定尋址方式尋址方式寄存器個(gè)數(shù)寄存器個(gè)數(shù)地址碼位數(shù)、地址個(gè)數(shù)、尋址方式類型地址碼位數(shù)、地址個(gè)數(shù)、尋址方式類型操作碼位數(shù)、是否采用擴(kuò)展操作碼技術(shù),操作碼位數(shù)、是否采用擴(kuò)展操作碼技術(shù),確定哪些數(shù)據(jù)類型可參與操
26、作確定哪些數(shù)據(jù)類型可參與操作指令尋址、操作數(shù)尋址指令尋址、操作數(shù)尋址寄存器的多少直接影響指令的執(zhí)行時(shí)間寄存器的多少直接影響指令的執(zhí)行時(shí)間二、指令格式舉例二、指令格式舉例1. PDP 8指令字長固定指令字長固定 12 位位操作碼操作碼 間間 頁頁 地址碼地址碼訪存類指令訪存類指令0235411寄存器類指令寄存器類指令 1 1 1 輔助操作碼輔助操作碼02 311I/O 類指令類指令 1 1 0 設(shè)備設(shè)備 操作碼操作碼02 31198只有一個(gè)通用寄存器只有一個(gè)通用寄存器 ACC2. IBM 360OPR1R2 RR格式格式8 4 4OPR1XBD RX格式格式8 4 4 4 12OPR1R3BD
27、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ù)立即數(shù) M3. Intel 8086(1) 指令字長指令字長(2) 地址格式地址格式1 6 個(gè)字節(jié)個(gè)字節(jié)MOV WORD PTR0204, 0138H 6 字節(jié)字節(jié)INC AX 1 字節(jié)字節(jié)一地址一地址NOP 1 字節(jié)字節(jié)CALL段內(nèi)調(diào)用段內(nèi)調(diào)用 3 字節(jié)字節(jié)零地址零地址 5 字節(jié)字節(jié)段間調(diào)用段間調(diào)用
28、寄存器寄存器 寄存器寄存器寄存器寄存器 立即數(shù)立即數(shù)寄存器寄存器 存儲(chǔ)器存儲(chǔ)器ADD AX,BX 2 字節(jié)字節(jié)ADD AX,3048H 4 字節(jié)字節(jié)ADD AX,3048H 3 字節(jié)字節(jié)二地址二地址CALL三三. 擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù) 操作碼的長度隨地址數(shù)的減少而增加;操作碼的長度隨地址數(shù)的減少而增加; 不同地址數(shù)的指令有不同長度的操作碼;不同地址數(shù)的指令有不同長度的操作碼; 有效縮短指令字長,有效縮短指令字長, 一種很重要的指令優(yōu)化技術(shù)。一種很重要的指令優(yōu)化技術(shù)。 擴(kuò)展操作碼的設(shè)計(jì)原則:擴(kuò)展操作碼的設(shè)計(jì)原則:(1)使用頻度使用頻度較高較高的指令占用的指令占用較短較短的操作碼的操作碼(
29、2)使用頻度使用頻度較低較低的指令占用的指令占用較長較長的操作碼的操作碼 有利于有利于CPU縮短對(duì)指令的譯碼時(shí)間,提高指令執(zhí)行速度。縮短對(duì)指令的譯碼時(shí)間,提高指令執(zhí)行速度。例例3.1:某指令系統(tǒng)字長為:某指令系統(tǒng)字長為16位,每個(gè)地址的長度為位,每個(gè)地址的長度為4位,試采位,試采用用“擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù)”設(shè)計(jì)設(shè)計(jì)61條指令,其中三地址指令條指令,其中三地址指令15條,條,二地址指令二地址指令15條,一地址指令條,一地址指令15條,零地址指令條,零地址指令16條。條。OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A31111111
30、11111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作碼位操作碼8 位操作碼位操作碼12 位操作碼位操作碼16 位操作碼位操作碼15條三地址指令條三地址指令15條二地址指令條二地址指令15條一地址指令條一地址指令16條零地址指令條零地址指令例例3.2 設(shè)指令字長為設(shè)指令字長為16位,操作數(shù)的地址碼為位,操作數(shù)的地址碼為6位,指令有零地址、一地址、位,指令有零地址、一地址、二地址三種格式。二地址三種格式。(1)設(shè)操作碼固定,若零
31、地址指令有)設(shè)操作碼固定,若零地址指令有P種,一地址指令有種,一地址指令有Q種,則二地址指種,則二地址指令最多有幾種?令最多有幾種?(2)采用擴(kuò)展操作碼技術(shù),若二地址指令有)采用擴(kuò)展操作碼技術(shù),若二地址指令有X種,零地址指令有種,零地址指令有Y種,則一種,則一地址指令最多有多少種?地址指令最多有多少種? 解:解:(1)因?yàn)椴僮鞔a固定,所以操作碼的位數(shù)為:)因?yàn)椴僮鞔a固定,所以操作碼的位數(shù)為:16-6-6=4。則。則4位操作碼最位操作碼最多可以有多可以有24=16種操作,所以二地址指令最多為:種操作,所以二地址指令最多為:16-P-Q種。種。(2)若采用擴(kuò)展操作碼,根據(jù)要求可知二地址、一地址和零
32、地址的操作)若采用擴(kuò)展操作碼,根據(jù)要求可知二地址、一地址和零地址的操作碼長度分別為碼長度分別為4、10和和16位。且二地址指令操作碼每減少一種,就最多可位。且二地址指令操作碼每減少一種,就最多可構(gòu)成構(gòu)成26種一地址指令操作碼;一地址指令操作碼每減少一種,就最多可構(gòu)種一地址指令操作碼;一地址指令操作碼每減少一種,就最多可構(gòu)成成26種零地址指令操作碼。種零地址指令操作碼。 由題知二地址指令有由題知二地址指令有X種,則一地址指令最多有(種,則一地址指令最多有(24-X)26種。設(shè)一地種。設(shè)一地址指令有址指令有M種,則零地址指令最多有種,則零地址指令最多有(24-X)26-M 26種。種。 由題意知零
33、地址指令有由題意知零地址指令有Y種,所以種,所以Y= (24-X)26-M 26 則一地址指令則一地址指令 M=(24-X)26-Y/26例3.3某機(jī)主存容量為某機(jī)主存容量為4M 16位,且存儲(chǔ)字長等于指令字長,位,且存儲(chǔ)字長等于指令字長,若該機(jī)指令系統(tǒng)可完成若該機(jī)指令系統(tǒng)可完成108種操作,操作碼位數(shù)固定,且具有直種操作,操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答:接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答:(1)畫出一地址指令格式并指出各字段的作用;)畫出一地址指令格式并指出各字段的作用;(2)該指令直接尋址的最大范圍)該指令直接尋址的最大范
34、圍(3)一次間址和多次間址的尋址范圍)一次間址和多次間址的尋址范圍(4)立即數(shù)的范圍(十進(jìn)制表示)立即數(shù)的范圍(十進(jìn)制表示)(5)相對(duì)尋址的位移量(十進(jìn)制表示)相對(duì)尋址的位移量(十進(jìn)制表示)(6)上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長?)上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長? 為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組問題?為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組問題?(7)如何修改指令格式,使指令的直接尋址范圍可擴(kuò)大到)如何修改指令格式,使指令的直接尋址范圍可擴(kuò)大到4M?解:由題意可知:解:由題意可知: 1) 指令字長指令字長=存儲(chǔ)字長存儲(chǔ)字長=1
35、6位位 2)要完成)要完成108種操作,且操作碼固定則操作碼位數(shù)至少為種操作,且操作碼固定則操作碼位數(shù)至少為7位位 3)6種尋址方式則尋址特征位至少要種尋址方式則尋址特征位至少要3位。位。(1)一地址指令格式)一地址指令格式尋址特征尋址特征OPA17位位6位位3位位(2)該指令直接尋址的最大范圍:)該指令直接尋址的最大范圍:26OPAAEAEA一次間址:一次間址:216操作數(shù)操作數(shù)(3)一次間址與多次間址的尋址范圍:)一次間址與多次間址的尋址范圍:A1EA A1 EA10A多次間址多次間址215操作數(shù)操作數(shù)(4)立即數(shù)的范圍)立即數(shù)的范圍尋址特征尋址特征OP立即數(shù)立即數(shù)7位位6位位3位位0 6
36、3與采用的機(jī)器碼有關(guān)系與采用的機(jī)器碼有關(guān)系則立即數(shù)的范圍是則立即數(shù)的范圍是(有符號(hào)數(shù))(有符號(hào)數(shù)) (無符號(hào)數(shù))(無符號(hào)數(shù))(5)相對(duì)尋址的位移量)相對(duì)尋址的位移量尋址特征尋址特征OPA7位位6位位3位位則相對(duì)尋址的位移量是:則相對(duì)尋址的位移量是:26(或?qū)懗桑ɑ驅(qū)懗?2+31) 執(zhí)行時(shí)間最短執(zhí)行時(shí)間最短 執(zhí)行時(shí)間最長執(zhí)行時(shí)間最長 便于程序浮動(dòng)便于程序浮動(dòng) 便于處理數(shù)組問題便于處理數(shù)組問題變址尋址變址尋址相對(duì)尋址相對(duì)尋址(6)立即數(shù)尋址立即數(shù)尋址間接尋址間接尋址尋址特征尋址特征OPA17位位6位位3位位A2指令的地址字段長為指令的地址字段長為 166 22位,則指令的直接尋址位,則指令的直接尋
37、址范圍擴(kuò)大到范圍擴(kuò)大到222 4M.(7)將指令的格式改為雙字指令,格式如下:將指令的格式改為雙字指令,格式如下:例例3.4. 某機(jī)指令字長某機(jī)指令字長16位,存儲(chǔ)器直接尋址空間為位,存儲(chǔ)器直接尋址空間為128字,字,變址時(shí)的位移量為變址時(shí)的位移量為64+63,16個(gè)通用寄存器均可作為變址個(gè)通用寄存器均可作為變址寄存器。采用擴(kuò)展操作碼技術(shù),設(shè)計(jì)一套指令系統(tǒng)格式,滿寄存器。采用擴(kuò)展操作碼技術(shù),設(shè)計(jì)一套指令系統(tǒng)格式,滿足下列尋址類型的要求:足下列尋址類型的要求: (1)直接尋址的二地址指令)直接尋址的二地址指令3條;條; (2)變址尋址的一地址指令)變址尋址的一地址指令6條;條; (3)寄存器尋址
38、的二地址指令)寄存器尋址的二地址指令8條;條; (4)直接尋址的一地址指令)直接尋址的一地址指令12條;條; (5)零地址指令)零地址指令32條。條。 試問還有多少種代碼未用?若安排寄存器尋址的一地址指試問還有多少種代碼未用?若安排寄存器尋址的一地址指令,還能容納多少條?令,還能容納多少條?解:設(shè)指令字長等于機(jī)器字長,指令格式為:解:設(shè)指令字長等于機(jī)器字長,指令格式為:OP A1 A22 7 7(1)直接尋址的二地址指令)直接尋址的二地址指令3條條(2)變址尋址的一地址指令)變址尋址的一地址指令6條條OP IX A5 4 700 . 01 . 10 . 11 000 11 101 .(3)寄存
39、器尋址的二地址指令)寄存器尋址的二地址指令8條條OP Ri Rj8 4 4(4)直接尋址的一地址指令)直接尋址的一地址指令12條條OP A9 711110 000 .11110 111 .11111 0000 .11111 1011 .(5)零地址指令)零地址指令32條條OP11111 1100 0000000.11111 1100 0011111還有還有480種代碼未用,若安排寄存器尋址的一種代碼未用,若安排寄存器尋址的一地址指令,還能容納地址指令,還能容納30條這類指令。條這類指令。例例3.5.設(shè)相對(duì)尋址的轉(zhuǎn)移指令占設(shè)相對(duì)尋址的轉(zhuǎn)移指令占3個(gè)字節(jié),第一個(gè)字個(gè)字節(jié),第一個(gè)字節(jié)為操作碼,第二、
40、三個(gè)字節(jié)為相對(duì)位移量(補(bǔ)碼)。節(jié)為操作碼,第二、三個(gè)字節(jié)為相對(duì)位移量(補(bǔ)碼)。每當(dāng)每當(dāng)CPU從存儲(chǔ)器取一個(gè)字節(jié)時(shí),自動(dòng)完成從存儲(chǔ)器取一個(gè)字節(jié)時(shí),自動(dòng)完成(PC)+1PC。若若PC當(dāng)前值當(dāng)前值240(十進(jìn)制)要求轉(zhuǎn)移到(十進(jìn)制)要求轉(zhuǎn)移到290(十進(jìn)(十進(jìn)制),則轉(zhuǎn)移指令的二、三字節(jié)的機(jī)器代碼?制),則轉(zhuǎn)移指令的二、三字節(jié)的機(jī)器代碼?若若PC當(dāng)前值當(dāng)前值240(十進(jìn)制)要求轉(zhuǎn)移到(十進(jìn)制)要求轉(zhuǎn)移到200(十進(jìn)(十進(jìn)制),則轉(zhuǎn)移指令的二、三字節(jié)的機(jī)器代碼?制),則轉(zhuǎn)移指令的二、三字節(jié)的機(jī)器代碼?解:解:PC當(dāng)前值當(dāng)前值240,取出該指令后,取出該指令后PC值為值為243,相對(duì)位移量為相對(duì)位移量為
41、290-243=47。47的補(bǔ)碼為的補(bǔ)碼為2FH。故轉(zhuǎn)。故轉(zhuǎn)移指令第二字節(jié)為移指令第二字節(jié)為2FH,第三個(gè)字節(jié)為,第三個(gè)字節(jié)為00H。PC當(dāng)前值當(dāng)前值240,取出該指令后,取出該指令后PC值為值為243,相對(duì),相對(duì)位移量為位移量為200-243=43。43的補(bǔ)碼為的補(bǔ)碼為D5H。故轉(zhuǎn)。故轉(zhuǎn)移指令第二字節(jié)為移指令第二字節(jié)為D5H,第三個(gè)字節(jié)為,第三個(gè)字節(jié)為FFH。例例3.6.一條雙字長直接尋址的子程序調(diào)用一條雙字長直接尋址的子程序調(diào)用CALL指令,指令,其第一個(gè)字為操作碼和尋址特征,第二個(gè)字為地址碼其第一個(gè)字為操作碼和尋址特征,第二個(gè)字為地址碼5000H。假設(shè)。假設(shè)PC當(dāng)前值為當(dāng)前值為1000H
42、,SP的內(nèi)容為的內(nèi)容為0100H,棧頂內(nèi)容為棧頂內(nèi)容為 1234H,存儲(chǔ)器按字編址,而且進(jìn)棧操,存儲(chǔ)器按字編址,而且進(jìn)棧操作是先(作是先(SP)SP,后存入數(shù)據(jù)。試回答下列,后存入數(shù)據(jù)。試回答下列幾種情況下,幾種情況下,PC、SP及棧頂內(nèi)容各為多少。及棧頂內(nèi)容各為多少。CALL指令被讀取前;指令被讀取前;CALL指令被執(zhí)行后;指令被執(zhí)行后;子程序返回后。子程序返回后。解:解:PC=1000H,SP=0100H,棧頂內(nèi)容棧頂內(nèi)容1234H。PC=5000H,SP=0FFH,棧頂內(nèi)容棧頂內(nèi)容1002H。PC=1002H,SP=0100H,棧頂內(nèi)容棧頂內(nèi)容1234H。例例3.7. CPU內(nèi)有內(nèi)有32
43、個(gè)個(gè)32位的通用寄存器,設(shè)計(jì)一種能容納位的通用寄存器,設(shè)計(jì)一種能容納64種操作的指令系統(tǒng)。假設(shè)指令字長等于機(jī)器字長,試回答以下種操作的指令系統(tǒng)。假設(shè)指令字長等于機(jī)器字長,試回答以下問題。問題。 如果主存可直接或間接尋址,采用如果主存可直接或間接尋址,采用“寄存器寄存器存儲(chǔ)器存儲(chǔ)器”型型指令,能直接尋址的最大存儲(chǔ)空間是多少?畫出指令格式并說指令,能直接尋址的最大存儲(chǔ)空間是多少?畫出指令格式并說明各字段的含義。明各字段的含義。 在滿足在滿足的前提下,如果采用通用寄存器作基址寄存器的前提下,如果采用通用寄存器作基址寄存器,則上述則上述“寄存器寄存器存儲(chǔ)器存儲(chǔ)器”型指令的指令格式有何特點(diǎn)?畫出型指令的
44、指令格式有何特點(diǎn)?畫出指令格式并指出這類指令可訪問多大的存儲(chǔ)空間?指令格式并指出這類指令可訪問多大的存儲(chǔ)空間?解:解:采用采用RS型指令,指令格式如下:型指令,指令格式如下:間接間接指令格式變?yōu)椋褐噶罡袷阶優(yōu)椋篛PRiIXBRiA6511514其中,其中,X為基址尋址特征位,為基址尋址特征位,BRi處理器的組成與工作過程處理器的組成與工作過程一、概述一、概述 從外觀上看,處理器是矩形或正方形的塊狀物,通過密密麻從外觀上看,處理器是矩形或正方形的塊狀物,通過密密麻麻的管腳與主板相連。麻的管腳與主板相連。 實(shí)現(xiàn)處理器內(nèi)部各個(gè)單元之間信號(hào)傳輸?shù)木€路稱為實(shí)現(xiàn)處理器內(nèi)部各個(gè)單元之間信號(hào)傳輸?shù)木€路稱為片內(nèi)
45、總線片內(nèi)總線,它又分為片內(nèi)控制總線和片內(nèi)數(shù)據(jù)總線。它又分為片內(nèi)控制總線和片內(nèi)數(shù)據(jù)總線。 用于實(shí)現(xiàn)處理器與主存儲(chǔ)器和輸入用于實(shí)現(xiàn)處理器與主存儲(chǔ)器和輸入/輸出設(shè)備之間信號(hào)傳輸輸出設(shè)備之間信號(hào)傳輸?shù)木€路稱為的線路稱為片外總線片外總線,簡(jiǎn)稱總線。,簡(jiǎn)稱總線。 電源電源VCC和地和地GND數(shù)據(jù)總線引腳(數(shù)據(jù)總線引腳(DB)地址總線引腳(地址總線引腳(AB)控制總線引腳(控制總線引腳(CB)處理器的引腳處理器的引腳3.2.1處理器的基本功能與邏輯構(gòu)成處理器的基本功能與邏輯構(gòu)成二、處理器的基本功能二、處理器的基本功能 處理器的工作就是周而復(fù)始地執(zhí)行指令,它的處理器的工作就是周而復(fù)始地執(zhí)行指令,它的基本功能包
46、括:基本功能包括:(2)分析指令)分析指令 根據(jù)根據(jù)PC給出的主存地址訪問主存儲(chǔ)器,取給出的主存地址訪問主存儲(chǔ)器,取出指令送入處理器內(nèi)部的出指令送入處理器內(nèi)部的 IR,然后,然后PC加加1。(1)取指令)取指令(4)處理數(shù)據(jù))處理數(shù)據(jù)(5)寫回結(jié)果)寫回結(jié)果(3)取數(shù)據(jù))取數(shù)據(jù) 將將IR中的操作碼送中的操作碼送ID進(jìn)行譯碼;進(jìn)行譯碼; 分析參與這次操作的操作數(shù)地址分析參與這次操作的操作數(shù)地址 根據(jù)源操作數(shù)的地址訪問主存,取出根據(jù)源操作數(shù)的地址訪問主存,取出 操作數(shù),送入操作數(shù),送入CPU。將源操作數(shù)送入運(yùn)算器根據(jù)指令譯碼結(jié)果將源操作數(shù)送入運(yùn)算器根據(jù)指令譯碼結(jié)果啟動(dòng)運(yùn)算器的相應(yīng)操作對(duì)數(shù)據(jù)進(jìn)行處理
47、。啟動(dòng)運(yùn)算器的相應(yīng)操作對(duì)數(shù)據(jù)進(jìn)行處理。三三、處理器的邏輯構(gòu)成處理器的邏輯構(gòu)成控制單元控制單元CU算術(shù)邏輯單元算術(shù)邏輯單元ALU寄存器組寄存器組CU是是PU的指揮機(jī)構(gòu)的指揮機(jī)構(gòu)程序計(jì)數(shù)器程序計(jì)數(shù)器PC、存放當(dāng)前指令的指令寄存器存放當(dāng)前指令的指令寄存器IR、 解釋指令的指令譯碼器解釋指令的指令譯碼器ID、 發(fā)出各種命令信號(hào)的發(fā)出各種命令信號(hào)的控制信號(hào)發(fā)生器控制信號(hào)發(fā)生器 CSG及相應(yīng)的控制邏輯組成。及相應(yīng)的控制邏輯組成。計(jì)算機(jī)的運(yùn)算裝置計(jì)算機(jī)的運(yùn)算裝置一個(gè)基本的一個(gè)基本的ALU由由 加法器、邏輯運(yùn)算器、移位加法器、邏輯運(yùn)算器、移位器器(Shifter)和求補(bǔ)器和求補(bǔ)器(Complementer)
48、組成。組成。寄存器分為數(shù)據(jù)寄存器、地址寄存器和標(biāo)志寄存器等寄存器分為數(shù)據(jù)寄存器、地址寄存器和標(biāo)志寄存器等中斷單元中斷單元CPU內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框圖一、一、 指令周期的基本概念指令周期的基本概念1 . 指令周期指令周期取出并執(zhí)行一條指令所需的全部時(shí)間取出并執(zhí)行一條指令所需的全部時(shí)間完成一條指令完成一條指令執(zhí)行執(zhí)行取指、分析取指、分析取指階段取指階段取指周期取指周期執(zhí)行階段執(zhí)行階段執(zhí)行周期執(zhí)行周期(取指、分析)(取指、分析)(執(zhí)行指令)(執(zhí)行指令)指令周期指令周期取指周期取指周期執(zhí)行周期執(zhí)行周期3.2.2 計(jì)算機(jī)的工作過程計(jì)算機(jī)的工作過程2. 每條指令的指令周期不同每條指令的指令周期不同取指周
49、期取指周期指令周期指令周期取指周期取指周期 執(zhí)行階段執(zhí)行階段指令周期指令周期取指周期取指周期執(zhí)行周期執(zhí)行周期指令周期指令周期NOPADD mem MUL mem3. 具有間接尋址的指令周期具有間接尋址的指令周期4. 帶有中斷周期的指令周期帶有中斷周期的指令周期取指周期取指周期間址周期間址周期指令周期指令周期執(zhí)行周期執(zhí)行周期取指周期取指周期間址周期間址周期指令周期指令周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期5. 指令周期流程指令周期流程取指周期取指周期執(zhí)行周期執(zhí)行周期有間址嗎?有間址嗎?有中斷嗎?有中斷嗎?間址周期間址周期中斷周期中斷周期是是是是否否否否1. 取指周期數(shù)據(jù)流取指周期數(shù)據(jù)流二、二、 指
50、令周期的數(shù)據(jù)流指令周期的數(shù)據(jù)流MDRCUMARPCIR存儲(chǔ)器存儲(chǔ)器CPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線IR+1 2. 間址周期數(shù)據(jù)流間址周期數(shù)據(jù)流MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PCIR存儲(chǔ)器存儲(chǔ)器MDR3. 執(zhí)行周期數(shù)據(jù)流執(zhí)行周期數(shù)據(jù)流4 . 中斷周期數(shù)據(jù)流中斷周期數(shù)據(jù)流不同指令的執(zhí)行周期數(shù)據(jù)流不同不同指令的執(zhí)行周期數(shù)據(jù)流不同MDRCUMARCPU地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線控制總線控制總線PC存儲(chǔ)器存儲(chǔ)器3.2.3 指令處理的流水線技術(shù)指令處理的流水線技術(shù) 一、系統(tǒng)的并行性一、系統(tǒng)的并行性時(shí)間上互相重疊時(shí)間上互相重疊2. 并行性的
51、等級(jí)并行性的等級(jí)指令級(jí)(指令之間)指令級(jí)(指令之間)過程級(jí)(程序、進(jìn)程)過程級(jí)(程序、進(jìn)程)兩個(gè)或兩個(gè)以上事件在兩個(gè)或兩個(gè)以上事件在 同一時(shí)刻同一時(shí)刻 發(fā)生發(fā)生兩個(gè)或兩個(gè)以上事件在兩個(gè)或兩個(gè)以上事件在 同一時(shí)間段同一時(shí)間段 發(fā)生發(fā)生并行并行1. 并行的概念并行的概念粗粒度粗粒度軟件實(shí)現(xiàn)軟件實(shí)現(xiàn)細(xì)粒度細(xì)粒度硬件實(shí)現(xiàn)硬件實(shí)現(xiàn)并發(fā)并發(fā)同時(shí)同時(shí)取指令取指令 3執(zhí)行指令執(zhí)行指令 3二、指令流水原理二、指令流水原理2. 指令的二級(jí)流水指令的二級(jí)流水1. 指令的串行執(zhí)行指令的串行執(zhí)行取指令取指令 取指令部件取指令部件 完成完成總有一個(gè)部件總有一個(gè)部件 空閑空閑指令預(yù)取指令預(yù)取若若 取指取指 和和 執(zhí)行執(zhí)行
52、階段時(shí)間上階段時(shí)間上 完全重疊完全重疊指令周期指令周期 減半減半 速度提高速度提高 1 倍倍執(zhí)行指令執(zhí)行指令 執(zhí)行指令部件執(zhí)行指令部件 完成完成取指令取指令 1執(zhí)行執(zhí)行指令指令 1取取指令指令 2執(zhí)行執(zhí)行指令指令 2取取指令指令 3執(zhí)行指令執(zhí)行指令 3取指令取指令 2執(zhí)行指令執(zhí)行指令 2取指令取指令 1執(zhí)行指令執(zhí)行指令 1 必須等必須等 上條上條 指令執(zhí)行結(jié)束,才能確定指令執(zhí)行結(jié)束,才能確定 下條下條 指令的地址指令的地址 造成時(shí)間損失造成時(shí)間損失3. 影響指令流水效率加倍的因素影響指令流水效率加倍的因素(1) 執(zhí)行時(shí)間執(zhí)行時(shí)間 取指時(shí)間取指時(shí)間 (2) 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令 對(duì)指令流水的
53、影響對(duì)指令流水的影響 取指令取指令部件部件指令部件指令部件緩沖區(qū)緩沖區(qū)執(zhí)行指令執(zhí)行指令部件部件猜測(cè)法猜測(cè)法4. 指令的六級(jí)流水指令的六級(jí)流水六級(jí)流水六級(jí)流水14 個(gè)時(shí)間單位個(gè)時(shí)間單位串行執(zhí)行串行執(zhí)行6 9 54 時(shí)間單位時(shí)間單位完成完成 一條指令一條指令6 個(gè)時(shí)間單位個(gè)時(shí)間單位COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令 8指令指令
54、9 1 2 3 4 5 6 7 8 9 10 11 12 13 14t三、影響指令流水線性能的因素三、影響指令流水線性能的因素程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率使指令流水出現(xiàn)停頓,影響流水線效率指令指令 1 與指令與指令 4 沖突沖突指令指令 2 與指令與指令 5 沖突沖突指令指令1、指令、指令3、指令、指令 6 沖突沖突COFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFICOFOEIWODIFI
55、指令指令 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)結(jié)構(gòu)相關(guān)不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突解決辦法解決辦法 停頓停頓 指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開 指令預(yù)取技術(shù)指令預(yù)取技術(shù) (適用于訪存周期短的情況)(適用于訪存周期短的情況)(2) 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)ADD R1,R2如:如:SUB R1,R3采用采用 旁路技術(shù)旁路技術(shù)解決辦法解決辦法寄存
56、器組寄存器組鎖存器鎖存器鎖存器鎖存器ALU(2) 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的不同指令因重疊操作,可能改變操作數(shù)的 讀讀/寫寫 訪問順序訪問順序 采用采用 旁路技術(shù)旁路技術(shù)解決辦法解決辦法 寫后讀相關(guān)(寫后讀相關(guān)(RAW)SUB R1,R2,R3ADD R4,R5,R1;(;(R2) (R3) R1;(;(R5)+(R1) R4 讀后寫相關(guān)(讀后寫相關(guān)(WAR)STA M,R2ADD R2,R4,R5;(;(R2) M 存儲(chǔ)單元存儲(chǔ)單元;(;(R4)+(R5) R2 寫后寫相關(guān)(寫后寫相關(guān)(WAW) 后推法后推法MUL R3,R2,R1SUB R3,R4,R5;(;(R
57、2) (R1) R3;(;(R4) (R5) R3(3) 控制相關(guān)控制相關(guān)BNE 指令必須等指令必須等CPX 指令的結(jié)果指令的結(jié)果才能判斷出才能判斷出是轉(zhuǎn)移是轉(zhuǎn)移還是順序執(zhí)行還是順序執(zhí)行LDA # 0LDX # 0INXCPX # NBNE MDIV # NSTA ANSADD X, DM由轉(zhuǎn)移指令引起由轉(zhuǎn)移指令引起(3) 控制相關(guān)控制相關(guān)WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 1指令指令 2指令指令 3指令指令 4指令指令 5指令指令 6指令指令 7指令指令15指
58、令指令16 1 2 3 4 5 6 7 8 9 10 11 12 13 14轉(zhuǎn)移損失轉(zhuǎn)移損失t設(shè)設(shè) 指令指令3 是轉(zhuǎn)移指令是轉(zhuǎn)移指令 轉(zhuǎn)移預(yù)測(cè)法轉(zhuǎn)移預(yù)測(cè)法解決辦法解決辦法 延遲轉(zhuǎn)移延遲轉(zhuǎn)移四、流水線性能四、流水線性能 1. 吞吐率吞吐率 單位時(shí)間內(nèi)單位時(shí)間內(nèi) 流水線所完成指令流水線所完成指令 或或 輸出結(jié)果輸出結(jié)果 的的 數(shù)量數(shù)量 最大吞吐率最大吞吐率 實(shí)際吞吐率實(shí)際吞吐率 連續(xù)處理連續(xù)處理 n 條指令的吞吐率為條指令的吞吐率為設(shè)設(shè) m 段的流水線各段時(shí)間為段的流水線各段時(shí)間為t tTpmax =1t tTp =m + (n-1) nt tt t2. 加速比加速比 Sp m 段的段的 流水線的
59、速度流水線的速度 與等功能的與等功能的 非流水線的速度非流水線的速度 之比之比 設(shè)流水線各段時(shí)間為設(shè)流水線各段時(shí)間為 t 完成完成 n 條指令在條指令在 m 段流水線上共需段流水線上共需 T = m + (n-1) t t 完成完成 n 條指令在等效的非流水線上共需條指令在等效的非流水線上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 則則由于流水線有由于流水線有 建立時(shí)間建立時(shí)間 和和 排空時(shí)間排空時(shí)間因此各功能段的因此各功能段的 設(shè)備不可能設(shè)備不可能 一直一直 處于處于 工作工作 狀態(tài)狀態(tài) 流水線中各功能段的流水線中各功能段的 利用率利用率3.
60、效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時(shí)間時(shí)間S空間空間空間空間S4S3S2S1(n-1) tm(m + n -1) t = mnt 流水線各段處于工作時(shí)間的時(shí)空區(qū)流水線各段處于工作時(shí)間的時(shí)空區(qū)流水線中各段總的時(shí)空區(qū)流水線中各段總的時(shí)空區(qū) 效率效率 = 3. 效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT時(shí)間時(shí)間S空間空間空間空間S4S3S2S1(n-1) t流水線中各功能段的流水線中各功能段的 利用率利用率五、流水線的多發(fā)技術(shù)五、流水線的多發(fā)技術(shù) 1. 超標(biāo)量技術(shù)超標(biāo)量技術(shù) 每個(gè)時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海科技大學(xué)《基礎(chǔ)工程學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海交通職業(yè)技術(shù)學(xué)院《生物藥物制劑工藝》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海交通大學(xué)《立體裁剪應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 新員工安全管理
- 上海行健職業(yè)學(xué)院《環(huán)境工程施工與概預(yù)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海海事職業(yè)技術(shù)學(xué)院《數(shù)據(jù)庫原理與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海海事大學(xué)《產(chǎn)品改良與創(chuàng)新設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海海關(guān)學(xué)院《金融數(shù)據(jù)采集》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海行健職業(yè)學(xué)院《大學(xué)計(jì)算機(jī)基礎(chǔ)(經(jīng)管類)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年中國木彈簧條市場(chǎng)調(diào)查研究報(bào)告
- 裝修逾期索賠合同范例
- 【MOOC】全新版大學(xué)進(jìn)階英語綜合教程II-內(nèi)蒙古大學(xué) 中國大學(xué)慕課MOOC答案
- 印刷保密協(xié)議
- 輔導(dǎo)員年終匯報(bào)
- 中國當(dāng)代文學(xué)專題-003-國開機(jī)考復(fù)習(xí)資料
- 【MOOC】綜合英語-中南大學(xué) 中國大學(xué)慕課MOOC答案
- 2025年1月“八省聯(lián)考”考前猜想卷歷史試題02 含解析
- 人教版2025九年級(jí)道德與法治中考備考復(fù)習(xí)計(jì)劃
- 農(nóng)村集體經(jīng)濟(jì)組織內(nèi)部控制制度
- 高中數(shù)學(xué)64數(shù)列求和省公開課獲獎(jiǎng)?wù)n件市賽課比賽一等獎(jiǎng)?wù)n件
- 淮陰工學(xué)院《供應(yīng)鏈管理3》2022-2023學(xué)年第一學(xué)期期末試卷
評(píng)論
0/150
提交評(píng)論