標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第379回]

●前回の続きです

前回書いたジレンマというのは、こういうことです。

MYCPU80は組立キットとしては余りに大きすぎる。
だから、今度はもっと簡単なボードにしたい。
そのためには、8ビットではなくて4ビットがよいのでは。

しかし、4ビットでそれなりのことができるものを考えると、かえって8ビットよりも複雑なものになってしまう。
ということがわかりました。
つまりただ4ビットにすればよい、というものではなくて、機能もそれなりに低いものにしなければ、「簡単な」キットにはならない、ということです。
そこで割り切ってしまって、うんと簡単な4ビットボードを作ればよいのですけれど…。

それについては、私としてはどうしてもこだわりたいところがあるのです。
4ビットでもいい。シンプルでもいい。
しかし、オプションを追加するという選択肢を含めたとしても、とにかくTK80、おお、そうなのです。TK80からは離れたくない。
そこにこだわりがあるのです。
もちろん、命令コードも違うからにはモニタプログラムも変わってしまいます。
しかし、あのTK80の機能は、できれば実現したいものです。
MYCPU80では、それに加えて、USBシリアル通信という機能までも追加したのですから、それも、ぜひとも使えるようにしたいものです。

じつは、この半月ほどの試行錯誤の過程で、仮の4ビットマシンを設計し、その機能をもとにして、TK80モニタの4ビット版をとりあえず机上で、つまりノートの上で作ってみようと試みました。
仮に設計した4ビットCPUのアセンブラニーモニックによるTK80モニタプログラムの作成です。

試しに適当な部分を4ビットのプログラムとして書いてみたのですが…。
4ビットでは無理、というか、はっきり言って効率が悪すぎて、とても書いていられない。
で、鉛筆を投げてしまいました。

やっぱり8ビットでなくちゃだめ、なようです。

●そこで、ひらめきました

まあ、ひらめいた、というほどのものでもないのですけれど。

最初は4ビットの組立キットとしてスタートして、そのあとでオプションを追加したら、8ビットになってしまう、というキットならば入りやすいのではないでしょうか。

入門的なものとしてまず4ビットとして組み立てて、それなりの動作をするところをいろいろ経験していただいて、そこからさらにステップアップしたい、というときには、さらにIC、パーツを追加すれば、8ビットCPUになってしまう、という内容です。

しかしプリント基板を追加するというのは、コスト的に難しい点があります。
プリント基板は、最初の製版費用がなかなかに負担なのです。
ですから、プリント基板は8ビットの配線で作って、パーツは4ビットのみの実装も可能にする、というのがいいのでは、と思います。
もちろん、8ビットといっても今度は8080ではありません。
まったく新規に考えたオリジナルの8ビットマシンです。
命令は8ビットコードですけれど8080との互換性はありません。
当然TK80モニタは最初から全部書きなおさなければなりません。
かなりホネだと思います。

8080よりも思い切って機能を削ってしまいます。
そうしなければ、またまた基板が大きくなってしまいます。

目標はMYCPU80の1/2のサイズです。
単純に1/2ということですと、MYCPU80が310mm×480mmですから、310mm×230mmになります(取寸の関係で240mmはコスト高になります)。
ですが、それはちょっときついかな、と思いますから、MYCPU80と同じTK80回路を搭載して310mm×310mmならなんとか合格、ということにしたいと思います。

で。

●回路設計が完了しました

前回の続きのノートです。
命令をコードに割り振ったら、さっそく回路を設計します。
やっぱり書いては消し、の繰り返しです。


ちょっと小さくて読めませんでしょうけれど、この下のページで、命令に8ビットコードを割り当てています。


あ。回路はこれだけでは有りません。
前回お見せしたノートにも、そのままではありませんが、手直しして利用している部分がかなりあります。

ここまでで一応の設計を完了し、ICの使用個数を数えてみました。
拾い間違いもあるかと思いますから、まあ目安の個数ですけれど、8ビット仕様でTK80回路を含めて132個になりました。
MYCPU80が269個でしたから、そのちょうど半分というところです。
基板はTK80回路を含めて全部配線済みにしなければなりませんから、回路の設計も当然8ビット、フル実装で考えなければなりません。
そうしておいて、そこから4ビットに落とせるところや、オプションにできる命令などについて検討していくことになります。

8ビットを4ビットにするといっても、全部を4ビットにはできません。アドレスはせめて8ビットは必要ですし、レジスタは8ビットのものを、4ビット2個に分けてもかえってコスト高になってしまいます。
そのあたりも考慮しながら、でもできれば4ビットではIC個数を60〜70個に押さえたいと思います。

また時間がなくなってしまいました。
続きは次回にいたします。
2009.11.9upload

前へ
次へ
ホームページトップへ戻る