白中英第五版計(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ī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第5 5章章 中央處理器中央處理器 5.1 CPU的組成和功能5.7 流水CPU 5.2 指令周期5.8 RISC CPU5.3 時(shí)序產(chǎn)生器和控制方式5.9 多媒體CPU 5.4 微程序控制器 5.5 硬連線線控制器5.6 傳統(tǒng)CPU計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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ī)自動(dòng)完成取出指令和執(zhí)行指令任

2、務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱為任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通常簡(jiǎn)稱為CPU(Central Processing Unit)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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ù)加工數(shù)據(jù)加工 對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)

3、算處理對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理控控制制器器運(yùn)運(yùn)算算器器計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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)算器、cache和和控制器控制器三大部分組成。三大部分組成。計(jì)算機(jī)組成原理計(jì)算

4、機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理暫時(shí)存放由內(nèi)存讀出或暫時(shí)存放由內(nèi)存讀出或?qū)懭氲臄?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ū)。即存放提供一個(gè)工作區(qū)。即存放ALU運(yùn)算的操作數(shù)和結(jié)果信息。運(yùn)算的操作數(shù)和結(jié)果信息。保存數(shù)據(jù)保存數(shù)據(jù)保存指令保存指令計(jì)算機(jī)組

5、成原理計(jì)算機(jī)組成原理5.1.35.1.3CPUCPU中的主要寄存器中的主要寄存器 數(shù)據(jù)緩沖寄存器(DR)暫時(shí)存放由內(nèi)存讀出或?qū)懭氲臄?shù)據(jù)指令寄存器(IR)保存當(dāng)前正在執(zhí)行的一條指令程序計(jì)數(shù)器(PC)確定下一條指令的地址地址寄存器(AR)保存當(dāng)前CPU所訪問(wèn)的內(nèi)存單元的地址通用寄存器(R0R3)為ALU提供一個(gè)工作區(qū)。即存放ALU運(yùn)算的操作數(shù)和結(jié)果信息。 狀態(tài)條件寄存器(PSW)保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼,如運(yùn)算結(jié)果進(jìn)位標(biāo)志C,運(yùn)算結(jié)果溢出標(biāo)志V等等。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.1.4 5.1.4 操作控制器與時(shí)序產(chǎn)生器操作控制器與時(shí)序產(chǎn)生器 數(shù)據(jù)通路: 是許多寄存器之間傳送信

6、息的通路。操作控制器的功能: 根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。根據(jù)設(shè)計(jì)方法不同,操作控制器可分為: 硬布線控制器微程序控制器時(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ī)組成原理5.25.2 指令周期指令周期 l5.2.1 指令周期的基本概念l5.2.2 MOV指令的指令周期l5.2.3 LAD指令的指令周期l5.2.4 ADD指令的指令周期l5.2.5 STO指令的指令周期l5.2.6 JMP指令的指令周期l5.2.7 用方框

7、圖語(yǔ)言表示指令周期計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.25.2 指令周期指令周期 指令的執(zhí)行過(guò)程指令的執(zhí)行過(guò)程取指令執(zhí)行指令開(kāi)始開(kāi)始計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.2.1 5.2.1 指令周期的基本概念指令周期的基本概念 指令周期指令周期 : : CPUCPU取出并執(zhí)行一條指令的時(shí)間。取出并執(zhí)行一條指令的時(shí)間。取指時(shí)間執(zhí)行指令時(shí)間取指時(shí)間執(zhí)行指令時(shí)間 CPU CPU周期周期 : : CPUCPU從指存讀取一條指令字所需的最短時(shí)間,又稱從指存讀取一條指令字所需的最短時(shí)間,又稱機(jī)器周期(總線周期)機(jī)器周期(總線周期) 。 時(shí)鐘周期時(shí)鐘周期 : : 通常稱為通常稱為節(jié)拍脈沖節(jié)拍脈沖或或T T周期周期。一

8、個(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ī)組成原理101MOVR0,R1;(R1)R0102LADR1,6;(6)R1103ADDR1,R2;(R1)+(R2)R2104STOR2,(R3);R2(R3)105JMP101;101PC106ANDR1,R3 61005 5條典型指令構(gòu)成的簡(jiǎn)單程序

