研究概要 |
高い命令フェッチバンド幅を実現するキャッシュの構成方法として,実行終了した命令列を格納し再利用するトレースキャッシュによる命令フェッチ機構が提案されている.この方式はプログラム内の命令再利用率が高いプログラムにおいて高い性能を発揮する.しかし,この方式では命令データを格納するために実行履歴を格納するトレースキャッシュと,メモリからの命令データを格納する命令キャッシュという2つの異なるキャッシュが必要となる.この2つのキャッシュ容量はプログラムの実行過程やワーキングセットによって必要となる容量が変化する.この変化に追従するために従来2つ必要であったキャッシュを1つに統合し,動的にキャッシュ容量を変化させることが可能な統合型トレースキャッシュを提案しており,キャッシュの命令フェッチ数をベンチマークプログラムSPECint95のgccにおいて,最大13%,平均5%向上することに成功している. しかし,提案キャッシュを実装した場合,プロセッサ全体のパイプラインレイテンシによって大きくなる分岐予測ミスペナルティによって得られた性能向上が隠蔽される.そこで本研究では,キャッシュの性能を十分に活かすためにRyan Rakvicらの提案するマルチ分岐予測器であるTMP(Tree Based Multiple Branch Predictor)を導入することでIPCを最大で4.9%,平均で2.4%向上することができた. さらに,スーパスカラプロセッサの分岐予測ミスペナルティを大きくする原因であるレイテンシ削減のため,動作周波数を低下させずにパイプラインステージ数を削減できる実行ステージ構成やレジスタファイルに関する検討を行い,バンク化によるレジスタファイルサイズの大幅削減を実現すると共に動作周波数を低下させることなく,パイプラインステージを1ステージ削減できる事を部分的な詳細設計により確認した.
|