白中英 第五版 計(jì)算機(jī)組成原理第5章_第1頁(yè)
白中英 第五版 計(jì)算機(jī)組成原理第5章_第2頁(yè)
白中英 第五版 計(jì)算機(jī)組成原理第5章_第3頁(yè)
白中英 第五版 計(jì)算機(jī)組成原理第5章_第4頁(yè)
白中英 第五版 計(jì)算機(jī)組成原理第5章_第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、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 1 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 第第5 5章章 中央處理器中央處理器 5.1 CPU的組成和功能5.7 流水CPU 5.2 指令周期5.8 RISC CPU 5.3 時(shí)序產(chǎn)生器和控制方式5.9 多媒體CPU 5.4 微程序控制器 5.5 硬連線線控制器 5.6 傳統(tǒng)CPU 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 2 5.1 CPU5.1 CPU的組成和功能的組成和功能 l5.1.1 CPU的功能 l5.1.2 CPU的基本組成 l5.1.3 CPU中的主要寄存器 l5.1.4 操作控制器與時(shí)序產(chǎn)生器 中央處理器是控制計(jì)算機(jī)自動(dòng)完成取出指令和執(zhí)行指令中央處理器是控制計(jì)算機(jī)自

2、動(dòng)完成取出指令和執(zhí)行指令 任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱為任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱為CPU (Central Processing Unit) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 3 5.1.1 CPU5.1.1 CPU的功能的功能 指令控制 保證機(jī)器按程序規(guī)定的順序取出執(zhí)行 操作控制操作控制 CPUCPU產(chǎn)生每條指令對(duì)應(yīng)的操作信號(hào),并把操作信號(hào)送往產(chǎn)生每條指令對(duì)應(yīng)的操作信號(hào),并把操作信號(hào)送往 相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作 時(shí)間控制時(shí)間控制 對(duì)各種操作的實(shí)施時(shí)間進(jìn)行定時(shí)對(duì)各種操作的實(shí)施時(shí)間進(jìn)行定時(shí) 數(shù)據(jù)

3、加工數(shù)據(jù)加工 對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理 控控 制制 器器 運(yùn)運(yùn) 算算 器器 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 4 5.1.2 CPU5.1.2 CPU的基本組成的基本組成 l 控制器:完成對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)操作的協(xié)調(diào)與指揮。 (1) 取出一條指令,并指出下一條指令的地址; (2) 指令譯碼,產(chǎn)生操作控制信號(hào)送往相應(yīng)的部件; (3) 指揮并控制CPU、內(nèi)存與I/O設(shè)備之間數(shù)據(jù)流動(dòng)的方向 l 運(yùn)算器:是數(shù)據(jù)加工處理部件,所進(jìn)行的全部操作由控 制器發(fā)出的控制信號(hào)指揮 。 (1)執(zhí)行所有的算術(shù)運(yùn)算; (2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測(cè)試 CPU由由運(yùn)算器運(yùn)算器、c

4、ache和和控制器控制器三大部分組成。三大部分組成。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 5 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 6 暫時(shí)存放由內(nèi)存讀出或暫時(shí)存放由內(nèi)存讀出或 寫入的數(shù)據(jù)寫入的數(shù)據(jù) 保存由算術(shù)和邏輯指令的保存由算術(shù)和邏輯指令的 結(jié)果建立的各種條件碼結(jié)果建立的各種條件碼 確定下一條確定下一條 指令的地址指令的地址 保存當(dāng)前正在執(zhí)保存當(dāng)前正在執(zhí) 行的一條指令行的一條指令 對(duì)對(duì)IR中的中的指指 令操作碼進(jìn)令操作碼進(jìn) 行譯碼分析行譯碼分析 控制數(shù)據(jù)通路、啟控制數(shù)據(jù)通路、啟 停部件操作停部件操作 保存當(dāng)前保存當(dāng)前CPU所訪問(wèn)所訪問(wèn) 的內(nèi)存單元的地址的內(nèi)存單元的地址 為為ALU提供一個(gè)工作區(qū)。即存放提

5、供一個(gè)工作區(qū)。即存放 ALU運(yùn)算的操作數(shù)和結(jié)果信息。運(yùn)算的操作數(shù)和結(jié)果信息。 保存數(shù)據(jù)保存數(shù)據(jù) 保存指令保存指令 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 7 5.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 1.數(shù)據(jù)緩沖寄存器(DR) 暫時(shí)存放由內(nèi)存讀出或?qū)懭氲臄?shù)據(jù) 2.指令寄存器(IR) 保存當(dāng)前正在執(zhí)行的一條指令 3.程序計(jì)數(shù)器(PC) 確定下一條指令的地址 4.地址寄存器(AR) 保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址 5.通用寄存器(R0R3)為ALU提供一個(gè)工作區(qū)。 即存放ALU運(yùn)算的操作數(shù)和結(jié)果信息。 6.狀態(tài)條件寄存器(PSW) 保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼,如 運(yùn)

6、算結(jié)果進(jìn)位標(biāo)志C,運(yùn)算結(jié)果溢出標(biāo)志V等等。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 8 5.1.4 5.1.4 操作控制器與時(shí)序產(chǎn)生器操作控制器與時(shí)序產(chǎn)生器 數(shù)據(jù)通路: 是許多寄存器之間傳送信息的通路。 操作控制器的功能: 根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn) 生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路, 從而完成取指令和執(zhí)行指令的控制。 根據(jù)設(shè)計(jì)方法不同,操作控制器可分為: 1.硬布線控制器 2.微程序控制器 時(shí)序產(chǎn)生器:產(chǎn)生計(jì)算機(jī)所需要的時(shí)序控制信號(hào) 采用采用時(shí)序邏輯時(shí)序邏輯技術(shù)來(lái)實(shí)現(xiàn)技術(shù)來(lái)實(shí)現(xiàn) 采用采用存儲(chǔ)邏輯存儲(chǔ)邏輯來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 9 5.25.2 指令周期指令周期 l5.2

7、.1 指令周期的基本概念 l5.2.2 MOV指令的指令周期 l5.2.3 LAD指令的指令周期 l5.2.4 ADD指令的指令周期 l5.2.5 STO指令的指令周期 l5.2.6 JMP指令的指令周期 l5.2.7 用方框圖語(yǔ)言表示指令周期 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 10 5.25.2 指令周期指令周期 指令的執(zhí)行過(guò)程指令的執(zhí)行過(guò)程 取指令執(zhí)行指令 開始開始 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 11 5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 指令周期指令周期 : : CPUCPU取出并執(zhí)行一條指令的時(shí)間。取出并執(zhí)行一條指令的時(shí)間。 取指時(shí)間執(zhí)行指令時(shí)間取指時(shí)間執(zhí)行指令時(shí)間

