(57)【特許請求の範囲】
【請求項１】
複数のメモリバンクを含むメモリブロックと、
前記メモリブロックをアクセス可能とされる第１マスタと、
前記メモリブロックをアクセス可能とされる第２マスタと、
前記第１及び第２マスタからのアクセス要求を受けて前記メモリブロックにアクセス命令を出力するメモリ制御回路とを備え、
前記メモリ制御回路は、前記第１マスタからのアクセス要求があった場合には第１手順で前記複数のメモリバンクの一つにアクセスを行い、前記第２マスタからのアクセス要求があった場合には第２手順で前記複数のメモリバンクの一つにアクセスを行い、
前記複数のメモリバンクのそれぞれは、複数のワード線と複数のデータ線との交点に設けられ一つのＭＯＳトランジスタ及び一つのキャパシタをそれぞれに含む複数のメモリセルを含み、
前記アクセス要求が前記複数のメモリバンクの一つからのデータ読み出し要求である場合に、前記第１手順は選択されたメモリバンクを活性化状態にして読み出し動作を終了する命令を含み、前記第２手順は選択されたメモリバンクをプリチャージ状態にして読み出し動作を終了する命令を含み、
前記第１及び第２マスタのアクセス要求のそれぞれには、前記複数のメモリバンクの一つを指定するためのバンクアドレスと、前記複数のメモリバンクの一つの中の前記複数のワード線の一つを選択するためのロウアドレスと、前記アクセス要求が前記第１マスタ又は第２マスタのいずれかから行われたのかを示すマスタ識別情報とが含まれ、
前記メモリ制御回路は、前記アクセス要求があった場合に、前記バンクアドレスに対応するメモリバンクが前記活性状態と前記プリチャージ状態のいずれであるかを判定する第１判定回路と、前記バンクアドレスに対応するメモリバンクが活性状態にある場合に当該活性状態にあるメモリバンクの中で選択状態にある前記複数のワード線の一つが前記アクセス要求に含まれる前記ロウアドレスと一致するか否かを判定する第２判定回路と、前記第１及び第２マスタのそれぞれに対し、前記第１手順又は前記第２手順のいずれを行うかを示す情報を保持する制御モード切り替え回路とを含み、前記アクセス要求に含まれる前記マスタ識別情報及び前記制御モード切り替え回路に保持された情報に従って、前記第１手順又は前記第２手順のいずれを行うかを決定することを特徴とする情報処理装置。
【請求項２】
請求項１において、
前記複数のメモリバンクのそれぞれは、複数のデータラッチ回路を含み、
前記アクセス要求が前記複数のメモリバンクの一つからのデータ読み出し要求である場合に、前記第１手順は、選択されたメモリセルから読み出された所定のデータを前記複数のデータラッチ回路に保持して前記第１マスタに出力した後に前記複数のデータラッチ回路に対するデータの保持を持続させる動作を含み、前記第２手順は、選択されたメモリセルから読み出された所定のデータを前記複数のデータラッチ回路に保持して第２マスタに出力した後に前記複数のデータラッチ回路に保持されたデータをクリアする動作を含むことを特徴とする情報処理装置。
【請求項３】
請求項２において、
前記情報処理装置は、前記第１及び第２マスタと前記メモリ制御回路との間に挿入されたアクセス調停回路を更に有し、
前記アクセス調停回路は、前記第１マスタのアクセス要求と前記第２マスタのアクセス要求が競合する場合には、前記第２マスタのアクセス要求を優先して前記メモリ制御回路に伝達し、しかる後に前記第１マスタのアクセス要求を前記メモリ制御回路に伝達することを特徴とする情報処理装置。
【請求項４】
請求項３において、
前記第１マスタはＣＰＵであることを特徴とする情報処理装置。
【請求項５】
請求項１において、
前記第１マスタはＣＰＵであることを特徴とする情報処理装置。
【請求項６】
請求項１において、
前記アクセス要求がメモリバンクからのデータ読み出し要求である場合に、前記第１手順は、対応するメモリバンクの前記複数のワード線の一つを選択することで所定のデータを読み出して前記第１マスタに出力した後に当該選択されたワード線を選択された状態に保つ動作を含み、前記第２手順は、対応するメモリバンクの前記複数のワード線の一つを選択することで所定のデータを読み出して前記第２マスタに出力する動作と当該選択されたワード線を非選択状態とする動作とを含むことを特徴とする情報処理装置。
【請求項７】
請求項１において、
前記アクセス要求がメモリバンクからのデータ読み出し要求である場合に、前記第１手順は、対応するメモリバンクを活性化して所定のデータを前記第１マスタに出力した後にその対応するメモリバンクの活性状態を保つ動作を含み、前記第２手順は、対応するメモリバンクから所定のデータを前記第２マスタに出力した後にその対応するメモリバンクのプリチャージする動作を含むことを特徴とする情報処理装置。
【請求項８】
請求項１において、
前記情報処理装置はハードディスク装置を更に含み、
前記第１マスタはＣＰＵであり、前記第２マスタはハードディスク装置に結合されたハードディスクコントローラであることを特徴とする情報処理装置。
【請求項９】
請求項１において、
前記第１マスタはＣＰＵであり、前記第２マスタは前記メモリブロックのリフレッシュコントローラであることを特徴とする情報処理装置。
【発明の詳細な説明】
技術分野
この発明は、複数のマスタに共有される複数のメモリバンクを有するメモリブロックを含む情報処理装置に関し、これら複数のマスタからのアクセスを受けメモリブロックを制御するメモリ制御回路を含む半導体集積回路に関する。
背景技術
この明細書で参照される文献は以下の通りであり以下文献はその文献番号によって参照される。［文献１］：特開平０５−１８１７４３号公報。
［文献２］：特開平１０−２２８４１３号公報。
典型的な情報処理装置として、一つのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びＤＲＡＭ制御回路を介してＣＰＵに接続され所望のデータを記憶するＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含むものが知られている。ＤＲＡＭからデータを読み出す場合、ＣＰＵは読み出し命令をＤＲＡＭ制御回路に送り、ＤＲＡＭ制御回路はこの命令をデコードしＤＲＡＭから所望のデータの読み出し制御を行なう。以下周知のシンクロナスＤＲＡＭ（ＳＤＲＡＭ）のコマンド体系に沿って動作を説明する。ＤＲＡＭ制御回路からのＤＲＡＭの読み出し制御では、先ず最初に、バンクアクティブ命令とロウアドレスをＤＲＡＭへ送る（ＡＣＴＶ）。この命令と、ロウアドレスによって、ＤＲＡＭ内部のワード線が選択され、このワード線上の一行分のデータが、センスアンプに転送及び増幅され、保持される。次に、リード命令とカラムアドレスを送る（ＲＥＡＤ）。この命令とカラムアドレスによって、カラムスイッチが選択され、センスアンプで保持されているデータが読み出される。ＤＲＡＭにおいてはワード線の選択動作には比較的長い時間を必要とするが、いったん、ワード線上のデータをセンスアンプへ保持してしまえば、同一ワード線上のアクセス、つまり、同一頁内へのアクセスが生じると、データを短時間で読み出すことができる。また、現在、選択されているワード線とは異なるワード線上からデータを読み出す場合、つまり異なる頁へのアクセスが生じると、いったん、現在、選択されているワード線を非選択にし、新しいワード線を選択する必要があるため、データの読み出しに、長い時間がかかってしまう。
さて、情報処理装置においては、ＤＲＡＭをアクセスする主体は、先に述べたＣＰＵだけに限らず、ハードディスクコントローラ、ＭＰＥＧデコーダー、グラフィックス処理回路等が含まれることがある。ＣＰＵを含めてハードディスクコントローラ等は、ＤＲＡＭをアクセスする主体となりうるためそれぞれはマスタと呼ばれる。複数のマスタが含まれる情報処理装置を示す文献として［文献１］及び［文献２］が知られている。［文献１］は、複数のマスタ（ＣＰＵと入出力コントローラＩＯＣ）が複数のメモリバンクにアクセスする際の効率を上げるために、特定のマスタに特定のメモリバンクを割り当てる技術について記載する。［文献２］は、複数のマスタと複数のメモリバンクとの間のアクセスの競合を調停するために複数のマスタ毎にメモリバンクとの間に読み出し／書込のためのデータを保持するためのバッファを設ける技術が記載されている。
本願発明者等は複数のマスタと複数のメモリバンクを持つシステムにおけるアクセスの効率化を図るために、アクセスの競合の調停ばかりでなくマスタの性格に応じた制御の重要性に着目した。即ち、ＣＰＵからＤＲＡＭに対するアクセスは、ランダムアクセスであっても、局所性がある。つまりＣＰＵのアクセスには、現在アクセスしたアドレスやその近くのアドレスは、近い将来に、頻繁に、再度アクセスされる可能性が高いという性質がある。したがって、ＣＰＵからのＤＲＡＭへのアクセスは同一頁内へ頻繁に生じることになる。
これに対して、ハードディスクコントローラのアクセスアドレスは、局所性が少ない。ハードディスクにＤＲＡＭ内のデータを保存する場合、キーボードやマウスからの、割り込みによって、ハードディスクコントローラからＤＲＡＭへアクセスが生じ、ＤＲＡＭ内のデータを読み出し、ハードディスク内に保存する。いったんＤＲＡＭ内のデータを保存してしまえば、キーボードや、マウスからの割り込みが、発生しない限り、再度、ＤＲＡＭからデータを読み出す必要はない。したがって、近い将来、ハードディスクコントローラが、再度、同一のアドレスに頻繁にアクセスし、データを読み出す可能性は極めて小さい。
また、ＭＰＥＧデコーダは、ＣＤ−ＲＯＭなどに圧縮されたデータを、一定の時間内に順々に伸長しＤＲＡＭへ書込む。いったん、圧縮されたデータが伸長されてしまえば、再度、同じデータを伸長する必要はないため、ＭＰＥＧデコーダー自身が、近い将来、再度、頻繁に同じアドレスにアクセスする可能性は極めて小さい。
このように、ＤＲＡＭを共有する複数のマスタからのアクセスには、それぞれ特徴があり、単純なＤＲＡＭアクセス制御では、これらのアクセスに対応しきれない。ＣＰＵ以外のマスタが、すでにＣＰＵによって選択されているワード線とは異なるワード線にアクセスした場合、本来、同一頁内であった、その後の、ＣＰＵからのアクセスが、異なる頁へのアクセスとなってしまい、ＤＲＡＭからのデータの読み出し及びＤＲＡＭへのデータの書込みに長い時間がかかってしまうという課題があることが見いだされた。そこで、本発明の目的の１つは、複数のマスタからのアクセス対するＤＲＡＭの読み出し及び書込みを高速化することである。
発明の開示
本願発明の代表的な手段を示せば、以下の通りである。メモリをアクセスするマスタを識別することにより、マスタに対応し、メモリを制御するための制御モードの切り替えを行ない、メモリを制御する。より具体的には、それぞれのマスタの識別信号から、アクセスの最初にメモリの頁を閉じるか、閉じないかの切り替え動作を行い、これにしたがって、アクセスの最後に頁の開閉動作をおこない、メモリを制御する。メモリがＤＲＡＭである場合に、頁とは特定のメモリバンクにおける複数のワード線の一つを意味し、頁開とは特定のメモリバンクのワード線を選択状態にしたまま１頁分のデータをセンスアンプに保持（バンク活性状態）しておくことに対応する。一方、頁閉とはメモリバンク内のワード線を非選択状態にしておいて、当該メモリバンクに対するワード線の選択要求があったときどのワード線でもすぐに選択できるようにしておくことに対応する（バンクプリチャージ状態）。
アクセスの局所性のあるマスタのアクセス要求があったときは頁開の状態でアクセスを終了しておくと次のアクセスにおいても同じ頁をアクセスする確率が高いため頁に対するキャッシュヒット効果が現れやすくアクセスが高速化される。一方、アクセスの局所性が小さいマスタの場合には頁閉でアクセスを終了する。このようなマスタの場合、次のアクセスは同じ頁でなく異なる頁である確率が高いため頁開としておくと一旦その頁を閉じて別の頁を開き直す分時間がかかってしまうためである。従ってキャッシュヒット効果が期待できないマスタに対しては頁閉でアクセスを終了することで全体のアクセスは効率化される。
発明を実施するための最良の形態
以下、本発明の実施例について図面を用いて詳細に説明する。実施例の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。
＜実施例１＞
図２は本願を用いた情報処理装置の基本構成図である。これは、第１のマスタであるＣＰＵ４と、第２のマスタであるハードディスクコントローラ（ＨＤＣ）５と、ＣＰＵとＨＤＣからのアクセスを調停するアクセス調停回路（ＡＲＢ）２と、複数のバンクから構成されるメモリブロック（ＭＥＭ）３と、ＡＲＢからの信号によりＭＥＭを制御するメモリ制御回路（ＭＣＴＬ）１と、ハードディスク（ＨＤ）５０と、メモリブロック３のリフレッシュ動作を制御するリフレッシュ制御回路（ＲＦＣ）６で構成される。ＲＦＣは第３のマスタとなる。
ハードディスクコントローラＨＤＣはハードディスク５０とメモリブロックＭＥＭとの間でデータを転送を制御する。ＭＥＭは第０メモリマクロ３Ｍ０から第３メモリマクロ３Ｍ３の４つのメモリマクロで構成されている。各メモリマクロは４つのメモリバンクから構成され、各メモリバンクにはセンスアンプが設けられている。また、この情報処理装置はクロックＣＬＫに同期して動作する。
ＣＰＵは、特に制限はないが、３２ビットのアドレス信号によりアドレス空間を管理することができ、メモリブロックＭＥＭは、ＣＰＵのアドレス信号の下位１８ビットのアドレス空間にマッピングされている。
情報処理装置の動作を説明する前に、図３に示されている各マスタの命令セットを説明する。図３（ａ）はＣＰＵの命令セットを表しており、ＣＰＵからアクセス調停回路ＡＲＢへの命令はＣＰＵ命令信号ＲＷ０［０］〜ＲＷ０［３］（図２のＲＷ０（４ｂｉｔ）に対応する）によって表されれる。ロード命令ＬＤは、ＤＲＡＭのデータを読み出す命令である。ストア命令ＳＴはＤＲＡＭにデータを書込む命令である。セットレジスタＳＲは、後述する図１のＤＲＡＭ制御回路１の中のシフトレジスタ１ａ、１ｂ、１ｃにデータを設定する命令である。リーザーブＲＶは、新しい命令を追加するための予備命令である。ノーオペレーションＮＯＰは、何もしない命令である。
図３（ｂ）はハードディスクコントローラＨＤＣの命令セットを表しており、ＨＤＣ命令信号ＲＷ１［０］〜ＲＷ０「２］（図２のＲＷ１（２ｂｉｔ）に対応する）によって表されれる。ＬＤ、ＳＴ、ＮＯＰは図３（ａ）で説明したものと同様の役割の命令である。
図３（ｃ）はアクセス調停回路ＡＲＢの命令セットを表しており、ＡＲＢからメモリ制御回路ＭＣＴＬへの命令はＡＲＢ命令信号ＩＣＯＭ［０］〜ＩＣＯＭ［３］（図２のＩＣＯＭ（４ｂｉｔ）に対応する）によって表されれる。Ｒ、Ｗはそれぞれ読み出し命令と書込命令であり、ＣＰＵやＨＤＣのＬＤやＳＴに対応して発行される。アクセスエンド命令ＥＯＡは、アクセスの終了を示す命令である。リフレッシュ命令ＲＦは、ＭＥＭのリフレッシュ動作をさせる命令である。ＲＦは、第３のマスタであるリフレッシュ制御回路ＲＦＣのリフレッシュ要求に応じて発行される。ＳＲ、ＮＯＰは図３（ａ）で既に説明した命令と同様の役割の命令である。
図３（ｄ）はメモリ制御回路ＭＣＴＬの命令セットを表しており、ＭＣＴＬからＭＥＭへの命令はＭＣＴＬ命令信号ＭＣＯＭ［０］〜ＭＣＯＭ［２］（図２のＭＣＯＭ（３ｂｉｔ）に対応する）によって表されれる。バンクアクティブ命令ＢＡは、メモリブロックＭＥＭの特定のメモリバンクのワード線を選択する命令である。カラムリード命令ＲＤはＭＥＭの特定のメモリバンクの選択されたワード線上のデータを読み出す命令である。カラムライト命令ＷＴはＭＥＭの選択されたワード線上のデータを書込む命令である。プリチャージ命令ＰＲＥは選択されたワード線を非選択にし、頁を閉じる命令である。ＮＯＰは図３（ａ）と同様の何もしないことを意味する命令である。
次に、図２の情報処理装置の動作を説明する。ＣＰＵへデータをロードする時は、アクセス要求信号ＲＥＱ０をＬｏｗにする。アクセス要求と同時に、ＲＷ０からロード命令、ＭＡＤ０からＣＰＵの識別信号、ＡＤＤ０からアドレスがアクセス調停回路ＡＲＢに出力される。
ハードディスクコントローラＨＤＣは内部に５１２Ｂｙｔｅのバッファを持っており、このバッファにメモリブロックＭＥＭのデータをロードする時は、アクセス要求信号ＲＥＱ１をＬｏｗにする。このアクセス要求と同時に、ＲＷ１からロード命令、ＭＡＤ１からＨＤＣの識別信号、ＡＤＤ１からアドレスがＡＲＢに出力される。
メモリブロックＭＥＭ内に保持されているのデータは、ＤＲＡＭを用いた場合にはリフレッシュ動作を行なわないと、消えてしまうという性質があり、定期的に、リフレッシュ制御回路ＲＦＣからリフレッシュの要求を行う必要がある。ＲＦＣからリフレッジュの要求を行う時は、ＲＥＧ２をＬｏｗにし、同時にＲＷ２からリフレッシュ命令、ＭＡＤ２からＲＦＣの識別信号、ＡＤＤ２からアドレスＡＲＢに出力される。
アクセス調停回路ＡＲＢではＣＰＵからのアクセス要求と、ＨＤＣからのアクセス要求と、ＲＦＣからのアクセス要求があったかを監視しており、それぞれのマスタからのアクセス要求に対して優先順位をつけて、１つのマスタからのアクセスを許可する。優先順位については、情報処理装置を構成するマスタの種類と数によって、変えることができる。この場合は、ＲＦＣからのアクセスはリフレッシュの制御であるため第１優先順位とする。また、ＨＤＣからのアクセスは割り込み処理であるため第２優先順位とし、ＣＰＵからのアクセスは最後の第３優先順位とする。
アクセス調停回路ＡＲＢがＡＣＫ０をＬｏｗにしＣＰＵからのロード命令のアクセス要求を許可すると、ＩＭＡＤからＣＰＵの識別信号、ＩＣＯＭからリード命令、ＩＡＤＤからアドレスをメモリ制御回路ＭＣＴＬに出力する。ＭＣＴＬは、ＡＲＢからの信号を受けて、ＭＥＭを制御する。
図４は、本発明で用いられるメモリブロックＭＥＭの構成例である。３Ｍ０、３Ｍ１、３Ｍ２、３Ｍ３はそれぞれメモリマクロを示しており、各メモリマクロは３Ｂ０、３Ｂ１、３Ｂ２、３Ｂ３の４つのメモリバンクから構成されている。この例では、４つのマクロ間でデータ入力バッファ回路ＩＢＵＦと出力バッファ回路ＯＢＵＦを共用し、特に制限されないが１つのチップ上に集積されたものを想定した。しかし、メモリマクロのそれぞれに周知のＳＤＲＡＭ等のコマンドを受けて動作するメモリとし、それらを複数個使用したメモリモジュールによってもＭＥＭは構成できる。図５に、１つのメモリバンク内のＤＲＡＭの構成例を示し、図６はＭＥＭの動作を示す。
以下、図４から図６を用いてメモリブロックＭＥＭに対するアクセス動作の例を説明する。ＭＣＯＭからバンクアクティブ命令ＢＡとＭＡＤＤからロウアドレスＲＷ０（ＭＡＤＤ［１３：４］の１０ビット）とマクロアドレスＭＣ０（ＭＡＤＤ［１：０］の２ビット）、パンクアドレスＢＫ０（ＭＡＤＤ［３：２］の２ビット）が入力されと、マクロアドレスＭＣ０とパンクアドレスＢＫ０により、１６つのバンクのうちの１つのバンクが選択され、ロウアドレスＲＷ０によって、選択されたメモリバンク内のロウデコーダ３０１が１０９６のワード線の中の１つのワード線ＷＬを選択し、４０９６ビットの１頁分のメモリセルのデータが、４０９６つのビット線対（ＢＬ０−０とＢＬＢ０−０からＢＬ２５６−１５とＢＬＢ２５６−１５）を通りセンスアンプ３０３に転送、保持される。センスアンプは２個のＣＭＯＳインバータが交差結合されたラッチ形のセンスアンプとされ、増幅とラッチ機能とを持つ。この意味でセンスアンプはデータラッチ回路と捕らえることができる。センスアンプは上記のラッチ形センスアンプに限定左ずセンスアンプの増幅部とラッチ部とを分離する回路としてもよい。このセンスアンプに保持されたデータを読み出すために、ＭＣＯＭからリード命令ＲＤとＭＡＤＤからカラムアドレスＣＡ０（ＭＡＤＤ［７：４］の４ビット）とバンクアクティブ命令時のマクロアドレスＭＣ０とバンクアドレスＢＫ０と同一のマクロアドレスＭＣ０とバンクアドレスＢＫ０を入力する。マクロアドレスＭＣ０とバンクアドレスＢＫ０により、１６つのバンクのうちの１つのバンクが選択され、カラムアドレスＣＡ０によって、カラムデコーダー３００は１つのカラムアドレスを選択する。選択されたカラムアドレスによって、カラムスイッチ群３０４の中の４０９６個のカラムスイッチの内、２５６個のカラムスイッチが選択され、センスアンプ３０３の中の２５６ビットのデータがグローバルビット線ＧＢＬに出力され、出力バッファ３０６を通り、ＭＥＭの外部へ出力される。その後、プリチャージ信号ＰＲＥとバンクアドレスＢＫ０によって、頁を閉じる。このような、通常の動作では、メモリ制御回路１がＣＰＵから命令を受付け、ＭＥＭからデータが出力されるまでのレイテンシは５となる。
図１に本発明のメモリ制御回路ＭＣＴＬを示す。この回路は、メモリブロックＭＥＭをアクセスするマスタを識別することにより、マスタに対応した、ＭＥＭを制御するための制御モードの切り替えを、マスタからのアクセスが生じた際に、動的に行なう制御モード切り替え回路（ＣＲＥＧ）１０１を含む。また、各メモリバンク毎に、すでに選択されているロウアドレスと現在生じたアクセスのロウアドレスが一致したかを判定する頁内アクセス判定回路（ＰＨ）１０２と、ＭＥＭに対して制御命令を発生する命令発生回路（又はコマンド発生回路）（ＣＧＥＮ）１０３と、アドレスを発生するアドレス発生回路（ＡＧＥＮ）１０４を含む。さらに、入出力データを制御する入出力データ制御回路（ＤＱＢ）１０５を含む。
制御モード切り替え回路ＣＲＥＧはシフトレジスタ１ａと１ｂと１ｃと１ｄと、マスタ識別信号ＩＭＡＤにしたがって、シフトレジスタ１ａからの出力信号１ｅと、レジスタ１ｂからの出力信号１ｆと、レジスタ１ｃからの出力信号１ｇと、レジスタ１ｄからの出力信号１ｈとを選択する選択回路１ｉと、選択回路１ｉの出力信号１ｊをラッチするラッチ回路１ｋから構成される。シフトレジスタ１ａ〜１ｄは、それぞれ、制御モードをマスタ毎に選択するために、必要なフラグ信号を設定するシフトレジスタである。１ａはＣＰＵのフラグ信号を、１ｂはハードディスクコントローラＨＤＣのフラグ信号を、１ｃはリフレッシュ制御回路ＲＦＣのフラグ信号を１ｄは、その他のマスタのフラグ信号を設定することができる。
図７にＣＲＥＧのシフトレジス１ａ〜１ｄとフラグを設定する動作を示す。具体的な例として、ＣＰＵのフラグ信号Ｈｉｇｈをシフトレジスタ１ａへ、ＨＤＣのフラグ信号Ｌｏｗをシフトレジスタ１ｂへ、ＲＦＣのフラグ信号Ｌｏｗをシフトレジスタ１ｃへ、その他のマスタのフラグ信号Ｌｏｗをシフトレジスタ１ｄへ設定する場合の動作を示す。ＣＰＵから、セットレジスタ命令ＳＲが発行され、ＡＲＢがアクセスを許可すると、ＩＣＯＭを通じてセットレジスタ命令ＳＲがメモリ制御回路１に入力される。セットレジスタ命令では図３に示したように、ＩＣＯＭの０ビット目の信号がシフトレジスタに設定されるフラグデータＦＬＡＧ＿Ｄとなる。
ＩＣＯＭから連続４回のセットレジスタ命令が発行され、１回目のセットレジスタ命令では、フラグデータをＨｉｇｈにし、２回目のセットレジスタ命令ではＬｏｗにし、３回目のセットレジスタ命令ではＬｏｗにし、４回目のセットレジスタ命令ではＬｏｗにし、メモリ制御回路へ入力するとと、１回目のセットレジスタ命令クロックの立ち上がりで、１ｄにＨｉｇｈが設定される。次のクロックの立ち上がりで、１ｄのデータが１ｃに転送され、１ｃはＨｉｇｈが設定され、１ｄにはＬｏｗが設定される、次のクロックの立ち上がりで１ｃデータが１ｂに転送され、１ｂはＨｉｇｈに設定され、１ｄのデータが１ｃに転送され、１ｃはＬｏｗに設定され、１ａにはＬｏｗが設定される。このように、フラグデータをシフトされることにより、最終的に、１ａにはＨｉｇｈ、１ｂにはＬｏｗ、１ｃにはＬｏｗ、１ｄにはＬｏｗが設定される。
図８に、制御モード切り替え回路ＣＲＥＧの動作を示すフローチャートを示す。この図で４角で囲まれたＩＮＰＵＴ  Ｍ＿ＩＤはマスタ識別番号の入力動作を意味し、ＷＡＩＴ  Ｍ＿ＩＤはマスター識別番号の入力待ち動作を意味する。ＣＰＵの識別番号を０、ハードディスクコントローラＨＤＣの識別番号を１、リフレッシュ制御回路ＲＦＣの識別番号を２、その他のマスタの識別番号を３とし、説明を行なう。ＣＰＵからのアクセスがアクセス調停回路に許可され、ＣＰＵ識別信号０がＩＭＡＤを通じてメモリ制御回路ＭＣＴＬに入力すると、シフトレジスタ１ａのフラグ信号Ｈｉｇｈが出力信号１ｅを通り、選択回路１ｉに選択され、選択回路１ｉの出力信号１ｊに出力され、ラッチ回路１ｋにＨｉｇｈがラッチされ、その出力ＬＭＳがＨｉｇｈとなる。
ＨＤＣからのアクセスがＡＲＢに許可され、ＨＤＣ識別信号１がＩＭＡＤを通じてＭＣＴＬに入力すると、シフトレジスタ１ｂのフラグ信号Ｌｏｗが出力信号１ｆを通り、選択回路１１に選択され、選択回路１ｉの出力信号１ｊに出力され、ラッチ回路１ｋにＬｏｗがラッチされ、その出力ＬＭＳがＬｏｗとなる。ＲＦＣからのアクセスがアクセス調停回路に許可され、ＲＦＣの識別信号２がＩＭＡＤを通じてＭＣＴＬに入力すると、シフトレジスタ１ｃのラグ信号Ｌｏｗが出力信号１ｇを通り、選択回路１ｉに選択され、選択回路１ｉの出力信号１ｊに出力され、ラッチ回路１ｋにＬｏｗがラッチされ、その出力ＬＭＳがＬｏｗとなる。
シフトレジスター１ａと１ｂと１ｃ、１ｄの値は、専用の設定端子を外部に設けて、設定することもできる。また、シフトレジスター１ａと１ｂと１ｃと１ｄの値は、シリコン上に集積する際に、金属層や拡散層で、電源や、グランドに接続し、設定することもできる。いわゆるメタルオプションである。
次に、頁内アクセス判定回路ＰＨの動作を説明する。図９に、ＰＨで設定されている各メモリマクロの番号（ＭＡＣＲＯ  ＮＯ．）の各メモリバンクバンク番号（ＢＡＮＫ  ＮＯ．）に対応したロウアドレス選択ＰＳ信号（ＰＳ）とロウアドレス（ＲＯＷ＿ＡＤＤ）を示す。ロウアドレス選択信号ＰＳがＬｏｗの時は、そのバンクのロウアドレスが選択されていないことを示し、Ｈｉｇｈの時は、そのバンクのロウアドレスが、選択されていることを示す。ＨＴは選択されているロウアドレスに対して、現在のアクセスが、生じたか否か、つまり、同一頁内へのアクセスかどうかを示す頁内アクセス判定信号である。ＨＴ頁内アクセス判定信号がＨｉｇｈの時、選択されているロウアドレスと同一頁内のアクセスを示し、Ｌｏｗの時は、選択されているロウアドレスとは異なる頁のアクセスあるいは、ロウアドレスが選択されていないアクセスであることを示す。ＨＴがＬｏｗの時は、現在のアクセスによって、選択された１つのバンクの、すでに設定されているロウアドレスが、現在のアクセスでのロウアドレスへ常に入れ替わる。ＨＴがＨｉｇｈの時は、ロウアドレスの入れ替わりは起きない。
ＩＡＤＤは１８ビットのアドレスで構成され、特に制限はされないが、図２の実施例の場合、最上位の１７ビット目から８ビット目までをＭＥＭのロウアドレス、７ビット目から６ビット目までをＭＥＭのメモリバンクアドレス、５ビット目から４ビット目までをＭＥＭのメモリマクロアドレス、３ビット目から０ビット目までをＭＥＭのカラムアドレスとする。
ＩＡＤＤアドレスの中のメモリマクロアドレス、メモリバンクアドレスとロウアドレスが頁内アクセス判定回路ＰＨに入力する。ＰＨでは、先ず、メモリマクロアドレスとメモリバンクアドレスで選択された１つのメモリバンクに対応したＰＳ信号を命令発生回路ＣＧＥＮとアドレス発生回路ＡＧＥＮに出力する。ＰＳ信号がＬｏｗの場合、次のクロックの立ち上がりで１にする。ＩＣＯＭからアクセスエンド命令が入力し、ＬＭＳが０の時、選択されたＰＳ信号を０にする。
次に頁内アクセス判定信号ＨＴ信号の動作について説明する。ＩＡＤＤアドレスによって選択された１つのメモリバンクのＰＳ信号がＬｏｗの場合は、ＨＴをＬｏｗにする。ＰＳ信号がＨｉｇｈの場合は、メモリマクロアドレス及びメモリバンクアドレスで選択された１つのバンクのロウアドレスと現在のアクセスのロウアドレスが一致すればＨＴをＨｉｇｈにし、一致しなければＨＴをＬｏｗにする。ＨＴ信号は命令発生回路ＣＧＥＮとアドレス発生回路ＡＧＥＮに出力される。
図１０にはリード命令が入力した際の、命令発生回路ＣＧＥＮとアドレス発生回路ＡＧＥＮの動作の一例を示す。ＣＧＥＮとＡＧＥＮにはＩＣＯＭからリード命令と、ＩＡＤＤからアドレス、頁内アクセス判定回路１０２から頁内アクセス判定信号ＨＴとロウアドレス選択信号ＰＳと、制御モード切り替え回路１０１からＬＭＳが入力される。
ロウアドレス選択信号ＰＳがＬｏｗの時は、通常のアクセスで、ＣＧＥＮとＡＧＥＮは、先ず、ロウ動作を行なう。具体的には、ＣＧＥＮは、先ずバンクアクティブ命令ＢＡを、ＡＧＥＮはロウアドレスとメモリマクロアドレスとメモリバンクアドレスをＭＥＭに対して出力する。２サイクル後、カラム動作を行なう。具体的には、ＣＧＥＮはリード命令ＲＤを、ＡＧＥＮはカラムアドレスとメモリマクロアドレスとメモリバンクアドレスをＭＥＭに対して出力し、データを読み出す。
ロウアドレス選択信号ＰＳがＨｉｇｈで、頁内アクセス判定回路信号ＨＴがＬｏｗの時は、現在のアクセスが、すでに選択されているロウアドレスと異なったロウアドレスへのアクセス、つまり異なる頁へのアクセスを示す。異なる頁へのアクセスでは、まず、プリチャージ動作を行い、以前に選択されたロウアドレスを非選択にする、次にロウ動作を行い、新しいロウアドレスを選択する。２サイクル後、カラム動作を行ない、データを読み出す。
ロウアドレス選択信号ＰＳがＨｉｇｈで、頁内アクセス判定回路信号ＨＴがＨｉｇｈの時は、現在のアクセスは、すでに選択されているロウアドレス内のアクセス、つまり同一頁内のアクセスを示す。このときは、ロウ動作は必要なく、カラム動作を行ない、データを読み出す。
通常アクセスと異なる頁のアクセスに対して、カラム動作終了後、アクセスの終了を示すＥＯＡがＩＣＯＭより入力された時、ＬＭＳがＬｏｗの場合、プリチャージ動作を行い、ＭＥＭのメモリバンクの頁を閉じる。ＬＭＳがｈｉｇｈの場合は、プリチャージ動作を行なわず、頁を開いた状態で、次のアクセスをまつ。同一頁内アクセスの場合、頁を開いた状態で次のアクセスを待つ。
図１１にリフレッシュ命令が入力した際の、命令発生回路ＣＧＥＮとアドレス発生回路ＡＧＥＮの動作の一例を示す。ＣＧＥＮとＡＧＥＮにはＩＣＯＭからリフレッシュ命令と、ＩＡＤＤからアドレス、頁内アクセス判定回路１０２から頁内アクセス判定信号ＨＴとロウアドレス選択信号ＰＳと、制御モード切り替え回路１０１からＬＭＳが入力される。
ロウアドレス選択信号ＰＳがＬｏｗの時は、通常のアクセスで、ＣＧＥＮとＡＧＥＮは、先ず、ロウ動作を行なう。具体的には、ＣＧＥＮは、先ずバンクアクティブ命令ＢＡを、ＡＧＥＮはロウアドレスとメモリマクロアドレスとメモリバンクアドレスをＭＥＭに対して出力する。
ロウアドレス選択信号ＰＳがＨｉｇｈで、頁内アクセス判定回路信号ＨＴがＬｏｗの時は、現在のアクセスが、すでに選択されているロウアドレスと異なったロウアドレスへのアクセス、つまり異なる頁へのアクセスを示す。異なる頁へのアクセスでは、まず、プリチャージ動作を行い、以前に選択されたロウアドレスを非選択にする、次にロウ動作を行い、新しいロウアドレスを選択する。
ロウアドレス選択信号ＰＳがＨｉｇｈで、頁内アクセス判定回路信号ＨＴがＨｉｇｈの時は、現在のアクセスは、すでに選択されているロウアドレス内のアクセス、つまり同一頁内のアクセスを示す。このときは、何もしない。
通常アクセスと異なる頁のアクセスに対して、ロウ動作終了後、アクセスの終了を示すＥＯＡがＩＣＯＭより入力された時、ＬＭＳがＬｏｗの場合、プリチャージ動作を行い、ＭＥＭのメモリバンクの頁を閉じる。ＬＭＳがｈｉｇｈの場合は、プリチャージ動作を行なわず、頁を開いた状態で、次のアクセスをまつ。
上記に説明した、同一頁アクセス、通常アクセス、異なる頁へのアクセス時でのレイテンシを図１２に示す。同一頁のアクセスの場合、リードレイテンシは３、ライトレイテンシは１、通常アクセスの場合、リードレイテンシは５、ライトレイテンシは３、異なる頁へのアクセスの場合、リードレイテンシーは７、ライトレイテンシは５となる。
図１３に電源投入後（Ｔ１（ＩＮＩＴ））にＣＰＵからのアクセス（Ｔ２（ＣＰＵ））、ハードディスクコントローラＨＤＣからのアクセス（Ｔ３（ＨＤＣ））、更にＣＰＵからのアクセス（Ｔ４（ＣＰＵ））が生じた場合の具体的動作を示す。Ｔ１（ＩＮＩＴ）期間のＰＷは電源の投入と電源投入後の初期動作を示している。Ｔ２（ＣＰＵ）期間のＣ０からＣｍは、それぞれがＣＰＵからの１つのアクセスであることを示し、Ｔ３（ＨＤＣ）期間のＨ０はＨＤＣからの１つのアクセスであることを示す。
以上説明してきた様に、本発明によって、ＣＰＵからのアクセスは、アクセスの終了時にＭＥＭのワード線を選択したまま、つまり頁を開いたままにし、ＨＤＣとリフレッシュ制御回路ＭＣＴＬからのアクセスは、そのアクセスの終了時に頁を閉じる様に、シフトレジスタ１ａ、１ｂ、１ｃ、１ｄにフラグデータを設定した。その、動作の具体例を図１４から図１７に示す。図１４〜１７において、ＩＭＡＤはマスタの識別番号であり、ＩＣＯＭは図３（ｃ）の命令に対応する。ここで、ＮＯＰ命令は省略してＮと記載している。また、ＩＡＤＤはアクセスアドレスを表し、ＡＤ０は所定のアドレス信号が入力された状態であるのに対しＤＣ（Ｄｏｎ’ｔ  Ｃａｒｅ）はアドレスが不定である状態をしめす。ＭＣＯＭは図３（ｄ）の命令に対応する。ＭＡＤＤもＭＥＭに対するアクセスアドレスを表している。
電源投入後の初期動作（Ｔ１（ＩＮＩＴ））によって、各バンクのロウアドレス選択信号ＰＳ信号はＬｏｗとなる。そのため、ＣＰＵからの各メモリバンクへのＴ２（ＣＰＵ）期間の最初のアクセス（Ｃ０）は通常アクセスとなり、データのリードレイテンシは５となる。この動作を図１４に示す。
これに対して、図１５には、Ｔ２（ＣＰＵ）期間のの２回目以降のアクセス（Ｃ１からＣｎ）のうち頁ヒットの状態（ＨＴ＝１）の動作が示されている。本発明によって、ＣＰＵのアクセスに対しては、アクセスの終了時に、頁を閉じるプリチャージ動作は行なわず、頁を開いた状態を保持するため、アクセスの局所性を持つＣＰＵのアクセスは、各バンクに対する２回目以降のアクセスのほとんどが同一頁のアクセスが起きた場合にはリードレイテンシは３となり、通常動作より高速にＭＥＭを動作させることができる。
図１６に、アクセスがＣＰＵからハードディスクコントローラーＨＤＣに替わった時の、Ｔ３（ＨＤＣ）期間のＨ０のアクセスを示す。このアクセスでは、ＨＤＣからは、５１２バイトのリード命令がＭＥＭに対して行われるとする。まず、図１６の前半は、Ｈ０最初のアクセスで頁ミスが起きた場合の動作を示している。メモリブロックＭＥＭの各メモリバンクはＣＰＵのアクセスに対して頁を開いた状態となっているため、ＨＤＣからのアクセスは、ほとんど、異なる頁へのアクセスとなってしまう。図１６における、最初のアクセスのリードレイテンシは７となる。
その後の、ハードディスクコントローラＨＤＣのアクセスは同一頁内へ生じ、５１２バイトをリードするために、合計１６回のアクセスを行い、レイテンシは２２となる。アクセスの終了を示すＥＯＡが入力すると、プリチャージ動作を行ない頁を閉じる。通常アクセスの場合と比較すると、最初データのリードレイテンシーが２レイテンシ、つまり、２０ｎｓ分だけ遅くなるが、ＨＤＣが５１２バイトのデータをハードディスクに書込む際に、数ｍｓ程度の時間がかかるため、２０ｎｓの遅れは動作上、全く問題にならない。
図１３のＴ４（ＣＰＵ）期間において、アクセスがＨＤＣからＣＰＵに替わった時の、Ｃｎ＋１のアクセスは以下の通りである。本発明によって、ＨＤＣからのアクセスが生じた１つのメモリバンクの頁は閉じられ、残りのメモリバンクの頁は、ＣＰＵのアクセスによって開いたままの状態である。ＣＰＵのアクセスが、頁を閉じられたバンクにアクセスすると、通常のアクセスとなり、レイテンシは５となる。
本発明である制御モードを切り替え回路を用いない場合は、ハードディスクコントローラＨＤＣからのアクセスによって、頁が開かれたままとなり、この状態を保持しているバンクにＣＰＵのアクセスが生ずると、ほとんど、異なる頁へのアクセスとなる。その結果、ＣＰＵからのアクセスのリードレイテンシは７となり、通常アクセスより２レイテンシ分遅くなり、このレイテンシは、そのままＣＰＵの動作に悪影響を与えてしまう。したがって、本発明によって、ＨＤＣからのアクセスに対しては、そのアクセスの最後に頁を閉じることにより、このアクセスの後のＣＰＵからのアクセスが、以前、ＨＤＣがアクセスしたメモリバンクに生じても、レイテンシが増える事はない。
図１７にリフレッシュ制御回路ＲＦＣからのリフレッシュ要求の際の動作タイミング図を示す。この場合は、直前のアクセスで頁は閉じられていたことを前提としている。ＲＦＣからのアクセスは約４μｓに１度割り込み的にＭＥＭへ生じ、そのリフレッシュ動作の最後に頁を閉じる。即ち図１７でＭＣＯＭがＰＲＥで終了させている。即ち、次の４μｓ後のＲＦＣのアクセスでは同じアドレスはアクセスされないので頁閉とすることが良い。このアクセスの後に、ＣＰＵからのアクセスが、リフレッシュ制御回路のアクセスしたメモリバンクに生じても、レイテンシが増える事はない。
本願発明の情報処理装置の具体的な半導体チップのへの展開形態には以下のものがある。まず第１の形態としてＣＰＵ、ＨＤＣ、ＲＦＣなどのマスタ及び、ＡＲＢ、ＭＣＴＬ、ＭＥＭのそれぞれを個々の半導体チップ上に形成する形態がある。ここで、ＭＥＭは１つのチップ上に全てのＤＲＡＭが形成されている場合と複数のＤＲＡＭチップにより形成される場合の２通りが考えられる。ＤＲＡＭチップには周知のＳＤＲＡＭ等を用いることができる。次に第２の形態として、メモリコントロールチップとしてＲＦＣ、ＡＲＢ、ＭＣＴＬの３つの機能ブロックを１つのチップ上に集積する形態がある。ほかのＣＰＵ等は第１の形態と同様に個々の半導体チップに形成される。また、第３の形態として、ＭＣＴＬとＭＥＭを１つのチップ上に形成する形態がある。他は第１の形態と同様にされる。更に、第４の形態としてＣＰＵ、ＲＦＣ、ＡＲＢ、ＭＣＴＬ、ＭＥＭを全て１つの半導体チップに集積してしまうことも小規模のシステムでは有効である。この場合でも特に制限されないがＨＤＣ等の外部オプションとなるべきマスタは、別チップとされる。最もＨＤＣ等がシステムとして必須である場合には必要に応じて集積してしまえばよい。
＜実施例２＞
図１８は本発明のメモリ制御回路１００の１実施例であり、図１に示す実施例に、リフレッシュ用のアドレスを発生するリフレッシュカウンター１０６を追加したものである。ＩＣＯＭよりリフレッシュ命令が入力されると、アドレス選択回路１０７はリフレッシュカウンターからのアドレスを選択し、頁内アクセス判定回路１０２及びアドレス発生回路に出力される。リフレッシュカウンターは、リフレッシュ命令が入力する度、リフレッシュアドレスをカウントアップする。
図１９はメモリ制御回路１００を利用した、情報処理装置である。これは、ＣＰＵと、ＨＤＣと、ＣＰＵとＨＤＣからのアクセスを調停するアクセス調停回路２と、複数のバンクから構成されるＭＥＭと、アクセス調停回路２からの信号によりＭＥＭを制御するメモリ制御回路１と、ハードディスク５０と、ＭＥＭのリフレッシュ動作を制御するリフレッシュ制御回路６で構成される。ＣＰＵ、ＨＤＣ及び、リフレッシュ制御回路６には、図２で示したＭＡＤの識別信号はなく、ＲＥＱ０、ＲＥＱ１、ＲＥＱ２のポートがアクセス調停回路に接続されている。アクセス調停回路は、ＲＥＱ０、ＲＥＱ１、ＲＥＱ２のポートでマスタを識別しており、各マスタからの要求を受け取り、アクセスを許可した際、ポートの情報をマスタの識別信号ＩＭＡＤに変換する。
メモリ制御回路１００の内部にリフレッシュカウンタ１０６を備えているので、リフレッシュ制御回路６からはリフレッシュ用のアドレスを入力する必要はなく、リフレッシュ要求信号ＲＥＱ２とリフレッシュ許可信号ＡＣＫ０が接続されるだけで良い。
したがって、図１９の情報処理装置の構成例においても、本発明を実現できる上、端子数を減らすことができるので、低コスト化に寄与できる。
＜実施例３＞
図２０は、ＣＰＵ４とＭＰＥＧデコーダー（ＭＰＥＧ  ＤＥＣ）５００１とビデオインターフェース回路（ＶＩＦ）６００とＲＦＣが、マスタとなりメモリブロックＭＥＭへアクセスする実施例である。この時、ＭＥＭは、ＣＰＵとＭＰＥＧ  ＤＥＣとＶＩＦに共有される。
実施例１と同じ様に、ＣＰＵのアクセスは、そのアクセスが終了しても、頁を開き、ＭＰＥＧデコーダーとビデオインターフェースとリフレッシュ制御回路６のアクセスについては、そのアクセスの最後に、頁を閉じる様に、切り替え制御を行なう場合を考える。
ＭＰＥＧデコーダは、ＣＤ−ＲＯＭなどに記憶されている圧縮されたデータを伸長し、いったんＭＥＭに格納する。表示するために、ビデオインターフェースから、ＭＥＭ内のデータが、読み出される。この時、ＭＰＥＧデコーダがデータを伸長するために、ＭＥＭに対して必要とするデータ転送レートは約１６０ＭＢｙｔｅ／ｓｅｃである。
表示に必要な１フレームのメモリ容量を計算すると、ＮＴＳＣ用では１フレームが７２０×４８０画素で構成され、１画素を構成するため輝度信号Ｙが８ビット、色差信号ＣｒとＣｂをそれぞれ８ビットとすると、１フレームの総ビット数は約４Ｍｂｉｔとなる。毎秒６０フレーム読み出すとすると、表示には約３０ＭＢｙｔｅ／ｓｅｃのデータ転送速度が必要となる。したがって、合計１９０ＭＢｙｔｅ／ｓｅｃの転送レートが必要となる。
ＭＰＥＧデコーダー５０１と表示用インターフェース回路６００とは、アクセス調停回路２０１とメモリ制御回路１０１を通じて、メモリブロック（ＭＥＭ）５０とを、５１２ビットのデータバスで、接続される。
この時、ＭＰＥＧデコーダー５０１のデータ転送レートが最低となるメモリブロック３５１へのアクセスは、異なる頁のアクセスで、しかも１回だけの場合である。このアクセスでは、５１２ビットのデータを出力するために、７レイテンシ、つまり７０ｎｓかかり、データ転送レートは（５１２／８）Ｂｙｔｅ×（１×１０００／７０）ＭＨｚ＝９１１ＭＢｙｔｅ／ｓｅｃとなる。ＭＰＥＧデコーダーには最大１９０ＭＢｙｔｅ／ｓｅｃ程度の転送レートが必要であることを考えれば、９１１ＭＢｙｔｅ／ｓｅｃの転送レートは十分に余裕があり、残りの転送レートをＣＰＵのために利用しても、ＭＰＥＧデコーダの動作には、何ら問題を生じない。したがって、実施例２についても、本発明によってＭＰＥＧデコーダー、表示用インターフェース回路７０１及び、リフレッシュ制御回路６００からのアクセスに対しては、これらのアクセスの最後に頁を閉じることにより、このアクセスの後のＣＰＵからのアクセスが、以前に、ＭＰＥＧデコーダー及びビデオインターフェースの、どちらかがアクセスしたメモリバンクに生じても、ＤＲＡＭのレイテンシが増える事はなく、高速化できる。
＜実施例４＞
図２１は、ＣＰＵ４とグラフィックス処理回路（ＧＣ）５０２と表示用インターフェース回路（ＶＩＦ）７０２がマスタとリフレッシュ制御回路（ＲＦＣ）６０２とがＤＲＡＭへアクセスする実施例である。この時、メモリブロック（ＭＥＭ）３５２は、ＧＣとＶＩＦとＣＰＵに共有される。
実施例１と同じ様に、ＣＰＵのアクセスは、そのアクセスが終了しても、頁を開き、ＧＣ、ＶＩＦ、ＲＦＣのアクセスについては、そのアクセスの最後に、頁を閉じる切り替え制御を行なう。
グラフィックス処理回路５０２が描画に必要なデータ転送速度と表示用インターフェース回路７０２が表示に必要なデータ転送速度を、それぞれ求めると以下の通りである。
１画素当たりのビット数は、色を表わすＲ、Ｇ、Ｂを２４ビット、奥行きを示すＺ値を１６ビット、透明感を表わすα値を８ビットで、合計４８ビットとし、フレームレートを６０Ｈｚ、フレームサイズを６４０×４８０とすると、描画に必要な転送レートは約８８４ＭＢｙｔｅ／ｓｅｃ、表示に必要な転送レートは約１１０ＭＢｙｔｅ／ｓｅｃで合計１ＧＢｙｔｅ／ｓｅｃの転送レートが必要となる。
グラフィックス処理回路ＧＣと表示用インターフェース回路７０２はアクセス調停回路２と、メモリ制御回路１０２を通じて、メモリブロック３５２とを、２０４８ビットのデータバスで、接続されている。この時、ＧＣのデータ転送レートが最低となるメモリブロック３５２へのアクセスは、異なる頁のアクセスで、しかも１回だけの場合である。このアクセスでは、２０４８ビットのデータを出力するために、７レイテンシ、つまり７０ｎｓかかり、データ転送レートは（２０４８／８）Ｂｙｔｅ×（１×１０００／７０）ＭＨｚ＝３．６ＧＢｙｔｅ／ｓｅｃとなる。
グラフィックス処理回路５０２と表示インターフェース回路６０２とを合わせて１ＧＢｙｔｅ／ｓｅｃ程度の転送レートが必要であることを考えれば、３．６ＧＢｙｔｅ／ｓｅｃの転送レートは十分に余裕があり、残りの転送レートをＣＰＵのために利用しても、グラフィックス処理回路の動作には何ら問題を生じない。したがって、実施例３についても、本発明によって、ＤＲＡＭの動作を高速化することができる。
以上示した実施例に用いられているＤＲＡＭは複数のメモリマクロを１チップ上に集積している例を示しているが、この制限を受けるものではない。個別のチップのＤＲＡＭををメモリマクロとして扱うことにより、本発明は実現できる。
以上説明した様に、ＤＲＡＭを共有する複数のマスタからのアクセスには、それぞれ特徴があり、本発明によって、複数のマスタに対応した、制御モードの切り替えを行い、ＤＲＡＭを制御することができるため、ＤＲＡＭを高速に動作させることができる。
産業上の利用可能性
本発明は、情報処理装置、特にパーソナルコンピュータ装置を代表とするコンピュータ装置に適用することができる。この情報処理装置は、汎用性を持つものであってもいいし、制御装置の一部として組み込まれたものであっても良い。
【図面の簡単な説明】
図１は、本発明の一実施例にかかるメモリ制御回路ＭＣＴＬである。  図２は、本発明を適用した情報処理装置の全体構成図である。  図３は、各マスタの命令セットの例である。  図４は、図１のメモリブロックＭＥＭのブロック図の１例である。  図５は、図４のブロック図を構成するバンク内の構成図の１例である。  図６は、図２のメモリブロックＭＥＭの制御の１例を示す図である。  図７は、図１のシフトレジスタにデータを設定する制御の１例を示す図である。  図８は、図１の制御モード切り替え回路の動作を示すフローチャート図である。  図９は、図１の頁内アクセス判定回路で設定されている各メモリバンクに対応したロウアドレス選択信号とロウアドレスを示す図の１例である。  図１０は、図１の命令発生回路とアドレス発生回路のリード及びストア命令時の動作を示すフローチャート図である。  図１１は、図１の命令発生回路とアドレス発生回路のリフレッシュ命令時の動作を示すフローチャート図である。  図１２は、アクセス別のＤＲＡＭのレイテンシを示した図である。  図１３は、ＤＲＡＭへアクセスするマスタの時間的な移り変わりの１例を示す図である。  図１４は、ＣＰＵからのアクセスに対する動作の１例を示す波形図である。  図１５は、ＣＰＵからのアクセスに対する動作の１例を示す波形図である。  図１６は、ハードディスクコントローラＨＤＣからのアクセスに対する動作の１例を示す波形図である。  図１７は、リフレッシュ制御回路からのアクセスに対する動作の１例を示す波形図である。  図１８は、本発明のメモリ制御回路の他の実施例を示す図である。  図１９は、本発明の情報処理装置の他の実施例を示す図である。  図２０は、本発明の情報処理装置の他の実施例を示す図である。  図２１は、本発明の情報処理装置の他の実施例を示す図である。
【図１】
0004549001.tif 000002
【図２】
0004549001.tif 000003
【図３】
0004549001.tif 000004
【図４】
0004549001.tif 000005
【図５】
0004549001.tif 000006
【図６】
0004549001.tif 000007
【図７】
0004549001.tif 000008
【図８】
0004549001.tif 000009
【図９】
0004549001.tif 000010
【図１０】
0004549001.tif 000011
【図１１】
0004549001.tif 000012
【図１２】
0004549001.tif 000013
【図１３】
0004549001.tif 000014
【図１４】
0004549001.tif 000015
【図１５】
0004549001.tif 000016
【図１６】
0004549001.tif 000017
【図１７】
0004549001.tif 000018
【図１８】
0004549001.tif 000019
【図１９】
0004549001.tif 000020
【図２０】
0004549001.tif 000021
【図２１】
0004549001.tif 000022