自己満足系 「〜オリジナルCPU・そして挫折〜」

 高校生の頃、オリジナルのCPUを作ろうとたくらんでいた。
 だが、あまりにも欲張った仕様のため、結局は挫折してしまった。

 そのCPUの名前はGENESYSという。GENESISに、SYSTEMを混ぜたものだ。なかなか格好良い名前だったが、最近、
どこかで見かけた。同じ事を考える人っているもんだね。


 仕様書の一部:
 (これはMZ−2000で、いまはなきキャリーラボ製のJET−2200Aワープロで入力し、MZ−1P07プリンタで出力したものだ)

 この、16ビット版は結局完成できず、そのまま学校を卒業してしまった。
 その後、専門学校に進学してから、マイプロジェクトという事で、完成しようと努力した。しかし、結局、完成できなかった。

 絶対に16ビット(当時は80286の時代)でなければいかん!と、強気だったのだが、バス配線が16本ずつになり大変という事まで
気が回らなかったらしい。あるいは若かったからかもしれない。
 あれこれ凝りすぎたため複雑になり完成できなかった。最初から、シンプルにするという知恵が無かったのだ。一度は、極端に4ビットで
いこうとしていた事もあったが、結局、アドレスの扱いを考えて8ビットにした。

 その8ビット版も中途半端に終わってしまったのだが・・・。

 8ビット版は新旧2種類あって、旧は制御回路だけできなくて放棄してしまった。新は設計の途中のまま、物は作っていない。
ここにその資料の一部を紹介しよう。
 言い訳をすれば、やれる時間があるうちに集中してやらないと、先送りしていたらいつまでもできないって事だよね。いろいろ他の用事が
あって、なかなかやれなくなる。ブランクがあると内容を忘れてしまい、次に取りかかるときに以前の状態に戻りにくい。

 まずブロック図。

 基本的には、旧版のアーキテクチャを引き継いでいる。
 I/Oなんか、スイッチとLEDだけだし、外部にはメモリしかつながない(メモリマップドでI/Oを増やすことはできるだろう)。
 メモリにプログラムを入力するためのDMA機構(要するに、スイッチでアドレスとデータを指定してプログラムを入力するやつ)は、CPU内には
備えない。外部にROMエミュレータをつないで実現する。むかしならパソコンがなかったからトグルスイッチを使ったが、現代は、パソコンからROM
エミュレータにプログラムをダウンロードする。
 演算回路は、電卓が実現できるぐらいのもので、論理演算は無い。
 アドレスは8ビットしか扱えないが、こういう実験的なCPUなら256バイトでじゅうぶんだ。16ビット版のときは、アドレスも16ビットにしていた
が、フロントパネルのトグルスイッチで64キロもプログラムを入力できるわけがない。指にタコ、である。

 キーボードでも、8キロとか16キロバイトを入力するのは大変だ。むかしI/Oなんかに載っていたダンプリストを打ち込んだが、最近久しぶり
に見たら、よくこんなの打ち込んでいたなと思った。見上げた根性と情熱だったと思う。
 入力が一応終わったら、早く動かしてみたいもんだからついついGコマンドを実行してしまって、いきなり暴走で、いままで打ち込んだ奴がパー
なのは自分の責任だが。
 ダンプリストをプリントアウトして、サムをチェックして、全部修正してからテープにセーブするものだが、あとでロードするときにテープがワカメに
なったりして(チリチリというテープを巻き込む不穏な音がするのでわかる)、ロードできなくなったという事もあった。
 いまでこそカセットテープは100円でもまともだが、当時の100円テープは呪いがかかっていて、遅かれ早かれこのような災難にあうのだった。
 テープをロードするときは、心のどこかで、成功をいのりながら待つのだった。

 ちなみにノーブランドのフロッピーにも、安いからと飛びついたらあとでデータ消失の憂き目にあった。当時、あやしげなソフトレンタル屋(コピー
屋)で買ったものだ。

 さてブロック図については、とくにこれ以上のコメントは無い。
 ほかにもいろんな構成が考えられると思う。内部バスを複数にするとか、レジスタをレジスタファイルICにまとめるとか。演算回路を、専用ICの
74LS181にするとか。
 極力シンプルにして、失敗しないようにしたい(経験者は語る)。色気を出すのは、完成してからである。まず道を通すことだ。

 命令表


 制御回路の設計資料(一部)


 回路図(一部)








(作成中)

戻る