手を上げるチップくんゆるふわ半導体
はりきるチップくん

ムーアの法則とは?半導体の進化をPythonで可視化する

2026-09-12 ・ 実践

#ムーアの法則#回帰分析#NumPy#Python#実践

「トランジスタ数は約2年で倍になる」——半導体の進歩を象徴するムーアの法則です。でも本当に倍増しているのか? この記事では代表的なプロセッサのトランジスタ数を実データとして、Pythonの回帰で「何年で倍になっているか」を計算します。指数関数的成長を、感覚ではなく数字で確かめます。

ムーアの法則:「約2年でトランジスタが倍」になる経験則

インテル創業者のゴードン・ムーアが1965年に示した観察で、チップに載るトランジスタ数が、ほぼ2年ごとに倍になるというもの。物理法則ではなく、業界が達成し続けてきた「目標」に近いものです。

28nm2011年ごろ7nm2018年ごろ3nm2022年ごろ2nm2025年〜小さくするほど「同じ面積に多く・速く・省エネ」。これが微細化競争
図: プロセスノードが小さくなるほど、同じ面積により多くのトランジスタを詰め込める(=速く・省エネに)

← 図は横にスクロールできます →

トランジスタが倍になると何がうれしい?

トランジスタが増えると、同じ大きさのチップでより多くの計算ができます。しかも小さくすると1個あたりが速く・省エネに。だからスマホは年々賢く、バッテリーも持つようになってきました。

🔬 微細化スライダー

ノード(nm)を小さくすると、同じ面積に入るトランジスタが増えます。動かしてみましょう

7nm(2018年ごろ)
大きい(昔)小さい(最新)

×12

28nm比の密度(ざっくり)

64

この面積に入る数(イメージ)

小さくするほど「多く・速く・省エネ」。ただし製造は難しくなり、EUVなど高価な装置が必要になります

ムーアの法則は「もう限界」と言われるけれど

トランジスタは原子数個ぶんの大きさに近づき、単純な微細化は難しくなっています。それでも、立体構造のトランジスタやチップレットなど新しい工夫で、性能向上は続いています。「ムーアの法則は終わった/まだ生きている」の議論は今も続いています。

💡

ポイント

微細化は「数字(nm)を小さくする競争」。でも本当の目的は、性能・電力・コストをよくすること。手段はどんどん多様になっています。

なぜ片対数グラフなのか

指数関数的に増える量は、縦軸を対数にすると直線になります。直線の傾きが「増えるスピード」。だから傾きから倍増年数が逆算できます。

指数成長を直線で捉える

📈

実データ

年×トランジスタ数

→
🧮

log2で直線化

片対数に変換

→
📏

傾き→倍増年数

回帰で求める

🔬 微細化スライダー

ノード(nm)を小さくすると、同じ面積に入るトランジスタが増えます。動かしてみましょう

7nm(2018年ごろ)
大きい(昔)小さい(最新)

×12

28nm比の密度(ざっくり)

64

この面積に入る数(イメージ)

小さくするほど「多く・速く・省エネ」。ただし製造は難しくなり、EUVなど高価な装置が必要になります

準備

ターミナル
pip install numpy

① 実データを用意する

代表的なプロセッサの発売年とトランジスタ数(概数)です。

Python
import numpy as np
 
# (年, トランジスタ数) おおよその代表値
data = [
    (1971, 2_300),          # Intel 4004
    (1978, 29_000),         # Intel 8086
    (1989, 1_200_000),      # Intel 80486
    (1999, 9_500_000),      # Pentium III
    (2006, 291_000_000),    # Core 2 Duo
    (2012, 1_400_000_000),  # 22nm世代
    (2020, 16_000_000_000), # Apple M1
    (2023, 67_000_000_000), # 最新世代GPU級
]
years = np.array([d[0] for d in data])
counts = np.array([d[1] for d in data])

② 片対数で直線回帰する

トランジスタ数を log2 に変換して、年に対する傾きを最小二乗法で求めます。

Python
log2_counts = np.log2(counts)
slope, intercept = np.polyfit(years, log2_counts, 1)   # 1次で回帰
 
doubling_years = 1 / slope     # log2が1増える=2倍になる年数
print(f"傾き: 年あたり log2 で +{slope:.3f}")
print(f"倍増にかかる年数: {doubling_years:.2f} 年")

出力は 倍増にかかる年数: 約2.1 年。半世紀ぶんの実データが、みごとに「約2年で倍」を示します。ムーアの法則が単なるスローガンでなく、データに裏打ちされていることが確かめられました。

🌱

予測もできる

intercept と slope があれば任意の年のトランジスタ数を予測できます。2**(slope*2030 + intercept) で2030年の見込みを出してみましょう。ただし後述のとおり、この外挿には限界があります。

③ 予測と実測のズレを見る

回帰から各年の予測値を出し、実測と比べます。

Python
pred = 2 ** (slope * years + intercept)
for y, real, p in zip(years, counts, pred):
    ratio = real / p
    print(f"{y}: 実測 {real:>14,}  予測比 {ratio:.2f}")

多くが予測の0.5〜2倍に収まります。半世紀で10桁も増える中で、この精度。指数関数の勢いが実感できます。

⚠️

法則の限界

ムーアの法則は物理法則ではなく経験則です。原子サイズの壁や発熱で、単純な微細化による倍増は近年ペースが鈍化しています。だから業界はチップレットや3D積層など「微細化以外の手」に軸足を移しています。回帰の傾きが将来も続く保証はありません。

まとめ

  • 指数関数的成長は片対数(log2)にすると直線になり、傾きから倍増年数が出る
  • 半世紀の実データを回帰すると「約2年で倍増」が確かめられる
  • 傾きと切片から将来のトランジスタ数を外挿できる
  • ただし経験則であり、微細化の物理的限界でペースは鈍化。外挿は要注意
📚 もう少し詳しく(背景と理論)気になる人向け・タップで開く

ムーアの法則は Gordon Moore が1965年に示した経験則で、集積回路上のトランジスタ数がおよそ2年ごとに倍増する(当初は年ごと、後に約2年に修正)というものです1。これは物理法則ではなく、業界が目標として自己成就させてきた経済・技術のトレンドである点が重要です2。

長らくDennardスケーリングと両輪で「集積度も速度も上がる」時代を支えましたが、2005年頃にデナード則が崩れて周波数が頭打ちになり、近年は微細化のコストと物理限界(原子スケール、量子効果、露光の難しさ)で鈍化しています3。

そのため性能向上の主役は、微細化単独からチップレット・3D積層・専用アクセラレータへと多様化しています。

この記事のコードをまとめて動かす

この記事のコードは、そのまま実行できる形でGitHubに置いています。手元で動かして数字を変えてみると、理解が早くなります。

次の一歩 🌸

法則の背景はムーアの法則、微細化の最前線は2nm競争、微細化以外の手はチップレットと先端パッケージへどうぞ。

Footnotes

  1. Moore, G. (1965). "Cramming more components onto integrated circuits." Electronics. 集積度の指数的成長を予測。1975年に約2年で倍増へ修正。 ↩

  2. ムーアの法則は物理法則でなく、投資と研究開発の目標として機能してきた自己成就的トレンド。ロードマップ(かつてのITRS)が業界を牽引した。 ↩

  3. 近年は露光(EUV)の難度、リーク、開発コスト、原子スケールの物理限界で鈍化。微細化の代わりにパッケージング・専用化が性能を牽引する。 ↩

この記事をシェア:𝕏 で共有LINEで送る

🔥 この分野の最新トレンドをチェック →

学習コース

4 / 15 本目

学習コースの全体を見る

あわせて読みたい