9、條典型指令構(gòu)成的簡(jiǎn)單程序指令地址指令地址 指令助記符指令助記符計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期MOV R0, R1是一條RR指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理MOVMOV指令的指令周期指令的指令周期取指取指 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理MOVMOV指令的指令周期指令的指令周期執(zhí)行執(zhí)行 play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.2.3 LADLAD指令的指令周期指令的指令周期一個(gè)CPU周期 一個(gè)CPU周期取指令階段取指令階段執(zhí)行指令階段執(zhí)行指令階段開(kāi)始開(kāi)始取指令取指令PC+1對(duì)指令對(duì)指令譯碼譯碼送操作送操作數(shù)地址數(shù)地址取下條指令取下條指令P

10、C+1取出操取出操作數(shù)作數(shù)裝入通用裝入通用寄存器寄存器一個(gè)CPU周期LAD R1, 6是一條RS指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理LADLAD指令的指令周期指令的指令周期執(zhí)行執(zhí)行 play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.2.45.2.4 ADDADD指令的指令周期指令的指令周期ADD R1, R2是一條RR指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理ADDADD指令的指令周期指令的指令周期執(zhí)行執(zhí)行 play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.2.5 5.2.5 STOSTO指令的指令周期指令的指令周期STO R2, (R3)是一條RS指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.2.6

11、5.2.6 JMP JMP指令的指令周期指令的指令周期JMP 101計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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:地址總

12、線:地址總線DBUS:數(shù)據(jù)總線:數(shù)據(jù)總線IBUS:指令總線:指令總線計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理【例1】下圖所示為雙總線結(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的功能,畫(huà)出其指令周期流程圖(設(shè)指令地址已放入PC中)

13、,并列出相應(yīng)的微操作控制信號(hào)序列。(2)“SUBR1,R3”指令完成(R3)-(R1)R3的操作,畫(huà)出其指令期流程圖,并列出相應(yīng)的微操作控制信號(hào)序列。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理PCo,G,ARiPCARMDRDRIRR2YR0XY+XR0R/W=RDRo,G,IRiR2o,G,YiR0o,G,Xi+,G,R0i取指(1)加法“ADDR2,R0”PCo,G,ARiPCARMDRDRIRR3YR1XYXR3R/W=RDRo,G,IRiR3o,G,YiR1o,G,Xi,G,R3i(2)減法“SUBR1,R3”計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.35.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式 l5

14、.3.1 時(shí)序信號(hào)的作用和體制l5.3.2 時(shí)序信號(hào)產(chǎn)生器l5.3.3 控制方式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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ī)組

15、成原理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開(kāi)始取指令并執(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ī)組成原理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ì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而時(shí)間標(biāo)

16、志則用時(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ī)組成原理 IORQ MREQ RD WE T1 T2 T3 T4 IORQ MREQ RD WE T1 T2 T3 T4MERQIORQRDWR 提供頻率穩(wěn)定且電平匹配提供頻率穩(wěn)定且電平匹配的方波時(shí)鐘脈沖信號(hào)的方波時(shí)鐘脈沖信號(hào) 由石英晶體

17、振蕩器組成由石英晶體振蕩器組成產(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é)拍脈沖和讀寫時(shí)序信號(hào)的發(fā)送。啟動(dòng)狀態(tài),輸出出CPU真正需要的節(jié)拍脈沖和讀寫時(shí)序信號(hào)真正需

18、要的節(jié)拍脈沖和讀寫時(shí)序信號(hào)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理CPUCPU周期周期CPUCPU周期周期節(jié)節(jié)拍拍脈脈沖沖信信號(hào)號(hào)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理啟??刂七壿媶⑼?刂七壿?運(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é)拍脈沖前沿開(kāi)始工作。前沿開(kāi)始工作。 停機(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ī)組成原理5.3.35.3.3控制方式控制方式 控制器的控制方式:控制不同操作序列時(shí)序信號(hào)的方法。1. 1. 同步控制方式同步控制方式已定的指令在執(zhí)行時(shí)所需的已定的指令在執(zhí)行

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

20、制結(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ī)組成原理5.4 5.4 微程序控制器微程序控制器l發(fā)展發(fā)展微程序的概念和原理是由英國(guó)劍橋大學(xué)的微程序的概念和原理是由英國(guó)劍橋大學(xué)的MVWilkesMVWilkes教教授于授于19511951

