Almost lost technologies

ここは昔の CPU を用いた工作記事を書くために用意しました。

DRAM 4416 を 4464 に交換できるか?

電脳伝説さんところで、M5M4416 を 4464 で置き換えられるかどうか、って話が出ていましたが、あの回路のままではまるでだめです。この件でデータシート眺めたので、一応結果だけメモっておきます。しかし、丁度世代の分かれ目なのであちこち面倒。

SBCZ80、回り道して完成 | 電脳伝説

まず、なぜだめなのかというと、純正の Zilog/SharpZ80 CPU はリフレッシュアドレスが7bit 分しか出ていないのにも関わらず、4464 は 8bit リフレッシュアドレスを要求するから。A7 の部分でリフレッシュがかからないです。
Z80 CPUのリフレッシュアドレスは A0-7 は基本的に R レジスタの中身が出てきますが、命令実行でカウントアップされる範囲は純正品はだいたい bit 0-6 で、違うものが出てくるのは例外的なものだけです。

CPU リフレッシュアドレス
純正Z80 R Reg 0-6
NEC uPD780 R Reg 0-6
東芝Z80CMOS R Reg 0-6
NEC uPD70008 R Reg 0-6
HD64180/Z180 独立レジスタ 8bit
NSC800 R Reg 0-7

Zilog のマニュアルだと、適当にタイマで割り込んで R レジスタの bit7 を反転してやれば 8-bit 分リフレッシュできる、とありますが、まぁ電脳伝説版だとタイマもないので出来ませんな。

で、全然手がないかというと、ヒドンリフレッシュを使うように回路を書き換える手があります。ヒドンリフレッシュのばあい、4464 系だと外部からリフレッシュアドレスを与える必要がないので、リフレッシュアドレスを無視できるため。ところが、4416 の場合メーカーによってサポートがてんでバラバラなんですな。以下わかった範囲で。

バイス ヒドンリフレッ
シュサポート
RAS Refreshで
アドレス要
Hidden Ref
でアドレス要
電脳伝説版 下の仮回路
TMS4416 なし 8ビット必要 - 動かない 動かない
M5M4416P あり 7ビット必要 7ビット必要 OK OK
HM48416AP なし 7ビット必要 - OK 動かない
MB81416 あり 7ビット必要 7ビット必要 OK OK
uPD41416C あり 7ビット必要 7ビット必要 OK OK
IMS2620 あり 8ビット必要 不要 動かない OK
各社4464 あり 8ビット必要 不要 動かない OK

4464 は、富士通、日立、NEC東芝、沖、Motorola, INMOS, Mosel, Micron は確認しました。

以下に電脳伝説版をそのまま置き換えるヒドンリフレッシュを用いた版を示しますが、未確認です。/RFSH↑ → /MREQ↓ の遷移時間が厳しいのと、見落としあるやも。

hidden-refresh版制御
hidden-refresh版制御