2015.5.17
前へ
次へ
ホームページトップへ戻る

トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆


[第62回]


●Half Adder

毎回お見せしておりますXORの論理演算表ですが、今回もここからスタートします。

以下の説明の都合で今まで結果をCとしていたところをXに変更しました。
この表はXORの論理演算なのですが、実は同時にそのままで1ビットの2進数の加算表にもなっています。
A+B=Xです。
確認してみましょう。
0+0=0
0+1=1
1+0=1
1+1=0  (上位桁へのキャリーが出る)

最後の1+1の演算のところに書き加えましたように、XORと2進加算との違いは上位桁への桁上がり部分があるかないかということだけです。
つまりXOR回路に桁上がり部分を追加すれば、2進加算回路ができてしまいます。
そこでその回路を考えるために上の表に桁上がり(キャリー)を加えてみます。
最後に加えたCが上位桁への桁上がり(キャリー)です。
このCをA、Bを入力とする回路の出力だと考えると、これはAND回路そのままです。
そこでXOR回路にAND回路を付け加えると下の回路になります。


トランジスタ回路ではANDはNAND+NORですから、こういう回路になります。
この回路は上位桁への桁上がりはありますが、下位桁からの桁上がりはありません。
ですのでこのままの回路では多桁の加算回路は構成できません。
中途半端な加算回路ですから半加算回路(Half Adder)です。

それはともかくとしまして、この半加算回路をトランジスタに置き換えることを考えてみます。
するとXOR回路は前回説明しましたようにウラ技を使って10トランジスタで済みましたが、そこにAND回路が加わりますから10+4+2=16トランジスタになってしまいます。

うーん。
必要なものはしかたがないのですけれどねえ。
だけど…。
そのAND回路って、どこかで見たような。

[第60回]でお見せしたウラ技回路です。

おお、ここにNANDがある。
これを使えば…。
駄目か。
こんなふうにウラ技で使ってしまっているNANDではキャリー検出には使えません。
しかし。
このNANDをなんとか使いたい…。

というところで本日は時間がなくなってしまいました。
この続きは次回にいたします。

トランジスタでCPUをつくろう![第62回]
2015.5.17upload

前へ
次へ
ホームページトップへ戻る