計(jì)算機(jī)組成原理之流水線處理機(jī)_第1頁(yè)
計(jì)算機(jī)組成原理之流水線處理機(jī)_第2頁(yè)
計(jì)算機(jī)組成原理之流水線處理機(jī)_第3頁(yè)
計(jì)算機(jī)組成原理之流水線處理機(jī)_第4頁(yè)
計(jì)算機(jī)組成原理之流水線處理機(jī)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(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第二十一、二十三講Friday, December 10, 2021流水線處理機(jī)流水線處理機(jī)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理21 1、流水線處理機(jī)的基本概念、流水線處理機(jī)的基本概念2 2、流水線處理機(jī)的數(shù)據(jù)路徑、流水線處理機(jī)的數(shù)據(jù)路徑流水線級(jí),流水線各級(jí)的操作流水線級(jí),流水線各級(jí)的操作3 3、流水線處理機(jī)的控制、流水線處理機(jī)的控制運(yùn)算指令,訪存指令,轉(zhuǎn)移控制指令,流水線各級(jí)信號(hào)的產(chǎn)運(yùn)算指令,訪存指令,轉(zhuǎn)移控制指令,流水線各級(jí)信號(hào)的產(chǎn)生,時(shí)序圖,時(shí)空?qǐng)D生,時(shí)序圖,時(shí)空?qǐng)D4 4、流水線處理機(jī)的相關(guān)、流水線處理機(jī)的相關(guān) 結(jié)構(gòu)相關(guān),數(shù)據(jù)相關(guān),轉(zhuǎn)移相關(guān)結(jié)構(gòu)相關(guān),數(shù)據(jù)相關(guān),轉(zhuǎn)移相

2、關(guān)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3掌握流水線處理機(jī)的數(shù)據(jù)路徑掌握流水線處理機(jī)的數(shù)據(jù)路徑建立指令流水線中指令如何重疊執(zhí)行和流動(dòng)建立指令流水線中指令如何重疊執(zhí)行和流動(dòng)了解流水線工作原理以及相關(guān)問(wèn)題了解流水線工作原理以及相關(guān)問(wèn)題計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理4A AL LU UPC寄 存 器 堆rs2rdW ritePCSelStA luO PW riteM emSelLoaddispW riteRegrs1SelBranchW riteZero+1ZeroZeroim m eSelIm m eopcodeA luO PW ritePCSelStW riteRegW riteM emSelIm m eW

3、 riteZeroSelBranchSelLoad控 制 部 件A 1Q 1Q 2D IA DA 2偏 移 量 符號(hào) 擴(kuò) 展立 即 數(shù) 符號(hào) 擴(kuò) 展指 令存 儲(chǔ) 器A ddD ata數(shù) 據(jù)存 儲(chǔ) 器A ddD OD IW ECSAB10101001單周期處理機(jī)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理5單周期處理器的缺陷單周期處理器的缺陷時(shí)鐘周期時(shí)間長(zhǎng)時(shí)鐘周期時(shí)間長(zhǎng): : 對(duì)于裝入指令,周期時(shí)間必須足夠長(zhǎng)對(duì)于裝入指令,周期時(shí)間必須足夠長(zhǎng): :指令存儲(chǔ)器訪問(wèn)時(shí)間指令存儲(chǔ)器訪問(wèn)時(shí)間+ +寄存器堆訪問(wèn)時(shí)間寄存器堆訪問(wèn)時(shí)間+ +ALUALU計(jì)算地址計(jì)算地址+ +數(shù)據(jù)存儲(chǔ)器訪問(wèn)時(shí)間數(shù)據(jù)存儲(chǔ)器訪問(wèn)時(shí)間+ +寄存器訪問(wèn)時(shí)

4、間寄存器訪問(wèn)時(shí)間 對(duì)于其它指令,周期時(shí)間都比所需的要長(zhǎng)很多對(duì)于其它指令,周期時(shí)間都比所需的要長(zhǎng)很多! !計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理6多周期處理機(jī) ALU立即數(shù)符號(hào)擴(kuò)展PC存儲(chǔ)器寄存器堆rs2ArdWritePCSelStAluOPIRSelLoaddispWriteRegrs1BWriteZero1imme偏移量符號(hào)擴(kuò)展ZeroSelAluBSelAluAWriteIRSelLdstZWriteMem.WritePCWriteZeroZeroopcode.控制部件Q1A1Q2DIADA2DODIWECSAdd1031001010計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理7單周期處理器的問(wèn)題根源單周期處理器

