JPH07325758A - Memory controller - Google Patents

Memory controller

Info

Publication number
JPH07325758A
JPH07325758A JP6119936A JP11993694A JPH07325758A JP H07325758 A JPH07325758 A JP H07325758A JP 6119936 A JP6119936 A JP 6119936A JP 11993694 A JP11993694 A JP 11993694A JP H07325758 A JPH07325758 A JP H07325758A
Authority
JP
Japan
Prior art keywords
read
data
buffer
read 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
JP6119936A
Other languages
Japanese (ja)
Inventor
Masato Shirato
全人 白▲土▼
Yasuhide Shibata
泰秀 柴田
Toshio Sakurai
利男 櫻井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6119936A priority Critical patent/JPH07325758A/en
Publication of JPH07325758A publication Critical patent/JPH07325758A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To suppress deterioration in the hit probability for a read buffer by deciding whether the data read out of a memory by the identification signal of a master that issued a read request should be stored in the read buffer or not. CONSTITUTION:The data requested from plural masters 2 for reading are read out of a memory 3 and stored in a read buffer 7 included in a memory controller 1. When these requested data are confirmed in the buffer 7, these data are outputted. A control means 18a decides whether the data read out of the memory 3 should be stored in the buffer 7 by the identification signal of the master 2 that issued a read request. Thus the state updating frequency of the buffer 7 is reduced when a read request is given to the buffer 7 in its different address. Then the deterioration of the hit probability can be prevented for the buffer 7.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数個のマスタから、
個々に、リード要求された以上のデータをメモリから読
み込み、メモリコントローラ内部のリードバッファにバ
ッファリングし、次にリード要求されたデータが、上記
リードバッファにバッファリングされているデータであ
るとき、上記リードバッファからデータを出力するメモ
リコントローラに関する。
The present invention relates to a plurality of masters,
Individually, the read requested data is read from the memory, buffered in the read buffer inside the memory controller, and when the read requested data is the data buffered in the read buffer, The present invention relates to a memory controller that outputs data from a read buffer.

【0002】[0002]

【従来の技術】図4, 図5は、従来のリードバッファ付
きメモリコントローラを説明する図であって、図4は、
データ処理システムの全体構成の例を示し、図5は、従
来のリードバッファ付きメモリコントローラの構成例を
示している。
2. Description of the Related Art FIGS. 4 and 5 are views for explaining a conventional memory controller with a read buffer.
An example of the entire configuration of the data processing system is shown, and FIG. 5 shows an example of the configuration of a conventional memory controller with a read buffer.

【0003】データ処理システムは、図4に示されてい
るように、例えば、複数個のバスマスタ{バスマスタ
(1),(2),〜、以下、単に、バスマスタと省略して言う}
2と、メモリコントローラ 1と、メモリ 3とから構成さ
れており、各バスマスタ 2からリード要求があると、該
リード要求を指示する命令が指示するデータサイズのデ
ータをメモリ 3から読み込む。
A data processing system, as shown in FIG. 4, includes, for example, a plurality of bus masters {bus masters.
(1), (2), ..., hereafter simply referred to as a bus master}
2, a memory controller 1, and a memory 3. When a read request is issued from each bus master 2, data of the data size designated by the instruction designating the read request is read from the memory 3.

【0004】このとき、バス幅以上のリード要求がある
と、メモリコントローラ内部のリードバッファ 7にバッ
ファリングし、次のリード要求が、上記リードバッファ
7にバッファリングされているデータであるとき、上記
リードバッファ 7からデータを出力する。
At this time, if there is a read request having a width larger than the bus width, it is buffered in the read buffer 7 inside the memory controller, and the next read request is sent to the read buffer.
When the data is buffered in 7, the read buffer 7 outputs the data.

【0005】上記の動作を、図5により、具体的に説明
する。先ず、図4のバスマスタ 2からリード要求がくる
と、図5のメモリコントローラ 1は、要求アドレス(k
本) 9の内の上位(k-m) 本と、リードバッファアドレス
レジスタ 4の出力アドレスとを比較回路 5で比較し、一
致信号 (ヒット信号) 12が得られないと、ミスヒットと
言うことで、メモリ制御回路 6は、上記バスマスタ 2か
らのメモリアドレスの内の上位のk−m本を、上記リー
ドバッファアドレスレジスタ 4にラッチし、同時に、メ
モリ 3よりメモリデータバス 10 を介して、データをリ
ードし、マルチプレクサ 8を通して、上記バスマスタ 2
に出力する。
The above operation will be specifically described with reference to FIG. First, when a read request comes from the bus master 2 in FIG. 4, the memory controller 1 in FIG.
The upper (km) number of the (book) 9 and the output address of the read buffer address register 4 are compared by the comparison circuit 5, and if the match signal (hit signal) 12 is not obtained, it means that it is a mishit. The memory control circuit 6 latches the upper km km of the memory address from the bus master 2 in the read buffer address register 4, and at the same time, reads the data from the memory 3 via the memory data bus 10. The above bus master 2 through multiplexer 8.
Output to.

