数えきれないマスから、一つをどう さがす?
前回、記憶のマスを 数十億個 集めると メモリになると 言いましたね。でも その多くのマスの中から、わたしが ほしい たった一つのマスを、どうやって いちどに さがしあてるのでしょう?
マスが 多すぎると さがせません
記憶のマスが 数十億個。
ものすごい量ですね。
でも ここで問題が おきます。
こんなに多くのマスの中から、
「さっき しまった あの値」が
どのマスに あるのか、
どうやって また さがすのでしょう?
名前もなく 同じに見えるのに。
ぜんぶ 同じに見えます。どうやって 一つのマスを 当てるのでしょう?
図書館に 本が 数万冊あるのに、
番号もなく
てきとうに ささっていると 考えてみてください。
ほしい本を さがすのは
ほぼ ふかのうですね。
メモリも 同じ問題です。
解決が 必要です。
すべてのマスに 番号を つけます
解決は ロッカーと 同じです。
プールの ロッカーを 思いうかべてください。
同じに見える ロッカーごとに
番号が ついていますね。
0番、1番、2番。
メモリも そうです。
すべてのマスに
順に 番号を つけておきます。
上は マスの番号(アドレス)、下は そのマスに 入った値。
この番号を アドレスと 呼びます。
家ごとに 住所があって
ゆうびんが 正確に とどくように、
マスごとに アドレスが あれば、
ほしいマスを 正確に
さがしあてられます。
アドレスを 呼べば、そのマスへ
アドレスが あれば
さがすのは あっという間です。
「3番のマスの値を もってきて」と 言えば、
メモリは まっすぐ 3番へ 行って
その中の値を 取り出します。
数十億のマスが あっても
番号さえ 知っていれば
いちどに とうちゃくします。
アドレスを 入れてみてください。
アドレスを 入れると そのマスへ。
番号一つで
ほしいマスに すぐ 行くこと。
これが メモリが はやい ひけつです。
はじめから 一つずつ 数えず、
アドレスで まっすぐ 指すからです。
ほしいマスに 値を 入れます
取り出すだけ ではありません。
「5番のマスに この値を 入れて」と 言えば、
そのマスに 値が 保存されます。
読みは アドレスで 取り出し、
書きは アドレスで 入れること。
この二つが
メモリが する しごとの ぜんぶです。
じっさいに 入れてみてください。
アドレスを 決めて 値を 入れる。
アドレスで 読み、アドレスで 書く。
単純ですね?
でも この単純な 二つの動作が
すべてのプログラムの 土台です。
変数も、写真も、何もかも
けっきょく こうやって
アドレスで 出入りします。
CPUは アドレスで たのみます
では 大きな絵です。
計算する CPUが
値が 必要になると、
メモリに アドレスで たのみます。
「3番の値を ちょうだい、
この結果は 7番に 入れて。」
CPUと メモリが
アドレスを やりとりして
しごとを すすめるんです。
アドレスで やりとりします。
これで コンピュータの 体、
その基礎を ひとまわり しました。
0と1から はじまって、
計算し、おぼえ、
アドレスで さがしあてるまで。
次からは
この部品たちが どうやって
本当の命令に したがうか 見ます。