あなたCPUなんか創ってどうするのかしら?! 第2章 第5節
~あんたCPUなんか創ってどうするのよ?! Vol.4~
2019/4/14
技術書典6
池袋サンシャインシティ 文化会館ビル2F 展示ホールD「う11」
第2章 第5節 RAMからの読み出しの制御
TD4へのRAMの搭載方法については前作Vol.3の「この世のCPUを食べ尽くすのだ!」で詳しく解説していますが、TD4EX4でも同じ方法でRAMを搭載しています。
- 容量は16語(1語4ビット)
- 命令コードの下位4ビットでアドレスを指定する
- メモリマップドI/Oを採用するため、テンキーや7セグメントLEDに2語のアドレスを割り当てる
- CPU本体からはREAD信号とWRITE信号で制御する
TD4EX3ではRAMへのアクセスはIN命令とOUT命令によって行いましたが、これはTD4のI/OポートをRAMへの接続に流用しているためです。しかし表1を見れば分かるように、TD4EX4の場合は入出力命令を削除し、代わりに転送命令や演算命令でRAMにアクセスします。
そのためREAD信号の論理式は以下のようになります。READ信号は負論理なので注意してください。びっくりするほど簡単ですが、これはRAMへの書き込み命令を命令コードの1010と1011に配置した効果です。
数式8 CPUからのREAD信号出力
READ信号 = bit5
ただし「この世のCPUを食べ尽くすのだ!」で説明している通りRAMのCS信号のタイミングの問題があり、READ信号はCLOCKが1の間は強制的に1に保つ必要があります。これはRAMをCS制御モードでアクセスするための措置です。従って最終的には以下のようになります。
数式9 実際のREAD信号出力
READ信号 = bit5 OR CLOCK