あなた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と同じ個数です。

表5 TD4および関連CPUの一覧
 TD4TD8TD4EX2TD4EX1TD4EX3TD4EX4
設計者渡波郁Exit
発表年20032016201720182019
ROM容量16バイト256バイト4096バイト16バイト4096バイト
RAM容量なし16語
(メモリマップドI/O)
演算命令イミディエイトデータとの加算レジスタ間 加算イミディエイトデータとの加算加減算
使用IC数101714111716
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の次のステップとしては最適でしょう。