計(jì)算機(jī)組成原理第三章處理器_第1頁(yè)
計(jì)算機(jī)組成原理第三章處理器_第2頁(yè)
計(jì)算機(jī)組成原理第三章處理器_第3頁(yè)
計(jì)算機(jī)組成原理第三章處理器_第4頁(yè)
計(jì)算機(jī)組成原理第三章處理器_第5頁(yè)
已閱讀5頁(yè),還剩100頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、3.1 處理器的指令集處理器的指令集3.2 處理器的組成與工作過(guò)程處理器的組成與工作過(guò)程 3.3 3.4 80 x86系列微處理器系列微處理器 處理器的指令集處理器的指令集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)制代碼信息指令字長(zhǎng):指令字長(zhǎng):指令字中二進(jìn)制代碼的位數(shù)指令字中二進(jìn)制代碼的位數(shù) 指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,其指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能

2、的重要因素,其格式和功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),也直接格式和功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),也直接影響到系統(tǒng)軟件,影響到機(jī)器的應(yīng)用范圍。影響到系統(tǒng)軟件,影響到機(jī)器的應(yīng)用范圍。 對(duì)指令系統(tǒng)的研究主要包括數(shù)據(jù)表示、指令和尋對(duì)指令系統(tǒng)的研究主要包括數(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)行速度快一個(gè)完善的指令系統(tǒng)應(yīng)滿足以下四方面的要求:一個(gè)完善的指令系統(tǒng)應(yīng)滿足以下四方面的要求:對(duì)于一個(gè)計(jì)算

3、機(jī)系統(tǒng)來(lái)講:對(duì)于一個(gè)計(jì)算機(jī)系統(tǒng)來(lái)講:1)指令是程序設(shè)計(jì)的最小單位)指令是程序設(shè)計(jì)的最小單位2)指令是硬件設(shè)計(jì)的依據(jù))指令是硬件設(shè)計(jì)的依據(jù)3)指令是軟件和硬件的接口)指令是軟件和硬件的接口 匯編語(yǔ)言是基于英文的機(jī)器指令助記符。匯編語(yǔ)言是基于英文的機(jī)器指令助記符。 按匯編語(yǔ)言書寫的程序叫做按匯編語(yǔ)言書寫的程序叫做匯編語(yǔ)言源程序匯編語(yǔ)言源程序,匯,匯編語(yǔ)言源程序由匯編程序編語(yǔ)言源程序由匯編程序(Assembler)轉(zhuǎn)換成機(jī)器指轉(zhuǎn)換成機(jī)器指令,供計(jì)算機(jī)接受并執(zhí)行。令,供計(jì)算機(jī)接受并執(zhí)行。 匯編語(yǔ)言的提出是計(jì)算機(jī)技術(shù)的一大進(jìn)步,體現(xiàn)匯編語(yǔ)言的提出是計(jì)算機(jī)技術(shù)的一大進(jìn)步,體現(xiàn)了計(jì)算思維的一個(gè)重要概念了計(jì)算

4、思維的一個(gè)重要概念抽象抽象。 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展過(guò)程就是計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展過(guò)程就是 不斷抽象不斷抽象的過(guò)程。通過(guò)抽象,程序設(shè)計(jì)語(yǔ)言具有了更好的可編的過(guò)程。通過(guò)抽象,程序設(shè)計(jì)語(yǔ)言具有了更好的可編程性、可移植性、可重用性。程性、可移植性、可重用性。匯編語(yǔ)言:匯編語(yǔ)言:一、指令的一般格式一、指令的一般格式 操作碼字段操作碼字段 地址碼字段地址碼字段1. 操作碼操作碼反映機(jī)器做什么操作反映機(jī)器做什么操作 (1) 固定長(zhǎng)度操作碼固定長(zhǎng)度操作碼 (2)可變可變長(zhǎng)度操作碼長(zhǎng)度操作碼硬件設(shè)計(jì)簡(jiǎn)單硬件設(shè)計(jì)簡(jiǎn)單指令譯碼時(shí)間短指令譯碼時(shí)間短操作碼分散在指令字的不同字段中操作碼分散在指令字的不同字段中硬件

5、設(shè)計(jì)相對(duì)復(fù)雜硬件設(shè)計(jì)相對(duì)復(fù)雜 指令譯碼時(shí)間長(zhǎng)指令譯碼時(shí)間長(zhǎng)3.1.2 指令的操作碼與操作數(shù)指令的操作碼與操作數(shù)2. 地址碼地址碼 用來(lái)指出操作數(shù)的地址用來(lái)指出操作數(shù)的地址 源操作數(shù)的地址源操作數(shù)的地址結(jié)果(目的操作數(shù))的地址結(jié)果(目的操作數(shù))的地址下一條指令的地址下一條指令的地址 這些地址可以是這些地址可以是CPU內(nèi)部寄存器的地址,主存內(nèi)部寄存器的地址,主存的地址和的地址和IO設(shè)備地址設(shè)備地址 按照操作數(shù)地址的數(shù)目可以把指令分為四地址指按照操作數(shù)地址的數(shù)目可以把指令分為四地址指令、三地址指令、二地址指令、一地址指令和零地令、三地址指令、二地址指令、一地址指令和零地址指令。址指令。(1) 四地址

6、四地址 (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è)指令字長(zhǎng)為設(shè)指令字長(zhǎng)為 32 位位操作碼固定為操作碼固定為 8 位位(3) 二地址二地址OP A1 A28 12 12(A1) O

