研究概要 |
高い命令フェッチバンド幅を実現するキャッシュの構成方法として,実行終了した命令列を格納し再利用するトレースキャッシュによる命令フェッチ機構が提案されている.この方式はプログラム内の命令再利用率が高いプログラムにおいて高い性能を発揮する.しかし,この方式では命令データを格納するために実行履歴を格納するトレースキャッシュと,メモリからの命令データを格納する命令キャッシュという2つの異なるキャッシュが必要となる.この2つのキャッシュ容量はプログラムの実行過程やワーキングセットによって必要となる容量が変化する.この変化に追従するために従来2つ必要であったキャッシュを1つに統合し,動的にキャッシュ容量を変化させることが可能な統合型トレースキャッシュを提案しており,キャッシュの命令フェッチ数をベンチマークプログラムSPECint95のgccにおいて,最大13%,平均5%向上することに成功している. しかし,統合型トレースキャッシュをスーパスカラプロセッサに実装した場合,分岐予測ミスペナルティによりキャッシュの性能が隠蔽されている.そこで本研究では,キャッシュの性能を十分に活かすためにRyan Rakvicらの提案するマルチ分岐予測器であるTMP(Tree Based Multiple Branch Predictor)を導入する.TMPでは,過去の分岐履歴だけを用いて一度に複数の分岐予測を行うのではなく,分岐命令毎に分岐予測を行うので,高い分岐予測精度が見込まれる.そこで統合型トレースキャッシュを備える16命令同時発行可能なスーパスカラシミュレータにTMPを導入し,評価した結果,TMPは高精度の単一分岐予測器と同等分岐予測精度を示した.そして,その結果IPCを最大で4.9%,平均で2.4%向上することができた.
|