トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第159回]
●RSフリップフロップ
すでに書いておりますように、連載再開前はBS250とN7000の組み合わせか、A1015とN7000との組み合わせで進むつもりでした。
しかし連載再開の準備をする過程で方針を変更し、BS250とN7000を使う代わりにA1015とC1815を使うことになりました。
基本的なゲートロジック回路については、前回までのところに書きましたようにCMOSFETからバイポーラトランジスタにそっくり置き換えても特に問題はないということを確認しました。
問題がないどころか、むしろCMOSFETからバイポーラトランジスタに置き換えたほうがかえって都合がいい、という結果を得ました。
それは検証を始める前からおおよそは見当がついていたことで、予想通りの結果だったのですが。
実はCMOSFETからバイポーラトランジスタに単純に置き換えることができなくて、最初から考え直さなければならない回路がありました。
ストレージ(レジスタ)回路です。
CMOSFETで構成したレジスタ回路については[第81回]〜[第94回]あたりに書いています。
小容量のコンデンサにデータを蓄えるというアイデアで、これはダイナミックRAMで使われている手法です。
この回路のポイントはコンデンサに蓄えた電荷をどうやったら維持できるかというところにあります。
コンデンサにつながるデータ読み出し回路に置いたMOSFETは電圧動作なので(電流を必要としないため)、コンデンサの電荷を消費することなく、値を維持することができます。
またコンデンサが自然放電してしまわない限り、コンデンサに蓄えた電位をそのまま維持することができます。
それに対してバイポーラトランジスタはMOSFETと違って電流動作です。
たとえ大きなベース抵抗をつないだとしてもベース電流をゼロにはできません。
データ保持用コンデンサにバイポーラトランジスタをつないだ途端に、その電荷はベース抵抗を通してベースからエミッタに流出して消費されてしまいます。
念のためにCMOSFET用のレジスタ回路基板に、代わりにA1015とC1815を実装してテストしてみたのですが、やはり予想した通り、使い物になりませんでした。
すぐにコンデンサが抜けてしまいます。
そういうことになりますと、レジスタ回路については最初から考え直さなければなりません。
データを保持するということになると、その基本はフリップフロップです。
さらにフリップフロップの基本型はRSフリップフロップです。
ロジックICでRSフリップフロップを構成する場合には74HC00などのNANDゲートを2個使うのが通例ですが、トランジスタの場合にはたとえばC1815を2個組み合わせて作ることができます。
しかしそのような一般的な回路では応答速度が遅くなるので、今まで説明してきましたロジック回路と同様に、A1015とC1815をペアにして、それを2組組み合わせてフリップフロップを構成しました。
下がその回路図です。
インバータ2個の入力と出力を互いに相手の出力と入力につないだ形です。
上の図でたとえばDがHだったとするとQはLになります。
するとその出力は下のインバータの入力ですからQ_はHになります。
このQ_は上のインバータの入力につながっていますから、結局はQ=Lで固定することになります。
しかしこの回路ではDが変化すればただちにそれにつれてQ、Q_が変化してしまいますから、このままでは使えません。
Dの入力は一時的なものにして、データのラッチ後はDを切り離すなどの工夫が必要になります。
一般的なトランジスタ2個で構成するRSフリップフロップ回路は入力部にコンデンサを使ったりするようですが、それでは不安定なことと応答速度の問題などのためにコンデンサの容量がかなりシビアになったりするため、トランジスタCPU回路にはとても使えません。
トランジスタCPU回路としては高速であることと動作が確実であることがなによりも求められます。
しかしいざそれを追求しようとすると、このD入力部が非常に難しくて、結局試作を3回も重ねてしまいました。
最終的になんとか安定動作する回路に行き着いたのですが、本稿を書くためにあらためて回路図をながめていて、もう一工夫できることに気が付きました。
せっかくとりあえずの最終的な試作基板のつもりで作図して発注したばかりだったのですが、基板の出来上がりを待たずして、またしても廃棄することになりそうです。
本日は時間がなくなってしまいました。
この続きは次回にいたします。
トランジスタでCPUをつくろう![第159回]
2019.9.19upload
前へ
次へ
ホームページトップへ戻る