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

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


[第394回]



●MYCPU4TR回路図(3)Bレジスタ回路

MYCPU4には4ビットのレジスタが3個あります。
そのうちのAレジスタとWレジスタは前回説明しました。
今回はBレジスタについて説明します。
Bレジスタも基本的な構造はAレジスタ、Wレジスタと同じですが74HC126に相当する部分がありません。
それだけ簡単な回路になっています。
ADD A,B、ADD A,d、SUB A,B、SUB A,dなどの命令を同じデータラインで行なえるようにするためBレジスタの出力とメモリから出力される定数値D0〜D3とを切り換える回路がBレジスタの後ろに続いています。
そのためにBレジスタそのものはシンプルな構造になっています。
前回と同じHCMOSIC版MYCPU4のレジスタ/ALU/PC回路の回路図を下に再掲します。

IC3(74HC175)がBレジスタです。
その後ろにメモリから出力される定数値D0〜D3とを切り換えるための74HC157(IC4)が続いています。
さらにその後ろにはSUB命令を実行するときにALU回路に入力する前に値を反転(インバート)するための回路(IC8の74HC86)が続いています。
その後ろにBレジスタの値、メモリから出力された定数値を内部バスに出力するための74HC126(IC9)が続きます。
以上の回路をそのままMYCPUTRではトランジスタ回路に置き換えています。
MYCPUTRにおけるBレジスタ〜74HC126までの回路図を下に示します。

Bレジスタの回路図です。

上に書きましたようにBレジスタの出力に直接つながる74HC126相当の回路はありません。
BレジスタはAレジスタ、WレジスタからREAD回路を外した回路になっています。
図の上側部分が1ビット分のデータラッチ回路です。
Bレジスタも4ビットですからこれと同じ回路が4回路あります。
図の下側のWRITE信号回路は全ビット共通ですからこの1回路だけです。

Bレジスタの後ろには74HC157相当の回路があります。
下はロジックシンボルで描いた回路図です。

Bレジスタから出力される4ビットの値とメモリから出力される4ビットの定数値をB/dsel信号で切り換えて出力します。
下はそのうちの1ビット分の回路をトランジスタ回路で示したものです。

左上のインバータは1回路だけですが、それ以外の回路は同じ回路が4ビット分あります。

74HC157相当の回路の後ろに続く74HC86相当の回路(EXOR回路)です。

これで1ビット分です。
これと同じ回路が4ビット分あります。
この回路からの出力は74HC126相当の回路につながるとともにALU回路にもつながっています。
トランジスタのEXOR回路は[第60回]で説明しています。
そのときはMOSFETのBS250と2N7000を使った回路でしたが、その後に今回と同じ回路を1枚の基板にまとめた組立キットTR86を作りました。
TR86については[第245回][第309回][第315回][第318回]でも書いています。

74HC86相当の回路の後ろにある74HC126相当の回路です。

Aレジスタ、Wレジスタでレジスタの一部となっていた回路をBレジスタではここに置いています。
Bレジスタだけではなくてメモリから出力される定数値も内部バスに出力できるようにするためです。

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

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