7、P (A2) A1(A1) OP (A2) A2或或4 次訪存次訪存若若ACC 代替代替 A1(或(或A2)若結(jié)果存于若結(jié)果存于 ACC (4) 一地址一地址 (5) 零地址零地址OP A18 24無(wú)地址碼無(wú)地址碼(ACC) OP (A1) ACC2 次訪存次訪存尋址范圍尋址范圍 212 = 4 K尋址范圍尋址范圍 224 = 16 M 3次訪存次訪存二、指令字二、指令字 長(zhǎng)長(zhǎng)指令字長(zhǎng)決定于指令字長(zhǎng)決定于操作碼的長(zhǎng)度操作碼的長(zhǎng)度指令字長(zhǎng)指令字長(zhǎng) = 機(jī)器字長(zhǎng)機(jī)器字長(zhǎng)= 存儲(chǔ)字長(zhǎng)存儲(chǔ)字長(zhǎng) 2. 指令字長(zhǎng)指令字長(zhǎng) 可變可變操作數(shù)地址的長(zhǎng)度操作數(shù)地址的長(zhǎng)度操作數(shù)地址的個(gè)數(shù)操作數(shù)地址的個(gè)數(shù)1. 指令字

8、長(zhǎng)指令字長(zhǎng) 固定固定按字節(jié)的倍數(shù)變化按字節(jié)的倍數(shù)變化小小 結(jié)結(jié) 當(dāng)用一些硬件資源代替指令字中的地址碼字段后當(dāng)用一些硬件資源代替指令字中的地址碼字段后 當(dāng)指令的地址字段為寄存器時(shí)當(dāng)指令的地址字段為寄存器時(shí) 可擴(kuò)大指令的尋址范圍可擴(kuò)大指令的尋址范圍 可縮短指令字長(zhǎng)可縮短指令字長(zhǎng) 可減少訪存次數(shù)可減少訪存次數(shù) 三地址三地址 OP R1, R2, R3 二地址二地址 OP R1, R2 一地址一地址 OP R1 指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存 可縮短指令字長(zhǎng)可縮短指令字長(zhǎng)三、操作數(shù)類型三、操作數(shù)類型地地 址址數(shù)字?jǐn)?shù)字 字字 符符邏輯數(shù)邏輯數(shù) 無(wú)符號(hào)整數(shù)無(wú)符號(hào)整數(shù)定點(diǎn)數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)定點(diǎn)數(shù)、浮

9、點(diǎn)數(shù)、十進(jìn)制數(shù)ASCII邏輯運(yùn)算邏輯運(yùn)算 四、數(shù)據(jù)在存儲(chǔ)器中的存放方式四、數(shù)據(jù)在存儲(chǔ)器中的存放方式字地址字地址 為為 低字節(jié)低字節(jié) 地址地址字地址字地址 為為 高字節(jié)高字節(jié) 地址地址37621540字地址字地址04低字節(jié)低字節(jié)04512673字地址字地址04低字節(jié)低字節(jié)存儲(chǔ)器中的數(shù)據(jù)存放(存儲(chǔ)字長(zhǎng)為存儲(chǔ)器中的數(shù)據(jù)存放(存儲(chǔ)字長(zhǎng)為 32 位)位)地址(十進(jìn)制)地址(十進(jìn)制) 0 4 812162024283236邊界對(duì)準(zhǔn)邊界對(duì)準(zhǔn)地址(十進(jìn)制)地址(十進(jìn)制)048字節(jié)字節(jié)( 地址地址7)字節(jié)字節(jié)( 地址地址6)字字( 地址地址2)半字半字( 地址地址10)半字半字( 地址地址8)半字半字( 地址地

10、址0)字字( 地址地址4)邊界未對(duì)準(zhǔn)邊界未對(duì)準(zhǔn) 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ū)ぶ?

11、順序?qū)ぶ讽樞驅(qū)ぶ?跳躍尋址跳躍尋址7順序?qū)ぶ讽樞驅(qū)ぶ?二、數(shù)據(jù)尋址二、數(shù)據(jù)尋址 形式地址形式地址 指令字中的地址指令字中的地址 有效地址有效地址 操作數(shù)的真實(shí)地址操作數(shù)的真實(shí)地址 約定約定 指令字長(zhǎng)指令字長(zhǎng) = 存儲(chǔ)字長(zhǎng)存儲(chǔ)字長(zhǎng) = 機(jī)器字長(zhǎng)機(jī)器字長(zhǎng)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ù)主存

12、主存尋址特征尋址特征O PAAACC 執(zhí)行階段訪問(wèn)一次存儲(chǔ)器執(zhí)行階段訪問(wèn)一次存儲(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ù)的地址隱含在源

13、操作數(shù)的地址隱含在 SI 中中目的操作數(shù)的地址隱含在目的操作數(shù)的地址隱含在 DI 中中 指令字中少了一個(gè)地址字段,可縮短指令字長(zhǎng)指令字中少了一個(gè)地址字段,可縮短指令字長(zhǎng)4. 間接尋址間接尋址EA =(A) 有效地址由形式地址間接提供有效地址由形式地址間接提供OPA尋址特征尋址特征AEA主存主存EAA1EA A1主存主存 EA10 執(zhí)行指令階段執(zhí)行指令階段 2 次訪存次訪存 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于編制程序便于編制程序OPA尋址特征尋址特征A一次間址一次間址多次間址多次間址操作數(shù)操作數(shù)操作數(shù)操作數(shù)多次訪存多次訪存5. 寄存器尋址寄存器尋址EA = Ri 執(zhí)行階段不訪存,只訪問(wèn)寄存器,執(zhí)

14、行速度快執(zhí)行階段不訪存,只訪問(wèn)寄存器,執(zhí)行速度快OPRi尋址特征尋址特征 寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)操作數(shù)操作數(shù)R0RiRn寄存器寄存器有效地址即為寄存器編號(hào)有效地址即為寄存器編號(hào)EA = ( Ri )6. 寄存器間接尋址寄存器間接尋址 有效地址在寄存器中,有效地址在寄存器中, 操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)操作數(shù)主存主存OPRi尋址特征尋址特征 可適當(dāng)擴(kuò)大程序?qū)ぶ贩秶蛇m當(dāng)擴(kuò)大程序?qū)ぶ贩秶刂返刂稲0RiRn寄存器寄存器有效地址在寄存器中有效地址在寄存器中7. 基址尋址基址尋址(1) 采用專用寄存器作基址寄存器采用專用寄存

