非同期論理回路とメモリ
半導体デバイスにいろいろと限定を加えることでデジタルICにまで絞り込みましたが、それでもまだまだ広い概念であり、その中にさまざまな種類があります。
一般的には、メモリ、ロジック(論理)、プロセッサなどといった分け方をします。
ソフトウェアを利用するプロセッサについてはまた後の章で述べますが、メモリとロジックというのは、ある意味で同じ概念です。
というより、デジタル入力信号からデジタル出力信号(ともに電気信号)をある決まった規則で発生させる回路は、すべてメモリと考えることも可能です。
たとえば最も基本的なデジタル素子といえる「1ビットNOT」を考えましょう。
図の左上は、その通常の記号表現です。
そのすぐ下に入出力関係を示します。
これはその名が示す通り、デジタル信号のビットを反転(論理的否定)させたものです。
同じように複数ビットのNOTというものもあり、これは各ビットを独立に反転するものです。
たとえば「4ビットNOT」なら、記号表現としては図の中央下部に、そして入出力関係は右部のように示されます。
この「4ビットNOT」をIC化する場合、現実にそういうものが市販されているかどうかは別として、入力4本出力4本、それに電源とグラウンド(アース)で計10端子で構成できます。
これは典型的な論理素子です。
特にクロック信号を使わないので非同期論理素子と呼ばれます。
しかしながら、実はこれ、奥行き4ビット(16アドレス)間口4ビットのメモリと考えることもできます。
メモリといってもRAMである必要は特になく、最初から値が与えられているマスクROMです。
入力Aをアドレスの最上位ビット、続いてB、CときてDが最下位ビットと考えると、その値は以下のようになります。
アドレス値01111
11110
21101
31100
41011
51010
61001
71000
80111
90110
A0101
B0100
C0011
D0010
E0001
F0000
ただしアドレスは16進数で表現しており、たとえばアドレスAというのは、10進数でいえばアドレス10のことです。
このように、固定機能の非同期論理デジタルICは、論理の組み合わせがどんなに複雑であっても、メモリとみなすことが可能です。
たとえば2つの16ビットの数をかけて32ビットの数を得る非同期の乗算回路があったとすると、それは奥行き32ビット間口32ビットのメモリと考えることができます。
あるいはその乗算結果の上位16ビットと下位16ビットを選択して取り出すなら、奥行き33ビット(選択信号のための1ビット分を含む)間口16ビットのメモリと考えることができます。