5、的問(wèn)題根源: : 對(duì)于最慢的指令,周期時(shí)間必須足夠長(zhǎng)對(duì)于最慢的指令,周期時(shí)間必須足夠長(zhǎng)解決方案解決方案: : 將指令處理分為更小的步驟,每個(gè)周期執(zhí)行一步(而不是整將指令處理分為更小的步驟,每個(gè)周期執(zhí)行一步(而不是整個(gè)指令)個(gè)指令)- - 周期時(shí)間:周期時(shí)間: 執(zhí)行最長(zhǎng)步所需的時(shí)間執(zhí)行最長(zhǎng)步所需的時(shí)間- - 使所有的步驟盡量具有相同的長(zhǎng)度使所有的步驟盡量具有相同的長(zhǎng)度 這是多周期處理器的本質(zhì)所在這是多周期處理器的本質(zhì)所在多周期處理器的優(yōu)點(diǎn)多周期處理器的優(yōu)點(diǎn): : 周期時(shí)間短周期時(shí)間短 不同的指令需要不同的周期數(shù)來(lái)完成不同的指令需要不同的周期數(shù)來(lái)完成- - 裝入指令需要裝入指令需要5 5個(gè)周期,個(gè)

6、周期,- - 跳轉(zhuǎn)僅僅需要跳轉(zhuǎn)僅僅需要3 3個(gè)周期個(gè)周期 允許每條指令多次使用同一個(gè)功能部件允許每條指令多次使用同一個(gè)功能部件多周期實(shí)現(xiàn)概述多周期實(shí)現(xiàn)概述計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理8流水線的基本概念什么是什么是流水線流水線 計(jì)算機(jī)中的流水線是把一個(gè)重復(fù)的過(guò)程計(jì)算機(jī)中的流水線是把一個(gè)重復(fù)的過(guò)程分解為若干個(gè)子過(guò)分解為若干個(gè)子過(guò)程程,每個(gè)子過(guò)程與其他子過(guò)程,每個(gè)子過(guò)程與其他子過(guò)程并行進(jìn)行并行進(jìn)行。由于這種工作方式與。由于這種工作方式與工廠中的生產(chǎn)流水線十分相似,因此稱為流水線技術(shù)。工廠中的生產(chǎn)流水線十分相似,因此稱為流水線技術(shù)。從本質(zhì)上講,流水線技術(shù)是一種從本質(zhì)上講,流水線技術(shù)是一種時(shí)間并行時(shí)間并

7、行技術(shù)。技術(shù)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理9計(jì)算機(jī)的各個(gè)部分幾乎都可以采用流水線技術(shù)計(jì)算機(jī)的各個(gè)部分幾乎都可以采用流水線技術(shù): : (1) (1)指令的執(zhí)行過(guò)程可以采用流水線,稱為指令的執(zhí)行過(guò)程可以采用流水線,稱為指令流水線指令流水線。 (2)(2)運(yùn)算器中的操作部件,如浮點(diǎn)加法器、浮點(diǎn)乘法器等運(yùn)算器中的操作部件,如浮點(diǎn)加法器、浮點(diǎn)乘法器等可以采用流水線,稱為可以采用流水線,稱為操作部件流水線操作部件流水線。 (3)(3)訪問(wèn)主存的部件可以采用訪存部件流水線。多個(gè)計(jì)算訪問(wèn)主存的部件可以采用訪存部件流水線。多個(gè)計(jì)算機(jī)之間,通過(guò)存儲(chǔ)器連接,也可以采用流水線,稱為機(jī)之間,通過(guò)存儲(chǔ)器連接,也可以采用流

8、水線,稱為宏流水線宏流水線。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理10指令的重疊執(zhí)行指令的重疊執(zhí)行 (1)(1)順序執(zhí)行方式順序執(zhí)行方式(2)(2)一次重疊執(zhí)行方式一次重疊執(zhí)行方式(3)(3)二次重疊執(zhí)行方式二次重疊執(zhí)行方式( (2)2) 重疊解釋執(zhí)行重疊解釋執(zhí)行執(zhí)行執(zhí)行k分析分析k取指取指k執(zhí)行執(zhí)行k+1分析分析k+1取指取指k+1T=(2n+1)t執(zhí)行執(zhí)行k分析分析k取指取指k執(zhí)行執(zhí)行k+1分析分析k+1取指取指k+1( (3)3) 更高重疊程度的解釋執(zhí)行更高重疊程度的解釋執(zhí)行T=3t+(n-1)t=(n+2)t執(zhí)行執(zhí)行k+1分析分析k+1取指取指k+1執(zhí)行執(zhí)行k分析分析k取指取指k( (1)1)