15、器作基址寄存器EA = ( BR ) + ABR 為基址寄存器為基址寄存器OPA操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUBR 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 BR 內(nèi)容由操作系統(tǒng)或管理程序確定內(nèi)容由操作系統(tǒng)或管理程序確定 在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 BR 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUOPR0AR0 作基址寄存器作基址寄存器 由用戶指定哪個(gè)通用寄存器作為基址寄存器由用戶指定哪個(gè)通用寄存器作為基址寄存器通用寄存器通用寄存器R0Rn-1R1 基址寄存器的內(nèi)容由操作系統(tǒng)

16、確定基址寄存器的內(nèi)容由操作系統(tǒng)確定 在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 R0 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變“邏輯地址邏輯地址”: 是程序員編寫程序時(shí)使用的地址。是程序員編寫程序時(shí)使用的地址?!爸鞔嫖锢淼刂分鞔嫖锢淼刂贰保?是程序段是程序段/數(shù)據(jù)段在主存中的實(shí)際數(shù)據(jù)段在主存中的實(shí)際存放地址。存放地址。 程序段程序段/數(shù)據(jù)段的數(shù)據(jù)段的“邏輯地址邏輯地址”都是從零開(kāi)始編址的都是從零開(kāi)始編址的。而。而程序段程序段/數(shù)據(jù)段每次裝入主存的起始地址是不確定的,每次運(yùn)行數(shù)據(jù)段每次裝入主存的起始地址是不確定的,每次運(yùn)行時(shí),時(shí),某條指令或某個(gè)數(shù)據(jù)的某條指令或某個(gè)數(shù)據(jù)的“主存物理地址主存物理

17、地址”也是不確定的也是不確定的。但是這條指令或這個(gè)數(shù)據(jù)的但是這條指令或這個(gè)數(shù)據(jù)的“邏輯地址邏輯地址”是固定的。是固定的。 為了實(shí)現(xiàn)為了實(shí)現(xiàn)“邏輯地址邏輯地址”到到“主存物理地址主存物理地址” 的轉(zhuǎn)換,的轉(zhuǎn)換,可以在處理器內(nèi)部設(shè)置一個(gè)寄存器:可以在處理器內(nèi)部設(shè)置一個(gè)寄存器: 專門存放程序段專門存放程序段/數(shù)據(jù)段在主存中起始地址的寄存器,數(shù)據(jù)段在主存中起始地址的寄存器, 稱起始地址為稱起始地址為“基地址基地址”,簡(jiǎn)稱,簡(jiǎn)稱“基址基址”,稱該寄存器為,稱該寄存器為“基址寄存器基址寄存器”。 這樣在執(zhí)行時(shí)將這樣在執(zhí)行時(shí)將“邏輯地址邏輯地址”與與基址寄存器中的值基址寄存器中的值相相加即得到指令或數(shù)據(jù)的加

18、即得到指令或數(shù)據(jù)的“主存物理地址主存物理地址”。8. 變址尋址變址尋址EA = ( IX ) +AOPA操作數(shù)操作數(shù)主存主存尋址特征尋址特征ALUIX 可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于處理數(shù)組問(wèn)題便于處理數(shù)組問(wèn)題 IX 的內(nèi)容由用戶給定的內(nèi)容由用戶給定 IX 為變址寄存器(專用)為變址寄存器(專用) 在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 IX 內(nèi)容可變,形式地址內(nèi)容可變,形式地址 A 不變不變通用寄存器也可以作為變址寄存器通用寄存器也可以作為變址寄存器例例 設(shè)數(shù)據(jù)塊首地址為設(shè)數(shù)據(jù)塊首地址為 D,求,求 N 個(gè)數(shù)的平均值個(gè)數(shù)的平均值直接尋址直接尋址變址尋址變址尋址LDA DADD D + 1A

19、DD 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)程序浮動(dòng) 廣泛用于轉(zhuǎn)移指令廣泛用于

20、轉(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)堆棧堆棧硬堆棧硬堆棧軟堆棧軟堆棧多個(gè)寄存器多個(gè)寄存

21、器指定的存儲(chǔ)空間指定的存儲(chǔ)空間 軟件堆棧一般在內(nèi)存中開(kāi)辟一個(gè)堆棧區(qū),并在軟件堆棧一般在內(nèi)存中開(kāi)辟一個(gè)堆棧區(qū),并在處理器中設(shè)置指示堆棧棧頂單元地址的處理器中設(shè)置指示堆棧棧頂單元地址的“堆棧指針堆棧指針寄存器寄存器(Stack Pointer, SP)”來(lái)管理這個(gè)堆棧。來(lái)管理這個(gè)堆棧。 相對(duì)于硬件堆棧,軟件堆棧有三個(gè)優(yōu)點(diǎn):相對(duì)于硬件堆棧,軟件堆棧有三個(gè)優(yōu)點(diǎn): 1.可以有較大的深度。可以有較大的深度。2.可以設(shè)置多個(gè)堆棧??梢栽O(shè)置多個(gè)堆棧。3.除了專門的堆棧指令除了專門的堆棧指令PUSH和和POP外,還可以使用外,還可以使用任何訪問(wèn)主存的指令來(lái)訪問(wèn)堆棧中的數(shù)據(jù)。任何訪問(wèn)主存的指令來(lái)訪問(wèn)堆棧中的數(shù)據(jù)。

