計(jì)算機(jī)組成原理第五章課件(白中英版)完整版_第1頁
計(jì)算機(jī)組成原理第五章課件(白中英版)完整版_第2頁
計(jì)算機(jī)組成原理第五章課件(白中英版)完整版_第3頁
計(jì)算機(jī)組成原理第五章課件(白中英版)完整版_第4頁
計(jì)算機(jī)組成原理第五章課件(白中英版)完整版_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理 第5章 中央處理器 5.1 CPU5.1 CPU的組成和功能的組成和功能5.8 5.8 流水流水CPUCPU 5.25.2 指令周期指令周期5.9 RISC CPU5.9 RISC CPU 5.3 5.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式5.10 5.10 多媒體多媒體CPUCPU 5 5.4 .4 微程序控制器微程序控制器5.11 CPU5.11 CPU性能評價(jià)性能評價(jià) 5.5 5.5 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) 5.6 5.6 硬布線控制器硬布線控制器 5.7 5.7 傳統(tǒng)傳統(tǒng)CPUCPU 5.1 CPU的功能和組成的功能和組成 當(dāng)代主流計(jì)算機(jī)所遵

2、循的仍然是當(dāng)代主流計(jì)算機(jī)所遵循的仍然是馮馮. .諾依曼諾依曼的的 “存儲程序、程序控制存儲程序、程序控制”思想思想 程序告訴計(jì)算機(jī):程序告訴計(jì)算機(jī):應(yīng)該逐步執(zhí)行什么操作;在應(yīng)該逐步執(zhí)行什么操作;在 什么地方找到用來操作的數(shù)據(jù),結(jié)果存到何處什么地方找到用來操作的數(shù)據(jù),結(jié)果存到何處等等 中央處理器是控制計(jì)算機(jī)自動(dòng)完成取出指令和中央處理器是控制計(jì)算機(jī)自動(dòng)完成取出指令和 執(zhí)行指令任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通執(zhí)行指令任務(wù)的部件。它是計(jì)算機(jī)的核心部件,通 常簡稱為常簡稱為CPU(Central Processing Unit) 5.1.1 CPU的功能的功能 指令控制指令控制 保證機(jī)器按程序規(guī)定的

3、順序取出執(zhí)行保證機(jī)器按程序規(guī)定的順序取出執(zhí)行 操作控制操作控制 CPUCPU產(chǎn)生每條指令所對應(yīng)的操作信號,并把各種操產(chǎn)生每條指令所對應(yīng)的操作信號,并把各種操 作信號送往相應(yīng)的部件,從而控制這些部件按指令的作信號送往相應(yīng)的部件,從而控制這些部件按指令的 要求進(jìn)行動(dòng)作要求進(jìn)行動(dòng)作 時(shí)間控制時(shí)間控制 對各種操作的實(shí)施時(shí)間進(jìn)行定時(shí)對各種操作的實(shí)施時(shí)間進(jìn)行定時(shí) 數(shù)據(jù)加工數(shù)據(jù)加工 對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理 5.1.2 CPU5.1.2 CPU的基本組成的基本組成 控制器控制器完成對整個(gè)計(jì)算機(jī)系統(tǒng)操作的完成對整個(gè)計(jì)算機(jī)系統(tǒng)操作的協(xié)調(diào)與指揮協(xié)調(diào)與指揮。 (1) (1)

4、控制機(jī)器從內(nèi)存中控制機(jī)器從內(nèi)存中取出一條指令取出一條指令,并指出下一,并指出下一 條指令在內(nèi)存中的位置;條指令在內(nèi)存中的位置; (2) (2) 對指令進(jìn)行對指令進(jìn)行譯碼譯碼,并,并產(chǎn)生相應(yīng)的操作控制信號產(chǎn)生相應(yīng)的操作控制信號, 送往相應(yīng)的部件,啟動(dòng)規(guī)定的動(dòng)作;送往相應(yīng)的部件,啟動(dòng)規(guī)定的動(dòng)作; (3) (3) 指揮并控制指揮并控制CPUCPU、內(nèi)存與輸入內(nèi)存與輸入/ /輸出(輸出(I/OI/O)設(shè)備設(shè)備 之間數(shù)據(jù)之間數(shù)據(jù)流動(dòng)的方向流動(dòng)的方向 運(yùn)算運(yùn)算器器是數(shù)據(jù)加工處理部件,所進(jìn)行的全部操作由是數(shù)據(jù)加工處理部件,所進(jìn)行的全部操作由 控制器發(fā)出的控制信號指揮控制器發(fā)出的控制信號指揮 (1)(1)執(zhí)行

5、所有的算術(shù)運(yùn)算;執(zhí)行所有的算術(shù)運(yùn)算; (2)(2)執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測試執(zhí)行所有的邏輯運(yùn)算,并進(jìn)行邏輯測試 算術(shù)邏輯單元算術(shù)邏輯單元 狀態(tài)條件寄存器狀態(tài)條件寄存器 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 地址總線地址總線ABUS 數(shù)據(jù)總線數(shù)據(jù)總線DBUS 累加器累加器AC 存儲器存儲器 I/O CPU ALU 指令寄存器指令寄存器IR 指令譯碼器指令譯碼器 操作控制器操作控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)鐘時(shí)鐘 狀態(tài)狀態(tài) 反饋反饋 取指取指 控制控制 執(zhí)行執(zhí)行 控制控制 c c c c c 緩沖寄存器緩沖寄存器 DR CPUCPU的基本模型的基本模型 5.1.35.1.3

