コンピュータの低電力化は重要である。特に、IoTなどで電池寿命を延ばしたり、環境からの回収エネルギーで発電して駆動したりする場合などは、低電力化が必須である。このような超低電力化に正面から取り組んでいるのが、スイスのチューリッヒ工科大学とイタリアのボローニャ大学が協力して推進する「PULP(Parallel Ultra Low Power)プロジェクト」である。2016年のCOOL ChipsではETH Zurich(チューリッヒ工科大)兼ボローニャ大のLuca Benini教授が来日し、「Sub-pJ-Scalable Computing」と題する基調講演と最新の研究成果を「193MOPS/mW@162MOPS、0.32V to 1.15V Voltage Range Multi-Core Accelerator for Energy Efficient Parallel and Sequential Digital Processing」という論文として発表した。
余談であるが、ETH Zurichは日本ではあまりなじみのない大学であるが、2016年のTimes Higher Educationでは、日本最高の東京大学(東大)がランク43位で、ETH Zurichは9位にランクされている名門校である。
センサの生成する情報が増えてきており、IoTでは、センサのところで処理を行って情報量を減らすことが重要になる。次の図にイメージ、音声、加速度、バイオメトリックの各分野での入力と出力のバンド幅とそれを処理する計算性能を示す。音声の場合はデータの圧縮率は非常に大きいが、必要となる計算量は100MOPSと大きく、超低電力のマイクロコントローラの性能では足りない。
センサは100μW~2mWの消費電力、バッテリと回収エネルギーで供給できるのは数mWであり、マイクロコントローラは1~10mWに抑える必要がある。
デジタルチップのエネルギー消費にはリーク電力によるもの(青線)と回路のスイッチに伴うダイナミック電力によるもの(緑線)がある。両者を合わせた総エネルギーは赤の線で、トランジスタが弱くオンするスレッショルド電圧近辺(ニアスレッショルド)の電源電圧で消費エネルギーが最小になる。ただし、僅かしか電流が流れないのでスイッチ速度は遅く性能は低いので、並列化で性能を補う必要がある。
ニアスレッショルド電圧で動作させるマイクロプロセサは、次の図のような構成になっており、低電圧であるのでトランジスタの動作速度が遅く、コアの性能が低い点をマルチコアで補っている。また、電力管理(Power Management)を強化し、アイドル時の無駄なエネルギー消費を極力抑える構成となっている。
各クラスタは8個のPE(Processing Element)を持ち、チップには32クラスタを搭載する。(ただし、今回の研究のためのPULPチップでは、4PEのクラスタが1個となっている。)各PEは4段パイプラインのRISC V構成でOpenRISCの命令セットを実行する。
28nmのUTBB FD-SOI(Ultra Thin Body and BOX Fully Depleted Silicon on Insulator)プロセスを使うPULPプロセサは第3世代目で、クラスタの面積は1.3mm2で、0.32~1.15Vの電源電圧で動作する。最高電圧でMax FBB(Forward Body Bias)の場合は825MHzクロックで動作する。一方、最低電圧でFBB無しの場合は、クロックは40.5MHzに下がるが消費電力は0.56mWまで減少する。
PULPには各種の低電力化回路技術が使われているが、その基本的なアプローチは電源電圧の低減で、論文の題名にもあるように最低0.32Vまで電源電圧を低下して動作させる。消費エネルギーは電源電圧の2乗に比例するので、1V→0.32Vとすると、おおよそ1/10に動作エネルギーを減らすことができる。