NANDはすべてのロジックの基本
さて、写真は撮ったので改めて。フリップフロップ回路が完成したので、1ビットメモリに挑戦するつもりでしたが、なかなか良い説明の載ったページが見つかりません。探している途中で論理回路に脱線してしまいました。ANDの回路とか、ORの回路とか、よく論理回路図を見ますが、部品はないのかなと探してたんです。なるほど「論理」回路ですね。バーチャルな回路であって、リアルな回路ではないんですね。抽象的な回路ではあるものの具体的にそういう部品があるわけではないんですね。ICチップとかあるのかもしれませんが…。こないだのフリップフロップ回路とフリップフロップ回路で使ったNPNトランジスタとコンパチブルなPNPトランジスタを組み合わせると、NAND回路ができるようです。そして、NAND回路を組み合わせると、全ての論理パターンが作れるみたい。NANDというのはNOT ANDですね。記号にすると¬(A∧B)です。要は、Aであり、かつBである時にだけ、0、すなわちスイッチオフの状態になる回路です。A NAND B = X - (A ∧ B)単純にAを否定するには、NOT = NAND(A∧A) ANDはNANDを更に否定すると、否定の否定は肯定なので、AND = ¬(NAND)ORはA∨B = X - (¬A + ¬B)なので、OR = ¬(A∧A) NAND ¬(B∧B)XORはめんどいので省略と、全部NANDで表現できてしまいます。すごいですね。これをひたすら組み合わせると計算ができます。きっと初期のコンピュータってそんな回路だったんですね。トランジスタが真空管使っていて、今みたいに集積回路とかないと、スペースが必要になるんですね。今作るなら体育館みたいな広大なスペースは要らないハズ…とひそかに最終目標をほのめかしてみます。完成したNPNトランジスタとPNPトランジスタによるフリップフロップ回路を利用したNAND回路メモリよりも先に演算を身に付けてしまいました。まぁ、データがあっても計算できないと意味ないですからね。ホントは、¬A ∧ Bの時になぜかONになってしまったのですが、細かいことは気にしない気にしない。なんとなくわかったので、今度こそメモリに進みます。参考)Kwappa開発室トランジスタでNAND回路を組むhttp://kwappa.txt-nifty.com/blog/2009/04/nand-8d4c.htmlNANDでNOT,AND,OR,XORを表すhttp://www.h5.dion.ne.jp/~wing-x/academic/msel_mechatro/logic.html大変参考になりました。というか、思いっきり真似してみました。ありがとうございます!