6、CPUCPU中的主要寄存器中的主要寄存器 數(shù)據(jù)緩沖寄存器(數(shù)據(jù)緩沖寄存器(DRDR) 暫時(shí)存放由內(nèi)存讀出或?qū)懭氲闹噶罨驍?shù)據(jù)字暫時(shí)存放由內(nèi)存讀出或?qū)懭氲闹噶罨驍?shù)據(jù)字 指令寄存器(指令寄存器(IRIR) 保存當(dāng)前正在執(zhí)行的一條指令保存當(dāng)前正在執(zhí)行的一條指令 程序計(jì)數(shù)器(程序計(jì)數(shù)器(PCPC) 確定下一條指令的地址確定下一條指令的地址 地址寄存器(地址寄存器(ARAR) 保存當(dāng)前保存當(dāng)前CPUCPU所訪問的內(nèi)存單元的地址所訪問的內(nèi)存單元的地址 累加寄存器(累加寄存器(ACAC) 最常使用的最常使用的一個(gè)通用寄存器一個(gè)通用寄存器 狀態(tài)條件寄存器(狀態(tài)條件寄存器(PSWPSW) 保存由算術(shù)和邏輯指令的結(jié)

7、果建立的各種條件碼保存由算術(shù)和邏輯指令的結(jié)果建立的各種條件碼 5.1.4 5.1.4 操作控制器與時(shí)序產(chǎn)生器操作控制器與時(shí)序產(chǎn)生器 操作控制器操作控制器在各寄存器之間建立在各寄存器之間建立數(shù)據(jù)通路數(shù)據(jù)通路 (傳送信息的通路)(傳送信息的通路) 操作控制器的功能操作控制器的功能: : 就是根據(jù)指令操作碼就是根據(jù)指令操作碼 和時(shí)序信號,產(chǎn)生各種操作控制信號,以和時(shí)序信號,產(chǎn)生各種操作控制信號,以 便正確地建立數(shù)據(jù)通路,從而完成取指令便正確地建立數(shù)據(jù)通路,從而完成取指令 和執(zhí)行指令的控制和執(zhí)行指令的控制 硬布線控制器硬布線控制器 微程序控制器微程序控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器產(chǎn)生并發(fā)出計(jì)算機(jī)所需要的

8、時(shí)產(chǎn)生并發(fā)出計(jì)算機(jī)所需要的時(shí) 序控制信號序控制信號 5.2 指令周期指令周期 讀取指令讀取指令 指令地址送入主存地址寄存器指令地址送入主存地址寄存器 讀主存,讀出內(nèi)容送入指定的寄存器讀主存,讀出內(nèi)容送入指定的寄存器 分析指令分析指令 按指令規(guī)定內(nèi)容執(zhí)行指令按指令規(guī)定內(nèi)容執(zhí)行指令 不同指令的操作步驟數(shù)不同指令的操作步驟數(shù) 和具體操作內(nèi)容差異很大和具體操作內(nèi)容差異很大 檢查有無中斷請求檢查有無中斷請求 若無,則轉(zhuǎn)入下一條指令的執(zhí)行過程若無,則轉(zhuǎn)入下一條指令的執(zhí)行過程 形成下一條指令地址形成下一條指令地址 指令的執(zhí)行過程指令的執(zhí)行過程 取指令執(zhí)行指令 5.2.1 5.2.1 指令周期的基本概念指令周

9、期的基本概念 指令周期指令周期 : : CPUCPU從內(nèi)存取出一條指令并執(zhí)行完從內(nèi)存取出一條指令并執(zhí)行完 這條指令的時(shí)間總和這條指令的時(shí)間總和 CPU CPU周期周期 : : 又稱又稱機(jī)器周期機(jī)器周期(總線周期總線周期),),CPUCPU訪問訪問 內(nèi)存所花的時(shí)間較長,因此用內(nèi)存所花的時(shí)間較長,因此用CPUCPU從內(nèi)存讀取一條指令從內(nèi)存讀取一條指令 字的所需的最短時(shí)間來定義字的所需的最短時(shí)間來定義 時(shí)鐘周期時(shí)鐘周期 : : 通常稱為通常稱為節(jié)拍脈沖節(jié)拍脈沖或或T T周期周期。一個(gè)。一個(gè) CPUCPU周期包含若干個(gè)時(shí)鐘周期周期包含若干個(gè)時(shí)鐘周期T T 相互關(guān)系相互關(guān)系: 1 1個(gè)指令周期個(gè)指令周期

10、 = = 若干個(gè)若干個(gè)CPUCPU周期周期 1 1個(gè)個(gè)CPUCPU周期周期 = = 若干若干T T周期周期 取指時(shí)間執(zhí)行指令時(shí)間取指時(shí)間執(zhí)行指令時(shí)間 指令周期指令周期 CPU CPU周期周期 時(shí)鐘周時(shí)鐘周 期期 020 020 CLACLA;累加器清;累加器清0 0 021 021 ADD 30ADD 30;(;(ACAC)+ +(3030)ACAC 022 022 STA 40STA 40;(;(ACAC)(40)(40) 023 023 NOPNOP; 空操作空操作 024 024 JMP 21JMP 21; 21 21 PC PC 030 000 006030 000 006; ; 數(shù)據(jù)

11、數(shù)據(jù) 040 040 存和數(shù)存和數(shù) ; ; 數(shù)據(jù)數(shù)據(jù) 5 5條典型指令構(gòu)成的簡單程序條典型指令構(gòu)成的簡單程序 一個(gè)一個(gè)CPU周期周期一個(gè)一個(gè)CPU周期周期 取指令階段取指令階段 執(zhí)行指令階段執(zhí)行指令階段 開始開始 取指令取指令 PC+1 對指令對指令 譯碼譯碼 執(zhí)行指令執(zhí)行指令 取下條指取下條指 令令PC+1 5.2.2 CLA指令的指令周期指令的指令周期 取出取出CLA指令指令 算術(shù)邏輯單元算術(shù)邏輯單元 狀態(tài)條件寄存器狀態(tài)條件寄存器 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 地址總線地址總線ABUS 數(shù)據(jù)總線數(shù)據(jù)總線DBUS 累加器累加器AC 緩沖寄存器緩沖寄存器DR CPU AL

12、U 指令寄存器指令寄存器IR 指令譯碼器指令譯碼器 操作控制器操作控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)鐘時(shí)鐘 狀態(tài)狀態(tài) 反饋反饋 取指取指 控制控制 執(zhí)行執(zhí)行 控制控制 c c c c + 1 000 020 20 21 22 23 24 30 31 40 CLA ADD 30 STA 40 NOP JMP 21 000 006 000 020 CLA CLA 000 021 算術(shù)邏輯單元算術(shù)邏輯單元 狀態(tài)條件寄存器狀態(tài)條件寄存器 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 地址總線地址總線ABUS數(shù)據(jù)總線數(shù)據(jù)總線DBUS 累加器累加器AC 緩沖寄存器緩沖寄存器DR CPU ALU 指令寄

13、存器指令寄存器IR 指令譯碼器指令譯碼器 操作控制器操作控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)鐘時(shí)鐘 狀態(tài)狀態(tài) 反饋反饋 取指取指 控制控制 執(zhí)行執(zhí)行 控制控制 c c c c +1 20 21 22 23 24 30 31 40 CLA ADD 30 STA 40 NOP JMP 21 000 006 000 020 CLA CLA 000 021 000 000 執(zhí)行執(zhí)行CLA指令指令 5.2.3ADD指令的指令周期 一個(gè)CPU周期 一個(gè)CPU周期 取指令階段取指令階段執(zhí)行指令階段執(zhí)行指令階段 開始開始 取指令取指令 PC+1 對指令對指令 譯碼譯碼 送操作送操作 數(shù)地址數(shù)地址 取下條指取下條指

14、 令令PC+1 取出操取出操 作數(shù)作數(shù) 執(zhí)行加執(zhí)行加 操作操作 一個(gè)CPU周期 算術(shù)邏輯單元算術(shù)邏輯單元 狀態(tài)條件寄存器狀態(tài)條件寄存器 程序計(jì)數(shù)器PC 地址寄存器AR 地址總線ABUS 數(shù)據(jù)總線DBUS 累加器AC 緩沖寄存器DR CPU ALU 指令寄存器 IR 指令譯碼器指令譯碼器 操作控制器操作控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)鐘 狀態(tài) 反饋 取指 控制 執(zhí)行 控制 c c c c +1 20 21 22 23 24 30 31 40 CLA ADD 30 STA 40 NOP JMP 21 000 006 000 021 ADD ADD 30 000 021000 022 000 030

15、 000 006 0+6=6 000 006 取出并執(zhí)行取出并執(zhí)行ADD指令指令 5.2.4STA指令的指令周期指令的指令周期 算術(shù)邏輯單元算術(shù)邏輯單元 狀態(tài)條件寄存器狀態(tài)條件寄存器 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 地址總線地址總線ABUS 數(shù)據(jù)總線數(shù)據(jù)總線DBUS 累加器累加器AC 緩沖寄存器緩沖寄存器DR CPU ALU 指令寄存指令寄存 器器IR 指令譯碼器指令譯碼器 操作控制器操作控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)鐘時(shí)鐘 狀態(tài)狀態(tài) 反饋反饋 取指取指 控制控制 執(zhí)行執(zhí)行 控制控制 c c c c +1 20 21 22 23 24 30 40 CLA ADD 30 S

16、TA 40 NOP JMP 21 000 006 000 022 STA STA 40 000 022000 023 000 040 000 006 000 006 000 006 取出并執(zhí)行取出并執(zhí)行STA指令指令 5.2.5 NOP指令和指令和JMP指令的指令周期指令的指令周期 算術(shù)邏輯單元算術(shù)邏輯單元 狀態(tài)條件寄存器狀態(tài)條件寄存器 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 地址總線地址總線ABUS 數(shù)據(jù)總線數(shù)據(jù)總線DBUS 累加器累加器AC 緩沖寄存器緩沖寄存器DR ALU 指令寄存器指令寄存器 IR 指令譯碼器指令譯碼器 操作控制器操作控制器 時(shí)序產(chǎn)生器時(shí)序產(chǎn)生器 時(shí)鐘時(shí)鐘

17、狀態(tài)狀態(tài) 反饋反饋 取指取指 控制控制 執(zhí)行執(zhí)行 控制控制 c c c c +1 20 21 22 23 24 30 40 CLA ADD 30 STA 40 NOP JMP 21 000 006 000 024 JMP 21 JMP 21 000 024 000 021 000 006 000 006 000 025000 021 取出并執(zhí)行取出并執(zhí)行JMP指令指令 5.2.7用方框圖語言表示指令周期用方框圖語言表示指令周期 在進(jìn)行計(jì)算機(jī)設(shè)計(jì)時(shí),可以采用方框圖在進(jìn)行計(jì)算機(jī)設(shè)計(jì)時(shí),可以采用方框圖 語言來表示一條指令的指令周期。語言來表示一條指令的指令周期。 方框方框 代表一個(gè)CPU周期,方框中

18、的內(nèi)容表 示數(shù)據(jù)通路的操作或某種控制操作。 菱形菱形 通常用來表示某種判別或測試,不過 時(shí)間上它依附于緊接它的前面一個(gè)方框的 CPU周期,而不單獨(dú)占用一個(gè)CPU周期。 【例【例1 1】教材圖5.15所示為雙總線結(jié)構(gòu)機(jī)器的數(shù)據(jù)通路, IR為指令寄存器,PC為程序計(jì)數(shù)器(具有自增功能),M 為主存(受R/W信號控制),AR為地址寄存器,DR為數(shù)據(jù) 緩沖寄存器, ALU由加、減控制信號決定完成何種操 作,控制信號G控制的是一個(gè)門電路。另外,線上標(biāo)注 有小圈表示有控制信號,例中yi表示y寄存器的輸入控 制信號,R1o為寄存器R1的輸出控制信號,未標(biāo)字符的 線為直通線,不受控制。 (1)“ADD R2,

19、R0”指令完成(R0)+(R2)R0的功能操 作,畫出其指令周期流程圖,假設(shè)該指令的地址已放 入PC中。并列出相應(yīng)的微操作控制信號序列。 (2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作, 畫出其指令期流程圖,并列出相應(yīng)的微操作控制信號 序列。 5.3 時(shí)序產(chǎn)生器和控制方式時(shí)序產(chǎn)生器和控制方式 用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么用二進(jìn)制碼表示的指令和數(shù)據(jù)都放在內(nèi)存里,那么 CPU是怎樣識別出它們是數(shù)據(jù)還是指令呢是怎樣識別出它們是數(shù)據(jù)還是指令呢? 從時(shí)間上來說從時(shí)間上來說: 取指令事件發(fā)生在指令周期的第一取指令事件發(fā)生在指令周期的第一 個(gè)個(gè)CPU周期中,即發(fā)生在周期中,

20、即發(fā)生在“取指令取指令”階段,而取數(shù)據(jù)階段,而取數(shù)據(jù) 事件發(fā)生在指令周期的后面幾個(gè)事件發(fā)生在指令周期的后面幾個(gè)CPU周期中,即發(fā)生周期中,即發(fā)生 在在“執(zhí)行指令執(zhí)行指令”階段。階段。 從空間上來說從空間上來說: 如果取出的代碼是指令,那么一定如果取出的代碼是指令,那么一定 經(jīng)經(jīng)DR送往指令寄存器送往指令寄存器IR,如果取出的代碼是數(shù)據(jù),那,如果取出的代碼是數(shù)據(jù),那 么一定送往么一定送往運(yùn)算器運(yùn)算器。 時(shí)間控制對計(jì)算機(jī)來說是非常重要的!時(shí)間控制對計(jì)算機(jī)來說是非常重要的! 思考思考 5.3.1時(shí)序信號的作用和體制時(shí)序信號的作用和體制 計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要時(shí)間標(biāo)志,而且需要采用多計(jì)算機(jī)的協(xié)調(diào)動(dòng)作需要

21、時(shí)間標(biāo)志,而且需要采用多 級時(shí)序體制。而時(shí)間標(biāo)志則用級時(shí)序體制。而時(shí)間標(biāo)志則用時(shí)序信號時(shí)序信號來體現(xiàn)。來體現(xiàn)。 硬布線控制器硬布線控制器中,時(shí)序信號往往采用中,時(shí)序信號往往采用主狀態(tài)周期主狀態(tài)周期- -節(jié)節(jié) 拍電位拍電位- -節(jié)拍脈沖節(jié)拍脈沖三級體制。三級體制。 主狀態(tài)周期(指令周期):主狀態(tài)周期(指令周期):包含若干個(gè)節(jié)拍周期,可包含若干個(gè)節(jié)拍周期,可 以用一個(gè)觸發(fā)器的狀態(tài)持續(xù)時(shí)間來表示以用一個(gè)觸發(fā)器的狀態(tài)持續(xù)時(shí)間來表示 節(jié)拍電位(機(jī)器周期):節(jié)拍電位(機(jī)器周期):表示一個(gè)表示一個(gè)CPU 周期的時(shí)間,周期的時(shí)間, 包含若干個(gè)節(jié)拍脈沖包含若干個(gè)節(jié)拍脈沖 節(jié)拍脈沖(時(shí)鐘周期):節(jié)拍脈沖(時(shí)鐘周期

22、):表示較小的時(shí)間單位表示較小的時(shí)間單位 微程序控制器微程序控制器中,時(shí)序信號則一般采用中,時(shí)序信號則一般采用節(jié)拍電位節(jié)拍電位- -節(jié)節(jié) 拍脈沖拍脈沖二級體制。二級體制。 節(jié)拍脈沖 節(jié)拍電位1 主狀態(tài)周期主狀態(tài)周期 節(jié)拍電位2 主狀態(tài)周期主狀態(tài)周期-節(jié)拍電位節(jié)拍電位-節(jié)拍脈沖節(jié)拍脈沖 數(shù)據(jù)準(zhǔn)備好后,以電位的方式送觸發(fā)器數(shù)據(jù)準(zhǔn)備好后,以電位的方式送觸發(fā)器 控制信號來到后,用一個(gè)脈沖信號把數(shù)據(jù)裝入觸發(fā)器控制信號來到后,用一個(gè)脈沖信號把數(shù)據(jù)裝入觸發(fā)器 數(shù)據(jù):電位數(shù)據(jù):電位控制信號:脈沖控制信號:脈沖 節(jié)拍電位節(jié)拍電位-節(jié)拍脈沖節(jié)拍脈沖 IORQ MREQ RD WE T1 T2 T3 T4 IORQ

23、 MREQ RD WE T1 T2 T3 T4 MERQ IORQ RD WR 提供頻率穩(wěn)定且電平匹配提供頻率穩(wěn)定且電平匹配 的方波時(shí)鐘脈沖信號的方波時(shí)鐘脈沖信號 由石英晶體振蕩器組成由石英晶體振蕩器組成 產(chǎn)生一組有序的間隔相產(chǎn)生一組有序的間隔相 等或不等的脈沖序列等或不等的脈沖序列 啟動(dòng) 停機(jī) 5.3.2時(shí)序信號產(chǎn)生器 啟停控制邏輯啟??刂七壿?節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯節(jié)拍脈沖和讀寫時(shí)序譯碼邏輯 環(huán)形脈沖發(fā)生器環(huán)形脈沖發(fā)生器時(shí)鐘脈沖源時(shí)鐘脈沖源 時(shí)序產(chǎn)生器 (1/4) 一、 概念 1、時(shí)序部件:計(jì)算機(jī)的機(jī)內(nèi)時(shí)鐘。它用其產(chǎn)生的 周期狀態(tài),節(jié)拍電位及時(shí)標(biāo)脈沖去對指令周期進(jìn) 行時(shí)間劃分,刻度和標(biāo)

24、定。 2、指令周期:在計(jì)算機(jī)中從指令的讀取到指令的 執(zhí)行完成,執(zhí)行一條指令所需要的時(shí)間,稱為指 令周期。 指令周期通常由若干個(gè)CPU周期來表示,CPU周 期也稱為機(jī)器周期。由于CPU內(nèi)部的操作速度較 快,而CPU訪問一次內(nèi)存所花的時(shí)間較長,通常 用存儲周期為基礎(chǔ)來規(guī)定CPU周期。 時(shí)序產(chǎn)生器 (2/4) 二、3級時(shí)序信號 1、周期 (1)在一個(gè)控制階段內(nèi)均持續(xù)起作用的信號; (2)通常用周期狀態(tài)寄存器來標(biāo)志和指明某某周期控制; (3)指令周期可分為取指周期、分析周期、執(zhí)行周期。 2、節(jié)拍 (1)把一個(gè)機(jī)器周期分成若干個(gè)相等的時(shí)間段,每一個(gè)時(shí)間段對應(yīng) 一個(gè)電位信號,稱節(jié)拍電位; (2)一般都以能

25、保證ALU進(jìn)行一次運(yùn)算操作作為一拍電位的時(shí)間寬 度。 3、時(shí)標(biāo)工作脈沖 (1) 及時(shí)改變標(biāo)志狀態(tài); (2) 時(shí)標(biāo)脈沖的寬度一般為節(jié)拍電位寬度的1/N,只要能保證所有 的觸發(fā)器都能可靠地,穩(wěn)定地翻轉(zhuǎn)即可。 時(shí)序產(chǎn)生器 (3/4) 三、3級時(shí)序信號的關(guān)系 1、一臺計(jì)算機(jī)機(jī)內(nèi)的控制信號一般均由若干個(gè)周期 狀態(tài),若干個(gè)節(jié)拍電位及若干個(gè)時(shí)標(biāo)脈沖這樣3級 控制時(shí)序信號定時(shí)完成。 2、3級控制時(shí)序信號的寬度均成正整數(shù)倍同步關(guān)系。 周期狀態(tài)之間,節(jié)拍電位之間,時(shí)標(biāo)脈沖之間既 不容許有重疊交叉,又不容許有空白間隙,應(yīng)該 是能一個(gè)接一個(gè)地準(zhǔn)確連接,一個(gè)降落另一個(gè)升 起而準(zhǔn)確切換的同步信號。 時(shí)序產(chǎn)生器 (4/4)

26、 圖6-7 三級時(shí)序系統(tǒng) 時(shí)標(biāo)脈沖 節(jié)拍 周期 CPU的控制方式 (1/4) 控制器的控制方式:形成控制不同微操作序列的時(shí)序 控制信號的方法。 控制方式的分類: 同步控制方式 異步控制方式 同異步聯(lián)合控制方式 CPU的控制方式 (2/4) 一、同步控制方式 1、含義:又稱為固定時(shí)序控制方式或無應(yīng)答控制方式。 任何指令的執(zhí)行或指令中每個(gè)微操作的執(zhí)行都受事先 安排好的時(shí)序信號的控制。 2、每個(gè)周期狀態(tài)中產(chǎn)生統(tǒng)一數(shù)目的節(jié)拍電位及時(shí)標(biāo)工 作脈沖。 3、以最復(fù)雜指令的實(shí)現(xiàn)需要為基準(zhǔn)。 4、優(yōu)點(diǎn):設(shè)計(jì)簡單,操作控制容易實(shí)現(xiàn)。 缺點(diǎn):效率低。 CPU的控制方式 (3/4) 二、異步控制方式 1、 含義:可變

27、時(shí)序控制方式或應(yīng)答控制方式。執(zhí)行一條 指令需要多少節(jié)拍,不作統(tǒng)一的規(guī)定,而是根據(jù)每條指令 的具體情況而定,需要多少,控制器就產(chǎn)生多少時(shí)標(biāo)信號。 2、特點(diǎn):每一條指令執(zhí)行完畢后都必須向控制時(shí)序部件 發(fā)回一個(gè)回答信號,控制器收到回答信號后,才開始下一 條指令的執(zhí)行。 3、優(yōu)點(diǎn):指令的運(yùn)行效率高; 缺點(diǎn):控制線路比較復(fù)雜。 4、異步工作方式一般采用兩條定時(shí)控制線來實(shí)現(xiàn)。我們 把這兩條線稱為“請求”線和“回答”線。當(dāng)系統(tǒng)中兩個(gè) 部件A和B進(jìn)行數(shù)據(jù)交換時(shí),若A發(fā)出“請求”信號,則必 須有B的“回答”信號進(jìn)行應(yīng)答,這次操作才是有效的, 否則無效。 CPU的控制方式 (4/4) 三、同步,異步聯(lián)合控制方式

28、1、含義:同步控制和異步控制相結(jié)合的方式即聯(lián) 合控制方式,區(qū)別對待不同指令。 2、一般的設(shè)計(jì)思想是,在功能部件內(nèi)部采用同步 式,而在功能部件之間采用異步式,并且在硬件實(shí) 現(xiàn)允許的情況下,盡可能多地采用異步控制。 5.3.3控制方式 控制不同操作序列時(shí)序信號的方法控制不同操作序列時(shí)序信號的方法 1. 1. 同步控制方式同步控制方式 已定的指令在執(zhí)行時(shí)所需的已定的指令在執(zhí)行時(shí)所需的CPU周期(機(jī)器周期)周期(機(jī)器周期) 數(shù)和時(shí)鐘周期數(shù)都固定不變。例如采用完全統(tǒng)一的機(jī)數(shù)和時(shí)鐘周期數(shù)都固定不變。例如采用完全統(tǒng)一的機(jī) 器周期執(zhí)行各種不同的指令器周期執(zhí)行各種不同的指令 2. 2. 異步控制方式異步控制方式

29、 控制器發(fā)出某一操作控制信號后,等待執(zhí)行部件完控制器發(fā)出某一操作控制信號后,等待執(zhí)行部件完 成操作后發(fā)成操作后發(fā)“回答回答”信號,再開始新的操作信號,再開始新的操作 3. 3. 聯(lián)合控制方式聯(lián)合控制方式 同步控制和異步控制相結(jié)合的方式同步控制和異步控制相結(jié)合的方式 CPU周期周期 取指周期取指周期 CPU周期周期 取源數(shù)取源數(shù) CPU周期周期 取目標(biāo)數(shù)取目標(biāo)數(shù) CPU周期周期 執(zhí)行周期執(zhí)行周期 P0 P1 P2 W0W1 完全同步控制方式 W0W1 Wi 第第N條指令條指令 結(jié)束應(yīng)答結(jié)束應(yīng)答 W0W1 Wj 第第N+1條指令條指令 結(jié)束應(yīng)答結(jié)束應(yīng)答 啟動(dòng)啟動(dòng) 下一條下一條 W0W1 Wk 第第

30、N+2條指令條指令 結(jié)束應(yīng)答結(jié)束應(yīng)答 異步控制方式 啟動(dòng)啟動(dòng) 下一條下一條 i、j、k不一定相等不一定相等 一般采用兩條定時(shí)控制線:一般采用兩條定時(shí)控制線:“請求請求”線和線和“回答回答” 線線 5.4 微程序控制器微程序控制器 微程序控制器同硬布線控制器相比較,具有微程序控制器同硬布線控制器相比較,具有規(guī)規(guī) 整性整性、靈活性靈活性、可維護(hù)性可維護(hù)性等一系列優(yōu)點(diǎn)等一系列優(yōu)點(diǎn) 它利用它利用軟件方法軟件方法(微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù))來設(shè)計(jì)硬件)來設(shè)計(jì)硬件 微程序控制的微程序控制的基本思想基本思想就是把操作控制信號編成就是把操作控制信號編成 所謂的所謂的“微指令微指令”,存放到一個(gè)只讀存儲器里

31、(控,存放到一個(gè)只讀存儲器里(控 制存儲器制存儲器CM)。當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地讀)。當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地讀 出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控 制信號,是相應(yīng)部件執(zhí)行所規(guī)定的操作制信號,是相應(yīng)部件執(zhí)行所規(guī)定的操作 微命令微命令 指令系統(tǒng)指令系統(tǒng) 處理器內(nèi)部可以分為:處理器內(nèi)部可以分為:控制部件控制部件和和執(zhí)行部件執(zhí)行部件 微命令:微命令:控制部件控制部件向向執(zhí)行部件執(zhí)行部件發(fā)出的控制命令發(fā)出的控制命令 微操作:微操作:執(zhí)行部件執(zhí)行部件接受接受微命令微命令后所進(jìn)行的操作后所進(jìn)行的操作 (微操作在執(zhí)行部件中是最基本的操作)(微操作在

32、執(zhí)行部件中是最基本的操作) 微指令微指令:實(shí)現(xiàn)一定操作功能的一組微命令:實(shí)現(xiàn)一定操作功能的一組微命令 微程序微程序:實(shí)現(xiàn)一條機(jī)器指令功能的微指令序列:實(shí)現(xiàn)一條機(jī)器指令功能的微指令序列 指令系統(tǒng)所有指令,指令微程序指令系統(tǒng)所有指令,指令微程序 微程序若干微指令,微指令一組微命令微程序若干微指令,微指令一組微命令 微命令微命令微操作微操作 機(jī)器指令與微指令機(jī)器指令與微指令 程序 機(jī)器指令機(jī)器指令1 機(jī)器指令機(jī)器指令2 機(jī)器指令機(jī)器指令i 機(jī)器指令機(jī)器指令n . 微指令微指令2 微指令微指令1 微指令微指令i 微指令微指令n . . 微程序 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 地址寄存器地址寄存器AR 緩沖寄

33、存器緩沖寄存器DR 指令寄存器指令寄存器IR 微地址寄存器微地址寄存器AR 微指令寄存器微指令寄存器IR 主存儲器主存儲器 控制存儲器控制存儲器CM 微命令微命令 地址譯碼器地址譯碼器 地址譯碼地址譯碼 機(jī)器指令級機(jī)器指令級微指令級微指令級 5.5 微程序設(shè)計(jì)技術(shù)微程序設(shè)計(jì)技術(shù) 1.1.靜態(tài)微程序設(shè)計(jì)靜態(tài)微程序設(shè)計(jì) 對應(yīng)于一臺計(jì)算機(jī)的機(jī)器指令只有一組微對應(yīng)于一臺計(jì)算機(jī)的機(jī)器指令只有一組微 程序,而且這一組微程序設(shè)計(jì)好之后,一般無程序,而且這一組微程序設(shè)計(jì)好之后,一般無 須改變而且也不好改變須改變而且也不好改變 2.2.動(dòng)態(tài)微程序設(shè)計(jì)動(dòng)態(tài)微程序設(shè)計(jì) 采用采用EPROMEPROM作為控制存儲器,可

34、以通過改變作為控制存儲器,可以通過改變 微指令和微程序來改變機(jī)器的指令系統(tǒng)微指令和微程序來改變機(jī)器的指令系統(tǒng) 采用動(dòng)態(tài)微程序設(shè)計(jì),微指令和微程序可采用動(dòng)態(tài)微程序設(shè)計(jì),微指令和微程序可 以根據(jù)需要加以改變,因而可在一臺機(jī)器上以根據(jù)需要加以改變,因而可在一臺機(jī)器上仿仿 真真其它機(jī)器指令系統(tǒng)其它機(jī)器指令系統(tǒng) 5.6硬布線控制器硬布線控制器 硬布線控制器把控制部件看作為產(chǎn)生專門硬布線控制器把控制部件看作為產(chǎn)生專門 固定時(shí)序控制信號的邏輯電路(以固定時(shí)序控制信號的邏輯電路(以使用最少元使用最少元 件和取得最高操作速度件和取得最高操作速度為設(shè)計(jì)目標(biāo))為設(shè)計(jì)目標(biāo)) 硬布線控制的優(yōu)點(diǎn):速度較快;缺點(diǎn):不硬布線

35、控制的優(yōu)點(diǎn):速度較快;缺點(diǎn):不 容易修改添加新功能容易修改添加新功能 微程序控制的優(yōu)點(diǎn):具有規(guī)整性、靈活性、微程序控制的優(yōu)點(diǎn):具有規(guī)整性、靈活性、 可維護(hù)性等;缺點(diǎn):采用存儲程序原理,需要可維護(hù)性等;缺點(diǎn):采用存儲程序原理,需要 執(zhí)行多條微指令,速度較慢執(zhí)行多條微指令,速度較慢 5.7傳統(tǒng)傳統(tǒng)CPU M6800CPUM6800CPU 是一個(gè)比較典型的單總線結(jié)構(gòu)的微處理器是一個(gè)比較典型的單總線結(jié)構(gòu)的微處理器 M6800CPUM6800CPU是一種是一種8 8位微處理器,采用單一的位微處理器,采用單一的5V5V電源。時(shí)電源。時(shí) 鐘脈沖采用兩相鐘脈沖采用兩相(1 1,2 2) ),主頻為,主頻為1M

