メインページに戻る

主メモリにTTLが使えない!

基本的なアーキテクチャが決定後は、命令セットなどの詳細を決定し、回路図作成、部品購入へと進むのが普通です。しかし今回は製造中止や販売終了となったTTLが多数あるため、まずは購入可能なTTLの確認を行い、その結果で命令セットや回路を決めるという通常とは逆の手法をとることになりました。

購入可であることを確認するTTLは、ALU用、レジスタ用、カウンタ用など、多種のTTLが対象となりますが、まずはデータ 幅8ビット、アドレス幅12ビットのメモリ探しから始めました。
 ところが、残念ながらTTLのメモリは今や殆ど入手不可能です。「TTLのみで自作する」と言った以上、本来ならばメモリもTTLで実装したかったのですが、これはかなり厳しい様です。 

更に詳細を調べたところ、過去に発売された物も含め74シリーズのRAM容量は最大でも64bitです(結果を以下の表にまとめました)。64bitのメモリで32kbit分を実装するにはメモリだけでも 512個購入し、気の遠くなるような配線作業をする必要があります。仮に512個入手できたとしても、私はそれを配線する気にはなれませんでした。

 型番   アドレスビット  データビット  総容量   備考
 7481  4bit(16番地)  1bit  16bit  
 7484  4bit(16番地)  1bit  16bit  7481のオープンコレクタ版
 7489  4bit(16番地)  4bit  64bit  オープンコレクタ 負論理
 74170  2bit(4番地)  2bit  16bit  ReadとWriteのアドレスを個別に指定可能
 74172  3bit(8番地)  2bitが2組  32bit  2bit*8のレジスタファイルが2組。3S出力
 74189  4bit(16番地)  4bit  64bit  7489の3S版
 74219  4bit(16番地)  4bit  64bit  7489の3S版(正論理)
 74289  4bit(16番地)  4bit  64bit  7489の改良版
 74319  4bit(16番地)  4bit  64bit  7489の正論理版
 74670  4bit(16番地)  2bit  16bit  74170の3S版

TC55257PLを使う

標準DIPサイズのTC55257PL-10TTLのみで大容量メモリを構築するのは実質不可能と悟り、「TTLのみでコンピュータを作る」と言ったもののメモリだけは勝手ながら例外とさせていただきました。

配線の手間を考慮し、1個で8bit*4K番地が実現できるSRAMをあらためて探したところ、形状に拘らなければ、大容量のSRAMは比較的容易に入手可能であることが判りました。

写真は実際に購入した品の一つを筆者撮影
背景は、今回の自作用に入手した「’98 RAM規格表」
(CQ出版社)ISBN4-7879-4390-4


例えば秋葉原の超有名店、A電子では 256KbitのSRAMが5個300円で販売されています(2011/2現在)。但し形状は1.27mmピッチのフラットです(型番はSRM2B256SLMX55)。
 機能的にはこれで十分なのですが、全てTTLは無理でも、せめて全て1/10インチDIPで作りたいという気持ち(注1)は捨て切れなかったので、更に他の店を当たりました。幸い、東芝製のTC55257PL-10(末尾の数字はアクセス速度により異なる)を取り扱っている店がありましたので幾つか購入しました。

TC55257PL-10のピン配置左図はTC55257のピン配置図です。アドレス線は12本必要なので、3本余りますが、同様のSRAMで更に小容量のものは入手困難でした。ここは「大は小を兼ねる」の理論でこれを使うことに決めました。アドレス線の余った3本は強制的にGNDに落とすこととします(注2)。

(注1)全て1/10インチDIPタイプのICで作ること自体は何の意味も無い単なる懐古趣味です。表面実装用の小さなICを、1/10インチDIPサイズにする変換基板も市販されていますので、1/10インチDIPに拘る理由は全くありません。

(注2)余ったアドレス線をレジスタ出力に接続し、何らかの命令でそのレジスタをセットできる様にするとバンク切り替えによるアドレス拡張が「簡単に」実現できます。しかし、このように「簡単だから」という理由で次々と仕様を追加するのはプロであれアマであれ大変危険な思想です。まずは動くものを作ることを第一目標とし、機能拡張はその後で改めて考えることが大事だと思います。


メインページに戻る