運算元可用性檢查方案是什麼?


運算元的可用性需要在兩種情況下進行檢查,例如當運算元從暫存器檔案中獲取時,需要一種方案來檢查暫存器檔案中是否包含請求的內容。在指令排程期間,也需要類似的方案來檢查擱置緩衝區中儲存的指令的所有運算元是否可用。

術語 **記分板** 是在與 CDC 6600(1964 年)相關的上下文中引入的,用於表示該處理器中用於控制並行操作的複雜電路。圖中顯示了記分板的原理。

記分板是一個狀態暫存器,由一位條目組成。每個條目都可以被認為是相應暫存器的一位擴充套件。記分板位指示關聯暫存器中的資料是否有效,即是否可用。通常,'1' 表示可用資料。當發出指令時,相應目標暫存器的記分板位將重置為 0。這指示所有隨後請求該暫存器內容的指令,其值尚不可用。

檢查運算元可用性的兩種基本方案如下:

  • 在第一種方案中,保留站不儲存任何明確的狀態資訊來指示源運算元是否可用。因此,透過 **直接檢查記分板位** 來檢查源運算元的可用性。當在指令排程期間獲取運算元時,通常會使用此方案。

在此方案中,解碼後的指令被寫入關聯的保留站,該保留站儲存已發出指令的操作碼 (OC)、源暫存器編號和目標暫存器編號。

  • 在第二種方案中,稱為 **顯式狀態位的檢查**,源運算元的可用性由保留站中的狀態位(有效位)明確表示。然後測試狀態位以檢視運算元是否可用。

如果在指令發出期間獲取運算元,則通常會採用此方案。在這種情況下,保留站影響操作碼 (OC)、獲取的源運算元、關聯的有效位和重新命名目標暫存器編號。但是,如果在發出期間請求的運算元尚不可用,則暫存器檔案會提供一個識別符號,而不是缺少運算元的值。

暫存器內容的可用性由記分板管理。在指令發出期間,已發出指令的目標暫存器的記分板位將重置為 '0'。當 EU 生成結果時,目標暫存器將更新,並且相應的記分板位將設定為 '1'。這樣,隨後發出的指令就可以訪問生成的結果值。

更新於: 2021 年 7 月 22 日

68 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.