【0006】このとき、上記バスマスタ 2が発行した命
令が指示するデータサイズが上記メモリ 3からのメモリ
データバス幅以上であると、上記アドレスバス 9からの
アドレスに続くデータをリードバッファ 7へバッファリ
ングする。
At this time, if the data size indicated by the instruction issued by the bus master 2 is equal to or larger than the memory data bus width from the memory 3, the data following the address from the address bus 9 is buffered in the read buffer 7. To do.

【0007】今、上記バスマスタ 2からの要求アドレス
(k本) がバイトアドレスであり、上記リードバッファア
ドレスレジスタ 4にラッチされるアドレスが、要求アド
レス(k本) の内のk−m本であると、下位のm本のアド
レスに対応する2m 個のバイトデータが、リードバッフ
ァ 7にバッファリングされ、上記命令が指示したデータ
サイズのデータが、要求元のバスマスタ 2に対して、マ
ルチプレクサ 8を通して送出されることになるが、上記
メモリデータバスのバス幅が、nバイト幅であると、一
度にnバイトのデータがメモリ3 から送られてくるの
で、リードバッファ 7としては、2m / n個のリードバ
ッファが設けられる。例えば、m=4 であり、データバス
幅が4バイト幅であると、一つの命令で最大 16 バイト
のデータがメモリ 3から読み出され、24/4=4個のリード
バッファ 7に、上記 16 バイトのデータがバッファリン
グされると共に、該命令が指示するサイズのデータが、
リード要求元のバスマスタ 2に送出される。
Now, the request address from the bus master 2
(k) is a byte address, and if the address latched in the read buffer address register 4 is km of the requested address (k), it corresponds to the lower m addresses. The m bytes of data are buffered in the read buffer 7, and the data of the data size designated by the above instruction is sent to the requesting bus master 2 through the multiplexer 8. If the bus width is n bytes, n bytes of data are sent from the memory 3 at a time, so 2 m / n read buffers are provided as the read buffer 7. For example, m = 4, and the data bus width is 4 bytes wide, up to 16 bytes of data is read from the memory 3 in one instruction, the 2 4/4 = 4 read buffer 7, the 16 bytes of data are buffered, and the data of the size indicated by the instruction is
It is sent to the bus master 2 of the read request source.

【0008】勿論、上記要求アドレス(k本) が語アドレ
スであり、データバス幅が一語のバイト幅と同一である
と、上記リードバッファの数は2m 個となる。上記の比
較処理で、一致信号 (ヒット信号) 12が得られたとき、
メモリ制御回路 6は動作せず、リードバッファ制御回路
16 が、上記要求アドレス(k本) の下位m本をデコード
して、データセレクト信号 13 を生成し、リードバッフ
ァ 7から、上記命令が指示するデータサイズのデータを
読み出し、バスマスタ 2に送出することで、メモリ 3か
らリードするよりも、高速に、要求元のバスマスタ 2に
データを出力していた。
Of course, if the required addresses (k) are word addresses and the data bus width is the same as the byte width of one word, the number of read buffers is 2 m . When a match signal (hit signal) 12 is obtained in the above comparison process,
Memory control circuit 6 does not operate, read buffer control circuit
16 decodes the lower m lines of the above request address (k lines), generates the data select signal 13, reads the data of the data size indicated by the above instruction from the read buffer 7, and sends it to the bus master 2. Then, the data was output to the requesting bus master 2 faster than reading from the memory 3.

【0009】[0009]

【発明が解決しようとする課題】従って、複数個のバス
マスタ 2が接続されている場合、それぞれのバスマスタ
2が要求するデータのアドレスが離れている場合が殆ど
である為、上記のように、リードバッファ 7にバッファ
リングしても、別のバスマスタ 2からのリード要求がく
ると、ミスヒットとなり、上記リードバッファ 7にバッ
ファリングされているデータは、全て、入れ換えられて
しまい、リードバッファ 7にヒットする確率が低くなる
という問題があった。
Therefore, when a plurality of bus masters 2 are connected, each bus master 2
In most cases, the address of the data requested by 2 is distant, so even if it is buffered in the read buffer 7 as described above, a read request from another bus master 2 will result in a mishit and the above All the data buffered in the read buffer 7 is replaced, and there is a problem that the probability of hitting the read buffer 7 becomes low.

【0010】又、バスマスタ 2からのリード要求が、プ
ログラム領域であるとき、プログラム領域のリードは、
連続したアドレスが続くことが殆どであるので、リード
バッファ 7が有効に機能するが、データ領域のリード要
求が、その間に入ると、プログラム領域とデータ領域の
アドレスは、お互いに独立している為、リード要求のア
ドレスの連続性が保証されず、ミスヒットが多くなり、
リードバッファ 7のデータ (プログラムデータ) は全て
入れ換えられてしまう為、リードバッファ 7にヒットと
する確率が低くなるという問題があった。
Further, when the read request from the bus master 2 is the program area, the read of the program area is
The read buffer 7 functions effectively because continuous addresses are most likely to continue, but when a read request for the data area enters during that time, the addresses of the program area and the data area are independent from each other. , Address continuity of read request is not guaranteed, and mishits increase.
Since all the data (program data) in the read buffer 7 is replaced, there is a problem that the probability of hitting the read buffer 7 becomes low.