21、年在曼徹斯特大學(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)用。目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)目前,從大型機(jī)到小型機(jī)、微型機(jī)都普遍采用了微程序設(shè)計(jì)技術(shù)。計(jì)技術(shù)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.4 5.4 微程序控制器微程序控制器 利用利用軟件方法軟

22、件方法(微程序設(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ì)算機(jī)組成原理5.4 5.4 微程序控制器微程序控制器l5.4.1 微程序控制原理l5.4.2 微程序設(shè)計(jì)技術(shù) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理控制器運(yùn)算器、存儲(chǔ)器、外圍設(shè)備(IO設(shè)備)1 1 微命令和微操作微命令和微操作 l數(shù)

23、字計(jì)算機(jī)可以分為:控制部件和執(zhí)行部件控制器IO設(shè)備主存運(yùn)算器+WRReadyV控制線狀態(tài)線控制部件與執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系。控制部件與執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系。微命令微命令微操作微操作微操作微操作微操作微操作計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.4.1 5.4.1 微命令和微操作微命令和微操作 微命令:微命令:控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制命令??刂泼睢?微操作:微操作:執(zhí)行部件接受微命令后所進(jìn)行的操作。執(zhí)行部件接受微命令后所進(jìn)行的操作。 微操作可分為微操作可分為相容性相容性和和相斥性相斥性兩種。兩種。在同時(shí)或同一個(gè)在同時(shí)

24、或同一個(gè)CPUCPU周期周期內(nèi)可以并行執(zhí)行的微操作內(nèi)可以并行執(zhí)行的微操作不能在同時(shí)或同一個(gè)不能在同時(shí)或同一個(gè)CPUCPU周期內(nèi)并行執(zhí)行的微操作周期內(nèi)并行執(zhí)行的微操作 ALU的的“+”、“”、“M”(傳送)為互斥微操(傳送)為互斥微操作。作。 通常,只有通常,只有不同不同部件上的微操作,才可能相容!部件上的微操作,才可能相容!計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.4.1 5.4.1 微命令和微操作微命令和微操作相斥性相斥性進(jìn)位觸發(fā)器進(jìn)位觸發(fā)器多路開(kāi)關(guān)的多路開(kāi)關(guān)的控制信號(hào)控制信號(hào)相斥性相斥性時(shí)鐘輸入時(shí)鐘輸入相容性相容性play計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2 2微指令和微程序微指令和微程序 l微指令:在一

25、個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合。 l微程序:實(shí)現(xiàn)一條機(jī)器指令功能的許多條微指令組成的序列。 指令系統(tǒng)所有指令;指令系統(tǒng)所有指令;指令微程序;指令微程序;微程序若干微指令;微程序若干微指令;微指令一組微命令;微指令一組微命令;微命令微命令微操作微操作nn22n2n21111微程序機(jī)器指令微程序機(jī)器指令微指令微指令完成一組微操作)微命令、微命令(微命令微指令微程序機(jī)器指令程序計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理微指令的格式發(fā)出控制全機(jī)工作的控制信號(hào)。發(fā)出控制全機(jī)工作的控制信號(hào)。 每一位表示一個(gè)微命令。每一位表示一個(gè)微命令。 “ “1” 1” 發(fā)出微命令;發(fā)出微命令; “0” 0” 不發(fā)

26、出微命令。不發(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ī)組成原理微程序控制器原理框圖微程序控制器原理框圖 l微程序控制器主要由控制存儲(chǔ)器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。 play 只讀存儲(chǔ)器只讀存儲(chǔ)器 存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序。存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序。決定將要訪問(wèn)的下決定將要訪問(wèn)的下一條微指令的地址一條微指令的地址保存一條微指令的操作控制保存一條微指令的操作控制字段和判別測(cè)試字段的信息字段和判別測(cè)試字段的信息存放由控制存儲(chǔ)器讀出的一條微指令信息。存

27、放由控制存儲(chǔ)器讀出的一條微指令信息。分為微地址寄存器和微命令寄存器兩部分。分為微地址寄存器和微命令寄存器兩部分。通過(guò)判別測(cè)試字段通過(guò)判別測(cè)試字段P和和執(zhí)行部件的執(zhí)行部件的“狀態(tài)條狀態(tài)條件件”反饋信息,修改反饋信息,修改微地址寄存器的內(nèi)容微地址寄存器的內(nèi)容計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理微程序舉例微程序舉例十進(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é)果減

28、,結(jié)果減6。取指取指判別測(cè)試,修改微判別測(cè)試,修改微地址寄存器內(nèi)容地址寄存器內(nèi)容abab6測(cè)試進(jìn)位測(cè)試進(jìn)位標(biāo)志標(biāo)志Cyab66計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 第一條微指令的二進(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ī)組成原理5.4.4 5.4.4 微程序舉例微程序舉例第二條微指令的二進(jìn)制編碼是01010010010000000001001為完成R1R2R2微指令有4個(gè)微

29、命令構(gòu)成:第4位發(fā)出R1X第7位發(fā)出R2Y第10位發(fā)出R1R2第2位發(fā)出結(jié)果寫回R2下一條微指令地址為1001計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第三條微指令的二進(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ī)組成原理Cy0執(zhí)行第四條微指令01000100100100000000000為完成R2R3R2微指令有5個(gè)微命令構(gòu)成:第6位發(fā)出R2

30、X第9位發(fā)出R3Y第12位發(fā)出R2R3第2位發(fā)出結(jié)果寫回R2下一條微指令地址為0000計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理CPUCPU周期與微指令周期的關(guān)系周期與微指令周期的關(guān)系 微指令周期 = 讀出微指令的時(shí)間 + 執(zhí)行該條微指令的時(shí)間 =1=1個(gè)個(gè)cpu周期圖圖5.26 CPU周期與微指令周期的關(guān)系周期與微指令周期的關(guān)系T4T3T2T1微指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理機(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è)

31、CPU周期對(duì)應(yīng)一條微指令。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理程序計(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ī)組成原理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的容量的容量有利于提高微程序的執(zhí)行速度有利于提高微程序的執(zhí)

32、行速度有利于對(duì)微指令的修改有利于對(duì)微指令的修改有利于提高微程序設(shè)計(jì)的靈活性有利于提高微程序設(shè)計(jì)的靈活性計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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)度。缺點(diǎn):字段需譯碼,才得到微命令信號(hào)缺點(diǎn):字段需譯碼,才得到微命令信號(hào)字段1字段