8、 CPU CPU周期周期 : CPUCPU從指存讀取一條指令字所需的最短時(shí)間,又從指存讀取一條指令字所需的最短時(shí)間,又 稱機(jī)器周期(總線周期)稱機(jī)器周期(總線周期) 。 時(shí)鐘周期時(shí)鐘周期 : : 通常稱為通常稱為節(jié)拍脈沖節(jié)拍脈沖或或T T周期周期。一個(gè)。一個(gè)CPUCPU周期包含周期包含 若干個(gè)若干個(gè)T T周期。周期。(節(jié)拍的寬度取決于(節(jié)拍的寬度取決于CPUCPU完成一次基本的微操作的時(shí)間完成一次基本的微操作的時(shí)間 ) 相互關(guān)系相互關(guān)系: 1 1個(gè)指令周期個(gè)指令周期 = = 若干個(gè)若干個(gè)CPUCPU周期周期 1 1個(gè)個(gè)CPUCPU周期周期 = = 若干若干T T周期周期 計(jì)算機(jī)組成原理計(jì)算機(jī)組

9、成原理 12 101MOVR0,R1;(R1)R0 102LADR1,6;(6)R1 103ADDR1,R2;(R1)+(R2)R2 104STOR2,(R3);R2(R3) 105JMP101;101PC 106ANDR1,R3 6100 5 5條典型指令構(gòu)成的簡(jiǎn)單程序條典型指令構(gòu)成的簡(jiǎn)單程序 指令地址指令地址 指令助記符指令助記符 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 13 5.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期 MOV R0, R1是一條RR指令 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 14 MOVMOV指令的指令周期指令的指令周期取指取指 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 15 M

10、OVMOV指令的指令周期指令的指令周期執(zhí)行執(zhí)行 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 16 5.2.3 LADLAD指令的指令周期指令的指令周期 一個(gè)CPU周期 一個(gè)CPU周期 取指令階段取指令階段執(zhí)行指令階段執(zhí)行指令階段 開始開始 取指令取指令 PC+1 對(duì)指令對(duì)指令 譯碼譯碼 送操作送操作 數(shù)地址數(shù)地址 取下條指令取下條指令 PC+1 取出操取出操 作數(shù)作數(shù) 裝入通用裝入通用 寄存器寄存器 一個(gè)CPU周期 LAD R1, 6是一條RS指令 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 17 LADLAD指令的指令周期指令的指令周期執(zhí)行執(zhí)行 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 18 5.2.45.2.

11、4 ADDADD指令的指令周期指令的指令周期 ADD R1, R2是一條RR指令 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 19 ADDADD指令的指令周期指令的指令周期執(zhí)行執(zhí)行 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 20 5.2.5 5.2.5 STOSTO指令的指令周期指令的指令周期 STO R2, (R3)是一條RS指令 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 21 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 22 5.2.65.2.6 JMP JMP指令的指令周期指令的指令周期 JMP 101 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 23 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 24 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 25

12、 5.2.75.2.7用方框圖語(yǔ)言表示指令周期用方框圖語(yǔ)言表示指令周期 l方框:代表一個(gè)CPU周期,方框中的內(nèi)容表示數(shù)據(jù)通路的操 作或某種控制操作。 l菱形:通常用來(lái)表示某種判別或測(cè)試。時(shí)間上依附于緊接 的前面一個(gè)CPU周期,而不單獨(dú)占用一個(gè)CPU周期。 1個(gè) CPU 周期 1個(gè) CPU 周期 1個(gè) CPU 周期 公操作公操作符號(hào)。表示一條指令已執(zhí)行完畢,符號(hào)。表示一條指令已執(zhí)行完畢, CPU取下一條指令或處理外設(shè)請(qǐng)求。取下一條指令或處理外設(shè)請(qǐng)求。 ABUS:地址總線:地址總線 DBUS:數(shù)據(jù)總線:數(shù)據(jù)總線 IBUS:指令總線:指令總線 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 26 【例1】下圖所示為雙

13、總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路,IR為指令寄存器,PC為程 序計(jì)數(shù)器(具有自增功能),M為主存(受R/W信號(hào)控制)既存放指令又存放數(shù) 據(jù),AR為地址寄存器,DR為數(shù)據(jù)緩沖寄存器,ALU由加、減控制信號(hào)決 定完成何種操作,控制信號(hào)G控制的是一個(gè)門電路。另外,線上標(biāo)注有小 圈表示有控制信號(hào),例中yi表示y寄存器的輸入控制信號(hào),R1o為寄存器R1 的輸出控制信號(hào),未標(biāo)字符的線為直通線,不受控制。 (1)“ADDR2,R0”指令完成(R0)+(R2)R0的功能,畫出其指令周期流程圖(設(shè) 指令地址已放入PC中),并列出相應(yīng)的微操作控制信號(hào)序列。 (2)“SUBR1,R3”指令完成(R3)-(R1)R3的操作,畫

14、出其指令期流程圖,并列 出相應(yīng)的微操作控制信號(hào)序列。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 27 PCo,G,ARi PCAR MDR DRIR R2Y R0X Y+XR0 R/W=R DRo,G,IRi R2o,G,Yi R0o,G,Xi +,G,R0i 取指 (1)加法 “ADDR2,R0” PCo,G,ARiPCAR MDR DRIR R3Y R1X YXR3 R/W=R DRo,G,IRi R3o,G,Yi R1o,G,Xi ,G,R3i (2)減法 “SUBR1,R3” 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 28 5.35.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式 l5.3.1 時(shí)序信號(hào)的作用和

15、體制 l5.3.2 時(shí)序信號(hào)產(chǎn)生器 l5.3.3 控制方式 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 29 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 30 5.35.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式 用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里, 那么CPU是怎樣識(shí)別出它們是數(shù)據(jù)還是指令呢? 從時(shí)間上來(lái)說(shuō)從時(shí)間上來(lái)說(shuō): 取指發(fā)生在指令周期的第一個(gè)取指發(fā)生在指令周期的第一個(gè)CPU周期周期; 取數(shù)發(fā)生在后面幾個(gè)取數(shù)發(fā)生在后面幾個(gè)CPU周期,即周期,即 “執(zhí)行指令執(zhí)行指令”階段。階段。 從空間上來(lái)說(shuō)從空間上來(lái)說(shuō): 送指令寄存器送指令寄存器IR 指令指令 送送運(yùn)算器運(yùn)算器 數(shù)據(jù)數(shù)據(jù)。 思考思考 計(jì)算機(jī)組成原理計(jì)算機(jī)組成

16、原理 31 5.3 5.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式 5.3.1 時(shí)序信號(hào)的作用和體制時(shí)序信號(hào)的作用和體制 時(shí)序信號(hào)時(shí)序信號(hào) CPU中一個(gè)類似“作息時(shí)間”的東西, 使計(jì)算機(jī)可以準(zhǔn)確、迅速、有條不紊地工作 。機(jī)器一旦被啟動(dòng),即CPU開始取指令并執(zhí) 行指令時(shí),操作控制器就利用定時(shí)脈沖的順 序和不同的脈沖間隔,有條理、有節(jié)奏地指 揮機(jī)器的動(dòng)作. 規(guī)定在這個(gè)脈沖到來(lái)時(shí)做什么,在那個(gè) 脈沖到來(lái)時(shí)又做什么,給計(jì)算機(jī)各部分提供 工作所需的時(shí)間標(biāo)志。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 32 5.3.15.3.1時(shí)序信號(hào)的作用和體制時(shí)序信號(hào)的作用和體制 計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)志則用計(jì)

