Borkar氏は、この消費電力削減を行う技術として、電源電圧の大幅な低減、オンチップネットワークの改善、そして、システムの消費電力の7割を占めるDRAMのアーキテクチャの改善を挙げた。

電源電圧と速度、消費電力などの関係

左のグラフは横軸に電源電圧をとり、縦軸には動作周波数と消費電力をとっている。このグラフにみられるように、0.8V以下の領域では電源電圧を下げると、動作速度は急激に下がるが、消費電力も急激に下がる。

右側のグラフでは縦軸にGOPS(Giga Operations Per Second)/Wの演算エネルギー効率とリーク電力をとっている。演算エネルギー効率は左の2本のグラフの積に比例し、この65nmプロセスのトランジスタではスレッショルド電圧である0.32V付近で最大となる。一方、リーク電力は電源電圧に対して指数関数的に増加している。

8nmプロセスでも同様の傾向にあり、電源電圧を50%に低減すると演算エネルギー効率は3倍になるという。

また、100コアクラスのマルチコアプロセサでは、コア間をメッシュネットワークで接続しているが、コア数が多くなるにつれてルータ間の配線長が短くなり、インタコネクトの消費電力の比率が増えてしまいエネルギー効率が悪い。このため、少数のコアはコモンバスで接続して、それらのコアグループをクロスバやメッシュで接続する階層的なインタコネクト構造が良いという。

チップ内の階層的インタコネクトシステム

DRAMチップは、RASで全てのページから1行を読み出し、その中からCASでDRAMチップから読み出す部分を選択するというアーキテクチャになっており、CASのアドレスにかかわらず全てのページを読むため消費電力が大きい。これを右側の図のように全部のアドレスを一度に送ってしまい、必要なページだけを読み出すアーキテクチャにすれば、DRAMの消費電力を減らすことができる。この場合、アドレスのピン数が増えるので、多数ピンの接続が容易な3D実装なども候補となる。

消費電力減らすDRAM内部のアーキテクチャの変更

このような改善を行っても、データをチップ内でも長い距離伝送するには大きなエネルギーが必要であるので、できるだけデータの移動を減らす処理方法が必要になるという。

エネルギー効率改善のために電源電圧を半減すると、処理あたりのエネルギーは1/3になるが、動作速度は1/4になり、同一性能を実現するためには4倍のコア数が必要になる。そして、8nmという超微細プロセスであるので素子特性のバラつきも大きくなる。加えて、電源電圧を半分に下げるので、Vtのバラつきの影響も相対的に大きくなってしまう。更に、宇宙線起因の中性子などのヒットによる誤動作は電源電圧の低減で急激に増加してしまう。ということで、システムを安定に動かすResiliency(抗堪性)には大きなチャレンジがある。

最後に、Borkar氏は次の図のような将来像を示した。シーケンシャルな処理を高速で実行するための少数の大きなコアとそこそこのサイズのキャッシュにある程度のエネルギーを割き、残りの電力をキャッシュと同程度の電力密度となるレベルの多数の小規模、低電圧動作の低電力コアに使う。

将来の組み込みコンピューティングのイメージ

この図では、処理の状況に応じて小規模コアのクロックを必要な程度に落として、さらに省電力化するという絵になっているが、素子特性のバラつきの克服に関してBorkar氏に質問したところ、バラつきの増加でチップ内のコアの動作速度の差が大きくなるので、f/2やf/4でしか動作しないというコアも使う必要があるのではないかという答えであった。これは理解できるが、コアの性能が違うとスパコンなどでの処理分散はより難しくなる。

消費電力に関してもBorkar氏が挙げた技術だけで解決するわけではなく、バラつきやソフトエラーの問題もあり、TFlopsあたり20Wは、まだ解の見えない大きな挑戦である。

また、この基調講演ではBorkar氏はスパコンを中心に将来必要となる技術について述べたが、程度の差はあるが、いわゆる組み込みシステムでも大規模化するにつれて将来には必要になってくる技術である。