JP2003173291A - メモリ制御装置 - Google Patents

メモリ制御装置

Info

Publication number
JP2003173291A
JP2003173291A JP2001373084A JP2001373084A JP2003173291A JP 2003173291 A JP2003173291 A JP 2003173291A JP 2001373084 A JP2001373084 A JP 2001373084A JP 2001373084 A JP2001373084 A JP 2001373084A JP 2003173291 A JP2003173291 A JP 2003173291A
Authority
JP
Japan
Prior art keywords
address
read
data
prefetch buffer
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001373084A
Other languages
English (en)
Inventor
Toshiaki Minami
利秋 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001373084A priority Critical patent/JP2003173291A/ja
Publication of JP2003173291A publication Critical patent/JP2003173291A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 アクセス効率とプリフェッチバッファの有効
性の向上を図ることができるメモリ制御装置を提供する
こと。 【構成】 複数のマスタと接続し他方でメモリバスを介
してメモリデバイスと接続し、前記複数のマスタからの
要求に応じて前記メモリデバイスに対して書き込んで読
み出し動作を行うメモリ制御装置において、先行読み出
し動作を行ってその結果を保持するプリフェッチバッフ
ァと、アドレス範囲を指定する手段と、読み出し要求ア
ドレスとアドレス範囲指定手段の保持する情報とを比較
する手段とを設け、読み出し要求アドレスが前記アドレ
ス範囲指定手段によって指定された範囲内にある場合に
のみ前記先行読み出し動作の結果を前記プリフェッチバ
ッファに格納するよう制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムにおけるメモリ制御装置に関する。
【0002】
【従来の技術】近年においてもCPUの高速化は止まる
ところを知らず、年間1.5倍以上のペースで向上して
いる。これに伴い単位時間当たりに主記憶装置との間で
転送されるデータ量も同様なペースで増加している。こ
れを緩和するため、メモリアクセスの局所性を利用し、
高速な記憶アクセスを得るためにCPUに備え付けられ
るキャッシュの容量を増大したり、或はこれを階層化す
ることが行われている。
【0003】しかし、それでもCPUの動作速度と主記
憶のアクセス速度のギャップの増大を解決することは年
々難しくなっている。これを根本的に解決するには、主
記憶それ自体のアクセス速度(メモリバンド幅)を大幅
に向上する必要がある。今日パーソナルコンピュータ
(PC)等の主記憶装置には通常半導体メモリであるダ
イナミックRAM(DRAM)が用いられている。CP
Uの速度向上は半導体デバイス自体の進歩による速度の
向上を超えているため、DRAMにおいても回路構成或
は方式面での工夫によりこれを達成しなければならな
い。
【0004】このような経緯から、過去メモリバンド幅
を向上させるための様々な方式が考案され実用化されて
きたが、最近新たに実用化され注目を浴びている方式と
してダイレクトラムバスDRAMが挙げられる。ダイレ
クトラムバスDRAMではチャネルの概念を取り入れ1
チャネル当たり最大毎秒1.6GBの高いメモリバンド
幅を実現することができる。
【0005】図1にダイレクトラムバスDRAMのRS
Lチャネルにおける転送プロトコルの一例を示す。ダイ
レクトラムバスでは1クロックサイクル当たりクロック
の立ち上がり立ち下がりの両タイミングでデータを転送
し、4クロックで1つのパケットを構成する。図1で
は、先ずサイクル0〜3において‘x’で指定されるペ
ージをアクティベートするロウパケットが発行されてい
る。ここに、‘x’はそれぞれ特定のビット数から成る
デバイスID、バンクアドレス、ロウアドレスの組を表
している。
【0006】次いで、サイクル7〜10において‘x
0’で指定されるアドレスのデータを読み出すことを指
示するカラムパケットが発行されている。ここに、‘x
0’はそれぞれ特定のビット数から成るデバイスID、
バンクアドレス、カラムアドレスの組を表しており、こ
こにおけるデバイスID、バンクアドレスは‘x’にお
けるものと同一である。カラムアドレスはページ内の1
つのアドレスを指定する。
【0007】更に、サイクル11〜14において、‘x
1’で指定されるアドレスのデータを読み出すことを指
示するカラムパケットが発行されている。ここに、‘x
1’はそれぞれ特定のビット数から成るデバイスID、
バンクアドレス、カラムアドレスの組を表しており、こ
こでもデバイスID、バンクアドレスは‘x’における
ものと同一である。即ち、これらロウパケット、カラム
パケットの組により同一デバイス、同一バンク、同一ペ
ージ内の2つのアドレスからのリードが実行される。
【0008】サイクル19〜22において、1番目(x
0)のリードコマンドに対応するデータがDRAMから
読み出され、サイクル23〜26において、2番目(x
1)のリードコマンドに対応するデータがDRAMから
読み出されている。
【0009】図1に示す例では、この一連のリード動作
と並行して他のバンクからのリードも行われている。即
ち、サイクル8〜11において‘y’で指定されるペー
ジをアクティベートするロウパケットが発行されてい
る。ここに、‘y’は先行する‘x’とは別のバンク
(別のデバイスか同じデバイスの干渉しないバンク)に
位置するページを指している。
【0010】次いで、サイクル15〜18において‘y
0’で指定されるアドレスのデータを読み出すことを指
示するカラムパケットが発行されている。ここに、‘y
0’におけるデバイスID、バンクアドレスは‘y’に
おけるものと同一である。
【0011】更に、サイクル19〜22において‘y
1’で指定されるアドレスのデータを読み出すことを指
示するカラムパケットが発行されている。ここでも、
‘y1’におけるデバイスID、バンクアドレスは
‘y’におけるものと同一である。サイクル27〜30
において、3番目(y0)のリードコマンドに対応する
データがDRAMから読み出され、サイクル31〜34
において、4番目(y1)のリードコマンドに対応する
データがDRAMから読み出されている。
【0012】以下、‘z’,‘z0’,‘z1’,
‘q’,‘q0’,‘q1’についても同様であり、
‘x’,‘y’とは干渉しないバンク‘q’のアクティ
ベート及び‘x’,‘y’,‘z’とは干渉しないバン
ク‘q’のアクティベートが行われ、5番目(z0)、
6番目(z1)、7 番目(q0)、8番目(q1)のリ
ードコマンドの発行に応じてそれぞれのデータが読み出
されている。このように連続するコマンドがロウパケッ
ト、カラムパケット、データバケットの各フェーズ毎に
パイプライン動作を行っている。このようにして、ダイ
レクトラムバスDRAMでは4段のパイプラインで32
バイト単位でアクセスした場合に最大のバンド幅が得ら
れる。
【0013】それ故、32バイトより小さいサイズでの
アクセスでは実効バンド幅が低下してしまう。例えば、
連続する32バイトのデータを一度に32バイトまとめ
てリードした場合と、16バイトずつ2回に分けてリー
ドした場合、前者の方が効率が良く短時間で終了する。
もし、32バイトより小さい単位のアクセスが頻繁に生
じるような場合には、メモリコントローラ内にプリフェ
ッチバッファを備えることによりアクセス効率を向上す
ることが可能である。
【0014】図2はプリフェッチバッファを備えるメモ
リコントローラの従来例の一構成例を説明する図であ
る。
【0015】図2において、200はメモリコントロー
ラであり、システムバス210を介してCPUやDMA
コントローラ、バスブリッジ等のバスマスタ220,2
21,222,223と接続されると共にDRAM(本
例においてはダイレクトRDRAM)230,231,
232,233と接続される。前記バスマスタ220,
221,222,223はシステムバス上でのアクセス
競合を避けるため、図示されない調停装置によってアク
セスを調停され、同時に1つのマスタのみ前記メモリコ
ントローラ200にアクセスすることができるようにな
っている。241は双方向のデータ信号(DQA[8:
0],DQB[8:0])線であり、ライト時はメモリ
コントローラからDRAMへ、リード時にはDRAMか
らメモリコントローラヘデータを伝送する。242,2
43はそれぞれロウ信号(ROW[2:0])、カラム
信号(COL[4:0])線であり、メモリコントロー
ラからDRAMへそれぞれロウパケット、カラムパケッ
トを伝送する。244,255はチャネル上のクロック
信号(CTM,CFM)である。
【0016】201〜205は前記メモリコントローラ
200の構成要素である。203はシステムバスと接続
するためのシステムバスインターフェース回路である。
204はリード・ライトコマンドを一時格納しておくた
めのバッファである。202はリード・ライトコマンド
をメモリチャネル上のプロトコルに翻案してチャネル上
に送出し、又、リードデータをチャネルから受け取るた
めのメモリチャネルインターフェース回路である。20
5は必要に応じリードデータの一部とそのアドレスを格
納し、又、必要に応じて格納するデータをシステムバス
インターフェース203に転送するプリフェッチバッフ
ァであり、保持しているアドレス・データが有効である
か無効であるかを示す図示されない有効フラグを備えて
いる。201はメモリコントローラの各ブロックの動作
タイミングを制御する制御装置である。
【0017】一般にメモリヘのアクセスには局所性があ
り、メモリ内の或る番地からデータが読み出されたと
き、続く番地のデータが短時間のうちに読み出されるこ
とを高い確率で期待できる。前記バスマスタ220より
16バイトのリードアクセスが生じたとき、前記メモリ
コントローラ200はその指定されたアドレスのデータ
とともに、後続のアドレスに存在する16バイトのデー
タを含む32バイトのデータを前記DRAM230,2
31,232,233の何れかから行う。そして、指定
された16バイトのデータは前記システムバス210を
介してデータを要求した前記バスマスタ220に転送
し、残りの16バイトのデータを前記プリフェッチバッ
ファ205に格納し保持しておく。その後、前記何れか
のバスマスタより該後続アドレスヘのアクセス要求が生
じたとき、前記メモリコントローラ200は前記DRA
Mに対するリード動作を行わず、代わりに前記プリフェ
ッチバッファ205内に保持している前記データを前記
システムバスインターフェース203を介して前記アク
セス要求を出したバスマスタに転送する。
【0018】例えば、前記バスマスタ220からアドレ
ス‘h00120番地(‘hは16進数を表す)から
‘h0012f番地までに格納されている16バイトの
データに対するリードアクセス要求があったとする。こ
れらアドレスが前記DRAM230に割り当てられてい
るとすれば、前記メモリコントローラ200はこの要求
を受け付け一旦バッファ204に格納し、その後、メモ
リチャネルインターフェース202を通じて前記DRA
M230の当該番地に対するリードコマンドバケットを
送出する。このとき、更に当該番地の後続の16バイト
を読み出すカラムパケットも送出する。前記DRAM2
30はこれらリードコマンドに呼応し、既定の遅延時間
の後、当該連続番地に格納している合計32バイトのデ
ータを順次チャネル上に送出する。
【0019】前記メモリコントローラ200は前記チャ
ネル上に送出された32バイトのデータを前記メモリチ
ャネルインターフェース202において受け取ると、該
データ中前半の16バイトをシステムバスインターフェ
ース203から前記システムバス210を介して前記バ
スマスタ220に送信する。
【0020】一方、後半の16バイトについてはその先
頭アドレス‘h00130番地と共に前記プリフェッチ
バッファ205に格納するとともに、プリフェッチバッ
ファ205の内容が有効であることを示す有効フラグを
立てる。その後、再び前記バスマスタ220よりアドレ
ス‘h00130番地(‘hは16進数を表す)から
‘h0013f番地までに格納されている16バイトの
データに対するリードアクセス要求があった場合、直ち
に前記プリフェッチバッファ205内の16バイトのデ
ータを前記システムバスインターフェース203から前
記システムバス210を介して前記バスマスタ220に
送信する。このようにしてメモリアクセスの効率を高め
るとともに、リードレイテンシを大幅に減少させること
ができる。
【0021】もし、リードアクセスが生じて任意のアド
レスのデータを前記プリフェッチバッファ205に格納
した後、同一アドレスに対してライトアクセスが生じた
場合、前記メモリコントローラ200は前記プリフェッ
チバッファ205の保持する内容を無効化する。前記例
においては‘h00130番地〜‘h0013f番地ま
での連続する16バイトのデータをプリフェッチバッフ
ァ205に格納した後、バスマスタ222が同一アドレ
ス範囲或はこのアドレス範囲と重複するアドレス範囲に
対するライト要求を発行した場合、メモリコントローラ
200はプリフェッチバッファ205内の前記有効フラ
グを直ちにリセットする。このようにして古いデータが
バスマスタに返されるのを防ぎ、データの一貫性を保つ
ことができる。
【0022】
【発明が解決しようとする課題】上述のようにメモリコ
ントローラにプリフェッチバッファを付加する場合、多
くのエントリ(バッファに格納するアドレスとデータの
対)を備えると回路規模が増大してしまう。そのため、
前記例においては1エントリのみを備えている。このと
き、1つのバスマスタのみ存在し、該マスタが局所的に
データをアクセスする場合にはプリフェッチバッファは
有効に機能するが、もしバスマスクが複数存在し、それ
らが交互に異なったアドレス範囲のデータをアクセスす
る場合、プリフェッチバッファの内容が参照される前に
置き換えられる状況が頻繁に生じ、プリフェッチバッフ
ァの有効性が損なわれてしまう。
【0023】例として、図3に2つのバスマスタ22
0’と222’がそれぞれ‘h10020番地〜‘h1
0fff番地までと‘h8a50番地〜‘h8c7f番
地までのアドレス範囲を連続的に16バイト毎にリード
する場合を示す。第1サイクルからバスマスタ220が
‘h10020番地〜‘h1002f番地までの16バ
イトのデータに対するリードアクセス要求を発行してい
る。この結果として第5サイクルにはプリフェッチバッ
ファ205には‘h10030番地〜‘h1003f番
地までの16バイトのデータが格納される。
【0024】次いで、第6サイクルにおいてバスマスタ
223が‘h8a40番地〜‘h8a4f番地までの1
6バイトのデータに対するリードアクセス要求を発行し
ている。これにより第10サイクルには、プリフェッチ
バッファ205は以前のデータを全く参照されることな
く‘h8a50番地〜‘h8a5f番地までの16バイ
トのデータに置き換えられてしまう。
【0025】その後、第11サイクルでバスマスタ22
0が前回リードしたデータに続く‘h10030番地〜
‘h1003f番地までの16バイトのデータに対する
リードアクセス要求を発行する。このアドレスに対応す
るデータはプリフェッチバッファ205に既に存在しな
いため、再びメモリから読み出されることになり、第1
5サイクルにはプリフェッチバッファ205の内容は後
続アドレス‘h10040番地〜‘h1004f番地ま
での16バイトのデータに置き換えられる。
【0026】第16サイクルにおいて、バスマスタ22
3が前回リードしたデータに続く‘h8a50番地〜
‘h8a5f番地までの16バイトのデータに対するリ
ードアクセス要求を発行する。このアドレスに対応する
データも最早プリフェッチバッファ205内には存在し
ないため、再びメモリから読み出されなければならな
い。このように複数のバスマスタが同時に動作する場
合、少数のエントリのみ備えるプリフェッチバッファは
有効に機能できない。
【0027】本発明は上記問題に鑑みてなされたもの
で、その目的とする処は、アクセス効率とプリフェッチ
バッファの有効性の向上を図ることができるメモリ制御
装置を提供することにある。
【0028】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、複数のマスタと接続し他方でメモリバス
を介してメモリデバイスと接続し、前記複数のマスタか
らの要求に応じて前記メモリデバイスに対して書き込ん
で読み出し動作を行うメモリ制御装置において、先行読
み出し動作を行ってその結果を保持するプリフェッチバ
ッファと、アドレス範囲を指定する手段と、読み出し要
求アドレスとアドレス範囲指定手段の保持する情報とを
比較する手段とを設け、読み出し要求アドレスが前記ア
ドレス範囲指定手段によって指定された範囲内にある場
合にのみ前記先行読み出し動作の結果を前記プリフェッ
チバッファに格納するよう制御することを特徴とする。
【0029】
【発明の実施の形態】以下に本発明の実施の形態を図4
〜図6に基づいて説明する。
【0030】以下、比較のため図2と同一の構成要素に
ついては番号に’を付けて示している。
【0031】図4が図2と異なるのは、207のアドレ
ス範囲指定レジスタと208の比較器が追加されている
点である。前記アドレス範囲指定レジスタ207は指定
するアドレス範囲の下限値と上限値を1組又は複数組保
持するレジスタである。前記比較器208は図6に示す
ように2つのコンパレータとそれらの出力をANDする
ゲートを前記アドレス範囲指定レジスタ207で指定さ
れるアドレス範囲の紙数分を持ち、更にそれらの出力を
ORするゲートから構成される。本実施の形態では、読
み出し動作時におけるアドレスがアドレス範囲指定レジ
スタ207によって指定されるアドレス範囲と比較器2
08により比較され、その範囲内にある場合のみプリフ
ェッチバッファ205’の内容を置き換えることが可能
になる。
【0032】今、2つのバスマスタ220’と222’
がそれぞれ‘h10020番地〜‘h10ff番地まで
と‘h8a50番地〜‘h8c7f番地までのアドレス
範囲を連続的に16バイト毎にリードし、又、前記アド
レス範囲指定レジスタ207に連続した1つのアドレス
範囲‘h10000〜‘h2000を設定した場合を例
としてシステムバス上の動作例を図5に説明する。
【0033】第1サイクルからバスマスタ220’が
‘h10020番地〜‘h1002f番地までの16バ
イトのデータに対するリードアクセス要求を発行してい
る。メモリコントローラ200’はこのアドレスと前記
アドレス範囲指定レジスタ207で指定されるアドレス
範囲の下限‘h10000と上限‘h20000が前記
比較器208において比較された結果から、この読み出
し動作によりプリフェッチバッファ205’の内容を置
き換えるよう制御する。結果として第5サイクルにはプ
リフェッチバッファ205’に前記リードアクセスにお
いて要求されたアドレス‘h10020番地から‘h1
002f番地に続く‘h10030番地〜‘h1003
f番地までの16バイトのデータが格納される。
【0034】次いで第6サイクルからバスマスタ22
3’が‘h8a50番地〜‘h8a5f番地までの16
バイトのデータに対するリードアクセス要求を発行して
いる。メモリコントローラ200’はこのアドレスと前
記アドレス範囲指定レジスタ207で指定されるアドレ
ス範囲の下限‘h10000と上限‘h20000が前
記比較器208において比較された結果から、今度はこ
の読み出し動作によりプリフェッチバッファ205’の
内容を置き換えないように制御する。その結果このリー
ドアクセスによってはプリフェッチバッファ205’の
内容に変化はない。
【0035】その後、第11サイクルからバスマスタ2
20’が前回リードしたデータに続く‘h10030番
地〜‘h1003f番地までの16バイトのデータに対
するリードアクセス要求を発行する。前記従来例とは異
なり、このアドレスに対応するデータはプリフェッチバ
ッファ205’に尚存在するため、第12サイクルでそ
の内容が直ちにシステムバス210’を通じてバスマス
タ220’に渡される。
【0036】第14サイクルからバスマスタ220’が
前回リードしたデータに続く‘h10040番地〜‘h
1004f番地までの16バイトのデータに対するリー
ドアクセス要求を発行している。この結果、第18サイ
クルにはプリフェッチバッファ205’は‘h1005
0番地〜‘h1005f番地までの16バイトのデータ
に置き換えられる。以降同様にして、バスマスタ22
0’が読み出しを要求するアドレス範囲のみがプリフェ
ッチバッファの内容を置き換えることができるため、バ
スマスタ220’はプリフェッチバッファの機能を有効
に利用できる。
【0037】又、第19サイクルからバスマスタ22
2’が‘h10040番地〜‘h1005f番地まで3
2バイトのデータをライトしている。このライトは現在
プリフェッチバッファに保持されているアドレス範囲を
包含するため、メモリコントローラ200’はこれら3
2バイトのデータを指定されたアドレスにライトするパ
ケットをメモリチャネルに発行すると同時に有効フラグ
をクリアすることによりプリフェッチバッファ205’
の内容を無効化する。
【0038】第22サイクルからバスマスタ220’が
前回リードしたデータに続く‘h10050番地〜‘h
1005f番地までの16バイトのデータに対するリー
ドアクセス要求を発行するが、プリフェッチバッファ2
05’の内容は既に無効化されているため、このリード
アクセスはDRAMからデータを読み出す。従って、古
いデータがバスマスタ220’に渡されることはない。
【0039】以上、本実施の形態ではプリフェッチバッ
ファの持つエントリ数が1の場合について説明したが、
勿論、任意の数のエントリ数の場合にも本発明が適用で
きることは言うまでもない。
【0040】又、本実施の形態においては、プリフェッ
チバッファに格納されるデータは、バスマスクによりリ
ード要求があったアドレスの後続アドレスに格納されて
いるデータとしているが、リード要求のあった該アドレ
スのデータを含む32バイト単位のブロック毎としても
良い。又、本実施の形態では、リード要求のあったアド
レスのデータはプリフェッチバッファに格納していない
が、これを含む32バイトのデータ全てを格納するよう
にしても良い。
【0041】本実施の形態では、説明の簡単のため32
バイト及び16バイト単位でのリード・ライトアクセス
のみを示しているが、より小さいサイズでアクセスして
も良いことは言うまでもない。その場合、32バイト境
界から該アクセスデータを含む32バイトのデータを同
時にリードし、プリフェッチバッファに格納すれば良
い。
【0042】本実施の形態においては、プリフェッチバ
ッファの保持するデータと重複するアドレス範囲へのラ
イトが生じた場合、プリフェッチバッファの内容を無効
化するようにしているが、勿論、ライトされるデータと
入れ替えるようにしても良い。
【0043】又、本実施の形態においては、DRAMと
してダイレクトRDRAMを用いる場合を例とし、32
バイト単位の転送時にバンド幅が最大になる場合を示し
たが、勿論、その他どのような種類のDRAM或は記憶
デバイスにおいても、任意の好適な転送サイズにおいて
本発明が適用できることは言うまでもない。
【0044】本実施の形態においては、プリフェッチバ
ッファの内容を置き換え可能なアドレス範囲を設定する
場合を説明したが、勿論、置き換え不可能なアドレス範
囲を設定するようにしても良い。又、アドレス範囲をレ
ジスタに設定するのではなく固定した場合にも本発明を
適用できることは言うまでもない。
【0045】
【発明の効果】以上の説明で明らかなように、本発明に
よれば、複数のマスタと接続し他方でメモリバスを介し
てメモリデバイスと接続し、前記複数のマスタからの要
求に応じて前記メモリデバイスに対して書き込んで読み
出し動作を行うメモリ制御装置において、先行読み出し
動作を行ってその結果を保持するプリフェッチバッファ
と、アドレス範囲を指定する手段と、読み出し要求アド
レスとアドレス範囲指定手段の保持する情報とを比較す
る手段とを設け、読み出し要求アドレスが前記アドレス
範囲指定手段によって指定された範囲内にある場合にの
み前記先行読み出し動作の結果を前記プリフェッチバッ
ファに格納するよう制御するようにしたため、アクセス
効率とプリフェッチバッファの有効性の向上を図ること
ができるという効果が得られる。
【図面の簡単な説明】
【図1】ダイレクトRAMバスチャネル上のメモリアク
セスプロトコルの一例を説明するための図である。
【図2】従来例におけるメモリコントローラの構成とそ
れを含むシステムを説明する図である。
【図3】従来例におけるシステムバス上のリード・ライ
トアクセスのタイミング及びプリフェッチバッファの内
容を説明するタイミング図である。
【図4】本発明の実施の形態を説明するための図であ
る。
【図5】本発明の実施の形態に係るシステムバス上のリ
ード・ライトアクセスのタイミング及びプリフェッチバ
ッファの内容を説明するタイミング図である。
【図6】図4における比較器の構成図である。
【符号の説明】
200 メモリ制御装置 201 制御回路 202 メモリチャンネルインターフェース回
路 203 システムバスインターフェース回路 204 バッファ 205 プリフェッチバッファ 210 システムバス 220〜223 バスマスタ 230〜233 DRAM 241 データ信号線 242 ロウ信号線 243 カラム信号線 244,245 クロック信号線

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数のマスタと接続し他方でメモリバス
    を介してメモリデバイスと接続し、前記複数のマスタか
    らの要求に応じて前記メモリデバイスに対して書き込ん
    で読み出し動作を行うメモリ制御装置において、 先行読み出し動作を行ってその結果を保持するプリフェ
    ッチバッファと、アドレス範囲を指定する手段と、読み
    出し要求アドレスとアドレス範囲指定手段の保持する情
    報とを比較する手段とを設け、読み出し要求アドレスが
    前記アドレス範囲指定手段によって指定された範囲内に
    ある場合にのみ前記先行読み出し動作の結果を前記プリ
    フェッチバッファに格納するよう制御することを特徴と
    するメモリ制御装置。
  2. 【請求項2】 前記アドレス範囲指定手段は、指定する
    アドレス範囲が可変であることを特徴とする請求項1記
    載のメモリ制御装置。
  3. 【請求項3】 前記複数のマスタとは共有バスを介して
    接続することを特徴とする請求項1記載のメモリ制御装
    置。
  4. 【請求項4】 前記先行読み出し動作は、前記マスタか
    らの要求に対するメモリデバイスからの読み出し動作に
    伴って同時に行うことを特徴とする請求項1記載のメモ
    リ制御装置。
  5. 【請求項5】 前記プリフェッチバッファは、データと
    該データのアドレス及び有効フラグから成る情報を1又
    は複数組格納することを特徴とする請求項1記載のメモ
    リ制御装置。
  6. 【請求項6】 前記マスタからの読み出し要求時にアド
    レスとプリフェッチバッファに格納されているデータの
    アドレス情報及び有効フラグを比較し、可能な場合には
    プリフェッチバッファに格納されているデータを前記マ
    スタのリードデータとして返し、不可能な場合には前記
    アドレス範囲指定手段で指定されるアドレス範囲内にあ
    った場合に先読み動作を行ってプリフェッチバッファに
    格納するよう制御することを特徴とする請求項5記載の
    メモリ制御装置。
  7. 【請求項7】 前記マスタからの書き込み要求時にはア
    ドレスとプリフェッチバッファに格納されているデータ
    のアドレス情報とを比較し、必要に応じて前記有効フラ
    グを無効な状態に変えることを特徴とする請求項5記載
    のメモリ制御装置。
