戻る カウンタのしくみ


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

数を数えるためには、 数を 数えることができる ことと、 数えた数を 覚えられる ことが必要です。

下図は最も簡単な 1 ビットのカウンタで、 4 個の NAND 回路でできています。

左の 2 個は数を数えるためのスイッチとして働いています。
右の 2 個はラッチ (latch) 回路で、 SRAM で使われているフィリップ・フロップと同じものです。 これによって数えた数を記憶します。

"CLOCK ボタン" をクリックしてみて下さい。
入力信号 0 から 1 に変わり、 NAND 回路の前の信号も、 変わった部分が赤で表示されます。 以後、 カウンタの動作を5つのステップに分けて説明します。 ステップの番号が図の下に表示されます。

"CLOCK ボタン" は "STEP ボタン" に変わっています。 "STEP ボタン" をクリックすると次に進みます。




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


1 ビットのカウンタは、 このようにして動作します

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

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

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



情報処理概論 に戻る  用語解説 に戻る  カウンタ に戻る  戻る 

*1 カウンタの動作を説明するために 5 つのステップに分けましたが、 実際のカウンタでは、このような動作は一瞬のうちに (例えば 1 億分の 1 秒で) 終わります。
*2 ステップ 5 で説明していますが、 このカウンタではクロック信号はすぐに 0 にもどらないといけませんから、 そのままつなぐことはできません。 すぐに 0 にもどるような回路、 またはこのような制約のないカウンタの回路にしなければならないので、 実際のカウンタはもう少し複雑です。

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