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

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

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

第1章 第2節 なぜ誰も気づかないのか

では、命令コードからTD4というCPUを見てみましょう。

表1 TD4の命令コード
命令 オペコード 説明
ADD A, Im 0000 Aレジスタの内容に命令中で指定された定数(Im)を加算
MOV A, B 0001 AレジスタにBレジスタの内容を転送
IN A 0010 入力ポートからデータを取り込み、Aレジスタに格納
MOV A, Im 0011 Aレジスタに命令中で指定された定数(Im)を格納
MOV B, A 0100 BレジスタにAレジスタの内容を転送
ADD B, Im 0101 Bレジスタの内容に命令中で指定された定数(Im)を加算
IN B 0110 入力ポートからデータを取り込み、Bレジスタに格納
MOV B, Im 0111 Bレジスタに命令中で指定された定数(Im)を格納
OUT B 1001 Bレジスタの内容を出力ポートに出力
OUT Im 1011 命令中で指定された定数を出力ポートに出力
JNC Im 1110 キャリー(C)がゼロならば指定アドレス(Im)にジャンプ
JMP Im 1111 指定アドレス(Im)にジャンプ

 

この表1を見ればTD4がCPUとして使い物にならないことが分かります。

使いにくいとか、機能が足りないとか、そんなレベルではありません。設計の根本的な部分で明確に間違っています。たった10個のICで出来ているとは言え、このような間違いが許されるとは思えません。

では、なぜ誰も間違いに気づかないのでしょうか?

それとも気づいているけれども黙っているのでしょうか?

近年のインターネットの発達によって、誰でも自由に(悪い言い方をすれば無責任に)意見を発表できる時代になりました。にもかかわらずTD4に対する否定的な意見がほとんど無いことを考えると、誰もTD4の間違いに気づいていないのだろうと思わざるを得ません。

では、なぜ誰も気づかないのでしょうか?

考えられる理由は一つしかありません。

誰もTD4を使っていないからです。

前述の包丁の例を思い出してください。自作の包丁が全く切れないとして、包丁が切れないことに気づかない理由は一つしかありません。それは包丁を使っていないからです。包丁を使いさえすれば肉も野菜も果物も全く切れないという事に気づく筈です。

TD4も同様です。インターネット上ではTD4を製作したという人をちらほら見かけますが、ほとんどの人が作っただけで終わっています。サンプルプログラムであるラーメンタイマーやナイトライダーを実行して終わりです。そこから先の発展が全くありません。つまり使っていないのです。

これではTD4の欠点はもちろん、良い点にすら気づくはずもありません。残念なことです。