スーパースカラ・プロセッサの高速化


パイプライン・ステージ統合

パス情報を用いた分岐フィルタ機構

PHT (Pattern History Table) における破壊的競合を抑制する方法にフィルタ 機構がある.フィルタ機構では,強 偏向の分岐命令は PHT を使用しないようにする ことで,PHT の予測ミス率を低下させる.一方,パス情報が予測の手がかりになるこ とが最近になって分かってきた.そこで我々は,フィルタ機構においてパス情報を 利用する手法を提案した. 強偏向のパスは PHT を使用しないようにすることで, 予測ミス率の低下を狙う. 本手法を Global Perceptron Predictor に適用 した場合, 平均 0.18% ミス率が低下した.特に,go においては 0.8% のミス率 低下が見られた.また,本手法を Path Based Predictor, Piecewise Linear Predictor, Path Trace Predictor に適用した場合でも,go にお いて 0.6〜0.8% のミス率低下が見られた.

クリティカリティ予測のためのスラック予測

我々は,命令のスラック (slack)に基づくクリティカリティ予測を提案して いる.ある命令の実行を s サイクル遅らせてもプログラムの実行時間が増大し ないとき,s の最大値をその命令のスラックという.したがって,いわゆるク リティカルな命令のスラックは0サイクルである.スラックは原則的には,デー タの定義時刻とそのデータの使用時刻の差で求められ,前回の実行時のスラッ クを予測表に登録しておくことによって,それを今回の予測値とすることがで きる.

クラスタ型スーパースカラ・プロセッサ向け命令ステアリング

スラック予測をクラスタ型スーパースカラ・プロセッサの命令ステアリングに 応用する方法を提案した.各命令の実行後に得られるスラックの値によって, その命令が次回実行時に使用するクラスタを決定する.シミュレーションによ る評価の結果,発行幅が4 のプロセッサを2つのクラスタに分割した場合,ク ラスタ化されていないプロセッサに比べ約10% 程度IPCが低下することが分かっ た.

スラックの伝播

前述したスラックの計算方法ではスラックの値を正確に求めることはできない. そこで我々は,使用側の命令の予測スラックを定義側の命令に伝播させること で予測の精度を上げることを試みた.このスラックの予測結果を,省電力アー キテクチャ向け命令スケジューリングに応用することで評価を行った.整数演 算器で実行される命令のうちスラックの予測値が1以上である命令のみを低速/ 低消費電力の演算器で実行することにより,プロセッサの性能を大きく低下さ せることなく演算器の省電力化を図った.評価の結果,伝播を行わなかった場 合に比べ,約3%のIPC低下で約10%多くの命令を遅い演算器で実行できた.