17、算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)志則用 時(shí)序信號(hào)來(lái)體現(xiàn)。時(shí)序信號(hào)來(lái)體現(xiàn)。 l主狀態(tài)周期(指令周期):包含若干個(gè)節(jié)拍周期, l節(jié)拍電位(機(jī)器周期、cpu周期):表示一個(gè)CPU 周期的時(shí)間, 包含若干個(gè)節(jié)拍脈沖。 l節(jié)拍脈沖(時(shí)鐘周期):表示較小的時(shí)間單位。 硬布線控制器 時(shí)序信號(hào)采用主狀態(tài)周期-節(jié)拍電位-節(jié)拍脈沖三級(jí)體制。 微程序控制器 時(shí)序信號(hào)一般采用節(jié)拍電位-節(jié)拍脈沖二級(jí)體制。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 33 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4 MERQ IORQ RD WR 提供頻率穩(wěn)定且電平匹配提供頻率穩(wěn)

18、定且電平匹配 的方波時(shí)鐘脈沖信號(hào)的方波時(shí)鐘脈沖信號(hào) 由石英晶體振蕩器組成由石英晶體振蕩器組成 產(chǎn)生一組有序的間隔相等產(chǎn)生一組有序的間隔相等 或不等的脈沖序列或不等的脈沖序列 啟動(dòng) 停機(jī) 5.3.25.3.2時(shí)序信號(hào)產(chǎn)生器時(shí)序信號(hào)產(chǎn)生器 啟??刂七壿媶⑼?刂七壿?節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯 環(huán)形脈沖發(fā)生器環(huán)形脈沖發(fā)生器時(shí)鐘脈沖源時(shí)鐘脈沖源 微程序控制器的時(shí)序信號(hào)產(chǎn)生器微程序控制器的時(shí)序信號(hào)產(chǎn)生器 (節(jié)拍電位節(jié)拍電位- -節(jié)拍脈沖節(jié)拍脈沖) 譯碼產(chǎn)生原始的節(jié)拍譯碼產(chǎn)生原始的節(jié)拍 脈沖和讀寫時(shí)序信號(hào)脈沖和讀寫時(shí)序信號(hào) 控制節(jié)拍脈沖和讀寫時(shí)序信號(hào)的發(fā)送。啟動(dòng)狀態(tài),輸控制節(jié)拍脈

19、沖和讀寫時(shí)序信號(hào)的發(fā)送。啟動(dòng)狀態(tài),輸 出出CPU真正需要的節(jié)拍脈沖和讀寫時(shí)序信號(hào)真正需要的節(jié)拍脈沖和讀寫時(shí)序信號(hào) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 34 CPUCPU周期周期CPUCPU周期周期 節(jié)節(jié) 拍拍 脈脈 沖沖 信信 號(hào)號(hào) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 35 啟??刂七壿媶⑼?刂七壿?運(yùn)行標(biāo)志運(yùn)行標(biāo)志 觸發(fā)觸發(fā)器器Cr 當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),一當(dāng)計(jì)算機(jī)啟動(dòng)時(shí),一 定要從第定要從第1個(gè)節(jié)拍脈沖個(gè)節(jié)拍脈沖 前沿開始工作。前沿開始工作。 停機(jī)時(shí)一定要在第停機(jī)時(shí)一定要在第4 個(gè)節(jié)拍脈沖結(jié)束后關(guān)個(gè)節(jié)拍脈沖結(jié)束后關(guān) 閉時(shí)序產(chǎn)生器。閉時(shí)序產(chǎn)生器。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 36 5.3.35.3.3控制方

20、式控制方式 控制器的控制方式:控制不同操作序列時(shí)序信號(hào)的方法。 1. 1. 同步控制方式同步控制方式 已定的指令在執(zhí)行時(shí)所需的已定的指令在執(zhí)行時(shí)所需的CPU周期(機(jī)器周期)數(shù)和周期(機(jī)器周期)數(shù)和 時(shí)鐘周期數(shù)都固定不變。時(shí)鐘周期數(shù)都固定不變。 2. 2. 異步控制方式異步控制方式 控制器發(fā)出某一操作控制信號(hào)后,等待執(zhí)行部件完成操控制器發(fā)出某一操作控制信號(hào)后,等待執(zhí)行部件完成操 作后發(fā)作后發(fā)“回答回答”信號(hào),再開始新的操作。信號(hào),再開始新的操作。 3. 3. 聯(lián)合控制方式聯(lián)合控制方式 同步控制和異步控制相結(jié)合的方式。同步控制和異步控制相結(jié)合的方式。 (1)(1)采用完全統(tǒng)一的機(jī)器周期執(zhí)行采用完全

21、統(tǒng)一的機(jī)器周期執(zhí)行 各種不同的指令。各種不同的指令。 (2)(2)采用不定長(zhǎng)機(jī)器周期。采用不定長(zhǎng)機(jī)器周期。 (3)(3)中央控制與局部控制結(jié)合。中央控制與局部控制結(jié)合。 情況(情況(1 1):大部分操作序列安排在固定的機(jī)器周期中,對(duì)某些時(shí)間):大部分操作序列安排在固定的機(jī)器周期中,對(duì)某些時(shí)間 難以確定的操作則以執(zhí)行難以確定的操作則以執(zhí)行 “ “回答回答”信號(hào)作為本次操作的結(jié)束;信號(hào)作為本次操作的結(jié)束; 情況(情況(2 2):機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器):機(jī)器周期的節(jié)拍脈沖數(shù)固定,但是各條指令周期的機(jī)器 周期數(shù)不固定。周期數(shù)不固定。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 37 5.

22、4 5.4 微程序控制器微程序控制器 l發(fā)展發(fā)展 微程序的概念和原理是由英國(guó)劍橋大學(xué)微程序的概念和原理是由英國(guó)劍橋大學(xué)的的M MV VWilkesWilkes教教 授于授于19511951年在曼徹斯特大學(xué)計(jì)算機(jī)會(huì)議上首先提出來(lái)的。年在曼徹斯特大學(xué)計(jì)算機(jī)會(huì)議上首先提出來(lái)的。 到到19641964年,年,IBMIBM公司在公司在IBM 360IBM 360系列機(jī)上成功地采用了微程系列機(jī)上成功地采用了微程 序設(shè)計(jì)技術(shù)。序設(shè)計(jì)技術(shù)。 2020世紀(jì)世紀(jì)7070年代以來(lái),由于年代以來(lái),由于VLSIVLSI技術(shù)的發(fā)展,推動(dòng)了微程序技術(shù)的發(fā)展,推動(dòng)了微程序 設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用。設(shè)計(jì)技術(shù)的發(fā)展和應(yīng)用。 目前,

23、從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè) 計(jì)技術(shù)。計(jì)技術(shù)。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 38 5.4 5.4 微程序控制器微程序控制器 利用利用軟件方法軟件方法(微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù))來(lái)設(shè)計(jì)硬件)來(lái)設(shè)計(jì)硬件 微程序控制的微程序控制的基本思想基本思想: 把操作控制信號(hào)編成把操作控制信號(hào)編成 “微指令微指令”,存放到控,存放到控 制存儲(chǔ)器制存儲(chǔ)器CM中。中。 當(dāng)機(jī)器運(yùn)行時(shí),逐條讀出微指令,產(chǎn)生全機(jī)當(dāng)機(jī)器運(yùn)行時(shí),逐條讀出微指令,產(chǎn)生全機(jī) 所需要的各種操作控制信號(hào),啟停相應(yīng)部件。所需要的各種操作控制信號(hào),啟停相應(yīng)部件。 計(jì)算機(jī)組成原理計(jì)算