JP2001373084A 2001-12-06 2001-12-06 メモリ制御装置 Pending JP2003173291A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001373084A JP2003173291A (ja) 2001-12-06 2001-12-06 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001373084A JP2003173291A (ja) 2001-12-06 2001-12-06 メモリ制御装置

Publications (1)

Publication Number Publication Date
JP2003173291A true JP2003173291A (ja) 2003-06-20

Family

ID=19181865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001373084A Pending JP2003173291A (ja) 2001-12-06 2001-12-06 メモリ制御装置

Country Status (1)

Country Link
JP (1) JP2003173291A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049713A (ja) * 2015-08-31 2017-03-09 株式会社メガチップス メモリコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049713A (ja) * 2015-08-31 2017-03-09 株式会社メガチップス メモリコントローラ

Similar Documents

Publication Publication Date Title
US4853846A (en) Bus expander with logic for virtualizing single cache control into dual channels with separate directories and prefetch for different processors
US5644788A (en) Burst transfers using an ascending or descending only burst ordering
US6681302B2 (en) Page open hint in transactions
KR970010368B1 (ko) 캐시라인 리프레이스장치 및 방법
JPH0628256A (ja) データ処理システム
JPH04233641A (ja) データプレフェッチの方法およびその装置
JP2000250813A (ja) I/oキャッシュ・メモリにおけるデータ管理方法
US20050253858A1 (en) Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
US5283880A (en) Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states
US5732409A (en) Caching disk controller implemented by hardwired logic
EP0470738B1 (en) Cache memory system and operating method
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US20070043910A1 (en) Memory control apparatus executing prefetch instruction
US5893917A (en) Memory controller and method of closing a page of system memory
US6178467B1 (en) Microprocessor system requests burstable access to noncacheable memory areas and transfers noncacheable address on a bus at burst mode
US7406571B2 (en) Memory system and method for controlling the same, and method for maintaining data coherency
JP2000082011A (ja) Dmaユニットによる改良されたメモリ・アクセスをする方法及びコンピュ―タ・システム
JP2003173291A (ja) メモリ制御装置
US20050091458A1 (en) Storage control apparatus, control system capable of DMA transfer, and method of controlling DMA transfer
JPH04130551A (ja) キャッシュ制御方法
US20010002481A1 (en) Data access unit and method therefor
JP4220258B2 (ja) ノンキャッシュ領域内高速メモリアクセス方法
JP5091548B2 (ja) メモリシステム
JP5393405B2 (ja) メモリ制御回路
JP3136681B2 (ja) データ処理装置