ええっ⁈ CPU創ったの⁈ すっごーい! 第1章 第6節
~あんたCPUなんか創ってどうするのよ?! Vol.2~
2017/8/11
コミックマーケット C92 1日目 東7そ11b
第1章 第6節 イミディエイトデータとの加算しか出来ないと何が問題なのか
ここまでの説明でTD4の加算命令が機能不足だということは理解していただけたと思います。
では、イミディエイトデータとの加算しか出来ないと、何が問題なのでしょうか?
プログラマーならば一目瞭然で論外だと分かりますが、プログラマーでない方に理解して貰うには難しいかもしれません。
例として、あらかじめ決められた数値との加算しか出来ない電卓を思い浮かべてください。
例えば5との加算しか出来ないとしましょう。1と入力すると、答えが6と表示される。123と入力すると、答えが128と表示される。そんな電卓があったとしたら、あなたはそれを使いますか?
このような固定機能の電卓は、シチュエーションによっては有用な場合もあります。例えば消費税計算用の電卓が当てはまります。入力した数値に1.08を乗算する電卓があったとしたら 、それはそれで役に立つでしょう。
しかし、そのような電卓を作る時にはCPUは必要ありません。
そもそもCPUは汎用的な計算を行うために発明されたものです。プログラムを変更するだけで加減乗除はもちろん、どんな複雑な計算でも可能である事がCPUの利点です。もし固定された数値、例えば5との加算だけを行うのであれば、加算用ICである74HC283だけで済んでいまいます。わざわざ10個ものICを使ってCPUを作る必要はありません。
ラーメンタイマーも同様です。そんなものはタイマー用ICのNE555が1個あれば十分です。ナイトライダーもシフトレジスタが1個あれば作れてしまうでしょう。そんなものにCPUを使う価値はありません。
CPUを作るのなら、CPUにしか出来ない用途に使うべきです。
前作Vol.1で述べたように、本シリーズでは電卓を製作することを目標としています。なぜ電卓なのかは言うまでもありません。世界初の商用ワンチップCPUであるインテル4004の開発目的が電卓だったからです。
懐古趣味ではありません。
後に発売された8080等に比べると使いにくい点はあるものの、4004はCPUに必要な機能のほとんどを備えています。その4004の目的である電卓を実現できるCPUならば、「これはCPUである」と主張できるだろうと筆者は考えます。