24、機(jī)組成原理 39 5.4 5.4 微程序控制器微程序控制器 l5.4.1 微程序控制原理 l5.4.2 微程序設(shè)計(jì)技術(shù) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 40 控制器 運(yùn)算器、存儲(chǔ)器、外圍設(shè)備(IO設(shè)備) 1 1 微命令和微操作微命令和微操作 數(shù)字計(jì)算機(jī)可以分為:控制部件和執(zhí)行部件 控制器 IO設(shè)備 主存 運(yùn)算器 + W R Ready V 控制線 狀態(tài)線 控制部件與執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系??刂撇考c執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系。 微命令微命令 微操作微操作 微操作微操作 微操作微操作 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 41 5.4.1 5.4.1 微命令和微操作微命令和微操作

25、微命令:微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種 控制命令??刂泼?。 微操作:微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作。執(zhí)行部件接受微命令后所進(jìn)行的操作。 微操作可分為微操作可分為相容性相容性和和相斥性相斥性兩種。兩種。 在同時(shí)或同一個(gè)在同時(shí)或同一個(gè)CPUCPU周期周期 內(nèi)可以并行執(zhí)行的微操作內(nèi)可以并行執(zhí)行的微操作 不能在同時(shí)或同一個(gè)不能在同時(shí)或同一個(gè)CPUCPU 周期內(nèi)并行執(zhí)行的微操作周期內(nèi)并行執(zhí)行的微操作 ALU的的“+”、“”、“M”(傳送)為互斥微操(傳送)為互斥微操 作。作。 通常,只有通常,只有不同不同部件上的微操作,才可能相容!部件上

26、的微操作,才可能相容! 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 42 5.4.1 5.4.1 微命令和微操作微命令和微操作 相斥性相斥性 進(jìn)位觸發(fā)器進(jìn)位觸發(fā)器 多路開關(guān)的多路開關(guān)的 控制信號(hào)控制信號(hào) 相斥性相斥性 時(shí)鐘輸入時(shí)鐘輸入 相容性相容性 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 43 2 2微指令和微程序微指令和微程序 微指令:在一個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功 能的微命令的組合。 微程序:實(shí)現(xiàn)一條機(jī)器指令功能的許多條微指令組 成的序列。 指令系統(tǒng)所有指令;指令系統(tǒng)所有指令; 指令微程序;指令微程序; 微程序若干微指令;微程序若干微指令; 微指令一組微命令;微指令一組微命令; 微命令微命令微操

27、作微操作 nn 22 n 2 n211 11 微程序機(jī)器指令 微程序機(jī)器指令 微指令 微指令 完成一組微操作 )微命令、微命令(微命令微指令 微程序機(jī)器指令 程序 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 44 微指令的格式 發(fā)出控制全機(jī)工作的控制信號(hào)。發(fā)出控制全機(jī)工作的控制信號(hào)。 每一位表示一個(gè)微命令。每一位表示一個(gè)微命令。 “ “1” 1” 發(fā)出微命令;發(fā)出微命令; “0” 0” 不發(fā)出微命令。不發(fā)出微命令。 用來(lái)決定產(chǎn)生下一條用來(lái)決定產(chǎn)生下一條 微指令的地址。微指令的地址。 判別測(cè)試標(biāo)志判別測(cè)試標(biāo)志 微命令信號(hào)都是節(jié)拍電位信號(hào)微命令信號(hào)都是節(jié)拍電位信號(hào) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 45 微程序控制

28、器原理框圖微程序控制器原理框圖 l微程序控制器主要由控制存儲(chǔ)器、微指令寄存器和地址轉(zhuǎn) 移邏輯三大部分組成。 play 只讀存儲(chǔ)器只讀存儲(chǔ)器 存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序。存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序。 決定將要訪問(wèn)的下決定將要訪問(wèn)的下 一條微指令的地址一條微指令的地址 保存一條微指令的操作控制保存一條微指令的操作控制 字段和判別測(cè)試字段的信息字段和判別測(cè)試字段的信息 存放由控制存儲(chǔ)器讀出的一條微指令信息。存放由控制存儲(chǔ)器讀出的一條微指令信息。 分為微地址寄存器和微命令寄存器兩部分。分為微地址寄存器和微命令寄存器兩部分。 通過(guò)判別測(cè)試字段通過(guò)判別測(cè)試字段P和和 執(zhí)行部件的執(zhí)行部件的“狀態(tài)條狀態(tài)條

29、 件件”反饋信息,修改反饋信息,修改 微地址寄存器的內(nèi)容微地址寄存器的內(nèi)容 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 46 微程序舉例微程序舉例十進(jìn)制加法十進(jìn)制加法 l在十進(jìn)制運(yùn)算時(shí),當(dāng)相加二數(shù)之和大于9時(shí),便產(chǎn)生進(jìn)位。而 采用BCD碼后,當(dāng)相加的和數(shù)大于9時(shí),結(jié)果不正確,必 須加6修正后才能得出正確的結(jié)果。 算法:算法:先將和數(shù)加先將和數(shù)加6,然后判別結(jié)果有無(wú)進(jìn)位:,然后判別結(jié)果有無(wú)進(jìn)位: 當(dāng)當(dāng)Cy1,結(jié)果不變;當(dāng),結(jié)果不變;當(dāng)Cy0,結(jié)果減,結(jié)果減6。 取指取指 判別測(cè)試,修改微判別測(cè)試,修改微 地址寄存器內(nèi)容地址寄存器內(nèi)容 ab ab6 測(cè)試進(jìn)位測(cè)試進(jìn)位 標(biāo)志標(biāo)志Cy ab66 計(jì)算機(jī)組成原理計(jì)算機(jī)

30、組成原理 47 第一條微指令的二進(jìn)制編碼是 0000000000001111010 0000 為取加法機(jī)器指令的微指令 有5個(gè)微命令構(gòu)成: 第16位發(fā)出PCAR 第13位發(fā)出指存讀命令RD 第14位將讀取的指令打入DR 第15位將DR數(shù)據(jù)打入IR 第18位發(fā)出P1測(cè)試(測(cè)試結(jié)果下一條地址為1010) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 48 5.4.4 5.4.4 微程序舉例微程序舉例 第二條微指令的二進(jìn)制編碼是 01010010010000000001001 為完成R1R2R2微指令 有4個(gè)微命令構(gòu)成: 第4位發(fā)出R1X 第7位發(fā)出R2Y 第10位發(fā)出R1R2 第2位發(fā)出結(jié)果寫回R2 下一條微指令

31、地址為1001 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 49 第三條微指令的二進(jìn)制編碼是 01000100110000000010000 為完成R2R3R2微指令 有5個(gè)微命令構(gòu)成: 第6位發(fā)出R2X 第9位發(fā)出R3Y 第10位發(fā)出R2R3 第2位發(fā)出結(jié)果寫回R2 第19位表明進(jìn)行P2測(cè)試,測(cè)試條件為進(jìn)位標(biāo)識(shí)Cy,如果Cy1 下一條微指令地址為0000,如果Cy0,下一條地址為0001. 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 50 Cy0執(zhí)行第四條微指令 01000100100100000000000 為完成R2R3R2微指令 有5個(gè)微命令構(gòu)成: 第6位發(fā)出R2X 第9位發(fā)出R3Y 第12位發(fā)出R2R3 第2位

32、發(fā)出結(jié)果寫回R2 下一條微指令地址為0000 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 51 CPUCPU周期與微指令周期的關(guān)系周期與微指令周期的關(guān)系 微指令周期 = 讀出微指令的時(shí)間 + 執(zhí)行該條微指令的時(shí)間 =1=1個(gè)個(gè)cpu周期 圖圖5.26 CPU周期與微指令周期的關(guān)系周期與微指令周期的關(guān)系 T4 T3 T2 T1 微指令 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 52 機(jī)器指令與微指令的關(guān)系機(jī)器指令與微指令的關(guān)系 l(1)一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,這個(gè)微程序由若 干條微指令序列組成。 l(2)從指令與微指令、程序與微程序、地址與微地址 的對(duì)應(yīng)關(guān)系看,前者與內(nèi)存有關(guān),后者與控制存儲(chǔ) 器有關(guān)。 l(3)每一個(gè)

33、CPU周期對(duì)應(yīng)一條微指令。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 53 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 緩沖寄存器緩沖寄存器DR 指令寄存器指令寄存器IR 微地址寄存器微地址寄存器AR 微指令寄存器微指令寄存器IR 主存儲(chǔ)器主存儲(chǔ)器 控制存儲(chǔ)器控制存儲(chǔ)器CM 微命令微命令 地址譯碼器地址譯碼器 地址譯碼地址譯碼 機(jī)器指令級(jí)機(jī)器指令級(jí) 微指令級(jí)微指令級(jí) OP 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 54 5.4.2 5.4.2 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) 一、設(shè)計(jì)微指令應(yīng)當(dāng)追求的目標(biāo)一、設(shè)計(jì)微指令應(yīng)當(dāng)追求的目標(biāo) 有利于縮短微指令的長(zhǎng)度有利于縮短微指令的長(zhǎng)度 有利于縮小有利于縮小CMCM的容量