33、2 P字段下地址譯碼譯碼譯碼 微命令微命令 微命令微命令 P1 Pn直接表示和編碼表直接表示和編碼表示相結(jié)合示相結(jié)合1.1.微命令編碼微命令編碼操作控制字段采用的表示方法操作控制字段采用的表示方法計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2 2 微地址的形成方法微地址的形成方法l計(jì)數(shù)器方式l多路轉(zhuǎn)移方式 微地址寄存器有計(jì)數(shù)器功能。微地址寄存器有計(jì)數(shù)器功能。 順序執(zhí)行的微指令序列必須在控制存儲(chǔ)順序執(zhí)行的微指令序列必須在控制存儲(chǔ)器的連續(xù)單元中。器的連續(xù)單元中。 微指令的微指令的P字段中,某位為字段中,某位為1 ,就要修,就要修改改“下地址下地址”字段,產(chǎn)生正確的下地址。字段,產(chǎn)生正確的下地址。 P字段有字段有n

34、位,可產(chǎn)生位,可產(chǎn)生2n路轉(zhuǎn)移。路轉(zhuǎn)移。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3 3 微指令格式微指令格式l水平型微指令l垂直型微指令控制字段控制字段判別測(cè)試字段判別測(cè)試字段下地址字段下地址字段全水平型微指令全水平型微指令字段譯碼法水平型微指令字段譯碼法水平型微指令直接和譯碼相混合的水平型微指令直接和譯碼相混合的水平型微指令一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令一次能定義并執(zhí)行多個(gè)并行操作微命令的微指令類似機(jī)器指令的格式,例RR傳送型微指令:微操作碼經(jīng)譯碼,得到微命令。000源寄存器編址源寄存器編址目標(biāo)寄存器編址目標(biāo)寄存器編址其他其他15 13 12 8 7 3 2 0計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3

35、. 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ī)組成原理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ī)器指令只有一組

36、微程序,而且這一組微程序設(shè)計(jì)好之后,一般無(wú)須改變而且也不好改變,這種微程序設(shè)計(jì)技術(shù)稱為靜態(tài)微程序設(shè)計(jì)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理當(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ī)器指令系統(tǒng)仿真其他機(jī)器指令系統(tǒng),以便擴(kuò)大機(jī)器的功能。4 動(dòng)態(tài)微程序設(shè)計(jì)動(dòng)態(tài)微程序設(shè)計(jì) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.5 硬布線控制器l電子計(jì)算機(jī)誕生后,控制器采用硬布線實(shí)現(xiàn)。l基本思想:某一微操作控制信號(hào)是指令操作碼譯碼

