① 回路の間

電気のON/OFFだけで、なぜ計算ができるのか

コンピュータの中身をどこまで細かく見ても、そこにあるのは電気が 流れているか(1)・流れていないか(0)だけです。この部屋では、その 単純なスイッチとランプの組み合わせから、足し算ができる回路を実際に 組み上げていきます。ここから先はすべて教材用のシミュレーションです (本物のトランジスタは肉眼では見えないので、模型で動きを見せます)。

基本ゲートを探る

スイッチを操作して、ランプがどう変わるか確かめてください。真理値表は自動で埋まり、いまの状態がハイライトされます。

半加算器

XOR(排他的論理和)で桁の和を、AND(論理積)で繰り上がりを同時に作る、一番小さな足し算回路です。

A⊕B(Sum) A∧B(Carry)

全加算器

半加算器を2つとORゲートを組み合わせると、下の桁からの繰り上がり(Cin)も受け取れるようになります。

HA1: A⊕B HA1: A∧B HA2: ⊕Cin(Sum) OR(Carry)

8bit加算器 — 繰り上がりの伝播

全加算器を8個つなげただけの回路です。下位ビットから上位ビットへ、繰り上がりが実際に伝わっていく様子を見てください(左がMSB=上位ビット、右がLSB=下位ビット)。

A

B

各ビットからの繰り上がり(オレンジ=繰り上がりが実際に起きた)

Sum

Dフリップフロップとクロック

クロック(規則正しい電気信号)が立ち上がるたびに、さきほどの8bit加算器と まったく同じ回路で+1し、その結果をレジスタ(記憶素子=Dフリップフロップの 集まり)に書き戻しているだけのものが「カウンタ」です。特別な部品では ありません。

この回路と実機のつながり

いま見た8bitの足し算を、このマシン(Core i7-4770S)は1秒間に約33億回、 しかも64bit幅で行っています。「クロックが1秒に何回立ち上がるか」を Hz(ヘルツ)と呼びます。②CPUの間では、実際に いまこの瞬間のクロックの値をライブで見ることができます。