22、先進(jìn)后出先進(jìn)后出(一個(gè)入出口)(一個(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棧頂棧頂 根據(jù)堆棧的增長(zhǎng)方向,基于主存儲(chǔ)器實(shí)現(xiàn)的堆根據(jù)堆棧的增長(zhǎng)方向,基于主存儲(chǔ)器實(shí)現(xiàn)的堆棧分為:棧分為: 遞增堆棧遞增堆棧(Ascending Stack) ,也稱向上,也稱向上增長(zhǎng)堆棧。隨著數(shù)據(jù)的壓入,這種堆棧向高地址方增長(zhǎng)堆棧。隨著數(shù)據(jù)的壓入,這種堆棧向高地址方向增長(zhǎng);向增長(zhǎng); 遞

23、減堆棧遞減堆棧(Descending Stack) ,也稱向下,也稱向下增長(zhǎng)堆棧。隨著數(shù)據(jù)的壓入,這種堆棧向低地址方增長(zhǎng)堆棧。隨著數(shù)據(jù)的壓入,這種堆棧向低地址方向增長(zhǎng)。向增長(zhǎng)。 根據(jù)根據(jù)SP所指示棧頂單元的屬性,堆棧也可分為:所指示棧頂單元的屬性,堆棧也可分為: 滿堆棧滿堆棧(Full Stack) ,SP指示棧頂單元存儲(chǔ)指示棧頂單元存儲(chǔ)的是最后壓入數(shù)據(jù)。的是最后壓入數(shù)據(jù)。 空堆??斩褩?Empty Stack) ,SP指示棧頂單元用指示棧頂單元用于接收下一個(gè)要壓入的數(shù)據(jù)。于接收下一個(gè)要壓入的數(shù)據(jù)。 (2) 堆棧尋址舉例堆棧尋址舉例15200HACCSPX棧頂棧頂200H棧底棧底主存主存151

24、FFHACCSP15棧頂棧頂200H棧底棧底主存主存X1FFHPUSH A 前前PUSH A 后后POP A 前前POP A 后后Y1FFHACCSPX棧頂棧頂200H棧底棧底主存主存151FFH15200HACCSP棧頂棧頂200H棧底棧底主存主存X15(3) SP 的修改與主存編址方法有關(guān)的修改與主存編址方法有關(guān) 按按 字字 編址編址進(jìn)棧進(jìn)棧出棧出棧(SP) 1 SP(SP)+ 1 SP 按按 字節(jié)字節(jié) 編址編址存儲(chǔ)字長(zhǎng)存儲(chǔ)字長(zhǎng) 16 位位進(jìn)棧進(jìn)棧出棧出棧(SP) 2 SP(SP)+ 2 SP存儲(chǔ)字長(zhǎng)存儲(chǔ)字長(zhǎng) 32 位位進(jìn)棧進(jìn)棧出棧出棧(SP) 4 SP(SP)+ 4 SP3.1.4 指令

25、的基本功能指令的基本功能通用計(jì)算機(jī)系統(tǒng)的指令集可分為通用計(jì)算機(jī)系統(tǒng)的指令集可分為5類基本指令:類基本指令:(1)算術(shù))算術(shù)/邏輯邏輯/移位指令(簡(jiǎn)稱算邏指令)移位指令(簡(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指令指令

26、DECn比較指令比較指令CMPn浮點(diǎn)加法指令浮點(diǎn)加法指令A(yù)DDFn浮點(diǎn)減法指令浮點(diǎn)減法指令SUBFn浮點(diǎn)乘法指令浮點(diǎn)乘法指令MULFn浮點(diǎn)除法指令浮點(diǎn)除法指令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)右移

27、指令不帶進(jìn)位循環(huán)右移指令ROR2. 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令源源 目目 的的寄存寄存 器器寄存器寄存器 寄存器寄存器寄存器寄存器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器MOVESTORELOADMOVEPUSHPOP例例 如如MOVEMOVE3. 控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令(1) 無(wú)條件轉(zhuǎn)移無(wú)條件轉(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跳過(guò)一條指令跳過(guò)一條指令 SKP(3) 調(diào)用和返回調(diào)用和返回CALL SUB1. .CALL SUB2.CALL SUB2RETURNRETURN.主程序主程序地址地址20002

28、1002101子程序子程序SUB1240025002501256025612700主存空間分配主存空間分配程序執(zhí)行流程程序執(zhí)行流程子程序子程序SUB2IN 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

29、自動(dòng)產(chǎn)生并執(zhí)行(隱指令)自動(dòng)產(chǎn)生并執(zhí)行(隱指令)IN AL, DXIN AX, DX入入 端口地址端口地址 CPU 的寄存器的寄存器出出 CPU 的寄存器的寄存器 端口地址端口地址如如如如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ù)及操作的難易程度指令字長(zhǎng)是否固定指令字長(zhǎng)是否固定尋址方式尋址方式寄存器個(gè)數(shù)寄存器個(gè)數(shù)地址碼位數(shù)

30、、地址個(gè)數(shù)、尋址方式類型地址碼位數(shù)、地址個(gè)數(shù)、尋址方式類型操作碼位數(shù)、是否采用擴(kuò)展操作碼技術(shù),操作碼位數(shù)、是否采用擴(kuò)展操作碼技術(shù),確定哪些數(shù)據(jù)類型可參與操作確定哪些數(shù)據(jù)類型可參與操作指令尋址、操作數(shù)尋址指令尋址、操作數(shù)尋址寄存器的多少直接影響指令的執(zhí)行時(shí)間寄存器的多少直接影響指令的執(zhí)行時(shí)間二、指令格式舉例二、指令格式舉例1. PDP 8指令字長(zhǎng)固定指令字長(zhǎng)固定 12 位位操作碼操作碼 間間 頁(yè)頁(yè) 地址碼地址碼訪存類指令訪存類指令0235411寄存器類指令寄存器類指令 1 1 1 輔助操作碼輔助操作碼02 311I/O 類指令類指令 1 1 0 設(shè)備設(shè)備 操作碼操作碼02 31198只有一個(gè)通用

31、寄存器只有一個(gè)通用寄存器 ACC2. IBM 360OPR1R2 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ù)立即數(shù) M3. Intel 8086(1) 指令字長(zhǎng)指令字長(zhǎng)(2) 地址格式地址格式1 6 個(gè)字節(jié)個(gè)字節(jié)MOV WORD PTR0204, 0138

32、H 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)用寄存器寄存器 寄存器寄存器寄存器寄存器 立即數(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ù) 操作碼的長(zhǎng)度隨地址數(shù)的減少而增加;操作碼的長(zhǎng)度隨地址數(shù)的減少而增加; 不同地址數(shù)的指令有不同長(zhǎng)度的操作碼;不同地址數(shù)的指令有不同長(zhǎng)度的操作碼; 有效縮短指令字長(zhǎng),有效縮短指令字長(zhǎng), 一種很重要的指令優(yōu)化

