CPUは どう はたらくのか
計算を 受けもつ ALU、何を するか 決める 命令。この二つが どうやって 一つの体として 動くのでしょう? CPUが 命令を 一つずつ しょりする 流れを 追ってみましょう。
CPUは 三つの ひょうしを くりかえします
CPUが する仕事は
じつは かんたんです。
命令を 一つ もってきて、
それが 何の命令か ほどいて、
それを じっこうして。
また 次の命令を もってきて。
この三つの ひょうしを
休まず くりかえします。
取りこみ → かいしゃく → じっこう、そして くりかえし。
取りこみ、かいしゃく、じっこう。
これを 一つの ひょうしと すると、
CPUは 1びょうに
この ひょうしを 数十おく回 まわします。
一つ一つは かんたんなのに、
とても 速いので
ふくざつな仕事を やりとげます。
次に する命令を さす ゆび
でも CPUは
いま 何ばんめの命令を
する番なのか
どうやって 知るのでしょう?
メモリの どこかに
命令たちが ならんでいて、
その中の「次に するもの」を
さすものが あります。
PC、プログラムカウンタです。
PCが 次の命令を さします。
命令を 一つ もってくるたびに、
PCは 一つ ふえます。
0ばんを したら 1ばん、
1ばんを したら 2ばん。
この ゆびの おかげで
CPUは じゅんばんを 見うしなわず
命令を じゅんじゅんに やりとげます。
部品たちが 集まって CPUに なります
いよいよ 部品が 集まります。
次を さす PC、
命令を ほどく かいしゃくき、
計算する ALU、
ちょっと値を にぎる 小さなます。
べつべつだと 小さいですが、
集まると 命令を しょりする
一つの CPUに なります。
CPU 一つの体。
PCが 次を さし、
かいしゃくきが 命令を ほどき、
ALUが 計算し、
レジスタが 値を にぎる。
それぞれ うけもつ仕事を しながら
一つの ひょうしを いっしょに まわします。
これが CPUの はたらく すがたです。
命令 三行を じっさいに じっこうします
みじかい プログラムを あげます。
「3を 入れて」、
「4を たして」、
「けっかを 見せて」。
一つの ひょうしずつ すすめて
PCが 動くのを、
値が つみあがるのを
いっしょに 見ます。
すすむを おしてください。
PCを 追って 一行ずつ じっこう。
PCが 0、1、2と ふえながら
命令を 一つずつ じっこうしましたね?
値が 3に なって
7に なり、
さいごに 画面に うかびました。
これが プログラムの
まわる すがたです。
PCが べつの ところに とぶと
PCは ふつう
一つずつ すすみますが、
たまに べつの ところに とびます。
「5ばんの命令へ 行け」
のような命令に 出会うと、
PCが その アドレスに かわります。
この「とびこし」が
前回 見た くらべることの 真・いつわりと 出会うと、
「もし」という 分かれ道に なります。
PCが 2ばんから 5ばんに とびます。
一つずつ 行く かわりに
PCを べつの値に かえると、
プログラムの 流れが かわります。
とびこしたり、
もどったり。
次回は
この とびこしが どうやって
「もし」と「くりかえし」に なるか 見ます。