計算機體系結構中流水線的結構是什麼?
流水線定義了處理的時序重疊。在計算中,流水線比裝配線更為空閒,可用於指令處理或更一般的方法,用於執行任何複雜操作。它僅能有效地用於相同任務的序列,這與裝配線非常相似。
一個流水線包括幾個階段,每個階段對應一個子任務,如圖所示。這些階段透過稱為鎖存器的暫存器彼此解耦。在每個時鐘週期結束時,鎖存器將其輸入門控並將其轉發到關聯的階段,在那裡將執行所需的運算。
每個階段由幾個不同的執行單元 (EU) 實現,這些單元協同執行所需的操作,如圖所示。鎖存器擴充套件了多路複用器,這些多路複用器選擇並將資料從前面執行單元的輸出傳輸到後面執行單元的輸入。
IBM Power1 (RS/6000) (Grohoski,1990) 的 FX 單元的結構和流水線操作。此單元執行 FX 和邏輯指令,通常在四個週期內執行。在取指令週期,指令透過指令匯流排從片上指令快取獲取到指令緩衝區。
解碼週期解碼獲取的指令並訪問引用的暫存器值。然後,在下一個週期(執行週期)中執行指定的資料操作。此階段提供三個執行單元來執行所需的資料操作:一個加法器、一個邏輯單元和一個乘/除單元。
前兩個單元只需要一個週期即可完成結果。乘/除單元不以流水線模式執行,需要相當多的週期才能完成乘法或除法。隨後,結果在隨後的寫回週期內透過 T 鎖存器寫回暫存器檔案。
值得注意的是,為了縮短或消除定義-使用延遲,執行階段的結果可以直接返回(旁路)到執行階段的輸入(A-、B- 和 S 鎖存器)透過結果匯流排。
FX 單元提供了一個額外的階段來處理載入和儲存指令,該階段在快取訪問週期中執行。在此週期中,資料可以寫入或讀取快取。
廣告