36、Hz1MHz,由外面加入,由外面加入 CPUCPU。 M6800M6800的的CPUCPU主要包括主要包括8 8位的位的ALUALU,1616位的程序計(jì)數(shù)器、位的程序計(jì)數(shù)器、1616 位的堆棧指示器和位的堆棧指示器和1616位的變址寄存器,兩個(gè)位的變址寄存器,兩個(gè)8 8位的累加位的累加 器和一個(gè)器和一個(gè)8 8位的狀態(tài)條件碼寄存器,一個(gè)位的狀態(tài)條件碼寄存器,一個(gè)8 8位的指令寄存位的指令寄存 器以及指令譯碼與控制部件器以及指令譯碼與控制部件( (即操作控制器即操作控制器) )。此外還有。此外還有 一個(gè)一個(gè)8 8位的數(shù)據(jù)緩沖寄存器和一個(gè)位的數(shù)據(jù)緩沖寄存器和一個(gè)1616位的地址緩沖寄存位的地址緩沖寄

37、存 器。器。 ALUALU部件執(zhí)行算術(shù)運(yùn)算和邏輯操作,它們包括邏輯部件執(zhí)行算術(shù)運(yùn)算和邏輯操作,它們包括邏輯 “與與”、邏輯、邏輯“或或”、邏輯、邏輯“異或異或”、求補(bǔ)、比較、加、求補(bǔ)、比較、加 法、減法、十進(jìn)制調(diào)整等。法、減法、十進(jìn)制調(diào)整等。 在在M6800M6800中,主存地址和外設(shè)地址是統(tǒng)一編址的,因此,中,主存地址和外設(shè)地址是統(tǒng)一編址的,因此, 在在6553665536個(gè)地址中有一部分是為外圍設(shè)備使用的。個(gè)地址中有一部分是為外圍設(shè)備使用的。 傳統(tǒng)傳統(tǒng)CPU舉例舉例 Intel 8088CPUIntel 8088CPU Intel 8088Intel 8088是一種通用的準(zhǔn)是一種通用的準(zhǔn)1

