2016年12月に米国サンフランシスコで開催された「IEDM2016」。そのショートコースから、NVIDIAの講演を複数回にわたり紹介する。初回となる今回は、コンピュータ・システムにおいてデータのやりとりに消費されるエネルギーをなぜ最小化する必要があるのか、その理由を28nm CMOSプロセスで製造したSoCを用いて説明しよう。
半導体デバイス技術に関する国際会議「IEDM」では、カンファレンスの前日に「ショートコース(Short Course)」と呼ぶ1日間のセミナーを開催している。2016年12月のIEDM2016では、「コンピュータを実現する設計と製造(Design and Technology Enablers for Computing Applications)」と題したショートコースが開催され、1日間で6つの講義が実施された。
その中から、「将来のコンピュータにおける相互接続の課題(Interconnect Challenges for Future Computing)」と題するNVIDIAの講義が興味深かったので、今回からシリーズとして講義の概要をお届けする。講演者はNVIDIAで研究担当シニア・バイスプレジデント兼チーフサイエンティストを務めるWilliam(Bill) Dally氏である。
なお講演の内容だけでは説明が不十分なところがあるので、本シリーズでは読者の理解を助けるために、Dally氏の内容を適宜、補足している。あらかじめご了承されたい。
コンピュータ・システムにおける相互接続で設計者が望むのは、データのやりとりに要するエネルギーを最小限にすることである。具体的には、伝送距離(mm)当たりと伝送ビット数(bit)当たりのエネルギー(fJ)を最小化したい。
なぜ、エネルギーを最小化したいのだろうか。1回の演算処理が必要とするエネルギー(Ops/J)が、コンピュータの演算性能(Ops/s)を決めるからだ。そしてエネルギーの多くは、相互接続におえるデータのやりとりで消費される。
このことを、28nmのCMOS技術で製造したSoC(System on a Chip)シリコンダイで具体的に説明しよう。SoCは、64ビットの倍精度浮動小数点演算器や256ビット入出力の埋め込みSRAM、長さの異なる256ビット・バス、外付けチップとのリンク、外付けDRAMとのリンクなどを搭載する。これらのユニットが演算処理によって消費するエネルギーはかなり違う。
消費するエネルギーを見ていくと、64ビットの倍精度浮動小数点演算ユニットが20pJ、埋め込みSRAMが50pJと数十pJで済むのに対し、外付けDRAMのリンクは16nJと1000倍近いエネルギーを必要とする。256ビット・バスの消費エネルギーはバスの長さによって違う。短いバスでは26pJと少ないものの、長いバスでは1nJとかなり大きくなる。
Copyright © ITmedia, Inc. All Rights Reserved.