コンピュータの中身をどこまで細かく見ても、そこにあるのは電気が 流れているか(1)・流れていないか(0)だけです。この部屋では、その 単純なスイッチとランプの組み合わせから、足し算ができる回路を実際に 組み上げていきます。ここから先はすべて教材用のシミュレーションです (本物のトランジスタは肉眼では見えないので、模型で動きを見せます)。
スイッチを操作して、ランプがどう変わるか確かめてください。真理値表は自動で埋まり、いまの状態がハイライトされます。
XOR(排他的論理和)で桁の和を、AND(論理積)で繰り上がりを同時に作る、一番小さな足し算回路です。
半加算器を2つとORゲートを組み合わせると、下の桁からの繰り上がり(Cin)も受け取れるようになります。
全加算器を8個つなげただけの回路です。下位ビットから上位ビットへ、繰り上がりが実際に伝わっていく様子を見てください(左がMSB=上位ビット、右がLSB=下位ビット)。
A
B
各ビットからの繰り上がり(オレンジ=繰り上がりが実際に起きた)
Sum
クロック(規則正しい電気信号)が立ち上がるたびに、さきほどの8bit加算器と まったく同じ回路で+1し、その結果をレジスタ(記憶素子=Dフリップフロップの 集まり)に書き戻しているだけのものが「カウンタ」です。特別な部品では ありません。
いま見た8bitの足し算を、このマシン(Core i7-4770S)は1秒間に約33億回、 しかも64bit幅で行っています。「クロックが1秒に何回立ち上がるか」を Hz(ヘルツ)と呼びます。②CPUの間では、実際に いまこの瞬間のクロックの値をライブで見ることができます。