(57)【要約】【課題】ＣＰＵの連続最短データ転送の要請を満足しつつ、定期的なリフレッシュ動作を実現する。【解決手段】ＳＤＲＡＭインターフェース１８からＳＤＲＡＭ１２へ定期的に出されるリフレッシュ要求２０に先立って、ＡＨＢバスインターフェース１６への待機要求２２をアクティブにする。ＡＨＢバスインターフェース１４においては、ＣＰＵバス１０からアクセス要求がある時、待機要求がアクティブであればＣＰＵバス１０へ即時ウェイト要求を出してリフレッシュ処理が終了するまでアクセスを待たせる。また、データ転送処理中に最短規定ポイントまで処理が終わった時点で待機要求がアクティブであれば即時ウェイト要求を出してリフレッシュ処理が終わるまで処理を中断させる。【選択図】図１
2007250087.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵバスとダイナミックメモリの間に位置して、ＣＰＵバスからダイナミックメモリへのデータアクセスを制御し、ダイナミックメモリのリフレッシュを制御するダイナミックメモリコントローラであって、
ダイナミックメモリに対して定期的にリフレッシュ要求を発生するリフレッシュ制御部と、
該リフレッシュ要求よりも所定期間先行して開始する待機要求を発生する待機要求制御部と、
ＣＰＵバスからダイナミックメモリへのデータアクセス要求の発生時において、待機要求中であれば即時ウェイト要求を発生するウェイト制御部とを具備するダイナミックメモリコントローラ。
【請求項２】
前記ウェイト制御部はさらに、前記待機要求の発生時において、ＣＰＵバスからダイナミックメモリへのデータアクセス中であり、データアクセス開始から所定期間経過前であれば、データアクセス開始から該所定期間経過後においてウェイト要求を発生し、ＣＰＵバスからダイナミックメモリへのデータアクセス中であり、データアクセス開始から該所定期間経過後であれば即時ウェイト要求を発生する請求項１記載のダイナミックメモリコントローラ。
【請求項３】
前記ウェイト制御部はさらに、ＣＰＵバスからダイナミックメモリへのデータアクセス開始から所定期間経過後において、待機要求中であれば即時ウェイト要求を発生する請求項１記載のダイナミックメモリコントローラ。
【請求項４】
前記ウェイト制御部はさらに、リフレッシュ要求発生時においてＣＰＵバスからダイナミックメモリへのデータアクセス中であれば即時ウェイト要求を発生する請求項１記載のダイナミックメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵバスとダイナミックメモリの間に位置してＣＰＵバスからダイナミックメモリへのデータアクセスを制御し、ダイナミックメモリのリフレッシュを制御するダイナミックメモリコントローラに関する。
【背景技術】
【０００２】
例えばＡＨＢ（Advanced High-performance Bus）バスのようなＣＰＵバスと例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）のようなダイナミックメモリとの間に位置するダイナミックメモリコントローラは、ＣＰＵバスからダイナミックメモリへのデータアクセス動作の制御およびダイナミックメモリの定期的なリフレッシュ動作の制御を行う。
【０００３】
このデータアクセス動作とリフレッシュ動作はダイナミックメモリにおいて両立し得ないので、ダイナミックメモリへのデータアクセス中にリフレッシュ周期が重なった場合、データアクセス処理を中断するか、データアクセス処理の終了までリフレッシュ動作を延期させることになる。
【０００４】
ただし、リフレッシュ動作を延期させることにすると、リフレッシュ期間がバーストアクセスのアクセス長により不定期となることでダイナミックメモリのデータの損失を招くおそれがあることから、従来では、リフレッシュ動作を優先してＣＰＵバスに対してＷａｉｔ要求を出してデータアクセス動作を中断させることが行なわれている。
【０００５】
しかしながら、システムのパフォーマンスを保証するためにデータアクセス開始から連続最短データ（８バーストや１６バースト）の転送が終るまではデータ転送を止めることができないプロセッサが出現している。このようなプロセッサを接続する予定のＣＰＵバスに接続されるダイナミックメモリコントローラにあっては、データアクセス動作とリフレッシュ動作が重なったときにＷａｉｔ要求を出してデータアクセス動作を中断させることができない場合を生じる。
【特許文献１】特開２００４−５７８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって本発明の目的は、連続最短データ転送の要請を満足し、かつ、定期的なリフレッシュ動作を可能にするダイナミックメモリコントローラを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、ＣＰＵバスとダイナミックメモリの間に位置して、ＣＰＵバスからダイナミックメモリへのデータアクセスを制御し、ダイナミックメモリのリフレッシュを制御するダイナミックメモリコントローラであって、ダイナミックメモリに対して定期的にリフレッシュ要求を発生するリフレッシュ制御部と、該リフレッシュ要求よりも所定期間先行して開始する待機要求を発生する待機要求制御部と、ＣＰＵバスからダイナミックメモリへのデータアクセス要求の発生時において、待機要求中であれば即時ウェイト要求を発生するウェイト制御部とを具備するダイナミックメモリコントローラが提供される。
【０００８】
前記ウェイト制御部はさらに、例えば、前記待機要求の発生時において、ＣＰＵバスからダイナミックメモリへのデータアクセス中であり、データアクセス開始から所定期間経過前であれば、データアクセス開始から該所定期間経過後においてウェイト要求を発生し、ＣＰＵバスからダイナミックメモリへのデータアクセス中であり、データアクセス開始から該所定期間経過後であれば即時ウェイト要求を発生する。
【０００９】
或いは、前記ウェイト制御部はさらに、ＣＰＵバスからダイナミックメモリへのデータアクセス開始から所定期間経過後において、待機要求中であれば即時ウェイト要求を発生することでも良い。
或いはまた、前記ウェイト制御部はさらに、リフレッシュ要求発生時においてＣＰＵバスからダイナミックメモリへのデータアクセス中であれば即時ウェイト要求を発生することでも良い。
【発明の効果】
【００１０】
定期的に発生されるリフレッシュ要求に先行して発生される待機要求が出ている時にＣＰＵバスからのデータアクセス要求が発生したときにウェイト要求を発生してデータアクセスを許可しないことにより、連続最短データ転送の要請を満足しつつ定期的なリフレッシュ動作が可能となる。
【発明を実施するための最良の形態】
【００１１】
本発明を、ＡＨＢ（Advanced High-performance Bus）バスとＳＤＲＡＭ（Synchronous Dynamic RAM）との間に位置するＳＤＲＡＭコントローラを例にとって説明する。図１はＡＨＢバス１０とＳＤＲＡＭ１２の間に位置するＳＤＲＡＭコントローラ１４の概略構成を示す。ＳＤＲＡＭコントローラ１４は、ＡＨＢバス１０とインターフェースし、アドレス変換やウェイト制御を行うＡＨＢバスインターフェース１６と、ＳＤＲＡＭ１２とインターフェースし、ＳＤＲＡＭ１２の読み出し、書き込みおよびリフレッシュの制御を行うＳＤＲＡＭインターフェース１８とから構成される。
【００１２】
本発明によれば、前述のリフレッシュ制御部および待機要求制御部に相当するＳＤＲＡＭインターフェース１８はＳＤＲＡＭ１２に対して定期的に（例えば７．８μsec周期で）リフレッシュ要求２０を出すと共に、リフレッシュ要求に所定期間先行してアクティブになる待機要求２２をＡＨＢバスインターフェース１６に対して出す。この所定期間は、ＡＨＢバス１０に接続されるＣＰＵ（例えば富士通製マイクロプロセッサＦＲＵ）において規定されている最短規定バースト長（例えば８バースト、ただし１バーストは１〜数バイト）のデータの処理に要する時間に相当する。前述のウェイト制御部に相当するＡＨＢバスインターフェース１６は、この待機要求に基づき、ＡＨＢバス１０からのアクセス要求に対してウェイト要求２４を制御する。
【００１３】
図２はＳＤＲＡＭインターフェース１８内のリフレッシュ要求および待機要求を生成するため回路の一例を示す図であり、図３はそれらの信号を説明するタイミングチャートである。図２において、１周期７．８μsecのリフレッシュカウンタ３０のカウント値がデコーダ３２でデコードされ、カウント値Ｃ2のデコード出力がリフレッシュ要求となり、カウント値Ｃ1のデコード出力でセットされカウント値Ｃ3のデコード出力でリセットされるフリップフロップ３４の出力が待機要求となる。図３に示すように、７．８μsecごとに、リフレッシュカウンタ値Ｃ2でリフレッシュ処理が開始し、リフレッシュカウンタ値Ｃ3で終了する。待機要求はリフレッシュカウンタ値Ｃ2のタイミングよりも先行するＣ1のタイミングでアクティブとなる。Ｃ1からＣ2までの長さは前述の最短規定バースト長に対応しており、従って、図３に示すように、待機要求が有効になると同時にまたはその直前に始まったデータ処理は、リフレッシュ処理が開始する前に最短規定バースト長のデータを処理し終えることができる。従って、ＡＨＢバスインターフェース１６において、待機要求が有効である間に、アクセス要求があれば直ちにウェイト要求を出してリフレッシュ処理が終るまで処理を待たせ、待機要求が有効になる前にアクセスが開始される時はアクセスを許し、最短規定バースト長のデータを処理し終った時点で待機要求が有効であれば直ちにウェイト要求を出してリフレッシュ処理が終了するまで処理を中断させることにより、最短規定バースト長の要件を満足しつつ定期的なリフレッシュ処理を行うことが可能となる。
【００１４】
図４は上記に基づくＡＨＢバスインターフェース１６におけるウェイト要求の制御の処理のフローチャートである。図４において、ＡＨＢバス１０からＳＤＲＡＭ１２のアクセス要求があるとき（ステップ１０００）、ＳＤＲＡＭインターフェース１８から待機要求が既に出ているかどうかを調べ（ステップ１００２）、出ていなければ何もせず、待機要求が既に出ていればリフレッシュ処理の開始までに最短規定バースト長が確保できないのでＡＨＢバス１０へ即時にウェイト要求を出してリフレッシュ処理が終了するまでデータ処理を待たせる（ステップ１００４）。また、待機要求が新たに発生したとき（ステップ１００６）、ＡＨＢバス１０からＳＤＲＡＭ１２へアクセス中であるかどうかを調べアクセス中であれば、最短規定ポイントまでのデータ転送が終わっているかどうかを調べ（ステップ１０１０）、最短規定ポイントの前であれば最短規定ポイントまでのデータ転送が終わった後にウェイト要求を出す（ステップ１０１２）。最短規定ポイントまでのデータ転送が既に終わっていれば、即時にウェイト要求を出して以後のデータ転送をリフレッシュ処理が終わるまで中断させる（ステップ１０１４）。
【００１５】
図４に示した例は、アクセス要求発生時および待機要求発生時に着目した処理であるが、図５はアクセス要求発生時およびデータ処理が最短規定ポイントに到達した時に着目した処理を示す。まず、アクセス要求発生時には、図４の例と同様に、ＳＤＲＡＭインターフェース１８から待機要求が既に出ているか調べ（ステップ１１０２）、出ていればＡＨＢバス１０に即時にウェイト要求を出してリフレッシュ処理が終了するまでデータ処理を待たせる（ステップ１１０４）。また、データ処理が最短規定ポイントに到達したとき（ステップ１１０６）も同様に、待機要求が既に出ていれば（ステップ１１０８）即時にウェイト要求を出して処理を中断させる（ステップ１１１０）。
或いはまた、図６に示すようにリフレッシュ要求をＡＨＢバスインターフェース１６にも入力し、図７のフローチャートに示すように、図４および図５の例と同様に、アクセス要求発生時に（ステップ１２００）待機要求がアクティブであれば（ステップ１２０２）即時ウェイト要求を出してデータの処理を待たせ（ステップ１２０４）、従来と同様にリフレッシュ要求発生時に（ステップ１２０６）アクセス中であれば（ステップ１２０８）ウェイト要求を出してデータの処理を中断させるようにしても良い。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施例の概略構成を示すブロック図である。
【図２】図１のＳＤＲＡＭインターフェース内のリフレッシュ要求および待機要求を生成するための回路を示す回路図である。
【図３】リフレッシュ処理および待機要求のタイミングを示すタイミングチャートである。
【図４】図１のＡＨＢバスインターフェースにおけるウェイト要求生成処理第１の例のフローチャートである。
【図５】ウェイト要求生成処理の第２の例のフローチャートである。
【図６】ウェイト要求生成処理の第３の例における回路構成を示す図である。
【図７】ウェイト要求生成処理の第３の例のフローチャートである。
【図１】
2007250087.tif 000003
【図２】
2007250087.tif 000004
【図３】
2007250087.tif 000005
【図４】
2007250087.tif 000006
【図５】
2007250087.tif 000007
【図６】
2007250087.tif 000008
【図７】
2007250087.tif 000009