この世のCPUを食べ尽くすのだ! 第3章 第3節 第5項

~あんたCPUなんか創ってどうするのよ?! Vol.3~

2018/10/8
技術書典5 け39

第3章 第3節 第5項 CPUのREAD信号とWRITE信号

READ信号はIN命令が実行され、かつクロックが0の時に0になります。表1にあるようにIN命令には以下の2種類があります。

  1. IN A命令(命令コード0010)
  2. IN B命令(命令コード0110)

従って論理式は以下のようになります。

READ = bit7 OR (NOT bit5) OR bit4 OR CLOCK

このうちbit7 OR bit4はTD4にも存在していて、マルチプレクサである74HC153の制御に使われています。そのためTD4EX3では、これにNOT bit5とCLOCKとのORを追加してREAD信号を作り出します。

いっぽうWRITE信号はTD4の出力ポートである74HC161の制御信号そのままです。

WRITE = bit7 NAND (NOT bit6)

WRITE信号はクロックとは無関係に出力されます。これはRAMへの書き込み時にCS制御モードを使うための措置です。

副作用としてWRITE信号には「ヒゲ」が発生する可能性があります。I/Oユニット側では「ヒゲ」対策が必要になりますが、I/Oユニットにもクロックを供給するようにしたので、WRITE信号とクロックのORを取れば容易に「ヒゲ」対策を実現できます。

なお、CPUの仕様として OUT Im 命令を削除することになりましたが、単に仕様として削除しただけで、回路側では何もしていません。