9、順序解釋執(zhí)行順序解釋執(zhí)行T=3nt計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理11流水線工作原理流水線工作原理1.1.基本思想基本思想重疊延伸方式,使指令解釋過(guò)程進(jìn)一步細(xì)化,重疊延伸方式,使指令解釋過(guò)程進(jìn)一步細(xì)化,提高各部件的利用率,以提高指令執(zhí)行速度。提高各部件的利用率,以提高指令執(zhí)行速度。 理想目標(biāo)理想目標(biāo):完成任務(wù)的時(shí)間與操作處理過(guò)程無(wú)關(guān),只與提供:完成任務(wù)的時(shí)間與操作處理過(guò)程無(wú)關(guān),只與提供操作的速度有關(guān)。操作的速度有關(guān)。取指譯碼執(zhí)行訪存寫(xiě)回輸入輸入輸出輸出IFIDEXEMEMWBs1s2s3s4s5 指令流水線舉例:指令流水線舉例:設(shè):每段時(shí)間為設(shè):每段時(shí)間為t t,有,有m m個(gè)段,每段間均可重疊;

10、個(gè)段,每段間均可重疊;則:每間隔則:每間隔t t時(shí)間有一條指令流傳出時(shí)間有一條指令流傳出計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理12鎖存器鎖存器CLK鎖存器處理部件n處理部件2處理部件1 流水線處理機(jī)的流水線處理機(jī)的最大特點(diǎn)最大特點(diǎn)是每一個(gè)時(shí)針周期都能是每一個(gè)時(shí)針周期都能啟動(dòng)一條指令的執(zhí)行。啟動(dòng)一條指令的執(zhí)行。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理13 流水技術(shù)無(wú)助于減少單個(gè)任務(wù)的流水技術(shù)無(wú)助于減少單個(gè)任務(wù)的處理延遲處理延遲(latency) (latency) ,但,但有助于提高整體工作負(fù)載有助于提高整體工作負(fù)載的吞吐率的吞吐率 多個(gè)多個(gè)不同任務(wù)同時(shí)操作不同任務(wù)同時(shí)操作, , 使用不同資源使用不同資源 潛在加速比

11、潛在加速比= = 流水線級(jí)數(shù)流水線級(jí)數(shù) 流水線的速率受限于流水線的速率受限于最慢最慢的流水段的流水段 流水段的執(zhí)行時(shí)間如果流水段的執(zhí)行時(shí)間如果不均衡不均衡, ,那么加速比就會(huì)降低那么加速比就會(huì)降低 開(kāi)始開(kāi)始填充填充流水線的時(shí)間和最后流水線的時(shí)間和最后排放排放流水線的時(shí)間降低加速流水線的時(shí)間降低加速比比 相關(guān)相關(guān)將導(dǎo)致流水線暫停將導(dǎo)致流水線暫停流水技術(shù)性流水技術(shù)性計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理14單周期、多周期與流水線CC1CC2LO ADSTO REIFIDEXEM EMCC1CC2CC3CC4CC5W BIFIDEXEIFW B單 周 期 處 理 機(jī)流 水 線 處 理 機(jī)多 周 期 處 理 機(jī)

12、L LO OA AD DA AD DD DIFIDEXEM EMW BIFIDEXEM EMW BIFIDEXEM EMW B計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理15流水線處理機(jī)的數(shù)據(jù)路徑流水線處理機(jī)的數(shù)據(jù)路徑A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理16流水線各級(jí)的操作流水線各級(jí)的操作IFIF級(jí)級(jí)1 1、取指令、取指令2 2、計(jì)算下一條指令地址、計(jì)算下一條指令地址A AL LU UPC寄存器

13、堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理17流水線各級(jí)的操作流水線各級(jí)的操作IDID級(jí)級(jí)1 1、讀寄存器堆中的操作數(shù)、讀寄存器堆中的操作數(shù)2 2、符號(hào)擴(kuò)展、符號(hào)擴(kuò)展3 3、控制器根據(jù)、控制器根據(jù)OPCODEOPCODE產(chǎn)生控制信號(hào)產(chǎn)生控制信號(hào)A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataI

14、RDSErddABIddZRSCDrdMEMWBEXEIDIF4 4、轉(zhuǎn)移指令在、轉(zhuǎn)移指令在IDID級(jí)結(jié)束級(jí)結(jié)束計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理18流水線各級(jí)的操作流水線各級(jí)的操作EXEEXE級(jí)級(jí)1 1、ALUALU指令完成計(jì)算結(jié)果指令完成計(jì)算結(jié)果2 2、LOAD/STORELOAD/STORE指令計(jì)算存儲(chǔ)器地址指令計(jì)算存儲(chǔ)器地址A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理19流水線各級(jí)的操

15、作流水線各級(jí)的操作MEMMEM級(jí)級(jí)2 2、LOAD/STORELOAD/STORE指令訪問(wèn)存儲(chǔ)器,指令訪問(wèn)存儲(chǔ)器,LOADLOAD指令讀操作,指令讀操作,STORESTORE指指令寫(xiě)操作,令寫(xiě)操作,STORESTORE指令結(jié)束。指令結(jié)束。1 1、ALUALU指令在該級(jí)僅把指令在該級(jí)僅把R R內(nèi)容打入內(nèi)容打入C CA AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理20流水線各級(jí)的操作流水線各級(jí)的

16、操作WBWB級(jí)級(jí)A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF結(jié)果寫(xiě)回到寄存器堆結(jié)果寫(xiě)回到寄存器堆計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理21ALUALU指令指令執(zhí)行時(shí)流水線的數(shù)據(jù)路徑執(zhí)行時(shí)流水線的數(shù)據(jù)路徑A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF

17、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理22LOADLOAD指令指令執(zhí)行時(shí)流水線的數(shù)據(jù)路徑執(zhí)行時(shí)流水線的數(shù)據(jù)路徑A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIF計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理23STORESTORE指令指令執(zhí)行時(shí)流水線的數(shù)據(jù)路徑執(zhí)行時(shí)流水線的數(shù)據(jù)路徑A AL LU UPC寄 存 器 堆rs2disprs1控 制 器+1immeopcodeA1Q1Q2DIADA2ISE數(shù) 據(jù)存 儲(chǔ) 器AddDODIAB指 令存 儲(chǔ) 器

18、AddDataIRDSErddABIddZRSCDrdMEMW BEXEIDIF計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理24流水線處理機(jī)的控制流水線處理機(jī)的控制ALUALU指令和存儲(chǔ)器訪問(wèn)指令的控制指令和存儲(chǔ)器訪問(wèn)指令的控制I1I1 addi r1,r2,4 ; addi r1,r2,4 ; r1r1(r2r2) + 4+ 4I2I2 load r2,100(r3); load r2,100(r3); r2r2 memory memory (r3r3) + 100+ 100I3I3 sub r4,r5,r6; sub r4,r5,r6; r4r4(r5r5) - -(r6r6)I4I4 add r7,r5

19、,r6; add r7,r5,r6; r7r7(r5r5) + +(r6r6)I5I5 store r8,200(r9); store r8,200(r9);memorymemory(r9r9) + 200+ 200(r8r8)I6I6 subi r10,r10,1; subi r10,r10,1; r10r10(r10r10) - 1- 1研究流水線處理機(jī)對(duì)以下指令重疊操作過(guò)程研究流水線處理機(jī)對(duì)以下指令重疊操作過(guò)程指令系統(tǒng)和指令格式同前面一樣指令系統(tǒng)和指令格式同前面一樣計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理25指令系統(tǒng)和指令格式指令系統(tǒng)和指令格式31 2625 2120 16 15 54 0指令助記符

20、指令助記符意意 義義00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme00 010100001000100004Haddi r1, r2, 4 00 0100rdrs1 rs2add rd, rs1, rs2rd (rs1) add (rs2)00 01000011100101 00110add r7,r5,r6 00 0110rdrs1 rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 01100010000101 00110sub r4,r5,r6 00 1000rdrs1immeload rd, rs1,

