ええっ⁈ CPU創ったの⁈ すっごーい! 第2章 第2節

~あんたCPUなんか創ってどうするのよ?! Vol.2~

2017/8/11
コミックマーケット C92 1日目 東7そ11b

第2章 第2節 TD4との互換性は諦める

表5をもとにTD4EX1の命令コード、つまり命令を2進数でどのように表現するかを検討します。

表面上はレジスタ間加算命令が増え、アキュムレータBへのイミディエイトデータの加算が無くなっただけですが、TD4EX1の命令コードはTD4とはかけ離れた物となります。そうせざるを得ないのです。

アキュムレータAに注目してみましょう。

TD4ではアキュムレータAに結果を格納する命令は以下の4種類しかありません。

ADD A, Im
MOV A, B
IN A
MOV A, Im

そのため命令のbit5とbit4でこれらの命令を識別するようになっています。

ところがTD4EX1は以下に示すように5種類あります。するとbit5とbit4だけでは命令を指定することが出来ず、もう1ビット必要になります。つまり3ビット必要なわけです。そのため同じ手法は使えません。

ADD A, B
ADD A, Im
IN A
MOV A, B
MOV A, Im

TD4EX1ではTD4との互換性を保つのは不可能とまでは言わないものの、かなり困難です。少なくともたった2個のICで命令デコーダーを実現することは出来ないでしょう。従ってさっさと諦めることにします。

なお、アキュムレータBに結果を格納する命令は、前節で述べたようにイミディエイトデータとの加算が出来ないため4種類となりますが、数は同じでも種類が違うのでTD4との互換性はありません。