4ビットCPUの設計 その2
ここでは,4ビットCPUに汎用性を持たせるため,命令を8種類(命令コード3ビット),
アドレスを16通り(4ビット)として設計する.
![kcom42image001](https://cpu4edu.net/imageR/img588bd2a5zikbzj.gif)
図1 4ビットCPUの命令構成
用意する命令と命令コードは表1のように定める.命令はK-COMとほぼ同じであるが, 右シフトとHALT命令は回路の簡単化のために省略した.
![kcom42table1](https://cpu4edu.net/imageR/imgdc192e02zik6zj.jpeg)
4ビットマイコンの構成を図2に示す.ここではアーキテクチャを改変し,プログラム領域をROMに, 変数領域をRAMにそれぞれ分担させた.
![kcom42image002](https://cpu4edu.net/imageR/img62384387zikazj.gif)
図2 4ビットCPUの構成
フェッチおよび実行サイクルは,図3に示すようにK-COMと同じである.
![kcom42image003](https://cpu4edu.net/imageR/img2cf4eccczik3zj.gif)
図3 コントローラの動作
以上から,図4の全回路を作成した.ALUは4ビットなので,74LS181を使った. このALUの制御信号はK-COMと同様にPROM(U24)により与えている. プログラムカウンタは74LS193による4ビットのカウンタである. 前述の通り,プログラム領域にはPROMを用いている.また変数領域にはRAMを用いている. コントローラの構成はK-COMと同様であるが,回路の視認性をよくするためと,メモリ構成の変更から, コントローラの制御信号はK-COMと異なっている.
![kcom42image004](https://cpu4edu.net/imageR/imgcf3230a7zikfzj.gif)
図4 4ビットCPUの全回路
コントローラの状態遷移ROM(U5)の設計を表2に示す.真理値表はK-COMと同様であるが, 命令レジスタを7ビットとしたため,表内のIRの値が違っている. コントローラの制御信号は,フェッチサイクルと実行サイクルに分けて設計し,表3と表4にそれぞれ示す.
![kcom42table2](https://cpu4edu.net/imageR/img71f6f963zikezj.gif)
表3 フェッチサイクル時の制御信号設計
![kcom42table3](https://cpu4edu.net/imageR/img5eaf58ddzikfzj.gif)
表4 実行サイクル時の制御信号設計
![kcom42table4](https://cpu4edu.net/imageR/imgd0a2c6dbzik2zj.gif)
CircuitMaker用回路データのダウンロード
![]() ESP32 Wifi Bluetooth開発ボード |
![]() Arduino Nano Every |
![]() Raspberry Pi pico |
![]() FPGA XILINX Artix-7 |