• 計分板 (處理器)

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

    處理器(處理器)是一種集中的方法,首先用于CDC 6600計算機,用于動態調度指令,以便在沒有沖突且硬件可用時它們可以亂序執行。

    在記分牌中,每條指令的數據依賴性都會被記錄、跟蹤并始終嚴格遵守。 只有當記分牌確定與之前發布的(飛行中)指令沒有沖突時,才會發布指令。 如果一條指令因為發出不安全(或資源不足)而停止,記分板會xxx執行指令的流程,直到在發出停止的指令之前解決所有依賴關系。 本質上:讀取在沒有寫風險的情況下進行,而寫入在沒有讀取風險的情況下進行。

    處理器(處理器)本質上是數據流語言中相同底層算法的硬件實現,創建有向無環圖,其中在編程語言運行時應用相同的邏輯

    階段

    編輯

    指令按順序解碼并經過以下四個階段。

    • 問題:系統檢查該指令將讀取和寫入哪些寄存器,以及在何處檢測到沖突 WAR 和 RAW 以及 WAW。 RAW 和 WAR 危險使用依賴矩陣(由原始 6600 設計中的 SR NOR 鎖存器構建)記錄,因為在以下階段將需要它。 同時,在第二個矩陣中記錄一個條目,該矩陣將指令順序記錄為有向無環圖。 為了避免輸出依賴性(WAW – 寫后寫)指令被暫停,直到打算寫入同一寄存器的指令完成。 當所需的功能單元當前正忙時,該指令也會停止。 除非從頭到尾完全可追蹤,否則不會發出任何指令。
    • 讀取操作數:指令發出并正確分配給所需的硬件模塊(在 Thornton 的書中稱為計算單元)后,該單元等待所有操作數可用。 當所有其他單元都刪除了寫入依賴項(RAW – 寫入后讀取)時,只讀繼續進行。 為避免寄存器文件端口爭用,優先選擇器選擇一個計算單元(在多個單元都沒有危險的情況下)。
    • 執行:獲取所有操作數后,計算單元開始執行。 結果準備好后,通知記分牌。
    • 寫入結果:在此階段,結果已準備就緒,但尚未寫入其目標寄存器。 在單元清除所有(WAR - 讀取后寫入)危險之前,寫入可能不會繼續。 此處xxx的額外延遲是基于寄存器文件端口的可用性:在 6600 中,使用優先級選擇器為每個寫入端口選擇一個結果。 一旦寫入,該單元就被標記為不再忙碌,所有的危險和狀態都被丟棄。 請注意,只有在具有陰影功能的高級(增強、精確)記分板中,寫入結果階段才會被阻止(延遲)。 原來的6600沒有這個能力

    上面必須注意的是,讀取僅在沒有寫入風險的情況下進行,而寫入在沒有讀取風險的情況下進行。 這是合乎邏輯的,但與預期相矛盾。 特別要注意,Writes 必須在讀取后等待寫入,以便其他單元有機會讀取寄存器中的當前值,然后再用新值覆蓋它。 因此,為什么寫入必須等到沒有 WaR 危險。

    數據結構

    編輯

    為了控制指令的執行,記分板維護了三個狀態表:

    • 指令狀態:指示每條正在執行的指令處于四個階段中的哪個階段。
    • 功能單元狀態:指示每個功能單元的狀態。 每個功能單元在表中維護9個字段:
      • 忙碌:表示設備是否正在使用
      • Op:要在單元中執行的操作(例如 MUL、DIV 或 MOD)

    電腦處理器

      • Fi:目標寄存器
      • Fj,Fk:源寄存器編號
      • Qj,Qk:將產生源寄存器 Fj,Fk 的功能單元
      • Rj,Rk:指示 Fj、Fk 何時準備好但尚未讀取的標志
    • 寄存器狀態:表示對于每個寄存器,哪個功能單元將結果寫入其中。

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

    (1)
    詞條目錄
    1. 計分板 (處理器)
    2. 階段
    3. 數據結構

    輕觸這里

    關閉目錄

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