CPU與架構
亂序執行 CPU 所使用之暫存器重新命名(register renaming)的主要目的為何?
- A減少暫存器的數量以縮小電路
- B在不改變程式所使用暫存器名稱的情況下,重新分配實體暫存器,以消除表面上的相依(WAR 與 WAW)
- C將暫存器的值加密
查看答案與解析
正確答案:B. 在不改變程式所使用暫存器名稱的情況下,重新分配實體暫存器,以消除表面上的相依(WAR 與 WAW)
指令集的暫存器數量有限,約 16〜32 個,因此同一個暫存器名稱會被重複使用,進而產生與真正資料流向無關的相依(反相依 WAR、輸出相依 WAW)。暫存器重新命名動態分配數百個實體暫存器,每次寫入都使用新的實體暫存器以消除這些相依,增加可平行執行的指令。真正的相依(RAW)則無法消除。
- A. 實際上會準備比指令集暫存器更多的實體暫存器。
- B. 正確。消除表面上的相依。
- C. 與加密無關。