TD4の説明

TD4の概要

  • TD4は、2つのレジスタ、出力ポート、入力ポート、全加算器、プログラムカウンタを持つ4ビットCPUです。
  • 全てのデータは4ビットで構成されています。
  • ROMには16語の命令語からなるプログラムを格納でき、1語あたり8ビットで構成されています。
  • クロックには、手動、低速(1Hz)、高速(10Hz)の3モードがあります。
  • リセットボタンを押すとプログラムカウンタが0000となります。

TD4の動作サイクル

  1. ROMから、プログラムカウンタ(PC)が示す番地の命令語が取り出されます。
  2. 命令語の上位4ビットは命令として解釈され、下位4ビットは全加算器に送られます。
  3. 解釈された命令に従って、レジスタA,B・入力ポート・ゼロ値のいずれかが全加算器に送られます。
  4. 全加算器の結果が、(解釈された命令に従って)レジスタA,B・出力ポート・PCのいずれかに格納されます。
  5. 上記でPCにデータが格納されなかった場合は、PCの値を1増します。
  6. 最初に戻ります。

TD4の命令

TD4 ジャンプ命令

JMP Imm

概要

指定した番地にジャンプします。

命令フォーマット

bit位置 7 6 5 4 3 2 1 0
データ 1 1 1 1 x x x x

説明

xxxxで指定した4ビットの値がプログラムカウンタ(PC)に格納され、次の命令がxxxx番地から読み取られるようになります。

JNC Imm

概要

桁あふれのないときだけ指定した番地にジャンプします。

命令フォーマット

bit位置 7 6 5 4 3 2 1 0
データ 1 1 1 0 x x x x

説明

Cフラグが0のとき(つまり、直前の命令で桁があふれなかったとき)、xxxxで指定した4ビットの値がプログラムカウンタ(PC)に格納され、次の命令がxxxx番地から読み取られるようになります。

TD4 入出力命令

IN A

概要

入力ポートの値がAレジスタに格納されます。

命令フォーマット

bit位置 7 6 5 4 3 2 1 0
データ 0 0 1 0 0 0 0 0

IN B

概要

入力ポートの値がBレジスタに格納されます。

命令フォーマット

bit位置 7 6 5 4 3 2 1 0
データ 0 1 1 0 0 0 0 0

OUT Imm

概要

指定した4ビットの値が出力ポートに送られます。

命令フォーマット

bit位置 7 6 5 4 3 2 1 0
データ 1 0 1 1 0 0 0 0

OUT B

概要

Bレジスタの内容が出力ポートに送られます。

命令フォーマット

bit位置 7 6 5 4 3 2 1 0
データ 1 0 0 1 0 0 0 0