戻る カウンタのしくみ



カウンタ は、数を数えるための装置です。

数を数えるためには、 数を 数える ことと、 数えた数を 覚えている ことが必要です。

下図は最も簡単な 1 ビットのカウンタで、 4 個の NAND 回路でできています。
左の 2 個は数を数えるためのスイッチとして働いています。
右の 2 個はラッチ (latch) 回路で、 SRAM で使われているフィリップ・フロップと同じものです。 これによって数えた数を記憶します。

"CLOCK ボタン" をクリックして下さい。
入力信号 0 から 1 に変わり、 変わった部分が赤く表示されます。
以後、 カウンタの動作を5つのステップに分けて説明します。 ステップの番号が図の下に表示されます。
("CLOCK ボタン" は "STEP ボタン" に変わります。 "STEP ボタン" をクリックすると次に進みます。)




 STEP 動    作    の    説    明
1 クロック信号が 0 から 1 に変わります。
2 まず左側の 2 個の NAND 回路が、青色で表示されている入力の条件で動作します。
3 出力されたデータが赤で表示されます。
(NAND 回路は、 2 つの入力のいずれもが 1 の時に 0 を出力します。)
4 ラッチ回路は S (Set) が 0 だと 1 を、 R (Reset) が 0 だと 0 を記憶して Q に出力します。
ラッチ回路が青色で表示されている入力の条件で動作します。
5 出力されたデータが赤で表示されます。


1 ビットのカウンタは、 このようにして動作します。
ここではカウンタの動作を説明するために便宜上 5 つのステップに分けましたが、 実際のカウンタではこのような動作は一瞬、 例えば 1 億分の 1 秒程度の内に終わります。

これだけのことですが、 重要なのは 「クロック信号が 1 になる度に出力 Q は反転し、 クロック信号を 2 回数えると元の状態にもどる」 ということです。

こういうカウンタを 2 個、 1 個めのカウンタの Q 出力が 2 個めのカウンタのクロックになるようにつなぐと、 2 個めのカウンタはクロック信号を 4 個数える度にもとの状態にもどる ようになります
1 ビットのカウンタが 3 つあれば 8 まで、 4 つあれば 16 までのクロック信号を数えることができます。 どんなに大きい数でも、 必要なビット数のカウンタを用意すれば数えることができます。

カウンタ のページでは、 8 ビットのカウンタ (0 から 255 までの、 256 個の数を数えることができる) の例をあげてあります。



関連事項: カウンタ  フリップ・フロップ 


情報処理概論 に戻る  用語解説 に戻る  戻る 


*1 ここでは 5 つのステップで説明していますが、 このカウンタのクロック信号はすぐに 0 に戻っていないといけないので、 そのままつなぐことはできません。 すぐに 0 にもどるような回路を加えるか、 またはこうした制約がないカウンタにしなければならないので、 実際はもう少し複雑になります。

Java applet 圧縮アーカイブファイル    自由利用マーク
update; 2012.12.05   address