21、immerd (rs1) + imme)00 100000010000110064Hload r2,r3,100 00 1001rdrs1immestore rd, rs1,imme(rd)(rs1) + imme)00 1001010000100100C8Hstore r8,r9,200 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理26指令系統(tǒng)和指令格式指令系統(tǒng)和指令格式31 2625 2120 16 15 54 0指令助記符指令助記符意意 義義00 0000rdrs1 rs2and rd, rs1, rs2rd (rs1) and (rs2)00 0001rdrs1immeandi rd, rs1, im

22、merd(rs1) and imme00 0010rdrs1 rs2or rd, rs1, rs2rd (rs1) or (rs2)00 0011rdrs1immeori rd, rs1, immerd (rs1) or imme00 0100rdrs1 rs2add rd, rs1, rs2rd (rs1) add (rs2)00 0101rdrs1immeaddi rd, rs1, immerd (rs1) add imme00 0110rdrs1 rs2sub rd, rs1, rs2rd (rs1) sub (rs2)00 0111rdrs1immesubi rd, rs1, imme

23、rd (rs1) sub imme00 1000rdrs1immeload rd, rs1, immerd (rs1) + imme)00 1001rdrs1immestore rd, rs1, imme(rd)(rs1) + imme)00 1010dispbne dispIf z=0, pc(pc)+disp00 1011dispbeq dispIf z=1, pc(pc)+disp00 1100dispbranch disppc(pc) + disp計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理27CC1Fetch I1CC1Fetch I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1

24、 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理28CC2Fetch I2 CC2Fetch I2 并并 Decode I1Decode I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000004數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDS

25、ErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=0010 02 20 01 10 04 4計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理29CC3Fetch I3 CC3Fetch I3 并并 Decode I2 Decode I2 并并 EXEC I1EXEC I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000064

26、數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=001s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =1 110A AL LU UO OP P= =a ad dd d0 02 20 01 10 03 30 04 4計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理30CC4Fetch I4

27、 CC4Fetch I4 并并 Decode I3 Decode I3 并并 EXEC I2 EXEC I2 并并 MEM I1MEM I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000006數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=0

28、01s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =1 110a ad dd d r r7 7, ,r r5 5, ,r r6 60 04 40 02 20 01 1A AL LU UO OP P= =a ad dd d0 05 50 06 6計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理31CC5Fetch I5 CC5Fetch I5 并并 Decode I4 Decode I4 并并 EXEC I3 EXEC I3 并并 MEM I2 MEM I2 并并WB I1WB I1A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopco

29、deA1Q1Q2DIADA200000006數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd di i r r1 1, ,r r2 2, ,4 4B BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=001s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =0 010a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8

30、, ,2 20 00 0( (r r9 9) )S SL LD D= =0 001A AL LU UO OP P= =s su ub b0 04 40 02 20 01 10 07 70 05 50 06 6計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理32CC6Fetch I6 CC6Fetch I6 并并 Decode I5 Decode I5 并并 EXEC I4 EXEC I4 并并 MEM I3 MEM I3 并并WB I2WB I2A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2000000C8數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器Ad

31、dDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N= =0 001l lo oa ad d r r2 2, ,1 10 00 0( (r r3 3) )SST=101s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =0 010a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =1 101A AL LU UO OP P= =a ad dd d0 04 40 0

32、2 20 07 70 09 9s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 8計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理33CC7Decode I6 CC7Decode I6 并并 EXEC I5 EXEC I5 并并 MEM I4 MEM I4 并并WB I3WB I3A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA200000001數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST=001

33、s su ub b r r4 4, ,r r5 5, ,r r6 6S SI IM MM M= =1 110a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =0 001A AL LU UO OP P= =a ad dd d0 04 40 07 71 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 81 10 00 01 1計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理34CC8 EXEC I6 CC8 EXEC I6 并并 MEM

34、 I5 MEM I5 并并 WB I4WB I4A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M= =1 110a ad dd d r r7 7, ,r r5 5, ,r r6 6s st to or re e r r8 8, ,2 20 00 0( (r r9 9) )S SL LD D= =0 001A AL LU UO OP P=

35、=s su ub b0 07 71 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 8計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理35CC9 MEM I6CC9 MEM I6A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10s st to or re e r r8 8, ,2 20 00 0( (r r

36、9 9) )S SL LD D01A AL LU UO OP P1 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 10 08 8計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理36CC10 WB I6CC10 WB I6A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D= =0 001A AL LU