【0011】本発明は上記従来の欠点に鑑み、リードバ
ッファを備えたメモリコントローラにおいて、リードバ
ッファにヒットする確率が低くなることを抑止すること
ができるメモリコントローラを提供することを目的とす
るものである。
In view of the above conventional drawbacks, it is an object of the present invention to provide a memory controller having a read buffer, which can prevent the probability of hitting the read buffer from decreasing. is there.

【0012】[0012]

【課題を解決するための手段】図1〜図3は、本発明の
一実施例を示した図である。上記の問題点は下記の如く
に構成したメモリコントローラによって解決される。
1 to 3 are views showing an embodiment of the present invention. The above problem is solved by the memory controller configured as follows.

【0013】(1) 複数個のマスタ 2から、個々に、リー
ド要求された以上のデータをメモリ3から読み込み、メ
モリコントローラ 1内部のリードバッファ 7にバッファ
リングし、次にリード要求されたデータが、上記リード
バッファ 7にバッファリングされているデータであると
き、上記リードバッファ 7からデータを出力するメモリ
コントローラ 1であって、リード要求を出したマスタ 2
の識別信号によって、上記メモリ 3から読み込むだデ
ータを、上記リードバッファ 7にバッファリングするか
否かを制御する手段 18aを設けるように構成する。
(1) Each of a plurality of masters 2 individually reads the above-requested data from the memory 3 and buffers it in the read buffer 7 in the memory controller 1. , The memory controller 1 that outputs data from the read buffer 7 when the data is buffered in the read buffer 7, and the master 2 that issued the read request.
A means 18a for controlling whether or not the data read from the memory 3 is buffered in the read buffer 7 according to the identification signal is provided.

【0014】(2) 複数個のマスタ 2から、個々に、リー
ド要求された以上のデータをメモリ3から読み込み、メ
モリコントローラ 1内部のリードバッファ 7にバッファ
リングし、次にリード要求されたデータが、上記リード
バッファ 7にバッファリングされているデータであると
き、上記リードバッファ 7からデータを出力するメモリ
コントローラ 1であって、リードバッファ 7を複数個設
け、リード要求を出したマスタ 2の識別信号によっ
て、上記リードバッファ 7を切り換える手段 18bを設け
るように構成する。
(2) Each of a plurality of masters 2 individually reads the above-requested data from the memory 3 and buffers it in the read buffer 7 in the memory controller 1. When the data is buffered in the read buffer 7, the memory controller 1 outputs the data from the read buffer 7, the read buffer 7 is provided in plural, and the identification signal of the master 2 that issued the read request. Therefore, a means 18b for switching the read buffer 7 is provided.

【0015】(3) 複数個のマスタ 2から、個々に、リー
ド要求された以上のデータをメモリ3から読み込み、メ
モリコントローラ 1内部のリードバッファ 7にバッファ
リングし、次にリード要求されたデータが、上記リード
バッファ 7にバッファリングされているデータであると
き、上記リードバッファ 7からデータを出力するメモリ
コントローラ 1であって、上記マスタ 2からのリード要
求のデータが、上記メモリ 3のプログラム領域のデータ
のとき、上記リードバッファ 7にバッファリングし、デ
ータ領域のデータのときには、上記リードバッファ 7に
バッファリングしないように制御する手段18c を設ける
ように構成する。
(3) Each of a plurality of masters 2 individually reads the above-requested data from the memory 3 and buffers it in the read buffer 7 inside the memory controller 1. When the data is buffered in the read buffer 7, the memory controller 1 outputs the data from the read buffer 7, and the read request data from the master 2 is stored in the program area of the memory 3. When the data is data, the read buffer 7 is buffered, and when the data is data in the data area, the read buffer 7 is not buffered.

【0016】[0016]

【作用】即ち、本発明においては、図1に示したよう
に、バッファリングしないバスマスタ 2を識別する信号
を、各バスマスタ 2から受信し、該受信したバスマス
タ識別信号を、リードバッファデイセーブル信号生成
回路 18aに入力し、該リードバッファデイセーブル信号
生成回路 18aで生成されたリードバッファデイセーブル
信号aによって、メモリ制御回路 6では、比較回路 5
からのヒット信号の有無に係わらず、リードバッファ 7
に対するミスヒットに見せて、メモリ 3をアクセスする
ように動作すると共に、リードバッファ制御回路 16 で
は、リードバッファ 7に対してデイセーブル制御を行う
ようにする。
That is, in the present invention, as shown in FIG. 1, a signal for identifying the bus master 2 that is not buffered is received from each bus master 2, and the received bus master identification signal is generated as a read buffer disable signal. The read buffer disable signal a generated by the read buffer disable signal generation circuit 18a is input to the circuit 18a.
Read buffer 7 with or without a hit signal from
The read buffer control circuit 16 performs a disable control for the read buffer 7 while operating as if to access the memory 3 as if it were a mishit.

