情報学基礎 / 第 3 回

コンピュータとは(2)

論理ゲートから足し算を組み立てる

この回のねらい

論理ゲート

コンピュータは、電気を用いて曖昧さのない形で、より大規模に正確に計算できるよう、 論理回路で構成されています。扱うのは真(True・1)と偽(False・0)の 2 値だけです。

6 つの論理ゲートを同時に動かすクリックで 0/1
四角をクリックすると 0 と 1 が切り替わります
○印(NOT)が付いたゲートは、出力を反転します。 NAND は AND の反転、NOR は OR の反転、XNOR は XOR の反転です。

半加算器 ── 1 ビットの足し算(2 つの数)

1 桁の 2 進数どうしの足し算を並べてみます。

  0     1     0     1
+ 0   + 0   + 1   + 1
----  ----  ----  ----
 00    01    01    10
 ↑ 桁上げ C(carry)と 和 S(sum)

この表を、さっきの真理値表と見比べてください。 桁上げ C は P AND Q和 S は P XOR Q とまったく同じです。 つまり、AND ゲートと XOR ゲートを 1 個ずつ並べれば、1 ビットの足し算ができます。これを半加算器といいます。

半加算器クリックで 0/1
P Q AND XOR C(桁上げ) S(和)

全加算器 ── 1 ビットの足し算(3 つの数)

多桁の足し算では、下の桁からの桁上がりも一緒に足さなければなりません。 つまり 3 つの 1 ビットの数を足す回路が要ります。これが全加算器です。

作り方は簡単で、半加算器を 2 個つなぐだけです。 まず P と Q を足し(C1, S1)、その和 S1 に R を足します(C2, S2)。 最終的な和は S2、桁上げは C1 OR C2 になります (C1 と C2 が同時に 1 になることは決してないので、これで足ります)。

全加算器(半加算器 2 個)クリックで 0/1
P と Q を足した和 S1 が、そのまま 2 個目の半加算器の入力 P2 になります。

加算器 ── 全加算器を並べる

いちばん下の桁には下からの桁上げがないので半加算器、 その上の桁からは全加算器を積み上げます。 下の桁で発生した桁上げが、上の桁へ次々に伝わっていきます。

4 ビット加算器ビットをクリック

クロック

電流が流れた場合を 1、流れない場合を 0 とし、人間の心臓の鼓動のように 1 と 0 を繰り返します。 このパルス信号の1 周期をクロックといい、 1 秒間に発生できるパルスの数を Hz(ヘルツ)で表します。

クロック動かせます

周波数を上げるほど熱が出ます。そのため半導体はできるだけ小さく作られてきましたが、 CPU は「もうこれ以上小さくできない大きさ」に近づいているといわれています。 だから最近は、周波数を上げる代わりにコアの数を増やす(マルチコア)方向に進みました。

← 第2回 コンピュータとは(1) 第4回 情報の表現(1) →