33、技術(shù)。一種很重要的指令優(yōu)化技術(shù)。 擴(kuò)展操作碼的設(shè)計(jì)原則:擴(kuò)展操作碼的設(shè)計(jì)原則:(1)使用頻度使用頻度較高較高的指令占用的指令占用較短較短的操作碼的操作碼(2)使用頻度使用頻度較低較低的指令占用的指令占用較長(zhǎng)較長(zhǎng)的操作碼的操作碼 有利于有利于CPU縮短對(duì)指令的譯碼時(shí)間,提高指令執(zhí)行速度??s短對(duì)指令的譯碼時(shí)間,提高指令執(zhí)行速度。例例3.1:某指令系統(tǒng)字長(zhǎng)為:某指令系統(tǒng)字長(zhǎng)為16位,每個(gè)地址的長(zhǎng)度為位,每個(gè)地址的長(zhǎng)度為4位,試采位,試采用用“擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù)”設(shè)計(jì)設(shè)計(jì)61條指令,其中三地址指令條指令,其中三地址指令15條,條,二地址指令二地址指令15條,一地址指令條,一地址指令15條,零

34、地址指令條,零地址指令16條。條。OP A1 A2 A3000000011110A1A1A1A2A2A2A3A3A3A2A2A2A3A3A3111111111111000000011110111111111111111111111111111111111111000000011111111111111111111111111111A3A3A30000000111104 位操作碼位操作碼8 位操作碼位操作碼12 位操作碼位操作碼16 位操作碼位操作碼15條三地址指令條三地址指令15條二地址指令條二地址指令15條一地址指令條一地址指令16條零地址指令條零地址指令例例3.2 設(shè)指令字長(zhǎng)為設(shè)指令字長(zhǎng)為

35、16位,操作數(shù)的地址碼為位,操作數(shù)的地址碼為6位,指令有零地址、一地址、位,指令有零地址、一地址、二地址三種格式。二地址三種格式。(1)設(shè)操作碼固定,若零地址指令有)設(shè)操作碼固定,若零地址指令有P種,一地址指令有種,一地址指令有Q種,則二地址指種,則二地址指令最多有幾種?令最多有幾種?(2)采用擴(kuò)展操作碼技術(shù),若二地址指令有)采用擴(kuò)展操作碼技術(shù),若二地址指令有X種,零地址指令有種,零地址指令有Y種,則一種,則一地址指令最多有多少種?地址指令最多有多少種? 解解(1)因?yàn)椴僮鞔a固定,所以應(yīng)先確定操作碼的位數(shù)。操作數(shù)的地址)因?yàn)椴僮鞔a固定,所以應(yīng)先確定操作碼的位數(shù)。操作數(shù)的地址碼為碼為6位,所以操

36、作碼的位數(shù)為:位,所以操作碼的位數(shù)為:16-6-6=4。則。則4位操作碼最多可以有位操作碼最多可以有24=16種操作,所以二地址指令最多為:種操作,所以二地址指令最多為:16-P-Q種。種。(2)若采用擴(kuò)展操作碼,根據(jù)要求可知二地址、一地址和零地址的操作)若采用擴(kuò)展操作碼,根據(jù)要求可知二地址、一地址和零地址的操作碼長(zhǎng)度分別為碼長(zhǎng)度分別為4、10和和16位。且二地址指令操作碼每減少一種,就最多可位。且二地址指令操作碼每減少一種,就最多可構(gòu)成構(gòu)成26種一地址指令操作碼;一地址指令操作碼每減少一種,就最多可構(gòu)種一地址指令操作碼;一地址指令操作碼每減少一種,就最多可構(gòu)成成26種零地址指令操作碼。種零地

37、址指令操作碼。 由題知二地址指令有由題知二地址指令有X種,則一地址指令最多有(種,則一地址指令最多有(24-X)26種。設(shè)一地種。設(shè)一地址指令有址指令有M種,則零地址指令最多有種,則零地址指令最多有(24-X)26-M 26種。種。 由題意知零地址指令有由題意知零地址指令有Y種,所以種,所以Y= (24-X)26-M 26 則一地址指令則一地址指令 M=(24-X)26-Y/26例3.3某機(jī)主存容量為某機(jī)主存容量為4M 16位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)指令系統(tǒng)可完成若該機(jī)指令系統(tǒng)可完成108種操作,操作碼位數(shù)固定,且具有直種操作,操作碼位數(shù)固定,且具有直接、間

38、接、變址、基址、相對(duì)、立即等六種尋址方式,試回答:接、間接、變址、基址、相對(duì)、立即等六種尋址方式,試回答:(1)畫出一地址指令格式并指出各字段的作用;)畫出一地址指令格式并指出各字段的作用;(2)該指令直接尋址的最大范圍)該指令直接尋址的最大范圍(3)一次間址和多次間址的尋址范圍)一次間址和多次間址的尋址范圍(4)立即數(shù)的范圍(十進(jìn)制表示)立即數(shù)的范圍(十進(jìn)制表示)(5)相對(duì)尋址的位移量(十進(jìn)制表示)相對(duì)尋址的位移量(十進(jìn)制表示)(6)上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長(zhǎng)?)上述六種尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種最長(zhǎng)? 為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組

39、問(wèn)題?為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組問(wèn)題?(7)如何修改指令格式,使指令的直接尋址范圍可擴(kuò)大到)如何修改指令格式,使指令的直接尋址范圍可擴(kuò)大到4M?(8)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采取什么措)為使一條轉(zhuǎn)移指令能轉(zhuǎn)移到主存的任一位置,可采取什么措施?簡(jiǎn)要說(shuō)明之。施?簡(jiǎn)要說(shuō)明之。解:由題意可知:解:由題意可知: 1) 指令字長(zhǎng)指令字長(zhǎng)=存儲(chǔ)字長(zhǎng)存儲(chǔ)字長(zhǎng)=16位位 2)要完成)要完成108種操作,且操作碼固定則操作碼位數(shù)至少為種操作,且操作碼固定則操作碼位數(shù)至少為7位位 3)6種尋址方式則尋址特征位至少要種尋址方式則尋址特征位至少要3位。位。(1)一地址指令格式)一