【0017】このように制御することにより、バスマス
タ 2から、バッファリングしない特定のバスマスタであ
ることを示すバスマスタ識別信号を受信したとき、メ
モリ制御回路 6では、ヒット信号の有無 (真偽) に係わ
らず、メモリ 3より要求データバイトをリードする制御
を行い、リードバッファ制御回路 16 は、リードバッフ
ァ 7の状態を更新することなく、上記メモリ 3からのリ
ードデータを、要求元のバスマスタ 2に出力することが
でき、バッファリングする他の特定のバスマスタ 2から
のリード要求の時のみ、リードバッファ 7を動作させる
ことができ、リードバッファ 7に対するヒット率を向上
させることができる。
By controlling in this manner, when the bus master identification signal indicating that the bus master 2 is a specific bus master that is not buffered is received from the bus master 2, the memory control circuit 6 is irrelevant to the presence / absence (true / false) of the hit signal. The read buffer control circuit 16 outputs the read data from the memory 3 to the requesting bus master 2 without updating the state of the read buffer 7. Therefore, the read buffer 7 can be operated only when a read request is made from another specific bus master 2 for buffering, and the hit rate for the read buffer 7 can be improved.

【0018】又、図2に示したように、バスマスタ 2毎
に、リードバッファ 71,72, 〜と、リードバッファアド
レスレジスタ 41,42, 〜とを設け、バスマスタ 2からの
バスマスタ識別信号を受信して、リードバッファ選択
信号生成回路 18bに入力し、該リードバッファ選択信号
生成回路 18bで生成されたリードバッファ選択信号b
をセレクタ 4a と、メモリ制御回路 6と、リードバッフ
ァ制御回路 16 に入力するように構成する。
As shown in FIG. 2, read buffers 71, 72, ... And read buffer address registers 41, 42, .about. Are provided for each bus master 2 to receive the bus master identification signal from the bus master 2. Input to the read buffer selection signal generation circuit 18b, and the read buffer selection signal b generated by the read buffer selection signal generation circuit 18b.
Are input to the selector 4a, the memory control circuit 6, and the read buffer control circuit 16.

【0019】セレクタ 4a では、上記リードバッファ選
択信号bが指示するリードバッファアドレスレジスタ
41,42, 〜を選択し、リードバッファ制御回路 16 で
は、上記リードバッファ選択信号bが指示するリード
バッファ 71,72,,〜を選択することで、異なるバスマス
タ 2からの連続しないアドレスのリード要求がきても、
他のバスマスタ 2のリードバッファ 71,72, 〜を更新す
ることなく、該当のリードバッファ 71,72, 〜に、リー
ドデータをバッファリングすることができる。
The selector 4a has a read buffer address register designated by the read buffer selection signal b.
41, 42, ... are selected, and the read buffer control circuit 16 selects the read buffers 71, 72, ... designated by the read buffer selection signal b to read requests of different addresses from different bus masters 2. Even if you wear
The read data can be buffered in the corresponding read buffers 71, 72, -without updating the read buffers 71,72, -of the other bus masters 2.

【0020】又、図3に示したように、バスマスタ 2か
らのリード要求に基づいて、プログラム領域のデータを
リードしているとき、該バスマスタ 2から送出されるデ
ータ領域識別信号を、リードバッファデイセーブル信
号生成回路 18cに入力し、該リードバッファデイセーブ
ル信号生成回路 18cで生成されたリードバッファデイセ
ーブル信号cによって、メモリ制御回路 6では、比較
回路 5からのヒット信号の有無に係わらず、リードバッ
ファ 7に対するミスヒットに見せて、メモリ 3をアクセ
スするように動作すると共に、リードバッファ制御回路
16 では、リードバッファ 7に対してデイセーブル制御
を行うようにする。
Further, as shown in FIG. 3, when the data in the program area is being read based on the read request from the bus master 2, the data area identification signal sent from the bus master 2 is sent to the read buffer data. The read signal is input to the disable signal generation circuit 18c, and the read buffer disable signal c generated by the read buffer disable signal generation circuit 18c causes the memory control circuit 6 to read the read signal regardless of the presence or absence of the hit signal from the comparison circuit 5. It acts as a mishit to buffer 7 and operates to access memory 3 as well as the read buffer control circuit.
In 16, the read buffer 7 is disabled.

【0021】このように制御することにより、リードバ
ッファ制御回路 16 は、現在、リードバッファ 7に格納
されているプログラム領域のデータを更新することな
く、メモリ 3からのデータ領域のデータを、リード要求
元のバスマスタ 2に出力することができ、プログラム領
域のリード要求のみ、リードバッファ 7が機能するの
で、該プログラム領域のリード要求時でのヒット率が低
下するのを防ぐことができる。
By controlling in this way, the read buffer control circuit 16 makes a read request for the data in the data area from the memory 3 without updating the data in the program area currently stored in the read buffer 7. Since it can be output to the original bus master 2 and the read buffer 7 functions only for the read request of the program area, it is possible to prevent the hit rate from decreasing at the read request of the program area.

【0022】[0022]

【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1〜図3が、本発明の一実施例を示した図
である。
Embodiments of the present invention will be described in detail below with reference to the drawings. 1 to 3 described above are views showing an embodiment of the present invention.