37、輸出、時(shí)序信號(hào)和狀態(tài)條件信號(hào)的邏輯函數(shù),即用布爾代數(shù)寫出邏輯表達(dá)式,然后用門電路和觸發(fā)器等器件實(shí)現(xiàn)。 l非常復(fù)雜!l增加一條指令,需要重新設(shè)計(jì)整個(gè)硬布線邏輯電路。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理硬布線控制器的結(jié)構(gòu)方框圖硬布線控制器的結(jié)構(gòu)方框圖C = f ( Im, Bi, Tk, Mi ) immjkinIBTMC)(硬布線,需要很硬布線,需要很強(qiáng)的數(shù)理邏輯電強(qiáng)的數(shù)理邏輯電路設(shè)計(jì)技術(shù)!路設(shè)計(jì)技術(shù)!圖5.31硬布線控制器結(jié)構(gòu)方框圖計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.7 流水CPUl5.7.1 并行處理技術(shù)l5.7.2 流水CPU的結(jié)構(gòu)l5.7.3 流水線中的主要問(wèn)題l5.7.4 奔騰CPU計(jì)算機(jī)組成原理

38、計(jì)算機(jī)組成原理并行性的兩種含義l同時(shí)性兩個(gè)或多個(gè)事件同時(shí)發(fā)生。l并發(fā)性兩個(gè)或多個(gè)事件在同一時(shí)段內(nèi)先后發(fā)生。事件事件1 1事件事件2 2事件事件1 1事件事件2 2t計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理并行處理的三種形式時(shí)間并行空間并行時(shí)間并行+空間并行流水流水CPUCPU是以時(shí)間并行性為原理構(gòu)造的處理器是以時(shí)間并行性為原理構(gòu)造的處理器計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理1. 時(shí)間并行時(shí)間并行時(shí)間并行指時(shí)間重疊,在并行性概念中引入時(shí)間因素,讓多個(gè)處理過(guò)程在時(shí)間上相互錯(cuò)開(kāi),輪流重疊地使用同一套硬件設(shè)備的各個(gè)部分,以加快硬件周轉(zhuǎn)而贏得速度。時(shí)間并行性概念的實(shí)現(xiàn)方式就是采用流流水處理部件水處理部件。這是一種非常經(jīng)濟(jì)而

39、實(shí)用的并行技術(shù),能保證計(jì)算機(jī)系統(tǒng)具有較高的性能價(jià)格比。目前的高性能微型機(jī)幾乎無(wú)一例外地使用了流水技術(shù)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2. 空間并行空間并行空間并行指資源重復(fù),在并行性概念中引入空間因素,以“數(shù)量取勝”為原則來(lái)大幅度提高計(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ī)組成原理流水計(jì)算機(jī)的系統(tǒng)組成多體交叉存儲(chǔ)器多體交叉存儲(chǔ)

40、器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取指令取指令指令譯碼指令譯碼計(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ī)組成原理流水線的表示法連接圖l用方框表示過(guò)程段,箭頭表示段間數(shù)據(jù)傳送。l以指令流水線為例,l段間有緩沖寄存器,暫存前一段的結(jié)果;l一個(gè)流水線由一系列串聯(lián)的過(guò)程段組成。S2S3S4S1IFIDEXWB入入出出計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理非流水的指令

41、流水線8 8時(shí)鐘后,完成時(shí)鐘后,完成2 2條指令。條指令。I1I2I1I2I1I2I1I2空間空間IFIFIDIDEXEXWBWB時(shí)間時(shí)間12345678時(shí)空?qǐng)D時(shí)空?qǐng)D橫軸表示時(shí)間,縱軸表示空間。橫軸表示時(shí)間,縱軸表示空間。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理標(biāo)量流水線標(biāo)量流水線l假設(shè)連續(xù)5條指令進(jìn)入流水線I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5I1I2I3I4I5空間空間IFIFIDIDEXEXWBWB時(shí)間時(shí)間123456788 8時(shí)鐘后,完成時(shí)鐘后,完成5 5條指令。條指令。裝滿時(shí)間裝滿時(shí)間排空時(shí)間排空時(shí)間S2S3S4S1IFIDEXWB入入出出計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理什么是

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

