衡阳派盒市场营销有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>電腦硬件>臺式機>

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

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

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

下面討論如何利用編譯器技術來減少這種必須的暫停,然后論述如何在流水線中實現數據相關檢測和定向。

??? 5. 對數據相關的編譯器調度方法

??? 流水線常常會遇到許多種類型的暫停。比如,采用典型的代碼生成方法對A = B + C這種常用的表達式進行處理,可以得到如圖3.3.14所示的指令序列。從圖3.3.14可以看出,在 ADD 指令的流水過程中必須插入一個暫停時鐘周期,以保證變量C的讀入值有效。既然定向無法消除指令序列中所包含的這種暫停,那么能否讓編譯器在進行代碼生成時就消除這些潛在的暫停呢?

實際上,編譯器的確可以通過重新組織代碼順序來消除這種暫停。通常稱這種重新組織代碼順序消除暫停的技術為流水線調度(pipeline scheduling)或指令調度(instruction scheduling)。

??? 例 3.6 請為下列表達式生成沒有暫停的DLX代碼序列。假設載入延遲為1個時鐘周期。

??? a = b - c;

??? d = e - f;

??? 解: 調度前后的指令序列如表3.2所示。可以看出,兩條ALU指令(ADD Ra,Rb,Rc 和 SUB Rd,Re,Rf)分別和兩條Load指令(LW Rc,c和LW Rf,f)之間存在數據相關。為了保證流水線正確執行調度前的指令序列,必須在指令執行過程中插入兩個時鐘周期的暫停。但是考察調度后的指令序列不難發現,由于流水線允許定向,就不必在指令執行過程中插入任何暫停周期。

6. 對DLX流水線控制的實現

??? 讓一條指令從流水線的指令譯碼段(ID)移動到執行段(EX)的過程通常稱為指令發射,而經過了該過程的指令為已發射的指令。

??? 對于 DLX 標量流水線而言,所有的數據相關均可以在流水線的 ID段 檢測到,如果存在數據相關,指令在其發射之前就會被暫停。這樣,我們可以在 ID段 決定需要什么樣的定向,然后設置相應的控制。在流水線中較早地檢測到相關,可以降低實現流水線的硬件復雜度,因為這樣不必在流水過程中被迫將一條已經改變了機器狀態的指令掛起。另外一種方法是在使用一個操作數的時鐘周期開始(DLX 流水線的 EX 和 MEM 段的開始)檢測相關,確定必需的定向。

??? 為了說明這兩種方法的不同,我們將以 Load 指令所引起的 RAW 相關為例,論述如何通過在 ID段 的檢測來實現流水線控制,其中到 ALU 輸入的定向路徑可以在 EX 段。表3.3列出了流水線相關檢測硬件可以檢測到的各種相關情況。

?現在來看看如何實現流水線互鎖。如果某條指令和 Load 指令有一個 RAW 相關時,該指令處于 ID段,Load 指令處于 EX段。我們可以用表3.4來描述此時所有可能的相關情況。

??? 一旦硬件檢測到上述 RAW 相關,流水線互鎖必須在流水線中插入暫停周期,使正處于 IF 和 ID段 的指令不再前進。另外,還必須暫停向前傳送 IF/ID 寄存器組的內容,使得流水線能夠保持被暫停的指令。

??? 對定向而言,雖然可能要考慮許多情況,但是定向邏輯的實現方法是類似的。實現定向邏輯的關鍵是,流水線寄存器不僅包含了被定向的數據,而且包含了目標和源寄存器域。從上面的討論可知,所有定向都是從 ALU 或數據存儲器的輸出到 ALU、數據存儲器或0檢測單元的輸入的定向,我們可以分別將 EX/MEM 和 MEM/WB 段的寄存器 IR 同 ID/EX 和 EX/MEM 段中的寄存器 IR 相比較,決定是否需要定向,從而實現必需的定向控制。

定向的控制硬件除了需要用比較器和組合邏輯來確定什么時候打開哪一條定向路徑之外,還需要在 ALU 輸入端采用具有多個輸入的多路器,并增加相應的定向路徑連接通路。改進圖3.2.17中的相關硬件,可以得到圖3.3.15,圖中畫出了所增設的定向路徑。

?

?

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

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

      發表評論,獲取積分! 請遵守相關規定!

      ?
      多多视频棋牌游戏| 优博娱乐场| 一二博国际| 百家乐官网视频双扣游戏| 百家乐官网娱乐平台代理佣金| 百家乐官网那里信誉好| 月华百家乐的玩法技巧和规则| bet365网址主页| 百家乐官网网络赌博网址| 明珠百家乐官网的玩法技巧和规则 | 大发888有破解的没| 黑龙江省| 百家乐官网赚钱方| 新锦江百家乐娱乐网| 千亿娱乐城注册| 百家乐官网赌博机玩法| 带有百家乐的棋牌游戏有哪些| 安徽棋牌游戏中心| 半圆百家乐官网桌布| 百家乐平7s88| 尊龙国际娱乐| 波浪百家乐官网游戏中| 八大胜百家乐的玩法技巧和规则| 进贤县| 什么风水适合做生意| 大发888网站多少| 百家乐官网打线| 百家乐这样赢保单分析| 长丰县| 百家乐群博爱彩| 贵族国际娱乐城| 百家乐官网桌套装| 大发888黄金版| 百家乐官网赚钱方| 大发888游戏好吗| 百家乐官网赌场策略论坛| 泰山百家乐的玩法技巧和规则| 百家乐官网投注科学公式| 大亨百家乐官网娱乐城| 百家乐7scs娱乐网| 百家乐官网太阳城小郭|