40、地址指令格式尋址特征尋址特征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 63與采用的機(jī)器碼有關(guān)系與采用的機(jī)器碼有關(guān)系則立即數(shù)的范圍是則立即數(shù)的范圍是(有符號(hào)數(shù))(有符號(hào)數(shù)) (無(wú)符號(hào)數(shù))(無(wú)符號(hào)數(shù))(5)相對(duì)尋址的位移量)相對(duì)尋址的位移量尋址特征尋址特征OPA7位位6位位3位位則相對(duì)尋

41、址的位移量是:則相對(duì)尋址的位移量是:26 執(zhí)行時(shí)間最短執(zhí)行時(shí)間最短因?yàn)橐驗(yàn)?執(zhí)行時(shí)間最長(zhǎng)執(zhí)行時(shí)間最長(zhǎng)因?yàn)橐驗(yàn)?便于程序浮動(dòng)便于程序浮動(dòng)因?yàn)橐驗(yàn)?便于處理數(shù)組問(wèn)題便于處理數(shù)組問(wèn)題 因?yàn)橐驗(yàn)樽冎穼ぶ纷冎穼ぶ坊穼ぶ坊穼ぶ罚?)立即數(shù)在指令中直接給出立即數(shù)在指令中直接給出 基址尋址主要為程序分配存儲(chǔ)空間,基址尋址主要為程序分配存儲(chǔ)空間, 基址寄存器中的內(nèi)容由操作系統(tǒng)或基址寄存器中的內(nèi)容由操作系統(tǒng)或 管理程序確定。管理程序確定。變址尋址的變址寄存器的內(nèi)容由用變址尋址的變址寄存器的內(nèi)容由用戶給定,而且在程序的執(zhí)行過(guò)程中戶給定,而且在程序的執(zhí)行過(guò)程中允許用戶修改,其形式地址始終不允許用戶修改,其形式地址

42、始終不變,故變址尋址的指令便于用戶編變,故變址尋址的指令便于用戶編制處理數(shù)組問(wèn)題的程序。制處理數(shù)組問(wèn)題的程序。一次間接尋址要兩次訪存;一次間接尋址要兩次訪存;多次間接尋址要多次訪存多次間接尋址要多次訪存立即數(shù)尋址立即數(shù)尋址間接尋址間接尋址T立即數(shù)尋址立即數(shù)尋址T寄存器尋址寄存器尋址T直接尋址直接尋址T寄存器間接尋址寄存器間接尋址T多次間接尋址多次間接尋址 取指時(shí)間取指時(shí)間 (2) 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令 對(duì)指令流水的影響對(duì)指令流水的影響 取指令取指令部件部件指令部件指令部件緩沖區(qū)緩沖區(qū)執(zhí)行指令執(zhí)行指令部件部件猜測(cè)法猜測(cè)法4. 指令的六級(jí)流水指令的六級(jí)流水六級(jí)流水六級(jí)流水14 個(gè)時(shí)間單位個(gè)時(shí)間

43、單位串行執(zhí)行串行執(zhí)行6 9 54 時(shí)間單位時(shí)間單位完成完成 一條指令一條指令6 個(gè)時(shí)間單位個(gè)時(shí)間單位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 與指令與指令 4 沖突沖突指令指令 2 與指令與指令 5 沖突沖突指令指令1、指令、指令3、指

44、令、指令 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)結(jié)構(gòu)相關(guān)不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突不同指令爭(zhēng)用同一功能部件產(chǎn)生資源沖突程序的相近指令之間出現(xiàn)某種關(guān)聯(lián)程序的