37、 UO OP P1 10 0s su ub bi i r r1 10 0, ,r r1 10 0, ,1 1以上還有以上還有3 3個(gè)控制信號(hào):個(gè)控制信號(hào):WZ WZ 寫(xiě)寫(xiě)Z Z標(biāo)志信號(hào)標(biāo)志信號(hào) WMEM WMEM 寫(xiě)存儲(chǔ)器信號(hào)寫(xiě)存儲(chǔ)器信號(hào) WREG- WREG- 寫(xiě)寄存器堆信號(hào)寫(xiě)寄存器堆信號(hào)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理37流水線處理機(jī)的控制流水線處理機(jī)的控制轉(zhuǎn)移指令控制轉(zhuǎn)移指令控制 subi r10,r10,1subi r10,r10,1 bne abc bne abc add r1,r2,r3 add r1,r2,r3abc: load abc: load 00 1010dispbne di

38、spIf z=0, pc(pc)+disp結(jié)果不為結(jié)果不為0,轉(zhuǎn)移,轉(zhuǎn)移00 1011dispbeq dispIf z=1, pc(pc)+disp結(jié)果為結(jié)果為0,轉(zhuǎn)移,轉(zhuǎn)移00 1100dispbranch disppc(pc) + disp無(wú)條件轉(zhuǎn)移無(wú)條件轉(zhuǎn)移subi r10,r10,1subi r10,r10,1nopnopbne abcbne abcnopnopadd r1,r2,r3add r1,r2,r3條件轉(zhuǎn)移指令控制條件轉(zhuǎn)移指令控制無(wú)條件轉(zhuǎn)移指令控制無(wú)條件轉(zhuǎn)移指令控制branch abcbranch abcadd r1,r2,r3add r1,r2,r3branch abcbr

39、anch abcnopnopadd r1,r2,r3add r1,r2,r3計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理38A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc c計(jì)算機(jī)組成

40、原理計(jì)算機(jī)組成原理39A AL LU UPC寄存器堆rs2rs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc cn no op pa ad dd d r r1 1, ,r r2 2, ,r r3 3zero計(jì)算機(jī)組成

41、原理計(jì)算機(jī)組成原理40A AL LU UPC寄存器堆rs2disprs1控制器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc cn no op p計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理41A AL LU UPC寄存器堆rs2rs1控制

42、器+ +1 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFB BT TA AK KE EN N01SST01S SI IM MM M10S SL LD D01A AL LU UO OP Ps su ub bi i r r1 10 0, ,r r1 10 0, ,1 1b bn ne e a ab bc cn no op pzeron no op p轉(zhuǎn)移發(fā)生的條件為轉(zhuǎn)移發(fā)生的條件為 BTAKEN = branch + bneBTAKEN = branch + bne Z +

43、beqZ + beq Z Z計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理42級(jí)級(jí)控制信號(hào)控制信號(hào)注釋注釋IF級(jí)級(jí)BTAKEN轉(zhuǎn)移發(fā)生轉(zhuǎn)移發(fā)生ID級(jí)級(jí)SST選擇選擇STORE(rd)EXE級(jí)級(jí)SIMM選擇立即數(shù)選擇立即數(shù) ALUOPALU操作碼操作碼 WZ寫(xiě)寫(xiě)Z標(biāo)志標(biāo)志MEM級(jí)級(jí)WMEM寫(xiě)存儲(chǔ)器寫(xiě)存儲(chǔ)器WB級(jí)級(jí)SLD選擇選擇LOAD WREG寫(xiě)寄存器堆寫(xiě)寄存器堆流水線各級(jí)控制信號(hào)的定義流水線各級(jí)控制信號(hào)的定義計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理43流水線各級(jí)控制信號(hào)的產(chǎn)生表達(dá)式流水線各級(jí)控制信號(hào)的產(chǎn)生表達(dá)式指指 令令A(yù)LUOP1ALUOP0注釋注釋and /andi00與與or/ ori01或或add/ addi10加

44、加sub/ subi11減減load/ store10加加aluop1=add+addi+sub+subi+load+storealuop0=or+ori+sub+subiBTAKEN=branch+bneZ+beqZSST=storeSIMM=andi+addi+ori+subi+load+storeWZ= andi+addi+ori+subi+ and+add+or+subWMEM=storeSLD=loadWREG=andi+addi+ori+subi+ and+add+or+sub+load計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理44A AL LU UPC寄存器堆rs2disprs1控制器+ +1

