• 指令流水線

    編輯
    本詞條由“匿名用戶” 建檔。

    指令流水線

    計算機工程中,指令流水線或 ILP 是一種在單個處理器內實現指令級并行性的技術流水線試圖通過將傳入的指令分成一系列順序步驟(同名流水線)來使處理器的每個部分都忙于執行某些指令,這些步驟由不同的處理器單元執行,并行處理指令的不同部分。

    概念與動機

    在流水線計算機中,指令分階段流經中央處理器 (CPU)。 例如,馮·諾依曼循環的每個步驟可能有一個階段:獲取指令、獲取操作數、執行指令、寫入結果。 流水線計算機通常在每個階段之后都有流水線寄存器。 這些存儲來自指令和計算的信息,以便下一級的邏輯門可以執行下一步。

    這種安排讓 CPU 在每個時鐘周期完成一條指令。 通常偶數級在方波時鐘的一個邊沿上運行,而奇數級在另一邊沿上運行。 在給定的時鐘速率下,這比多周期計算機允許更多的 CPU 吞吐量,但由于流水線過程本身的額外開銷,可能會增加延遲。 此外,即使電子邏輯具有固定的xxx速度,流水線計算機也可以通過改變流水線中的級數來變得更快或更慢。 階段越多,每個階段所做的工作就越少,因此該階段來自邏輯門的延遲就越少,并且可以以更高的時鐘速率運行。

    當成本以每秒每條指令的邏輯門來衡量時,流水線計算機模型通常是最經濟的。 在每一時刻,一條指令僅處于一個流水線階段,平均而言,一個流水線階段的成本低于多周期計算機。 此外,如果做得好,大多數流水線計算機的邏輯大部分時間都在使用。 相比之下,亂序計算機通常在任何給定時刻都有大量空閑邏輯。 類似的計算通常表明,流水線計算機每條指令使用的能量更少。

    然而,流水線計算機通常比類似的多周期計算機更復雜、成本更高。 它通常有更多的邏輯門、寄存器和更復雜的控制單元。 以類似的方式,它可能使用更多的總能量,同時每條指令使用更少的能量。 亂序的 CPU 通常每秒可以執行更多的指令,因為它們可以一次執行多條指令。

    在流水線計算機中,控制單元按照程序命令安排流程開始、繼續和停止。 指令數據通常在流水線寄存器中從一個階段傳遞到下一個階段,每個階段都有一些分離的控制邏輯。 控制單元還保證每一級的指令不會損害其他級指令的運行。 例如,如果兩個階段必須使用同一塊數據,則控制邏輯會確保使用以正確的順序完成。

    當高效運行時,流水線計算機在每個階段都會有一條指令。 然后它同時處理所有這些指令。 它可以在其時鐘的每個周期內完成大約一條指令。 但是當程序切換到不同的指令序列時,管道有時必須丟棄處理中的數據并重新啟動。 這叫做攤位。

    流水線計算機的大部分設計都可以防止階段之間的干擾并減少停頓。

    步數

    依賴步驟的數量因機器架構而異。 例如:

    • 1956–61 年的 IBM Stretch 項目提出了獲取、解碼和執行這些術語,這些術語已經變得很普遍。
    • 經典 RISC 流水線包括:
    • 指令獲取
    • 指令解碼和寄存器獲取
    • 執行
    • 內存訪問
    • 注冊回寫
    • Atmel AVR 和 PIC 微控制器各有一個兩級流水線。
    • 許多設計包括長達 7、10 甚至 20 個階段的流水線。

    指令流水線

    隨著流水線變得更深(具有更多的相關步驟),可以使用更簡單的電路來實現給定的步驟,這可以讓處理器時鐘運行得更快。 這樣的流水線可以稱為超級流水線。

    如果處理器可以在每個周期獲取一條指令,則稱其為完全流水線處理器。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/196077/

    (1)
    詞條目錄
    1. 指令流水線
    2. 概念與動機
    3. 步數

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久