JP2001229074A - Memory controller and information processor and memory control chip - Google Patents
Memory controller and information processor and memory control chipInfo
- Publication number
- JP2001229074A JP2001229074A JP2000037908A JP2000037908A JP2001229074A JP 2001229074 A JP2001229074 A JP 2001229074A JP 2000037908 A JP2000037908 A JP 2000037908A JP 2000037908 A JP2000037908 A JP 2000037908A JP 2001229074 A JP2001229074 A JP 2001229074A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- read
- data
- bus
- request
- 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
Links
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はメモリ制御装置、情
報処理装置、及びメモリ制御チップに関し、特に連続し
たデータをまとめて転送するバースト転送において後続
するデータを先読みをすることによりメモリへのアクセ
スを高速化する技術に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control device, an information processing device, and a memory control chip. More particularly, the present invention relates to memory access by prefetching subsequent data in a burst transfer for transferring continuous data collectively. Related to technology for speeding up.
【0002】[0002]
【従来の技術】CPUやIO制御装置などメモリのアク
セスを行うバスマスタがメモリを読み出す場合、連続し
たアドレスで読み出しを実行することが多いため、連続
したアドレスのデータを読み出すバースト転送を行って
メモリへのアクセスを高速化している。また、これに伴
ってメモリ素子もバースト転送に対応したものが多く生
産されている。2. Description of the Related Art When a bus master such as a CPU or an I / O controller that accesses a memory reads data from the memory, the read operation is often performed at a continuous address. Access is faster. Along with this, many memory devices corresponding to burst transfer have been produced.
【0003】さらにメモリアクセスを高速化するため
に、要求されたデータに後続するデータをメモリから予
め読み出してバッファに一時的に保持し、次に連続した
アドレスの読み出し要求があった場合に上記バッファの
データを返すことにより高速化する先読み動作が知られ
ている。この場合、バッファは先読みによるバースト転
送に必要な容量を追加して備える必要がある。In order to further speed up memory access, data subsequent to requested data is read from the memory in advance and temporarily stored in a buffer. There is known a pre-reading operation for speeding up by returning the data. In this case, the buffer needs to additionally have a capacity necessary for burst transfer by prefetch.
【0004】また、各バスマスタは異なるアドレスへア
クセスすることが多いため、例えばバスマスタAがA番
地を、続いてバスマスタBがB番地をアクセスした場
合、バスマスタAの先読みで読み出されたA+N番地
(Nはバースト転送の大きさを示す)のデータは、後続
するバスマスタBでは不要なため無効化されてしまい、
さらに先読みのためにB番地の読み出しが遅れてしまう
ということが起こる。Further, since each bus master accesses a different address in many cases, for example, when the bus master A accesses the address A and then the bus master B accesses the address B, the A + N address (A + N) read by the prefetch of the bus master A is used. N indicates the size of the burst transfer) and is invalidated by the subsequent bus master B because it is unnecessary,
Further, reading of address B may be delayed due to pre-reading.
【0005】これを回避するためには、バッファ容量を
もっと大きくして後続の他のバスマスタによって無効化
されないように保持したり、要求アドレスに応じて使用
するバッファを複数に分割して備えるという方法がある
が、各バスマスタのアクセスが一時的に特定のバッファ
に集中してしまい十分な効果が得られなかったり、容量
を大きくした場合、バッファに保持するデータを管理す
るための制御が複雑になったりしていた。[0005] In order to avoid this, a method of increasing the buffer capacity so as to keep it from being invalidated by another subsequent bus master, or providing a plurality of buffers to be used in accordance with the requested address is provided. However, when the access of each bus master temporarily concentrates on a specific buffer, sufficient effects cannot be obtained, or when the capacity is increased, the control for managing the data held in the buffer becomes complicated. Or was.
【0006】[0006]
【発明が解決しようとする課題】以上のように従来の技
術では先読みによるメモリアクセスの高速化において、
単に複数のバッファを備えたり、容量を大きくしても、
十分な効果を得られず、また、制御が複雑となるという
課題があった。さらには先読みを実行することによりか
えって性能を損なうことがあるという課題があった。As described above, in the prior art, in order to speed up memory access by prefetching,
Even if you simply have multiple buffers or increase the capacity,
There were problems that a sufficient effect could not be obtained and that the control became complicated. Further, there is a problem that performance may be impaired by executing prefetching.
【0007】本発明の主な目的は多数のバスマスタがメ
モリ制御装置に対して同時に読み出しアクセスを行う場
合にも、先読み動作によって性能低下することなく、よ
り確実に高速なメモリをアクセスを実現したメモリ制御
装置、情報処理装置、及びメモリ制御チップを提供する
ことにある。A main object of the present invention is to provide a memory which can more reliably access a high-speed memory without performance degradation due to a prefetch operation even when a large number of bus masters simultaneously perform read access to a memory control device. A control device, an information processing device, and a memory control chip are provided.
【0008】[0008]
【課題を解決するための手段】本発明の第1のメモリ制
御装置は、複数のバスマスタとバスで接続して前記バス
マスタの要求に応じてプログラムやデータを記憶するメ
モリへのアクセスを制御し、前記メモリから読み出した
データを一時的に保持する読出バッファを前記バスマス
タに対応して前記バスマスタの数だけ有する。A first memory control device of the present invention is connected to a plurality of bus masters via a bus and controls access to a memory for storing a program or data in response to a request from the bus master. A plurality of read buffers for temporarily holding data read from the memory are provided corresponding to the number of the bus masters.
【0009】本発明の第2のメモリ制御装置は、複数の
バスマスタとバスで接続して前記バスマスタの要求に応
じてプログラムやデータを記憶するメモリへのアクセス
を制御し、前記メモリから読み出したデータを一時的に
保持する読出バッファを前記バスマスタに対応して前記
バスマスタの数だけ有し、前記バスマスタからメモリ読
み出し要求を受けた際に、要求されたデータとこれに続
く後続データとを前記メモリから読み出して要求のあっ
た前記バスマスタに対応した前記読出バッファに保持す
る手段を有する。A second memory control device of the present invention is connected to a plurality of bus masters via a bus, controls access to a memory for storing a program or data in response to a request from the bus master, and controls data read from the memory. Read buffers for temporarily holding the same number as the number of the bus masters corresponding to the bus masters. When a memory read request is received from the bus master, the requested data and subsequent data are read from the memory. Means for reading and holding the read buffer corresponding to the requested bus master in the read buffer.
【0010】本発明の第3のメモリ制御装置は、複数の
バスマスタとバスで接続して前記バスマスタの要求に応
じてプログラムやデータを記憶するメモリへのアクセス
を制御し、前記メモリから読み出したデータを一時的に
保持する読出バッファを前記バスマスタに対応して前記
バスマスタの数だけ有し、前記バスマスタの1つのバス
マスタAからメモリ読み出し要求を受けた際に、前記読
出バッファの1つでバスマスタAに対応した読出バッフ
ァAを参照して、読出バッファAに要求されたデータが
あった場合には、読出バッファAのデータをバスマスタ
Aに返し、読出バッファAに要求されたデータが無かっ
た場合には、前記メモリからデータを読み出してバスマ
スタAに返すとともに要求されたデータに続く後続デー
タを前記メモリから読み出して読出バッファAに一時的
に保持する手段を有する。A third memory control device of the present invention is connected to a plurality of bus masters via a bus, controls access to a memory for storing programs and data in response to a request from the bus master, and stores data read from the memory. The number of read buffers that temporarily hold the number of bus masters corresponds to the number of the bus masters. When a memory read request is received from one bus master A of the bus masters, one of the read buffers Referring to the corresponding read buffer A, if there is requested data in the read buffer A, the data in the read buffer A is returned to the bus master A. If there is no requested data in the read buffer A, Read data from the memory and return it to the bus master A, and read subsequent data following the requested data from the memory. And means for temporarily holding the read buffer A reading.
【0011】本発明の第4のメモリ制御装置は、第3の
メモリ制御装置に加えて、前記バスマスタの1つのバス
マスタAからメモリ読み出し要求を受けた際に、前記読
出バッファの1つでバスマスタAに対応した読出バッフ
ァAを参照して、読出バッファAに保持されているデー
タが要求されたデータではなかった場合に、読出バッフ
ァAに保持されているデータを無効にする手段を有す
る。According to a fourth memory controller of the present invention, in addition to the third memory controller, when a memory read request is received from one of the bus masters A, the bus master A is used by one of the read buffers. And means for invalidating the data held in the read buffer A when the data held in the read buffer A is not the requested data by referring to the read buffer A corresponding to.
【0012】本発明の第5のメモリ制御装置は、複数の
バスマスタとバスで接続して前記バスマスタの要求に応
じてプログラムやデータを記憶するメモリへのアクセス
を制御し、前記メモリから読み出したデータを一時的に
保持する読出バッファを前記バスマスタに対応して前記
バスマスタの数だけ有し、前記バスマスタの1つのバス
マスタAからメモリ読み出し要求を受けた際に、前記読
出バッファの1つでバスマスタAに対応した読出バッフ
ァAを参照して、読出バッファAに要求されたデータが
あった場合には、読出バッファAのデータをバスマスタ
Aに返し、読出バッファAに要求されたデータが無かっ
た場合には、前記メモリからデータを読み出してバスマ
スタAに返すとともに前記メモリ読み出し要求がバース
ト転送のメモリ読み出し要求であった場合のみ要求され
たデータに続く後続データを前記メモリから読み出して
読出バッファAに一時的に保持する手段を有する。A fifth memory control device of the present invention is connected to a plurality of bus masters via a bus, controls access to a memory for storing programs and data in response to a request from the bus master, and controls data read from the memory. The number of read buffers that temporarily hold the number of bus masters corresponds to the number of the bus masters. When a memory read request is received from one bus master A of the bus masters, one of the read buffers Referring to the corresponding read buffer A, if there is requested data in the read buffer A, the data in the read buffer A is returned to the bus master A. If there is no requested data in the read buffer A, Read data from the memory and return it to the bus master A, and the memory read request is a burst transfer memory read. Subsequent data only subsequent to the requested data if the request was issued is read out from the memory comprises means for temporarily holding the read buffer A.
【0013】本発明の第6のメモリ制御装置は、第5の
メモリ制御装置に加えて、前記バスマスタの1つのバス
マスタAからメモリ読み出し要求を受けた際に、前記読
出バッファの1つでバスマスタAに対応した読出バッフ
ァAを参照して、読出バッファAに保持されているデー
タが要求されたデータではなく且つ前記メモリ読み出し
要求がバースト転送のメモリ読み出し要求であった場合
に、読出バッファAに保持されているデータを無効にす
る手段を有する。According to a sixth memory control device of the present invention, in addition to the fifth memory control device, when a memory read request is received from one of the bus masters A, the bus master A is used by one of the read buffers. , When the data held in the read buffer A is not the requested data and the memory read request is a burst transfer memory read request, the data is held in the read buffer A. Means for invalidating the data that has been set.
【0014】本発明の第7のメモリ制御装置は、複数の
バスマスタとバスで接続して前記バスマスタの要求に応
じてプログラムやデータを記憶するメモリへのアクセス
を制御し、前記メモリから読み出したデータを一時的に
保持する読出バッファを前記バスマスタに対応して前記
バスマスタの数だけ有し、前記メモリへの書き込みデー
タを一時的に保持する書込バッファを1つ有する。A seventh memory control device of the present invention is connected to a plurality of bus masters via a bus, controls access to a memory for storing a program or data in response to a request from the bus master, and stores data read from the memory. The number of the read buffers for temporarily storing the data corresponds to the number of the bus masters corresponding to the bus masters, and one write buffer for temporarily storing the write data to the memory.
【0015】本発明の第8のメモリ制御装置は、複数の
バスマスタとバスで接続して前記バスマスタの要求に応
じてプログラムやデータを記憶するメモリへのアクセス
を制御し、前記メモリから読み出したデータを一時的に
保持する読出バッファを前記バスマスタに対応して前記
バスマスタの数だけ有し、前記バスマスタからバースト
転送のメモリ読み出し要求を受けた際に、要求されたデ
ータとこれに続く後続データとを前記メモリから読み出
して要求のあった前記バスマスタに対応した前記読出バ
ッファに保持する手段と、前記メモリへの書き込みデー
タを一時的に保持する書込バッファと、前記バスマスタ
の書き込み要求を受けた際に、前記全ての読出バッファ
を参照して、前記書き込み要求と同じアドレスのデータ
を保持している読出バッファのデータを無効にする手段
とを有する。An eighth memory control device according to the present invention is connected to a plurality of bus masters via a bus, controls access to a memory for storing programs and data in response to a request from the bus master, and stores data read from the memory. Have the same number of read buffers as the number of the bus masters corresponding to the bus masters, and when a memory read request for burst transfer is received from the bus master, the requested data and subsequent data Means for reading from the memory and holding the read buffer corresponding to the requested bus master, a write buffer for temporarily holding write data to the memory, and , Referring to all the read buffers, the read buffer holding the data at the same address as the write request. And means for disabling the data buffers.
【0016】本発明の第9のメモリ制御装置は、複数の
バスマスタとバスで接続して前記バスマスタの要求に応
じてプログラムやデータを記憶するメモリへのアクセス
を制御し、前記メモリから読み出したデータを一時的に
保持する読出バッファを前記バスマスタに対応して前記
バスマスタの数だけ有し、前記バスマスタからバースト
転送のメモリ読み出し要求を受けた際に、要求されたデ
ータとこれに続く後続データとを前記メモリから読み出
して要求のあった前記バスマスタに対応した前記読出バ
ッファに保持する手段と、前記メモリへの書き込みデー
タを一時的に保持する書込バッファと、前記バスマスタ
の書き込み要求を受けた際に、前記メモリへ前記書き込
みデータを書き込むとともに、前記全ての読出バッファ
を参照して、前記書き込み要求と同じアドレスのデータ
を保持している読出バッファへも前記書き込みデータを
上書きする手段とを有する。A ninth memory control device according to the present invention is connected to a plurality of bus masters via a bus, controls access to a memory for storing programs and data in response to a request from the bus master, and controls data read from the memory. Have the same number of read buffers as the number of the bus masters corresponding to the bus masters, and when a memory read request for burst transfer is received from the bus master, the requested data and subsequent data Means for reading from the memory and holding the read buffer corresponding to the requested bus master, a write buffer for temporarily holding write data to the memory, and Writing the write data to the memory, and referring to all the read buffers, Also to read buffer that holds the data of the same address as requested write attempts and means for overwriting the write data.
【0017】本発明の情報処理装置は、プログラムやデ
ータを記憶するメモリと、前記メモリへのアクセスを制
御するメモリ制御装置と、複数のバスマスタと、前記メ
モリ制御装置と前記複数のバスマスタと接続するバスを
有し、前記メモリ制御装置は前記第1乃至9のメモリ制
御装置の手段を有する。An information processing device according to the present invention connects to a memory for storing programs and data, a memory control device for controlling access to the memory, a plurality of bus masters, and the memory control device and the plurality of bus masters. A bus, and the memory control device has the means of the first to ninth memory control devices.
【0018】本発明のメモリ制御チップは、前記第1乃
至9のメモリ制御装置を実装する。A memory control chip according to the present invention mounts the first to ninth memory control devices.
【0019】[0019]
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明の実施
の形態の情報処理装置のブロック図であり、メモリ制御
装置とメモリ制御チップも含んでいる。情報処理装置は
バスX1に接続するバスマスタ31、バスマスタ32、
メモリ制御装置10と、バスX1の調停を行う回路のバ
スアービタ30と、メモリ制御装置10に接続しメモリ
制御装置10に制御されるメモリ20とを含む。情報処
理装置が含むこの他の機能については特に限定しないの
で図示していない。Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram of an information processing apparatus according to an embodiment of the present invention, and also includes a memory control device and a memory control chip. The information processing apparatus includes a bus master 31, a bus master 32 connected to the bus X1,
It includes a memory control device 10, a bus arbiter 30 of a circuit for arbitrating the bus X1, and a memory 20 connected to the memory control device 10 and controlled by the memory control device 10. Other functions included in the information processing apparatus are not particularly shown because they are not particularly limited.
【0020】バスマスタ31、32は、プログラムの実
行や演算を実行するCPUや、入出力装置又は入出力制
御装置とメモリ20又はCPU間の転送を制御するIO
制御部等である。IO制御部はさらに下位にバスを設け
て制御する構成も考えられる。図1ではバスマスタを2
つ示しているが、特に接続数を限定するものではなく、
装置の必要性に応じた数のバスマスタを接続してもよ
い。The bus masters 31 and 32 are a CPU for executing programs and executing calculations, and an IO for controlling transfer between an input / output device or an input / output control device and the memory 20 or the CPU.
A control unit and the like. A configuration is also conceivable in which the IO control unit performs control by providing a bus at a lower level. In FIG. 1, the bus master is 2
But the number of connections is not limited,
Any number of bus masters may be connected according to the needs of the device.
【0021】情報処理装置としては、メインフレームや
パーソナルコンピュータのように本体として動作するも
のや、補助記憶装置や印刷装置のように本体又はネット
ワーク等に接続して動作するものや、図1の回路が組み
込まれた特定用途のもの等ががある。また、メモリ制御
装置10は1チップのLSI(大規模集積回路)に実装
して実現するのも有力であるが、複数のチップに分散し
て実装されてもよい。The information processing device operates as a main unit such as a mainframe or a personal computer, an information processing device connected to a main unit or a network such as an auxiliary storage device or a printing device, or a circuit shown in FIG. For specific applications, etc. It is also effective to implement the memory control device 10 by mounting it on a one-chip LSI (large-scale integrated circuit). However, the memory control device 10 may be separately mounted on a plurality of chips.
【0022】メモリ制御装置10は、バスマスタ31や
バスマスタ32からの書き込み要求で受けた書き込みデ
ータを一時的に保持する書込バッファ13と、バスマス
タ31の読み出し要求に従ってメモリ20から読み出し
たデータを一時的に保持する読出バッファ11と、バス
マスタ32の読み出し要求に従ってメモリ20から読み
出したデータを一時的に保持する読出バッファ12と、
読出バッファ11と読出バッファ12を切り換える切換
回路14と、メモリ制御装置10の制御を行う制御部1
5とを含む。読出バッファ11、12はバースト転送に
対応して共通バスX1に連続して読み出しデータを出力
できるように複数のエントリを備えるFIFO(Fir
st in first out)で構成されている。The memory control device 10 temporarily stores write data received in response to a write request from the bus master 31 or the bus master 32, and temporarily stores data read from the memory 20 in accordance with a read request from the bus master 31. A read buffer 11 for temporarily storing data read from the memory 20 in accordance with a read request from the bus master 32;
A switching circuit 14 for switching between the read buffer 11 and the read buffer 12, and a control unit 1 for controlling the memory control device 10
5 is included. The read buffers 11 and 12 have FIFOs (Files) having a plurality of entries so that read data can be continuously output to the common bus X1 in response to burst transfer.
st in first out).
【0023】ドライバ回路16、レシーバ回路17は、
共通バスX1との信号の送受信を行い、ドライバ回路1
9、レシーバ回路18は、メモリ20との信号の送受信
を行う。共通バスX1から受信する信号線は、コマンド
を含むコマンド(CMD)信号と、アドレスとデータを
含むアドレス/データ(A/D)信号を含み、レシーバ
回路17で受信されて信号X4として出力される。信号
X4のうち、データは書込バッファ13へ接続し、コマ
ンドとアドレスは制御部15へ接続する。なお、書込バ
ッファ13は1つとしているが複数設けてもよい。The driver circuit 16 and the receiver circuit 17
The driver circuit 1 transmits and receives signals to and from the common bus X1.
9. The receiver circuit 18 transmits and receives signals to and from the memory 20. A signal line received from the common bus X1 includes a command (CMD) signal including a command and an address / data (A / D) signal including an address and data, and is received by the receiver circuit 17 and output as a signal X4. . Of the signal X4, data is connected to the write buffer 13, and commands and addresses are connected to the control unit 15. Although the number of write buffers 13 is one, a plurality of write buffers 13 may be provided.
【0024】次に制御部15の構成について図2を用い
て説明する。アドレスレジスタ51とアドレスレジスタ
52は、それぞれバスマスタ31とバスマスタ32の読
み出し要求によって読み出したデータのアドレスを保持
している。読出バッファ11と読出バッファ12に複数
の読出データが保持されている場合は、先に読み出した
データのアドレスを保持しており、読出バッファ11又
は12からデータが出力される際にアドレスレジスタ5
1又は52内のアドレス値が更新される。共通バスX1
から新たな要求を受け付けた際は、アドレスレジスタ5
1又は52に保持するアドレスと要求アドレスとが比較
回路53、比較回路54で比較され、結果が制御回路5
5に送られる。信号X31は、コマンド信号X41とア
ドレス/データ信号X42を基に制御回路55で作成さ
れたメモリ20に対する制御信号やアドレス信号であ
る。Next, the configuration of the control unit 15 will be described with reference to FIG. The address register 51 and the address register 52 hold the addresses of data read in response to read requests from the bus master 31 and the bus master 32, respectively. When a plurality of read data are held in the read buffer 11 and the read buffer 12, the address of the previously read data is held, and when the data is output from the read buffer 11 or 12, the address register 5
The address value in 1 or 52 is updated. Common bus X1
When a new request is received from the
The address held in 1 or 52 and the requested address are compared by the comparison circuits 53 and 54, and the result is compared with the control circuit 5
Sent to 5. The signal X31 is a control signal or an address signal for the memory 20 created by the control circuit 55 based on the command signal X41 and the address / data signal X42.
【0025】制御回路55は、いくつかの制御信号から
なる信号X2でバスアービタ30と接続され、共通バス
X1との信号の送受信を制御し、またコマンド信号X4
1で共通バスX1のコマンドを受けて、コマンドの要求
内容に従ってメモリ20への書き込みや読み出し等の一
連の手順を実行するために、メモリ制御装置10を制御
する。管理回路61は、読出バッファ11に保持されて
いる読み出しデータの数を管理する回路で、管理回路6
2は、読出バッファ12に保持されている読み出しデー
タの数を管理する回路である。バッファが空とは保持す
るデータの数が"0個"ということである。これらの管理
回路は、書き込みポインタと読み出しポインタを持ち、
これらの差分から保持するデータ数を検出する回路で構
成されることが知られているので、詳細な説明は省略す
る。The control circuit 55 is connected to the bus arbiter 30 by a signal X2 composed of several control signals, controls transmission and reception of signals to and from the common bus X1, and controls a command signal X4.
1 receives the command of the common bus X1, and controls the memory control device 10 in order to execute a series of procedures such as writing and reading to and from the memory 20 according to the request content of the command. The management circuit 61 manages the number of read data held in the read buffer 11.
2 is a circuit for managing the number of read data held in the read buffer 12. An empty buffer means that the number of data held is "0". These management circuits have a write pointer and a read pointer,
It is known that the circuit is configured by a circuit for detecting the number of data to be held from these differences, and thus a detailed description is omitted.
【0026】次に、本発明の実施の形態の動作について
図面を参照して説明する。図3は本発明の実施の形態の
動作を説明するタイミングチャートである。図3では、
メモリ制御装置10で処理中の要求が無い状態で、バス
マスタ31からa番地の読み出し要求を受け、次にバス
マスタ32からp番地の読み出し要求を受け、さらにバ
スマスタ31から前の読み出し要求に連続したアドレス
のe番地の読み出し要求があった場合の動作を示してい
る。Next, the operation of the embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a timing chart for explaining the operation of the embodiment of the present invention. In FIG.
In a state where there is no request being processed by the memory control device 10, a read request for the address a is received from the bus master 31, then a read request for the address p is received from the bus master 32, and furthermore, an address that is continuous from the previous read request In the case where there is a read request for address e.
【0027】ここで、共通バスX1について説明する。
共通バスX1は、クロック同期式のバスであり、アドレ
スとデータは双方向のアドレス/データ信号X12で時
分割されて転送され、データの最大バースト長は4であ
る。共通バスX1のコマンド信号X11で転送されるコ
マンドと上記アドレスは、コマンドスタート信号がアク
ティブの際、バスマスタ31又は32より送出される。
アドレスとコマンドを送出してから書き込み又は読み出
しのデータ転送を開始するまでのタイミングは可変であ
り、レディ信号によって送出タイミングが示される。メ
モリ20への書き込みの際は、バスマスタ31又は32
がレディ信号を出力し、メモリ20からの読み出しの際
はメモリ制御装置10がレディ信号を出力する。Here, the common bus X1 will be described.
The common bus X1 is a clock synchronous bus. Addresses and data are transferred in a time-division manner by a bidirectional address / data signal X12, and the maximum burst length of data is 4. The command transferred by the command signal X11 of the common bus X1 and the address are sent from the bus master 31 or 32 when the command start signal is active.
The timing from the transmission of the address and the command until the start of the write or read data transfer is variable, and the ready signal indicates the transmission timing. When writing to the memory 20, the bus master 31 or 32
Outputs a ready signal, and when reading from the memory 20, the memory controller 10 outputs a ready signal.
【0028】以降説明を分かりやすくするために、共通
バスX1のアドレス/データ信号幅とメモリ20との信
号X32のデータ幅とを4バイトとし、バースト転送の
要求アドレスは、1回のバースト転送量16バイトの単
位すなわち16の倍数とする。また、バースト長は4固
定とする。ただし、共通バスX1の構成はここでいう構
成に限定するものではなく、別の構成であっても本発明
を適用できる。For the sake of simplicity, the width of the address / data signal of the common bus X1 and the data width of the signal X32 of the memory 20 are assumed to be 4 bytes, and the required address of the burst transfer is one burst transfer amount. The unit is 16 bytes, that is, a multiple of 16. The burst length is fixed at 4. However, the configuration of the common bus X1 is not limited to the configuration described here, and the present invention can be applied to another configuration.
【0029】まずバスマスタ31は、メモリ20からの
バースト転送の読み出し要求をするためにバスアービタ
30に対してバスの使用権要求を行い、使用権を得てタ
イミングt1にて、コマンドスタート信号と、アドレ
ス"a"と、バースト長4のメモリ読み出し要求コマンド
とを出力する。レシーバ回路17を通して制御回路55
は、上記コマンドとアドレスを受け取り、バスマスタ3
1に対応する読出バッファ11の状況を確認する。ここ
では読出バッファ11に読み出すデータが保持されてい
るか否かを確認するため、アドレスレジスタ51に保持
されるアドレスと、読出バッファ11に保持されている
データ数の情報を、それぞれ比較回路53と管理回路6
1で確認する。First, the bus master 31 issues a bus use right request to the bus arbiter 30 to make a burst transfer read request from the memory 20, obtains the use right, and at a timing t1, a command start signal and an address. "a" and a memory read request command having a burst length of 4 are output. Control circuit 55 through receiver circuit 17
Receives the above command and address, and
The status of the read buffer 11 corresponding to 1 is checked. Here, the address held in the address register 51 and the information on the number of data held in the read buffer 11 are managed by the comparison circuit 53 in order to confirm whether or not the data to be read is held in the read buffer 11. Circuit 6
Confirm with 1.
【0030】t1の要求では先行する要求は全て処理が
終わっているので読出バッファ11は空であり、制御回
路55は、メモリ20に対して要求バースト長4と先読
み分の合わせて8バースト長分のデータの読み出しを行
う。最初に読み出した4回分のデータ(A〜D)は、ク
ロック毎に次々と読出バッファ11へ格納され、続いて
共通バスX1へ切換回路14を通して出力される。この
とき、同時に制御回路55は信号X2へレディ信号を出
力して読み出しデータを出力したことを通知する。バス
マスタ31はレディ信号によって共通バスX1から読み
出しデータ(A〜D)を受け取る。In the request at t1, since all the preceding requests have been processed, the read buffer 11 is empty, and the control circuit 55 instructs the memory 20 to store the requested burst length 4 and the prefetch for a total of 8 burst lengths. Is read. The first four data (A to D) read out are stored in the read buffer 11 one after another at every clock, and subsequently output to the common bus X1 through the switching circuit 14. At this time, the control circuit 55 outputs a ready signal to the signal X2 to notify that the read data has been output. The bus master 31 receives read data (A to D) from the common bus X1 by a ready signal.
【0031】このように、最初の4回分の読み出しデー
タ(A〜D)はすぐに共通バスX1へ出力されるため読
出バッファ11には残らず、残りの4回分の読み出しデ
ータ(E〜H)が、読出バッファ11に保持され、アド
レスレジスタ51にはデータ"E"のアドレス"e"が保持
される。ここでアドレス"e"は"a+16"という値であ
る。As described above, the first four read data (A to D) are immediately output to the common bus X1, and therefore, do not remain in the read buffer 11, but the remaining four read data (E to H). Are held in the read buffer 11, and the address "e" of the data "E" is held in the address register 51. Here, the address “e” has a value of “a + 16”.
【0032】次にバスマスタ32は、バスの使用権を得
るとコマンドスタート信号をタイミングt2で出力する
と同時に、アドレス"p"とバースト長4の読み出し要求
コマンドを出力する。メモリ制御装置10はタイミング
t1の要求の動作と同様に、バスマスタ32に対応する
読出バッファ12の状況確認を行う。読出バッファ12
は空なので、制御回路55は、メモリ20に対して要求
バースト長4と先読み分の合わせて8バースト長分のデ
ータの読み出しを行う。最初に読み出した4回分のデー
タ(P〜S)は、クロック毎に次々と読出バッファ12
へ格納され、続いて共通バスX1へ切換回路14を通し
て出力される。このとき、同時に制御回路55は信号X
2へレディ信号を出力して読み出しデータを出力したこ
とを通知する。バスマスタ32はレディ信号によって共
通バスX1から読み出しデータ(P〜S)を受け取る。Next, upon obtaining the right to use the bus, the bus master 32 outputs a command start signal at a timing t2, and at the same time, outputs a read request command having an address "p" and a burst length of 4. The memory control device 10 confirms the status of the read buffer 12 corresponding to the bus master 32, similarly to the operation of the request at the timing t1. Read buffer 12
Is empty, the control circuit 55 reads out the data corresponding to the required burst length 4 and the read-ahead amount for the memory 20 for a total of 8 burst lengths. The first four data (PS) read out are sequentially read out from the read buffer 12 every clock.
And then output to the common bus X1 through the switching circuit 14. At this time, the control circuit 55 simultaneously outputs the signal X
2 to output a ready signal to notify that read data has been output. The bus master 32 receives read data (PS) from the common bus X1 by a ready signal.
【0033】このように、最初の4回分の読み出しデー
タ(P〜S)はすぐに共通バスX1へ出力されるため読
出バッファ12には残らず、残りの4回分の読み出しデ
ータ(T〜W)が、読出バッファ11に格納され保持さ
れ、アドレスレジスタ52にはデータ"T"のアドレス"
p+16"が保持される。As described above, the first four read data (PS) are immediately output to the common bus X1, so that they do not remain in the read buffer 12, but the remaining four read data (T to W). Is stored and held in the read buffer 11, and the address of the data "T" is stored in the address register 52.
p + 16 "is held.
【0034】次にバスマスタ31は、前回のアドレス"
a"に続くアドレス"e"(=a+16)のバースト長4
の読み出し要求と、コマンドスタート信号をタイミング
t3で出力する。上記要求を受け付けると、メモリ制御
装置10は読出バッファ11の状況を確認する。この場
合、読出バッファ11は有効な読み出しデータを保持し
ているため、X42で供給される読み出し要求アドレ
ス"e"とアドレスレジスタ51に保持するアドレス"e"
とが比較回路53で比較され、一致したことが制御回路
55に通知される。Next, the bus master 31 sends the previous address "
burst length 4 of address "e" (= a + 16) following "a"
And a command start signal are output at timing t3. Upon receiving the request, the memory control device 10 checks the status of the read buffer 11. In this case, since the read buffer 11 holds valid read data, the read request address “e” supplied at X42 and the address “e” held in the address register 51 are stored.
Are compared by the comparison circuit 53 and the control circuit 55 is notified that they match.
【0035】一致が通知されると、さらに要求のバース
ト長4のデータが読出バッファ11に保持されているこ
とを管理回路61で確認する。この場合、4バースト長
分のデータがあるので、制御部15はメモリ20への読
み出しは行わず、レディ信号と同時に読出バッファ11
のデータ(E〜H)を切換回路14を通して4回分続け
て共通バスX1へ出力する。バスマスタ31はデータ
(E〜H)を共通バスから受け取り、アドレス"e"の読
み出し要求の動作が完了する。読出バッファ11は保持
していたデータ(E〜H)を出力したために空の状態と
なる。When the coincidence is notified, the management circuit 61 further confirms that data of the requested burst length 4 is held in the read buffer 11. In this case, since there is data corresponding to four burst lengths, the control unit 15 does not read the data into the memory 20, and simultaneously reads the ready signal with the read buffer 11.
(E to H) are output to the common bus X1 four times continuously through the switching circuit 14. The bus master 31 receives the data (E to H) from the common bus, and the operation of the read request for the address “e” is completed. The read buffer 11 becomes empty because it has output the data (E to H) it has held.
【0036】以上のように、アドレス"e"の読み出し要
求ではメモリ20へのアクセスをすることなく、読出バ
ッファ11から読み出しデータを返却できるため、メモ
リ20への読み出し要求を高速に処理することができ
る。また、バスマスタ31からのアドレス"a"とアドレ
ス"e"の要求の間に受け付けたバスマスタ32からのア
ドレス"p"の要求によって読出バッファ11の状態は変
わることなくデータ(E〜H)を保持し続けることがで
きる。これは、バスマスタ毎に読出バッファを備えたこ
とにより、簡単な制御によって実現されている。As described above, a read request for the address "e" can return read data from the read buffer 11 without accessing the memory 20, so that a read request to the memory 20 can be processed at a high speed. it can. In addition, the state of the read buffer 11 is held unchanged by the request of the address “p” from the bus master 32 received between the request of the address “a” and the address “e” from the bus master 31 and the data (E to H) is held. You can continue to do. This is realized by simple control by providing a read buffer for each bus master.
【0037】図3では示していないが、タイミングt3
でバスマスタ31からアドレス"a"に連続しないアドレ
ス"z"のバースト長4の読み出し要求が実行された場合
について説明する。この場合、読出バッファ11が有効
なデータを保持しているため、要求アドレス"z"とアド
レスレジスタ51が比較回路53で比較され不一致を制
御回路55に通知する。制御回路55は、読出バッファ
11が保持するデータが要求のデータでないことを知る
と、読出バッファ11に保持されているデータを無効化
する。制御回路55は、必要なデータを読み出すため
に、メモリ20に対してアドレス"z"から要求のバース
ト長4と先読み分を合わせてバースト長8の読み出しを
行い、要求分のデータをバスマスタ31へ返却して、先
読み分のデータを読出バッファ11に保持する。Although not shown in FIG. 3, the timing t3
A description will be given of a case where a read request of the burst length 4 of the address “z” that is not continuous with the address “a” is executed from the bus master 31. In this case, since the read buffer 11 holds valid data, the request address "z" is compared with the address register 51 by the comparison circuit 53, and a mismatch is notified to the control circuit 55. When the control circuit 55 knows that the data held in the read buffer 11 is not the requested data, it invalidates the data held in the read buffer 11. The control circuit 55 reads out the required data from the address “z” and reads out the burst length 8 from the address “z” by combining the burst length 4 of the request and the read-ahead amount, and sends the requested data to the bus master 31. The data is returned and the read-ahead data is held in the read buffer 11.
【0038】このように、先読みを実行しても後続する
読み出しアドレスが連続しない場合は先読みしたデータ
は無効になってしまい、メモリ20に対する先読みの処
理が余計にされたこととなる。従って、場合によっては
先読みの動作の終了を待つことにより、後に実行される
メモリアクセスが遅延することも起こる。As described above, if the subsequent read addresses are not consecutive even after the pre-reading is executed, the pre-read data becomes invalid, and the pre-read processing for the memory 20 is unnecessary. Therefore, depending on the case, waiting for the end of the prefetch operation may delay the memory access executed later.
【0039】読出バッファを1つしか設けない従来の構
成では、上記のバスマスタ32のタイミングt2の要求
を受けることにより先読みしたデータ(E〜H)が無効
化されてしまい、かえってメモリアクセスを遅延させる
こともあったが、本発明では、読出バッファをバスマス
タ毎に設けているため、各バスマスタにおいて連続した
アドレスで読み出しを行う場合、他のバスマスタのアク
セスによって先読みデータが無効化されることがないの
で、効率よく先読みデータを利用してメモリアクセスを
高速化できる。In the conventional configuration having only one read buffer, the prefetched data (E to H) is invalidated by receiving the request at the timing t2 of the bus master 32, and the memory access is delayed. However, in the present invention, since the read buffer is provided for each bus master, when reading is performed at a continuous address in each bus master, the read-ahead data is not invalidated by access of another bus master. In addition, the memory access can be speeded up by using the prefetch data efficiently.
【0040】ここでは、先読みは読出バッファに要求の
データがないときのみ実行しているが、読出バッファに
要求のデータがあった場合でも、さらに先読みを実行す
るようにしてもよい。また、共通バスX1に次のメモリ
アクセス要求があるか否か参照して、次のメモリアクセ
ス要求がないときに先読みを実行するようにしてもよ
い。ただし、そのためには専用の制御手段を追加して備
える必要があるため、制御が複雑となり設計が難しくな
るが、上記で説明した動作では特別な制御手段は必要な
く設計が容易である。Here, prefetching is performed only when there is no requested data in the read buffer. However, even when there is requested data in the read buffer, prefetching may be further performed. In addition, it is also possible to refer to whether or not there is a next memory access request on the common bus X1 and execute prefetch when there is no next memory access request. However, this requires the addition of dedicated control means, which complicates the control and makes the design difficult. However, the operation described above does not require any special control means and is easy to design.
【0041】本発明は、バスマスタ毎に読出バッファを
設けるため、1つのバッファを各バスマスタで共有する
場合に比べると全体のバッファ容量が大きくなるが、制
御が複雑とならないため、設計が容易で短時間で開発で
きるという長所がある。また、バスマスタに拡張性を持
たせる構成とする情報処理装置では、未実装となるバス
マスタに対しても読出バッファを備える必要があるた
め、バスマスタの拡張性の少ない情報処理装置の方がよ
り効率的である。According to the present invention, the read buffer is provided for each bus master, so that the overall buffer capacity is larger than when one buffer is shared by the bus masters. However, since the control is not complicated, the design is easy and short. It has the advantage that it can be developed in time. Further, in an information processing apparatus having a configuration in which a bus master has expandability, it is necessary to provide a read buffer even for an unmounted bus master, so that an information processing apparatus with less expandability of the bus master is more efficient. It is.
【0042】次に、書き込み要求における動作について
説明する。具体的には図3においてタイミングt2でバ
スマスタ31よりアドレス"e"の書き込み要求を受けた
場合の動作を説明する。Next, the operation in response to a write request will be described. Specifically, an operation when a write request for the address “e” is received from the bus master 31 at the timing t2 in FIG. 3 will be described.
【0043】バスマスタ31はタイミングt2でコマン
ドスタート信号を出力するのと同時にアドレス"e"の書
き込み要求を出力する。これを受信すると、制御部15
では要求アドレス"e"とアドレスレジスタ51、52を
それぞれ比較回路53、54で比較する。この場合、読
出バッファ12は空なので、比較回路54の出力によら
ず不一致となるが、読出バッファ11は有効なので比較
回路53の出力は有効で一致となる。The bus master 31 outputs a command start signal at the timing t2 and simultaneously outputs a write request for the address "e". Upon receiving this, the control unit 15
Then, the comparison circuit 53 compares the requested address "e" with the address registers 51 and 52, respectively. In this case, since the read buffer 12 is empty, no match occurs regardless of the output of the comparison circuit 54. However, since the read buffer 11 is valid, the output of the comparison circuit 53 is valid and coincides.
【0044】一致と判定されると、一致した読出バッフ
ァ11に保持される先読みのデータは無効化され、読出
バッファ11は空となる。この後、バスマスタ31から
出力されるレディ信号に従って書き込みデータを書込バ
ッファ13へ格納し、書込バッファ13からメモリ20
へデータを書き込む。If it is determined that the data matches, the read-ahead data held in the read buffer 11 is invalidated, and the read buffer 11 becomes empty. Thereafter, the write data is stored in the write buffer 13 in accordance with the ready signal output from the bus master 31, and the write buffer 13
Write data to
【0045】これ以降にバスマスタ31からアドレス"
e"の読み出し要求があった場合、読出バッファ11が
空となっているため、メモリ20へ読み出しが行われる
ので、バスマスタ31によるデータの書き換えが反映さ
れたデータをバスマスタ31は得ることができる。上記
のタイミングt2のアドレス"e"の書き込み要求がバス
マスタ31ではなくバスマスタ32で出力された場合で
も、同様に処理されて読出バッファ11のアドレス"e"
の先読みデータは無効化されるため、以降のアクセスで
は正しいデータを読み出すことができる。Thereafter, the address "
When a read request for e "is made, the read buffer 11 is empty, and the read is performed to the memory 20, so that the bus master 31 can obtain data in which the data rewrite by the bus master 31 is reflected. Even when the write request for the address "e" at the timing t2 is output not by the bus master 31 but by the bus master 32, the same processing is performed and the address "e" of the read buffer 11 is processed.
Is invalidated, so that subsequent accesses can read correct data.
【0046】このように書き込み要求においては全ての
読出バッファの状況が確認されるため、読出バッファに
保持されている先読みデータに対してデータの書き換え
が実行されても、誤って書き換える前のデータを以降の
アクセスで返却することなく、書き換えられたデータを
メモリ20から読み出して正しく返却することができ
る。As described above, since the status of all read buffers is confirmed in the write request, even if data is rewritten to the pre-read data held in the read buffer, the data before the rewrite is erroneously performed. The rewritten data can be read out from the memory 20 and returned correctly without being returned in subsequent access.
【0047】別の書き込み要求における動作としては、
書き込みデータをメモリ20へ書き込むとともに、読出
バッファ11にも上書きすることによりデータの整合を
とる方法がある。上述の書き込み要求の動作説明を基に
説明すれば、書き込み要求アドレスと読出バッファ1
1、12を比較した結果、読出バッファ11が一致する
と、上述の動作のようにように読出バッファ11を無効
化することなく、書込バッファ13からメモリ20へデ
ータを書き込むと同時に読出バッファ11へも同一のデ
ータを上書きする。これによりバスマスタ31からの以
降の読み出し要求に対しても書き換え後のデータを読出
バッファ11から読み出して返却することができる。The operation for another write request is as follows.
There is a method of writing data to the memory 20 and overwriting the read buffer 11 to match the data. If described based on the operation description of the write request described above, the write request address and the read buffer 1
As a result of the comparison between 1 and 12, when the read buffers 11 match, the data is written from the write buffer 13 to the memory 20 and simultaneously written to the read buffer 11 without invalidating the read buffer 11 as described above. Also overwrites the same data. As a result, the data after rewriting can be read from the read buffer 11 and returned in response to a subsequent read request from the bus master 31.
【0048】以上ではバスマスタ31よりアドレス"e"
の書き込み要求を受けた場合の動作を説明したが、アド
レス"e+4〜e+12"の各4バイトに対する書き込み
要求では、単純にアドレスレジスタ51と上記書き込み
要求アドレスを比較しても一致とならないので、比較回
路53では、書き込み要求アドレスをアドレスレジスタ
51で保持するアドレス"e"、"e+4"、"e+8"、"
e+12"のそれぞれに対して比較する必要があり、管
理回路61の情報から保持されているデータ数も調べて
書き込みデータが読出バッファ11に保持されているか
否かを判定する必要がある。In the above, the address "e" is sent from the bus master 31.
Has been described, the write request for each of the four bytes at addresses "e + 4 to e + 12" does not match even if the address register 51 is simply compared with the write request address. In the circuit 53, the addresses “e”, “e + 4”, “e + 8”, “e” holding the write request address in the address register 51 are stored.
e + 12 ", and it is necessary to check the number of data held from the information of the management circuit 61 to determine whether or not the write data is held in the read buffer 11.
【0049】しかしながら、このためには判定のための
回路を追加する必要があるため、多くの場合、バースト
転送の要求アドレスを最大バースト長である16バイト
の倍数とし、且つバースト長を16バイトに固定するこ
とにより、比較回路53ではアドレスの下位4ビットを
除外して上位ビットのみを比較するようにしている。こ
うすることにより判定のために比較回路を複雑としなく
て済むからである。本発明の実施の形態では上記どちら
の方法で判定するかは特に限定しない。However, for this purpose, it is necessary to add a circuit for determination. Therefore, in many cases, the requested address of the burst transfer is set to a multiple of 16 bytes which is the maximum burst length, and the burst length is set to 16 bytes. By fixing, the comparison circuit 53 compares only the upper bits excluding the lower 4 bits of the address. This is because the comparison circuit does not have to be complicated for the determination. In the embodiment of the present invention, there is no particular limitation on which of the above methods is used for determination.
【0050】このように、読出バッファに保持する先読
みデータに対する書き込み要求が実行されても、誤って
書き込み前のデータを返却することを回避して、書き込
み後の正しいデータを返却することができる。As described above, even if a write request for the pre-read data held in the read buffer is executed, it is possible to avoid returning data before writing by mistake and return correct data after writing.
【0051】[0051]
【発明の効果】以上説明したように、本発明によれば、
メモリ制御装置に複数のバスマスタ毎に読出バッファを
設けることにより、複数のバスマスタがそれぞれ連続し
たアドレスのデータ読み出しを平行して実行する場合で
も、先読みデータを無効化することなく有効に活用でき
るので、先読みデータの無効化によるメモリへの余計な
アクセスを減らすとともに、メモリアクセスを高速化で
きるという効果がある。As described above, according to the present invention,
By providing a read buffer for each of a plurality of bus masters in the memory control device, even when a plurality of bus masters execute data reading at consecutive addresses in parallel, the read-ahead data can be effectively used without invalidating the pre-read data. There is an effect that unnecessary access to the memory due to invalidation of the prefetch data is reduced, and the memory access can be speeded up.
【図1】本発明の実施の形態の情報処理装置のブロック
図であり、メモリ制御装置、メモリ制御チップを含む。FIG. 1 is a block diagram of an information processing device according to an embodiment of the present invention, which includes a memory control device and a memory control chip.
【図2】本発明の実施の形態の制御部15のブロック図
である。FIG. 2 is a block diagram of a control unit 15 according to the embodiment of the present invention.
【図3】本発明の実施の形態の動作を説明したタイミン
グチャートである。FIG. 3 is a timing chart illustrating an operation of the exemplary embodiment of the present invention.
10 メモリ制御装置 11 読出バッファ 12 読出バッファ 13 書込バッファ 14 切換回路 15 制御部 20 メモリ 30 バスアービタ 31 バスマスタ 32 バスマスタ 51 アドレスレジスタ 52 アドレスレジスタ 53 比較回路 54 比較回路 55 制御回路 61 管理回路 62 管理回路 Reference Signs List 10 memory control device 11 read buffer 12 read buffer 13 write buffer 14 switching circuit 15 control unit 20 memory 30 bus arbiter 31 bus master 32 bus master 51 address register 52 address register 53 comparison circuit 54 comparison circuit 55 control circuit 61 management circuit 62 management circuit
Claims (11)
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、前記メモリから読み出したデータを一時的に保持
する読出バッファを前記バスマスタに対応して前記バス
マスタの数だけ備えたことを特徴とするメモリ制御装
置。1. A memory controller connected to a plurality of bus masters via a bus and controlling access to a memory for storing programs and data in response to a request from the bus master, temporarily holding data read from the memory. A memory control device comprising: a plurality of read buffers corresponding to the number of the bus masters corresponding to the bus masters.
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、 前記メモリから読み出したデータを一時的に保持する読
出バッファを前記バスマスタに対応して前記バスマスタ
の数だけ備えるとともに、前記バスマスタからメモリ読
み出し要求を受けた際に、要求されたデータとこれに続
く後続データとを前記メモリから読み出して要求のあっ
た前記バスマスタに対応した前記読出バッファに保持す
ることを特徴とするメモリ制御装置。2. A memory control device connected to a plurality of bus masters via a bus and controlling access to a memory for storing a program and data in response to a request from the bus master, wherein data read from the memory is temporarily held. Read buffers corresponding to the number of the bus masters corresponding to the bus masters, and when a memory read request is received from the bus master, the requested data and subsequent data are read from the memory and the requested data is read. A memory controller for storing the data in the read buffer corresponding to the bus master.
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、 前記メモリから読み出したデータを一時的に保持する読
出バッファを前記バスマスタに対応して前記バスマスタ
の数だけ備えるとともに、 前記バスマスタの1つのバスマスタAからメモリ読み出
し要求を受けた際に、前記読出バッファの1つでバスマ
スタAに対応した読出バッファAを参照して、読出バッ
ファAに要求されたデータがあった場合には、読出バッ
ファAのデータをバスマスタAに返し、読出バッファA
に要求されたデータが無かった場合には、前記メモリか
らデータを読み出してバスマスタAに返すとともに要求
されたデータに続く後続データを前記メモリから読み出
して読出バッファAに一時的に保持することを特徴とす
るメモリ制御装置。3. A memory controller connected to a plurality of bus masters via a bus and controlling access to a memory for storing programs and data in response to a request from the bus master, wherein the data read from the memory is temporarily held. Read buffers corresponding to the bus masters are provided in correspondence with the number of the bus masters. When a memory read request is received from one of the bus masters A, a read buffer A corresponding to the bus master A is used as one of the read buffers. , If there is requested data in read buffer A, the data in read buffer A is returned to bus master A, and read buffer A
If there is no requested data, the data is read from the memory and returned to the bus master A, and the subsequent data following the requested data is read from the memory and temporarily stored in the read buffer A. Memory control device.
らメモリ読み出し要求を受けた際に、前記読出バッファ
の1つでバスマスタAに対応した読出バッファAを参照
して、読出バッファAに保持されているデータが要求さ
れたデータではなかった場合に、読出バッファAに保持
されているデータを無効にすることを特徴とした請求項
3のメモリ制御装置。4. When a memory read request is received from one bus master A of the bus masters, one of the read buffers refers to a read buffer A corresponding to the bus master A and is held in the read buffer A. 4. The memory control device according to claim 3, wherein when the data is not the requested data, the data held in the read buffer A is invalidated.
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、 前記メモリから読み出したデータを一時的に保持する読
出バッファを前記バスマスタに対応して前記バスマスタ
の数だけ備えるとともに、 前記バスマスタの1つのバスマスタAからメモリ読み出
し要求を受けた際に、前記読出バッファの1つでバスマ
スタAに対応した読出バッファAを参照して、読出バッ
ファAに要求されたデータがあった場合には、読出バッ
ファAのデータをバスマスタAに返し、読出バッファA
に要求されたデータが無かった場合には、前記メモリか
らデータを読み出してバスマスタAに返すとともに前記
メモリ読み出し要求がバースト転送のメモリ読み出し要
求であった場合のみ要求されたデータに続く後続データ
を前記メモリから読み出して読出バッファAに一時的に
保持することを特徴とするメモリ制御装置。5. A memory controller connected to a plurality of bus masters via a bus and controlling access to a memory for storing programs and data in response to a request from the bus master, wherein data read from the memory is temporarily held. Read buffers corresponding to the bus masters are provided in correspondence with the number of the bus masters. When a memory read request is received from one of the bus masters A, a read buffer A corresponding to the bus master A is used as one of the read buffers. , If there is requested data in read buffer A, the data in read buffer A is returned to bus master A, and read buffer A
If there is no requested data, the data is read from the memory and returned to the bus master A, and the subsequent data following the requested data is read only when the memory read request is a burst transfer memory read request. A memory control device for reading data from a memory and temporarily storing the data in a read buffer A.
らメモリ読み出し要求を受けた際に、前記読出バッファ
の1つでバスマスタAに対応した読出バッファAを参照
して、読出バッファAに保持されているデータが要求さ
れたデータではなく且つ前記メモリ読み出し要求がバー
スト転送のメモリ読み出し要求であった場合に、読出バ
ッファAに保持されているデータを無効にすることを特
徴とした請求項5のメモリ制御装置。6. When a memory read request is received from one of the bus masters A, the one of the read buffers refers to the read buffer A corresponding to the bus master A and is held in the read buffer A. 6. The memory control according to claim 5, wherein when the data is not the requested data and the memory read request is a burst transfer memory read request, the data held in the read buffer A is invalidated. apparatus.
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、 前記メモリから読み出したデータを一時的に保持する読
出バッファを前記バスマスタに対応して前記バスマスタ
の数だけ備え、前記メモリへの書き込みデータを一時的
に保持する書込バッファを1つだけ備えたことを特徴と
するメモリ制御装置。7. A memory control device connected to a plurality of bus masters via a bus and controlling access to a memory for storing a program or data in response to a request from the bus master, wherein data read from the memory is temporarily held. A memory control device comprising: a plurality of read buffers corresponding to the number of the bus masters corresponding to the bus masters; and a single write buffer for temporarily holding write data to the memory.
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、 前記メモリから読み出したデータを一時的に保持する読
出バッファを前記バスマスタに対応して前記バスマスタ
の数だけ備えるとともに、前記バスマスタからバースト
転送のメモリ読み出し要求を受けた際に、要求されたデ
ータとこれに続く後続データとを前記メモリから読み出
して要求のあった前記バスマスタに対応した前記読出バ
ッファに保持し、 前記メモリへの書き込みデータを一時的に保持する書込
バッファを備え、前記バスマスタの書き込み要求を受け
た際に、前記全ての読出バッファを参照して、前記書き
込み要求と同じアドレスのデータを保持している読出バ
ッファのデータを無効にすることを特徴とするメモリ制
御装置。8. A memory controller connected to a plurality of bus masters via a bus and controlling access to a memory for storing a program or data in response to a request from the bus master, wherein data read from the memory is temporarily held. A plurality of read buffers corresponding to the bus masters, and when receiving a burst transfer memory read request from the bus master, reads out the requested data and subsequent data from the memory. A write buffer for holding the read buffer corresponding to the bus master that has made the request, and temporarily holding write data to the memory; And holds the data at the same address as the write request. Memory controller and wherein the disabling data output buffer.
記バスマスタの要求に応じてプログラムやデータを記憶
するメモリへのアクセスを制御するメモリ制御装置にお
いて、 前記メモリから読み出したデータを一時的に保持する読
出バッファを前記バスマスタに対応して前記バスマスタ
の数だけ備えるとともに、前記バスマスタからバースト
転送のメモリ読み出し要求を受けた際に、要求されたデ
ータとこれに続く後続データとを前記メモリから読み出
して要求のあった前記バスマスタに対応した前記読出バ
ッファに保持し、 前記メモリへの書き込みデータを一時的に保持する書込
バッファを備え、前記バスマスタの書き込み要求を受け
た際に、前記メモリへ前記書き込みデータを書き込むと
ともに、前記全ての読出バッファを参照して、前記書き
込み要求と同じアドレスのデータを保持している読出バ
ッファへも前記書き込みデータを上書きすることを特徴
とするメモリ制御装置。9. A memory control device connected to a plurality of bus masters via a bus and controlling access to a memory for storing a program and data in response to a request from the bus master, wherein data read from the memory is temporarily held. A plurality of read buffers corresponding to the bus masters, and when receiving a burst transfer memory read request from the bus master, reads out the requested data and subsequent data from the memory. A write buffer for holding the write data to the memory temporarily in the read buffer corresponding to the bus master that has made the request; Write the data and refer to all the read buffers to Memory control apparatus characterized by also override the write data into the read buffer that holds the data of the same address as the write request.
へのアクセスを制御するメモリ制御装置と複数のバスマ
スタとがバスで接続された情報処理装置において、前記
メモリ制御装置が請求項1乃至9のメモリ制御装置であ
る情報処理装置。10. An information processing device in which a memory control device for controlling access to a memory for storing programs and data and a plurality of bus masters are connected by a bus, wherein the memory control device is a memory control device according to claim 1. Information processing device that is a device.
つの集積回路チップに実装したことを特徴とするメモリ
制御チップ。11. The memory control device according to claim 1, wherein
A memory control chip mounted on one integrated circuit chip.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000037908A JP2001229074A (en) | 2000-02-16 | 2000-02-16 | Memory controller and information processor and memory control chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000037908A JP2001229074A (en) | 2000-02-16 | 2000-02-16 | Memory controller and information processor and memory control chip |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001229074A true JP2001229074A (en) | 2001-08-24 |
Family
ID=18561727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000037908A Pending JP2001229074A (en) | 2000-02-16 | 2000-02-16 | Memory controller and information processor and memory control chip |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001229074A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017000B2 (en) | 2003-04-11 | 2006-03-21 | Renesas Technology Corp. | Data transfer control circuit in system LSI |
WO2010061588A1 (en) * | 2008-11-28 | 2010-06-03 | パナソニック株式会社 | Memory control device, data processor, and data read method |
JP2011100295A (en) * | 2009-11-05 | 2011-05-19 | Canon Inc | Memory control circuit |
-
2000
- 2000-02-16 JP JP2000037908A patent/JP2001229074A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017000B2 (en) | 2003-04-11 | 2006-03-21 | Renesas Technology Corp. | Data transfer control circuit in system LSI |
WO2010061588A1 (en) * | 2008-11-28 | 2010-06-03 | パナソニック株式会社 | Memory control device, data processor, and data read method |
US8230138B2 (en) | 2008-11-28 | 2012-07-24 | Panasonic Corporation | Memory control device, data processor, and data read method |
JP5330409B2 (en) * | 2008-11-28 | 2013-10-30 | パナソニック株式会社 | MEMORY CONTROL DEVICE, DATA PROCESSOR, AND DATA READING METHOD |
JP2011100295A (en) * | 2009-11-05 | 2011-05-19 | Canon Inc | Memory control circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5283883A (en) | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput | |
US7120755B2 (en) | Transfer of cache lines on-chip between processing cores in a multi-core system | |
US5893153A (en) | Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control | |
US5265236A (en) | Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode | |
JP3289661B2 (en) | Cache memory system | |
US5561783A (en) | Dynamic cache coherency method and apparatus using both write-back and write-through operations | |
US11023410B2 (en) | Instructions for performing multi-line memory accesses | |
JP2003504757A (en) | Buffering system bus for external memory access | |
JP2010191638A (en) | Cache device | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
US8850159B2 (en) | Method and system for latency optimized ATS usage | |
KR960007833B1 (en) | Method and apparatus for fast page mode selection | |
US8214597B2 (en) | Cache tentative read buffer | |
JP2001229074A (en) | Memory controller and information processor and memory control chip | |
JPH07121443A (en) | Information process system and its operating method | |
JP2003099324A (en) | Streaming data cache for multimedia processor | |
US6374344B1 (en) | Methods and apparatus for processing load instructions in the presence of RAM array and data bus conflicts | |
JPH02110646A (en) | Pre-readout device for memory | |
KR20040047398A (en) | Method for data access using cache memory | |
JP4220258B2 (en) | High-speed memory access method in non-cache area | |
US20060129762A1 (en) | Accessible buffer for use in parallel with a filling cacheline | |
JPH05158793A (en) | Parallel cache memory | |
JPH02259945A (en) | Storing processing system | |
JPS62192831A (en) | Pre-fetch control system for cache memory | |
JPH06110780A (en) | Buffer memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030304 |