• 流水線停頓

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

    流水線停頓

    編輯

    流水線計算機處理器的設計中,流水線停頓是為了解決危險而延遲執行指令。

    詳情

    編輯

    在標準的五級流水線中,在譯碼階段,控制單元會判斷譯碼指令是否從當前執行指令寫入的寄存器中讀取。 如果這種情況成立,控制單元將指令暫停一個時鐘周期。 它還會暫停取指階段的指令,以防止該階段的指令被程序中的下一條指令覆蓋。

    在使用程序計數器 (PC) 寄存器來確定流水線中正在獲取的當前指令的馮諾依曼體系結構中,為了防止在解碼階段的指令被停頓時獲取新指令,PC 寄存器中的值和 提取階段的指令被保留以防止更改。 這些值會一直保留到導致沖突的指令通過執行階段為止。 這種事件通常被稱為氣泡,類似于流體管道中的氣泡。

    在某些架構中,管道的執行階段必須始終在每個周期執行一個操作。 在這種情況下,通過向執行階段提供 NOP(無操作)指令來實現氣泡,直到氣泡被沖走。

    例子

    編輯

    時間軸

    以下是通過 4 級流水線兩次執行相同的 4 條指令,但無論出于何種原因,在周期 #2 中提取紫色指令的延遲會導致創建氣泡,從而延遲其后的所有指令。

    指令處理

    經典 RISC 流水線

    下面的例子顯示了一個氣泡被插入到一個經典的 RISC 流水線中,有五個階段(IF = 指令獲取,ID = 指令解碼,EX = 執行,MEM = 內存訪問,WB = 寄存器回寫)。 在此示例中,第二條指令的 EX 階段(第三階段)需要輸入xxx條指令的 MEM 階段(第 4 階段)之后可用的數據。 沒有氣泡,EX 階段(第 3 階段)只能訪問前一個 EX 階段的輸出。 因此,添加氣泡可以解決時間依賴性,而無需及時向后傳播數據(這是不可能的)。

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

    (1)
    詞條目錄
    1. 流水線停頓
    2. 詳情
    3. 例子
    4. 時間軸
    5. 經典 RISC 流水線

    輕觸這里

    關閉目錄

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