研究概要 |
近年の研究でプログラム中のクリティカルパス情報を利用して最適化を行うことで,プロセッサの処理性能向上や.省電力化が可能であることがわかっている.これに対し我々は二つの方式を検討している.一つは,クリティカルパス予測に基づく,命令レベル並列性を利用した方式である.新たなクリティカルパス予測器を提案し評価を行ってきたが,満足のいく結果が得られていなかった.命令ウインドウ中のクリティカルパスを特定するPITを用いて,我々の考える省電力アーキテクチャにおける最適な命令発行の優先度,最適な演算器の選択方法,最適な演算器の組み合わせについて調査を行った.その結果,発行された順序を優先度とし,命令発行を遅らせないよう空いている演算器に命令を発行する演算器の選択方法,高速な演算器を2つ,低速な演算器を4つという演算器の組み合わせが最も良いということがわかった.またこれらの調査結果を分析していく過程で,クリティカルパス予測器の予測精度を改善するために検討すべき方向を明らかにすることができた.もう一つは,値予測に基づく,スレッドレベル並列性を利用した方式である.アプリケーションプログラムの実行を,投機流と検証流と呼んでいる2種類の命令実行流に分割する.投機流はプログラムの主要部分を担っているが,命令数が削減されており,その結果エネルギー利用効率が改善される.検証流は投機流から取り除かれた命令を低速で実行するが,クリティカルパス上に無い命令のみの実行なので実行時間には悪影響を与えない.一方で低速実行のためにエネルギー利用効率が改善されている.値予測機構を実装したシミュレーションの結果,予測失敗のペナルティを考慮しても,実行時間を増加させることなくエネルギー利用効率を改善できることが確認できた.
|