そのたし算、だれが する?
前回 「たせ」という命令を 見ましたね。でも その たし算は じっさいに だれが するのでしょう? ひき算と 比べるのは? CPUの中で 計算だけを 担当する はたらき手、ALUを 会ってみましょう。
計算だけを 受けもつ部分が あります
CPUの中には
計算だけを 担当する
部分が あります。
名前は ALU。
数字 二つと
「どんな計算を するか」を 受けると、
その計算を して
結果を 出します。
計算機の 心臓のような ものです。
二つの数字が 上から 入って、計算の結果が 下から 出ます。
ALUは
「計算論理装置」を
みじかくした言葉です。
名前は おおげさですが
する仕事は はっきりしています。
受けた 二つの数で
言われた計算を すること。
ただ それだけ。
ダイヤルで 計算の種類を えらびます
ALUが かしこいのは
一つだけ するのでは ないからです。
たし算、
ひき算、
そして 比べることまで。
「どんな計算」という ダイヤルを まわして
ほしいものを えらぶと、
同じ 二つの数でも
ちがう結果が 出ます。
じっさいに まわしてみてください。
二つの数を 入れて、計算を えらんでみてください。
ダイヤルを かえただけなのに
同じ はたらき手が
ちがう計算を しましたね?
この「どんな計算」は
じつは 前回の命令が
決めて くれるものです。
六つめのレッスンの 加算器が ここに います
ALUを 開けてみると
見おぼえのある ものが あります。
六つめのレッスンで 作った 加算器です。
たし算は その加算器が 受けもちます。
ひき算、比べること、そして
「かつ」「または」のような 論理の計算まで、
小さな計算の回路が
集まって すむ 町です。
ALUの中に 集まった 計算の回路。
わたしたちが 五つめ・六つめのレッスンで
一つずつ 作った 小さな回路が、
じつは この ALUを
かたちづくる部品 だったのです。
小さなものが 集まって
計算の はたらき手 一つに なりました。
「どちらが 大きいか」も ALUが 答えます
ALUが する仕事の中で
計算と 同じくらい 大事なのが 比べることです。
「この数は あの数より 大きいか?」
「二つの数は 同じか?」
こんな問いに
真 または 偽で 答えます。
この 真と偽 一つが、
あとで「もし」という
分かれ道の たねに なります。
真は 1、偽は 0。コンピュータには これも けっきょく 0と1です。
「10は 7より 大きいか?」
答えは 真。
この 単純な 判断が
とても 大事です。
プログラムが ようすを 見て
道を えらぶのは、
ぜんぶ この 比べることから 始まるからです。
命令が ダイヤルを まわして くれます
いよいよ 二つの領域が 出会います。
前回の命令を おぼえていますか?
「たせ」の 前の部分、
あの 演算の符号が
まさに ALUの ダイヤルを まわします。
「たせ」なら たし算に、
「ひけ」なら ひき算に。
命令が ALUに
どんな計算を するか 知らせるのです。
命令の 演算の符号 → ALUの ダイヤル。
命令が 何を するか 決めて、
ALUが その計算を やりとげる。
これで CPUの 二つの 中心部品が
そろいました。
次回は
この二つが どうやって 一つの体として はたらくか、
CPU 全体を のぞいてみます。