34、的容量 有利于提高微程序的執(zhí)行速度有利于提高微程序的執(zhí)行速度 有利于對(duì)微指令的修改有利于對(duì)微指令的修改 有利于提高微程序設(shè)計(jì)的靈活性有利于提高微程序設(shè)計(jì)的靈活性 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 55 5.4.2 5.4.2 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) l直接表示法 l編碼表示法 l混合表示法 操作控制字段的每一位代表一個(gè)微命令!操作控制字段的每一位代表一個(gè)微命令! 優(yōu)點(diǎn):簡(jiǎn)單、直觀、微指令執(zhí)行速度快。優(yōu)點(diǎn):簡(jiǎn)單、直觀、微指令執(zhí)行速度快。 缺點(diǎn):控存容量需求大。缺點(diǎn):控存容量需求大。 n位,最多代表位,最多代表2n -1個(gè)微命令。個(gè)微命令。 優(yōu)點(diǎn):縮短了微指令字的長(zhǎng)度。優(yōu)點(diǎn):縮短了微指令字的長(zhǎng)度

35、。 缺點(diǎn):字段需譯碼,才得到微命令信號(hào)缺點(diǎn):字段需譯碼,才得到微命令信號(hào) 字段1字段2 P字段下地址 譯碼 譯碼 譯碼 微命令微命令 微命令微命令 P1 Pn 直接表示和編碼表直接表示和編碼表 示相結(jié)合示相結(jié)合 1.1.微命令編碼微命令編碼操作控制字段采用的表示方法操作控制字段采用的表示方法 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 56 2 2 微地址的形成方法微地址的形成方法 l計(jì)數(shù)器方式 l多路轉(zhuǎn)移方式 微地址寄存器有計(jì)數(shù)器功能。微地址寄存器有計(jì)數(shù)器功能。 順序執(zhí)行的微指令序列必須在控制存儲(chǔ)順序執(zhí)行的微指令序列必須在控制存儲(chǔ) 器的連續(xù)單元中。器的連續(xù)單元中。 微指令的微指令的P字段中,某位為字段中,

36、某位為1 ,就要修,就要修 改改“下地址下地址”字段,產(chǎn)生正確的下地址。字段,產(chǎn)生正確的下地址。 P字段有字段有n位,可產(chǎn)生位,可產(chǎn)生2n路轉(zhuǎn)移。路轉(zhuǎn)移。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 57 3 3 微指令格式微指令格式 l水平型微指令 l垂直型微指令 控制字段控制字段判別測(cè)試字段判別測(cè)試字段下地址字段下地址字段 全水平型微指令全水平型微指令 字段譯碼法水平型微指令字段譯碼法水平型微指令 直接和譯碼相混合的水平型微指令直接和譯碼相混合的水平型微指令 一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令 類似機(jī)器指令的格式,例RR傳送型微指令: 微操作碼經(jīng)譯碼,得

37、到微命令。 000源寄存器編址源寄存器編址目標(biāo)寄存器編址目標(biāo)寄存器編址其他其他 15 13 12 8 7 3 2 0 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 58 3. 3. 水平型微指令與垂直型微指令的比較水平型微指令與垂直型微指令的比較 (1)水平型微指令并行操作能力強(qiáng),效率高, 靈活性強(qiáng),垂直型微指令則較差。 (2)水平型微指令執(zhí)行一條指令的時(shí)間短,垂 直型微指令執(zhí)行時(shí)間長(zhǎng)。 (3)由水平型微指令解釋指令的微程序,有微 指令字較長(zhǎng)而微程序短的特點(diǎn)。垂直型微 指令則相反。 (4)水平型微指令用戶難以掌握,而垂直型微 指令與指令比較相似,相對(duì)來(lái)說(shuō),比較容 易掌握。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 59

38、4 4 動(dòng)態(tài)微程序設(shè)計(jì)動(dòng)態(tài)微程序設(shè)計(jì) 微程序設(shè)計(jì)技術(shù)有靜態(tài)微程序設(shè)計(jì)靜態(tài)微程序設(shè)計(jì)和動(dòng)動(dòng) 態(tài)微程序設(shè)計(jì)態(tài)微程序設(shè)計(jì)之分。 1. 靜態(tài)微程序設(shè)計(jì)靜態(tài)微程序設(shè)計(jì) 對(duì)應(yīng)于一臺(tái)計(jì)算機(jī)的機(jī)器指令只有一組 微程序,而且這一組微程序設(shè)計(jì)好之后,一 般無(wú)須改變而且也不好改變,這種微程序設(shè) 計(jì)技術(shù)稱為靜態(tài)微程序設(shè)計(jì)。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 60 當(dāng)采用E2PROM作為控制存儲(chǔ)器時(shí),還 可以通過(guò)改變微指令和微程序來(lái)改變機(jī)器的 指令系統(tǒng),這種微程序設(shè)計(jì)技術(shù)稱為動(dòng)態(tài)微 程序設(shè)計(jì)。采用動(dòng)態(tài)微程序設(shè)計(jì)時(shí),微指令 和微程序可以根據(jù)需要加以改變,因而可在 一臺(tái)機(jī)器上實(shí)現(xiàn)不同類型的指令系統(tǒng)。這種 技術(shù)又稱為仿真其他機(jī)器

