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

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

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

流水線中的相關培訓教程[3]

2010年04月13日 16:02 www.www27dydycom.cn 作者:佚名 用戶評論(0
關鍵字:流水線(25641)

流水線中的相關培訓教程[3]

(1) 寫后讀相關(RAW:Read After Write) (命名規(guī)則) :j 的執(zhí)行要用到 i 的計算結果,當它們在流水線中重疊執(zhí)行時,j 可能在 i 寫入其計算結果之前就先行對保存該結果的寄存器進行讀操作,從而得到錯誤的值。這是最常見的一種數(shù)據(jù)相關,圖3.3.6和圖3.3.7中采用定向技術消除的數(shù)據(jù)相關就屬于這種類型。

??? (2) 寫后寫相關(WAW:Write After Write ):j 和 i 的目的寄存器相同,當它們在流水線中重疊執(zhí)行時,j 可能在 i 寫入其計算結果之前就先行對該結果寄存器進行寫操作,從而導致寫入順序錯誤,在目的寄存器中留下的是 i 寫入的值,而不是 j 寫入的值。

??? 如果在流水線中不只一個段可以進行寫操作,或者當流水線暫停某條指令時,允許該指令之后的指令繼續(xù)前進,就可能會產生這種類型的數(shù)據(jù)相關。由于 DLX 流水線只在 WB 段寫寄存器,所以在 DLX 流水線中執(zhí)行的指令不會發(fā)生這種類型的數(shù)據(jù)相關。如果我們對DLX流水線作如下改變,在DLX流水線中執(zhí)行的指令就有可能發(fā)生WAW相關。首先,將 ALU 運算結果的寫回操作移到 MEM 段進行,因為這時計算結果已經有效;其次,假設訪問數(shù)據(jù)存儲器占兩個流水段。下面是兩條指令在修改后的 DLX 流水線中執(zhí)行的情況:

??? 可以看出,在修改后的 DLX 流水線中執(zhí)行上述指令序列后,寄存器 R1 中的內容是第一條指令(LW)的寫入結果,而不是 ADD 指令的寫入結果。這就是由于 WAW 相關所帶來的錯誤執(zhí)行結果。

??? (3) 讀后寫相關(WAR:Write After Read ):j 可能在 i 讀取某個源寄存器的內容之前就先對該寄存器進行寫操作,導致 i 后來讀取到的值是錯誤的。

??? 由于 DLX 流水線在 ID 段完成所有的讀操作,在 WB 段完成所有的寫操作。所以,在 DLX 流水線中不會產生這種類型的數(shù)據(jù)相關?;谏厦嫘薷暮蟮?DLX 流水線,考察下面兩條指令的執(zhí)行情況:

??? 如果 SW 指令在 MEM2 段的后半部分讀取寄存器 R2 的值,ADD 指令在 WB 段的前半部分將計算結果寫回寄存器 R2,則 SW 將讀取錯誤的值,將 ADD 指令的計算結果寫入存儲器中。值得注意的是,在讀后讀(RAR: Read After Read)的情況下,不存在數(shù)據(jù)相關問題。

4. 需要暫停的數(shù)據(jù)相關

??? 前面我們討論了如何利用定向技術消除由于數(shù)據(jù)相關帶來的暫停。但是,并不是所有數(shù)據(jù)相關帶來的暫停都可以通過定向技術消除。

??? 為了保證流水線正確執(zhí)行上述指令序列,可以設置一個稱為流水線互鎖(pipeline interlock)的功能部件。一旦流水線互鎖檢測到上述數(shù)據(jù)相關,流水線暫停執(zhí)行LW指令之后的所有指令,直到能夠通過定向解決該數(shù)據(jù)相關為止。

圖3.3.12為流水線互鎖插入暫停后流水線數(shù)據(jù)通路;

??? 圖3.3.13是 加入暫停前后的流水線時空圖。

?

非常好我支持^.^

(2) 100%

不好我反對

(0) 0%

( 發(fā)表人:admin )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?