HN 日本語サマリー

← 一覧へ戻る
科学・技術

RAM:忘れられた歴史

RAM: the forgotten history (2024) (blog.coredump.cx)

23 pointsby Luc0 コメント

要約

現代のコンピューターの進化は、チャールズ・バベッジよりも電子制御されたワーキングメモリの発明に負うところが大きいと論じています。初期のコンピューターにおけるリレーや真空管を用いたメモリの限界と、その後のコンデンサや遅延線を用いたダイナミックメモリの発展、そして現代のDRAMに至るまでの歴史を解説しています。

全文翻訳

RAM:忘れられた歴史 コンピューターの進化は、チャールズ・バベッジではなく、電子制御されたワーキングメモリの発明に負うところが大きい。 2024年10月15日 2023年の計算機の進化に関する記事で、私はコンピューターの歴史の教え方について不満を述べた。チャールズ・バベッジに過大な評価を与えすぎていると感じたのだ。少なくとも17世紀から機械式計算機を作る方法は知られており、プログラマブルな機械の概念は、イギリスの博学な人物の著作よりもずっと前から存在していた。残されたボトルネックは主に技術的なもので、ごく modest な規模を超えると、スプロケットやカムが、十分に複雑な計算機の中でデータをやり取りするのを非常に面倒にした。 ブレークスルーとなったのは、電子制御されたデータレジスタだった。これらの回路により、計算結果を所定の位置に固定し、全体設計がいかに複雑で広範囲に及んでいても、必要に応じて楽にルーティングすることができた。バベッジ氏の思索とは対照的に、この「ワーキングメモリ」の歴史は、それに値するよりも注目されていない。私たちはそれを大容量データストレージやコンピューターI/Oの進化と混同し、20世紀末までパーソナルコンピューティングの最も重大な制約がRAMの制約であったことを忘れがちだ。 バイナリセル 電子メモリの最初の実用的な形態はリレーだった。リレーは本質的に、電磁石によって作動する機械式スイッチである。そのスイッチング動作は、電磁石に電力が供給されている間だけ続く一時的なものか、あるいは別の「リセット」コイルが励磁されるまで「オン」の状態を維持する持続的なものかである。 ラッチングリレーはビットを保存するためにかなり明白な方法で使用できる。単一リレーは、接点が閉じられたときにリレー自身が電力を供給するように配線することでラッチするように配線することもできる。この原理の簡単な例を以下に示す。 単純な単一リレーラッチ。リセットボタンは通常閉じていることに注意。 この回路では、「セット」ボタンを押すとリレーが励磁され、並列のリレー駆動スイッチも閉じられる。セットボタンを離した後も、電流はこの経路を流れ続ける。回路を解除するには、通常閉じている(NC)「リセット」ボタンを押して、電流の流れを遮断する必要がある。 リレーベースのメインメモリは、おそらく最初の真の電子コンピューターであるコンラート・ツーゼのZ3で prominent に使用された。 ツーゼZ3メモリユニット、約1938年。コンラート・ツーゼインターネットアーカイブより。 電気機械式リレーのスイッチング速度は毎秒数十ヘルツである。ツーゼ氏は、この技術が行き止まりであることを最初から理解していた。彼はナチス政権からの長期的な資金調達を確保するために、近道を選んだ。残念ながら彼にとって、そしてヨーロッパの多くの人々にとって幸運なことに、当局は感銘を受けず、資金は結局提供されなかった。 ツーゼ氏の連合国側のカウンターパートはより幸運だった。初期の暗号解読の成功により、より高価で複雑な真空管設計を追求することができた。真空管ベースのメモリセルの設計図は、ウィリアム・エクルスとフランク・ウィルフレッド・ジョーダンという、ほとんど忘れられたイギリスの発明家デュオから生まれた。彼らは、電気機械式リレーの代替として以下のバイナリ回路を提案した。 「イオンリレーの改良」、イギリス特許図、1918年。 この回路は、左側のトランス巻線に電流が流れるとラッチする。これにより、G1グリッド電圧が一瞬正になり、チューブ間の電流バランスが自己強化フィードバックループで崩れる。 現代の言葉で言えば、これらの回路はどちらもセットリセット(SR)ラッチとして説明されるだろう。それらの基本的な動作は、今日、ほとんどのマイクロコントローラーやマイクロプロセッサーのダイにある高速、低電力SRAMメモリを構成するセルと共有されている。SRアーキテクチャの現代的な教科書の例は次のとおりだ。 SRラッチの単純な実装。 回路を分析するために、「リセット」ラインがハイの場合に何が起こるかを考えてみよう。このシナリオでは、ANDゲートの入力の1つは常にゼロなので、回路はOR側の状況に関係なく「0」を出力する。 逆に、「リセット」がローの場合、ANDゲートはORのパススルーとして機能する。OR自体については、「セット」がハイであれば、無条件に「1」を出力する。しかし、「セット」がアサートされていない場合、ORはスキームの上部にあるフィードバックループを介して、デバイスの以前の出力値を通過させる。実際には、S = R = 0 の場合、デバイスはラッチされ、SとRの入力ラインに以前に現れた値を表す単一のビットデータを格納する。 ここで終わりにすることもできるが、1つの小さな詳細がある。ほとんどの真空管コンピューターは、その大部分のニーズに真空管メモリを使用しなかった。その理由は、ツーゼのZ3のメモリユニットが約2,000個のリレーを必要としたのに対し、機械の残りの部分は600個だったことを考えると明らかだ。比較的コストのかかる真空管の計算はさらに悪く、各真空管がヒーターフィラメントのためにかなりの、一定の電力を必要とすることを考慮する前である。要するに、1970年代半ばの大規模集積回路(LSI)が登場するまで、メインメモリは通常、別の方法で行う必要があった。 メリーゴーラウンド この問題の解決策は、「ダイナミック」メモリだった。これは、比較的短命な物理現象、例えば静電気や音響を利用して、安価な媒体に情報を保存するものだった。基盤となる物理プロセスは短時間しか持続しないため、データは定期的に取得してリフレッシュ(または再送信)する必要があった。 この最も初期の例の1つが、アタナソフ・ベリー「コンピューター」(ABC)だった。実際には、洗練されているがプログラム不可能な計算機で、機械的にスイッチされたコンデンサのアレイを持つ回転ドラムを使用していた。 アタナソフ・ベリーメモリドラム、1942年。CC-BY、Flickrユーザーmonchanより。 各コンデンサの電荷状態がデジタル情報を伝達していた。セルの徐々な自己放電は、定期的なリフレッシュを必要とした。これは、多くの点で、現代のDRAMの前身だった。デスクトップコンピューターやスマートフォンのDRAMチップは依然としてコンデンサを使用している。私たちはそれらをシリコンダイ上に大量に製造し、電子的にアドレスを付ける方法を持っている。このタイプのメモリはSRAMよりも遅く、より多くの電力を消費するが、DRAMの永続的な利点は、保存されるビットあたりに必要なコンポーネントがはるかに少なく、したがってダイスペースも少なくて済むことである。 しかし、初期のコンピューティングに戻ると、このアイデアのもう1つの魅力的な形態は遅延線メモリだった。これらのデバイスは、材料の長さに沿ってポンプで送られ、反対側で感知される音波としてデータをエンコードした。音は伝播するのに時間がかかるため、ある数のビットが音響電気ループ内で飛行中に「保存」されることができた。主な利点は、音波がかなり brisk に伝播するため、このシステムのレイテンシが回転コンデンサドラムよりもはるかに優れていたことだった。 このジャンルの最も奇妙な例は、水銀遅延線である。名前が示すように、これらのデバイスは、音波の媒体として毒性のある金属に依存していた。 水銀遅延線メモリの詳細、UNIVAC I、1952年。著者撮影。 Wikipediaは、水銀が圧電トランスデューサーの音響インピーダンスとユニークに一致したために選ばれたと述べているが、私はそれが元の特許(US2629827A)の誤読だと考えている。固体金属の問題は、おそらく液体よりも縦方向の音速がはるかに高かったことだろう。そのため、特定のクロック速度と列長では、それほど多くのビットを保存できなかった。逆に、密度が低く圧縮性の高い液体の問題は、高周波を減衰させ、最大伝送速度を低下させた可能性がある。全体として、水銀は、安全性や重量を気にしない限り、その時代の最適な記憶容量を提供したと私は推測している。 幸いなことに、この「マッドサイエンティスト」時代は、より多くのデータを飛行中に収容するために金属をコイル状にすることを誰かが思いつくまで終わった。トルクメモリを紹介しよう。 トルクメモリ、Monroe 925計算機、1970年。Brent Hilpert撮影。 このアプローチは、スプリングワイヤーを伝播する音波に依存していたが、今回はトルク(