45、相近指令之間出現(xiàn)某種關(guān)聯(lián)使指令流水出現(xiàn)停頓,影響流水線效率使指令流水出現(xiàn)停頓,影響流水線效率解決辦法解決辦法 停頓停頓 指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi) 指令預(yù)取技術(shù)指令預(yù)取技術(shù) (適用于訪存周期短的情況)(適用于訪存周期短的情況)(2) 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)ADD R1,R2如:如:SUB R1,R3采用采用 旁路技術(shù)旁路技術(shù)解決辦法解決辦法寄存器組寄存器組鎖存器鎖存器鎖存器鎖存器ALU(2) 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān)不同指令因重疊操作,可能改變操作數(shù)的不同指令因重疊操作,可能改變操作數(shù)的 讀讀/寫寫 訪問(wèn)順序訪問(wèn)順序 采用采用 旁路技術(shù)旁路技術(shù)解決辦法解決辦法 寫后讀相關(guān)(寫后讀相

46、關(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;(;(R2) (R1) R3;(;(R4) (R5) R3(3) 控制相關(guān)控制相關(guān)BNE 指令必須等指令必須等CPX 指令的結(jié)果指令的結(jié)果才能判斷出才能判斷出是轉(zhuǎn)移是轉(zhuǎn)移還是順序執(zhí)行還是順序執(zhí)行LDA # 0LDX # 0INXCPX # N

47、BNE MDIV # NSTA ANSADD X, DM由轉(zhuǎn)移指令引起由轉(zhuǎn)移指令引起(3) 控制相關(guān)控制相關(guān)WOEIFOCODIWOEIFODIFIFIDIFICOFIFOCODIFIWOEIFOCODIFIDIFOEIWOEIFOCOFIDICOWODIFICOFI指令指令 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)移損失轉(zhuǎn)移損失t設(shè)設(shè) 指令指令3 是轉(zhuǎn)移指令是轉(zhuǎn)移指令四、流水線性能四、流水線性能 1. 吞吐率吞吐率 單位時(shí)間內(nèi)單位時(shí)間內(nèi) 流水線所完成指令流水線所完成指

48、令 或或 輸出結(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 段的段的 流水線的速度流水線的速度 與等功能的與等功能的 非流水線的速度非流水線的速度 之比之比 設(shè)流水線各段時(shí)間為設(shè)流水線各段時(shí)間為 t 完成完成 n 條指令在條指令在 m 段流水線上共需段流水線上共需 T = m + (n-1) t t 完成完成 n 條指令在等效的非流水線上共需條指令在等效的非流水線上

49、共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 則則由于流水線有由于流水線有 建立時(shí)間建立時(shí)間 和和 排空時(shí)間排空時(shí)間因此各功能段的因此各功能段的 設(shè)備不可能設(shè)備不可能 一直一直 處于處于 工作工作 狀態(tài)狀態(tài) 流水線中各功能段的流水線中各功能段的 利用率利用率3. 效率效率 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ū)流水線中各段總

50、的時(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í)鐘周期內(nèi)可每個(gè)時(shí)鐘周期內(nèi)可 并發(fā)多條獨(dú)立指令并發(fā)多條獨(dú)立指令 不能調(diào)整不能調(diào)整 指令的指令的 執(zhí)行順序執(zhí)行順序配置多個(gè)功能部件配置多個(gè)功能部件 通過(guò)編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來(lái)通過(guò)編譯優(yōu)化技術(shù),把可并行執(zhí)行的指令搭配起來(lái)IF ID EX WR0 1 2 3 4 5 6 7 8

51、9 10 11 12 13t2. 超流水技術(shù)超流水技術(shù) 在在 一個(gè)時(shí)鐘周期一個(gè)時(shí)鐘周期 內(nèi)內(nèi) 再分段再分段 ( 3 段)段) 不能調(diào)整不能調(diào)整 指令的指令的 執(zhí)行順序執(zhí)行順序在一個(gè)時(shí)鐘周期內(nèi)在一個(gè)時(shí)鐘周期內(nèi) 一個(gè)功能部件使用多次一個(gè)功能部件使用多次( 3 次)次)靠編譯程序解決優(yōu)化問(wèn)題靠編譯程序解決優(yōu)化問(wèn)題流水線速度是原來(lái)速度的流水線速度是原來(lái)速度的 3 倍倍IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t3. 超長(zhǎng)指令字超長(zhǎng)指令字 采用采用 多個(gè)處理部件多個(gè)處理部件具有具有 多個(gè)操作碼字段多個(gè)操作碼字段 的的 超長(zhǎng)指令字超長(zhǎng)指令字(可達(dá)幾百位)(可達(dá)幾百

52、位) 由編譯程序由編譯程序 挖掘挖掘 出指令間出指令間 潛在潛在 的的 并行性并行性,將將 多條多條 能能 并行操作并行操作 的指令組合成的指令組合成 一條一條IF ID EX WR0 1 2 3 4 5 6 7 8 9 10 11 12 13t五、流水線結(jié)構(gòu)五、流水線結(jié)構(gòu)1. 指令流水線結(jié)構(gòu)指令流水線結(jié)構(gòu)完成一條指令分完成一條指令分 7 段段, 每段需一個(gè)時(shí)鐘周期每段需一個(gè)時(shí)鐘周期若若 流水線不出現(xiàn)斷流流水線不出現(xiàn)斷流1 個(gè)時(shí)鐘周期出個(gè)時(shí)鐘周期出 1 結(jié)果結(jié)果不采用流水技術(shù)不采用流水技術(shù)7 個(gè)時(shí)鐘周期出個(gè)時(shí)鐘周期出 1 結(jié)果結(jié)果理想情況下,理想情況下,7 級(jí)流水級(jí)流水 的速度是不采用流水技術(shù)

53、的的速度是不采用流水技術(shù)的 7 倍倍地址形成部件地址形成部件指令譯碼部件指令譯碼部件取操作數(shù)部件取操作數(shù)部件取指令部件取指令部件操作執(zhí)行部件操作執(zhí)行部件回寫結(jié)果部件回寫結(jié)果部件修改指令指針部件修改指令指針部件鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存鎖存2. 運(yùn)算流水線運(yùn)算流水線分段原則分段原則 每段每段 操作時(shí)間操作時(shí)間 盡量盡量 一致一致鎖存器鎖存器對(duì)階功能部件對(duì)階功能部件第一段第一段尾數(shù)加部件尾數(shù)加部件鎖存器鎖存器第二段第二段規(guī)格化部件規(guī)格化部件鎖存器鎖存器第三段第三段一、一、CISC 復(fù)雜指令系統(tǒng)復(fù)雜指令系統(tǒng) 1.CISC的思想的思想 1)與原有機(jī)型兼容)與原有機(jī)型兼容 2)縮小與高

54、級(jí)語(yǔ)言的差異,便于編譯器的設(shè)計(jì))縮小與高級(jí)語(yǔ)言的差異,便于編譯器的設(shè)計(jì)2.CISC的特點(diǎn)的特點(diǎn) 1)復(fù)雜指令利用率不高)復(fù)雜指令利用率不高 2)降低了整機(jī)的運(yùn)算速度)降低了整機(jī)的運(yùn)算速度 3)機(jī)器組成復(fù)雜)機(jī)器組成復(fù)雜 4)設(shè)計(jì)周期長(zhǎng),易出錯(cuò))設(shè)計(jì)周期長(zhǎng),易出錯(cuò)Pentium: CISC K6-+ :它是一款以高性能筆記本型電:它是一款以高性能筆記本型電腦為應(yīng)用對(duì)象的移動(dòng)型微處理器腦為應(yīng)用對(duì)象的移動(dòng)型微處理器 CISC Duron :AMD的的Duron微處理器專門面微處理器專門面向精打細(xì)算的企業(yè)和家庭用戶向精打細(xì)算的企業(yè)和家庭用戶 CISC Intel 486 CISC處理器處理器 1.RI