45、 1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdB BT TA AK KE EN N01S SS ST TS SI IM MM MA AL LU UO OP PW WZ ZW WM ME EM MS SL LD DW WR RE EG Gzero計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理451 11 11 11 11 12 22 22 22 22 23 33 33 33 33 34 44 44 44 44 4時(shí)間空間IFIDEXEMEMWB計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理46I IF FI ID DE EX XE

46、EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB B時(shí) 間指 令I(lǐng)1I2I3I4計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理47相關(guān)概念:相關(guān)概念:相近指令間出現(xiàn)了某種關(guān)聯(lián),使得指令不能相近指令間出現(xiàn)了某種關(guān)聯(lián),使得指令不能 提前解釋提前解釋結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān): :由于硬件資源不足而導(dǎo)致流水線不暢通。由于硬件資源不足而導(dǎo)致流水線不暢通。數(shù)據(jù)相關(guān):數(shù)據(jù)相關(guān):本條指令的操作數(shù)地址與前一條指令存放本條指令的操作數(shù)地址與前一條

47、指令存放 結(jié)果的地址相同,便出現(xiàn)了前條指令還沒(méi)有結(jié)果的地址相同,便出現(xiàn)了前條指令還沒(méi)有 結(jié)果,而后一條指令要求提前取出,造成結(jié)果,而后一條指令要求提前取出,造成 錯(cuò)誤。錯(cuò)誤。轉(zhuǎn)移相關(guān):轉(zhuǎn)移相關(guān):由于在轉(zhuǎn)移發(fā)生之前,若干條轉(zhuǎn)移指令的后繼指由于在轉(zhuǎn)移發(fā)生之前,若干條轉(zhuǎn)移指令的后繼指令已被取到流水線處理機(jī)中,而令已被取到流水線處理機(jī)中,而造成錯(cuò)誤。造成錯(cuò)誤。流水線處理機(jī)的相關(guān)流水線處理機(jī)的相關(guān)因?yàn)榱魉€中指令和數(shù)據(jù)要提前取出來(lái),因此相鄰指令之間存因?yàn)榱魉€中指令和數(shù)據(jù)要提前取出來(lái),因此相鄰指令之間存在許多關(guān)聯(lián)。在許多關(guān)聯(lián)。計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理48結(jié)構(gòu)相關(guān)及解決方法結(jié)構(gòu)相關(guān)及解決方法A AL

48、LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE存儲(chǔ)器AddDODIABIRDSErddABIddZRSCDrd單存儲(chǔ)器模塊所構(gòu)成的流水線處理機(jī)單存儲(chǔ)器模塊所構(gòu)成的流水線處理機(jī)-結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理49I IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB BI IF FI ID DE EX XE EM ME EM MW WB B時(shí) 間指 令I(lǐng)1I2I3I4I1I

49、1是是LOADLOAD指令,則指令,則I1I1與與I4I4結(jié)構(gòu)相關(guān)結(jié)構(gòu)相關(guān)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理50A AL LU UPC寄存器堆rs2disprs1+1immeA1Q1Q2DIADA2ISE數(shù)據(jù)ADODIAB指令A(yù)DIIRDSErddABIddZRSCDrdCACHECACHE數(shù)據(jù)收發(fā)器地址總線地址總線存儲(chǔ)器DO采用分開(kāi)的采用分開(kāi)的CACHECACHE解決結(jié)構(gòu)相關(guān)解決結(jié)構(gòu)相關(guān)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理51數(shù)據(jù)相關(guān)及解決方法數(shù)據(jù)相關(guān)及解決方法I1I1:add add r1r1,r2,r3,r2,r3I2I2:sub r4,sub r4,r1r1,r5,r5I3I3:and r6,r7,

50、and r6,r7,r1r1I4I4:or r8,or r8,r1r1,r9,r9I5I5:addi r10,addi r10,r1r1,100,100A AL LU UPC寄存器堆rs2disprs1控制器+1immeopcodeA1Q1Q2DIADA2ISE數(shù)據(jù)存儲(chǔ)器AddDODIAB指令存儲(chǔ)器AddDataIRDSErddABIddZRSCDrdMEMWBEXEIDIFa ad dd d r r1 1, ,r r2 2, ,r r3 3s su ub b r r4 4, ,r r1 1, ,r r5 5a an nd d r r6 6, ,r r7 7, ,r r1 1o or r r

