【體系結構】轉移預測器性能的定量評價

幾種預測器的設計參見前一篇博文(這裏

定量評價幾種預測器的預測準確率

轉移預測的分析和評測過程主要基於給定的指令序列蹤跡。輸入的文本文件將給出指令序列蹤跡,該文件包含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預測器通過結合局部信息和全局歷史信息,在同樣空間的情況下,平均預測準確率最高。


(轉載請註明作者和出處:http://blog.csdn.net/xiaowei_cqu 未經允許請勿用於商業用途)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章