d.lab Systems Design Lab

Chapter -2-

脳とコンピュータと集積回路の短い歴史

そして一つの未来

2020.04.15

脳とコンピュータと集積回路の誕生<

139億年前、巨大なエネルギーの塊が突如として出現しました。ビッグバンです。

エネルギーと物質が相互作用して(E = mc2)、宇宙は急速に拡大しました。最初のわずかな揺らぎが銀河系を作り、46億年前に地球が誕生します。

物理法則に従って物質が変化する中で、自分の構造を情報としてDNAに保存し自己複製する生命が出現したのが40億年前です。

生命は、突然変異と適者生存を戦術に使い、不確かな環境を生き抜いて、単細胞から多細胞、植物、動物へと進化し多様化しました。

動物は外界から情報を獲得し行動を決定するための中枢神経系である脳をやがて獲得します。そして哺乳類は、700万年前に人類に分化し脳を進化させました。

生存のためには助け合いが必要です。脳は社会を作り、心を生み出しました。人は自分の意図を知り、それを伝える言語と論理的思考力を獲得したのです。


数学が誕生したのは3000年前です。

数学は人の認知能力を拡張しました。四大文明期には計算機やピタゴラスの定理を用いて税金の計算や土地の測量を行っています。やがて紀元前5世紀の古代ギリシャ時代になると、計算よりも数学の内部世界が研究対象となり、数学が道具から思考に進化します。

7世紀のアラビアで代数が発達し、15世紀のルネサンスで記号代数が発明されて、数学は物理的制約を受けない普遍的な視座を獲得します。そして17世紀になると微積分が考案され、無限の世界を探究できるようになりました。極限や連続性の概念を厳密に省察する結果、主観的な直感を超越した抽象的な記号体系が生まれたのです。

20世紀に入ると、「数学をする自らの思考について数学をする」試みまでもが行われます。物理的直感や主観的感覚などといった曖昧なものを完全に脱ぎ捨てて、脳から溢れ出した数学は、ついに「計算する機械」としてのコンピュータを生み出します。


当初のコンピュータは、演算器間の結線を切り替えることでプログラムする「布線論理方式」でした。

この方式には欠点が2つありました。処理できるプログラムの最大規模が予め用意したハードウェアの規模で制約されてしまう「規模制約問題」と、システムが大規模になると接続数が膨大になる「大規模システムの接続問題」でした。

フォン・ノイマンは、処理対象の「データ」と、データの移動および演算を指示する「命令」をメモリに記憶しておき、プロセッサがこの命令を順に解釈して演算処理を行う「プログラム内蔵方式(フォン・ノイマン方式)」を発明しました。複数の演算器を用意してそれらを物理的に結線するのではなく、一つの演算器に毎サイクル違う命令を実行させることで規模制約問題の解消を狙った画期的な方式転換だったのです。

一方、「大規模システムの接続問題」をさまざまな角度から検討した中で生まれた画期的な解が、ジャック・キルビーが発明した集積回路(IC)でした。フォトリソグラフィを用いて一枚のチップに素子を集積し一括配線することで、この問題が解決されました。

こうして単純化・極小化された演算資源をチップに集積化・並列化することで、コンピュータの性能は飛躍的に向上しました。高性能なコンピュータはさらに大規模な集積回路の設計を可能にします。ムーアの法則に導かれて、コンピュータと集積回路は共に発展しました。


脳とコンピュータとチップの短い歴史の参照図
図:チップのスケーリングでコンピュータがダウンサイジングし両者は手を取り合って発展した

集積回路の成長と限界

集積回路の性能・コスト比は、微細化により指数関数的に改善できます。「ムーアの法則」と呼ばれるこの経験則は、集積回路の指導原理であり、成長シナリオです。

コストはリソグラフィーで決まるので、リソグラフィーが限界に近づくとトランジスタの単価が上がります。実際に16nm世代(2015年)からトランジスタの単価が上昇に転じています。