38、616位微處理器,其內(nèi)部結(jié)構(gòu)位微處理器,其內(nèi)部結(jié)構(gòu) 為為1616位,與外部交換的數(shù)據(jù)為位,與外部交換的數(shù)據(jù)為8 8位。它可以處理位。它可以處理1616位數(shù)據(jù)位數(shù)據(jù) ( (具有具有1616位運(yùn)算指令,包括乘除法指令位運(yùn)算指令,包括乘除法指令) ),也可處理,也可處理8 8位數(shù)位數(shù) 據(jù)。它有據(jù)。它有2020條地址線,直接尋址能力達(dá)到條地址線,直接尋址能力達(dá)到1M1M字節(jié)。字節(jié)。 CPU CPU 從功能上來說分成總線接口單元從功能上來說分成總線接口單元BIUBIU和執(zhí)行單元和執(zhí)行單元EUEU兩兩 大部分。大部分。 BIUBIU負(fù)責(zé)與存儲器和外圍設(shè)備接口,即負(fù)責(zé)與存儲器和外圍設(shè)備接口,即8088 CP

39、U8088 CPU與存儲器與存儲器 和外圍設(shè)備之間的信息傳送,都是由和外圍設(shè)備之間的信息傳送,都是由BIUBIU進(jìn)行的。進(jìn)行的。 EU EU 部分負(fù)責(zé)指令的執(zhí)行。取指部分與執(zhí)行指令部分是獨(dú)部分負(fù)責(zé)指令的執(zhí)行。取指部分與執(zhí)行指令部分是獨(dú) 立并行工作的,在一條指令的執(zhí)行過程中,可取出下一立并行工作的,在一條指令的執(zhí)行過程中,可取出下一 條條( (或多條或多條) )指令,在指令流隊(duì)列寄存器中排隊(duì)。在一條指令,在指令流隊(duì)列寄存器中排隊(duì)。在一條 指令執(zhí)行完以后就可以立即執(zhí)行下一條指令,減少了指令執(zhí)行完以后就可以立即執(zhí)行下一條指令,減少了CPUCPU 為取指令而等待的時(shí)間,提高了系統(tǒng)的運(yùn)行速度。為取指令而

