ええっ⁈ 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との互換性はありません。