半導体産業とマイクロプロセッサの未来
今年も米国ハワイ州マウイ島に来ている.昨年2月の「なぜ円は安くなったか」の投稿から8ヶ月後に為替相場は歴史的な円安を記録した.2月は地球上で2番目に知能の高い生き物の繁殖シーズンで,ラハイナにはMartin Lawrenceがあってもワイキキには同水準のギャラリーは存在しないのは,単に”知っているかどうか”を超えた真の(知的)情報格差の顕著な分断を表している.この理解の深さを伴う「情報格差」を「教養格差」と呼ぶことにすると,世界はすでに指数的な差をつけている.マルサス的な考察をすれば,英文による「知識」の増加量は日本語のそれに対し「幾何級数的」に増大してきたからだ.幸い,テクノロジーは一昔前の世代とは比べ物にならないほど,グローバルな知へのアクセス可能性と効率的な運用ツールを提供する.だから,未来を担う世代は,それらを駆使し,古い方法論を捨て去り,コーカソイドと互角に議論できる水準の英語運用能力とクリエイティブクラスの能力を早期に身につけ,日本を出ることだ.
私たちの奇妙な形をした島国では11月に経済産業省によって大企業幹部を責任者とする半導体の合併会社が設立された.このプロジェクトは成功するだろうか.政策決定者らは,ポーズとしては「スタートアップ」を掲げつつ(10年前に西海岸で「スタートアップ」を始めた僕からすれば今からルーズソックスという感じだ.当時この言葉は日本で通じなかった.あとAIも通じなかった),依然として既成大企業という実質的な国家事業体の寄り合いに託生する構図を続けている点で「グローバル化」を掲げながら実態は留学生数を増やすといった分かりやすい目標だけが設定される形式主義に即座に陥るのは「教養格差」に依る(かなり柔らかく表現している).
今回の記事では「コンピューターの未来」,とりわけマイクロプロセッサの未来に向けた戦略 – どのようなマイクロプロセッサとその周辺産業を作るべきか – についてやや専門的なレベルで考察する.プロセッサ性能の基本と歴史を概観しながら,5~10年後のコンピューティングに求められる需要予測とアーキテクチャの設計,そして日本が勝つための戦略を論じる.主に省庁の官僚や政策決定者,半導体産業に関わる経営幹部等の意思決定者に向けたものだが,コンピューターを勉強中の人々への励ましのメッセージでもある.尚,「コンピューター」とは古典コンピューターのことだが,最近論文も著した量子コンピューターについての考察は別の機会に書くことにする.数学的には古典計算機は量子計算機の特殊ケースだ.
そして,以下の内容を読んでも理解できなかった半導体産業に関わる意思決定者や政策決定者がいるとしたら,僕に連絡して下さい.まず,ムーアの法則を概観するところから始めよう.
ムーアの法則終焉後もプロセッサ性能は向上する
1970年代初頭IBMのロバート・N・デナードによるトランジスタスケーリングの基本レシピによればトランジスタサイズを1/k(~= 0.7, k=√2)倍にすると,プロセッサの主要なパラメーターごとのスケーリングファクターは
・寸法 1/k (面積 (1/k)^2 ~= 0.5 倍)
・遅延 1/k (周波数 k ~= 1.4)倍
・電源電圧 1/k
となり,したがって,(1) トランジスタの寸法を30%(0.7倍)縮小すると面積は50%縮小し,トランジスタ密度は2倍になる.(2) それに伴い性能は約40%向上(遅延0.7倍,周波数1.4 倍)し,(3) 電源電圧を 30%低減し,エネルギーを65%,電力を50%削減する.まとめると,集積度は2倍,40%高速化し,消費電力は変わらない.
そしてムーアの法則の経験的観測では,(1) トランジスタ数は約24ヶ月で2倍, (2) 20年間で1000倍の性能向上,を実現し,例えば1971年のIntel 4004では1 coreキャッシュなしトランジスタ数23Kだったのが,7年後のIntel 8008では1 coreキャッシュなしトランジスタ数29K,そこから21年後にはIntel Nehalem-EXが8コア24MBキャッシュトランジスタ数2.3Bへと進化した.2015年のOracle SPARC M7では32コア10Bトランジスタとなり,コア数が増大してきた.これには後述するように,ムーアの法則によってトランジスタの集積度は向上する一方で,シングルスレッド性能はすでに横ばいであり,トランジスタの速度とエネルギーはほとんど改善されないことから,エネルギー最適化された大規模な並列処理が性能改善の主要なポテンシャルとなっているためである.
したがって,コンピューターの性能向上を考える上では,シングルスレッド性能はほとんど改善されず,エネルギーが性能を左右するという前提に立つ必要がある.そのためにはシングルスレッド性能の高い大型コアと低周波・低電圧だが性能の低い小型コアを多数組み合わせるアプローチや,暗号エンジンやメディアコーデックに特化したアクセラレータや動的に変更可能なFPGA等のカスタマイズハードウェアの利用などが有効である.例えばエネルギー効率が特に考慮されるモバイル端末のSoCでは数十またはそれ以上のアクセラレータを搭載することでエネルギー効率と性能のバランスをとることができる.また,メモリ階層を移動したりプロセッサ間でデータを同期させるためにもエネルギーは消費されるため,プロセッサ・ダイ上でのデータ移動に関するエネルギーの最適化も性能向上に寄与する.
まずはここまでが昨今のマイクロプロセッサの性能を考える上での基本的な原則である.
究極のマイクロプロセッサは原理的に存在しない
1971年に最初の商用マイクロプロセッサ「Intel 4004」が登場して以来,マイクロプロセッサのアーキテクチャは複数の系統が生まれては集約したり分岐したりを繰り返し,今も統一されていないし,これからもそうだろう.なぜか.プロセッサが単一のアーキテクチャに集約する可能性のあったイベントとして,歴史上,最も示唆的なのは,1980年代初頭カリフォルニア大学バークレー校とスタンフォード大学パロアルト校で開発され,C言語,UNIX,大学などの研究成果を基に,それ以前の複雑化したCISC(Complex Instruction Set Computer)への反動としての新たなオープンなアーキテクチャパラダイムを作ったRISCマイクロプロセッサである.MIPSの設計者ステファン・プルジブスキによれば,RISCとは「1985年以降に設計されたあらゆるコンピューター」である.
RISCプロジェクトは同時代やそれ以前のCISCプロセッサとは異なり,マイクロコードやメモリからメモリへの命令をもたない固定長の32ビット命令,大きな汎用レジスタ,パイプラインなどの第2第3世代のマ イクロプロセッサを定義する特徴を備え,1命令あたりのクロックサイクル(CPI)を一般的なCISCの3~4サイクルに対し1サイクルに短縮した.大きなレジスタファイルベースの設計は,コンパイルされたプログラムの命令使用特性を徹底的に分析し得られた”頻繁に使用される命令のサブセットは極めて限定的である”という洞察によるものである.RISCが開発されるとインテルやモトローラなど当時のワークステーションメーカーは自社のアーキテクチャを捨てて独自のRISC CPUを設計し,それらは驚くほど互いに似ていた.従来のアーキテクチャとの互換性を必要としないことから,ARMや日立製作所など組み込み用のニッチな用途をターゲットにしたRISCベンダーが登場した.RISCの思想はコンピューター・アーキテクチャーの世界で確固たる地位を築いていた.
それでもプロセッサが分岐を続けた理由は,プロセッサの成功は技術的なメリットよりもそれを使用するシステムの数量に大きく依存することに依る.システムの数量の決定要因は市場であり,市場を決定するのはアプリケーションである.例えば,1974年にモトローラがマイクロプロセッサー市場に参入したとき,主要な用途はゼネラルモーターズやフォード向けの自動車市場だった.1974年に発表された8ビットのRCA 1802の最も重要な用途は, NASAの宇宙探索機7機であった.1977年に発表されたApple IIは表計算VisiCalcによって市場に浸透した.使用されるシステムの数量によってプロセッサの成功が決まる原則は以降も変わらない.1980年代以降のデスクトップ市場ではソフトウェア業界が次々と多くの機能を開発することで,エンドユーザーは高いパフォーマンスを求め,汎用機のためのより高性能なマイクロプロセッサの需要が増加した.そして汎用機が主役になる1980年代半ば以降では,互換性が求められるコスト重視のPC市場と,価格は二の次で性能重視のワークステーション市場に分岐する.前者はオープンスタンダードを採用し何百ものメーカーが低価格のコンピューターを生産できるようにしたx86プラットフォームによるIBM互換機が市場を席巻する中,RISCはUNIXワークステーションをターゲットにした後者に属し,両者は異なる需要を満たし共存した.さらに1990年代前半に登場した第2世代のRISCプロセッサは,ベンダごとに異なる機能が採用され,第1世代との類似点はもはやなくなり,RISC自体も分岐していく.この頃,x86もRISCの考え方を多く取り入れており,CISCやRISCの区別は重要ではなくなっていた.
こうして需要の変遷とともに複数のアーキテクチャが生まれは,決して一つに集約しないのは,CPUの性能を上げるにはCPIを下げる,プログラムの命令数を減らす,クロック周期を短くするなどの工夫が必要であり,どれか一つの要素を減らすと他の要素が増えてしまう原理的なトレードオフがあるためである.RISC CPUの対照的な設計を表すAlpha21064とPowerPC601は,前者は高速なクロックとシンプルな命令セット,後者は各クロックで多くの処理を行う強力な命令を持ち,重視する観点次第で各々が異なる設計と特徴を持つ.性能がトレードオフにある限り究極のプロセッサは原理的に存在しないのなら,需要が分岐する限り,プロセッサもまた異なるアーキテクチャに分岐し続けるだろう.
高速なメモリはコンピューターの性能を向上するか
マイクロプロセッサの性能向上に対し,データの局所性に基づき必要な帯域幅と低レイテンシを提供するメモリ階層化技術が発達してきた.これによりキャッシュ階層の上位レベルで,メモリサイズと速度は最適化され,結果上位レベルのメモリのみ高価・高速であればそれ以上の大幅な性能差は生じない.この効率的なメモリ階層の実現が大量の高価・高速メモリを搭載したコンピューターが大きな性能向上を示さない主な理由である.歴史的には,プロセッサとメモリ間の速度バランスはシーソーゲームであり,求められる性能も変化してきた.プロセッサのクロック速度が平坦化する以前は特に,メモリ階層の出現によりDRAMに重視されていたのは速度よりもコストあたりの容量だった.これにはダイ上に搭載できるDRAMの面積と予算が有限であることも背景にある.プロセッサとメモリ間の速度差が拡大すると,キャッシュ階層レベルは1階層から2~3階層となり両者のバランスは保たれた.シングルスレッド性能が頭打ちになるとディープパイプラインをはじめとするコアマイクロアーキテクチャの追加実装に性能向上は依存し始める一方,これらの技術はエネルギー効率が悪く,やがて非ディープパイプラインへ回帰し,キャッシュサイズを増やす方が効率が良いとされるようになった.結果,DRAMに割かれるコストや面積は増加した.
こうして,主に効率的なメモリ階層技術によってプロセッサとメモリ間の速度差のバランスが保たれてきたが,メモリ密度はほぼ2年ごとに倍増する傾向にある一方でメモリ速度向上は緩やかであるから,大規模で高速なキャッシュに依存した1980年代後半のRISC CPUアーキテクチャのように,設計や用途次第ではメモリ速度が性能のボトルネックとなる可能性がある.したがってこれらのバランスが保たれている限りでは,高性能メモリを大量に搭載することによる性能向上は限定的かつ有限である.
日本の半導体産業が勝つ方法
我が国の半導体産業の特徴は装置材料の低レイヤー市場で世界シェアを持つ一方,設計や製造の技術は韓国や台湾に移転し上部レイヤーは空洞化した.”半導体自給率”は将来,食料自給率やエネルギー自給率同様に先進諸国の指標となり,設計製造市場を再び取り戻すにはTSMCのファウンダリモデルやサムスンのメモリ半導体モデルなど,特定市場かつ未成熟領域に特化し始めるのが妥当な戦略である.後述するように,FPGAをはじめプログラマブルなマイクロプロセッサの大規模な需要増加が予測され,事実,インテルは2015年にFPGA大手のアルテラを買収,AMDは2020年に同じくFPGAに強みをもつザイリンクスを買収している.既にコンピューターメーカーとなった自動車産業が自社でSoCの設計を内製し,全産業が独自に最適化したプロセッサを必要とする時代に突入しつつある一方で,有限なエネルギー予算の中でエネルギー効率を追求することが性能向上の究極のドライバーとなった今,大規模な並列処理ルーチンを固定機能アクセラレータに準じる動的にプログラム可能なプロセッサに分散させることでエネルギー効率と処理速度を最大化し,これがデータセンターにおいてもエッジコンピューティングにおいても常識となる未来がごく自然に推論されるからである.したがって必要なのは,超分散カスタマイズロジック時代の固定機能コアまたはプログラマブルコアおよびそれらを管理または設計する統合システムである.
一方,我が国の半導体製造技術は戦略性と機密リテラシーの欠如により知的財産を他国に安易に流出させてきた.特に定年等で退職する技術者の情報流出を防ぐための厳格な機密契約を入社段階で結び,中核技術はあえて特許公開しないか各国での同時知財化を徹底するといった基礎的な情報機密化措置を民間企業の自主性に委ねず法的規制で義務とすることは,国策として検討に値する.
半導体産業を焼野原から作るには,装置材料分野の国内資源や生きた研究資源を活用しつつ,プロセッサの成功とは使用するシステムの数量に依存するという原則を踏まえ,上述した統合システム,例えばソフトウェアルーチンの固定機能コア化を実現するシステムプラットフォームを開発しながら,同時に10nm未満の設計ルールを実現する半導体ファウンドリーをも兼ね備えた企業を,既存企業でなく新たな新興企業として経済的に支援し育成していくことが望まれる.その前提段階として,産業を牽引する潜在的人材層への啓蒙,すなわち希少な学術エリートコンピューター人材を,流行に捉われず本質的な価値の創造へと向かわせる価値観の醸成,コミュニティが鍵になるだろう.