アナログおよびデジタルの前駆体
ハミング氏はハードウェア史を、アナログコンピューティング(計算尺、微分解析機)とデジタルコンピューティング(ナピエの骨、机上計算機)の区別で切り込んだ。両者は並行して発展したが、デジタル技術が最終的に優位を占めるようになった。
ナピエ(1550~1617年)
ジョン・ナピエは対数を発明し、計算尺を可能にした―物理的な長さが対数値を表すアナログ装置である。長さの加算=数の乗算。ナピエはまた「ナピエの骨」を設計した:乗算補助用の象牙棒。デジタルであり、計算尺と混同してはいけない。
シッカートからバベッジへ
ヴィルヘルム・シッカート(1623年)は4則演算用の機械を設計したが、完成前に燃えてしまった。パスカル(1623~1662年)は税務評価用の加算機を構築した。ライプニッツは乗算と除算を追加したが、これらの機械は信頼性に欠けていた。
チャールズ・バベッジ(1791~1871年)は階差機関を設計した:等間隔の値で多項式を連続加算によって評価し、エラーのない印刷表を生成する機械である。彼はそれを完成させなかった。ノルウェー人の父子チーム(シューツ)が動作するバージョンを構築した。1992年、イギリスのチームはバベッジの設計図からバベッジの解析機関を構築した―それは動作した。
バベッジの解析機関はフォン・ノイマン・アーキテクチャに近かった:ストア(メモリ)、ミル(演算ユニット)、および条件分岐。ラヴレース伯爵夫人がそれ用の最初のプログラムを発表した。
リレーコンピュータからENIACへ
コンピューティングの現代時代は1940年代初期のリレーコンピュータで始まった。ハミング氏は速度進化を追った:
| 時代 | テクノロジー | 速度 | |---|---|---| | 1940年以前 | 手動計算機 | 1/20 ops/sec | | 約1940年 | リレー(Bell Labs) | 1 op/sec | | 1946年 | ENIAC(真空管) | 約5,000 ops/sec | | 1952年 | IBM 701 | 約17,000 ops/sec | | 約1993年 | 現代ワークステーション | 10⁹ ops/sec |
Bell Telephone Laboratoriesのジョージ・スティビッツは、廃棄されたM9砲指向部品からリレーコンピュータを構築した。ハミング氏は何年間もそれを使用した。これらのリレー機械は高速ではなかった―1秒あたり約1操作―が、信頼性があり、プログラム可能だった。
ENIAC(1945~1946年)は最初はプラグボード配線で実行され、巨大なプラグボードコンピュータのようだった。ニック・メトロポリスとディック・クリッペンジャーは後にそれを弾道表からの10進スイッチプログラミングに変換した。ENIACはおよそ150 kWを消費した。
内部プログラミングは十分なストレージが存在する場合にのみ実用的になった。フォン・ノイマンの役割はマクリーとエッカートへのコンサルタントであった。内部プログラミングはフォン・ノイマンが関わる前にチーム間で議論されたが、彼の広く流通した(ただし正式に発表されなかった)報告書がこれらの概念を広めた。
速度の桁数
手動計算機から1990年代のワークステーションまでの速度進展は、約50年で10以上の桁数を占めている。
ハードウェアが行けない場所
ハミング氏は、コンピュータが究極にどれほど高速に実行できるかを制限する3つの物理的限界を提示した。これらはエンジニアリング上の課題ではなく、物理法則だった。
限界1:分子サイズ
部品は原子寸法以下に縮小することはできない。幅が10原子のトランジスタゲート:量子トンネリングが支配的になり、トランジスタは確実に切り替わらなくなる。1993年までに、ハミング氏は、相互接続されたデバイス間で約100,000原子距離以下(光の移動時間でおよそ3ピコ秒)に行くことが実際の物理的境界を表していると推定した。
限界2:光速
信号は真空中で最大c = 3×10⁸ m/sで伝播する(線内ではより遅く、およそ2×10⁸ m/s)。1 GHzクロックサイクルは1ナノ秒。1 nsで光は30 cm移動する。信号を15 cm送信し、1クロックサイクル内に返答を受け取る必要があるチップは、光速の限界近くで動作しています。
クロック速度が上がるにつれて、信号往路時間を1クロック期間以下に保つためにチップの寸法を縮小する必要があります。
限界3:熱放散
単位面積あたりのコンポーネント増加+高速スイッチング=単位面積あたりの電力増加=熱増加。熱は放散しなければならないか、コンポーネントは溶ける。1993年までに、動作電圧はスイッチング電力を低減するために2~3Vに向かって低下していた。ダイヤモンド層は熱伝導体として調査されていた。可逆コンピューティング(熱力学的ロスレス)はまだ理論上のみに存在していた。
これら3つの限界は、1990年代までに単一プロセッサの速度増加が飽和に近づいていて、並列アーキテクチャへの関心が高まった理由を説明しています。
光速制限を適用する
CPUは3 GHzで実行されます。1クロックサイクル=1/3 ns ≈ 0.333 ns。銅での信号速度:約2/3 c ≈ 2×10⁸ m/s。
壮大に外れた専門家たち
ハミング氏は技術史上最も有名な予測失敗の1つに言及した:1940年代後期の専門家は、世界で最大3~5台のコンピュータが必要だと推定した。IBMのトム・ワトソンはおそらく2台だと言った。
1993年までに、操作中に数百万台のコンピュータがありました。
専門家がなぜ失敗したのか
専門家は現在の用途事例から外挿しました:国立研究所での科学計算。彼らは同等の製品洞察を予想しませんでした:コンピュータは人間が既に行っていることをより高速に行うのではないということです。コンピュータは以前に存在しなかった全く新しい種類の仕事を可能にするでしょう。
失敗パターン:成熟したテクノロジーの専門家は、その限界について最も確実で、その将来の応用について最も誤りやすい。彼らの専門知識は彼らに現在の正確なモデルを与えます。それは将来可能になることについてのモデルは与えません。
並列アーキテクチャ
単一プロセッサ速度は1990年代までに飽和に近づいていました。業界の対応:複数の算術ユニット、パイプライン、キャッシュ階層、および大規模並列機械。1993年までに、単一の優位な並列アーキテクチャはなく、異なるトレードオフと異なるプログラミングモデルを持つ多くの競合設計がありました。ハミング氏はこの断片化を問題として指摘しました:標準がなければ、プログラミング作業は互換性のないシステム間で分割されます。
なぜ専門家は予測を外すのか
ハミング氏は3~5コンピュータの予測を好奇心として扱わず、専門家知識の限界についての教訓として扱いました。専門家は現在をよくモデル化します。彼らはまだ存在しないアプリケーションについて失敗します。
ロスアラモスデータと成長方程式
ハミング氏はロスアラモス国立研究所(LANL)でコンパイルされたチャートを引用しました。各時点で市場で最速のコンピュータの速度を追跡する。データは指数方程式に適合しました:速度は約18ヶ月ごとに2倍―後にトランジスタ数のムーアの法則として有名になりました。
LANL方程式:speed(t) = speed₀ × 10^(bt)、ここでb ≈ 0.09/年(1秒あたりの操作で約3.3年ごとに2倍、トランジスタ数倍増とは異なる)。
ハミング氏はこれを外挿についてのポイントを作成するために使用しました:指数関数は無期限に続くことはできません。3つの物理的限界が上限を設定します。指数関数が天井にいつ到達するのか。そのシフトは単一プロセッサ時代の終わりを示しています。
1993年までに、業界は既にその天井に近づいていて、並列アーキテクチャ、パイプラインのトリック、およびキャッシュ階層への関心を駆り立てました―より高速な単一スレッド実行ではなく並列主義への小さなステップ。