【體系結構】轉移預測器效能的定量評價
阿新 • • 發佈:2019-01-28
幾種預測器的設計參見前一篇博文(這裡)
定量評價幾種預測器的預測準確率
轉移預測的分析和評測過程主要基於給定的指令序列蹤跡。輸入的文字檔案將給出指令序列蹤跡,該檔案包含N行,每一行包括三個資料,分別為當前指令PC、下一指令PC、當前指令型別(0代表轉移指令,1代表其它指令),下面是一個具體的範例:0x0EA31410 0x0EA31414 1
0x0EA31414 0x0EA31470 0
0x0EA31470 0x0EA31474 1
0x0EA31474 0x0EA31478 0
0x0EA31478 0x0EA3147C 1
實驗中使用gcc.log,compress.log,craft.log,gzip.log,mcf.log,parser.log,vpr.log 7個測試資料,實驗結果如下:
實驗結果很明顯看到Tournament預測器取得了更好的預測結構。但另一方面,在同樣空間的限制下,使用相關分支預測資訊的[10,2]關聯預測器反而沒有簡單的區域性歷史表預測效果好。事實上,分支歷史表可以看做[1,2]關聯預測器。分析可能是推論的分支資訊過多,減少相關分支數目可能會提高預測準確率。於是,實驗中嘗試了[2,2],[4,2],[6,2],[8,2](對應的地址分別為12,10,8,6bit,空間均為32K),結果如下:
可以看到使用[4,2]相關分支預測器平均準確率最高。而過度增加相關分支數量,可能會降低預測準確率。
實驗結論
2bit分支歷史表預測器可以提供較好的分支預測準確率。適當利用全域性資訊,使用相關分支預測技術,也可以提高預測分支準確率。Tournament預測器通過結合區域性資訊和全域性歷史資訊,在同樣空間的情況下,平均預測準確率最高。