40、等待的時(shí)間,提高了系統(tǒng)的運(yùn)行速度。 傳統(tǒng)傳統(tǒng)CPU舉例舉例 IBM 370CPUIBM 370CPU 3232位位CPUCPU ALUALU部件按功能不同分為如下三個(gè)子部件:部件按功能不同分為如下三個(gè)子部件:(1)(1)定點(diǎn)運(yùn)算,定點(diǎn)運(yùn)算, 包括整數(shù)計(jì)算和有效地址的計(jì)算;包括整數(shù)計(jì)算和有效地址的計(jì)算;(2)(2)浮點(diǎn)運(yùn)算;浮點(diǎn)運(yùn)算;(3)(3)可可 變長運(yùn)算,包括十進(jìn)制算術(shù)運(yùn)算和字符串操作。變長運(yùn)算,包括十進(jìn)制算術(shù)運(yùn)算和字符串操作。 為了存放地址和數(shù)據(jù),使用了兩組獨(dú)立的可編址寄存器,為了存放地址和數(shù)據(jù),使用了兩組獨(dú)立的可編址寄存器, 1616個(gè)通用寄存器用來存放操作數(shù)和運(yùn)算結(jié)果,且可用作個(gè)通用

41、寄存器用來存放操作數(shù)和運(yùn)算結(jié)果,且可用作 變址寄存器。變址寄存器。4 4個(gè)浮點(diǎn)寄存器用于浮點(diǎn)運(yùn)算。數(shù)據(jù)寄存器個(gè)浮點(diǎn)寄存器用于浮點(diǎn)運(yùn)算。數(shù)據(jù)寄存器 DRDR、地址寄存器、地址寄存器ARAR、指令寄存器、指令寄存器IRIR是標(biāo)準(zhǔn)化的。是標(biāo)準(zhǔn)化的。 Intel 80486CPUIntel 80486CPU 3232位位CPUCPU 通過采用流水技術(shù),以及微程序控制和硬布線邏輯控制通過采用流水技術(shù),以及微程序控制和硬布線邏輯控制 相結(jié)合的方式,進(jìn)一步縮短可變長指令的譯碼時(shí)間,達(dá)相結(jié)合的方式,進(jìn)一步縮短可變長指令的譯碼時(shí)間,達(dá) 到基本指令可以在一個(gè)時(shí)鐘周期內(nèi)完成。到基本指令可以在一個(gè)時(shí)鐘周期內(nèi)完成。 傳