51、r8 8, ,r r1 1, ,r r9 9a ad dd di i r r1 10 0, ,r r1 1, ,1 10 00 0I I1 1I I2 2I I3 3I I4 4I I5 5計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理52a ad dd dr r2 2, ,r r3 3a ad dd dr r1 1s su ub bI I1 1: : a ad dd d r r1 1, ,r r2 2, ,r r3 3I I2 2: : s su ub b r r4 4, ,r r1 1, ,r r5 5I I3 3: : a an nd d r r6 6, ,r r7 7, ,r r1 1I I4 4: :

52、 o or r r r8 8, ,r r1 1, ,r r9 9I I5 5: : a ad dd di i r r1 10 0, ,r r1 1, ,1 10 00 0r r1 1, ,r r5 5s su ub br r4 4a an nd dr r7 7, ,r r1 1a an nd dr r6 6o or rr r1 1, ,r r9 9o or rr r8 8a ad dd di ir r1 1, ,1 10 00 0a ad dd dr r1 10 0a ad dd dr r2 2, ,r r3 3a ad dd dr r1 1s su ub bI I1 1: : a ad dd

53、 d r r1 1, ,r r2 2, ,r r3 3I I2 2: : s su ub b r r4 4, ,r r1 1, ,r r5 5I I3 3: : a an nd d r r6 6, ,r r7 7, ,r r1 1I I4 4: : o or r r r8 8, ,r r1 1, ,r r9 9I I5 5: : a ad dd di i r r1 10 0, ,r r1 1, ,1 10 00 0r r1 1, ,r r5 5s su ub br r4 4a an nd dr r7 7, ,r r1 1a an nd dr r6 6o or rr r1 1, ,r r9 9o

54、 or rr r8 8a ad dd di ir r1 1, ,1 10 00 0a ad dd dr r1 10 0寫(xiě)寄存器堆提前半個(gè)周期,我們只需考慮兩條相關(guān)指令寫(xiě)寄存器堆提前半個(gè)周期,我們只需考慮兩條相關(guān)指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理53數(shù)據(jù)相關(guān)及解決方法數(shù)據(jù)相關(guān)及解決方法如何檢測(cè)發(fā)生了數(shù)據(jù)相關(guān)?如何檢測(cè)發(fā)生了數(shù)據(jù)相關(guān)?靜態(tài)方法:靜態(tài)方法:由編譯程序來(lái)完成檢測(cè)。若發(fā)生數(shù)據(jù)相關(guān),則由編譯程序來(lái)完成檢測(cè)。若發(fā)生數(shù)據(jù)相關(guān),則I1I1:add add r1r1,r2,r3,r2,r3 nopnop nopnopI2I2:sub r4,sub r4,r1r1,r5,r5I3I3:and r6,r

55、7,and r6,r7,r1r1I1I1:add add r1r1,r2,r3,r2,r3I2I2:sub r4,r5,sub r4,r5,r1r1I3I3:and r6,and r6,r1r1,r7,r7真正影響數(shù)據(jù)正確性的數(shù)據(jù)相關(guān)是先真正影響數(shù)據(jù)正確性的數(shù)據(jù)相關(guān)是先寫(xiě)后讀寫(xiě)后讀相關(guān)相關(guān)(R Read ead A After fter W Write)rite)I1I1:add add r1r1,r2,r3 ,r2,r3 I2I2:sub r4,sub r4,r1r1,r5,r5I3I3:and r6,r7,and r6,r7,r1r1如何解決數(shù)據(jù)相關(guān)?如何解決數(shù)據(jù)相關(guān)?I1I1:add add r1r1,r2,r3,r2,r3I2I2:sub r4,r2,r5sub r4,r2,r5 nop nopI3I3:and r6,r7,and r6,r7,r1r1計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理54動(dòng)態(tài)方法:動(dòng)態(tài)方法: 由硬件來(lái)完成檢測(cè)。若發(fā)生數(shù)據(jù)相關(guān),則暫停流水線由硬件來(lái)完成檢測(cè)。若發(fā)生數(shù)據(jù)相關(guān),則暫停流水線暫停流水線要做暫停流水線要做3 3件事情:件事情:1 1、封鎖當(dāng)前正在譯碼的指令的寫(xiě)控制信號(hào);、封鎖當(dāng)前正在

溫馨提示

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