あなたCPUなんか創ってどうするのかしら?! 第2章
~あんたCPUなんか創ってどうするのよ?! Vol.4~
2019/4/14
技術書典6
池袋サンシャインシティ 文化会館ビル2F 展示ホールD「う11」
第2章 TD4EX4の論理設計
ご存知の通りTD4は僅か10個のICで作られています。イミディエイトデータとの加算しかできないとは言え、これはCPUとしては画期的なICの少なさです。しかも素人でも入手可能な普通の汎用ロジックICしか使っていないため、誰でも容易にTD4を作ることができます。
筆者はTD4を拡張し、プログラムエリア(ROM)を4KBに拡張したり、レジスタ間加算を可能にしたり、RAMを搭載したりしましたが、当然ながらそれらは10個のICでは達成できませんでした。表5に示すようにRAMを搭載可能なTD4EX3の使用IC数は17個となっており、TD8と同じ個数です。
TD4 | TD8 | TD4EX2 | TD4EX1 | TD4EX3 | TD4EX4 | |
---|---|---|---|---|---|---|
設計者 | 渡波郁 | Exit | ||||
発表年 | 2003 | 2016 | 2017 | 2018 | 2019 | |
ROM容量 | 16バイト | 256バイト | 4096バイト | 16バイト | 4096バイト | |
RAM容量 | なし | 16語 (メモリマップドI/O) | ||||
演算命令 | イミディエイトデータとの加算 | レジスタ間 加算 | イミディエイトデータとの加算 | 加減算 | ||
使用IC数 | 10 | 17 | 14 | 11 | 17 | 16 |
I/Oユニット | なし | あり (IC数8個+RAM) | ||||
入力装置 | ディップスイッチ | テンキー | ||||
出力装置 | LED (4ビット) | LED (8ビット) | LED (4ビット) | LED (4ビット) | 7セグメントLED (3桁) | |
その他 | リセット+クロック (IC数1個) | リセット+クロック (IC数2個) |
TD4EX4を設計するにあたり、筆者は目標とするIC数を最大19個に定めました。これは「あんたCPUなんか創ってどうするのよ?!」の中で「20個では多すぎる」と言及している通りです。
なぜ20個が多すぎるかと言うと、これは技術的な基準ではなく、イメージの問題です。
19個という数字と20個という数字を見たときに、20個は10個の2倍なので多いと感じるけれども、19個は10個の延長だと感じるだろう(ちょっと苦しいか?)という判断から19個以内に決めました。本プロジェクトはTD4の読者、つまり素人を対象としているので、TD4の延長だという印象は重要なのです。
当Clubがコミックマーケットや技術書店などに出展した際にお聞きしたところ、わずか10個のICで出来ているTD4ですら製作に躊躇している方が大勢いらっしゃいましたので、この判断は妥当だと思います。
最終的にTD4EX4は16個のICで実現できました。電卓用CPUとしてはギリギリの機能しかありませんが、TD4の次のステップとしては最適でしょう。