コントローラ
2.3.6 コントローラ
K-COMのフェッチサイクルは2サイクル固定で,実行サイクルは命令によって1サイクルまたは 2サイクルとなっている.両者合わせると,図2-12に示すような最高4サイクルの順序回路となる.図2-12 コントローラの状態遷移
状態(S0~S3)の遷移をD-FFの2ビットを用いて表した順序回路を図2-13の様に作成した.実行サイクルが何サイクルになるかは命令の種類のみによって決まりフラグの値に関係しない. 現在の状態と命令レジスタの内容によって状態遷移を決定できるので図上に横置きに配置したD-FFとPROMにより作成した.D-FFの出力が現在の状態に対応するので,デコーダ(74LS139)を用いてフェッチサイクルに1個,実行サイクルに各2個,計3個のPROMを選択するようにした.
PROMにはそれぞれのサイクルの時のデバイス選択信号が記録されている. フェッチサイクルは無条件で順に2サイクル進むのでD-FFの下位1ビットがPROMに入力されている.
また実行サイクル時は,命令レジスタ上位3ビットからなる命令選択信号とキャリーおよびゼロフラグによる条件ジャンプの有無の信号の合わせて5ビットにより異なる状態が与えられるので,アドレスバス信号5ビットの それぞれ信号を加えてある.
図2-13 コントローラの回路図
ESP32 Wifi Bluetooth開発ボード |
Arduino Nano Every |
Raspberry Pi pico |
FPGA XILINX Artix-7 |