シンギュラリティ教徒への論駁の書

"Unending exponential growth? What drugs are those people on?" - Linus Torvalds

ムーアの法則とは何か

ここで、今までも何度か取り上げた「ムーアの法則」について、改めて検討します。


この言葉も、「シンギュラリティ」や「収穫加速の法則」といった用語と同様にさまざまな意味で用いられており、コンピュータの性能やコスト効率が指数関数的に向上するという傾向を曖昧に表現するために用いられていることもあります。実際のところ、ムーアの法則は「ほとんど常に誤って解釈されてきており、成立していたことなどない*1」 とさえ主張する論者も存在しています*2


そこで、まずは「ムーアの法則」という用語の定義を確認します。

この法則は、アメリカの半導体メーカーであるインテル社創業者の1人であるゴートン・ムーア氏が、1965年に発表した論文記事の中で示したものです。以下に、ムーア氏の主張を引用します。

コンポーネントあたりのコストが最小になるような複雑さは、1年あたりおよそ2倍の割合で増大してきた。短期的には、確実に、この増加率は上昇しないとしても維持されるだろう。より長期的には、やや不確実であるとはいえ、少なくとも今後10年間ほぼ一定の増加率を維持できないと考える理由は無い。

f:id:liaoyuan:20170711003651p:plain

図1:ゴードン・ムーアの1965年の論文 (Cramming more components onto integrated circuits ) より

 

ここで述ベられている「複雑さ」は、コンポーネント (トランジスタ) の数とサイズ、すなわちトランジスタの集積密度と言い換えることができます。簡単にムーアの法則を言い換えると、次のように表現できます。

「コスト効率を最大化するトランジスタの集積密度は、1年に約2倍となる」

その後、ムーア氏は1975年に、「2年ごとにおよそ2倍」になると主張を修正しています。また、この法則を「ムーアの法則」と命名したのは、ムーア氏自身ではなく、カリフォルニア工科大学教授のカーバー・ミード氏であると言われています。

2件、よくある誤りを指摘しておきます。まず、上記の通り、ムーアの法則は「コストを最小化するトランジスタ集積密度」について述べるものであり、マイクロプロセッサの計算性能について直接述べるものではありません。もちろん、過去集積密度が上昇すれば計算性能が向上する傾向にあったことは確かですが、計算性能についての予測を直接述べるものではありません。

また、しばしば期間が「18ヶ月」で倍増すると言われることがありますが、これはインテルの幹部であったデビット・ハウス氏が述べたものと言われており、ムーア氏は「自分は『18ヶ月で倍になる』とは主張していない*3」と繰り返し訂正しています。


法則の定義はともかく、ムーア氏の論文発表以来50年以上が経過していますが、最近に至るまでほぼこの法則は妥当なまま成り立ち続けており、この法則から予測される通りにプロセッサ上のトランジスタ数は増加し続けています。また、この法則はコンピュータの性能に関して直接述べるものではないとは言え、微細化と高集積化に伴ってプロセッサの性能も向上し続けてきました。
半導体を設計・実装するための手法は変化し続けており、また、ムーアの法則は、法則の背後にある原理について何も述べていない経験則であるにもかかわらず、かなりの長期間に渡って成立し続けていることは、驚愕するべき事実です。

私自身も、コンピューター産業の末席で糊口を凌いでいる者としてムーアの法則の妥当性を肌で感じていますし、近い将来には、広い意味でのコンピューター関連技術で何らかの指数関数的成長が続いていくだろうと信じています。 

プロセスルールの数値は物理的に何の意味もない

けれども、ここで1件重要な指摘をしておきます。半導体の微細化傾向を表す単位として、プロセスルールの値、16nmや14nmプロセスといった数値が用いられていることがあります。この値は、現在では単なるラベルであり、プロセッサ上の物理的なトランジスタのゲート長や配線長とはもはや何の関係もありません

もともと、平面上に形成されるトランジスタであるプレーナ型トランジスタでは、プロセスルールの値はゲート長という物理的な意味を持っていました。けれども、22nmプロセス以降主流となったFinFETやTri-Gateと呼ばれる立体的な構造を持つトランジスタでは、この値はいかなる物理的な意味も持っていません。

 

f:id:liaoyuan:20170711004029p:plain


上記の図は、「IEEE International Roadmap for Devices and Systems(IRDS:国際デバイスおよびシステムロードマップ)」が発表している2016年のロードマップ*4から引用したものです。「Logic Industry “Node Range” Labeling (nm)」と表記されている値が、プロセスルールの値です。表の下部「LOGIC DEVICE GROUND RULES」の項目を見れば、物理的に対応する長さが存在しないことが分かります。


これとは別に日本語の解説記事もありましたので引用します。

近年、ゲート長の微細化に陰りが見えてきた。…そこで、最近は、2~3年ごとに新材料や新構造を導入し、ある程度加工寸法が縮小されるたびに、前の世代の技術ノードの0.7 倍の値を便宜的に新技術ノードとして採用するようになった。
…最近のロジックデバイスでは、もはや物理的な長さとは無関係に、数字だけ独り歩きしてしまっている。表1の最上段に「ロジック業界で使われているノード名を示すラベル」と記されているのはそのためである。もはや物理的な意味がないので表1では、"16/14"のように無名数(単位のない数値)で表示されているが、これに習うケースは少なく、これまでの延長線上で"nm"という長さの単位をつけて使っているのが実情である。しかし、表1からもわかるように、そのような長さの個所は存在しない。

第1回:今年は14nm半導体決戦の年〜ところで14nmとはどこの長さ?|物理長と無関係に独り歩きし始めた微細化の指標 | Telescope Magazine

もちろん、言うまでもなく半導体技術においてイノベーションは続いていますし、微細化も (ペースは低下したとは言え) 継続されています。けれども、プロセスルールの値に関しては、物理的・技術的な意味はもはや存在しません。

ある半導体企業のCEOが述べている通り、マーケティング上のあるいは投資家向けの説明としての意味しか持っていないと言えます*5

よって、プロセスルールの値を元にムーアの法則を論じることは誤りです。