しかし、7nm世代(2019年)からEUV(極端紫外線)リソグラフィーが導入されて、トランジスタの単価は再び下がると思われます。

したがって、問題は性能改善の限界です。それは電力、つまり発熱が上限に達して、そのために回路をこれ以上集積できなくなることです。

電力あたりの処理性能、つまり電力効率(GFLOPS/W)がムーアの法則の命運を握ります。「電力効率の改善なくして性能改善なし」です。


電力はスケーリング(微細化)の副作用で増えます。電界効果で動作するトランジスタの電界が一定になるようにデバイスをスケーリングすれば、電力は増大しないはずでした。

しかし実際には、1980年代から90年半ばにかけて、回路を高速動作させたかったために、電源電圧を下げずにデバイスをスケーリングしました。その結果、電力は3年ごとに4倍増え、15年間で3桁も増えました。

電力が大きくなりすぎたので1995年以降電源電圧を下げてきましたが、すでにデバイスの内部電界が高くなりすぎていたために電流は十分に減少せず、その後も電力は6年で2倍ずつ増え続けています。

電力増大の原因がスケーリングの副作用なのだから、その対策は容易ではありません。原点に戻って考える必要があります。


電子デバイスでは、電子に情報を載せます。CMOS回路の場合、情報処理に用いる電荷はQ = CVCは回路の容量でVは電源電圧)です。この電荷が電圧Vだけ落ちて失うエネルギーはE = QV = CV2となります。電力は毎秒消費するエネルギーですから、さらにスイッチングの回数をかけて、P = fαCV2で求まります(fはクロック周波数でαはスイッチング確率)。

したがって、電力低減の方策は3つあります。低電圧化(V)と、低容量化(C)と、スイッチングの低減()です。

電圧を下げると電力は効果的に減りますが、限界があります。立ちはだかるのはリークです。

ゲート絶縁膜には量子効果によるリークが現れ、これ以上薄くできません。この状態でトランジスタを微細化すると、ゲートの支配力が不足して、トランジスタが十分にオフしなくなります。

その結果、電源電圧をさらに下げても、回路が遅くなる分だけリークが増大して支配的になり、電力はかえって増大します。今日使われているプロセッサの電力効率が最大となるのは、電源電圧がおよそ0.45Vのときです。

リークを減らすために、材料、プロセス、構造を変えてきました。たとえばトランジスタを立体構造にしてゲートで覆うことで、ゲートの支配力を改善しています。7nm世代のFinFETは予想以上にリーク削減に成功しています。


汎用から専用へ、2Dから3Dへ

室温でCMOSゲートを多段接続できる理論限界は0.036Vです。低電圧化の方策も残すところ1桁、電力換算で2桁の余地しか残っていません。

電力効率を改善するもう一つの方策は、低容量化です。汎用のCPUやGPUに比べて、ASIC(特定用途向け集積回路)やSoC(システムオンチップ)などの専用チップは、無駄な回路を削ぎ落とし低容量化できて、電力効率を10倍以上高くできます。


また、データを移動するのは、計算に比べて大きな電力を消費します。とりわけチップの外にデータを出し入れすると、3桁ほど大きな電力を消費します。フォン・ノイマン・アーキテクチャが求めるDRAMのアクセスが電力のボトルネックになっています。

チップのデータ接続で大切なことは、接続境界を辺ではなく面にすることです。チップの中はスケーリング率の2乗で高集積になります。一方、外部I/Oは主にチップ周辺に配置されるので、集積度はスケーリング率に比例します。その結果、データ通信が内部の性能要求に追いつきません。つまり、チップを積層実装して面全体で接続することが有効になります。集積のレベルを2D(平面)から3D(立体)に進化させることで電力効率を大きく高めることができます。


ムーアの法則が減速する中で、従来技術の延長ではない新技術(disruptive technology)にも実用化の機会が増えています。