CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

SRAM構成

i486CPUでのメモリ構成を考えています。Pentiumとちがいi486ではBUS SIZE CONTROLピン:BS8#,BS16#を使ってバスサイジングが可能であるとされていてそれならブートROMは1個にできるかもと考えていました。ところがマニュアルをよく見ると8、16ビット幅のメモリをつなぐにはバイトスワップロジックを介して然るべきデータバスにアライメントしなければならないようです。(Pentiumとのちがいは同時に与えなくてもよい・・ラッチが不要・・くらい)

これは680x0のようにDTACKの返し方でバスサイズが決まったり、29kのナローアクセスのようにデータをLSB詰めにできるわけではないということでこれはもう、素直に32ビット幅でメモリ構成してしまうのがよさそうです。

つまり8ビット幅メモリ×4か16ビット幅メモリ×2となります。さすがに4個並べはきついので16ビット幅となりますがそれでもさらに占有面積は小さくしたい、となるとパッケージも検討要ります

 

ワード幅のROMは普通DIP40ピン形状ですが、CLCC形状を選択すると圧倒的にスペースファクタが良くなります

(左:HN27C1024 64kword×16bit DG40パッケージ 、右:HN27C4096 256kword×16bit CC44パッケージ)

LCCという名称は紛らわしくて普通はPLCC(Plastic Leaded Chip Carrier)と同形状なのでこれはCLCC(Ceramic Leaded Chip Carrier)になりますが単にLCCというとセラミックの板に直接端子がパターニングされたLeadless Chip CarrierまたはLeadless Ceramic Chip Carrierメンコ)を指すようです

 

一方、SRAMですが手持ちのHM621664 64kword×16bit SOJ44パッケージ(IDT71016もピンコンパチ)を使う予定でしたが、ネットでTC554161 256kword×16bit TSOP54パッケージをみつけて一回り小さいのでこれでもいいかもしれません。この容量で電源5Vというのは希少です。ただピンピッチが0.8mmでピン間ライン通しがいけるかどうかです

メモリの型番は昔はどのメーカでもメーカプリフィックス+シリーズ型番+ビット容量が普通でだいたい型番でメモリサイズがわかりましたが、9ビット幅とか16ビット幅が出てきてワード容量も大きくなってくるとともうぐちゃぐちゃです。日立はメーカプリフィックス+シリーズ型番+ワード幅+ワード容量に代えてましたが過渡期にはHM62256HM62832が混在してたような

 

ところでメモリつながり、74ナンバなのに変な石つながりでこんなのが出てきました。7489  64-BIT RANDOM-ACCESS READ/WRITE MEMORY

この型番はテキサスのオリジナルSN74シリーズにもありますがこれはちょっと珍しいフェアチャイルド(ナショセミ)のMM74Cシリーズ、容量は64Mでも64kでもなくただの64ビット(16word×4bit)です

CPUとメモリがふんだんに使える現代でこんな小容量ではどうしようもないですが、CPUと独立してLEDをダイナミックドライブさせる使用例を見たことがあります。4bitを7セグデコードすれば16桁ドライブできるわけで例えばMAX7219とか8279のように使えるということです。

 

これの1つ次の型番7490(10進カウンタ)は超有名でこれと7447(7セグデコーダ)と組合わせた1桁カウンタは昔の電子工作の定番でした。ただ7490も今あらためてみると結構変なところがあって、まず電源ピンが対角ではないですね、あと「”9”リセット」というのはどういう状況で使うのでしょうか