1. 配線を 1本 ふやすと、場所は どう ふえる?
1. 配線を1本足すと、区別できる場所は何倍になるか
1. アドレス線の本数と区別できる場所の数 ── n本で2のn乗
メモリは、小さな 場所が たくさん ならんだ ものです。コンピューターは、どの 場所を 使うか、番号で 決めます。その 番号を つたえる 線が、アドレス線です。
コインを 1まい 思いうかべて ください。おもてか うらかで、2とおりです。2まいなら 4とおり、3まいなら 8とおり。1まい ふやす たびに、ちょうど 2ばいです。
アドレス線は、このコインに にて います。線が 1本 ふえると、見わけられる 場所は 2ばいに なります。10本なら、2を 10回 かけて 1024です[1]。ただし 本当の 線は、コインでは なく、電気が ある・ないで 0と 1を つたえます。
メモリは、小さな記憶の場所(番地)がずらりと並んだものです。CPUは、どの場所を使うかを、番号で指定します。その番号を送る線がアドレス線で、1本の線は「電気が流れている/いない」の2つの状態を表せます。
コインを考えると分かりやすくなります。1枚なら表か裏かの2通り、2枚なら4通り、3枚なら8通りです。1枚増やすたびに、組み合わせはちょうど2倍になります。
アドレス線も同じで、n本あれば2のn乗個の場所を区別できます。32本なら4,294,967,296個です[1]。線を1本足すだけで、扱える場所は2倍になります。
では、この「2を何回かかけた数」が、なぜメモリの大きさそのものになったのでしょうか。
2. なぜ 2ばいずつの 大きさに なったの?
2. メモリの大きさが2のべき乗に揃っていった理由
2. 1960年代なかば以降、主記憶が2のべき乗になった経緯
1000ばんの 場所だけ ほしくても、線は 10本 いります。10本で 1024ばんまで 作れるので、のこりの 24ばんは むだに なってしまいます。
それなら、1024ばん ぜんぶを 使う ほうが しぜんです。線の ならびかたを ぜんぶ 番号に すれば、すきまなく 使えますし、つなげて 大きく する ことも かんたんです[3]。
1960年代の なかばには、こうした 2しんの 番号づけが ほとんどの コンピューターの きまりに なって いたと いわれます。2倍の ルールが あった わけでは なく、そう する ほうが しぜんだったのです。
メモリを1000個の場所だけにしたいときも、アドレス線は10本必要です。10本あれば1024個まで区別できるので、残りの24個は使われないまま残ります。
それなら、線の状態の組み合わせをすべて有効な番号にして、1024個ぜんぶを使うほうが無駄がありません。連続した番号のまま、メモリを大きなかたまりにつなげやすい利点もあります[3]。
資料によれば、1960年代なかばまでに、二進のアドレス指定がほとんどのコンピューター設計の標準になり、主記憶の大きさは2のべき乗が一般的になりました[3]。「2倍にする決まり」があったのではなく、そうするのが設計上自然だった、という説明です。
こうして容量が1024、2048、4096と並ぶようになると、1024に名前をつけたくなります。そこで使われたのが「キロ」でした。
3. 1024を、なぜ「キロ」と よんだの?
3. 1024に「キロ」の名前がついた経緯
3. SI接頭辞「キロ」が1024の意味で使われはじめた経緯
「キロ」は 本来 1000の ことです。1キロメートルは 1000メートルですね。
コンピューターの 人たちは、2を 10回 かけた 1024が、1000に とても 近い ことに 気づきました。そこで、1024の ことも 「キロ」と よぶ ように なりました[4]。1964年の IBM 360の しりょうなどでも 使われたと いわれます[3]。
ところが、これが ややこしさの はじまりでした。物理や 工学の 人たちと 話すとき、「キロ」が 1000なのか 1024なのか、わからなく なって しまったのです[4]。
4. チップの きおくできる 量は、4ばいずつ 進んだの?
4. メモリチップは約3年で4倍ずつ大きくなった
4. DRAMの集積度は約3年で4倍 ── 1K・4K・16Kの世代
1970年に、1024ビットの 記おく チップ「Intel 1103」が 発売されました。世界で はじめて 売られた DRAM です[5]。1ビット 1セントの ねだんで、それまでの じきコアメモリに 本気で 勝負を しかけた さいしょの はんどうたいチップでした[6]。
それから やく30年、DRAMチップの きおくできる 量は、およそ 3年で 4ばいの ペースで ふえたと つたえられて います[7]。そのあと 4096ビット、16384ビットの チップが 作られました[8]。
4ばいは、2ばいを 2回 くりかえした ことです。ちょうど コインを 2まい ふやした ことに なります。ただし いつも きっちり 3年だった わけでは なく、「およそ」の 話です。
1970年10月に発売されたIntel 1103は、世界で初めて市販されたDRAMで、1024ビットの記憶容量を持ちました[5]。1ビット1セントという値段で、それまで主役だった磁気コアメモリに本格的に挑んだ最初の半導体チップです[6]。
その後、DRAMの集積度は約30年のあいだ、おおよそ3年で4倍のペースで増えたと、コンピュータ歴史博物館は述べています[7]。たとえばMostek社は4Kビット、続いて16Kビットのチップを作りました。16Kには、IBMが1967年に取った特許の、トランジスタ1個のセルが使われました[8]。
1Kから4K、4Kから16Kへは、どちらも4倍です。4倍は2倍を2回かさねたことですから、コインを2枚増やすのと同じで、アドレス線にすると2本ぶんです。ただし、毎回きっちり3年だったわけではなく、あくまで「おおよそ」のペースです。
なお、よく聞く「ムーアの法則」は、半導体全体の部品数が約2年で2倍になる、という話で、メモリ容量の法則そのものではありません[9]。数字も別ものです。
Intel 1103(1970年10月)は世界初の市販DRAMで、構成は1024×1、18ピンだった[5]。ジョエル・カープらの設計で、1ビット1セントの価格により、磁気コアに本格的に挑んだ最初の半導体チップとなった[6]。
コンピュータ歴史博物館によれば、技術の進歩と国際競争が重なり、DRAMの集積度は約30年にわたり、おおよそ3年で4倍の割合で増えた[7]。具体的には、Mostekが4Kビット、続いて16Kビットを作った。4Kのチップでは、アドレスピンを共用する多重化で16ピンに収め、16Kは、IBMの1967年の特許にある1トランジスタのセルを利用した[8]。
1K→4K→16Kの各段は4倍、すなわち2倍を2回かさねた形で、アドレスのビット数でいえば2ビットぶんの増加にあたる。ただし「毎回きっちり」ではなく概数である。なぜ世代ごとが2倍でなく4倍なのかを説明する設計上の理由は、今回の資料からは述べられない。
よく並べられるムーアの法則は、1965年に部品数が約1年で2倍と述べたのち、1975年に1980年ごろまでは毎年倍、その後は約2年で2倍と改められたもので、半導体全体の集積度の話である[9]。DRAMの「約3年で4倍」と無理に一致させない。
5. パソコンの 表しめしが 少し ちがうのは なぜ?
5. 買った容量と表示がずれるわけ
5. メガバイトの二つの意味と、二進接頭辞
パソコンや スマホで、「買った はこには 500 と 書いて あるのに、画面では 少なく 見える」と 思った ことは ありませんか。
ふつうの メーカーは、メガバイトを 2の 20乗、1,048,576バイトの 意味で 使います。ところが、データを しまう きかいの メーカーは、ふつう 1,000,000バイトの 意味で 使います[4]。どちらが まちがい、という わけでは なく、同じ ことばに 2つの 意味が あります。これも、ずれて 見える 理由の 一つです。
そこで 1998年12月に、国さいてきな きまりを 作る IEC が、1024の ための 新しい 名前を 決めました。1024バイトは「キビバイト」、1000バイトは「キロバイト」と 分けて よびます[4]。2の 20乗は「メビ」、2の 30乗は「ギビ」です。
パソコンやスマホの容量が、箱に書かれた数字より少なく表示されて、不思議に思った人もいるかもしれません。
NISTによると、ほとんどのメーカーはメガバイトを2の20乗=1,048,576バイトの意味で使いますが、記憶装置のメーカーは通常1,000,000バイトの意味で使います[4]。どちらかが間違っているのではなく、同じ言葉に二つの意味があります。表示がずれる理由の一つは、この単位の基準の違いです。
この混乱を解くため、IEC(国際電気標準会議)は1998年12月に、二進の倍数に新しい接頭辞を承認しました。2の10乗がキビ(Ki)、2の20乗がメビ(Mi)、2の30乗がギビ(Gi)です。キビバイトは1024バイト、キロバイトは1000バイトと、はっきり分かれます[4]。
6. 手もとで たしかめて みよう
6. 手元で確かめてみよう
6. 自分で確かめるために
やってみよう。10まいの コインが あれば、おもてと うらの ならびは 全部で 何とおりか、1まい 2まいと ふやして かぞえて みましょう。10まいで 1024とおりに なります。
おうちの 人に たのんで、パソコンや スマホの 設定で、ストレージの 全体の 容量を 見て みましょう。はこや 本に 書いて ある 数字と くらべると、ほんの 少し ちがうかも しれません。
やってみよう。10枚のコインを使って、1枚、2枚、3枚と増やしたときの表裏の並び方の数を書き出してみましょう。2、4、8、16と倍々になり、10枚で1024通りになります。
もう一つ。家のパソコンやスマホの設定画面で表示される「ストレージ」の容量を見て、箱や説明書に書かれた数字と比べてみましょう。ほんの少しずれていたら、その理由の一つはこのメモの5章にあります。
箱の「GB」の表記と、設定画面に出る数字の両方を、紙に書き写して見比べてみましょう。
しらべた もとの じょうほう
参考にした情報源
参考にした情報源と、その使い方
このメモで使った資料です。事実の確認に使ったものだけを並べています。
- Wikipedia「Address bus」 https://en.wikipedia.org/wiki/Address_bus (アドレス線の本数と場所の数)
- EE Times Japan「メモリ・アドレス解説」 https://eetimes.itmedia.co.jp/ee/articles/1602/26/news026_2.html (32ビットアドレスと4Gバイト)
- Wikipedia「Binary prefix」 https://en.wikipedia.org/wiki/Binary_prefix (2のべき乗の定着と「キロ」の使われ方)
- NIST「Prefixes for binary multiples」 https://physics.nist.gov/cuu/Units/binary.html (キロの意味のずれ・メガバイトの二つの意味・二進接頭辞)
- Wikipedia「Intel 1103」 https://en.wikipedia.org/wiki/Intel_1103 (最初の市販DRAMの容量と構成)
- Computer History Museum「Storage Engine 1970」 https://www.computerhistory.org/storageengine/semiconductors-compete-with-magnetic-cores/ (1103と磁気コアの競争)
- Computer History Museum「MOS DRAM」 https://www.computerhistory.org/revolution/memory-storage/8/368 (集積度が約3年で4倍)
- Computer History Museum「Memory & Storage」 https://www.computerhistory.org/revolution/memory-storage/8/311 (4Kと16KのDRAM)
- Wikipedia「Moore's law」 https://en.wikipedia.org/wiki/Moore%27s_law (ムーアの法則との違い)
なおした ところ
更新履歴
更新履歴(改版の記録)
- 初版を公開。
このサイトでは、公開した記事の本文は原則として書き直しません。誤りが見つかったときや、内容が古くなったときだけ手を入れ、その理由をこの欄に残します。