指令流水線處理器有哪些操作?


指令流水線處理器有兩種操作:流水線處理器和VLIW及超標量處理器。流水線處理器的工作方式類似於裝配線,而VLIW和超標量處理器則基本上並行操作,利用多個併發工作的執行單元 (EU),如圖所示。

為了簡化流水線處理器的執行原理描述,可以將其限制在一個簡單的流水線處理器上,該處理器執行整數、RISC類、暫存器-暫存器指令。此類流水線按以下方式執行:

  • 指令處理細分為幾個連續的子任務:指令取指 (F)、解碼 (D)、執行 (E) 和結果寫回 (W),如圖 (a) 所示。

  • 每個子任務都由相關的流水線階段實現。在本例中,我們稱它們為 F、D、E 和 W 階段,如圖 (b) 所示。每個階段的操作都由專用硬體實現。F 階段從快取或記憶體中取指令。

  • D 階段解碼取回的指令,並在需要時執行一些附加任務,例如檢查流水線衝突。在 E 階段,使用取回的暫存器運算元執行所需的操作。這是使用 E 單元完成的,在本例中,它是一個傳統的整數 ALU。最後,在 W 階段,結果被寫回確定的目標暫存器。此操作不需要額外的硬體,它很容易透過對暫存器檔案的寫操作來實現。

  • 所有流水線階段都像裝配線一樣工作,具有同步時序。這意味著在每個流水線週期的開始,每個階段都接收一個新的輸入,並同時將其輸出傳遞給下一個階段(最後一個階段除外,最後一個階段將結果寫入指定的目的地),如圖 (b) 和 (c) 所示。

流水線執行的一個顯著特徵是,在每個週期中,都可以有一個新的指令進入流水線,如圖所示。如果指令完成了執行的最終階段,則將其移除。因此,可以並行執行的指令數量與流水線階段的數量一樣多。

流水線支援更高的實現效率,但代價是硬體複雜性增加。因此,流水線處理器最初用於價格昂貴的超級計算機和向量處理器(大約在 1970 年)。隨後,流水線指令處理成為大型機的標準實現,並在 20 世紀 80 年代成為微處理器的標準實現。

大多數專用功能單元,例如 FX 或 FP EU,也成為流水線式。流水線式 EU 經常用作高階處理器的構建塊,例如 VLIW 或超標量處理器。例如,PowerPC 601 有三個流水線式 EU,每個 EU 分別用於 FX、FP 和分支執行。

更新於:2021年7月20日

596 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告