ええっ⁈ CPU創ったの⁈ すっごーい! 第1章 第2節
~あんたCPUなんか創ってどうするのよ?! Vol.2~
2017/8/11
コミックマーケット C92 1日目 東7そ11b
第1章 第2節 なぜ誰も気づかないのか
では、命令コードからTD4というCPUを見てみましょう。
命令 | オペコード | 説明 |
---|---|---|
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の欠点はもちろん、良い点にすら気づくはずもありません。残念なことです。