あなた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にアクセスします。

図8 TD4EX3およびTD4EX4のシステム構成
図8 TD4EX3およびTD4EX4のシステム構成

そのため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