39、指令系統(tǒng)仿真其他機(jī)器指令系統(tǒng),以便擴(kuò) 大機(jī)器的功能。 4 動(dòng)態(tài)微程序設(shè)計(jì)動(dòng)態(tài)微程序設(shè)計(jì) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 61 5.5 硬布線控制器 l電子計(jì)算機(jī)誕生后,控制器采用硬布線實(shí)現(xiàn)。 l基本思想:某一微操作控制信號(hào)是指令操作碼 譯碼輸出、時(shí)序信號(hào)和狀態(tài)條件信號(hào)的邏輯函數(shù), 即用布爾代數(shù)寫出邏輯表達(dá)式,然后用門電路和 觸發(fā)器等器件實(shí)現(xiàn)。 l非常復(fù)雜! l增加一條指令,需要重新設(shè)計(jì)整個(gè)硬布線邏輯電 路。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 62 硬布線控制器的結(jié)構(gòu)方框圖硬布線控制器的結(jié)構(gòu)方框圖 C = f ( Im, Bi, Tk, Mi ) im mjkin IBTMC)( 硬布線,需要很硬布線

40、,需要很 強(qiáng)的數(shù)理邏輯電強(qiáng)的數(shù)理邏輯電 路設(shè)計(jì)技術(shù)!路設(shè)計(jì)技術(shù)! 圖5.31 硬布線控制器結(jié)構(gòu)方框圖 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 63 5.7 流水CPU l5.7.1 并行處理技術(shù) l5.7.2 流水CPU的結(jié)構(gòu) l5.7.3 流水線中的主要問(wèn)題 l5.7.4 奔騰CPU 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 64 并行性的兩種含義 l同時(shí)性 兩個(gè)或多個(gè)事件同時(shí)發(fā)生。 l并發(fā)性 兩個(gè)或多個(gè)事件在同一時(shí)段內(nèi)先后發(fā)生。 事件事件1 1 事件事件2 2 事件事件1 1 事件事件2 2 t 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 65 并行處理的三種形式 時(shí)間并行 空間并行 時(shí)間并行+空間并行 流水流水CPUCPU

41、是以時(shí)間并行性為原理構(gòu)造的處理器是以時(shí)間并行性為原理構(gòu)造的處理器 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 66 1. 時(shí)間并行時(shí)間并行 時(shí)間并行指時(shí)間重疊,在并行性概念中 引入時(shí)間因素,讓多個(gè)處理過(guò)程在時(shí)間上相 互錯(cuò)開,輪流重疊地使用同一套硬件設(shè)備的 各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。 時(shí)間并行性概念的實(shí)現(xiàn)方式就是采用流流 水處理部件水處理部件。這是一種非常經(jīng)濟(jì)而實(shí)用的并 行技術(shù),能保證計(jì)算機(jī)系統(tǒng)具有較高的性能 價(jià)格比。目前的高性能微型機(jī)幾乎無(wú)一例外 地使用了流水技術(shù)。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 67 2. 空間并行空間并行 空間并行指資源重復(fù),在并行性概念中引 入空間因素,以“數(shù)量取勝”為原則來(lái)

42、大幅度 提高計(jì)算機(jī)的處理速度??臻g并行技術(shù)主要體 現(xiàn)在多處理器系統(tǒng)和多計(jì)算機(jī)系統(tǒng)。但是在單 處理器系統(tǒng)中也得到了廣泛應(yīng)用。 3. 時(shí)間并行時(shí)間并行+空間并行空間并行 指時(shí)間重疊和資源重復(fù)的綜合應(yīng)用,既采 用時(shí)間并行性又采用空間并行性。顯然,第三 種并行技術(shù)帶來(lái)的高速效益是最好的。Pentium 中采用了超標(biāo)量流水線技術(shù) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 68 流水計(jì)算機(jī)的系統(tǒng)組成 多體交叉存儲(chǔ)器多體交叉存儲(chǔ)器 cache 指令部件指令部件 (指令指令I(lǐng)+k+1) (指令指令I(lǐng)+k) (指令指令I(lǐng)+2) (指令指令I(lǐng)+1) 執(zhí)行部件執(zhí)行部件 (指令指令I(lǐng)) 存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng) 流水流水CPUCPU 取

43、指令取指令 指令譯碼指令譯碼 計(jì)算操作數(shù)地址計(jì)算操作數(shù)地址 取操作數(shù)取操作數(shù) FIFO指令隊(duì)列指令隊(duì)列 運(yùn)算流水線運(yùn)算流水線 用流水線實(shí)現(xiàn)用流水線實(shí)現(xiàn) 用流水線實(shí)現(xiàn)用流水線實(shí)現(xiàn) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 69 流水線的表示法連接圖 l用方框表示過(guò)程段,箭頭表示段間數(shù)據(jù)傳送。 l以指令流水線為例, l段間有緩沖寄存器,暫存前一段的結(jié)果; l一個(gè)流水線由一系列串聯(lián)的過(guò)程段組成。 S2S3S4S1 IFIDEXWB 入入出出 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 70 非流水的指令流水線 8 8時(shí)鐘后,完成時(shí)鐘后,完成2 2條指令。條指令。 I1I2 I1I2 I1I2 I1I2 空間空間 IFIF I

44、DID EXEX WBWB 時(shí)間時(shí)間 12345678 時(shí)空?qǐng)D時(shí)空?qǐng)D 橫軸表示時(shí)間,縱軸表示空間。橫軸表示時(shí)間,縱軸表示空間。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 71 標(biāo)量流水線標(biāo)量流水線 l假設(shè)連續(xù)5條指令進(jìn)入流水線 I1I2I3I4I5 I1I2I3I4I5 I1I2I3I4I5 I1I2I3I4I5 空間空間 IFIF IDID EXEX WBWB 時(shí)間時(shí)間 12345678 8 8時(shí)鐘后,完成時(shí)鐘后,完成5 5 條指令。條指令。 裝滿時(shí)間裝滿時(shí)間排空時(shí)間排空時(shí)間 S2S3S4S1 IFIDEXWB 入入出出 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 72 什么是超標(biāo)量流水處理器 l標(biāo)量指單個(gè)量; l向

45、量指一組標(biāo)量; l只有一套指令流水線的CPU稱為標(biāo)量流水CPU; l有多套指令流水線的CPU稱為超標(biāo)量流水CPU。 l超標(biāo)量流水計(jì)算機(jī)是時(shí)間并行與空間并行的結(jié)合。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 73 超標(biāo)量流水線CPU 裝滿后,每個(gè)時(shí)鐘完成裝滿后,每個(gè)時(shí)鐘完成2 2條指令。條指令。 I2I4I6I8I10 空間空間 IF1IF1 時(shí)間時(shí)間 12345678 I1I3I5I7I9 IF2IF2 I2I4I6I8I10 I1I3I5I7I9 I2I4I6I8I10 I1I3I5I7I9 I2I4I6I8I10 I1I3I5I7I9 ID1ID1 ID2ID2 EX1EX1 EX2EX2 WB1WB

46、1 WB2WB2 play 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 74 流水線分類 l算術(shù)流水線 流水加法器、流水乘法器、流水浮點(diǎn)加法器。 l指令流水線 包括“取指”、“譯碼”、“取操作數(shù)”、 “執(zhí)行”、“寫回”等過(guò)程段。 l處理機(jī)流水線(宏流水線) 出出入入 CPU1CPU2CPUm 程序程序1程序程序2程序程序m 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 75 5.8.3 流水線中的主要問(wèn)題 l流水過(guò)程中通常會(huì)出現(xiàn)以下三種相關(guān)沖突,使流水線斷流。 l資源相關(guān) l數(shù)據(jù)相關(guān) l控制相關(guān) 多條指令在同一多條指令在同一CPU周期內(nèi)爭(zhēng)用同一個(gè)功能部件周期內(nèi)爭(zhēng)用同一個(gè)功能部件 等待等待前面指令完成前面指令完成操作數(shù)操作數(shù)

