我々は,命令のクリティカリティ予測のためにスラック(slack)予測を提案している. ある命令の実行をsサイクル遅らせてもプログラムの実行時間が増大しないとき, sの最大値をその命令のスラックという. したがって,いわゆるクリティカルな命令のスラックは0サイクルである.
スラック予測器は主にスラック表と定義表からなる. スラック表は命令の過去のスラックを記憶する予測表本体であり, 定義表はデータを定義した命令と時刻を記憶しスラックの値の計算に用いられる. スラックはデータを定義した時刻とそのデータを使用した時刻の差によって求められ, 前回の実行時のスラックをスラック表に登録しておき,それを今回の予測値とすることでスラック予測を行う.
本年度は,スラック予測の省電力アーキテクチャへの応用を試みた. 整数演算器で実行される命令のうちスラックの予測値が1以上である命令のみを低速/低消費電力の演算器で実行することにより,プロセッサの性能を大きく低下させることなく演算器の省電力化を図った. シミュレーションを行い全ての命令を高速な演算器で実行した場合と比較することにより評価を行った. 評価の結果,約4.5%の性能低下で39%の命令を低速/低消費電力の演算器で実行できた. 以上のことは,スラック予測が省電力アーキテクチャに有効であるを示している.