55、SC的思想的思想 80 20 規(guī)律規(guī)律 典型程序中典型程序中 80% 的語(yǔ)句僅僅使用處的語(yǔ)句僅僅使用處理機(jī)中理機(jī)中 20% 的指令的指令 執(zhí)行頻度高的簡(jiǎn)單指令,因復(fù)雜指令執(zhí)行頻度高的簡(jiǎn)單指令,因復(fù)雜指令 的存的存在,執(zhí)行速度無(wú)法提高在,執(zhí)行速度無(wú)法提高 能否用能否用 20% 的簡(jiǎn)單指令組合不常用的的簡(jiǎn)單指令組合不常用的 80% 的指令功能的指令功能二、二、RISC 精簡(jiǎn)指令系統(tǒng)精簡(jiǎn)指令系統(tǒng) 2、RISC 的主要特征的主要特征 1) 選用使用頻率較高的一些選用使用頻率較高的一些 簡(jiǎn)單指令簡(jiǎn)單指令 復(fù)雜指令的功能由簡(jiǎn)單指令來(lái)組合復(fù)雜指令的功能由簡(jiǎn)單指令來(lái)組合2) 指令指令 長(zhǎng)度固定長(zhǎng)度固定3) 只

56、有只有 LOAD / STORE 指令訪存指令訪存4) 流水線技術(shù)流水線技術(shù) 和超標(biāo)量技術(shù)和超標(biāo)量技術(shù)5) 組合邏輯組合邏輯 實(shí)現(xiàn)控制器實(shí)現(xiàn)控制器 6) 多個(gè)多個(gè) 通用通用 寄存器寄存器 7) 采用采用 優(yōu)化優(yōu)化 的的 編譯編譯 程序程序 MIPS RISC打印機(jī)芯片系列打印機(jī)芯片系列RISC/Unix工作站工作站基于基于XScale的的RISC型微控制器型微控制器Intel i960 RISC處理器處理器三、三、RISC和和CISC 的比較的比較 1. RISC更能更能 充分利用充分利用 VLSI 芯片芯片的面積的面積2. RISC 更能更能 提高計(jì)算機(jī)運(yùn)算速度提高計(jì)算機(jī)運(yùn)算速度指令數(shù)、指令

57、格式、尋址方式少,指令數(shù)、指令格式、尋址方式少,通用通用 寄存器多寄存器多,采用,采用 組合邏輯組合邏輯 ,便于實(shí)現(xiàn)便于實(shí)現(xiàn) 指令流水指令流水3. RISC 便于設(shè)計(jì)便于設(shè)計(jì),可,可 降低成本降低成本,提高,提高 可靠性可靠性4. RISC 有利于編譯程序代碼優(yōu)化有利于編譯程序代碼優(yōu)化 5. RISC 不易不易 實(shí)現(xiàn)實(shí)現(xiàn) 指令系統(tǒng)兼容指令系統(tǒng)兼容 3.4 80 x86系列微處理器系列微處理器 8086是第一款是第一款16位微處理器,問(wèn)世之初,市場(chǎng)上位微處理器,問(wèn)世之初,市場(chǎng)上缺乏與之配套的外圍芯片,用缺乏與之配套的外圍芯片,用8086來(lái)構(gòu)建微型計(jì)算機(jī)來(lái)構(gòu)建微型計(jì)算機(jī)成本很高。為此,成本很高。為

58、此,Intel公司推出與公司推出與8086兼容的準(zhǔn)兼容的準(zhǔn)16位位微處理器微處理器8088。 8088的通用寄存器組、的通用寄存器組、ALU、指令系統(tǒng)都是按照、指令系統(tǒng)都是按照16位設(shè)計(jì)的,與位設(shè)計(jì)的,與8086完全相同,只不過(guò)完全相同,只不過(guò)8088的數(shù)據(jù)引的數(shù)據(jù)引腳是腳是8位的。這樣就可以兼容當(dāng)時(shí)已有的一整套的外圍位的。這樣就可以兼容當(dāng)時(shí)已有的一整套的外圍芯片。芯片。 8086/8088微處理器的浮點(diǎn)運(yùn)算能力和微處理器的浮點(diǎn)運(yùn)算能力和I/O能力相能力相對(duì)較弱,為了滿足用戶對(duì)高性能計(jì)算的要求,對(duì)較弱,為了滿足用戶對(duì)高性能計(jì)算的要求,Intel公公司還推出了兩款協(xié)處理器司還推出了兩款協(xié)處理器數(shù)

59、值運(yùn)算協(xié)處理器數(shù)值運(yùn)算協(xié)處理器8087 和和 I/O協(xié)處理器協(xié)處理器8089。 為此,只配置一個(gè)為此,只配置一個(gè)8086/8088微處理器的工作模微處理器的工作模式被定義為式被定義為最小模式最小模式。在這種模式中,所有的總線控。在這種模式中,所有的總線控制信號(hào)都直接由制信號(hào)都直接由8086或或8088發(fā)出。相對(duì)而言,包含協(xié)發(fā)出。相對(duì)而言,包含協(xié)處理器的微處理器工作模式被定義為處理器的微處理器工作模式被定義為最大模式最大模式。 SIDIBPSPDLDHCLCHBLBHALAH654321通通用用寄寄存存器器組組AXBXCXDX外外部部總總線線內(nèi)部暫存器內(nèi)部暫存器IPESSSDSCS運(yùn)算寄存器運(yùn)算

60、寄存器ALU標(biāo)標(biāo) 志志輸入輸出輸入輸出控制電路控制電路執(zhí)行部分執(zhí)行部分控制電路控制電路執(zhí)行部件執(zhí)行部件(EUEU)總線接口部件總線接口部件(BIUBIU)內(nèi)內(nèi)部部總總線線地址加地址加法器法器16位位16位位20位位16位位8086CPU結(jié)構(gòu)圖結(jié)構(gòu)圖一、總線接口部件(一、總線接口部件(BIU)1.功能:負(fù)責(zé)與存儲(chǔ)器、功能:負(fù)責(zé)與存儲(chǔ)器、IO接口之間傳送信息。接口之間傳送信息。 2.基本組成:基本組成:(1)四個(gè)段地址寄存器:主要用于存放段基址)四個(gè)段地址寄存器:主要用于存放段基址 (2)16位指令指針寄存器位指令指針寄存器IP(3) 20位的地址加法器。位的地址加法器。(4)六字節(jié)的指令隊(duì)列緩沖

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論