47、的的讀或?qū)懽x或?qū)憽?由轉(zhuǎn)移指令引起由轉(zhuǎn)移指令引起 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 76 資源相關(guān) l多條指令在同一CPU周期內(nèi)爭(zhēng)用同一個(gè)段。 時(shí)鐘12345678 I1IFIDEXMEMWB I2IFIDEXMEMWB I3IFIDEXMEMWB I4IFIDEXMEMWB I5IFIDEXMEM I1和和I4同時(shí)訪存同時(shí)訪存 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 77 解決資源相關(guān)沖突的辦法解決資源相關(guān)沖突的辦法: l (1) (1) 第第I4I4條指令停頓一拍后再啟動(dòng);條指令停頓一拍后再啟動(dòng); l (2) (2) 增設(shè)一個(gè)存儲(chǔ)器,將指令和數(shù)據(jù)分別增設(shè)一個(gè)存儲(chǔ)器,將指令和數(shù)據(jù)分別 放在兩個(gè)存儲(chǔ)器中。放

48、在兩個(gè)存儲(chǔ)器中。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 78 數(shù)據(jù)相關(guān) l等待前面指令完成操作數(shù)的讀或?qū)憽?ADDR1,R2,R3;(R2)(R3)R1 SUBR4,R1,R5;(R1)(R5)R4 ANDR6,R1,R7;(R1)(R7)R6 時(shí)鐘12345678 ADDIFIDEXMEMWB SUBIFIDEXMEMWB ANDIFIDEXMEMWB T3讀讀R1 T4讀讀R1 T5寫寫R1 寫寫R1之前,之前,讀讀R1,錯(cuò)!,錯(cuò)! 寫寫R1之前,之前,讀讀R1,錯(cuò),錯(cuò)! 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 79 例4(1):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。 ADDR1,R2,R3;(R2)(R3)R

49、1 SUBR4,R1,R5;(R1)(R5)R4 正確:寫R1,然后讀R1。 實(shí)際:讀R1,然后寫R1。 這是寫后讀(RAW)相關(guān)。 時(shí)鐘時(shí)鐘T5T5,寫,寫 時(shí)鐘時(shí)鐘T3T3,讀,讀 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 80 例4(2):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。 STOM(x),R3;(R3)M(x) ADDR3,R4,R5;(R4)(R5)R3 正確:讀R3,然后寫R3。 實(shí)際:寫R3,然后讀R3。 這是讀后寫(WAR)相關(guān)。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 81 例4(3):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。 MULR3,R1,R2;(R1)(R2)R3 ADDR3,R4,R5;(R4

50、)(R5)R3 正確:寫R3,然后寫R3。 實(shí)際:寫R3,然后寫R3。 這是寫后寫(WAW)相關(guān)。 乘法時(shí)間遠(yuǎn)比加乘法時(shí)間遠(yuǎn)比加 法時(shí)間長(zhǎng)!法時(shí)間長(zhǎng)! 解決辦法:解決辦法: 可以推后后繼指令對(duì)相關(guān)單元的操作可以推后后繼指令對(duì)相關(guān)單元的操作 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 82 控制相關(guān) l緊跟轉(zhuǎn)移指令的后續(xù)指令要不要執(zhí)行? l確定要轉(zhuǎn)移時(shí),后面的一條或多條指令已進(jìn)入 流水線; l若流水線為k段,轉(zhuǎn)移指令與后面的k-1條指令 發(fā)生控制相關(guān)。 l為了減小轉(zhuǎn)移指令對(duì)流水線性能的影響,常用 以下兩種轉(zhuǎn)移處理技術(shù): (1)延遲轉(zhuǎn)移法 (2)轉(zhuǎn)移預(yù)測(cè)法 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 83 延遲轉(zhuǎn)移法 l如果

51、轉(zhuǎn)移指令之后的指令最終要執(zhí)行,而且它們 與轉(zhuǎn)移指令的結(jié)果無(wú)關(guān),則允許它們繼續(xù)前進(jìn)。 轉(zhuǎn)移指令轉(zhuǎn)移指令 S1S2S3S4S5S6S7S8 輸入輸入輸出輸出 b5 b4 b3 b2 b1 b b1 b2 轉(zhuǎn)移的目標(biāo)指令在轉(zhuǎn)移的目標(biāo)指令在b+5后送流水線后送流水線 延遲:不是時(shí)間延遲,而是指指令延遲:不是時(shí)間延遲,而是指指令 執(zhí)行順序上目標(biāo)指令被推延了。執(zhí)行順序上目標(biāo)指令被推延了。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 84 轉(zhuǎn)移預(yù)測(cè)法 l設(shè)置兩個(gè)指令隊(duì)列(指令cache)。 一個(gè)是轉(zhuǎn)移不成功時(shí)順序預(yù)取指令的隊(duì)列; 一個(gè)是轉(zhuǎn)移成功時(shí)從目標(biāo)地址預(yù)取指令的隊(duì)列。 l當(dāng)能確定轉(zhuǎn)移方向時(shí),直接從相應(yīng)隊(duì)列中取指 令。

52、 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 85 2021年6月25日7時(shí)43分 Pentium是Intel公司生產(chǎn)的超標(biāo)量流水處理器,早期使用5V工 作電壓,后期使用3.3V工作電壓。主要參數(shù)如下: l主頻:CPU的主頻時(shí)鐘頻率是CPU內(nèi)部的時(shí)鐘頻率,是CPU進(jìn)行運(yùn)算 時(shí)的工作頻率。一般來(lái)說(shuō),主頻越高,單位時(shí)間內(nèi)完成的指令數(shù) 也越多,CPU的運(yùn)算速度也就越快。例如Pentium III 667 l外頻:CPU的外部時(shí)鐘頻率指CPU與周邊設(shè)備傳輸數(shù)據(jù)的基準(zhǔn)頻率, 具體是指CPU到芯片組之間的總線速度。例如:60MHz、66MHz。 l倍頻:CPU的主頻與外頻之間存在著一個(gè)比值關(guān)系,這個(gè)比值就是 倍頻系數(shù),

53、簡(jiǎn)稱倍頻。倍頻可以從1.5一直到23以至更高 。例如: 4X l前端總線(FSB)頻率 :指的是CPU和北橋芯片間總線的速度(內(nèi) 存)也是外頻與倍頻的乘積。例如:1333 MHz l制作工藝:在生產(chǎn)CPU過(guò)程中,要進(jìn)行加工各種電路和電子元件, 制作工藝是指連接各個(gè)元器件電路的間距。通常其生產(chǎn)的精度以 微米和納米來(lái)表示,數(shù)值越小,生產(chǎn)工藝越先進(jìn)。集成度越高, CPU的功耗也越小。例如 32納米 5.7.4 Pentium CPU 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 86 2021年6月25日7時(shí)43分 lCPU內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是一個(gè)32位 微處理器。但它通向存儲(chǔ)器的外部數(shù)據(jù)總線寬

