現在地

Toshiba TC51832


テーマ:

カテゴリー:

これはよくある256k (32k×8bit) SRAMかと思ったら、擬似SRAMでした。

TC51832SPL-10
Toshiba製のTC51832SPL-10という擬似SRAM、32k×8bit構成でアクセスタイムは100nsというものです。

以前μPD4168Cのところでも書きましたが、擬似SRAMとはDRAMのメモリセルとSRAMのインターフェイスを持つメモリデバイスのことです。大容量化に向いたDRAMメモリセルと扱いの容易なSRAMインターフェイスと、DRAMとSRAMのいいとこ取りをしたものですが、リフレッシュの必要性からは逃れることができません。

リフレッシュを行なう上で問題となるのはカウンタをどうするかといつ行うかということです。

DRAMのメモリセルは2次元に配置されており、あるアドレスをアクセスするとそのアドレスを含む列がリフレッシュされます。あるいはアクセスせずとも列を指定してリフレッシュする(アクセスするより若干時間が短くて済む)ことができます。そして一定時間内にすべての列をリフレッシュする必要があります。
通常のアクセスのみではすべての列がリフレッシュされる保証が無いため、列を順にスキャンする必要があります。

原理的には最近アクセスされていない列を探してリフレッシュすればよいのですが、アクセス履歴を管理するより順にスキャンするのが普通です。

このスキャンのためのカウンタはZ80 CPUのようにCPUやコントローラが持っている場合もあり、DRAM自身が持っている場合もあります。擬似SRAMは使用が簡単なことが売りなのでカウンタは内蔵されています。どちらも持っていない場合には何らかのカウンタを用意する必要があります。

次にリフレッシュをいつ実行するかという問題もあります。リフレッシュには一定の時間がかかり、一度始めてしまったら終わるまで通常のアクセスができなくなるからです。

  1. リフレッシュの間CPUを停止しておく
  2. アクセスが無いことがはっきりしているときに行なう
    例えば他のメモリへアクセスしている間はアクセスされるはずが無い
  3. リフレッシュ中にアクセスされてしまったらCPUを待たせる
  4. CPU(ソフトウェア)にリフレッシュさせる
    例えばアドレスの下位を列アドレスにしておいてタイマ割り込みで多数のNOPを実行させるなど
  5. 通常の動作ですべての列がアクセスされるよう工夫する
    グラフィックVRAMなどはうまく設計すれば表示動作だけでリフレッシュできてしまう

といったの方法のうち一つまたは複数を組み合わせて使用することになります。

参考文献・関連図書: 
TC51832P/SP/F/PL/SPL/FLデータシート, Toshiba.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。