トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第219回]
●REGISTER回路(2)レジスタ選択回路
前回書きましたようにCPUの8ビットレジスタは直接マシン語命令でアクセスできるものだけでも8個あって、そのほかにCPU内部で動作するものも含めると10個以上になります。
それらは基本的には全て同じ回路です。
CPUの命令コードでは各レジスタにアクセスするためにそれらを区別するためのアドレス情報を出力します。
個々のREGISTER回路基板の側では、そのアドレスに対応して特定のアドレスにのみ応答するようなアドレス選択の仕組みを搭載します。
8080の命令コードではレジスタにアクセスするときに対象になるレジスタから読み出す(READ)のか書き込む(WRITE)のかによってアドレスをs0〜s2かd0〜d2に区別して出力します。
そこでMYCPU80回路ではそのアドレスコード信号に上位ビットs3、d3を加えて16個のレジスタにアクセスできるようにしたうえで、s0〜s3にはregRD信号を、d0〜d3にはregWR信号を加えて、各レジスタを読み出すための信号、書き込むための信号を作成しています。
下はMYCPU80Bのその部分の回路図です。
トランジスタ版MYCPU80回路でもこれと同じ考えの回路を用意しています。
REGISTER−SELECT−READ回路とREGISTER−SELECT−WRITE回路です。
それらの回路についてはREGISTER回路の説明が終ったあとで説明をする予定です。
以上のことを予備知識として理解していただいたうえでREGISTER回路側の仕組みについて説明をします。
下はREGISTER回路基板に入力されるセレクト信号を受けて特定のナンバーのレジスタ基板として応答するための回路です。
レジスタセレクト信号は16pinコネクタ(CN1)に図のように配置されています。
CN3はREGISTER回路につながる内部データバスコネクタです。
前回の回路図のd0−d7につながります。
CN3は今回の説明とは関係ありません。
図の右側部分はCN1に入力される信号を受けて、その中の特定の信号のみを基板上のレジスタ回路の書き込み信号(regWR_)とし、また読み出し信号(regRD_)とするためのジャンパーピン用16pinヘッダー回路です。
今はテストなのでここはそのようにしていますが、実機回路ではコストのことを考えるとここにはヘッダーを取り付けるのではなくて、リード線でジャンパ配線するほうがよいように思います。
ま、それはしかし先の話です。
今はテストですからヘッダーを実装してジャンパーピンで設定することにします。
下の写真は前回お見せしたパーツを実装したREGISTER試作基板のヘッダー部分を拡大したものです。
こちらはregRDです。
bVにジャンパーピンを挿しています。
レジスタセレクト信号は接続ケーブルを使い分けることでbO〜bVとbW〜bP5を兼用します。
ですから上の写真ではこの基板をbVまたはbP5として設定していることになります。
こちらはregWRです。
こちらもbV/bP5のところにジャンパーピンを挿しています。
次回に続きます。
トランジスタでCPUをつくろう![第219回]
2020.4.14upload
前へ
次へ
ホームページトップへ戻る