43、ay計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理流水線分類l算術(shù)流水線流水加法器、流水乘法器、流水浮點(diǎn)加法器。l指令流水線包括“取指”、“譯碼”、“取操作數(shù)”、“執(zhí)行”、“寫回”等過(guò)程段。l處理機(jī)流水線(宏流水線)出出入入CPU1CPU2CPUm程序程序1程序程序2程序程序m計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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ù)的的讀或?qū)懽x或?qū)?。由轉(zhuǎn)移指令引起由轉(zhuǎn)移指令引起 計(jì)算機(jī)組成原理計(jì)算

44、機(jī)組成原理資源相關(guān)l多條指令在同一CPU周期內(nèi)爭(zhēng)用同一個(gè)段。時(shí)鐘12345678I1IFIDEXMEMWBI2IFIDEXMEMWBI3IFIDEXMEMWBI4IFIDEXMEMWBI5IFIDEXMEMI1和和I4同時(shí)訪存同時(shí)訪存計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理解決資源相關(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ǔ)器中。放在兩個(gè)存儲(chǔ)器中。 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理數(shù)據(jù)相關(guān)l等待前面指令完成操作數(shù)的讀或?qū)憽DDR1,R2,R

45、3;(R2)(R3)R1SUBR4,R1,R5;(R1)(R5)R4ANDR6,R1,R7;(R1)(R7)R6時(shí)鐘12345678ADDIFIDEXMEMWBSUBIFIDEXMEMWBANDIFIDEXMEMWBT3讀讀R1T4讀讀R1T5寫寫R1 寫寫R1之前,之前,讀讀R1,錯(cuò)!,錯(cuò)! 寫寫R1之前,之前,讀讀R1,錯(cuò),錯(cuò)!計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理例4(1):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。ADDR1,R2,R3;(R2)(R3)R1SUBR4,R1,R5;(R1)(R5)R4正確:寫R1,然后讀R1。實(shí)際:讀R1,然后寫R1。這是寫后讀(RAW)相關(guān)。時(shí)鐘時(shí)鐘T5T5,寫,寫時(shí)

46、鐘時(shí)鐘T3T3,讀,讀計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理例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ī)組成原理例4(3):判斷下面兩條指令中的數(shù)據(jù)相關(guān)類型。MULR3,R1,R2;(R1)(R2)R3ADDR3,R4,R5;(R4)(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)單元的操作可以

47、推后后繼指令對(duì)相關(guān)單元的操作計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理控制相關(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ī)組成原理延遲轉(zhuǎn)移法l如果轉(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后送流水線后送流水線延

48、遲:不是時(shí)間延遲,而是指指令延遲:不是時(shí)間延遲,而是指指令執(zhí)行順序上目標(biāo)指令被推延了。執(zhí)行順序上目標(biāo)指令被推延了。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理轉(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ì)列中取指令。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2022年3月14日16時(shí)57分 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ō),主頻越高,單位

49、時(shí)間內(nèi)完成的指令數(shù)也越多,CPU的運(yùn)算速度也就越快。例如Pentium III 667l外頻:CPU的外部時(shí)鐘頻率指CPU與周邊設(shè)備傳輸數(shù)據(jù)的基準(zhǔn)頻率,具體是指CPU到芯片組之間的總線速度。例如:60MHz、66MHz。l倍頻:CPU的主頻與外頻之間存在著一個(gè)比值關(guān)系,這個(gè)比值就是倍頻系數(shù),簡(jiǎn)稱倍頻。倍頻可以從1.5一直到23以至更高 。例如:4Xl前端總線(FSB)頻率 :指的是CPU和北橋芯片間總線的速度(內(nèi)存)也是外頻與倍頻的乘積。例如:1333 MHzl制作工藝:在生產(chǎn)CPU過(guò)程中,要進(jìn)行加工各種電路和電子元件,制作工藝是指連接各個(gè)元器件電路的間距。通常其生產(chǎn)的精度以微米和納米來(lái)表示,

50、數(shù)值越小,生產(chǎn)工藝越先進(jìn)。集成度越高,CPU的功耗也越小。例如 32納米5.7.4 Pentium CPU計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2022年3月14日16時(shí)57分lCPU內(nèi)部的主要寄存器寬度為32位,故認(rèn)為它是一個(gè)32位微處理器。但它通向存儲(chǔ)器的外部數(shù)據(jù)總線寬度為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兩條指令流水線,

