版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第三部分,流水線技術(shù)3.1流水線的基本概念3.2DLX 的基本流水線3.3流水線中的相關(guān)3.4向量處理機3.1流水線的基本概念3.1.1 基本概念3.1.2 流水線的分類3.1流水線的基本概念每當談起流水線,人們就可能會將它與每當談起流水線,人們就可能會將它與生產(chǎn)車間的產(chǎn)品生產(chǎn)流水線聯(lián)系起來。的生產(chǎn)車間的產(chǎn)品生產(chǎn)流水線聯(lián)系起來。的確,計算機技術(shù)中的流水線概念正是由此確,計算機技術(shù)中的流水線概念正是由此得來的。為了對計算機技術(shù)中的流水線概得來的。為了對計算機技術(shù)中的流水線概念有明確的認識,念有明確的認識,下面我們首先通過一個下面我們首先通過一個例子來看看產(chǎn)品生產(chǎn)流水線的作用。例子來看看產(chǎn)品生產(chǎn)流
2、水線的作用。3.1.1 基本概念A 產(chǎn)品流水線B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1流水線的基本概念3.1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1流水線的基本概念特點:特點:每件產(chǎn)品還是要經(jīng)過每件產(chǎn)品還是要經(jīng)過4道工序處理,單件道工序處理,單件產(chǎn)品的加工時間并沒有改變,但是它將各產(chǎn)品的加工時間并沒有改變,但是它將各個工人的操作時間重疊在一起,使得每件個工人的操作時間重疊在一起,使得每件產(chǎn)品的產(chǎn)出時間從表面看是從原來的產(chǎn)品的產(chǎn)出時間從表面看是
3、從原來的4分分鐘縮減到鐘縮減到1分鐘,提高了產(chǎn)品的產(chǎn)出率分鐘,提高了產(chǎn)品的產(chǎn)出率3.1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1流水線的基本概念 可以將上述思想引入到計算機技術(shù)中來??梢詫⑸鲜鏊枷胍氲接嬎銠C技術(shù)中來。例如,把一條例如,把一條指令解釋過程指令解釋過程分解為分解為分析和分析和執(zhí)行執(zhí)行兩個子過程,并讓這兩個子過程兩個子過程,并讓這兩個子過程分別分別用獨立的分析部件和執(zhí)行部件來實現(xiàn)。用獨立的分析部件和執(zhí)行部件來實現(xiàn)。理想情況:速度提高一倍理想情況:速度提高一倍3.
4、1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1流水線的基本概念把把浮點加法浮點加法的全過程分解為的全過程分解為求階差、對階、求階差、對階、尾數(shù)相加、規(guī)格化四尾數(shù)相加、規(guī)格化四個子過程,并讓它們個子過程,并讓它們分別用各自獨立的部件來實現(xiàn)。分別用各自獨立的部件來實現(xiàn)。理想情況:理想情況:速度提高三倍速度提高三倍3.1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1
5、流水線的基本概念 時空圖從時間和空間兩個方面描述時空圖從時間和空間兩個方面描述了流水線的工作過程。時空圖中,橫坐了流水線的工作過程。時空圖中,橫坐標代表時間,縱坐標代表流水線的各個段。標代表時間,縱坐標代表流水線的各個段。 3.1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1流水線的基本概念 流水技術(shù)是指:流水技術(shù)是指:將一個重復的時序?qū)⒁粋€重復的時序過程分解成為若干個子過程,而每個子過過程分解成為若干個子過程,而每個子過程都可有效地在其專用功能段上與其他子程都可有效地在其專用
6、功能段上與其他子過程同時執(zhí)行。過程同時執(zhí)行。 3.1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點3.1流水線的基本概念3.1.1 基本概念A 產(chǎn)品流水線A.1 兩種方案及工作過程對比A.2 流水線過程的抽象描述及其特點B 指令流水線C 浮點加法流水線D 時-空圖E 流水技術(shù)及其特點流水技術(shù)的特點是指:流水技術(shù)的特點是指:(1) 流水過程由多個相聯(lián)系的子過程組成,流水過程由多個相聯(lián)系的子過程組成,每個子過程稱為流水線的級或段每個子過程稱為流水線的級或段。段的數(shù)段的數(shù)目稱為流水線的深度
7、目稱為流水線的深度。(2) 每個子每個子過程由專用的功能段實現(xiàn)過程由專用的功能段實現(xiàn); (3) 各個各個功能段所需時間應盡量相等功能段所需時間應盡量相等,否,否則,時則,時間長的功能段將間長的功能段將成為流水線的瓶頸,成為流水線的瓶頸,會造成流水線的會造成流水線的堵塞和斷流堵塞和斷流。這個時間一這個時間一般 為 一 個 時 鐘 周 期般 為 一 個 時 鐘 周 期 ( 拍拍 ) ; (4) 流水線需要有流水線需要有通過時間通過時間 (第一個任務流第一個任務流出結(jié)果所需的時間出結(jié)果所需的時間),在此之后流水過程,在此之后流水過程才進入穩(wěn)定工作狀態(tài),每一個時鐘周期才進入穩(wěn)定工作狀態(tài),每一個時鐘周期
8、(拍拍)流出一個結(jié)果;流出一個結(jié)果; 3.1流水線的基本概念3.1.1 基本概念3.1.2 流水線的分類3.1流水線的基本概念 只能完成一種固定功能的流水線。只能完成一種固定功能的流水線。3.1.2 流水線的分類A 按照功能多少來分A.1 單功能流水線A.2 多功能流水線3.1流水線的基本概念 流水線的各段可以進行不同的連接,從流水線的各段可以進行不同的連接,從而實現(xiàn)不同的功能。而實現(xiàn)不同的功能。3.1.2 流水線的分類A 按照功能多少來分A.1 單功能流水線A.2 多功能流水線有八個有八個段可以段可以進行不進行不同的連同的連接以實接以實現(xiàn)不同現(xiàn)不同的功能。的功能。例如浮例如浮點運算點運算和乘
9、法和乘法運算運算3.1流水線的基本概念 在同一時刻,流水線的各段只能按同在同一時刻,流水線的各段只能按同一種功能的連接方式工作。一種功能的連接方式工作。 在靜態(tài)流水線中,只有當輸入是一串在靜態(tài)流水線中,只有當輸入是一串相同的運算操作時,流水的效率才能得到相同的運算操作時,流水的效率才能得到發(fā)揮。發(fā)揮。 3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分B.1 靜態(tài)流水線B.2 動態(tài)流水線12345678下述靜態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能下述靜態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能假設(shè)流水線現(xiàn)在正在進行加法操作假設(shè)流水線現(xiàn)在正在進行加法操作12
10、345678下述靜態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能下述靜態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能假設(shè)流水線現(xiàn)在正在進行加法操作假設(shè)流水線現(xiàn)在正在進行加法操作這時候來一個乘法操作任務,能否進入流水線?這時候來一個乘法操作任務,能否進入流水線?不能!不能!12345678下述靜態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能下述靜態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能加法操作已經(jīng)排空加法操作已經(jīng)排空必須等到加法操作排空后才能進入必須等到加法操作排空后才能進入3.1流水線的基本概念 在同一時刻,流水線的各段可以按不同在同一時刻,流水線的各段可以按不同功能的連接方式工作。功能的連接方式工作。
11、 這樣就不是非得相同運算的一串操作這樣就不是非得相同運算的一串操作才能流水處理。才能流水處理。 優(yōu)點:能提高流水線的效率。優(yōu)點:能提高流水線的效率。 缺點:會使流水線的控制變得復雜。缺點:會使流水線的控制變得復雜。 3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分B.1 靜態(tài)流水線B.2 動態(tài)流水線12345678下述動態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能下述動態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能假設(shè)流水線現(xiàn)在正在進行加法操作假設(shè)流水線現(xiàn)在正在進行加法操作這時候來一個乘法操作任務,能否進入流水線?這時候來一個乘法操作任務,能否進入流水線?可以!可
12、以!12345678下述動態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能下述動態(tài)流水線共八段,按不同連接方法實現(xiàn)兩種功能3.1流水線的基本概念 它是把處理機的算術(shù)邏輯部件分段,以它是把處理機的算術(shù)邏輯部件分段,以便為各種數(shù)據(jù)類型進行流水操作。便為各種數(shù)據(jù)類型進行流水操作。 3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分C.1 部件級流水線C.2 處理機級流水線C.3 處理機間流水級3.1流水線的基本概念 它是把指令的解釋執(zhí)行過程按照流水方它是把指令的解釋執(zhí)行過程按照流水方式進行處理。式進行處理。 例如,例如,DLX的基本流水線把指令解釋
13、過的基本流水線把指令解釋過程分解為:程分解為:取指令、指令譯碼、執(zhí)行、訪存、寫回。取指令、指令譯碼、執(zhí)行、訪存、寫回。3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分C.1 部件級流水線C.2 處理機級流水線C.3 處理機間流水級從指令存儲器從指令存儲器中取指令中取指令對指令進行譯對指令進行譯碼,并訪問寄碼,并訪問寄存器,讀取操存器,讀取操作數(shù)作數(shù)對操作數(shù)進行對操作數(shù)進行有效地址計算有效地址計算Load 或或 Store指令在該段訪指令在該段訪問數(shù)據(jù)存儲器問數(shù)據(jù)存儲器把運算結(jié)果或把運算結(jié)果或者從者從DM中取得中取得的數(shù)寫入寄存的數(shù)寫入
14、寄存器器3.1流水線的基本概念 它是指由兩個以上的處理機串行地對同它是指由兩個以上的處理機串行地對同一數(shù)據(jù)流進行處理,每個處理機完成一項一數(shù)據(jù)流進行處理,每個處理機完成一項任務。任務。 3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分C.1 部件級流水線C.2 處理機級流水線C.3 處理機間流水級3.1流水線的基本概念 不具有向量指令和向量數(shù)據(jù)表示,僅對不具有向量指令和向量數(shù)據(jù)表示,僅對標量進行流水處理的處理機。標量進行流水處理的處理機。例如例如IBM360/91,Amdah1 470V/6等等 3.1.2 流水線的分類A 按照功能多
15、少來分B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分D 按照數(shù)據(jù)表示來分D.1 標量處理機D.2 向量處理機3.1流水線的基本概念具有向量指令和向量數(shù)據(jù)表示的處理機。具有向量指令和向量數(shù)據(jù)表示的處理機。例 如 :例 如 : T I A S C , C R AY- I 等等。 3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分D 按照數(shù)據(jù)表示來分D.1 標量處理機D.2 向量處理機3.1流水線的基本概念流水線中的各段串行連接,沒有反饋回路。流水線中的各段串行連接,沒有反饋回路。3.1.2 流水線的分類A 按照功能多少來分
16、B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分D 按照數(shù)據(jù)表示來分E 按照是否有反饋回路來分E.1 線性流水機E.2 非線性流水機E.2.1 流水線調(diào)度問題3.1流水線的基本概念流水線中的各段除有串行連接外,還有反流水線中的各段除有串行連接外,還有反饋回路。饋回路。 3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連接方式來分C 按照流水線的級別來分D 按照數(shù)據(jù)表示來分E 按照是否有反饋回路來分E.1 線性流水機E.2 非線性流水機E.2.1 流水線調(diào)度問題3.1流水線的基本概念3.1.2 流水線的分類A 按照功能多少來分B 按照同一時間段各段之間的連
17、接方式來分C 按照流水線的級別來分D 按照數(shù)據(jù)表示來分E 按照是否有反饋回路來分E.1 線性流水機E.2 非線性流水機E.2.1 流水線調(diào)度問題 流水線的調(diào)度問題流水線的調(diào)度問題3.2DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)3.2.2 基本的DLX流水線3.2.3 流水線的性能分析首先談一下在不涉及流水的情況下首先談一下在不涉及流水的情況下DLX如何實現(xiàn)如何實現(xiàn)3.2.1 DLX的一種簡單實現(xiàn)3.2 DLX的基本流水線首先談一下在不涉及流水的情況下首先談一下在不涉及流水的情況下DLX如何實現(xiàn)如何實現(xiàn)3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路3.2 DLX的基本流
18、水線程序計數(shù)器程序計數(shù)器加法器加法器指令寄存器指令寄存器多路選擇器多路選擇器臨時寄存器,用來暫存需從上一個時鐘周臨時寄存器,用來暫存需從上一個時鐘周期傳遞到下一個時鐘周期的值期傳遞到下一個時鐘周期的值3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期3.2 DLX的基本流水線存放下一條指令的存放下一條指令的PC值值存放從寄存器中讀取的內(nèi)存放從寄存器中讀取的內(nèi)容容存放立即數(shù)存放立即數(shù)存放條件碼存放條件碼存放存放ALU運運算結(jié)果算結(jié)果存放從存儲存放從存儲器中取出的器中取出的數(shù)數(shù)IR MemPC NPC PC + 4 3.2.1 DLX的一種簡
19、單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期3.2 DLX的基本流水線1,根據(jù),根據(jù)PC值值從存儲器中取從存儲器中取指令指令2,將指令送入,將指令送入指令寄存器指令寄存器IR3, PC值加值加4,指向下一條指指向下一條指令令4, 放入臨時放入臨時寄存器寄存器NPC中中A RegsIR6.10 B RegsIR11.15 Imm(IR16)16#IR16.31) 3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)3.2 DL
20、X的基本流水線 指令的譯碼操作和讀寄存器操作是并指令的譯碼操作和讀寄存器操作是并行進行的。行進行的。之所以能做到這一點,是因為之所以能做到這一點,是因為DLX指令格式中,操作碼在固定位置。指令格式中,操作碼在固定位置。這種技術(shù)也稱為這種技術(shù)也稱為固定字段譯碼技術(shù)固定字段譯碼技術(shù)。值得。值得注意的是,在上述過程中,可能讀出了一注意的是,在上述過程中,可能讀出了一些在后面周期中并不會使用到的寄存器內(nèi)些在后面周期中并不會使用到的寄存器內(nèi)容,但是這并不會影響指令執(zhí)行的正確性。容,但是這并不會影響指令執(zhí)行的正確性。相反,卻可以有效地降低問題的復雜性。相反,卻可以有效地降低問題的復雜性。 另外,由于立即值
21、在另外,由于立即值在DLX指令格式中指令格式中處于固定位置,因此這里也對其進行符號處于固定位置,因此這里也對其進行符號擴展,以便在下一個周期能使用它。當然擴展,以便在下一個周期能使用它。當然由于指令的不同,也許在后面的周期中并由于指令的不同,也許在后面的周期中并不會用到這個立即值,但無論如何,提前不會用到這個立即值,但無論如何,提前形成立即值總是有益無害的。形成立即值總是有益無害的。 3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)3.2 DLX的基本流水線A,進行指令譯碼
22、進行指令譯碼B-1,以,以IR6.10和和IR11.15為地址訪為地址訪問寄存器問寄存器B-2,讀出的結(jié),讀出的結(jié)果放在臨時寄存果放在臨時寄存器器A和和B中中C-1,同時對,同時對IR寄存器中低寄存器中低16位內(nèi)容進行符號位擴展位內(nèi)容進行符號位擴展C-2,擴展后的內(nèi),擴展后的內(nèi)容放在臨時寄存器容放在臨時寄存器Imm中中A,B,C是同時進行的是同時進行的 在這個周期,不同的指令有不同的操在這個周期,不同的指令有不同的操作。作。3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯
23、碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.3.1 存儲器訪問指令B.3.2 寄存器-寄存器ALU操作B.3.3 寄存器-立即數(shù)ALU操作B.3.4 分支指令ALUoutput A + Imm 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.3.1 存儲器訪問指令B.3.2 寄存器-寄存器ALU操作B.3.3 寄存器-立即數(shù)ALU操作B.3.4 分支指令 存儲器訪問存儲器訪問 ALUOutput AALUOutp
24、ut AImmImm1,ALU將將A的值的值與與Imm的值相加的值相加形成有效地址形成有效地址2,結(jié)果放入,結(jié)果放入ALUOutput中中ALUoutput A op B 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.3.1 存儲器訪問指令B.3.2 寄存器-寄存器ALU操作B.3.3 寄存器-立即數(shù)ALU操作B.3.4 分支指令 寄存器寄存器寄存器寄存器 ALU ALU 操作操作 ALUOutput A op BAL
25、UOutput A op B1,ALU根據(jù)操作碼指定根據(jù)操作碼指定的功能對的功能對A和和B中的值進行中的值進行運算運算2,結(jié)果放入,結(jié)果放入ALUOutput中中ALUoutput A op Imm 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.3.1 存儲器訪問指令B.3.2 寄存器-寄存器ALU操作B.3.3 寄存器-立即數(shù)ALU操作B.3.4 分支指令ALUoutput NPC + Imm;Cond (A op
26、0) 3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.3.1 存儲器訪問指令B.3.2 寄存器-寄存器ALU操作B.3.3 寄存器-立即數(shù)ALU操作B.3.4 分支指令3.2 DLX的基本流水線 分支操作分支操作ALUOutput NPCALUOutput NPCImm Imm Cond (A op 0)Cond (A op 0)1,ALU將將NPC和和Imm的值相加形成的值相加形成分支的目標地址分支的目標地址2,檢測,檢測A中的值,判斷分支是否
27、成功,進行何種中的值,判斷分支是否成功,進行何種操作由分支操作碼決定。比如操作由分支操作碼決定。比如BEQZ的檢測操作的檢測操作為為”=0?”3,若分,若分支成功,支成功,則將則將Cond設(shè)設(shè)置為置為”真真“否則設(shè)否則設(shè)置為置為”假假” 這里,將有效地址計算周期和執(zhí)行周這里,將有效地址計算周期和執(zhí)行周期合并為一個時鐘周期,這是由期合并為一個時鐘周期,這是由 DLX 指指令集結(jié)構(gòu)本身的特點所允許的,因為在令集結(jié)構(gòu)本身的特點所允許的,因為在 DLX 指令集結(jié)構(gòu)中,沒有任何指令需要指令集結(jié)構(gòu)中,沒有任何指令需要同時計算數(shù)據(jù)的存儲器地址、計算分支指同時計算數(shù)據(jù)的存儲器地址、計算分支指令的目標地址和對數(shù)
28、據(jù)進行處理。令的目標地址和對數(shù)據(jù)進行處理。 3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.3.1 存儲器訪問指令B.3.2 寄存器-寄存器ALU操作B.3.3 寄存器-立即數(shù)ALU操作B.3.4 分支指令3.2 DLX的基本流水線LOAD:LMD MemALUoutputSTORE: MemALUoutput B 3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)
29、B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.4 存儲器訪問/分支完成周期(MEM)B.4.1 存儲器訪問指令操作LOAD和STOREB.4.2 分支操作3.2 DLX的基本流水線LOAD:LMD MemALUoutput對于對于Load指令指令,1,將,將ALUOutput中的值作為訪存地中的值作為訪存地址,從存儲器中讀址,從存儲器中讀出相應的數(shù)據(jù)出相應的數(shù)據(jù)對于對于Load指令指令,2,放入臨時寄存器,放入臨時寄存器LMDSTORE: MemALUoutput B對于對于Store指令指令,將將B中的值按照中的值按照ALUOutput所指明所指明的地址寫入存儲器的地址寫
30、入存儲器if (cond) PC ALUoutput else PC NPC 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.4 存儲器訪問/分支完成周期(MEM)B.4.1 存儲器訪問指令操作LOAD和STOREB.4.2 分支操作1,如果,如果cond為真,則表示分支為真,則表示分支轉(zhuǎn)移成功轉(zhuǎn)移成功2,ALUOutput的值作的值作為目標地址存放在為目標地址存放在PC中中(cond為真的情況下)為真的情況下)1,如果
31、,如果cond為假,則表示分支為假,則表示分支轉(zhuǎn)移不成功轉(zhuǎn)移不成功2,將,將NPC值送入值送入PC,作為下,作為下一條指令的地址(一條指令的地址(cond為假的為假的情況下)情況下)RegsIR16.20 ALUoutput 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.4 存儲器訪問/分支完成周期(MEM)B.5 寫回周(WB)B.5.1 寄存器-寄存器ALU指令B.5.2 寄存器-立即型ALU指令B.5.3 Loa
32、d指令寄存器寄存器寄存器型寄存器型 ALU ALU 指令指令 RegsRegsIRIR1616 .20.20 ALUOutput ALUOutput將將ALUOUTPUT的值寫回寄存器的值寫回寄存器RegsIR11.15 ALUoutput 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.4 存儲器訪問/分支完成周期(MEM)B.5 寫回周(WB)B.5.1 寄存器-寄存器ALU指令B.5.2 寄存器-立即型ALU指令B
33、.5.3 Load指令寄存器寄存器立即值型立即值型 ALU ALU 指令指令 RegsRegsIRIR1111 .15.15 ALUOutput ALUOutput將將ALUOUTPUT的值寫回寄存器的值寫回寄存器RegsIR11.15 ALUoutput 3.2 DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.4 存儲器訪問/分支完成周期(MEM)B.5 寫回周(WB)B.5.1 寄存器-寄存器ALU指令B.5.2 寄存器-立
34、即型ALU指令B.5.3 Load指令LoadLoad 指令指令 RegsRegsIRIR1111 .15.15 LMD LMD將將LMD的值寫回寄存器的值寫回寄存器 上述指令均是將結(jié)果寫入寄存器文件。上述指令均是將結(jié)果寫入寄存器文件。無論結(jié)果是來自于存儲器系統(tǒng)(臨時寄存無論結(jié)果是來自于存儲器系統(tǒng)(臨時寄存器器 LMD 中的內(nèi)容),還是來自于中的內(nèi)容),還是來自于 ALU 的計算結(jié)果(臨時寄存器的計算結(jié)果(臨時寄存器 ALUoutput 中中的內(nèi)容),的內(nèi)容),都由操作碼決定將其送入目標都由操作碼決定將其送入目標寄存器相應的域中。寄存器相應的域中。 3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DL
35、X的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期B.1 取指令周期(IF)B.2 指令譯碼/讀寄存器周期(ID)B.3 執(zhí)行周期(EX)B.4 存儲器訪問/分支完成周期(MEM)B.5 寫回周(WB)B.5.1 寄存器-寄存器ALU指令B.5.2 寄存器-立即型ALU指令B.5.3 Load指令3.2 DLX的基本流水線 分支指令需要分支指令需要4個時鐘周期完成,其它個時鐘周期完成,其它指令需要指令需要5個時鐘周期完成。個時鐘周期完成。 假設(shè)分支指令數(shù)占指令總數(shù)(也稱混合假設(shè)分支指令數(shù)占指令總數(shù)(也稱混合指令數(shù))的指令數(shù))的12,則其,則其 CPI 是是4.88個時鐘個時鐘周期。
36、由此可見,上述實現(xiàn)無論是從性能周期。由此可見,上述實現(xiàn)無論是從性能方面,還是從硬件開銷方面,都稱不上是方面,還是從硬件開銷方面,都稱不上是一種優(yōu)化實現(xiàn)。一種優(yōu)化實現(xiàn)。3.2.1 DLX的一種簡單實現(xiàn)A 實現(xiàn)DLX的一種簡單數(shù)據(jù)通路B 一條DLX指令最多所需要的5個時鐘周期3.2 DLX的基本流水線 可以可以DLX將每一個時鐘周期看作是將每一個時鐘周期看作是流水線的一個時鐘周期,使數(shù)據(jù)通路成為流水線的一個時鐘周期,使數(shù)據(jù)通路成為一條指令流水線。一條指令流水線。硬件每個時鐘周期啟動硬件每個時鐘周期啟動一條新的指令,并執(zhí)行一條新的指令,并執(zhí)行5條不同指令中的條不同指令中的某一部分。某一部分。 我們可
37、以用時空圖的另外一種形式將我們可以用時空圖的另外一種形式將該流水線描述入下圖所示的流水過程該流水線描述入下圖所示的流水過程 。3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程3.2 DLX的基本流水線3.2DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)3.2.2 基本的DLX流水線3.2.3 流水線的性能分析 可以看出,每條指令仍然需要可以看出,每條指令仍然需要5個時鐘個時鐘周期完成,但是指令執(zhí)行的吞吐量卻有很周期完成,但是指令執(zhí)行的吞吐量卻有很大提高。大提高。 3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程3.2 DLX的基本流水線 DLX 流水線十分簡單,但是
38、要使流水線十分簡單,但是要使 DLX 指令的各種組合能夠在上述流水線指令的各種組合能夠在上述流水線中真正流水起來,充分發(fā)揮流水線的效率,中真正流水起來,充分發(fā)揮流水線的效率,并不是一件很容易的事情,還有許多問題并不是一件很容易的事情,還有許多問題有待解決有待解決。3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B,2 流水線寄存器 確保流水線的各段不會在同一個時鐘確保流水線的各段不會在同一個時鐘周期內(nèi)使用相同的數(shù)據(jù)通路資源。下圖從周期內(nèi)使用相同的數(shù)據(jù)通路資源。下圖從使用流水線資源的角度描述了上述流水線使用流
39、水線資源的角度描述了上述流水線的流水過程的流水過程 。 從圖中可以看到,在同一個時鐘周期從圖中可以看到,在同一個時鐘周期內(nèi)每條指令所使用的功能單元都不同。內(nèi)每條指令所使用的功能單元都不同。3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.1.1 從使用流水資源的角度看流水過程B.1.2 引出沖突問題B.2 流水線寄存器取指令操作和訪問數(shù)據(jù)操作之間可能存在取指令操作和訪問數(shù)據(jù)操作之間可能存在訪問存儲器沖突,怎么處理呢?訪問存儲器沖突,怎么處理呢?將指令存儲器(將指令存儲器(IM)和數(shù)據(jù)存儲器()和數(shù)據(jù)存儲器
40、(DM)分隔開分隔開3.2.2 基本的DLX流水線A 一種簡單DLX流水線B 簡單DLX流水線的流水過程B.1 類似于時空圖的流水過程B.2 采用流水技術(shù)應解決好的幾個問題B.2.1 沖突問題B.2.1.1 從使用流水資源的角度看流水過程B.2.1.2 引出沖突問題3.2 DLX的基本流水線 從下圖還可以看到,流水線中的從下圖還可以看到,流水線中的 ID 段和段和 WB 段都要使用寄存器文件:段都要使用寄存器文件:在在 ID 段對寄存器文件進行讀操作,在段對寄存器文件進行讀操作,在 WB 段段對寄存器文件進行寫操作。對寄存器文件進行寫操作。那么,如果讀那么,如果讀操作和寫操作都是對同一寄存器進
41、行,又操作和寫操作都是對同一寄存器進行,又將如何?將如何? 3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.1.1 從使用流水資源的角度看流水過程B.1.2 引出沖突問題B.2 流水線寄存器 其次,在圖中沒有考慮其次,在圖中沒有考慮 PC 的問題。的問題。流流水線為了能夠在每個時鐘周期啟動一條新水線為了能夠在每個時鐘周期啟動一條新的指令,就必須在每個時鐘完成的指令,就必須在每個時鐘完成 PC 值的值的增值操作,并保存增值后的增值操作,并保存增值后的 PC 值。對上值。對上述述 DLX 流水線來說,這些操
42、作必須在流水線來說,這些操作必須在IF段完成段完成 ,以便為取下一條指令做好準備,以便為取下一條指令做好準備 當流水線執(zhí)行分支指令時,則會出現(xiàn)當流水線執(zhí)行分支指令時,則會出現(xiàn)新的問題新的問題。分支指令。分支指令可能會改變可能會改變 PC 的的值,值,但是它只有在但是它只有在MEM段結(jié)束時才能完成改段結(jié)束時才能完成改變變PC值的操作值的操作 。所以針對這個問題,我所以針對這個問題,我們需要重新組織上述流水線的數(shù)據(jù)通路們需要重新組織上述流水線的數(shù)據(jù)通路 ,爭取在爭取在 IF 段中完成改變段中完成改變 PC 值的操作。值的操作。這就是如何處理分支指令的問題,這就是如何處理分支指令的問題,3.2.2
43、基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.1.1 從使用流水資源的角度看流水過程B.1.2 引出沖突問題B.2 流水線寄存器3.2 DLX的基本流水線希望在希望在IF階段完成階段完成PC值的改變,好在下一時間周期啟動下一條值的改變,好在下一時間周期啟動下一條指令,而不是等到目前的指令執(zhí)行完指令,而不是等到目前的指令執(zhí)行完MEM才改變。才改變。但是當存在分支操作時,但是當存在分支操作時,PC的新值必須等到的新值必須等到MEM結(jié)束時才知結(jié)束時才知道。這樣就影響了流水過程。道。這樣就影響了流水過程。所以對流水通路進行了重新的組織所以對流水通
44、路進行了重新的組織為解決問題,我們?yōu)榻鉀Q問題,我們重新組織數(shù)據(jù)通路重新組織數(shù)據(jù)通路,把所有改變把所有改變PCPC值的操作都放在值的操作都放在IFIF段進行。段進行。但分支指令如何處理?但分支指令如何處理? 通過上面的討論可以看到,在通過上面的討論可以看到,在 DLX 基基本流水線中,每個時鐘周期都要用到其所本流水線中,每個時鐘周期都要用到其所有的流水段,一個流水段中的所有操作必有的流水段,一個流水段中的所有操作必須在一個時鐘周期內(nèi)完成。特別是須在一個時鐘周期內(nèi)完成。特別是要使數(shù)要使數(shù)據(jù)通路完全流水,就必須保證從一個流水據(jù)通路完全流水,就必須保證從一個流水段傳輸?shù)较聜€流水段的數(shù)據(jù)都被保存在寄段傳
45、輸?shù)较聜€流水段的數(shù)據(jù)都被保存在寄存器文件中。為此,需在流水線各段之間存器文件中。為此,需在流水線各段之間設(shè)置寄存器文件設(shè)置寄存器文件 , 3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.2 流水線寄存器將將PC看成是看成是IF段前的寄存段前的寄存器器 把數(shù)據(jù)和控制信息從一個流水段傳送把數(shù)據(jù)和控制信息從一個流水段傳送到下一個流水段。到下一個流水段。3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.2 流水線寄存器B.
46、2.1 流水線寄存器的作用B.2.2 寄存器的命名B.2.3 流水線寄存器的構(gòu)成當一條指令到某一段時,當一條指令到某一段時,需要相應的數(shù)據(jù)和控制需要相應的數(shù)據(jù)和控制信息。信息。這些信息由各段的流水這些信息由各段的流水線寄存器提供。線寄存器提供。當指令在流水線中流動當指令在流水線中流動時,其數(shù)據(jù)和控制信息時,其數(shù)據(jù)和控制信息也在同步地向前流動也在同步地向前流動例如對例如對ALU指令來說,指令來說,結(jié)果寄存器的地址在結(jié)果寄存器的地址在IF段就已獲得(在指令中)段就已獲得(在指令中)但 是 這 個但 是 這 個地 址 要 到地 址 要 到WB段寫入段寫入寄 存 器 時寄 存 器 時才用到才用到寄存器
47、組用連接它們的流水段的名稱來命寄存器組用連接它們的流水段的名稱來命名。例如名。例如IF/ID流水線寄存器組中所包含的寄存器的命名流水線寄存器組中所包含的寄存器的命名類似于域的命名。即采用類似于域的命名。即采用 “寄存器組寄存器組.寄寄存器名存器名” 的方式,例如的方式,例如IF/ID.IR3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.2 流水線寄存器B.2.1 流水線寄存器的作用B.2.2 寄存器的命名B.2.3 流水線寄存器的構(gòu)成3.2 DLX的基本流水線3.2.2 基本的DLX流水線A 簡單DLX
48、流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題B.1 沖突問題B.2 流水線寄存器B.2.1 流水線寄存器的作用B.2.2 寄存器的命名B.2.3 流水線寄存器的構(gòu)成NPC,存放下一條指令;,存放下一條指令;IR, 存放指令;存放指令;A和和ID/EX.B, 存放寄存器讀出的結(jié)果;存放寄存器讀出的結(jié)果;Imm,存放立即數(shù);,存放立即數(shù);Conc存放分支標示;存放分支標示;EX/MEN.B, 存放要寫入存儲器的數(shù)據(jù)存放要寫入存儲器的數(shù)據(jù)ALUOutput,存放,存放ALU的運算結(jié)果。對于分支指令,存放分支地址。也稱為的運算結(jié)果。對于分支指令,存放分支地址。也稱為EX/MEM.NPCLMD,存
49、放從存儲器讀出的數(shù)據(jù),存放從存儲器讀出的數(shù)據(jù)3.1流水線的基本概念3.2.2 基本的DLX流水線A 簡單DLX流水線的流水過程B 采用流水技術(shù)應解決好的幾個問題C DLX流水線的操作 對于流水線中的指令來說,在任一時對于流水線中的指令來說,在任一時刻,它僅在流水線中的某一段內(nèi)執(zhí)行。因刻,它僅在流水線中的某一段內(nèi)執(zhí)行。因此,只要知道每一流水段在各種指令的情此,只要知道每一流水段在各種指令的情況下進行何種操作,就知道了整個流水線況下進行何種操作,就知道了整個流水線的操作。的操作。流水段流水段 DLX流水線的每個流水段的操作任何指令類型任何指令類型ALU ALU 指令指令Load/Store Loa
50、d/Store 指令指令分支指令分支指令I(lǐng)FIFIDIDEXEXIF/ID.IR MemPCIF/ID.NPC,PC (if EX/MEM.cond EX/MEM.NPC else PC+4);ID/EX.A RegsIF/ID.IR6.10; ID/EX.B RegsIF/ID.IR11.15;ID/EX.NPC IF/ID.NPC; ID/EX.IR IF/ID.IR;ID/EX.Imm (IR16)16#IR16.31;EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A op ID/EX.B 或EX/MEM.ALUOutput ID/EX.A op
51、ID/EX.Imm;EX/MEM.cond 0;EX/MEM.IR ID/EX.IR; EX/MEM.ALUOutput ID/EX.A + ID/EX.Imm;EX/MEM.ALUOutput ID/EX.NPC + ID/EX.Imm;EX/MEM.cond (ID/EX.A op 0);(動畫演示)(動畫演示)(動畫演示)(動畫演示)(動畫演示)流水段流水段任何指令類型任何指令類型ALU ALU 指令指令Load/Store Load/Store 指令指令分支指令分支指令MEMMEMWBWBMEM/WB.IR EX/MEM.IR; MEM/WB.ALUOutput EX/MEM.ALUO
52、utput;MEM/WB.IR EX/MEM.IR; MEM/WB.LMD MemEX/MEM.ALUOutput;或MemEX/MEM.ALUOutput EX/MEM.B;RegsMEM/WB.IR16.20 MEM/WB.ALUOutput;或RegsMEM/WB.IR11.15 MEM/WB.ALUOutput;RegsMEM/WB.IR11.15 MEM/WB.LMD; DLX流水線的每個流水段的操作(動畫演示)(動畫演示)(動畫演示)(動畫演示) 3.2.33.2.3 流水線的性能分析A 吞吐率 吞 吐 率 (吞 吐 率 ( T h r o u g h p u t r a t e
53、)是衡量流水線速度的重要指標。它是指在是衡量流水線速度的重要指標。它是指在單位時間內(nèi)流水線所完成的任務數(shù)或輸出單位時間內(nèi)流水線所完成的任務數(shù)或輸出結(jié)果的數(shù)量。結(jié)果的數(shù)量。3.2 DLX的基本流水線TPmax,這是指流水線在連續(xù)流動達到穩(wěn),這是指流水線在連續(xù)流動達到穩(wěn)定狀態(tài)后所得到的吞吐率定狀態(tài)后所得到的吞吐率 3.2 DLX的基本流水線3.2.3 流水線的性能分析A 吞吐率A.1 最大吞吐率A.1.1 流水線各段時間相同時的最大吞吐率A.1.2 流水線各段時間不同時的最大吞吐率A.1.2.1 流水線的瓶頸A.1.2.2 消除瓶頸的方法若流水線各段時間相等,均為若流水線各段時間相等,均為t0,如
54、下,如下圖所示,則有:圖所示,則有: 3.2 DLX的基本流水線3.2.3 流水線的性能分析A 吞吐率A.1 最大吞吐率A.1.1 流水線各段時間相同時的最大吞吐率A.1.2 流水線各段時間不同時的最大吞吐率A.1.2.1 流水線的瓶頸A.1.2.2 消除瓶頸的方法若流水線各段時間不相等,各段時間分別若流水線各段時間不相等,各段時間分別為為ti,則有:,則有: TPmax = 1/max ti 3.2 DLX的基本流水線3.2.3 流水線的性能分析A 吞吐率A.1 最大吞吐率A.1.1 流水線各段時間相同時的最大吞吐率A.1.2 流水線各段時間不同時的最大吞吐率A.1.2.1 流水線的瓶頸A.
55、1.2.2 消除瓶頸的方法s1s2s3s4s1 s2s3s4t03t0t0t0s1s2s3s41s1 s2s3s4t03t0t0t0s1s2s3s41 12s1 s2s3s4t03t0t0t0由于瓶頸段由于瓶頸段S2的時間是的時間是3 t0,所以第二個任務,所以第二個任務需要在第一個任務需要在第一個任務3 t0后進入后進入s1s2s3s41 111223s1 s2s3s4t03t0t0t0s1s2s3s41 111其余任務依次類推,發(fā)現(xiàn)了什么?完成其余任務依次類推,發(fā)現(xiàn)了什么?完成n個任個任務的務的T流水流水等于多少?等于多少?22223333s1 s2s3s4t03t0t0t0 最大吞吐率取
56、決于流水線中最慢的一最大吞吐率取決于流水線中最慢的一段所需的時間。這個段稱為流水線的瓶頸。段所需的時間。這個段稱為流水線的瓶頸。3.2 DLX的基本流水線3.2.3 流水線的性能分析A 吞吐率A.1 最大吞吐率A.1.1 流水線各段時間相同時的最大吞吐率A.1.2 流水線各段時間不同時的最大吞吐率A.1.2.1 流水線的瓶頸A.1.2.2 消除瓶頸的方法3.2.3 流水線的性能分析A 吞吐率A.1 最大吞吐率A.1.1 流水線各段時間相同時的最大吞吐率A.1.2 流水線各段時間不同時的最大吞吐率A.1.2.1 流水線的瓶頸A.1.2.2 消除瓶頸的方法A, 細分瓶頸段細分瓶頸段B, 重復設(shè)置瓶
57、頸段重復設(shè)置瓶頸段3.2 DLX的基本流水線s1s2s3s41 11122223333s1 s2s3s4t03t0t0t0s1S2-1s3s4s1 s2s3s4t03t0t0t01細分瓶頸段方法細分瓶頸段方法s1s2-1s2-2s2-3s3s4S2-2S2-3s1S2-1s3s4s1 s2s3s4t03t0t0t01細分瓶頸段方法細分瓶頸段方法2s1s2-1s2-2s2-3s3s4S2-2S2-31s1S2-1s3s4s1 s2s3s4t03t0t0t01細分瓶頸段方法細分瓶頸段方法2s1s2-1s2-2s2-3s3s4S2-2S2-31123s1S2-1s3s4s1 s2s3s4t03t0t
58、0t01細分瓶頸段方法細分瓶頸段方法2s1s2-1s2-2s2-3s3s4S2-2S2-31111122222333333s1 s2s3s4t03t0t0t0重復設(shè)置瓶頸段方法重復設(shè)置瓶頸段方法s1 s2-1s3s4t03t0t0t0 s2-2 s2-3s1S2-1S2-1S2-31S3S4s1 s2s3s4t03t0t0t0重復設(shè)置瓶頸段方法重復設(shè)置瓶頸段方法s1 s2-1s3s4t03t0t0t0 s2-2 s2-3s1S2-1S2-1S2-31 12S3S4s1 s2s3s4t03t0t0t0重復設(shè)置瓶頸段方法重復設(shè)置瓶頸段方法s1 s2-1s3s4t03t0t0t0 s2-2 s2-3
59、s1S2-1S2-1S2-31 1223S3S4s1 s2s3s4t03t0t0t0重復設(shè)置瓶頸段方法重復設(shè)置瓶頸段方法s1 s2-1s3s4t03t0t0t0 s2-2 s2-3s1S2-1S2-1S2-31 12233S3S4s1 s2s3s4t03t0t0t0重復設(shè)置瓶頸段方法重復設(shè)置瓶頸段方法s1 s2-1s3s4t03t0t0t0 s2-2 s2-3s1S2-1S2-1S2-31 122223333S3S4113.2DLX的基本流水線3.2.1 DLX的一種簡單實現(xiàn)3.2.2 基本的DLX流水線3.2.3 流水線的性能分析3.2.3 流水線的性能分析A 吞吐率 基于上述流水線性能分析
60、可知,對于基于上述流水線性能分析可知,對于指令流水線而言,流水線增加了指令的吞指令流水線而言,流水線增加了指令的吞吐率,但是它吐率,但是它并不會真正減少一條指令總并不會真正減少一條指令總的執(zhí)行時間。實際上,由于流水線控制等的執(zhí)行時間。實際上,由于流水線控制等而帶來的額外開銷,反而會使每條指令的而帶來的額外開銷,反而會使每條指令的執(zhí)行時間稍微有所增加。執(zhí)行時間稍微有所增加。指令吞吐率的提指令吞吐率的提高意味著即使單條指令執(zhí)行并沒有變快,高意味著即使單條指令執(zhí)行并沒有變快,但是程序運行會更快些,程序總執(zhí)行時間但是程序運行會更快些,程序總執(zhí)行時間也將會有效減少。也將會有效減少。3.2 DLX的基本流
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年石膏裝飾線板項目投資價值分析報告
- 2025年棉布化纖帆布項目可行性研究報告
- 2025年度化工產(chǎn)品市場推廣與品牌合作合同
- 2025年度一手房代理合同范本:房地產(chǎn)糾紛調(diào)解代理合同
- 2025年度國際物流保險信息服務合同
- 2025年度杭州電子科技大學圖書館數(shù)字化建設(shè)合同
- 2025年度農(nóng)業(yè)科技合作項目合同履約保證金要求
- 2025年度專利交易買賣合同示范文本
- 2025醫(yī)療期滿解除勞動合同協(xié)議書范本
- 2025快遞轉(zhuǎn)讓合同書范本
- 近五年重慶中考物理試題及答案2023
- 2023年新高考物理廣東卷試題真題及答案詳解(精校版)
- 全科醫(yī)醫(yī)師的臨床診療思維
- 旋挖鉆機入場安全教育記錄
- 第二章直線和圓的方程(單元測試卷)(原卷版)
- GB/T 16818-2008中、短程光電測距規(guī)范
- (七圣)七圣娘娘簽詩
- 內(nèi)鏡下粘膜剝離術(shù)(ESD)護理要點及健康教育
- 新媒體文案創(chuàng)作與傳播精品課件(完整版)
- 2022年全省百萬城鄉(xiāng)建設(shè)職工職業(yè)技能競賽暨“華衍杯”江蘇省第三屆供水安全知識競賽題庫
- 廣西北海LNG儲罐保冷施工方案
評論
0/150
提交評論