54、度為64位。 lCPU支持多種類型的總線周期,其中一種稱猝發(fā)模式,在 此模式下,可在一個(gè)總線周期內(nèi)讀出或與入256位(32字節(jié)) 的數(shù)據(jù)。 lCPU外部地址總線寬度是36位,但一般使用32位寬,故物 理地址空間為4096MB(4GB)。 lCPU內(nèi)部分別設(shè)置指令cache和數(shù)據(jù)cache,外部還可接 L2cache。CPU采用U,V兩條指令流水線,能在一個(gè)時(shí)鐘周 期內(nèi)發(fā)射兩條簡(jiǎn)單的整數(shù)指令,也可發(fā)射一條浮點(diǎn)指令。 l操作控制器采用硬布線控制和微程序控制相結(jié)合的方式。 大多數(shù)簡(jiǎn)單指令用硬布線控制實(shí)現(xiàn),在一個(gè)時(shí)鐘周期內(nèi)執(zhí) 行完畢。對(duì)微程序?qū)崿F(xiàn)的指令,也在23個(gè)時(shí)鐘周期內(nèi)執(zhí) 行完畢。 計(jì)算機(jī)組成原理

55、計(jì)算機(jī)組成原理 87 2021年6月25日7時(shí)43分 l具有非固定長(zhǎng)度的指令格式 l9種尋址方式,191條指令但是在每個(gè) 時(shí)鐘周期又能執(zhí)行兩條指令。 l因此它具有CISC和RlSC兩者的特性, 不過(guò)具有的CISC特性更多一些,因此 被看成為一個(gè)CISC結(jié)構(gòu)的處理器。以 CISC結(jié)構(gòu)實(shí)現(xiàn)超標(biāo)量流水線. Pentium指令集 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 88 2021年6月25日7時(shí)43分 (1)超標(biāo)量流水線 (2)指令cache和數(shù)據(jù)cache (3)浮點(diǎn)運(yùn)算部件 (4)動(dòng)態(tài)轉(zhuǎn)移預(yù)測(cè)技術(shù) 奔騰CPU的結(jié)構(gòu)(請(qǐng)參見教材)。其特點(diǎn): 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 89 3.pentium4 CPU

56、 u是對(duì)pentium CPU 進(jìn)一步改進(jìn)和發(fā)展。 u處理器以靜態(tài)程序的順序由存儲(chǔ)器取指令 u每條指令譯成一個(gè)或多個(gè)定長(zhǎng)的RISC指令,實(shí)際上 是微指令 u采用20段的超標(biāo)量流水線 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 90 2021年6月25日7時(shí)43分 5.8 RISC CPU RISC的三個(gè)要素是: l(1)一個(gè)有限的簡(jiǎn)單的指令集; l(2)CPU配備大量的通用寄存器; l(3)強(qiáng)調(diào)對(duì)指令流水線的優(yōu)化。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 91 2021年6月25日7時(shí)43分 基于三要素的RISC機(jī)器的特征是: l(1)使用等長(zhǎng)指令,目前的典型長(zhǎng)度是4個(gè)字節(jié)。 l(2)尋址方式少且簡(jiǎn)單,一般為23種,

57、最多不超 過(guò)4種,絕不出現(xiàn)存儲(chǔ)器間接尋址方式。 l(3)只有取數(shù)指令、存數(shù)指令訪問(wèn)存儲(chǔ)器。指令中 最多出現(xiàn)RS型指令,絕不出現(xiàn)SS型指令。 l(4)指令集中的指令數(shù)目一般少于100種,指令格 式一般少于4種。 l(5)指令功能簡(jiǎn)單,控制器多采用硬布線方式,以 期更快的執(zhí)行速度。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 92 2021年6月25日7時(shí)43分 l(6)平均而言,所有指令的執(zhí)行時(shí)間為一個(gè)處理 時(shí)鐘周期。 l(7)指令格式中用于指派整數(shù)寄存器的個(gè)數(shù)不少 于32個(gè),用于指派浮點(diǎn)數(shù)寄存器的個(gè)數(shù)不少于 16個(gè)。 l(8)強(qiáng)調(diào)通用寄存器資源的優(yōu)化使用。 l(9)支持指令流水并強(qiáng)調(diào)指令流水的優(yōu)化使用。 l

58、(10)RlSC技術(shù)的復(fù)雜性于它的編譯程序,因此 軟件系統(tǒng)開發(fā)時(shí)間比CISC機(jī)器長(zhǎng)。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 93 RISC 簡(jiǎn)單,精簡(jiǎn) 一般小于100 一般小于4 一般小于4 比較內(nèi)容 指令系統(tǒng) 指令數(shù)目 指令格式 尋址方式 指令字長(zhǎng) CISC 復(fù)雜,龐大 一般大于200 一般大于4 一般大于4 不固定等長(zhǎng) 只有LOAD/STORE指令 相差不大 絕大多數(shù)在一個(gè)周期內(nèi)完成 較容易 較長(zhǎng) 絕大多數(shù)為硬布線控制 可訪存指令 各種指令使用頻率 各種指令執(zhí)行時(shí)間 優(yōu)化編譯實(shí)現(xiàn) 程序源代碼長(zhǎng)度 控制器實(shí)現(xiàn)方式 軟件系統(tǒng)開發(fā)時(shí)間 不加限制 相差很大 相差很大 很難 較短 絕大多數(shù)為微程序控制 較短

59、較長(zhǎng) RISC與CISC的主要特征對(duì)比 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 94 5.8.2 RISC CPU實(shí)例 MC 88110 CPU 1. MC 88110 CPU結(jié)構(gòu)框圖結(jié)構(gòu)框圖 MC88110CPU是一個(gè)RISC處理器。處理 器有12個(gè)執(zhí)行功能部件,3個(gè)cache和1個(gè)控制 部件。其結(jié)構(gòu)框圖如下所示。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 95 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 96 2. MC 88110的指令流水線 由于MC88110是超標(biāo)量流水CPU,所以 指令流水線在每個(gè)機(jī)器時(shí)鐘周期完成兩條指 令。流水線共分為三段:取指和譯碼取指和譯碼(FD) 段、執(zhí)行段、執(zhí)行(EX)段、寫回段、寫回(WB

60、)段段。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 97 3. 指令動(dòng)態(tài)調(diào)度策略 88110采用按序發(fā)射、按序完成按序發(fā)射、按序完成的指令動(dòng)態(tài)調(diào)度 策略,其策略步驟如下: 1. 指令派遣單元總是發(fā)出單一地址,然后從指令cache 取出此地址及下一地址的兩條指令。 2. 譯碼后總是力圖同一時(shí)間發(fā)射這兩條指令到EX段。 若這對(duì)指令的第一條指令由于資源沖突或數(shù)據(jù)相關(guān) 沖突,則這一對(duì)指令都不發(fā)射,兩條指令在FD段 停頓等待資源的可用或數(shù)據(jù)相關(guān)的消除。 3. 若是第一條指令能發(fā)射第二條指令不能發(fā)射則只發(fā) 射第一條指令,而第二條指令停頓并與新取的指令 之一進(jìn)行配對(duì)發(fā)射,此時(shí)原第二條指令作為配對(duì)的 第一條指令對(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)論