コンピュータは、スマートフォンなどの携帯機器が中心になり、さらに、ウェアラブルやセンサベースの機器が伸びてきており、それらの機器では電力消費の低減が非常に重要となる。このため、NEDO(新エネルギー・産業技術総合開発機構)では平成23年9月に「ノーマリーオフコンピューティング基盤技術開発」というプロジェクトをスタートさせた。

これらの機器の各部分は、電源がオフというのが通常の状態で、本当に動作させる必要がある時に、本当に動作する必要がある部分だけに電気を供給することによって消費電力を低減するという基礎技術を開発しようというのが、このプロジェクトの目標である。

このプロジェクトは、東京大学(東大)の中村宏 教授をリーダとして、東大、東芝、ルネサス エレクトロニクス、ロームで推進され2016年の2月28日で終了する予定になっている。残りの期間が3カ月弱となり、概ね研究成果がまとまって来たことから、2015年12月14日に横浜の情報文化会館において成果を報告するシンポジウム(Noffシンポジウム)が開催された。

研究開発体制は、東大と東芝、ルネサス、ロームの各社が東大に集まって研究開発を行う集中研と各社が独立して研究開発を行う分散研という体制で行われた。各分散研のリーダは集中研のメンバーを兼ねるという形で集中研と分散研は密に連携して研究開発を進めたという。

ノーマリオフコンピューティングの研究開発の実施体制。集中研は汎用的なノーマリオフコンピューティング技術の確立を目指し、分散研は各社がテーマとして選んだ機器のノーマリオフコンピューティングの実現を目指す

ノーマリオフを実現する基本的なアイデアは、電源を切っても情報が消えない不揮発性メモリ(NVRAM)を使い、動作が必要ない場合には電源をオフすることができるようにするというものである。

基本的な考え方は不揮発性メモリを使い、電源を切っても情報が消えないようにして、積極的に電源を切り、本当に動作の必要がある部分だけに電気を供給するというもの

こう言うと簡単に聞こえるが、まず、出来るだけ細かい単位で電源がオンオフできるようにする必要がある。また、動作しなくて良い時間をできるだけ長くするという工夫も重要である。

また、不揮発性メモリ(NVRAM)は電源をオフにしてしまえば電力を消費せずに情報を記憶できるが、書き込みや読み出しを行うときには通常のRAMより多くのエネルギーを必要とする。したがって、頻繁に書き込み、読み出しを行って、電源オフの期間が短いとDRAMやSRAMなどと比べて不揮発性のNVRAMの方が多くのエネルギーを消費してしまうということが起こってしまう。

この書き込み、読み出しの際に必要となる余計なエネルギーと、節約できるエネルギーが同じになる電源オフの期間をブレークイーブンタイム(Break Even Time)と言い、休止時間がこれより短いと、NVRAMの方が余計に電力を消費してしまうことになる。

NVRAMは、休止している時(b、c)は電力ゼロでSRAMより電力が小さいが、アクセスする時(a)は大きな電力を使う。aとbの面積が同じになる時間をBreak Even Time(BET)という

したがって、このようなトレードオフのあるNVRAMをどの部分に使うのが良いのかという検討が必要となる。

通常のコンピュータはレジスタからメインメモリまでは揮発性のメモリを使い、ストレージだけ不揮発性のHDDなどを使っている。不揮発性メモリをメモリ階層に入れる場合は、どこにどのように使えば効果的かを検討する必要がある

また、非動作状態と言っても、クロックは止めるが電源は印加したままというやり方と、電源を印加しないというやり方がある。前者は非動作の状態でもリーク電流が流れてしまい、ある程度電力を消費してしまうが、クロックを加えるとすぐに処理を再開できるというメリットがある。

一方、後者はリーク電流も無くなり非動作時の電力は無くなるが、電源電圧を印可して動作状態に戻すのにある程度の時間が掛かり処理の再開に時間がかかる。また、電源オンオフ時に余計な電力消費が発生し、NVRAMのBETと同様なトレードオフが出てくる。

非動作時にはクロックを止めるSleepと、電源も止めてしまうDeep Stand-byという2つの方法がある。どちらが有利かは使われ方に依存する

次の図は、あるシステムのセンシングの間隔と消費エネルギーをプロットしたもので、上側の2本のグラフは大型のプロセサコア、下の2本は小型のプロセサコアのもので、破線はSleep、実線はDeep Stand-byのものである。このグラフを見ると、間隔が短い場合はSleepの方が有利で、大型コアでは50秒、小型コアでは6秒で両者同じエネルギーとなっている。

非動作時にはクロックを止めるSleepと、電源も止めてしまうDeep Stand-byという2つの方法がある。どちらが有利かは使われ方に依存する

各種の用途で要求されるサンプリングの周期を調べてみると、センシング間隔が6秒以上で良いというものはほとんど無く、サンプリングして、そのデータの処理が終わったら、電源オフとするというやり方でSleepと比べて電力が低くなるという用途はほとんど無いことが分かった。つまり、電源をオフして電力を減らすためには、前の図の実線と破線の交点をもっと短時間の方にシフトする設計が必須ということになる。

非動作時にはクロックを止めるSleepと、電源も止めてしまうDeep Stand-byという2つの方法がある。どちらが有利かは使われ方に依存する