42、統(tǒng)傳統(tǒng)CPU舉例舉例 486486芯片內(nèi)部包含一個(gè)芯片內(nèi)部包含一個(gè)8KB8KB的數(shù)據(jù)和指令混合性的數(shù)據(jù)和指令混合性cachecache,為,為 頻繁訪問的指令和數(shù)據(jù)提供快速的內(nèi)部存儲,從而使系頻繁訪問的指令和數(shù)據(jù)提供快速的內(nèi)部存儲,從而使系 統(tǒng)總線有更多的時(shí)間用于其他控制。統(tǒng)總線有更多的時(shí)間用于其他控制。 486486芯片內(nèi)部包含了增強(qiáng)性芯片內(nèi)部包含了增強(qiáng)性8038780387協(xié)處理器,稱為浮點(diǎn)運(yùn)協(xié)處理器,稱為浮點(diǎn)運(yùn) 算部件算部件(FPU)(FPU)。由于。由于FPUFPU功能擴(kuò)充,且放在功能擴(kuò)充,且放在CPUCPU內(nèi)部,使引內(nèi)部,使引 線縮短,故速度比線縮短,故速度比8038780387提高

43、了提高了3535倍。倍。 486 CPU486 CPU的內(nèi)部數(shù)據(jù)總線寬度為的內(nèi)部數(shù)據(jù)總線寬度為6464位,這也是它縮短指令位,這也是它縮短指令 周期的一個(gè)原因。而外部數(shù)據(jù)總線的寬度也可以自動(dòng)轉(zhuǎn)周期的一個(gè)原因。而外部數(shù)據(jù)總線的寬度也可以自動(dòng)轉(zhuǎn) 換。換。 地址信號線擴(kuò)充到地址信號線擴(kuò)充到3232位,可以處理位,可以處理4GB(24GB(232 32字節(jié) 字節(jié)) )的物理的物理 存儲空間。如果利用虛擬存儲器,其存儲空間達(dá)存儲空間。如果利用虛擬存儲器,其存儲空間達(dá) 64TB(264TB(246 46字節(jié) 字節(jié)) )。 5.8 流水流水CPU 洗衣房的流水作業(yè)洗衣房的流水作業(yè) 三個(gè)階段:三個(gè)階段: 1.

44、 1. 水洗水洗(30)(30) 2. 2. 烘干烘干(40)(40) 3. 3. 熨燙熨燙(20(20) ) A B C D 6 PM789 T a s k O r d e r Time 30 40404040 20 系統(tǒng)結(jié)構(gòu) 基本概念 5.8.1 并行處理技術(shù) v并行性并行性(Parallelism):): 在同一時(shí)刻或是同一時(shí)間間隔內(nèi)完成兩種或兩種以上性在同一時(shí)刻或是同一時(shí)間間隔內(nèi)完成兩種或兩種以上性 質(zhì)相同或不相同的工作質(zhì)相同或不相同的工作 同時(shí)性同時(shí)性(Simultaneity):同一時(shí)刻發(fā)生的并行性):同一時(shí)刻發(fā)生的并行性 并發(fā)性并發(fā)性(Concurrency):同一個(gè)時(shí)間間隔內(nèi)發(fā)

