Advanced branch prediction(Photo05)

Photo05:従来の予測機構に加えて、512エントリのIndirect Predicatorを追加、RAS(Return Address Stack)を倍増(従来は12エントリ)させたほか、分岐履歴テーブルを改良したとしている。

ちょっと順序が変わっているが、分岐予測メカニズムにも色々手が入っている。従来のAthlon 64系の分岐予測機構はこんな構造(Photo06)で、Branch Historyをベースとした2KエントリのBTB(Branch Target address Buffer)、16KエントリのGHBC(Global History Bimodal Counter)、それと12エントリのRASが搭載された構造だ。Phenomではこれに512エントリのIndirect Predicatorを追加したほか、RASを24エントリとし、BTBの構造にやや手を入れた模様だ。この予測機構が当たると1cycleのペナルティで済むが、外れると最小でも10cycleのペナルティとなるあたりは、従来と変わらない。

Photo06:これは2001年のMPFにおけるAMDの発表。当時のCTOだったFred Weber氏によるもの。

問題はこれの効果を直接確認できるような、適切なComponent Benchmarkが存在しないことだ。以前はJAVA系ベンチマークを廻したりしてみたが、これも間接的なテストになるし、他の要素も入るために純粋にBranch Predictionのテストにはならない。結局のところ、これに関しては後で総合成績の一部として判断するしかなさそうだ。