一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>電腦硬件>臺(tái)式機(jī)>

流水線中的相關(guān)培訓(xùn)教程[2]

2010年04月13日 15:59 www.www27dydycom.cn 作者:佚名 用戶評(píng)論(0
關(guān)鍵字:流水線(25641)

流水線中的相關(guān)培訓(xùn)教程[2]?

ADD指令后的所有指令都要用到ADD指令的計(jì)算結(jié)果,如圖3.3.4所示, ADD 指令在 WB 段才將計(jì)算結(jié)果寫入寄存器 R1 中,但是 SUB 指令在其 ID 段就要從寄存器 R1 中讀取該計(jì)算結(jié)果,這種情況就叫做數(shù)據(jù)相關(guān)。除非有措施防止這一情況出現(xiàn),否則 SUB 指令讀到的是錯(cuò)誤的值。所以,為了保證上述指令序列的正確執(zhí)行,流水線只好暫停 ADD 指令之后的所有指令,直到 ADD 指令將計(jì)算結(jié)果寫入寄存器 R1 之后,再啟動(dòng) ADD 指令之后的指令繼續(xù)執(zhí)行。

??? 從圖3.3.4還可以看到, AND 指令同樣也將受到這種相關(guān)關(guān)系的影響。 ADD 指令只有到第五個(gè)時(shí)鐘周期末尾才能結(jié)束對(duì)寄存器 R1 的寫操作,所以 AND 指令在第四個(gè)時(shí)鐘周期從寄存器 R1 中讀出的值也是錯(cuò)誤的。而 XOR 指令則可以正常操作,因?yàn)樗窃诘诹鶄€(gè)時(shí)鐘周期讀寄存器 R1 的內(nèi)容。

??? 另外,利用DLX流水線的一種簡(jiǎn)單技術(shù),可以使流水線順利執(zhí)行 OR 指令。這種技術(shù)就是:在 DLX 流水線中,約定在時(shí)鐘周期的后半部分進(jìn)行寄存器文件的讀操作,而在時(shí)鐘周期的前半部分進(jìn)行寄存器文件的寫操作。在本章的圖中,我們將寄存器文件的邊框適當(dāng)?shù)禺嫵商摼€來表示這種技術(shù)。

2. 通過定向技術(shù)減少數(shù)據(jù)相關(guān)帶來的暫停

??? 圖3.3.4中的數(shù)據(jù)相關(guān)問題可以采用一種稱為定向(也稱為旁路或短路)的簡(jiǎn)單技術(shù)來解決 (動(dòng)畫演示)。 定向技術(shù)的主要思想是:在某條指令(如圖3.3.4中的 ADD 指令)產(chǎn)生一個(gè)計(jì)算結(jié)果之前,其它指令(如圖3.3.4中的 SUB 和 AND 指令)并不真正需要該計(jì)算結(jié)果,如果能夠?qū)⒃撚?jì)算結(jié)果從其產(chǎn)生的地方(寄存器文件 EX/MEM)直接送到其它指令需要它的地方(ALU 的輸入寄存器),那么就可以避免暫停?;谶@種考慮,定向技術(shù)的要點(diǎn)可以歸納為:

??? (1) 寄存器文件 EX/MEM 中的 ALU 的運(yùn)算結(jié)果總是回送到 ALU 的輸入寄存器。

??? (2) 當(dāng)定向硬件檢測(cè)到前一個(gè) ALU 運(yùn)算結(jié)果的寫入寄存器就是當(dāng)前 ALU 操作的源寄存器時(shí),那么控制邏輯將前一個(gè) ALU 運(yùn)算結(jié)果定向到 ALU 的輸入端,后一個(gè) ALU 操作就不必從源寄存器中讀取操作數(shù)。

圖3.3.4還表明,流水線中的指令所需要的定向結(jié)果可能并不僅僅是前一條指令的計(jì)算結(jié)果,而且還有可能是前面與其不相鄰指令的計(jì)算結(jié)果,圖3.3.5是采用了定向技術(shù)后上述例子的執(zhí)行情況,其中寄存器文件和功能單元之間的箭頭表示定向路徑。上述指令序列可以在圖3.3.5中順利執(zhí)行而無需暫停。

上述定向技術(shù)可以推廣到更一般的情況,可以將一個(gè)結(jié)果直接傳送到所有需要它的功能單元。也就是說,一個(gè)結(jié)果不僅可以從某一功能單元的輸出定向到其自身的輸入,而且還可以從某一功能單元的輸出定向到其它功能單元的輸入。

??? 在 DLX 中,任何流水線寄存器到任何功能單元的輸入都可能需要定向路徑。前面的一些數(shù)據(jù)相關(guān)的實(shí)例均是有關(guān)寄存器操作數(shù)的,但是數(shù)據(jù)相關(guān)也有可能發(fā)生在一對(duì)指令對(duì)存儲(chǔ)器同一單元進(jìn)行讀寫的時(shí)候。不過,本章僅討論有關(guān)寄存器的數(shù)據(jù)相關(guān)。

?3. 數(shù)據(jù)相關(guān)的分類

??? 根據(jù)指令對(duì)寄存器的讀寫順序,可以將數(shù)據(jù)相關(guān)分為三類。習(xí)慣上,這些相關(guān)是根據(jù)流水線所必須保持的訪問順序來命名的。考慮流水線中的兩條指令 i 和 j ,且 i 在 j 之前進(jìn)入流水線,由此可能帶來的數(shù)據(jù)相關(guān)有:

?

非常好我支持^.^

(1) 100%

不好我反對(duì)

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?