51、能在一個(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ī)組成原理計(jì)算機(jī)組成原理2022年3月14日16時(shí)57分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ī)組成原理2022年3月14日16時(shí)57分(

52、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)參見(jiàn)教材)。其特點(diǎn):計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.pentium4 CPUu是對(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ī)組成原理2022年3月14日16時(shí)57分5.8 RISC CPURISC的三個(gè)要素是:l(1)一個(gè)有限的簡(jiǎn)單的指令集;l(2)CPU配備大量的通用寄存器;l(3)強(qiáng)調(diào)對(duì)指令流水線的優(yōu)化。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理20

53、22年3月14日16時(shí)57分基于三要素的RISC機(jī)器的特征是:l(1)使用等長(zhǎng)指令,目前的典型長(zhǎng)度是4個(gè)字節(jié)。l(2)尋址方式少且簡(jiǎn)單,一般為23種,最多不超過(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ī)組成原理2022年3月14日16時(shí)57分l(6)平均而言,所有指令的執(zhí)行時(shí)間為一個(gè)處理時(shí)鐘周期。 l(7)指令格式中用于指派整數(shù)寄存器的個(gè)數(shù)不少于32個(gè),用于指

54、派浮點(diǎn)數(shù)寄存器的個(gè)數(shù)不少于16個(gè)。 l(8)強(qiáng)調(diào)通用寄存器資源的優(yōu)化使用。 l(9)支持指令流水并強(qiáng)調(diào)指令流水的優(yōu)化使用。 l(10)RlSC技術(shù)的復(fù)雜性于它的編譯程序,因此軟件系統(tǒng)開(kāi)發(fā)時(shí)間比CISC機(jī)器長(zhǎng)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理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)開(kāi)發(fā)時(shí)間不加限制相差很

55、大相差很大很難較短絕大多數(shù)為微程序控制較短較長(zhǎng)RISC與CISC的主要特征對(duì)比計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5.8.2 RISC CPU實(shí)例 MC 88110 CPU1. 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ī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理2. MC 88110的指令流水線由于MC88110是超標(biāo)量流水CPU,所以指令流水線在每個(gè)機(jī)器時(shí)鐘周期完成兩條指令。流水線共分為三段:取指和譯碼取指和譯碼(FD)段、執(zhí)行段、執(zhí)行(EX)段、寫回段、寫回(WB)段

56、段。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3. 指令動(dòng)態(tài)調(diào)度策略88110采用按序發(fā)射、按序完成按序發(fā)射、按序完成的指令動(dòng)態(tài)調(diào)度策略,其策略步驟如下:指令派遣單元總是發(fā)出單一地址,然后從指令cache取出此地址及下一地址的兩條指令。譯碼后總是力圖同一時(shí)間發(fā)射這兩條指令到EX段。若這對(duì)指令的第一條指令由于資源沖突或數(shù)據(jù)相關(guān)沖突,則這一對(duì)指令都不發(fā)射,兩條指令在FD段停頓等待資源的可用或數(shù)據(jù)相關(guān)的消除。1. 若是第一條指令能發(fā)射第二條指令不能發(fā)射則只發(fā)射第一條指令,而第二條指令停頓并與新取的指令之一進(jìn)行配對(duì)發(fā)射,此時(shí)原第二條指令作為配對(duì)的第一條指令對(duì)待。這樣的方式是按序發(fā)射。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理l例例5.5.超標(biāo)度為超標(biāo)度為2 2的超標(biāo)量流水線結(jié)構(gòu)模型如圖的超標(biāo)量流水線結(jié)構(gòu)模型如圖5.39(a)5.39(a)所示。它分為所示。它分為4 4個(gè)段,即取指?jìng)€(gè)段,即取指(F)(F)段、段、 譯碼譯碼(D)(D)段、段、執(zhí)行執(zhí)行(E)(E)段和寫回段和寫回(W)(W)段。段。F F,D D,W W 段只需段只需1 1個(gè)時(shí)鐘周個(gè)時(shí)鐘周期完成。期完成。E E段有多個(gè)功能部件,其中段有多個(gè)功能部

溫馨提示

  • 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)論