近年、CPUとメインメモリの速度差が広がり続けており、性能への悪影響を緩和するため、記憶階層が導入されている。記憶階層はキャッシュメモリとメインメモリで構成され、キャッシュは、メインメモリとプロセッサの間に配置される。キャッシュは高速で小容量なバッファであり、頻繁に使用されるデータを保持し、供給することによって、プロセッサを高速化する。キャッシュは回路面積と動作回数が多いため、プロセッサの消費電力を増加させる要因の1つとなっている。例えばStrongARM SA-110では、キャッシュメモリの消費電力は、CPU全体の消費電力の43%にも達する。そこで、本研究では、キャッシュメモリの消費エネルギーを削減するために、データの上位ビットには特定の値が頻出するという性質に着目し、特定の値を動的に圧縮することによって、キャッシュの消費エネルギーを削減する手法を開発した。
近年、高い性能を達成するために、命令レベルの並列性を抽出している。命令レベルの並列性を制約する要素は様々であるが、その1つとして、分岐命令によって発生する制御依存を上げることができる。これに対し、分岐命令の結果を早期に予測する、分岐予測機構が提案されている。通常、分岐予測機構は全命令によってアクセスされてしまうため、分岐予測機構の構成要素であるBTBと呼ばれる回路の消費エネルギーが高くなるという問題がある。そこで、本研究では、BTBの消費エネルギーを削減するために、プロセッサ内の別の回路である命令キャッシュに着目し、命令キャッシュとBTBの構成と動作を連動させる。そして、この連動によって、BTBへのアクセス数の削減と、BTBの1アクセスあたりの消費エネルギーの削減を達成する。評価を行った結果、提案手法は、プロセッサ性能を低下させることなく、BTBの消費エネルギーを削減することが確認できた。
|