【0023】本発明においては、複数個のマスタ 2か
ら、個々に、リード要求された以上のデータをメモリ 3
から読み込み、メモリコントローラ 1内部のリードバッ
ファ 7にバッファリングし、次にリード要求されたデー
タが、上記リードバッファ 7にバッファリングされてい
るデータであるとき、上記リードバッファ 7からデータ
を出力するメモリコントローラ 1であって、リード要求
を出したバスマスタ 2の識別信号によって、上記メモ
リ 3から読み込んだデータを、上記リードバッファ 7に
バッファリングするか否かを変更する手段 18a, リード
バッファ 7を複数個設け、リード要求を出したバスマス
タ 2の識別信号によって、上記リードバッファ 7を切
り換える手段 18b, 上記バスマスタ 2からのリード要求
のデータが、上記メモリ 3のプログラム領域のデータの
とき、上記リードバッファ 7にバッファリングし、デー
タ領域のデータのときには、上記リードバッファ 7にバ
ッファリングしないように制御する手段 18cが、本発明
を実施するのに必要な手段である。尚、全図を通して同
じ符号は同じ対象物を示している。
According to the present invention, a plurality of masters 2 individually store the data more than the read requested data in the memory 3.
A memory which outputs data from the read buffer 7 when read from the read buffer 7 and buffered in the read buffer 7 in the memory controller 1 and the next read requested data is the data buffered in the read buffer 7. In the controller 1, a means 18a for changing whether or not to buffer the data read from the memory 3 in the read buffer 7 according to the identification signal of the bus master 2 which has issued the read request. Means 18b for switching the read buffer 7 according to the identification signal of the bus master 2 which issued the read request, and when the read request data from the bus master 2 is the data in the program area of the memory 3, the read buffer 7 is read. When buffering and data in the data area, The means 18c for controlling so as not to buffer the de-buffer 7 is a means necessary for carrying out the present invention. The same reference numerals indicate the same objects throughout the drawings.

【0024】以下、図1〜図3によって、本発明のメモ
リコントローラの構成と動作を説明する。前述のよう
に、複数個のバスマスタ 2があった場合、それぞれのバ
スマスタ 2が要求するデータのアドレスは、離れている
場合が殆どである。従って、図4で説明したように、一
つのバスマスタ 2からのリード要求に基づいて、メモリ
3からリードしたリードデータを、リードバッファ 7に
バッファリングしても、別のバスマスタ 2からのリード
要求がくると、上記リードバッファ 7にバッファリング
されているデータは全て入れ換えられてしまうため、該
バスマスタ 2からのリード要求があったとき、該リード
バッファ 7にヒットする確率が低下する。
The configuration and operation of the memory controller of the present invention will be described below with reference to FIGS. As described above, when there are a plurality of bus masters 2, the address of the data requested by each bus master 2 is often separated. Therefore, as described with reference to FIG. 4, the memory is read based on the read request from one bus master 2.
Even if the read data read from 3 is buffered in the read buffer 7, if a read request from another bus master 2 comes, all the data buffered in the read buffer 7 will be replaced. When there is a read request from the bus master 2, the probability of hitting the read buffer 7 decreases.

【0025】そこで、本発明では、図1に示したよう
に、特定のバッファリングしないバスマスタ 2からのバ
スマスタ識別信号を、リードバッファディセーブル信
号生成回路 18aに入力し、リードバッファディセーブル
信号aを生成する。
Therefore, in the present invention, as shown in FIG. 1, the bus master identification signal from the specific bus master 2 which is not buffered is input to the read buffer disable signal generation circuit 18a to output the read buffer disable signal a. To generate.

【0026】具体的には、特定のバスマスタ 2からの上
記バスマスタ識別信号を論理和し、該論理和出力が論
理“1”であるとき、上記リードバッファディセーブル
信号aを出力するように構成する。
Specifically, the bus master identification signal from the specific bus master 2 is logically ORed, and the read buffer disable signal a is output when the logical OR output is logical "1". .

【0027】このようにして生成されたリードバッファ
ディセーブル信号aをメモリ制御回路 6と、リードバ
ッファ制御回路 16 に伝える。メモリ制御回路 6では、
比較回路 5からのヒット信号の真偽に係わらず、ミスヒ
ット処理として、メモリ 3より要求されたバイト数のデ
ータをリードし、且つ、リードバッファ制御回路 16で
は、リードバッファ 7の現在の状態を更新することな
く、該メモリ 3からのリードデータを、マルチプレクサ
8を介して、要求元のバスマスタ 2に出力する。
The read buffer disable signal a thus generated is transmitted to the memory control circuit 6 and the read buffer control circuit 16. In the memory control circuit 6,
Regardless of whether the hit signal from the comparison circuit 5 is true or false, as the mishit processing, the number of bytes of data requested by the memory 3 is read, and the read buffer control circuit 16 determines the current state of the read buffer 7. Read data from the memory 3 is updated by the multiplexer without updating.
Output to the requesting bus master 2 via 8.