45、生):同一個(gè)時(shí)間間隔內(nèi)發(fā)生 的并行性的并行性 v并行性的等級并行性的等級 指令內(nèi)部并行:微操作之間指令內(nèi)部并行:微操作之間 指令級并行(指令級并行(ILP:Instruction Level Parallel) 線程級并行(線程級并行(TLP:Thread Level Parallel ) 程序級并行程序級并行 系統(tǒng)級并行:分布式系統(tǒng)、多機(jī)系統(tǒng)、機(jī)群系統(tǒng)系統(tǒng)級并行:分布式系統(tǒng)、多機(jī)系統(tǒng)、機(jī)群系統(tǒng) 系統(tǒng)結(jié)構(gòu) 基本概念 提高并行性的技術(shù)途徑 v時(shí)間重疊時(shí)間重疊(Time-interleaving)時(shí)間并行時(shí)間并行 多個(gè)過程在時(shí)間上相互錯(cuò)開,輪流重疊地使用同一套硬多個(gè)過程在時(shí)間上相互錯(cuò)開,輪流重疊地

46、使用同一套硬 件設(shè)備的各個(gè)部分件設(shè)備的各個(gè)部分 v資源重復(fù)資源重復(fù)(Resource-replication)空間并行空間并行 通過重復(fù)設(shè)置資源(尤其是硬件資源),提高性能通過重復(fù)設(shè)置資源(尤其是硬件資源),提高性能 v資源共享資源共享(Resource-sharing) 使多個(gè)任務(wù)按一定時(shí)間順序輪流使用同一套硬件設(shè)備使多個(gè)任務(wù)按一定時(shí)間順序輪流使用同一套硬件設(shè)備 單機(jī)系統(tǒng)中并行性的發(fā)展單機(jī)系統(tǒng)中并行性的發(fā)展9.1.3 v指令流水線,部件冗余,分時(shí)系統(tǒng)指令流水線,部件冗余,分時(shí)系統(tǒng) 多機(jī)系統(tǒng)中并行性的發(fā)展多機(jī)系統(tǒng)中并行性的發(fā)展9.1.4 v多機(jī)系統(tǒng)多機(jī)系統(tǒng) v耦合度:松散耦合、緊密耦合耦合度:

47、松散耦合、緊密耦合 5.8.2 5.8.2 流水流水CPUCPU的結(jié)構(gòu)的結(jié)構(gòu) 指令流水線指令流水線 IF(Instruction Fetch)取指令階段取指令階段 ID(Instruction Decode)指令譯碼階段指令譯碼階段 EX(Execute)執(zhí)行運(yùn)算階段執(zhí)行運(yùn)算階段 MEM(Memory Access)存儲器訪問階段存儲器訪問階段 WB(Write Back)寫回結(jié)果階段寫回結(jié)果階段 WBWB 系統(tǒng)結(jié)構(gòu) 流水線 流水線的時(shí)空圖 v流水線技術(shù)流水線技術(shù):把一個(gè)重復(fù)的過程分解為若干個(gè):把一個(gè)重復(fù)的過程分解為若干個(gè) 子過程,每個(gè)子程序可以與其他子過程同時(shí)進(jìn)子過程,每個(gè)子程序可以與其他子

48、過程同時(shí)進(jìn) 行行 v描述流水線的工作,最常用的方法是時(shí)間描述流水線的工作,最常用的方法是時(shí)間-空間空間 圖(圖(時(shí)空圖時(shí)空圖) 橫坐標(biāo)橫坐標(biāo):表示:表示時(shí)間時(shí)間,即各個(gè)任務(wù)在流水線中所,即各個(gè)任務(wù)在流水線中所 經(jīng)過的時(shí)間經(jīng)過的時(shí)間 縱坐標(biāo)縱坐標(biāo):表示:表示空間空間,即流水線的各個(gè)子過程,即流水線的各個(gè)子過程, 也稱為也稱為級、段、流水線深度級、段、流水線深度(Stage) 非流水計(jì)算機(jī)的時(shí)空圖非流水計(jì)算機(jī)的時(shí)空圖 每每4個(gè)機(jī)器周期才有一個(gè)輸出結(jié)果個(gè)機(jī)器周期才有一個(gè)輸出結(jié)果 流水計(jì)算機(jī)的時(shí)空圖流水計(jì)算機(jī)的時(shí)空圖 每個(gè)機(jī)器周期可以輸出一個(gè)結(jié)果每個(gè)機(jī)器周期可以輸出一個(gè)結(jié)果 系統(tǒng)結(jié)構(gòu) 流水線 流水線的

49、特點(diǎn) v流水線實(shí)際上是把一個(gè)功能部件分解成多個(gè)獨(dú)立的子功流水線實(shí)際上是把一個(gè)功能部件分解成多個(gè)獨(dú)立的子功 能部件(一個(gè)任務(wù)也就分成了幾個(gè)子任務(wù),每個(gè)子任務(wù)能部件(一個(gè)任務(wù)也就分成了幾個(gè)子任務(wù),每個(gè)子任務(wù) 由一個(gè)子功能部件完成),并依靠多個(gè)子功能部件并行由一個(gè)子功能部件完成),并依靠多個(gè)子功能部件并行 工作來縮短所有任務(wù)的執(zhí)行時(shí)間工作來縮短所有任務(wù)的執(zhí)行時(shí)間 v流水線有助于提高整個(gè)程序(所有任務(wù))的吞吐率,但流水線有助于提高整個(gè)程序(所有任務(wù))的吞吐率,但 并沒有減少每個(gè)指令(任務(wù))的執(zhí)行時(shí)間并沒有減少每個(gè)指令(任務(wù))的執(zhí)行時(shí)間 v流水線各個(gè)功能段所需時(shí)間應(yīng)盡量相等。否則,時(shí)間長流水線各個(gè)功能段

50、所需時(shí)間應(yīng)盡量相等。否則,時(shí)間長 的功能段將成為流水線的的功能段將成為流水線的“瓶頸瓶頸”,會(huì)造成流水線的,會(huì)造成流水線的 “阻塞阻塞”(Stall) v流水線開始需要流水線開始需要“通過時(shí)間通過時(shí)間” (Fill)和最后需要和最后需要“排空排空 時(shí)間時(shí)間”(Drain)。流水線只有處理連續(xù)不斷的任務(wù)才能。流水線只有處理連續(xù)不斷的任務(wù)才能 發(fā)揮其效率發(fā)揮其效率 系統(tǒng)結(jié)構(gòu) 流水線 5.8.3 流水線中的主要問題 v流水線中存在一些流水線中存在一些相關(guān)相關(guān)(沖突沖突、冒險(xiǎn)冒險(xiǎn)Hazard,相相 關(guān)關(guān)、依賴依賴Dependence,競爭競爭Competition)的的 情況,它使得下一條指令無法在設(shè)

51、計(jì)的時(shí)鐘周情況,它使得下一條指令無法在設(shè)計(jì)的時(shí)鐘周 期內(nèi)執(zhí)行。這些相關(guān)將降低流水線性能期內(nèi)執(zhí)行。這些相關(guān)將降低流水線性能 v主要有三種類型的相關(guān)(沖突)主要有三種類型的相關(guān)(沖突) 結(jié)構(gòu)相關(guān)(資源沖突)結(jié)構(gòu)相關(guān)(資源沖突):當(dāng)指令重疊執(zhí)行過程:當(dāng)指令重疊執(zhí)行過程 中,硬件資源滿足不了指令重疊執(zhí)行的要求中,硬件資源滿足不了指令重疊執(zhí)行的要求 數(shù)據(jù)相關(guān)(數(shù)據(jù)沖突)數(shù)據(jù)相關(guān)(數(shù)據(jù)沖突) :在同時(shí)執(zhí)行的多條指:在同時(shí)執(zhí)行的多條指 令中,一條指令依賴前一條指令的執(zhí)行結(jié)果令中,一條指令依賴前一條指令的執(zhí)行結(jié)果(數(shù)數(shù) 據(jù)據(jù))卻無法得到卻無法得到 控制相關(guān)(控制沖突)控制相關(guān)(控制沖突):流水線遇到分支指令:

52、流水線遇到分支指令 或其他改變或其他改變PC值的指令值的指令 1. 1. 資源相關(guān)資源相關(guān) 資源相關(guān)資源相關(guān)是指多條指令進(jìn)入流水線后,在同一機(jī)是指多條指令進(jìn)入流水線后,在同一機(jī) 器時(shí)鐘周期內(nèi)爭用同一個(gè)功能部件所發(fā)生的沖突器時(shí)鐘周期內(nèi)爭用同一個(gè)功能部件所發(fā)生的沖突 例:假定一條指令流水線由五段組成,且僅有例:假定一條指令流水線由五段組成,且僅有 IF過程和過程和MEM過程需要訪問存儲器過程需要訪問存儲器 I1與與I4兩條指令在時(shí)鐘兩條指令在時(shí)鐘4爭用存儲器資源的相關(guān)沖突爭用存儲器資源的相關(guān)沖突 2. 2. 數(shù)據(jù)相關(guān)數(shù)據(jù)相關(guān) ADD R1, R2, R3 ; R2R3R1 SUB R4, R1,

53、R5 ; R1R5R4 AND R6, R1, R7 ; R1R7R0 指令發(fā)生數(shù)據(jù)相關(guān)沖突指令發(fā)生數(shù)據(jù)相關(guān)沖突 3. 3. 控制相關(guān)控制相關(guān) 控制相關(guān)控制相關(guān)沖突由沖突由轉(zhuǎn)移指令(分支指令)轉(zhuǎn)移指令(分支指令)引起引起 執(zhí)行轉(zhuǎn)移指令時(shí),依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果執(zhí)行轉(zhuǎn)移指令時(shí),依據(jù)轉(zhuǎn)移條件的產(chǎn)生結(jié)果 可能為順序取下條指令可能為順序取下條指令 也可能轉(zhuǎn)移到新的目標(biāo)地址取指令也可能轉(zhuǎn)移到新的目標(biāo)地址取指令 地址不定,流水線需要暫停、地址不定,流水線需要暫停、發(fā)生斷流發(fā)生斷流 轉(zhuǎn)移指令轉(zhuǎn)移指令主要有:主要有: 無條件轉(zhuǎn)移指令:跳轉(zhuǎn)、過程調(diào)用和返回?zé)o條件轉(zhuǎn)移指令:跳轉(zhuǎn)、過程調(diào)用和返回 條件分支指令條件分

54、支指令 【例【例5】流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀流水線中有三類數(shù)據(jù)相關(guān)沖突:寫后讀(RAW) 相關(guān);讀后寫相關(guān);讀后寫(WAR)相關(guān);寫后寫相關(guān);寫后寫(WAW)相關(guān)相關(guān) I1: ADD R1, R2, R3;R2R3R1 I2: SUB R4, R1, R5;R1R5R4 I3: STA M(x), R3;R3M(x) I4: ADD R3, R4, R5;R4R5R3 I5: MUL R3, R1, R2;R1R2R3 I6: ADD R3, R4, R5;R4R5R3 RAW WAR WAW 系統(tǒng)結(jié)構(gòu) 指令并行 指令動(dòng)態(tài)調(diào)度策略 v簡單指令流水線技術(shù)的一個(gè)主要局限簡單指令流水線技術(shù)

55、的一個(gè)主要局限 指令指令順序發(fā)射順序發(fā)射(in-order issue)按序發(fā)射按序發(fā)射 指令指令順序執(zhí)行順序執(zhí)行(in-order execution) 如果一條指令在流水線中,與之相關(guān)的指令及其后如果一條指令在流水線中,與之相關(guān)的指令及其后 面的指令都不能進(jìn)行處理面的指令都不能進(jìn)行處理 v改進(jìn)指令流水線,只要指令操作數(shù)就緒就執(zhí)行,改進(jìn)指令流水線,只要指令操作數(shù)就緒就執(zhí)行, 指令指令亂序執(zhí)行亂序執(zhí)行(out-of-order execution) 指令指令亂序結(jié)束亂序結(jié)束(out-of-order completion) MUL R0, R2, R4 ADD R6, R0, R8 SUB R

56、7, R3, R1 系統(tǒng)結(jié)構(gòu) 指令并行 多指令流出技術(shù) v進(jìn)一步改進(jìn)指令流水線,實(shí)現(xiàn)一個(gè)時(shí)鐘周進(jìn)一步改進(jìn)指令流水線,實(shí)現(xiàn)一個(gè)時(shí)鐘周 期發(fā)射(流出期發(fā)射(流出issue)多條指令)多條指令 v超標(biāo)量超標(biāo)量(Superscalar)處理器處理器:每個(gè)時(shí)鐘周期發(fā):每個(gè)時(shí)鐘周期發(fā) 射多條指令(射多條指令(18) v超長指令字超長指令字(VLIW: Very Long Instruction Word):通過編譯器調(diào)度無關(guān)的多條指令(:通過編譯器調(diào)度無關(guān)的多條指令(4 16)形成一條長指令,每個(gè)時(shí)鐘周期發(fā)射一條)形成一條長指令,每個(gè)時(shí)鐘周期發(fā)射一條 長指令長指令 v超級流水線超級流水線(Super pi

57、pelining):將每個(gè)功能部:將每個(gè)功能部 件進(jìn)一步流水化,使得一個(gè)功能部件在一個(gè)時(shí)件進(jìn)一步流水化,使得一個(gè)功能部件在一個(gè)時(shí) 鐘周期中可以處理多條指令(可以簡單地理解鐘周期中可以處理多條指令(可以簡單地理解 為很長的流水線)為很長的流水線) 系統(tǒng)結(jié)構(gòu) 指令并行 多發(fā)射流水線 01234567 T 正常流水線正常流水線 超標(biāo)量流水線超標(biāo)量流水線 0123456 T 0123456 T 超長指令字流水線超長指令字流水線 3個(gè)操作個(gè)操作 01234567T 超級流水線超級流水線 系統(tǒng)結(jié)構(gòu) 指令并行 80486的整數(shù)指令流水線 v5級指令流水線,每級級指令流水線,每級1個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 PF指

58、令預(yù)?。ㄖ噶铑A(yù)取(prefetch) D1指令譯碼指令譯碼1(decode stage 1) 對所有操作碼和尋址方式信息進(jìn)行譯碼對所有操作碼和尋址方式信息進(jìn)行譯碼 D2指令譯碼指令譯碼2(decode stage 2) 將操作碼擴(kuò)展為將操作碼擴(kuò)展為ALU的控制信號,存儲器地址計(jì)算的控制信號,存儲器地址計(jì)算 EX指令執(zhí)行(指令執(zhí)行(execute) 完成完成ALU操作和操作和Cache存取存取 WB回寫(回寫(write back) 更新在更新在EX步驟得到的寄存器數(shù)據(jù)和狀態(tài)標(biāo)志步驟得到的寄存器數(shù)據(jù)和狀態(tài)標(biāo)志 系統(tǒng)結(jié)構(gòu) 指令并行 Pentium的超標(biāo)量流水線 v類似類似80486的的5級流級流

59、水線,后水線,后3級可以在級可以在 兩個(gè)流水線同時(shí)進(jìn)行兩個(gè)流水線同時(shí)進(jìn)行 v指令預(yù)取指令預(yù)取PF和指令和指令 譯碼譯碼D1步驟可以并步驟可以并 行取出、譯碼行取出、譯碼2條簡條簡 單指令,然后分別發(fā)單指令,然后分別發(fā) 向向U和和V流水線流水線 v在滿足指令配對的條在滿足指令配對的條 件下,件下,Pentium可以可以 每個(gè)時(shí)鐘周期執(zhí)行完每個(gè)時(shí)鐘周期執(zhí)行完 2條指令條指令 V流水線流水線U流水線流水線 地址生成地址生成D2地址生成地址生成D2 指令預(yù)取指令預(yù)取PF 指令譯碼指令譯碼D1 執(zhí)行執(zhí)行EX執(zhí)行執(zhí)行EX 回寫回寫WB回寫回寫WB 系統(tǒng)結(jié)構(gòu) 指令并行 Pentium的超標(biāo)量結(jié)構(gòu) 轉(zhuǎn)移指令地

60、址轉(zhuǎn)移指令地址 寄寄 存存 器器 V流水線流水線 ALU U流水線流水線 ALU 移位器移位器 指令譯碼和配對指令譯碼和配對 控制單元控制單元 分支目標(biāo)分支目標(biāo) 緩沖器緩沖器 V流水線流水線 存儲地址產(chǎn)生器存儲地址產(chǎn)生器 U流水線流水線 存儲地址產(chǎn)生器存儲地址產(chǎn)生器 隊(duì)列隊(duì)列B隊(duì)列隊(duì)列A 指令指令Cache 指令預(yù)取電路指令預(yù)取電路 分支目標(biāo)地址分支目標(biāo)地址 產(chǎn)生分支地址產(chǎn)生分支地址 系統(tǒng)結(jié)構(gòu) 指令并行 Pentium III的動(dòng)態(tài)執(zhí)行結(jié)構(gòu) 取指取指取數(shù)取數(shù) 順序發(fā)送前端順序發(fā)送前端 (取指與譯碼單元取指與譯碼單元) 讀取指令讀取指令 譯碼指令為微代碼譯碼指令為微代碼 處理指令分支處理指令分支

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論