第3章 細粒度 PG におけるスリープ制御手法
3.2 スリープ制御手法
4.1.節で述べたように、細粒度PGは頻繁にPSのオン・オフを繰り返すため、PSをオフ
している時間(スリープ時間)が短い場合、PGのエネルギーオーバーヘッドにより演算器 の消費エネルギーは増加してしまう恐れがある。そのため、スリープ時間がBETよりも短 い(ショートスリープ)のかスリープ時間がBETよりも長い(ロングスリープ)のかを考 慮したスリープ制御手法が必要となってくる。以下に、従来手法として提案されているス リープ制御手法について述べる。
3.2.1 Whenever Idle Put to Sleep(WIPS)方式
WIPS方式はPG適用回路が待機状態になり、PGが可能になると同時にPSをオフする 方式である[22]。他のスリープ制御手法に比べ複雑な制御の必要がないため、数個~数十個 の論理ゲートで実現できる。そのため、スリープ制御回路の面積および消費エネルギーの オーバーヘッドが非常に少ない特徴がある。しかし、BETを全く考慮していないため、PS のオン・オフが頻繁に切り替わる回路では、ショートスリープが頻繁に発生してしまい消 費エネルギーが増大するという問題がある。
26
3.2.2 Time-Based(TB)方式
TB 方式は、PG 適用回路が待機状態になると、スリープ制御回路内のカウンタ回路がカ ウントを開始し、カウント数がBETを上回ると同時にPSのENをオフにする方式である
[21]。図4.2.1にTB方式によるスリープ制御の例を示す。左の表は、演算器が待機状態に
あり、PGが可能な時間とそれがアプリケーション実行中に何回発生するかを示したもので ある。TB方式ではBETよりも長い待機時間のスリープイベントのみPGが実行され、BET よりも短い待機時間のスリープイベントではPGが実行されない。これにより、ショートス リープによる消費エネルギーの増加を効果的に抑制することが可能である。
しかし、TB方式を実現するためには、スリープ制御回路にカウンタ回路および比較回路 が必要になる(図 4.2.2)。カウンタ回路はクロック信号(CLK)によりカウントを行う。
また比較回路はカウンタ回路のカウント結果と BET の比較を行う。カウント結果が BET を上回った場合、出力信号であるENが変化する。PGのスリープ制御を実行する際、これ らスリープ制御回路はダイナミックエネルギーを消費する。そのため、PGによるリークエ ネルギーの削減効果に対し、スリープ制御回路のエネルギーオーバーヘッドが顕著になっ てしまう恐れがある[40]。
図 4.3.2.1 TB方式におけるスリープ制御
27
図 4.3.2.2 TB方式の回路構成
3.2.3 Adaptive Time-Based(ATB)方式
TB方式はPG適用回路の演算器の待機時間がBETを上回った場合のみPGを実行する。
しかし、演算器のBETはチップ上の温度によって変化することが知られている[41]。その ため、TB方式では一定の温度のときのBETを基にし、PGを行っている。一方で、チップ 内に温度モニタを搭載し、温度モニタの結果をもとに演算器のBETを求め、その結果を基 に、TB方式によるPGを実行する手法が提案されている[42]。この手法をATB方式と呼ぶ。
図4.2.3にAT方式によるスリープ制御の例を示す。チップ上の温度が低い場合、演算器の
リーク電流が少なくなる。そのため、PGによるリークエネルギーの削減効果が少なくなり、
BETは長くなる。この際、ATB方式では、PGが実行されるイベント数は少なくなる。こ れにより、ショートスリープになるはずだったイベントを効果的に避けることが可能であ る。一方で、チップ上の温度が高温の場合、演算器のリーク電流が増大するため、PGによ るリークエネルギーの削減効果が高くなり、BETが短くなる。これにより、ATB方式では PGを実行するイベント数が増加し、TB方式と比べ、より多くのリークエネルギーを削減 することが可能になる。しかし、ATB 方式を実現するためにはスリープ制御回路として、
カウンタ回路および比較回路の他に、温度モニタ回路とルックアップテーブル(LUT)が 必要になる。ATB 方式を実現するための温度モニタ回路としてリークモニタ回路[43]が提 案されている。しかし、TB方式と比べ制御回路が複雑かつ大規模になってしまう問題があ る。
28
図 4.3.2.3 ATB方式におけるスリープ制御
3.2.4 従来手法の問題点
WIPS 方式はBETについてまったく考慮しておらず、PG適用回路が待機状態になると すぐにPSをオフにする手法である。そのため、PSをオフしている時間がBETよりも短い ショートスリープが頻繁に起こるアプリケーションで WIPS 方式を実行した場合、消費エ ネルギーが大幅に増大してしまう。一方、TB方式やATB方式は、PG適用回路が待機状態 になってからの時間を測定することで効果的にショートスリープによる消費エネルギーの 増大を防ぐことができる。しかし、TB方式を実現するためにはカウンタ回路やBETとカ ウント数の比較回路が必要となる。さらに、ATB 方式にはチップ上の温度をリアルタイム で測定する温度モニタやLUTが必要となる。しかし、これらの回路はダイナミックエネル ギーを消費してPGを制御する。この際、制御回路に必要な消費エネルギーはPG適用回路 の削減可能なリークエネルギーに対し、大きな問題となってしまう。また、ATB方式はTB 方式よりもリーク削減効果が期待できるが、温度モニタとLUTをより低消費エネルギーか つ小さな回路でチップ上に搭載するという課題が残っている。そのため、ATB 方式のよう に、チップ上の温度によってPSをオフするタイミングを生成するし、なおかつ制御回路に 必要な消費エネルギーを抑えたスリープ制御手法が求められる。
29