【0028】この制御手段では、リードバッファを備え
ているバスマスタ 2、例えば、マイクロプロセッサ(MP
U) からのリード要求に対しては、それほど、有効では
ないが、リードバッファを備えていないバスマスタ 2、
例えば、ダイレクトメモリアクセスコントローラ(DMAC)
からのリード要求に対しては、上記メモリコントローラ
のリードバッファ 7が有効に働くといった場合に有効な
手段となる。{請求項1に対応する実施例}次に、図2
の実施例について説明する。図1の実施例は、特定のバ
スマスタ 2に対して、メモリコントローラ上のリードバ
ッファ 7を有効にするか否かを、バスマスタ識別信号
で制御するようにしたものであるが、図2に示した実施
例は、各バスマスタ 2に対して、リードバッファ 71,7
2, 〜と、リードバッファアドレスレジスタ 41,42, 〜
を設けて、各バスマスタ 2を識別するバスマスタ識別信
号を、リードバッファ選択信号生成回路 18bに入力
し、リードバッファ選択信号bを生成する。具体的に
は、各バスマスタ 2からのバスマスタ識別信号を、上
記リードバッファ 71,72, 〜, 及び、リードバッファア
ドレスレジスタ 41,42, 〜を選択する為のリードバッフ
ァ選択信号bとして、セレクタ 4a,及び、リードバッ
ファ制御回路 16 に送出する。
In this control means, a bus master 2 having a read buffer, for example, a microprocessor (MP
(U) is not very effective for read requests from bus masters 2 without read buffers,
For example, direct memory access controller (DMAC)
This is an effective means for a read request from the memory controller when the read buffer 7 of the memory controller works effectively. {Example corresponding to claim 1} Next, FIG.
An example will be described. In the embodiment of FIG. 1, whether or not to enable the read buffer 7 on the memory controller for a specific bus master 2 is controlled by a bus master identification signal. In the embodiment, the read buffers 71 and 7 are provided for each bus master 2.
2, ~ and read buffer address registers 41, 42, ~
A bus master identification signal for identifying each bus master 2 is input to the read buffer selection signal generation circuit 18b to generate the read buffer selection signal b. Specifically, the bus master identification signal from each bus master 2 is used as a read buffer selection signal b for selecting the read buffers 71, 72, ... And the read buffer address registers 41, 42 ,. It is also sent to the read buffer control circuit 16.

【0029】セレクタ 4a では、リード要求をしたバス
マスタ 2からのバスマスタ識別信号に基づいて生成さ
れたリードバッファ選択信号bに基づいて、対応する
リードバッファアドレスレジスタ 41,42, 〜を選択し、
比較回路 5でヒットの有無を調べ、リードバッファ制御
回路 16 では、対応するリードバッファ 71,72, 〜を選
択する。従って、異なるバスマスタ 2から、連続しない
アドレスのリード要求がきても、他のバスマスタ 2のリ
ードバッファ 7は更新されないので、上記リード要求を
したバスマスタ 2からのリード要求があったときの、該
リードバッファ7に対してヒットする確率が下がるのを
防ぐことができる。尚、メモリ制御回路6では、上記バ
ス選択信号bが、図1のリードバッファディセーブル
信号と同様に作用する。{請求項2に対応する実施例} 図3は、他の実施例を示したものである。あるバスマス
タ 2からのリード要求で、メモリ 3のプログラム領域を
リードする場合には、前述のように、連続したアドレス
が続くことが殆どであるので、リードバッファ 7が有効
に機能するが、該バスマスタ 2からのリード要求中に、
該プログラム領域とは異なるデータ領域に対するリード
要求が、その間に入る場合は、プログラム領域とデータ
領域とは、別領域であるので、アドレスが連続していな
い為、リードバッファ 7のプログラ領域のデータは全て
入れ換えられて、ミスヒットすることが多くなる。
The selector 4a selects the corresponding read buffer address registers 41, 42, -based on the read buffer selection signal b generated on the basis of the bus master identification signal from the bus master 2 which issued the read request,
The comparison circuit 5 checks whether or not there is a hit, and the read buffer control circuit 16 selects the corresponding read buffer 71, 72 ,. Therefore, the read buffers 7 of other bus masters 2 are not updated even when read requests of non-consecutive addresses are received from different bus masters 2. Therefore, when there is a read request from the bus master 2 that made the above read request, You can prevent the probability of hitting 7 from decreasing. In the memory control circuit 6, the bus selection signal b acts similarly to the read buffer disable signal shown in FIG. {Example corresponding to claim 2} FIG. 3 shows another example. When the program area of the memory 3 is read by a read request from a certain bus master 2, the read buffer 7 functions effectively because most of the continuous addresses continue as described above. During the read request from 2,
If a read request for a data area different from the program area is entered between them, the program area and the data area are different areas, and the addresses are not continuous. All of them will be replaced, and you will often miss.

【0030】そこで、本発明においては、図3に示され
ているように、上記プログラム領域に対してリード要求
を出しているバスマスタ 2からのリード要求が、データ
領域になったことを示すデータ領域識別信号を、リー
ドバッファディセーブル信号生成回路 18cに入力し、リ
ードバッファディセーブル信号cを生成する。具体的
には、各バスマスタ 2からのデータ領域識別信号を論
理和し、論理和出力を、リードバッファディセーブル信
号cとする。
Therefore, in the present invention, as shown in FIG. 3, a data area indicating that the read request from the bus master 2 which has issued a read request to the program area has become a data area. The identification signal is input to the read buffer disable signal generation circuit 18c to generate the read buffer disable signal c. Specifically, the data area identification signal from each bus master 2 is logically ORed, and the logical OR output is used as the read buffer disable signal c.

【0031】このようにして生成されたリードバッファ
ディセーブル信号cを、メモリ制御回路 6と、リード
バッファ制御回路 16 に送出する。メモリ制御回路 6で
は、ヒット信号の真偽に係わらず、メモリ 3よりリード
要求されたデータ領域のデータをリードし、リードバッ
ファ制御回路 16 では、上記リードバッファディセーブ
ル信号cに基づいて、リードバッファ 7の状態を更新
することなく、マルチプレクサ 8を介して、対応するバ
スマスタ 2に、該リードデータを出力する。
The read buffer disable signal c thus generated is sent to the memory control circuit 6 and the read buffer control circuit 16. The memory control circuit 6 reads the data in the data area requested to be read from the memory 3 regardless of whether the hit signal is true or false, and the read buffer control circuit 16 reads the read buffer disable signal c based on the read buffer disable signal c. The read data is output to the corresponding bus master 2 via the multiplexer 8 without updating the state of 7.

【0032】このように制御することで、プログラム領
域のリード要求のときのみ、リードバッファ 7が機能す
るので、該プログラム領域のリード要求時でのヒット率
が下がるのを防ぐことができる。{請求項3に対応する
実施例}このように、本発明のメモリコントローラで
は、リード要求を出したバスマスタの種別により、リー
ドバッファにリードデータをバッファリングするか否か
を変更制御する。又、リードバッファを複数個設けて、
リード要求を出したバスマスタによって、リードバッフ
ァを切り換える。又、バスマスタからのリード要求のデ
ータがプログラム領域のデータのとき、バッファリング
し、データ領域のデータのときにはバッファリングしな
いように制御するようにしたところに特徴がある。
By controlling in this way, the read buffer 7 functions only when a read request is made for the program area, so that it is possible to prevent the hit rate from decreasing when a read request is made for the program area. {Embodiment corresponding to claim 3} As described above, the memory controller of the present invention changes and controls whether or not to buffer the read data in the read buffer depending on the type of the bus master that has issued the read request. Also, by providing multiple read buffers,
The read buffer is switched by the bus master that issued the read request. Further, it is characterized in that when the read request data from the bus master is the data in the program area, the buffering is controlled, and when the data in the data area is controlled, the buffering is not performed.

【0033】[0033]

【発明の効果】以上、詳細に説明したように、本発明の
メモリコントローラによれば、複数個のマスタ 2から、
個々に、リード要求された以上のデータをメモリ 3から
読み込み、メモリコントローラ 1内部のリードバッファ
7にバッファリングし、次のリード要求が、上記リード
バッファ 7にバッファリングされているデータであると
き、上記リードバッファ 7からデータを出力するメモリ
コントローラ 1においては、バスマスタ 2からのバスマ
スタ識別信号, , 或いは、データ領域識別信号に
よって、選択的に、リードバッファ 7に対するバッファ
リングの制御を行っているので、該リードバッファ 7に
対するリード要求があって、そのアドレスが異なったと
きのリードバッファ 7の状態を更新することが少なくな
り、該リードバッファ 7に対するヒット率が下がるのを
防ぐことができる効果がある。
As described above in detail, according to the memory controller of the present invention, from the plurality of masters 2,
Read more than the requested read data from the memory 3 individually and read it in the read buffer inside the memory controller 1.
When the next read request is data that is buffered in the read buffer 7, the memory controller 1 that outputs data from the read buffer 7 outputs the bus master identification signal from the bus master 2, Or, since the buffering control for the read buffer 7 is selectively performed by the data area identification signal, the state of the read buffer 7 when there is a read request to the read buffer 7 and the address is different. Is less likely to be updated, and it is possible to prevent the hit rate for the read buffer 7 from decreasing.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示した図(その1)FIG. 1 is a diagram showing an embodiment of the present invention (No. 1).

【図2】本発明の一実施例を示した図(その2)FIG. 2 is a diagram showing an embodiment of the present invention (Part 2).

【図3】本発明の一実施例を示した図(その3)FIG. 3 is a diagram showing an embodiment of the present invention (part 3).

【図4】従来のリードバッファ付きメモリコントローラ
を説明する図(その1)
FIG. 4 is a diagram (part 1) illustrating a conventional memory controller with a read buffer.

【図5】従来のリードバッファ付きメモリコントローラ
を説明する図(その2)
FIG. 5 is a diagram for explaining a conventional memory controller with a read buffer (part 2).

【符号の説明】[Explanation of symbols]

1 メモリコントローラ 2,21,22 バスマスタ 3 メモリ 4 リードバッファアドレスレジスタ 4a セレクタ 5 比較回路 6 メモリ制
御回路 7 リードバッファ 8 マルチプ
レクサ , バスマスタ識別信号 データ領域識別信号 a,c リードバッファディセーブル信号 b リードバッファ選択信号
1 Memory controller 2,21,22 Bus master 3 Memory 4 Read buffer address register 4a Selector 5 Comparison circuit 6 Memory control circuit 7 Read buffer 8 Multiplexer, Bus master identification signal Data area identification signal a, c Read buffer disable signal b Read buffer selection signal

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】複数個のマスタ(2) から、個々に、リード
要求された以上のデータをメモリ(3) から読み込み、メ
モリコントローラ(1) 内部のリードバッファ(7) にバッ
ファリングし、次にリード要求されたデータが、上記リ
ードバッファ(7) にバッファリングされているデータで
あるとき、上記リードバッファ(7) からデータを出力す
るメモリコントローラ(1) であって、 リード要求を出したマスタ(2) の識別信号 () によっ
て、上記メモリ(3) から読み込んだデータを、上記リー
ドバッファ(7) にバッファリングするか否かを制御する
手段 (18a)を設けたことを特徴とするメモリコントロー
ラ。
1. A plurality of masters (2) individually read more than the requested read data from the memory (3), buffer them in a read buffer (7) inside the memory controller (1), and When the read-requested data is the data buffered in the read buffer (7), the read-request is issued by the memory controller (1) that outputs the data from the read buffer (7). A feature (18a) for controlling whether or not the data read from the memory (3) is buffered in the read buffer (7) by the identification signal () of the master (2) is provided. Memory controller.
【請求項2】複数個のマスタ(2) から、個々に、リード
要求された以上のデータをメモリ(3) から読み込み、メ
モリコントローラ(1) 内部のリードバッファ(7) にバッ
ファリングし、次にリード要求されたデータが、上記リ
ードバッファ(7) にバッファリングされているデータで
あるとき、上記リードバッファ(7) からデータを出力す
るメモリコントローラ(1) であって、 リードバッファ(7) を複数個設け、リード要求を出した
マスタ(2) の識別信号() によって、上記リードバッ
ファ(7) を切り換える手段 (18b)を設けたことを特徴と
するメモリコントローラ。
2. A plurality of masters (2) individually read more than the requested read data from the memory (3), buffer them in a read buffer (7) inside the memory controller (1), and When the read-requested data is the data buffered in the read buffer (7), the read controller (1) outputs the data from the read buffer (7). A memory controller characterized in that a plurality of (18b) are provided, and means (18b) for switching the read buffer (7) according to the identification signal () of the master (2) which issued the read request.
【請求項3】複数個のマスタ(2) から、個々に、リード
要求された以上のデータをメモリ(3) から読み込み、メ
モリコントローラ(1) 内部のリードバッファ(7) にバッ
ファリングし、次にリード要求されたデータが、上記リ
ードバッファ(7) にバッファリングされているデータで
あるとき、上記リードバッファ(7) からデータを出力す
るメモリコントローラ(1) であって、 上記マスタ(2) からのリード要求のデータが、上記メモ
リ(3) のプログラム領域のデータのとき、上記リードバ
ッファ(7) にバッファリングし、データ領域のデータの
ときには、上記リードバッファ(7) にバッファリングし
ないように制御する手段 (18c)を設けたことを特徴とす
るメモリコントローラ。
3. A plurality of masters (2) individually read more than the requested read data from the memory (3), buffer them in a read buffer (7) inside the memory controller (1), and The memory controller (1) that outputs data from the read buffer (7) when the data requested to be read by the read buffer (7) is data buffered in the read buffer (7), and the master (2) When the data of the read request from is the data of the program area of the above memory (3), buffer it in the above read buffer (7), and when the data of the data area, do not buffer it in the above read buffer (7). A memory controller characterized by being provided with means (18c) for controlling.
JP6119936A 1994-06-01 1994-06-01 Memory controller Pending JPH07325758A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6119936A JPH07325758A (en) 1994-06-01 1994-06-01 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6119936A JPH07325758A (en) 1994-06-01 1994-06-01 Memory controller

Publications (1)

Publication Number Publication Date
JPH07325758A true JPH07325758A (en) 1995-12-12

Family

ID=14773839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6119936A Pending JPH07325758A (en) 1994-06-01 1994-06-01 Memory controller

Country Status (1)

Country Link
JP (1) JPH07325758A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175534A (en) * 1999-12-17 2001-06-29 Sanyo Electric Co Ltd Memory control circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175534A (en) * 1999-12-17 2001-06-29 Sanyo Electric Co Ltd Memory control circuit

Similar Documents

Publication Publication Date Title
US5765187A (en) Control system for a ring buffer which prevents overrunning and underrunning
JPH04242848A (en) System for controlling cache memory by running mode
JPH1196072A (en) Memory access control circuit
JPH07325758A (en) Memory controller
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
US6694408B1 (en) Scalable replacement method and system in a cache memory
JPS6022376B2 (en) Cache memory control device
JP2001331363A (en) Request order controller
JPH09146839A (en) Cache memory controller
JPS62145445A (en) Cache memory system
JPS6389951A (en) Cache memory device
EP0502206A1 (en) System equipped with processor and cache memory, and method of controlling said cache memory
JPH05225058A (en) Storage controller
JPH02307123A (en) Computer
JPH0148571B2 (en)
JPH10124383A (en) Memory access control system
JPH09198300A (en) Method for controlling memory access
JPH0675765A (en) Processing speed controller
JP2004046643A (en) Cache device and method for selecting storage means
JPH04288647A (en) Substitution controller for cache memory
JPS61221845A (en) Producing system for invalidated address of buffer memory
JP2003015957A (en) Cache memory control system
JPH0721111A (en) Priority level determination system
JPH04352047A (en) Method and device for controlling address conversion
JPH07262150A (en) Parallel computer

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031202