• 重排序緩沖區

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

    重排序緩沖區

    編輯

    (了解如何以及何時刪除此模板消息)

    重新排序緩沖區 (ROB) 是用于擴展 Tomasulo 算法以支持亂序和推測指令執行的硬件單元。 擴展強制指令按順序提交。

    緩沖區是一個循環緩沖區(提供 FIFO 指令排序隊列),實現為數組/向量(允許在指令無序完成時記錄結果)。

    Tomasulo 算法分為三個階段:發布、執行、寫入結果。 在算法的擴展中,有一個額外的提交階段。 在提交階段,指令結果存儲在寄存器或內存中。 寫入結果階段被修改為將結果放置在重新排序的緩沖區中。 為此,每條指令都在保留站中用其在 ROB 中的索引進行標記。

    緩沖區的內容用于緩沖區中調度的其他指令的數據依賴性。 一旦結果有效,緩沖區的頭部將被提交。 它的依賴關系將已經計算并提交,因為它們必須在緩沖區中的指令之前,但不一定與它相鄰。 指令之間的數據依賴性通常會在指令等待其依賴值時停止流水線。 ROB 允許流水線繼續處理其他指令,同時確保提交結果,以防止數據危害,例如先讀后寫 (RAW)、先寫后讀 (WAR) 和先寫前寫 (WAW)。

    緩沖區的每個條目中都有附加字段以支持擴展算法:

    • 指令類型(跳轉、存儲到內存、存儲到寄存器)
    • 目的地(內存地址或寄存器號)
    • 結果(到達目的地的值或(未)成功跳躍的指示)
    • 有效性(結果是否已經存在?)

    重排序緩沖區

    重新排序緩沖區的后果包括精確異常和目標地址錯誤預測(分支或跳轉)的輕松回滾控制。 當跳轉預測不正確或在指令流中遇到不可恢復的異常時,清除 ROB 中的所有指令(通過將循環隊列尾部設置為頭部)并重新初始化保留站。

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

    (1)
    詞條目錄
    1. 重排序緩沖區

    輕觸這里

    關閉目錄

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