JPH09231134A - Memory control circuit - Google Patents

Memory control circuit

Info

Publication number
JPH09231134A
JPH09231134A JP8036204A JP3620496A JPH09231134A JP H09231134 A JPH09231134 A JP H09231134A JP 8036204 A JP8036204 A JP 8036204A JP 3620496 A JP3620496 A JP 3620496A JP H09231134 A JPH09231134 A JP H09231134A
Authority
JP
Japan
Prior art keywords
data
buffer
write
memory
output
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.)
Withdrawn
Application number
JP8036204A
Other languages
Japanese (ja)
Inventor
Yasuhiro Mitsui
靖博 三井
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP8036204A priority Critical patent/JPH09231134A/en
Publication of JPH09231134A publication Critical patent/JPH09231134A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the occupation time of a host bus. SOLUTION: For back writing by single writing, single write data is latched by a single-write buffer 14a and back write data is latched by a back write buffer 4c. A data selecting and merging circuit 14b merges the back write data and single write data and outputs them by every 128 bits to a memory 5 through an input/output buffer 14b. A memory control signal generating circuit 4i generates a memory control signal to write the data in the memory 5. For back writing by single reading, the back write data is latched by the back write latch 4c. The data selecting and merging circuit 14b writes the back write data by every 128 bits in the memory 5 through the input/output buffer 14b. A data selecting circuit 14d, on the other hand, selects data from a burst data buffer 4c and outputs it to the host bus 3.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ライトバック方式
のキャッシュを持つマルチプロセッサシステムにおける
メモリ制御回路に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory control circuit in a multiprocessor system having a write-back type cache.

【0002】[0002]

【従来の技術】近年、コンピュータにおいてプロセッサ
にキャッシュを付けることは当たり前になってきてお
り、1次キャッシュを内蔵するプロセッサがほとんどで
ある。サーバなどのハイエンドのコンピュータではさら
に2次キャッシュをつけ性能向上を図っている。また、
さらなる性能向上のためにマルチプロセッサシステムが
実現されてきており、マルチプロセッサシステムではキ
ャッシュ間のコンシステンシを保つために、いろいろな
プロトコルが採用されているが、なかでも良く使われる
のがMESIプロトコルである。MESIプロトコルの
中でもキャッシュの管理に関して大きく分けてライトス
ルー方式とライトバック方式があり、ほとんどのシステ
ムでは、ライトバック方式が採用されている。ライトバ
ック方式を採用した際の一番重要な技術としてライトバ
ックの取扱いがある。従来、ライトバック方式を採用し
たキャッシュ装置を持つマルチプロセッサシステムにお
けるバス制御方式及びメモリ制御回路はシングルプロセ
ッサシステムと同じ構成がとられている。
2. Description of the Related Art In recent years, it has become commonplace to add a cache to a processor in a computer, and most processors include a primary cache. High-end computers such as servers are equipped with a secondary cache to improve performance. Also,
A multiprocessor system has been realized for further performance improvement. In the multiprocessor system, various protocols are adopted in order to maintain the consistency between the caches. Among them, the MESI protocol is often used. is there. Among the MESI protocols, cache management is roughly divided into a write-through method and a write-back method, and most systems use the write-back method. Handling the write-back is the most important technology when the write-back method is adopted. Conventionally, a bus control system and a memory control circuit in a multiprocessor system having a cache device adopting a write-back system have the same configuration as a single processor system.

【0003】図2は、従来のメモリ制御回路の構成例を
示す機能ブロック図である。シングルデータの書き込み
の時には、ホストバス3側からのデータはコントローラ
4jとバッファ・データ選択制御回路4eの制御によっ
て、ライトバッファト4cにラッチされた後、データ選
択回路4dで選択され、入出力バッファ4bを通して、
コントローラ4jとメモリ制御信号生成回路4iの制御
によって、メモリ5にライトされる。バーストデータの
書き込み時には、コントローラ4jとバッファ・データ
選択制御回路4eの制御によって、ホストバス3側から
の4連送の書き込みデータはライトバッファ4cにラッ
チされた後、データ選択回路4dで順次選択されて、入
出力バッファ4bを通して、コントローラ4jとメモリ
制御信号生成回路4iの制御によって、メモリ5にライ
トされる。シングルデータの読み出しの時には、コント
ローラ4jとメモリ制御信号生成回路4iの制御によ
り、メモリ5から読み出されたデータは、コントローラ
4jとバッファ・データ選択制御回路4hの制御によ
り、リードバッファ4fにラッチされた後、データ選択
器4gで選択されて、入出力バッファ4aを通して、ホ
ストバス3に出力される。
FIG. 2 is a functional block diagram showing a configuration example of a conventional memory control circuit. When writing single data, the data from the host bus 3 side is latched by the write buffer 4c under the control of the controller 4j and the buffer / data selection control circuit 4e, and then selected by the data selection circuit 4d to be input / output buffer. Through 4b,
It is written in the memory 5 under the control of the controller 4j and the memory control signal generation circuit 4i. At the time of writing burst data, the write data of four consecutive transmissions from the host bus 3 side is latched in the write buffer 4c by the control of the controller 4j and the buffer data selection control circuit 4e, and then sequentially selected by the data selection circuit 4d. Then, the data is written to the memory 5 through the input / output buffer 4b under the control of the controller 4j and the memory control signal generation circuit 4i. When reading single data, the data read from the memory 5 under the control of the controller 4j and the memory control signal generation circuit 4i is latched in the read buffer 4f under the control of the controller 4j and the buffer / data selection control circuit 4h. Then, it is selected by the data selector 4g and output to the host bus 3 through the input / output buffer 4a.

【0004】バーストデータの読み出し時には、コント
ローラ4jとメモリ制御信号生成回路4iの制御によ
り、メモリ5から読み出されたデータは、コントローラ
4jとバッファ・データ選択制御回路4hの制御によ
り、リードバッファ4fにラッチされた後、データ選択
器4gで選択されて、入出力バッファ4aを通して、ホ
ストバス3に4連送で出力される。ライトに対するライ
トバック時には、コントローラ4jとデータバッファ選
択制御回路4eの制御により、ライトバックデータがラ
イトバッファ4cにラッチされた後、データ選択回路4
dで順次選択されて、入出力バッファ4aを通して、コ
ントローラ4jとメモリ制御信号生成回路4iの制御に
より、メモリ5に書き込まれる。その後、ライトバック
データがコントローラ4jとバッファ・データ選択制御
回路4eの制御によって、ライトバッファト4cにラッ
チされた後、データ選択回路4dで選択され、入出力バ
ッファ4bを通して、コントローラ4jとメモリ制御信
号生成回路4iの制御によって、メモリ5にライトされ
る。
When reading burst data, the data read from the memory 5 under the control of the controller 4j and the memory control signal generation circuit 4i is stored in the read buffer 4f under the control of the controller 4j and the buffer / data selection control circuit 4h. After the data is latched, it is selected by the data selector 4g and is output to the host bus 3 through the input / output buffer 4a in four consecutive transmissions. At the time of write back for writing, the write back data is latched in the write buffer 4c by the control of the controller 4j and the data buffer selection control circuit 4e, and then the data selection circuit 4
The data is sequentially selected by d and written in the memory 5 through the input / output buffer 4a under the control of the controller 4j and the memory control signal generation circuit 4i. After that, the write-back data is latched in the write buffer 4c under the control of the controller 4j and the buffer / data selection control circuit 4e, then selected by the data selection circuit 4d, and passed through the input / output buffer 4b to the controller 4j and the memory control signal. It is written in the memory 5 under the control of the generation circuit 4i.

【0005】シングルリードに対するライトバック時に
は、コントローラ4jとデータバッファ選択制御回路4
eの制御により、ライトバックデータがライトバッファ
4cにラッチされた後、データ選択回路4dで順次選択
されて、入出力バッファ4aを通して、コントローラ4
jとメモリ制御信号生成回路4iの制御により、メモリ
5に書き込まれる。その後、コントローラ4jとメモリ
制御信号生成回路4iの制御により、メモリ5からシン
グルデータが読み出されて、コントローラ4jとバッフ
ァ・データ選択制御回路4hの制御により、リードバッ
ファ4fにラッチされた後、データ選択器4gで選択さ
れて、入出力バッファ4aを通して、ホストバス3に出
力される。バーストリードに対するライトバック時に
は、コントローラ4jとデータバッファ選択制御回路4
eの制御により、ライトバックデータがライトバッファ
4cにラッチされた後、データ選択回路4dで順次選択
されて、入出力バッファ4aを通して、コントローラ4
jとメモリ制御信号生成回路4iの制御により、メモリ
5に書き込まれる。その後、コントローラ4jとメモリ
制御信号生成回路4iの制御により、メモリ5からシン
グルデータが読み出されて、コントローラ4jとバッフ
ァ・データ選択制御回路4hの制御により、リードバッ
ファ4fにラッチされた後、データ選択器4gで選択さ
れて、入出力バッファ4aを通して、4連送でホストバ
ス3に出力される。
At the time of write back for a single read, the controller 4j and the data buffer selection control circuit 4
After the write-back data is latched in the write buffer 4c by the control of e, it is sequentially selected by the data selection circuit 4d and passed through the input / output buffer 4a to the controller 4
It is written in the memory 5 under the control of j and the memory control signal generation circuit 4i. After that, single data is read from the memory 5 under the control of the controller 4j and the memory control signal generation circuit 4i, and latched in the read buffer 4f under the control of the controller 4j and the buffer / data selection control circuit 4h. It is selected by the selector 4g and output to the host bus 3 through the input / output buffer 4a. At the time of write back for burst read, the controller 4j and the data buffer selection control circuit 4
After the write-back data is latched in the write buffer 4c by the control of e, it is sequentially selected by the data selection circuit 4d and passed through the input / output buffer 4a to the controller 4
It is written in the memory 5 under the control of j and the memory control signal generation circuit 4i. After that, single data is read from the memory 5 under the control of the controller 4j and the memory control signal generation circuit 4i, and latched in the read buffer 4f under the control of the controller 4j and the buffer / data selection control circuit 4h. It is selected by the selector 4g and is output to the host bus 3 by four continuous transmissions through the input / output buffer 4a.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、従来の
メモリ制御回路では、以下のような問題点があった。従
来のメモリ制御回路ではライトバックが起きると、メモ
リ5にライトバックした後、そのライトバックしたデー
タを読み出すあるいはライトバックしたデータを更新す
るため、メモリ5やホストバス3の占有時間が長くな
り、データ転送のオーバーヘッドが大きいという欠点が
あった例として、64ビットのデータ処理単位及び4連
送のバースト転送機能を持つプロセッサ及びキャッシュ
と、128ビットのメモリバンド幅を持つマルチプロセ
ッサシステムにおける動作をタイムチャートを用いて説
明する。図3は、図2におけるシングルライトに対する
ライトバックを示すタイムチャートである。
However, the conventional memory control circuit has the following problems. When a write-back occurs in the conventional memory control circuit, the write-back data is written back to the memory 5, and then the write-back data is read or the write-back data is updated, so that the occupied time of the memory 5 and the host bus 3 becomes long, As an example in which the overhead of data transfer is large, the operation in a processor and a cache having a 64-bit data processing unit and a burst transfer function of 4 consecutive transmissions and a multiprocessor system having a 128-bit memory bandwidth is timed. This will be explained using a chart. FIG. 3 is a time chart showing write back for the single write in FIG.

【0007】(a) ライトに対するライトバック時 あるプロセッサ1−iからの書き込み要求の結果とし
て、キャッシュ2−iがメモリ5にシングルライトしよ
うとしてアドレスをアドレスバス3−ADにドライブす
る。コントローラ4jは、アドレスを確認したことを示
す信号ADRY#をアサートし、データを受け付けるこ
とを示す信号DRDY#をアサートする。そのアドレス
に対してサイクルを起動したプロセッサ以外の各キャッ
シュ2−j(j≠i)及びプロセッサ1−jはスヌープ
を行い、そのデータが他のキャッシュ2−n(n≠i)
のキャシュメモリのモデイファイラインにヒットすると
キしたことを示す信号QHTM#でアサートし、ライト
バックの準備ができたことを示す信号WBDS#を用い
て示す。コントローラ4jはバックライトデータを受け
付けることを信号DRDY#を用いて示す。コントロー
ラ4jとバッファ・データ選択制御回路4eの制御によ
り、データライトバックデータD1〜D4をライトバッ
ファ4cにラッチする。そして、バッファ・データ選択
制御回路4eの制御により、データ選択回路4dがバッ
クライトデータをライトバッファ4cから128ビット
毎に選択し、メモリ制御信号生成回路4iの制御によっ
て、メモリ5に書き込む。その後、シングルデータD2
をライトバッファ4cにラッチして、そのデータをデー
タ選択回路4dで選択して、シングルデータD2を入出
力バッファ4bを通して、メモリ5に書き込む。この場
合、シングルライトを行おうとしたキャッシュ2−i
は、ライトバックデータがメモリ5に書き込まれるまで
待たされることになる。
(A) At the time of write-back for writing As a result of a write request from a certain processor 1-i, the cache 2-i drives the address to the address bus 3-AD in order to perform a single write to the memory 5. The controller 4j asserts the signal ADRY # indicating that the address has been confirmed, and asserts the signal DRDY # indicating that the data is accepted. Each cache 2-j (j ≠ i) and processor 1-j other than the processor that started the cycle for that address perform snooping, and the data is cached in another cache 2-n (n ≠ i).
The signal is asserted by the signal QHTM # indicating that the modification line of the cache memory is hit, and the signal WBDS # indicating that the write-back is ready is used. The controller 4j uses a signal DRDY # to indicate that the backlight data is received. Under the control of the controller 4j and the buffer / data selection control circuit 4e, the data write back data D1 to D4 are latched in the write buffer 4c. Then, under the control of the buffer / data selection control circuit 4e, the data selection circuit 4d selects the backlight data from the write buffer 4c for every 128 bits, and writes it in the memory 5 under the control of the memory control signal generation circuit 4i. After that, single data D2
Is latched in the write buffer 4c, the data is selected by the data selection circuit 4d, and the single data D2 is written in the memory 5 through the input / output buffer 4b. In this case, the cache 2-i that tried to perform a single write
Will be kept waiting until the write-back data is written in the memory 5.

【0008】(b) シングルリードに対するライトバ
ック時 図4は、図2におけるシングルリードに対するライトバ
ックを示すタイムチャートである。あるプロセッサ1−
iからの読み出し要求の結果として、キャッシュ2−i
がメモリ5にシングルリードしようとしてアドレスをア
ドレスバス3−ADにドライブする。そのアドレスに対
してサイクルを起動したプロセッサ1−i以外の各キャ
ッシュ2−j(i≠j)及びプロセッサ1−jはスヌー
プを行い、そのデータが他のキャッシュ2−n(n≠
i)がそのキャシュメモリのモデイファイラインにヒッ
トしたことを示す信号QHTM#でアサートし、ライト
バックの準備ができたことを示す信号WBDS#を用い
て示す。コントローラ4jは、バックライトデータを受
け付けることを信号DRDY#を用いて示す。バッファ
・データ選択制御回路4の制御により、データライトバ
ックデータD1〜D4をライトバッファ4cにラッチす
る。そして、バッファ・データ選択制御回路4eの制御
により、データ選択回路4dがライトバッファ4cから
128ビット毎に選択し、メモリ制御信号生成回路4i
の制御によりメモリ5に書き込む。メモリ制御信号生成
回路4iの制御により、メモリ5からシングルリードを
行い、バッファ・データ選択制御回路4hの制御によ
り、シングルリードデータD1をリードバッファ4fに
ラッチする。バッファ・データ選択制御回路4hの制御
により、データ選択回路4gがリードバッファ4fから
選択し入出力バッファ4bを通して、データバス3−D
Bに出力する。この場合もまた、シングルリードを行お
うとしたキャッシュ2−iは、ライトバックデータがメ
モリ5に書き込まれるまで待たされることになる。
(B) At Write Back for Single Read FIG. 4 is a time chart showing write back for single read in FIG. A processor 1-
cache 2-i as a result of a read request from i
Drives the address to the address bus 3-AD in an attempt to read the memory 5 single. Each cache 2-j (i ≠ j) other than the processor 1-i that started the cycle for that address and the processor 1-j perform snoop, and the data is cached in another cache 2-n (n ≠).
i) is asserted by the signal QHTM # indicating that the modify line of the cache memory is hit, and is indicated by using the signal WBDS # indicating that the write back is ready. The controller 4j uses a signal DRDY # to indicate that the backlight data is received. Under the control of the buffer / data selection control circuit 4, the data writeback data D1 to D4 are latched in the write buffer 4c. Then, under the control of the buffer / data selection control circuit 4e, the data selection circuit 4d selects from the write buffer 4c for every 128 bits, and the memory control signal generation circuit 4i.
Write to the memory 5 under the control of. Single read from the memory 5 is performed under the control of the memory control signal generation circuit 4i, and single read data D1 is latched in the read buffer 4f under the control of the buffer / data selection control circuit 4h. Under the control of the buffer / data selection control circuit 4h, the data selection circuit 4g selects from the read buffer 4f and passes through the input / output buffer 4b to output the data bus 3-D.
Output to B. Also in this case, the cache 2-i, which is going to perform the single read, has to wait until the write-back data is written in the memory 5.

【0009】(c) バーストリードに対するライトバ
ック時 図5は、図2におけるバーストリードに対するライトバ
ックを示すタイムチャートである。あるプロセッサ1−
iからの読み出し要求の結果として、キャッシュ2−i
がメモリ5にシングルリードしようとしてアドレスをア
ドレスバス3−ADにドライブする。そのアドレスに対
してサイクルを起動したプロセッサ1−i以外の各キャ
ッシュ2−j(i≠j)及びプロセッサ1−jはスヌー
プを行い、そのデータが他のキャッシュ2−n(n≠
i)がそのキャシュメモリのモデイファイラインにヒッ
トしたことを示す信号QHTM#でアサートし、ライト
バックの準備ができたことを示す信号WBDS#を用い
て示す。コントローラ4jは、バックライトデータを受
け付けることを信号DRDY#を用いて示す。バッファ
・データ選択制御回路4eの制御により、データライト
バックデータD1〜D4をライトバッファ4cにラッチ
する。そして、バッファ・データ選択制御回路4eの制
御により、データ選択回路4dがライトバッファ4cか
ら128ビット毎に選択し、メモリ制御信号生成回路4
iの制御によりメモリ5に書き込む。メモリ制御信号生
成回路4iの制御により、メモリ5からバーストリード
を行って、バッファ・データ選択制御回路4hの制御に
より、バーストリードデータD1〜D4をリードバッフ
ァ4fにラッチする。バッファ・データ選択制御回路4
hの制御により、データ選択回路4gがリードバッファ
4fから64ビット毎に選択して、入出力バッファ4b
を通して、データバス3−DBにバーストデータD1〜
D4を順次出力する。この場合もまた、バーストリード
を行おうとしたキャッシュ2−iは、ライトバックデー
タがメモリ5に書き込まれるまで待たされることにな
る。
(C) At the time of write back for burst read FIG. 5 is a time chart showing the write back for burst read in FIG. A processor 1-
cache 2-i as a result of a read request from i
Drives the address to the address bus 3-AD in an attempt to read the memory 5 single. Each cache 2-j (i ≠ j) other than the processor 1-i that started the cycle for that address and the processor 1-j perform snoop, and the data is cached in another cache 2-n (n ≠).
i) is asserted by the signal QHTM # indicating that the modify line of the cache memory is hit, and is indicated by using the signal WBDS # indicating that the write back is ready. The controller 4j uses a signal DRDY # to indicate that the backlight data is received. Under the control of the buffer / data selection control circuit 4e, the data writeback data D1 to D4 are latched in the write buffer 4c. Then, under the control of the buffer / data selection control circuit 4e, the data selection circuit 4d selects from the write buffer 4c for every 128 bits, and the memory control signal generation circuit 4
Write to the memory 5 under the control of i. Burst read is performed from the memory 5 under the control of the memory control signal generation circuit 4i, and burst read data D1 to D4 are latched in the read buffer 4f under the control of the buffer / data selection control circuit 4h. Buffer / data selection control circuit 4
Under the control of h, the data selection circuit 4g selects from the read buffer 4f for every 64 bits, and the input / output buffer 4b.
Through the data bus 3-DB, the burst data D1 to
D4 is sequentially output. In this case as well, the cache 2-i that tried to perform the burst read is kept waiting until the write-back data is written in the memory 5.

【0010】[0010]

【課題を解決するための手段】本発明は、前記課題を解
決するために、複数のライトバック方式のキャッシュの
メモリに対するデータのリード/ライトを制御するメモ
リ制御回路において、前記キャッシュがデータをシング
ルライト又はシングルリードしようとした時に、そのデ
ータが他のキャッシュのモディファイラインにヒットし
た場合、その他のキャッシュでヒットしたモディファイ
ライン上のライトバックデータをその他のキャッシュか
ら受信して保持する第1のバッファと、前記キャッシュ
がシングルライトするデータをそのキャッシュから受信
して保持する第2のバッファとを備えてする。そして、
前記キャッシュのシングルライトに対する前記モディフ
ァイライン上のデータをライトバックする時は、前記第
1のバッファに保持された前記ライトバックデータに対
して、前記第2のバッファに保持されたシングルライト
するデータの前記メモリにおけるアドレスが同じもの
は、前記ライトバックデータの中のデータではなくシン
グルライトするデータを選択て、該データと同じアドレ
スのライトバックデータ以外のライトバックデータを選
択して、それらのデータの前記メモリにおけるアドレス
に従って出力し、前記キャッシュのシングルリードに対
する前記モディファイライン上のデータをライトバック
する時は、前記第1のバッファに保持された前記ライト
バックデータをそのメモリにおけるアドレスに従って、
選択して出力するデータ選択/マージ回路を備えてい
る。さらに、前記シングルリードに対するライトバック
の時は、そのシングルリードしようとしているデータの
メモリにおけるアドレスに従って、前記第1のバッファ
に保持されたデータを選択して出力するデータ選択回路
と、前記メモリに対してリード/ライトするためのメモ
リ制御信号を生成するメモリ制御信号生成回路とを備え
ている。
According to the present invention, in order to solve the above-mentioned problems, in a memory control circuit for controlling read / write of data from / to a memory of a plurality of write-back type caches, the cache is a single data unit. If the data hits the modify line of another cache when trying to write or single read, the first buffer that receives the write-back data on the modify line hit by the other cache from the other cache and retains it. And a second buffer that receives and holds data to be single-written by the cache from the cache. And
When writing back the data on the modify line for the single write of the cache, the single write data held in the second buffer with respect to the write back data held in the first buffer is written. For the same address in the memory, select the data to be single-written instead of the data in the write-back data, select the write-back data other than the write-back data having the same address as the data, and select the data When outputting according to the address in the memory and writing back the data on the modify line for the single read of the cache, the write-back data held in the first buffer is according to the address in the memory,
A data selection / merge circuit for selecting and outputting is provided. Further, at the time of write back for the single read, a data selection circuit for selecting and outputting the data held in the first buffer according to the address of the data to be single read in the memory, and for the memory And a memory control signal generation circuit for generating a memory control signal for read / write.

【0011】[0011]

【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態のメモリ制御回路の機
能ブロック図であり、図2中の要素に共通する要素には
共通の符号を付している。本第1の実施形態のメモリ制
御回路が従来のメモリ制御回路と異なる点は、シングル
ライトに対するバックライトの時は、バックライトのデ
ータとシングルライトのデータをマージしてメモリに書
き込むようにして、シングルリード又はバーストリード
に対するバックライトの時は、バックライトのデータを
バッファから直接キャッシュに出力するようにしたこと
である。図1に示すように、本発明の第1の実施形態の
メモリ制御回路14は、ホストバス3側の入出力バッフ
ァ4a、メモリ5側の入出力バッファ4b、バーストデ
ータバッファ(第1のバッファ)4c、シングルデータ
バッファ(第2のバッファ)14a、データ選択/マー
ジ回路14b、バッファ・データ選択制御回路14c、
データバッファ4f、データ選択回路14d、バッファ
・データ選択制御回路14e、メモリ制御信号生成回路
4i、及びコントローラ14fを備えている。
BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment FIG. 1 is a functional block diagram of a memory control circuit according to a first embodiment of the present invention, in which elements common to those in FIG. Attached. The memory control circuit of the first embodiment is different from the conventional memory control circuit in that when the backlight is for a single write, the backlight data and the single write data are merged and written in the memory. In the case of backlight for single read or burst read, the data of the backlight is directly output from the buffer to the cache. As shown in FIG. 1, the memory control circuit 14 according to the first embodiment of the present invention includes an input / output buffer 4a on the host bus 3 side, an input / output buffer 4b on the memory 5 side, and a burst data buffer (first buffer). 4c, a single data buffer (second buffer) 14a, a data selection / merge circuit 14b, a buffer / data selection control circuit 14c,
A data buffer 4f, a data selection circuit 14d, a buffer / data selection control circuit 14e, a memory control signal generation circuit 4i, and a controller 14f are provided.

【0012】メモリ制御回路14は、ホストバス3を介
して、キャッシュ2−i(i=1〜n)に接続され、デ
ータバス3を介して、メモリ5に接続されている。キャ
ッシュ2−iはプロセッサ1−iに接続されている。入
出力バッファ4aは、ホストバス3のデータバス3−D
Bに接続されている。入出力バッファ4aの出力は、バ
ーストデータバッファ4c、及びシングルデータバッフ
ァ14aの入力に接続されている。バーストデータバッ
ファ4cの出力は、データ選択/マージ回路14b及び
データ選択回路14dの入力に接続されている。シング
ルデータバッファ14aの出力は、データ選択/マージ
回路14bの入力に接続されている。バッファ・データ
選択制御回路14cの出力は、バーストデータバッファ
4c及びシングルデータバッファ14aのクロック入力
及びデータ選択/マージ回路14bの選択信号入力に接
続されている。データ選択/マージ回路14bの出力
は、入出力バッファ4bの入力に接続されている。入出
力バッファ4bの出力は、メモリ5のデータ入力及びデ
ータバッファ4fの入力に接続されている。データバッ
ファ4fの出力は、データ選択回路14dの入力に接続
されている。
The memory control circuit 14 is connected to the cache 2-i (i = 1 to n) via the host bus 3 and to the memory 5 via the data bus 3. The cache 2-i is connected to the processor 1-i. The input / output buffer 4a is the data bus 3-D of the host bus 3.
B. The output of the input / output buffer 4a is connected to the burst data buffer 4c and the input of the single data buffer 14a. The output of the burst data buffer 4c is connected to the inputs of the data selection / merge circuit 14b and the data selection circuit 14d. The output of the single data buffer 14a is connected to the input of the data selection / merge circuit 14b. The output of the buffer / data selection control circuit 14c is connected to the clock inputs of the burst data buffer 4c and the single data buffer 14a and the selection signal input of the data selection / merge circuit 14b. The output of the data selection / merge circuit 14b is connected to the input of the input / output buffer 4b. The output of the input / output buffer 4b is connected to the data input of the memory 5 and the input of the data buffer 4f. The output of the data buffer 4f is connected to the input of the data selection circuit 14d.

【0013】バッファ・データ選択制御回路14eの出
力は、データバッファ4fのクロック入力及びデータ選
択回路14eの選択信号入力に接続されている。データ
選択回路14dの出力は、入出力バッファ4aの入力に
接続されている。入出力バッファ4aの出力は、データ
バス3−DBに接続されている。メモリ制御信号生成回
路4iは、アドレスバス3−ADに接続されている。メ
モリ制御信号生成回路4iの出力は、メモリ5の入力に
接続されている。ホストバス3の制御ライン3−CTL
とアドレスバス3−ADは、コントローラ14fに接続
されている。コントローラ14fの出力は、バッファ・
データ選択制御回路14c、14e、及びメモリ制御信
号生成回路4iの入力に接続されている。プロセッサ1
−iは、例えば、64ビット幅のデータ幅で4連送のバ
ースト転送機構を有している。キャッシュ2−iは、例
えば、64ビット幅のデータ幅で4連送のバースト転送
機構及びバス制御回路を有している。ホストバス3は、
例えば、64ビット幅のデータバス3−DBと32ビッ
ト幅のアドレスバス3−ADと制御ライン3−CTLを
有している。メモリ5は、複数のチップで構成され、例
えば、128ビット幅のデータ信号、11ビット幅のア
ドレス信号、信号RAS#、信号CAS#、信号WE
#、信号OE#に入力するDRAMである。
The output of the buffer / data selection control circuit 14e is connected to the clock input of the data buffer 4f and the selection signal input of the data selection circuit 14e. The output of the data selection circuit 14d is connected to the input of the input / output buffer 4a. The output of the input / output buffer 4a is connected to the data bus 3-DB. The memory control signal generation circuit 4i is connected to the address bus 3-AD. The output of the memory control signal generation circuit 4i is connected to the input of the memory 5. Control line 3-CTL of host bus 3
The address bus 3-AD is connected to the controller 14f. The output of the controller 14f is a buffer
It is connected to the inputs of the data selection control circuits 14c and 14e and the memory control signal generation circuit 4i. Processor 1
-I has, for example, a burst transfer mechanism of four consecutive transmissions with a data width of 64 bits. The cache 2-i has, for example, a burst transfer mechanism and a bus control circuit for four consecutive transmissions with a data width of 64 bits. The host bus 3 is
For example, it has a 64-bit wide data bus 3-DB, a 32-bit wide address bus 3-AD, and a control line 3-CTL. The memory 5 is composed of a plurality of chips, for example, a 128-bit width data signal, an 11-bit width address signal, a signal RAS #, a signal CAS #, and a signal WE.
#, A DRAM input to the signal OE #.

【0014】入出力バッファ4aは、ホストバス3との
間で64ビット幅のデータの入出力をするバッファであ
る。入出力バッファ4bは、メモリ5との間で128ビ
ット幅のデータの入出力をするバッファである。バース
トデータバッファ4cは、例えば、64ビット×4のバ
ッファである。シングルデータバッファ14aは、例え
ば、64ビットのバッファである。データ選択/マージ
回路14bは、バッファ・データ選択制御回路14cか
らの選択信号を入力して、バーストデータバッファ4c
とシングルライトバッファ14aの入力の選択とシング
ルライトバッファ14aの出力ラインの選択を行う回路
である。バッファ・データ選択制御回路14cは、コン
トローラ14fからの指示に従って、バーストデータバ
ッファ4c及びシングルデータバッファ14aがデータ
ラッチするタイミングの制御、及びデータ選択/マージ
回路14bのデータの入力の選択信号及び出力先の選択
信号を生成する回路である。
The input / output buffer 4a is a buffer for inputting / outputting 64-bit wide data to / from the host bus 3. The input / output buffer 4b is a buffer for inputting / outputting data of 128-bit width to / from the memory 5. The burst data buffer 4c is, for example, a 64-bit × 4 buffer. The single data buffer 14a is, for example, a 64-bit buffer. The data selection / merge circuit 14b receives the selection signal from the buffer / data selection control circuit 14c and inputs it to the burst data buffer 4c.
And a circuit for selecting an input of the single write buffer 14a and an output line of the single write buffer 14a. In accordance with an instruction from the controller 14f, the buffer / data selection control circuit 14c controls the timing at which the burst data buffer 4c and the single data buffer 14a latch data, and a data input selection signal and an output destination of the data selection / merge circuit 14b. Is a circuit for generating the selection signal of.

【0015】データバッファ4fは、64ビット×4構
成のバッファである。データ選択回路14dは、バッフ
ァ・データ選択制御回路14eからの選択信号を入力し
て、バーストデータバッファ4cとデータバッファ4f
とから64ビットを選択する回路である。バッファ・デ
ータ選択制御回路14eは、コントローラ14fからの
指示に従って、バーストデータバッファ4cとバースト
データバッファ4fの入力を選択するための選択信号を
生成する回路である。メモリ制御信号生成回路4iは、
コントローラ14fからの指示に従って、メモリ5へリ
ード・ライトするためのメモリ制御信号を生成する回路
である。コントローラ14fは、メモリ5とキャッシュ
2−i間のリード・ライトの同期を取るためにバッファ
・データ選択制御回路14c,14e、及びメモリ制御
信号生成回路4iなどを制御する回路である。以下、図
1の動作の説明をする。
The data buffer 4f is a buffer of 64 bits × 4 structure. The data selection circuit 14d receives the selection signal from the buffer / data selection control circuit 14e and receives the burst data buffer 4c and the data buffer 4f.
This is a circuit for selecting 64 bits from and. The buffer / data selection control circuit 14e is a circuit that generates a selection signal for selecting the input of the burst data buffer 4c and the burst data buffer 4f according to an instruction from the controller 14f. The memory control signal generation circuit 4i
It is a circuit that generates a memory control signal for reading / writing to / from the memory 5 according to an instruction from the controller 14f. The controller 14f is a circuit that controls the buffer / data selection control circuits 14c and 14e, the memory control signal generation circuit 4i, and the like in order to synchronize read / write between the memory 5 and the cache 2-i. Hereinafter, the operation of FIG. 1 will be described.

【0016】(a) シングルライト プロセッサ1−iがシングルライトしようとしているデ
ータがキャッシュ2−iでミスヒットして、メモリ5に
シングルライトする場合は、キャッシュ2−iは、シン
グルデータをライトしようとしてアドレスをアドレスバ
ス3−ADにドライブする。コントローラ14fは、ア
ドレスを確認したことを示す信号をアサートする。その
アドレスに対して、サイクルを起動したプロセッサ1−
iの以外のキャッシュ2−j(j≠i)及びプロセッサ
1−jは、スヌープを行い、サイクルを起動したキャッ
シュ2−iはスヌープの結果を待つことなく、データを
データバス3−DBに出力する。バッファ・データ選択
制御回路14cは、コントローラ14fの指示に従っ
て、シングルライトデータをラッチシングルデータバッ
ファ14aにラッチするタイミングを示す信号を出力す
る。そして、シングルデータは、シングルデータバッフ
ァ14aにラッチされる。
(A) Single write When the data to be single-written by the processor 1-i misses in the cache 2-i and is single-written to the memory 5, the cache 2-i will write the single data. Drive the address to the address bus 3-AD. The controller 14f asserts a signal indicating that the address has been confirmed. For that address, the processor 1 that initiated the cycle
The cache 2-j other than i (j ≠ i) and the processor 1-j perform snooping, and the cache 2-i that started the cycle outputs data to the data bus 3-DB without waiting for the result of snooping. To do. The buffer / data selection control circuit 14c outputs a signal indicating the timing of latching the single write data in the latch single data buffer 14a according to an instruction from the controller 14f. Then, the single data is latched in the single data buffer 14a.

【0017】どのキャッシュ2−j(j≠i)において
もそのシングルライトデータを含むラインがヒットしな
かったとすると、モディファイラインにヒットしたを示
す信号はネゲートされている。バッファ・データ選択制
御回路14cは、コントローラ14fの指示に従って、
シングルライトバッファ14aの出力を選択する選択信
号と、そのデータのアドレスの[3:3]ビットの値に
より、データ選択/マージ回路14bの出力ラインを選
択する選択信号をデータ選択/マージ回路14bに出力
する。データ選択/マージ回路14bは、バッファ・デ
ータ選択制御回路14cからの選択信号に従って、シン
グルデータを選択して、指示された入出力バッファ4b
の出力先にそのシングルデータを出力する。シングルデ
ータは、入出力バッファ4bを通して、メモリ5のデー
タラインに出力される。メモリ制御回路4iは、コント
ローラ14fの指示に従って、データのアドレスの
[3:3]ビットの値により、メモリ5に書き込み制御
信号、ロウ制御信号、アドレス、カラム制御信号を順次
生成して出力する。そして、メモリ5は、シングルデー
タをライトする。
If the line containing the single write data is not hit in any cache 2-j (j ≠ i), the signal indicating that the modify line is hit is negated. The buffer / data selection control circuit 14c follows the instruction of the controller 14f,
The selection signal for selecting the output of the single write buffer 14a and the selection signal for selecting the output line of the data selection / merge circuit 14b are sent to the data selection / merge circuit 14b according to the value of the [3: 3] bits of the address of the data. Output. The data selection / merge circuit 14b selects single data in accordance with the selection signal from the buffer / data selection control circuit 14c, and outputs the designated input / output buffer 4b.
The single data is output to the output destination of. The single data is output to the data line of the memory 5 through the input / output buffer 4b. The memory control circuit 4i sequentially generates and outputs a write control signal, a row control signal, an address, and a column control signal to the memory 5 according to the value of the [3: 3] bit of the address of the data according to the instruction of the controller 14f. Then, the memory 5 writes the single data.

【0018】(b) バーストライト キャッシュ2−iから、メモリ5にバーストデータを書
き込む場合は、アドレスをホストバス3のアドレスライ
ン3−ADにドライブする。コントローラ14fは、ア
ドレスを確認したことを示す信号をアサートして、デー
タを受け付けることを示す信号をアサートする。サイク
ルを起動したキャッシュ2−iは、4連送のデータD
1,D2,D3,D4をデータバス3−DBに順次出力
する。バッファ・データ選択制御回路14cは、コント
ローラ14fからの指示に従って、バーストデータバッ
ファ14aにラッチするタイミングを示す信号を出力す
る。バーストデータD1,D2,D3,D4は、バース
トデータバッファ14aに順次ラッチされる。バッファ
・データ選択制御回路14cは、データ選択/マージ回
路14bにバーストデータバッファ14aの出力を選択
する選択信号を出力する。データ選択/マージ回路14
bは、バッファ・データ選択回路14cからの選択信号
に従って、バーストデータバッファ4cから128ビッ
ト毎にデータを入力して、入出力バッファ4bに出力す
る。バーストライトデータD1,2,D3,4は、入出
力バッファ4bを通して、メモリ5のデータラインに順
次出力される。メモリ制御信号生成回路4iは、コント
ローラ14fからの指示に従って、書き込み制御信号、
ロウ制御信号、アドレス、カラム制御信号を順次生成し
て出力する。メモリ5は、バーストデータを順次ライト
する。
(B) When writing burst data from the burst write cache 2-i to the memory 5, the address is driven to the address line 3-AD of the host bus 3. The controller 14f asserts a signal indicating that the address is confirmed, and asserts a signal indicating that the data is accepted. The cache 2-i that started the cycle is data D of four consecutive transmissions.
1, D2, D3, D4 are sequentially output to the data bus 3-DB. The buffer / data selection control circuit 14c outputs a signal indicating the timing of latching to the burst data buffer 14a according to an instruction from the controller 14f. The burst data D1, D2, D3, D4 are sequentially latched in the burst data buffer 14a. The buffer / data selection control circuit 14c outputs a selection signal for selecting the output of the burst data buffer 14a to the data selection / merge circuit 14b. Data selection / merge circuit 14
In accordance with a selection signal from the buffer / data selection circuit 14c, b inputs data from the burst data buffer 4c every 128 bits and outputs it to the input / output buffer 4b. The burst write data D1, 2, D3, 4 are sequentially output to the data line of the memory 5 through the input / output buffer 4b. The memory control signal generation circuit 4i follows the write control signal, in accordance with the instruction from the controller 14f.
A row control signal, an address, and a column control signal are sequentially generated and output. The memory 5 sequentially writes burst data.

【0019】(c) シングルリード プロセッサ1−iがシングルリードしようとしているデ
ータがキャッシュ2−iでミスヒットして、メモリ5か
らシングルデータを読み込む場合、キャッシュ2−i
は、シングルデータをリードライトしようとしてアドレ
スをアドレスバス3−ADにドライブする。そのアドレ
スに対して、サイクルを起動したプロセッサ1−i以外
のキャッシュ2−j(j≠i)及びプロセッサ1−j
は、スヌープを行う。どのキャッシュ2−j(j≠i)
においてもそのシングルライトデータを含むラインがヒ
ットしなかったとすると、モディファイラインにヒット
したを示す信号はネゲートされているので、メモリ制御
信号生成回路4iは、コントローラ14fからの指示に
従って、読み出し制御信号、ロウ制御信号、アドレス、
カラム制御信号を順次生成して出力する。メモリ5は、
アドレスに従ってシングルデータをリードする。リード
されたデータは、入出力バッファ4bにラッチされる。
バッファ・データ選択制御回路14eは、コントローラ
14fの指示に従って、入出力バッファ4bのデータを
データバッファ4fにラッチするタイミングを示す信号
を出力する。データバッファ4fの所定のバッファ領域
にシングルリードデータがラッチされる。バッファ・デ
ータ選択制御回路14eは、シングルリードデータのア
ドレスの[4:3]ビットの値により、64×4ビット
構成のデータバッファ4fから入力する64ビットのバ
ッファ領域を選択する選択信号を出力する。データ選択
回路14dは、バッファ・データ選択制御回路14eか
らの選択信号に従って、64ビットのシングルリードデ
ータを入出力バッファ4aを介して、データバス3−D
Bに出力する。
(C) Single read When the data that the processor 1-i is about to single read misses in the cache 2-i and the single data is read from the memory 5, the cache 2-i.
Drives an address to the address bus 3-AD to read / write single data. For that address, a cache 2-j (j ≠ i) other than the processor 1-i that started the cycle and a processor 1-j
Do snoop. Which cache 2-j (j ≠ i)
Even if the line including the single write data does not hit in the above, since the signal indicating that the modify line is hit is negated, the memory control signal generation circuit 4i follows the instruction from the controller 14f, Row control signal, address,
The column control signals are sequentially generated and output. The memory 5 is
Read single data according to the address. The read data is latched in the input / output buffer 4b.
The buffer / data selection control circuit 14e outputs a signal indicating the timing of latching the data of the input / output buffer 4b in the data buffer 4f according to the instruction of the controller 14f. Single read data is latched in a predetermined buffer area of the data buffer 4f. The buffer / data selection control circuit 14e outputs a selection signal for selecting a 64-bit buffer area input from the data buffer 4f having a 64 × 4 bit structure, according to the value of the [4: 3] bits of the address of the single read data. . The data selection circuit 14d receives the 64-bit single read data via the input / output buffer 4a and the data bus 3-D according to the selection signal from the buffer / data selection control circuit 14e.
Output to B.

【0020】(d) バーストリード プロセッサ1−iがバーストリードしようとしているデ
ータがキャッシュ2−iでミスヒットして、メモリ5か
らバーストデータを読み込む場合、キャッシュ2−i
は、バーストデータをリードしようとしてアドレスをア
ドレスバス3−ADにドライブする。そのアドレスに対
して、サイクルを起動したプロセッサ1−i以外のキャ
ッシュ2−j(j≠i)及びプロセッサ1−jは、スヌ
ープを行う。どのキャッシュ2−j(j≠i)において
もそのシングルライトデータを含むラインがヒットしな
かったとすると、モディファイラインにヒットしたを示
す信号はネゲートされているので、メモリ制御信号生成
回路4iは、コントローラ14fからの指示に従って、
読み出し制御信号、ロウ制御信号、アドレス、カラム制
御信号を順次生成して出力する。メモリ5は、アドレス
に従ってバーストデータをリードする。リードされたバ
ーストデータは、入出力バッファ4bにラッチされる。
バッファ・データ選択制御回路14eは、コントローラ
14fの指示に従って、バーストデータをデータバッフ
ァ4fにラッチするタイミングを示す信号を出力する。
データバッファ4fにバーストリードデータがラッチさ
れる。バッファ・データ選択制御回路14eは、64×
4ビット構成のデータバッファ4fから入力する64ビ
ット毎に順に選択するように選択信号を出力する。デー
タ選択回路14dは、バッファ・データ選択制御回路1
4eからの選択信号に従って、64ビット毎にバースト
リードデータを入出力バッファ4aを介して、データバ
ス3−DBに4連送で出力する。
(D) Burst read When the data to be burst read by the processor 1-i misses in the cache 2-i and the burst data is read from the memory 5, the cache 2-i is read.
Drives an address onto address bus 3-AD in an attempt to read burst data. For the address, the cache 2-j (j ≠ i) and the processor 1-j other than the processor 1-i that started the cycle perform snooping. If the line containing the single write data is not hit in any of the caches 2-j (j ≠ i), the signal indicating that the modify line is hit is negated. Follow the instructions from 14f
A read control signal, a row control signal, an address, and a column control signal are sequentially generated and output. The memory 5 reads the burst data according to the address. The read burst data is latched in the input / output buffer 4b.
The buffer / data selection control circuit 14e outputs a signal indicating the timing of latching the burst data in the data buffer 4f in accordance with the instruction from the controller 14f.
The burst read data is latched in the data buffer 4f. The buffer / data selection control circuit 14e is 64 ×
A selection signal is output so as to sequentially select every 64 bits input from the 4-bit data buffer 4f. The data selection circuit 14d is the buffer / data selection control circuit 1
In accordance with the selection signal from 4e, burst read data is output every 64 bits via the input / output buffer 4a to the data bus 3-DB in four consecutive transmissions.

【0021】(e) シングルライトに対するライトバ
ック 図6は、図1におけるシングルライトに対するライトバ
ックを示すタイムチャートである。以下、図6を参照し
つつ、シングルライトに対するライトバック時のメモリ
制御回路14の動作の説明をする。図6に示すように、
プロセッサ1−iがシングルライトしようとしているデ
ータがキャッシュ2−iでミスヒットして、メモリ5に
シングルライトする場合、キャッシュ2−iは、シング
ルデータをライトしようとして信号AS#をアサートし
て、アドレスをアドレスバス3−ADにドライブする。
コントローラ14fは、アドレスを確認したことを示す
信号ADRY#をアサートする。そのアドレスに対し
て、サイクルを起動したプロセッサ1−iの以外のキャ
ッシュ2−j(j≠i)及びプロセッサ1−jは、スヌ
ープを行い、サイクルを起動したキャッシュ2−iはス
ヌープの結果を待つことなく、信号SBSYi#をアサ
ートして、データD2をデータバス3−DBに出力す
る。バッファ・データ選択制御回路14cは、コントロ
ーラ14fの指示に従って、シングルデータバッファ1
4aにラッチするタイミングを示す信号を出力する。シ
ングルデータD2は、シングルデータバッファ14aに
ラッチされる。
(E) Write Back for Single Write FIG. 6 is a time chart showing write back for single write in FIG. Hereinafter, the operation of the memory control circuit 14 at the time of write back for a single write will be described with reference to FIG. As shown in FIG.
When the data to be single-written by the processor 1-i misses in the cache 2-i and is single-written to the memory 5, the cache 2-i asserts the signal AS # in an attempt to write the single data, Drive address to address bus 3-AD.
The controller 14f asserts the signal ADRY # indicating that the address has been confirmed. For the address, the cache 2-j (j ≠ i) and the processor 1-j other than the processor 1-i that started the cycle perform snooping, and the cache 2-i that starts the cycle outputs the result of the snooping. Without waiting, the signal SBSYi # is asserted to output the data D2 to the data bus 3-DB. The buffer / data selection control circuit 14c follows the instruction from the controller 14f and outputs the single data buffer 1
4a outputs a signal indicating the timing of latching. The single data D2 is latched in the single data buffer 14a.

【0022】他のキャッシュ2−j(j≠i)は、その
シングルライトデータがモディファイラインにヒットし
たか否かを判定する。そして、キャッシュ2−nでモデ
ィファイラインにヒットしたとする。キャッシュ2−n
は、信号SBSYn#をアサートし、モディファイライ
ンにヒットしたことを信号QHTM#でアサートし、ラ
イトバックデータの準備ができたことを信号WBDS#
を用いて示す。そして、ライトバックデータD1〜D4
をデータバス3−DBに順次出力する。コントローラ1
4fは、データを受け付けることを信号DRDY#を用
いて示す。コントローラ14fは、信号WBDS#に従
って、バッファ・データ選択制御回路14cにバースト
ライトバッファ4cにバーストライトデータをラッチす
るよう指示する。バッファ・データ選択制御回路14c
は、コントローラ14fからの指示に従って、64ビッ
ト毎に入力されるバックライトデータD1〜D4をバー
ストデータバッファ4cに順次ラッチするそのタイミン
グを示す信号を出力する。バックライトデータD1〜D
4は、64×4ビット構成のバーストデータバッファ4
cに順次ラッチされる。バッファ・データ選択制御回路
14cは、コントローラ14fからの指示に従って、シ
ングルライトデータのアドレスの[4:3]ビットか
ら、シングルライトバッファ14aの出力とシングルラ
イトデータD2と同じメモリ5上のアドレスを持つデー
タ以外のバーストデータバッファ4cの出力とシングル
ライトデータの出力ライン(128ビット幅の出力ライ
ンの0〜63ビットの出力ラインか64〜127ビット
の出力ライン)を選択する選択信号を出力する。
The other cache 2-j (j ≠ i) determines whether or not the single write data hits the modify line. And it is assumed that the cache 2-n hits the modify line. Cache 2-n
Asserts the signal SBSYn #, asserts that the modified line has been hit with the signal QHTM #, and indicates that the write-back data is ready by the signal WBDS #.
It is shown using. Then, the write back data D1 to D4
Are sequentially output to the data bus 3-DB. Controller 1
4f indicates that the data is accepted by using the signal DRDY #. The controller 14f instructs the buffer / data selection control circuit 14c to latch the burst write data in the burst write buffer 4c according to the signal WBDS #. Buffer / data selection control circuit 14c
Outputs a signal indicating the timing of sequentially latching the backlight data D1 to D4 input every 64 bits in the burst data buffer 4c according to an instruction from the controller 14f. Backlight data D1 to D
4 is a burst data buffer 4 of 64 × 4 bit configuration
It is sequentially latched to c. According to the instruction from the controller 14f, the buffer / data selection control circuit 14c has an address on the same memory 5 as the output of the single write buffer 14a and the single write data D2 from the [4: 3] bits of the address of the single write data. A selection signal for selecting the output of the burst data buffer 4c other than the data and the output line of the single write data (the output line of 0 to 63 bits of the output line of 128 bit width or the output line of 64 to 127 bits) is output.

【0023】データ選択/マージ回路14bは、バッフ
ァ・データ選択回路4cからの選択信号に従って、バー
ストライトバッファ14の出力とシングルライトバッフ
ァ14cの出力の中から選択して、バッファ・データ選
択回路4cにより指示される出力ラインに128ビット
ずつ選択して出力する。データ選択/マージ回路14b
からの128ビットの出力は、入出力バッファ4bを通
して、メモリ5のデータラインMD[127:0]に出
力される。この結果、バックライトデータD1〜D4と
シングルライトデータD2がマージされて、128ビッ
トのバックライトデータD1とシングルライトデータD
2、バックライトデータD3とD4が順次データ選択/
マージ回路14bより出力されることになる。メモリ制
御信号生成回路4iは、コントローラ14fからの指示
に従って、書き込み制御信号WE#、ロウ制御信号RA
S#、アドレスMAB[10:0]、カラム制御信号C
AS#を順次生成して、メモリ5に出力する。メモリ5
は、データをライトする。この場合、シングルライトを
行おうとしたキャッシュ2−iはライトバックデータが
メモリ5に書き込まれるまで待たされることはなく、ま
たメモリ5に対する書き込みも1回で済まされることに
なる。
The data selection / merge circuit 14b selects from the output of the burst write buffer 14 and the output of the single write buffer 14c in accordance with the selection signal from the buffer / data selection circuit 4c, and the buffer / data selection circuit 4c selects it. 128 bits are selected and output to the designated output line. Data selection / merge circuit 14b
The 128-bit output from is output to the data line MD [127: 0] of the memory 5 through the input / output buffer 4b. As a result, the backlight data D1 to D4 and the single write data D2 are merged to form the 128-bit backlight data D1 and the single write data D.
2. Backlight data D3 and D4 are sequentially selected /
It is output from the merge circuit 14b. The memory control signal generation circuit 4i follows the write control signal WE # and the row control signal RA according to an instruction from the controller 14f.
S #, address MAB [10: 0], column control signal C
The AS # is sequentially generated and output to the memory 5. Memory 5
Writes the data. In this case, the cache 2-i trying to perform the single write does not have to wait until the write-back data is written in the memory 5, and the writing to the memory 5 is completed only once.

【0024】(f) シングルリードに対するライトバ
ック 図7は、図1におけるシングルリードに対するライトバ
ックを示すタイムチャートである。以下、図7を参照し
つつ、シングルリードに対するライトバック時のメモリ
制御回路14の動作の説明をする。図7に示すように、
プロセッサ1−iがシングルリードしようとしているデ
ータがキャッシュ2−iでミスヒットして、メモリ5に
シングルリードする場合、キャッシュ2−iは、シング
ルデータをリードしようとして信号AS#をアサートし
て、アドレスをアドレスバス3−ADにドライブする。
コントローラ14fは、アドレスを確認したことを示す
信号ADRY#をアサートする。そのアドレスに対し
て、サイクルを起動したプロセッサ1−iの以外のキャ
ッシュ2−j(j≠i)及びプロセッサ1−jは、スヌ
ープを行う。キャッシュ2−j(j≠i)は、シングル
リードデータがモディファイラインにヒットしたか否か
を判定する。そして、キャッシュ2−nでモディファイ
ラインにヒットしたとする。キャッシュ2−nは、信号
SBSYn#をアサートし、モディファイラインにヒッ
トしたことを信号QHTM#でアサートし、ライトバッ
クデータの準備ができたことを信号WBDS#を用いて
示す。そして、ライトバックデータD1〜D4をデータ
バス3−DBに順次出力する。
(F) Write Back for Single Read FIG. 7 is a time chart showing write back for single read in FIG. Hereinafter, the operation of the memory control circuit 14 at the time of write back for single read will be described with reference to FIG. 7. As shown in FIG.
When the data that the processor 1-i is trying to read from a single memory is a mishit in the cache 2-i and is single-read to the memory 5, the cache 2-i asserts the signal AS # to read the single data, Drive address to address bus 3-AD.
The controller 14f asserts the signal ADRY # indicating that the address has been confirmed. For the address, the cache 2-j (j ≠ i) and the processor 1-j other than the processor 1-i that started the cycle perform snooping. The cache 2-j (j ≠ i) determines whether the single read data hits the modify line. And it is assumed that the cache 2-n hits the modify line. The cache 2-n asserts the signal SBSYn #, asserts that the modify line has been hit with the signal QHTM #, and uses the signal WBDS # to indicate that the write-back data is ready. Then, the write back data D1 to D4 are sequentially output to the data bus 3-DB.

【0025】コントローラ14fは、データを受け付け
ることを信号DRDY#を用いて示す。コントローラ1
4fは、信号WBDS#に従って、バッファ・データ選
択制御回路14cにバーストライトバッファ4cにバー
ストライトデータをラッチするよう指示する。バッファ
・データ選択制御回路14cは、コントローラ14fか
らの指示に従って、64ビット毎に入力されるバックラ
イトデータD1〜D4をバーストライトバッファ4cに
順次ラッチするそのタイミングを示す信号を出力する。
バックライトデータD1〜D4は、64×4ビット構成
のバーストデータバッファ4cに順次ラッチされる。バ
ッファ・データ選択制御回路14cは、コントローラ1
4fからの指示に従って、64ビット×4のバーストデ
ータバッファ4cの出力を128ビット毎に順次に選択
して出力するようにデータ選択/マージ回路14bに選
択信号を出力する。データ選択/マージ回路14bは、
コントローラ14cからの選択信号に従って、64ビッ
ト×4ビットのバーストデータバッファ4cの出力を1
28ビット毎に順次選択して出力ラインに出力する。
The controller 14f uses a signal DRDY # to indicate that it accepts data. Controller 1
4f instructs the buffer / data selection control circuit 14c to latch the burst write data in the burst write buffer 4c according to the signal WBDS #. In accordance with an instruction from the controller 14f, the buffer / data selection control circuit 14c outputs a signal indicating the timing of sequentially latching the backlight data D1 to D4 input every 64 bits in the burst write buffer 4c.
The backlight data D1 to D4 are sequentially latched in the burst data buffer 4c having a 64 × 4 bit structure. The buffer / data selection control circuit 14c is the controller 1
According to an instruction from 4f, a selection signal is output to the data selection / merge circuit 14b so that the output of the 64-bit × 4 burst data buffer 4c is sequentially selected and output every 128 bits. The data selection / merge circuit 14b is
The output of the 64-bit × 4-bit burst data buffer 4c is set to 1 in accordance with the selection signal from the controller 14c.
It is sequentially selected every 28 bits and output to the output line.

【0026】メモリ制御信号生成回路4iは、コントロ
ーラ14fからの指示に従って、書き込み制御信号WE
#、ロウ制御信号RAS#、アドレスMAB[10:
0]、カラム制御信号CAS#を順次生成して、メモリ
5に出力する。メモリ5は、ライトバックデータをライ
トする。一方、バッファ・データ選択制御回路14e
は、コントローラ14fからの指示に従って、バースト
データバッファ4cにライトバックデータがラッチされ
次第、シングルリードデータD1のアドレス[4:3]
ビットより、64ビット×4のバーストデータバッファ
4cの出力のうちどの64ビットを選択するかを指示す
る選択信号を出力する。データ選択回路14dは、バッ
ファ・データ選択制御回路14eからの選択信号に従っ
て、バーストデータバッファ4cから64ビットを選択
して、入出力バッファ4aを通して、シングルデータD
1をデータバス3−DBに出力する。この場合、メモリ
5へのライトバックデータの書き込みと並行してデータ
バス3−DBへのリードデータの出力が行われる。その
ため、リードは直接メモリ5に行わないのでライトバッ
クデータがメモリに書き込まれることを待つ必要はなく
ホストバス3に出力されることになり、メモリ5の占有
時間もライトとリードの2つのサイクルではなくライト
1回のサイクルにかかる時間だけになる。
The memory control signal generation circuit 4i follows the write control signal WE according to the instruction from the controller 14f.
#, Row control signal RAS #, address MAB [10:
0] and column control signal CAS # are sequentially generated and output to the memory 5. The memory 5 writes the write back data. On the other hand, the buffer / data selection control circuit 14e
According to the instruction from the controller 14f, the address [4: 3] of the single read data D1 is set as soon as the write-back data is latched in the burst data buffer 4c.
From the bits, a selection signal for instructing which 64-bit of the output of the burst data buffer 4c of 64 bits × 4 is selected is output. The data selection circuit 14d selects 64 bits from the burst data buffer 4c according to the selection signal from the buffer / data selection control circuit 14e, and outputs the single data D through the input / output buffer 4a.
1 is output to the data bus 3-DB. In this case, read data is output to the data bus 3-DB in parallel with writing the write-back data to the memory 5. Therefore, since the read is not performed directly in the memory 5, it is not necessary to wait for the write-back data to be written in the memory, and the write-back data is output to the host bus 3, and the occupied time of the memory 5 in the two cycles of write and read is also large. Instead, it only takes the time to complete one write cycle.

【0027】(f) バーストリードに対するライトバ
ック 図8は、図1におけるバーストリードに対するライトバ
ックを示すタイムチャートである。以下、図8を参照し
つつ、バーストリードに対するライトバック時のメモリ
制御回路14の動作の説明をする。図8に示すように、
プロセッサ1−iがシングルリードしようとしているデ
ータがキャッシュ2−iでミスヒットして、メモリ5に
シングルリードする場合は、キャッシュ2−iは、シン
グルデータをリードしようとして信号AS#をアサート
して、アドレスをアドレスバス3−ADにドライブす
る。コントローラ14fは、アドレスを確認したことを
示す信号ADRY#をアサートする。そのアドレスに対
して、サイクルを起動したプロセッサ1−iの以外のキ
ャッシュ2−j(j≠i)及びプロセッサ1−jは、ス
ヌープを行う。キャッシュ2−j(j≠i)は、シング
ルリードデータがモディファイラインにヒットしたか否
かを判定する。そして、キャッシュ2−nでモディファ
イラインにヒットしたとする。キャッシュ2−nは、信
号SBSYn#をアサートし、モディファイラインにヒ
ットしたことを信号QHTM#でアサートし、ライトバ
ックデータの準備ができたことを信号WBDS#を用い
て示す。そして、ライトバックデータD1〜D4をデー
タバス3−DBに順次出力する。コントローラ14f
は、データを受け付けることを信号DRDY#を用いて
示す。コントローラ14fは、信号WBDS#に従っ
て、バッファ・データ選択制御回路14cにバーストデ
ータバッファ4cにバーストライトデータをラッチする
よう指示する。
(F) Writeback for Burst Read FIG. 8 is a time chart showing writeback for burst read in FIG. Hereinafter, the operation of the memory control circuit 14 at the time of write back for burst read will be described with reference to FIG. As shown in FIG.
When the data to be single-read by the processor 1-i misses in the cache 2-i and is single-read to the memory 5, the cache 2-i asserts the signal AS # in an attempt to read the single data. , Drive address to address bus 3-AD. The controller 14f asserts the signal ADRY # indicating that the address has been confirmed. For the address, the cache 2-j (j ≠ i) and the processor 1-j other than the processor 1-i that started the cycle perform snooping. The cache 2-j (j ≠ i) determines whether the single read data hits the modify line. And it is assumed that the cache 2-n hits the modify line. The cache 2-n asserts the signal SBSYn #, asserts that the modify line has been hit with the signal QHTM #, and uses the signal WBDS # to indicate that the write-back data is ready. Then, the write back data D1 to D4 are sequentially output to the data bus 3-DB. Controller 14f
Indicates reception of data using signal DRDY #. The controller 14f instructs the buffer / data selection control circuit 14c to latch the burst write data in the burst data buffer 4c according to the signal WBDS #.

【0028】バッファ・データ選択制御回路14cは、
コントローラ14fからの指示に従って、64ビット毎
に入力されるバックライトデータD1〜D4をバースト
データバッファ4cに順次ラッチするそのタイミングを
示す信号を出力する。バックライトデータD1〜D4
は、64×4ビット構成のバーストデータバッファ4c
に順次ラッチされる。バッファ・データ選択制御回路1
4cは、コントローラ14fからの指示に従って、64
ビット×4のバーストライトバッファ4cの出力を12
8ビット毎に順次に出力するようにデータ選択/マージ
回路14bに選択信号を出力する。データ選択/マージ
回路14bは、コントローラ14cからの選択信号に従
って、64ビット×4ビットのバーストライトバッファ
4cの出力を128ビット毎に順次選択して出力ライン
に出力する。メモリ制御信号生成回路4iは、コントロ
ーラ14fからの指示に従って、書き込み制御信号WE
#、ロウ制御信号RAS#、アドレスMAB[10:
0]、カラム制御信号CAS#を順次生成して、メモリ
5に出力する。メモリ5は、ライトバックデータをライ
トする。一方、バッファ・データ選択制御回路14e
は、コントローラ14fからの指示に従って、ライトバ
ックバッファ4cにライトバックデータがラッチされ次
第、64ビット×4のバーストライトバッファ4cの出
力を順次64ビットずつ選択するように指示する選択信
号を出力する。データ選択回路14dは、バッファ・デ
ータ選択制御回路14eからの選択信号に従って、バー
ストデータバッファ4cから64ビットを順次選択し
て、入出力バッファ4aを通して、4連送のデータD1
〜D4をデータバス3−DBに出力する。
The buffer / data selection control circuit 14c is
In accordance with an instruction from the controller 14f, a signal indicating the timing of sequentially latching the backlight data D1 to D4 input every 64 bits in the burst data buffer 4c is output. Backlight data D1 to D4
Is a burst data buffer 4c having a structure of 64 × 4 bits.
Are sequentially latched. Buffer / data selection control circuit 1
4c, according to the instruction from the controller 14f, 64
12 bits x 4 burst write buffer 4c output
A selection signal is output to the data selection / merge circuit 14b so that the data is sequentially output every 8 bits. The data selection / merge circuit 14b sequentially selects the output of the 64-bit × 4-bit burst write buffer 4c for every 128 bits in accordance with the selection signal from the controller 14c and outputs it to the output line. The memory control signal generation circuit 4i follows the write control signal WE in accordance with the instruction from the controller 14f.
#, Row control signal RAS #, address MAB [10:
0] and column control signal CAS # are sequentially generated and output to the memory 5. The memory 5 writes the write back data. On the other hand, the buffer / data selection control circuit 14e
In accordance with an instruction from the controller 14f, outputs a selection signal instructing to sequentially select the output of the 64 bit × 4 burst write buffer 4c by 64 bits as soon as the write back data is latched in the write back buffer 4c. The data selection circuit 14d sequentially selects 64 bits from the burst data buffer 4c in accordance with the selection signal from the buffer / data selection control circuit 14e, and the data D1 of four consecutive transmissions through the input / output buffer 4a.
~ D4 is output to the data bus 3-DB.

【0029】この場合、メモリ5へのライトバックデー
タの書き込みと並行してデータバス3−DBへのリード
データの出力が行われる。そのため、リードは直接メモ
リ5に行わないのでライトバックデータがメモリに書き
込まれることを待つ必要はなくホストバス3に出力され
ることになり、メモリ5の占有時間もライトとリードの
2つのサイクルではなくライト1回のサイクルにかかる
時間だけになる。以上説明したように、本第1の実施形
態によれば、シングルリード又はバーストリードのバッ
クライトの時は、バックライトバッファ4cにラッチし
たバックライトデータをホストバス3に出力するように
したので、メモリ5へのアクセスがバックライトの時の
1回で済むので、ホストバス3のキャッシュ2−iの占
有時間が短くなる。また、シングルライトのバックライ
ト時は、バックライトバッファ4cにラッチしたバック
ライトデータとシングルライトバッファ14aにラッチ
したシングルライトデータとをマージしてメモリ5にラ
イトするようにしたので、メモリ5へのアクセスがバッ
クライトの時の1回で済むので、ホストバス3のキャッ
シュ2−iの占有時間が短くなる。
In this case, the write data is written to the memory 5 and the read data is output to the data bus 3-DB in parallel. Therefore, since the read is not performed directly in the memory 5, it is not necessary to wait for the write-back data to be written in the memory, and the write-back data is output to the host bus 3, and the occupied time of the memory 5 in the two cycles of write and read is also large. Instead, it only takes the time to complete one write cycle. As described above, according to the first embodiment, the backlight data latched in the backlight buffer 4c is output to the host bus 3 during the single read or burst read backlight. Since the access to the memory 5 is required only once at the time of backlighting, the occupied time of the cache 2-i of the host bus 3 becomes short. Further, at the time of single write backlight, the backlight data latched in the backlight buffer 4c and the single write data latched in the single write buffer 14a are merged and written to the memory 5, so that the memory 5 Since the access is performed only once when the backlight is used, the occupied time of the cache 2-i of the host bus 3 is shortened.

【0030】第2の実施形態 図9は、本発明の第2の実施形態のメモリ制御回路の機
能ブロック図である。本第2の実施形態のメモリ制御回
路が第1の実施形態のメモリ制御回路と異なる点は、メ
モリ25がキャッシュ22−iとI/Oユニット26−
jによりアクセスされる場合に、I/Oユニット26−
jからのライトに対するライトバックライトの時には、
データをマージしてメモリ25に書き込むようにして、
リードに対するバックライトの時は、リードのデータを
メモリ25から読み込まずに、バックライトのデータを
バッファからI/Oユニット26−jに出力するように
したことである。図9に示すように、本発明の第2の実
施形態のメモリ制御回路は、2枚のメモリ制御回路24
−1と24−2によって構成されている。2枚のメモリ
制御回路24−1と24−2は、共通の要素によって構
成されている。このように2枚にメモリ制御回路24−
1,24−2に分割したのは、ピン数の問題からであ
る。メモリ制御回路24−1は、ホストバス側の入出力
バッファ24a、メモリ側の入出力バッファ24b、3
2ビット×4構成のバーストデータバッファ(第1のバ
ッファ)24d、32ビットのシングルライトバッファ
(第2のバッファ)24g、データ選択/マージ回路2
4f、バッファ・データ選択制御回路24g、16ビッ
ト×4構成のデータバッファ24h、データ選択回路2
4i、24j、24l(第2のデータ選択回路)、バッ
ファ・データ選択制御回路24k、16ビット×4構成
のバッファ(第3のバッファ)24m、データ選択/マ
ージ回路24n、バッファ・データ制御回路24o、3
2ビット×2構成のデータバッファ24p、データ選択
回路24q、24r、24s(第1のデータ選択回
路)、バッファ・データ選択制御回路24t、メモリ制
御信号生成回路24u、コントローラ24vを備えてい
る。
Second Embodiment FIG. 9 is a functional block diagram of a memory control circuit according to the second embodiment of the present invention. The memory control circuit of the second embodiment is different from the memory control circuit of the first embodiment in that the memory 25 has a cache 22-i and an I / O unit 26-.
I / O unit 26-
When the light back light for the light from j,
Merge the data and write it in the memory 25,
At the time of the backlight for the read, the read data is not read from the memory 25, but the backlight data is output from the buffer to the I / O unit 26-j. As shown in FIG. 9, the memory control circuit according to the second embodiment of the present invention includes two memory control circuits 24.
-1 and 24-2. The two memory control circuits 24-1 and 24-2 are configured by common elements. In this way, two memory control circuits 24-
The reason for dividing into 1,4-2 is because of the problem of the number of pins. The memory control circuit 24-1 includes an input / output buffer 24a on the host bus side, an input / output buffer 24b on the memory side, and
Burst data buffer (first buffer) 24d of 2 bits × 4 configuration, 32-bit single write buffer (second buffer) 24g, data selection / merge circuit 2
4f, buffer / data selection control circuit 24g, 16-bit × 4 data buffer 24h, data selection circuit 2
4i, 24j, 24l (second data selection circuit), buffer / data selection control circuit 24k, 16-bit × 4 configuration buffer (third buffer) 24m, data selection / merge circuit 24n, buffer / data control circuit 24o Three
It is provided with a data buffer 24p of 2 bits × 2 structure, data selection circuits 24q, 24r, 24s (first data selection circuit), a buffer / data selection control circuit 24t, a memory control signal generation circuit 24u, and a controller 24v.

【0031】メモリ制御回路24−1,24−2は、ホ
ストバス23を介して、キャッシュ22−i(i=1〜
n)に接続され、I/Oバス27を介して、I/Oユニ
ット26−jに接続され、データバスを介して、メモリ
25に接続されている。入出力バッファ24aは、ホス
トバス23のデータバス23−DBに接続されている。
入出力バッファ24aの出力は、バーストデータバッフ
ァ24d、及びシングルデータバッファ24eの入力に
接続されている。バーストデータバッファ24dの出力
は、データ選択/マージ回路24n及びデータ選択回路
24lの入力に接続されている。シングルライトバッフ
ァ24eの出力は、データ選択/マージ回路24n及び
データ選択回路24iの入力に接続されている。バッフ
ァ・データ選択制御回路24gの出力は、バーストデー
タバッファ24d、シングルライトバッファ24e、及
びデータ選択回路24fの選択信号入力に接続されてい
る。入出力バッファ24bは、メモリ25に接続されて
いる。入出力バッファ24bの出力は、データバッファ
24p、データバッファ24hの入力に接続されてい
る。データバッファ24hの出力は、データ選択回路2
4jの入力に接続されている。
The memory control circuits 24-1 and 24-2 are connected to the cache 22-i (i = 1 to 1) via the host bus 23.
n), is connected to the I / O unit 26-j via the I / O bus 27, and is connected to the memory 25 via the data bus. The input / output buffer 24a is connected to the data bus 23-DB of the host bus 23.
The output of the input / output buffer 24a is connected to the burst data buffer 24d and the input of the single data buffer 24e. The output of the burst data buffer 24d is connected to the inputs of the data selection / merge circuit 24n and the data selection circuit 24l. The output of the single write buffer 24e is connected to the inputs of the data selection / merge circuit 24n and the data selection circuit 24i. The output of the buffer / data selection control circuit 24g is connected to the selection signal inputs of the burst data buffer 24d, the single write buffer 24e, and the data selection circuit 24f. The input / output buffer 24b is connected to the memory 25. The output of the input / output buffer 24b is connected to the inputs of the data buffer 24p and the data buffer 24h. The output of the data buffer 24h is the data selection circuit 2
It is connected to the input of 4j.

【0032】データ選択回路24j、24iの出力は、
データ選択回路24lの入力に接続されている。バッフ
ァ・データ選択制御回路24kの出力は、データバッフ
ァ24h、及びデータ選択回路24i,24j,24l
の選択信号入力に接続されている。データ選択回路24
lの出力は、入出力バッファ24cの入力に接続されて
いる。入出力バッファ24cは、I/Oバス27のアド
レスバス27−ADに接続されている。入出力バッファ
24cの出力は、データバッファ24mの入力に接続さ
れている。データバッァ24mの出力は、データ選択/
マージ回路24n及びデータ選択回路24rの入力に接
続されている。バッファ・データ選択制御回路24oの
出力は、データバッファ24m、データ選択/マージ回
路24nの選択信号入力に接続されている。データバッ
ファ24pの出力は、データ選択回路24pの入力に接
続されている。データ選択回路24p、24rの出力
は、データ選択回路24sの入力に接続されている。バ
ッファ・データ選択制御回路24tの出力は、データバ
ッファ24p、データ選択回路24p、24q、24
r、24sの選択信号入力に接続されている。
The outputs of the data selection circuits 24j and 24i are
It is connected to the input of the data selection circuit 24l. The output of the buffer / data selection control circuit 24k is the data buffer 24h and the data selection circuits 24i, 24j, and 24l.
Is connected to the selection signal input of. Data selection circuit 24
The output of l is connected to the input of the input / output buffer 24c. The input / output buffer 24c is connected to the address bus 27-AD of the I / O bus 27. The output of the input / output buffer 24c is connected to the input of the data buffer 24m. The output of the data buffer 24m is data selection /
It is connected to the inputs of the merge circuit 24n and the data selection circuit 24r. The output of the buffer / data selection control circuit 24o is connected to the selection signal inputs of the data buffer 24m and the data selection / merge circuit 24n. The output of the data buffer 24p is connected to the input of the data selection circuit 24p. The outputs of the data selection circuits 24p and 24r are connected to the inputs of the data selection circuit 24s. The output of the buffer / data selection control circuit 24t is the data buffer 24p and the data selection circuits 24p, 24q, 24.
It is connected to the selection signal inputs of r and 24s.

【0033】プロセッサ21−iは、例えば、64ビッ
ト幅のデータ幅で4連送のバースト転送機構を有してい
る。キャッシュ22−iは、例えば、64ビット幅のデ
ータ幅で4連送のバースト転送機構及びバス制御回路を
有している。ホストバス23は、例えば、64ビット幅
のデータバス23−DBとアドレスバス23−ADと制
御ライン23−CTLを有している。メモリ25は、例
えば、128ビット幅のデータ信号、11ビット幅のア
ドレス信号、ロウ制御信号信号、カラム制御信号、書き
込み制御信号、読み出し制御信号を入力するDRAMで
ある。入出力バッファ24aは、ホストバス23との間
で32ビット幅のデータの入出力をするバッファであ
る。入出力バッファ24bは、メモリ25との間で64
ビット幅のデータの入出力をするバッファである。入出
力バッファ24cは、I/Oユニット26−j(j=1
〜m)の間でデータの入出力をする16ビット幅のバッ
ファである。バーストデータバッファ24dは、32ビ
ット×4構成のバッファである。シングルデータバッフ
ァ24eは、32ビットのバッファである。データ選択
回路24fは、32ビット×4構成のバーストデータバ
ッファ24dの出力から64ビットを選択する回路であ
る。バッファ・データ選択制御回路24gは、バースト
データバッファ24dとシングルライトバッファ24e
にデータをラッチするタイミングを示す信号とデータ選
択回路24fがバースデータバッファ24dの出力を選
択する選択信号を生成する回路である。
The processor 21-i has, for example, a burst transfer mechanism of four continuous transmission with a data width of 64 bits. The cache 22-i has, for example, a burst transfer mechanism and a bus control circuit that continuously transmit four bits with a data width of 64 bits. The host bus 23 has, for example, a 64-bit wide data bus 23-DB, an address bus 23-AD, and a control line 23-CTL. The memory 25 is, for example, a DRAM to which a 128-bit width data signal, an 11-bit width address signal, a row control signal signal, a column control signal, a write control signal, and a read control signal are input. The input / output buffer 24a is a buffer for inputting / outputting 32-bit wide data to / from the host bus 23. The input / output buffer 24b is 64
It is a buffer that inputs and outputs bit width data. The input / output buffer 24c is the I / O unit 26-j (j = 1.
It is a 16-bit wide buffer for inputting / outputting data between m) to m). The burst data buffer 24d is a buffer of 32 bits × 4 structure. The single data buffer 24e is a 32-bit buffer. The data selection circuit 24f is a circuit that selects 64 bits from the output of the burst data buffer 24d of 32 bits × 4 configuration. The buffer / data selection control circuit 24g includes a burst data buffer 24d and a single write buffer 24e.
Is a circuit for generating a signal indicating the timing of latching the data and a selection signal for selecting the output of the burst data buffer 24d by the data selection circuit 24f.

【0034】データバッファ24hは、16ビット×4
構成のバッファである。データ選択回路24iは、32
ビット構成のシングルライトバッファ24eの出力から
16ビットの出力を選択する回路である。データ選択回
路24lは、データ選択回路24iと24jのいずれか
の出力を選択する回路である。データバッファ24m
は、16ビット×4構成のI/Oユニット26−jの出
力を入力するバッファである。データ選択/マージ回路
24nは、シングルライトバッファ24eの出力と、デ
ータ選択回路24fの出力と、データバッファ24mの
出力とを選択/マージする回路である。バッファ・デー
タ選択制御回路24oは、データバッファ24mにデー
タをラッチするタイミングを示す信号と、データ選択/
マージ回路24nに選択信号とを生成する回路である。
データバッファ24pは、32ビット×2構成のバッフ
ァである。データ選択回路24qは、32ビット×2構
成のデータバッファ24pから32ビットの出力を選択
する回路である。データ選択回路24rは、16ビット
×4構成のデータバッファ24mの出力から32ビット
の出力を選択する回路である。
The data buffer 24h has 16 bits × 4.
It is a configuration buffer. The data selection circuit 24i has 32
It is a circuit that selects a 16-bit output from the output of the single write buffer 24e having a bit configuration. The data selection circuit 24l is a circuit that selects one of the outputs of the data selection circuits 24i and 24j. Data buffer 24m
Is a buffer for inputting the output of the I / O unit 26-j of 16 bits × 4 configuration. The data selection / merge circuit 24n is a circuit that selects / merges the output of the single write buffer 24e, the output of the data selection circuit 24f, and the output of the data buffer 24m. The buffer / data selection control circuit 24o receives a signal indicating the timing of latching data in the data buffer 24m, and
This is a circuit for generating a selection signal to the merge circuit 24n.
The data buffer 24p is a buffer of 32 bits × 2. The data selection circuit 24q is a circuit that selects a 32-bit output from the data buffer 24p having a 32-bit × 2 configuration. The data selection circuit 24r is a circuit that selects a 32-bit output from the output of the data buffer 24m having a 16-bit × 4 configuration.

【0035】データ選択回路24sは、データ選択回路
24rと24pのいずれかの32ビットの出力を選択す
る回路である。バッファ・データ選択制御回路24t
は、バッファ24pがデータをラッチするタイミングを
示す信号と、データ選択回路24q、24r、24sで
の選択信号を生成する回路である。メモリ制御信号生成
回路24uは、メモリ25へリード/ライトするための
制御信号を生成する回路である。コントローラ24v
は、メモリ制御回路24−1の全体の同期をとるための
制御回路である。I/Oユニット26−j(j=1〜
m)は、SCSIコントローラやLANコントローラな
どである。I/Oバス27は、32×2ビットのデータ
バス27−DB、アドレスバス27−AD、制御ライン
27−CTLを有する。以下、図9の動作の説明をす
る。
The data selection circuit 24s is a circuit for selecting one of the 32-bit outputs of the data selection circuits 24r and 24p. Buffer / data selection control circuit 24t
Is a circuit for generating a signal indicating a timing at which the buffer 24p latches data and a selection signal for the data selection circuits 24q, 24r, and 24s. The memory control signal generation circuit 24u is a circuit that generates a control signal for reading / writing the memory 25. Controller 24v
Is a control circuit for synchronizing the entire memory control circuit 24-1. I / O unit 26-j (j = 1 to
m) is a SCSI controller or LAN controller. The I / O bus 27 has a 32 × 2 bit data bus 27-DB, an address bus 27-AD, and a control line 27-CTL. The operation of FIG. 9 will be described below.

【0036】(a) ホストバス側からのシングルライ
ト プロセッサ21−iは、メモリ25にシングルデータを
ライトしようとして、キャッシャ22−iでミスヒット
したとする。キャッシュ22−iは、シングルライトし
ようとしてアドレスをアドレスバス3−ADにドライブ
する。コントローラ24vは、アドレスを確認したこと
を示す信号をアサートする。そのアドレスに対して、サ
イクルを起動したプロセッサ21−i以外のキャッシュ
22−j(j≠i)及びプロセッサ21−jは、スヌー
プを行い、サイクルを起動したキャッシュ22−iはス
ヌープの結果を待つことなく、データをホストバス23
のデータバス23−DBに出力する。バッファ・データ
選択制御回路24gは、コントローラ24vの指示に従
って、シングルデータバッファ24eにラッチするタイ
ミングを指示する信号を出力する。シングルデータは、
シングルデータバッファ24eにラッチされる。他のど
のキャッシュ22−j(j≠i)においてもそのシング
ルライトデータを含むラインがヒットしなかったとする
と、モディファイラインにヒットしたか否かを示す信号
は、ネゲートされる。バッファ・データ選択制御回路2
4oは、コントローラ24vの指示に従って、シングル
ライトバッファ24eの出力を選択する選択信号とシン
グルライトデータのアドレス[4:3}ビットから、6
4ビットの出力ラインの0〜31ビットか32〜63ビ
ットのいずれにシングルデータを出力するかを指示する
選択信号を出力する。データ選択回路24nは、バッフ
ァ・データ選択制御回路24oからの選択信号に従っ
て、シングルライトバッファ24eの出力を選択し、選
択信号に従って、32ビットを出力する。シングルデー
タは、入出力バッファ24bを通して、メモリ25のデ
ータラインに出力される。メモリ制御信号生成回路24
uは、コントローラ24vの指示に従って、メモリ25
にライトするための制御信号を生成して、メモリ25に
出力する。メモリ25は、シングルデータをライトす
る。
(A) Single write from the host bus side It is assumed that the processor 21-i attempts to write single data to the memory 25 and a miss is made in the cashier 22-i. The cache 22-i drives the address to the address bus 3-AD in an attempt to perform a single write. The controller 24v asserts a signal indicating that the address has been confirmed. For the address, the cache 22-j (j ≠ i) other than the processor 21-i that started the cycle and the processor 21-j perform snoop, and the cache 22-i that started the cycle waits for the result of the snoop. Data to the host bus 23 without
To the data bus 23-DB. The buffer / data selection control circuit 24g outputs a signal instructing the latch timing to the single data buffer 24e in accordance with the instruction from the controller 24v. Single data is
It is latched in the single data buffer 24e. Assuming that the line including the single write data does not hit in any of the other caches 22-j (j ≠ i), the signal indicating whether or not the modify line is hit is negated. Buffer / data selection control circuit 2
4o is 6 from the selection signal for selecting the output of the single write buffer 24e and the address [4: 3} bit of the single write data according to the instruction of the controller 24v.
A selection signal for instructing which of 0 to 31 bits or 32 to 63 bits of the 4-bit output line the single data is output is output. The data selection circuit 24n selects the output of the single write buffer 24e according to the selection signal from the buffer / data selection control circuit 24o, and outputs 32 bits according to the selection signal. The single data is output to the data line of the memory 25 through the input / output buffer 24b. Memory control signal generation circuit 24
u stores in the memory 25 according to the instruction from the controller 24v.
A control signal for writing to is generated and output to the memory 25. The memory 25 writes single data.

【0037】(b) ホストバス側からのバーストライ
ト プロセッサ21−iは、メモリ25にバーストデータを
ライトしようとして、キャッシャ22−iでミスヒット
したとする。キャッシュ22−iは、シングルライトし
ようとしてアドレスをアドレスバス3−ADにドライブ
する。コントローラ24vは、アドレスを確認したこと
を示す信号をアサートする。キャッシュ22−iは、4
連送のデータをデータバス23−DBに出力する。バッ
ファ・データ選択制御回路24gは、コントローラ24
vの指示に従って、バーストデータバッファ24dにラ
ッチするタイミングを指示する信号を出力する。バース
トデータは、32×4ビット構成のバーストデータバッ
ファ24eに順次ラッチされる。バッファ・データ選択
制御回路24gは、コントローラ24vの指示に従っ
て、バーストデータバッファ24eの出力を64ビット
毎に順次選択するよう選択信号を出力する。データ選択
回路24fは、バッファ・データ選択制御回路24gか
らの選択信号に従って、64ビット毎にバーストデータ
バッファ24eの出力を選択して出力する。バッファ・
データ選択制御回路24oは、データ選択回路24fの
64ビットの出力を選択するよう選択信号を出力する。
データ選択回路24fは、バッファ・データ選択制御回
路24oからの選択信号に従って、データ選択回路24
fの出力を選択して、入出力バッファ24bを通して、
メモリ5のデータラインに出力する。メモリ制御信号生
成回路24uは、コントローラ24vからの指示に従っ
て、メモリ制御信号を生成する。メモリ25は、バース
トデータを順次ライトする。
(B) Burst write from the host bus side It is assumed that the processor 21-i tries to write the burst data to the memory 25, but misses the cashier 22-i. The cache 22-i drives the address to the address bus 3-AD in an attempt to perform a single write. The controller 24v asserts a signal indicating that the address has been confirmed. Cache 22-i is 4
The continuous transmission data is output to the data bus 23-DB. The buffer / data selection control circuit 24g includes a controller 24
In accordance with the instruction v, the burst data buffer 24d outputs a signal instructing the timing of latching. The burst data is sequentially latched in the burst data buffer 24e having a 32 × 4 bit structure. The buffer / data selection control circuit 24g outputs a selection signal to sequentially select the output of the burst data buffer 24e every 64 bits in accordance with an instruction from the controller 24v. The data selection circuit 24f selects and outputs the output of the burst data buffer 24e every 64 bits in accordance with the selection signal from the buffer / data selection control circuit 24g. buffer·
The data selection control circuit 24o outputs a selection signal to select the 64-bit output of the data selection circuit 24f.
The data selection circuit 24f is responsive to the selection signal from the buffer / data selection control circuit 24o.
Select the output of f, and through the input / output buffer 24b,
Output to the data line of the memory 5. The memory control signal generation circuit 24u generates a memory control signal according to an instruction from the controller 24v. The memory 25 sequentially writes burst data.

【0038】(c) ホストバス側からのシングルリー
ド プロセッサ21−iは、メモリ25からシングルデータ
をリードしようとして、キャッシュ22−iでミスヒッ
トしたとする。キャッシュ22−iは、シングルデータ
をリードしようとしてアドレスをアドレスバス23−A
Dにドライブする。 コントローラ24vは、アドレス
を確認したことを示す信号をアサートする。そのアドレ
スに対して、サイクルを起動したプロセッサ21−i以
外のキャッシュ22−j(j≠i)、プロセッサ21−
j、及びI/Oユニット26−kは、スヌープを行う。
他のどのキャッシュ22−j(j≠i)のシングルリー
ドデータを含むラインがヒットしなかったとすると、モ
ディファイラインにヒットしたか否かを示す信号は、ネ
ゲートされる。
(C) Single read from the host bus side It is assumed that the processor 21-i attempts to read single data from the memory 25, but misses in the cache 22-i. The cache 22-i tries to read the single data and sends the address to the address bus 23-A.
Drive to D. The controller 24v asserts a signal indicating that the address has been confirmed. For that address, the cache 22-j (j ≠ i) other than the processor 21-i that started the cycle, the processor 21-
j and the I / O unit 26-k perform snoop.
If no other cache 22-j (j ≠ i) containing a single read data line is hit, the signal indicating whether or not the modify line is hit is negated.

【0039】(c1) I/Oユニット26−kがリー
ドデータを保持している場合 I/Oユニット26−kがリードデータを保持している
場合は、I/Oユニット26−kがリードデータを保持
していたことを信号でアサートし、データの準備ができ
たことを信号を用いて示す。コントローラ24vは、デ
ータを受け付けることを信号を用いて示す。バッファ・
データ選択制御回路24oは、コントローラ24vから
の指示に従って、データバッファ24mにデータをラッ
チするための信号を出力する。I/Oデータバス27−
DBに出力されたデータは、データバッファ24mにラ
ッチされる。バッファ・データ選択制御回路24oは、
コントローラ24uからの指示に従って、データバッフ
ァ24mの出力を選択するように選択信号を出力する。
データ選択回路24nは、データバッファ24mの出力
を選択して出力する。メモリ制御信号生成回路24u
は、コントローラ24vからの指示に従って、メモリ制
御信号を生成する。メモリ25は、I/Oデータバス2
7−DBからのデータを順次ライトする。一方、バッフ
ァ・データ選択制御回路24tは、コントローラ24v
からの指示に従って、データバッファ24mからの出力
を選択するよう選択信号を出力する。データ選択回路2
4rは、データバッファ24mの出力を選択して、デー
タ選択回路24s、入出力バッファ24aを通して、デ
ータバス23−DBに出力する。
(C1) When I / O unit 26-k holds read data When I / O unit 26-k holds read data, I / O unit 26-k reads data. Is held by a signal, and the signal indicates that data is ready. The controller 24v uses a signal to indicate that it accepts data. buffer·
The data selection control circuit 24o outputs a signal for latching data to the data buffer 24m according to an instruction from the controller 24v. I / O data bus 27-
The data output to DB is latched in the data buffer 24m. The buffer / data selection control circuit 24o
According to the instruction from the controller 24u, a selection signal is output so as to select the output of the data buffer 24m.
The data selection circuit 24n selects and outputs the output of the data buffer 24m. Memory control signal generation circuit 24u
Generates a memory control signal according to an instruction from the controller 24v. The memory 25 is the I / O data bus 2
Data from 7-DB is sequentially written. On the other hand, the buffer / data selection control circuit 24t is the controller 24v.
A selection signal is output to select the output from the data buffer 24m according to the instruction from. Data selection circuit 2
4r selects the output of the data buffer 24m and outputs it to the data bus 23-DB through the data selection circuit 24s and the input / output buffer 24a.

【0040】(c2) I/Oユニット26−kがリー
ドデータを保持していない場合 メモリ制御信号生成回路24uは、コントローラ24v
の指示に従って、メモリ制御信号を生成して、メモリ2
5に出力する。メモリ25は、データをリードする。バ
ッファ・データ選択回路24tは、コントローラ24v
の指示に従って、データバッファ24pにデータをラッ
チするタイミングを示す信号を出力する。メモリ25か
らのデータは、データバッファ24pにラッチされる。
データバッファ24pにラッチされたデータは、バッフ
ァ・データ選択制御回路24tからの選択信号によっ
て、データ選択回路24q、24sで選択されて、入出
力バッファ24aを通して、データバス23−DBに出
力される。
(C2) When the I / O unit 26-k does not hold read data The memory control signal generation circuit 24u is the controller 24v.
Memory control signal to generate the memory 2
5 is output. The memory 25 reads the data. The buffer / data selection circuit 24t is the controller 24v.
In accordance with the instruction, a signal indicating the timing of latching the data is output to the data buffer 24p. The data from the memory 25 is latched in the data buffer 24p.
The data latched in the data buffer 24p is selected by the data selection circuits 24q and 24s according to the selection signal from the buffer / data selection control circuit 24t, and is output to the data bus 23-DB through the input / output buffer 24a.

【0041】(d) ホストバス側からのバーストリー
ド プロセッサ21−iは、メモリ25からシングルデータ
をリードしようとして、キャッシュ22−iでミスヒッ
トしたとする。キャッシュ22−iは、シングルデータ
をリードしようとしてアドレスをアドレスバス23−A
Dにドライブする。コントローラ24vは、アドレスを
確認したことを示す信号をアサートする。そのアドレス
に対して、サイクルを起動したプロセッサ21−i以外
のキャッシュ22−j(j≠i)、プロセッサ21−
j、及びI/Oユニット26−kは、スヌープを行う。
他のどのキャッシュ22−j(j≠i)のシングルリー
ドデータを含むラインがヒットしなかったとすると、モ
ディファイラインにヒットしたか否かを示す信号は、ネ
ゲートされる。そして、I/Oユニット26−kがバー
ストリードしたいデータの一部を保持していれば、その
データをメモリ25にライトした後、メモリ25からバ
ーストデータを4連送で出力して、データバッファ24
pでラッチして、データ選択回路24q、24s、入出
力バッファ24aを通して、データバス23−DBに出
力する。
(D) Burst read from the host bus side It is assumed that the processor 21-i attempts to read single data from the memory 25, but misses in the cache 22-i. The cache 22-i tries to read the single data and sends the address to the address bus 23-A.
Drive to D. The controller 24v asserts a signal indicating that the address has been confirmed. For that address, the cache 22-j (j ≠ i) other than the processor 21-i that started the cycle, the processor 21-
j and the I / O unit 26-k perform snoop.
If no other cache 22-j (j ≠ i) containing a single read data line is hit, the signal indicating whether or not the modify line is hit is negated. Then, if the I / O unit 26-k holds a part of the data to be burst read, the data is written to the memory 25, and then the burst data is output from the memory 25 in four consecutive transmissions to the data buffer. 24
It is latched by p and output to the data bus 23-DB through the data selection circuits 24q and 24s and the input / output buffer 24a.

【0042】(e) ホスト側からのシングルライトに
対するライトバック プロセッサ21−iは、メモリ25にシングルデータを
ライトしようとして、キャッシャ22−iでミスヒット
したとする。キャッシュ22−iは、シングルライトし
ようとしてアドレスをアドレスバス3−ADにドライブ
する。コントローラ24vは、アドレスを確認したこと
を示す信号をアサートする。そのアドレスに対して、サ
イクルを起動したプロセッサ21−i以外のキャッシュ
22−j(j≠i)及びプロセッサ21−jは、スヌー
プを行い、サイクルを起動したキャッシュ22−iはス
ヌープの結果を待つことなく、データをホストバス23
のデータバス23−DBに出力する。コントローラ24
vは、アドレスを確認したことを示す信号をアサートす
る。そのアドレスに対して、サイクルを起動したプロセ
ッサ21−iの以外のキャッシュ22−j(j≠i)及
びプロセッサ21−jは、スヌープを行い、サイクルを
起動したキャッシュ22−iはスヌープの結果を待つこ
となく、データをホストバス3のデータバス23−DB
に出力する。
(E) Write-back for single write from the host side It is assumed that the processor 21-i attempts to write single data to the memory 25 and a mishit is made by the cashier 22-i. The cache 22-i drives the address to the address bus 3-AD in an attempt to perform a single write. The controller 24v asserts a signal indicating that the address has been confirmed. For the address, the cache 22-j (j ≠ i) other than the processor 21-i that started the cycle and the processor 21-j perform snoop, and the cache 22-i that started the cycle waits for the result of the snoop. Data to the host bus 23 without
To the data bus 23-DB. Controller 24
v asserts a signal indicating that it has confirmed the address. For the address, the cache 22-j (j ≠ i) and the processor 21-j other than the processor 21-i which started the cycle perform snoop, and the cache 22-i which started the cycle outputs the result of the snoop. Data can be transferred to the data bus 23-DB of the host bus 3 without waiting.
Output to

【0043】バッファ・データ選択制御回路24gは、
コントローラ24vの指示に従って、シングルデータバ
ッファ24eにラッチするタイミングを指示する信号を
出力する。シングルデータは、シングルデータバッファ
24eにラッチされる。キャッシュ22−nは、モディ
ファイラインにヒットしたことを信号でアサートし、ラ
イトバックデータの準備ができたことを信号を用いて示
す。コントローラ24uは、データを受け付けることを
信号を用いて示す。バッファ・データ選択制御回路24
gは、コントローラ24vからの指示に従って、バース
トデータバッファ24dにラッチするタイミングを示す
信号を出力する。バーストデータバッファ24dにバー
ストライトデータが順次ラッチされる。バッファ・デー
タ選択制御回路24gは、コントローラ24uからの指
示に従い、32ビット×4構成のバーストデータッファ
24dを64ビット毎に選択するよう指示する選択信号
を出力する。データ選択回路24fは、バーストデータ
バッファ24dから64ビット毎に選択して出力する。
バッファ・データ選択制御回路24oは、コントローラ
24uからの指示に従い、シングルライトデータのアド
レス[4:3]から、データ選択/マージ回路24nに
選択信号を出力する。データ選択/マージ回路24n
は、バッファ・データ選択制御回路24oからの選択信
号に従って、データ選択回路24fの出力とシングルラ
イトバッファ24eの出力を選択/マージして出力す
る。データ選択/マージ回路24nからの出力は、入出
力バッファ24bでラッチされて、64ビット毎にメモ
リ25のデータラインに出力される。メモリ制御信号生
成回路24uは、コントローラ24vからの指示に従っ
て、アドレス制御信号を生成して、メモリ25に出力す
る。メモリ25は、データをライトしてゆく。
The buffer / data selection control circuit 24g is
In accordance with the instruction from the controller 24v, the single data buffer 24e outputs a signal instructing the latch timing. The single data is latched in the single data buffer 24e. The cache 22-n asserts that a modify line has been hit with a signal and uses a signal to indicate that write-back data is ready. The controller 24u uses a signal to indicate that it accepts data. Buffer / data selection control circuit 24
In response to an instruction from the controller 24v, g outputs a signal indicating the timing of latching in the burst data buffer 24d. Burst write data is sequentially latched in the burst data buffer 24d. In accordance with an instruction from the controller 24u, the buffer / data selection control circuit 24g outputs a selection signal instructing to select the 32-bit × 4 burst data buffer 24d for every 64 bits. The data selection circuit 24f selects and outputs every 64 bits from the burst data buffer 24d.
The buffer / data selection control circuit 24o outputs a selection signal from the address [4: 3] of the single write data to the data selection / merge circuit 24n according to an instruction from the controller 24u. Data selection / merge circuit 24n
Selects / merges the output of the data selection circuit 24f and the output of the single write buffer 24e according to a selection signal from the buffer / data selection control circuit 24o, and outputs the selected / merged data. The output from the data selection / merge circuit 24n is latched by the input / output buffer 24b and output to the data line of the memory 25 every 64 bits. The memory control signal generation circuit 24u generates an address control signal according to an instruction from the controller 24v and outputs it to the memory 25. The memory 25 writes data.

【0044】(f) ホスト側からのシングルリードに
対するライトバック プロセッサ21−iは、メモリ25にシングルデータを
リードしようとして、キャッシャ22−iでミスヒット
したとする。キャッシュ22−iは、シングルリードし
ようとしてアドレスをアドレスバス3−ADにドライブ
する。コントローラ24vは、アドレスを確認したこと
を示す信号をアサートする。そのアドレスに対して、サ
イクルを起動したプロセッサ21−i以外のキャッシュ
22−j(j≠i)及びプロセッサ21−jは、スヌー
プを行い、サイクルを起動したキャッシュ22−iはス
ヌープの結果を待つことなく、データをホストバス23
のデータバス23−DBに出力する。コントローラ24
vは、アドレスを確認したことを示す信号をアサートす
る。そのアドレスに対して、サイクルを起動したプロセ
ッサ21−iの以外のキャッシュ22−j(j≠i)及
びプロセッサ21−jは、スヌープを行う。キャッシュ
22−nは、モディファイラインにヒットしたことを信
号でアサートし、ライトバックデータの準備ができたこ
とを信号を用いて示す。コントローラ24uは、データ
を受け付けることを信号を用いて示す。バッファ・デー
タ選択制御回路24gは、コントローラ24vからの指
示に従って、バーストデータバッファ24dにラッチす
るタイミングを示す信号を出力する。バーストライトバ
ッファ24dにバーストライトデータが順次ラッチされ
る。
(F) Write-back for single read from the host side It is assumed that the cache 22-i makes a miss hit while trying to read single data into the memory 25. The cache 22-i drives an address to the address bus 3-AD in an attempt to perform a single read. The controller 24v asserts a signal indicating that the address has been confirmed. For the address, the cache 22-j (j ≠ i) other than the processor 21-i that started the cycle and the processor 21-j perform snoop, and the cache 22-i that started the cycle waits for the result of the snoop. Data to the host bus 23 without
To the data bus 23-DB. Controller 24
v asserts a signal indicating that it has confirmed the address. For the address, the cache 22-j (j ≠ i) and the processor 21-j other than the processor 21-i which started the cycle perform snoop. The cache 22-n asserts that a modify line has been hit with a signal and uses a signal to indicate that write-back data is ready. The controller 24u uses a signal to indicate that it accepts data. The buffer / data selection control circuit 24g outputs a signal indicating the timing of latching in the burst data buffer 24d according to an instruction from the controller 24v. Burst write data is sequentially latched in the burst write buffer 24d.

【0045】バッファ・データ選択制御回路24gは、
コントローラ24uからの指示に従い、32ビット×4
構成のバーストライトバッファ24dを64ビット毎に
選択するよう指示する選択信号を出力する。データ選択
回路24fは、バーストデータバッファ24dから64
ビット毎に選択して出力する。バッファ・データ選択制
御回路24oは、コントローラ24uからの指示に従
い、データ選択回路24fの出力を選択するよう選択信
号を出力する。データ選択/マージ回路24nは、デー
タ選択回路24fの出力を64ビット毎に選択して出力
する。データ選択/マージ回路24nからの出力は、入
出力バッファ24bでラッチされて、64ビット毎にメ
モリ25のデータラインに出力される。メモリ制御信号
生成回路24uは、コントローラ24vからの指示に従
って、アドレス制御信号を生成して、メモリ25に出力
する。メモリ25は、バックライトデータをライトして
ゆく。一方、バッファ・データ選択制御回路24tは、
コントローラ24vからの指示に従って、メモリ25へ
のライトバックデータの書き込みと並行して、シングル
リードアドレスの[4:3]から、データ選択回路24
fの出力を選択するタイミングを指示する信号を出力す
る。データ選択回路24sは、データ選択回路24fの
出力を選択して、入出力バッファ24aを通して、デー
タバス23−DBに出力する。
The buffer / data selection control circuit 24g is
32 bits x 4 according to the instruction from the controller 24u
A selection signal for instructing to select the burst write buffer 24d having the configuration every 64 bits is output. The data selection circuit 24f includes burst data buffers 24d through 64d.
Select each bit and output. The buffer / data selection control circuit 24o outputs a selection signal to select the output of the data selection circuit 24f according to an instruction from the controller 24u. The data selection / merge circuit 24n selects and outputs the output of the data selection circuit 24f for every 64 bits. The output from the data selection / merge circuit 24n is latched by the input / output buffer 24b and output to the data line of the memory 25 every 64 bits. The memory control signal generation circuit 24u generates an address control signal according to an instruction from the controller 24v and outputs it to the memory 25. The memory 25 writes the backlight data. On the other hand, the buffer / data selection control circuit 24t
In accordance with an instruction from the controller 24v, the data selection circuit 24 starts from [4: 3] of the single read address in parallel with writing the write-back data to the memory 25.
A signal indicating the timing for selecting the output of f is output. The data selection circuit 24s selects the output of the data selection circuit 24f and outputs it to the data bus 23-DB through the input / output buffer 24a.

【0046】(g) ホスト側からのバーストリードに
対するライトバック プロセッサ21−iは、メモリ25にバーストデータを
リードしようとして、キャッシャ22−iでミスヒット
したとする。キャッシュ22−iは、バーストリードし
ようとしてアドレスをアドレスバス3−ADにドライブ
する。コントローラ24vは、アドレスを確認したこと
を示す信号をアサートする。そのアドレスに対して、サ
イクルを起動したプロセッサ21−i以外のキャッシュ
22−j(j≠i)及びプロセッサ21−jは、スヌー
プを行い、サイクルを起動したキャッシュ22−iはス
ヌープの結果を待つことなく、データをホストバス23
のデータバス23−DBに出力する。コントローラ24
vは、アドレスを確認したことを示す信号をアサートす
る。そのアドレスに対して、サイクルを起動したプロセ
ッサ21−iの以外のキャッシュ22−j(j≠i)及
びプロセッサ21−jは、スヌープを行う。キャッシュ
22−nは、モディファイラインにヒットしたことを信
号でアサートし、ライトバックデータの準備ができたこ
とを信号を用いて示す。コントローラ24uは、データ
を受け付けることを信号を用いて示す。
(G) Writeback for burst read from the host side It is assumed that the cache 22-i misses the cache data while trying to read the burst data into the memory 25. The cache 22-i drives the address to the address bus 3-AD in an attempt to burst read. The controller 24v asserts a signal indicating that the address has been confirmed. For the address, the cache 22-j (j ≠ i) other than the processor 21-i that started the cycle and the processor 21-j perform snoop, and the cache 22-i that started the cycle waits for the result of the snoop. Data to the host bus 23 without
To the data bus 23-DB. Controller 24
v asserts a signal indicating that it has confirmed the address. For the address, the cache 22-j (j ≠ i) and the processor 21-j other than the processor 21-i which started the cycle perform snoop. The cache 22-n asserts that a modify line has been hit with a signal and uses a signal to indicate that write-back data is ready. The controller 24u uses a signal to indicate that it accepts data.

【0047】バッファ・データ選択制御回路24gは、
コントローラ24vからの指示に従って、バーストデー
タバッファ24dにラッチするタイミングを示す信号を
出力する。バーストライトバッファ24dにバーストラ
イトデータが順次ラッチされる。バッファ・データ選択
制御回路24gは、コントローラ24uからの指示に従
い、32ビット×4構成のバーストライトバッファ24
dを64ビット毎に選択するよう指示する選択信号を出
力する。データ選択回路24fは、バーストデータバッ
ファ24dから64ビット毎に選択して出力する。バッ
ファ・データ選択制御回路24oは、コントローラ24
uからの指示に従い、データ選択回路24fの出力を選
択するよう選択信号を出力する。データ選択/マージ回
路24nは、データ選択回路24fの出力を64ビット
毎に選択して出力する。データ選択/マージ回路24n
からの出力は、入出力バッファ24bでラッチされて、
64ビット毎にメモリ25のデータラインに出力され
る。メモリ制御信号生成回路24uは、コントローラ2
4vからの指示に従って、アドレス制御信号を生成し
て、メモリ25に出力する。メモリ25は、バックライ
トデータをライトしてゆく。一方、バッファ・データ選
択制御回路24tは、コントローラ24vからの指示に
従って、メモリ25へのライトバックデータの書き込み
と並行して、データ選択回路24fの出力を順次選択す
るよう指示する信号を出力する。データ選択回路24s
は、データ選択回路24fの出力を選択して、入出力バ
ッファ24aを通して、バーストリードデータをデータ
バス23−DBに出力する。
The buffer / data selection control circuit 24g is
In accordance with an instruction from the controller 24v, a signal indicating the timing of latching is output to the burst data buffer 24d. Burst write data is sequentially latched in the burst write buffer 24d. The buffer / data selection control circuit 24g follows the instruction from the controller 24u, and the burst write buffer 24 of 32 bits × 4 configuration.
A selection signal for instructing to select d every 64 bits is output. The data selection circuit 24f selects and outputs every 64 bits from the burst data buffer 24d. The buffer / data selection control circuit 24o includes the controller 24
According to the instruction from u, a selection signal is output so as to select the output of the data selection circuit 24f. The data selection / merge circuit 24n selects and outputs the output of the data selection circuit 24f for every 64 bits. Data selection / merge circuit 24n
The output from is latched by the input / output buffer 24b,
It is output to the data line of the memory 25 every 64 bits. The memory control signal generation circuit 24u includes the controller 2
An address control signal is generated according to the instruction from 4v and output to the memory 25. The memory 25 writes the backlight data. On the other hand, the buffer / data selection control circuit 24t outputs a signal instructing to sequentially select the output of the data selection circuit 24f in parallel with the writing of the write-back data to the memory 25 in accordance with the instruction from the controller 24v. Data selection circuit 24s
Selects the output of the data selection circuit 24f and outputs the burst read data to the data bus 23-DB through the input / output buffer 24a.

【0048】(h) I/Oバス側からのライト I/Oユニット26−jは、メモリ25にデータをライ
トする場合は、アドレスをI/Oバス27のアドレスバ
ス27−ADにドライブする。コントローラ24vは、
アドレスを確認したことを示す信号をアサートする。そ
のアドレスに対して、サイクルを起動したプロセッサ2
1−iの以外のキャッシュ22−j(j≠i)及びプロ
セッサ21−jは、スヌープを行い、サイクルを起動し
たキャッシュ22−iはスヌープの結果を待つことな
く、データをデータバス27−DBに出力する。キャッ
シュ22−j(j≠i)は、そのライトデータがモディ
ファイラインにヒットしたか否かを判定する。そして、
どのキャッシュ22−jにおいてもモディファイライン
にヒットしなかったとする。コントローラ24vは、デ
ータを受け付けることを信号を用いて示す。バッファ・
データ選択制御回路24oは、コントローラ24vの指
示に従って、データのアドレスから、16ビット×4構
成のバッファ24mへの出力先を示す信号を出力する。
I/Oデータバス27−DBからのデータは、データバ
ッファ24mにラッチされる。データバッファ24mに
ラッチされたデータは、入出力バッファ24bを通し
て、メモリ25にライトされる。
(H) Write from I / O Bus Side When writing data to the memory 25, the I / O unit 26-j drives an address to the address bus 27-AD of the I / O bus 27. The controller 24v is
Assert a signal indicating that the address has been confirmed. Processor 2 that started the cycle for that address
The cache 22-j (j ≠ i) other than 1-i and the processor 21-j perform snooping, and the cache 22-i which started the cycle transfers data to the data bus 27-DB without waiting for the result of snooping. Output to. The cache 22-j (j ≠ i) determines whether or not the write data hits the modify line. And
It is assumed that the modify line is not hit in any cache 22-j. The controller 24v uses a signal to indicate that it accepts data. buffer·
According to an instruction from the controller 24v, the data selection control circuit 24o outputs a signal indicating an output destination from the data address to the 16-bit × 4-structured buffer 24m.
The data from the I / O data bus 27-DB is latched in the data buffer 24m. The data latched in the data buffer 24m is written in the memory 25 through the input / output buffer 24b.

【0049】(i) I/Oバス側からのリード I/Oユニット26−jは、メモリ25にデータをリー
ドする場合は、アドレスをI/Oバス27のアドレスバ
ス27−ADにドライブする。コントローラ24vは、
アドレスを確認したことを示す信号をアサートする。そ
のアドレスに対して、サイクルを起動したプロセッサ2
1−iの以外のキャッシュ22−j(j≠i)及びプロ
セッサ21−jは、スヌープを行い、サイクルを起動し
たキャッシュ22−iはスヌープの結果を待つことな
く、データをデータバス27−DBに出力する。キャッ
シュ22−j(j≠i)は、そのライトデータがモディ
ファイラインにヒットしたか否かを判定する。そして、
どのキャッシュ22−jにおいてもモディファイライン
にヒットしなかったとする。コントローラ24vは、リ
ードしたいデータのアドレスからバーストデータバッフ
ァ24d又はシングルライトバッファ24eにそのデー
タがラッチされていないかを判断して、バーストデータ
バッファ24dにラッチされていれば、データのアドレ
スから、バッファ・データ選択制御回路24g、24k
を制御して、バーストデータバッファ24dからデータ
を選択して、データ選択回路24f、データ選択回路2
4l、入出力バッファ24cを通して、データバス27
−DBに出力する。
(I) Read from I / O Bus Side When reading data to the memory 25, the I / O unit 26-j drives an address to the address bus 27-AD of the I / O bus 27. The controller 24v is
Assert a signal indicating that the address has been confirmed. Processor 2 that started the cycle for that address
The cache 22-j (j ≠ i) other than 1-i and the processor 21-j perform snooping, and the cache 22-i which started the cycle transfers data to the data bus 27-DB without waiting for the result of snooping. Output to. The cache 22-j (j ≠ i) determines whether or not the write data hits the modify line. And
It is assumed that the modify line is not hit in any cache 22-j. The controller 24v determines from the address of the data to be read whether the burst data buffer 24d or the single write buffer 24e has latched that data. .Data selection control circuits 24g, 24k
To select data from the burst data buffer 24d, and to select the data selection circuit 24f and the data selection circuit 2
4 l, through the input / output buffer 24 c, the data bus 27
-Output to DB.

【0050】また、シングルライトバッファ24eにラ
ッチされていれば、データのアドレスから、シングルラ
イトバッファ24eにラッチされているデータをデータ
選択回路24i、データ選択回路24l、入出力バッフ
ァ24cを通して、データバス27−DBに出力する。
リードデータがバーストデータバッファ24d及びシン
グルライトバッファ24eにラッチされていなければ、
メモリ制御信号生成回路24uは、コントローラ24v
からの指示に従って、メモリ25にメモリ制御信号を生
成して出力する。メモリ25は、データをリードする。
バッファ・データ選択制御回路24kは、コントローラ
24vからの指示に従って、メモリ25からリードした
データをラッチするタイミングを示す信号を出力する。
メモリ25からリードしたデータは、データバッファ2
4hの所定のバッファにラッチされる。バッファ・デー
タ選択制御回路24kは、データ選択回路24jと24
lに選択信号を出力する。データ選択回路24jは、バ
ッファ・データ選択制御回路24kからの選択信号に従
って、16×4ビット構成のデータバッファ24hの出
力から選択して、データ選択回路24lは、データ選択
回路24jの出力を選択して、入出力バッファ24cを
通して、データバス27−DBに出力する。
If the data is latched in the single write buffer 24e, the data latched in the single write buffer 24e is transferred from the data address to the data bus via the data selection circuit 24i, the data selection circuit 24l, and the input / output buffer 24c. 27-Output to DB.
If the read data is not latched in the burst data buffer 24d and the single write buffer 24e,
The memory control signal generation circuit 24u is the controller 24v.
A memory control signal is generated and output to the memory 25 in accordance with the instruction from. The memory 25 reads the data.
The buffer / data selection control circuit 24k outputs a signal indicating the timing for latching the data read from the memory 25 in accordance with an instruction from the controller 24v.
The data read from the memory 25 is stored in the data buffer 2
It is latched in a predetermined buffer for 4h. The buffer / data selection control circuit 24k includes data selection circuits 24j and 24j.
The selection signal is output to l. The data selection circuit 24j selects from the output of the data buffer 24h having a 16 × 4 bit structure according to the selection signal from the buffer / data selection control circuit 24k, and the data selection circuit 24l selects the output of the data selection circuit 24j. And outputs it to the data bus 27-DB through the input / output buffer 24c.

【0051】(j) I/Oバス側からのライトに対す
るライトバック I/Oユニット26−jは、メモリ25にデータをライ
トする場合は、アドレスをI/Oバス27のアドレスバ
ス27−ADにドライブする。コントローラ24uは、
アドレスを確認したことを示す信号をアサートして、デ
ータを受け付けることを示す信号をアサートする。その
アドレスに対して、サイクルを起動したプロセッサ21
−iの以外のキャッシュ22−j(j≠i)及びプロセ
ッサ21−jは、スヌープを行う。I/Oユニット26
−jは、スヌープの結果を待つことなく、データをデー
タバス27−DBに出力する。バッファ・データ選択制
御回路24oは、コントローラ24vからの指示に従っ
て、データバッファ24mにラッチするタイミングを示
す信号を出力する。データバス27−DBからのデータ
は、データバッファ24mにラッチされる。キャッシュ
22−j(j≠i)は、そのライトデータがモディファ
イラインにヒットしたか否かを判定する。そして、キャ
ッシュ22−nでモディファイラインにヒットしたとす
る。キャッシュ22−nは、モディファイラインにヒッ
トしたことを信号でアサートし、ライトバックデータの
準備ができたことを信号を用いて示す。コントローラ2
4vは、データを受け付けることを信号を用いて示す。
(J) Write Back for Writing from I / O Bus Side When writing data to the memory 25, the I / O unit 26-j sends an address to the address bus 27-AD of the I / O bus 27. drive. The controller 24u is
A signal indicating that the address is confirmed is asserted, and a signal indicating that the data is accepted is asserted. The processor 21 that started the cycle for that address
The cache 22-j (j ≠ i) other than -i and the processor 21-j perform snoop. I / O unit 26
-J outputs data to the data bus 27-DB without waiting for the result of snoop. The buffer / data selection control circuit 24o outputs a signal indicating the timing of latching in the data buffer 24m in accordance with an instruction from the controller 24v. The data from the data bus 27-DB is latched in the data buffer 24m. The cache 22-j (j ≠ i) determines whether or not the write data hits the modify line. Then, it is assumed that the cache 22-n hits the modify line. The cache 22-n asserts that a modify line has been hit with a signal and uses a signal to indicate that write-back data is ready. Controller 2
4v uses a signal to indicate that data is accepted.

【0052】バッファ・データ選択制御回路24gは、
コントローラ24vからの指示に従って、データバス2
3−DBに出力されたライトデータバッファ24dでデ
ータをラッチするタイミングを示す信号を生成して出力
する。バーストデータバッファ24dにバーストライト
データが順次ラッチされる。バッファ・データ選択制御
回路24gは、バーストデータバッファ24dの出力を
64ビット毎に選択するよう選択信号を生成して出力す
る。データ選択回路24fは、バッファ・データ選択制
御回路24gからの選択信号に従って、バーストデータ
バッファ24dからの出力を64ビット毎に選択して出
力する。バッファ・データ選択制御回路24oは、コン
トローラ24vからの指示に従って、ライトデータのア
ドレスより、データバッファ24mの出力のどれを選択
するかを示す選択信号とデータ選択回路24fの出力の
どれをどのタイミングで選択するかを示す選択信号を生
成して出力する。データ選択/マージ回路24nは、バ
ッファ・データ選択制御回路24oからの選択信号に従
って、データ選択回路24fの出力とデータバッファ2
4mの出力を選択/マージして、出力する。データ選択
/マージ回路24nの出力は、入出力バッファ24bを
通して、メモリ25に出力される。メモリ制御信号生成
回路24uは、コントローラ24vの指示に従って、メ
モリ制御信号を生成して、メモリ25に出力する。メモ
リ25は、入出力バッファ24bの出力をライトする。
The buffer / data selection control circuit 24g is
According to the instruction from the controller 24v, the data bus 2
The write data buffer 24d output to 3-DB generates and outputs a signal indicating the timing of latching data. Burst write data is sequentially latched in the burst data buffer 24d. The buffer / data selection control circuit 24g generates and outputs a selection signal for selecting the output of the burst data buffer 24d for every 64 bits. The data selection circuit 24f selects and outputs the output from the burst data buffer 24d for every 64 bits in accordance with the selection signal from the buffer / data selection control circuit 24g. According to an instruction from the controller 24v, the buffer / data selection control circuit 24o selects a selection signal indicating which of the outputs of the data buffer 24m is to be selected from the address of the write data and which of the outputs of the data selection circuit 24f at which timing. A selection signal indicating whether to select is generated and output. The data selection / merge circuit 24n outputs the data from the data selection circuit 24f and the data buffer 2 according to the selection signal from the buffer / data selection control circuit 24o.
4m output is selected / merged and output. The output of the data selection / merge circuit 24n is output to the memory 25 through the input / output buffer 24b. The memory control signal generation circuit 24u generates a memory control signal according to an instruction from the controller 24v and outputs the memory control signal to the memory 25. The memory 25 writes the output of the input / output buffer 24b.

【0053】(k) I/Oバス側からのリードに対す
るライトバック I/Oユニット26−jは、メモリ25にデータをリー
ドする場合は、アドレスをアドレスバス27−ADにド
ライブする。コントローラ24uは、アドレスを確認し
たことを示す信号をアサートして、データを受け付ける
ことを示す信号をアサートする。そのアドレスに対し
て、サイクルを起動したプロセッサ21−iの以外のキ
ャッシュ22−j(j≠i)及びプロセッサ21−j
は、スヌープを行う。I/Oユニット26−jは、スヌ
ープの結果を待つことなく、データをデータバス27−
DBに出力する。キャッシュ22−j(j≠i)は、そ
のライトデータがモディファイラインにヒットしたか否
かを判定する。そして、キャッシュ22−nでモディフ
ァイラインにヒットしたとする。バッファ・データ選択
制御回路24gは、コントローラ24vからの指示に従
って、データバス23−DBに出力されたライトデータ
バッファ24dでデータをラッチするタイミングを示す
信号を生成して出力する。バーストデータバッファ24
dにバーストライトデータが順次ラッチされる。
(K) Write-back for reading from the I / O bus side When reading data to the memory 25, the I / O unit 26-j drives an address to the address bus 27-AD. The controller 24u asserts a signal indicating that the address is confirmed, and asserts a signal indicating that the data is accepted. For that address, the cache 22-j (j ≠ i) and the processor 21-j other than the processor 21-i that started the cycle
Do snoop. The I / O unit 26-j transfers the data to the data bus 27- without waiting for the result of the snoop.
Output to DB. The cache 22-j (j ≠ i) determines whether or not the write data hits the modify line. Then, it is assumed that the cache 22-n hits the modify line. In accordance with an instruction from the controller 24v, the buffer / data selection control circuit 24g generates and outputs a signal indicating the timing of latching data in the write data buffer 24d output to the data bus 23-DB. Burst data buffer 24
Burst write data is sequentially latched in d.

【0054】バッファ・データ選択制御回路24gは、
バーストデータバッファ24dの出力を64ビット毎に
選択するよう選択信号を生成して出力する。データ選択
回路24fは、バッファ・データ選択制御回路24gか
らの選択信号に従って、バーストデータバッファ24d
からの出力を64ビット毎に選択して出力する。バッフ
ァ・データ選択制御回路24oは、コントローラ24v
からの指示に従って、データ選択回路24fの出力のど
れをどのタイミングで選択するかを示す選択信号を生成
して出力する。データ選択/マージ回路24nは、バッ
ファ・データ選択制御回路24oからの選択信号に従っ
て、データ選択回路24fの出力を選択して、出力す
る。データ選択/マージ回路24nの出力は、入出力バ
ッファ24bを通して、メモリ25に出力される。メモ
リ制御信号生成回路24uは、コントローラ24vの指
示に従って、メモリ制御信号を生成して、メモリ25に
出力する。メモリ25は、入出力バッファ24bの出力
をライトする。一方、バッファ・データ選択制御回路2
4kは、コントローラ24vの指示に従って、メモリ2
5へのライトバックデータの書き込みと並行して、リー
ドデータのアドレスから、64ビットのデータデータ選
択回路24fの出力のうち0〜15ビット目、16〜3
1ビット目、32〜47ビット目、48〜63ビット目
のいずれであるかと2回の64ビットの出力のうち1回
目か2回目のいずれであるかを示す選択信号を生成して
出力する。
The buffer / data selection control circuit 24g is
A selection signal is generated and output so that the output of the burst data buffer 24d is selected every 64 bits. The data selection circuit 24f receives the burst data buffer 24d according to the selection signal from the buffer / data selection control circuit 24g.
The output from is selected every 64 bits and output. The buffer / data selection control circuit 24o is a controller 24v.
In accordance with the instruction from, a selection signal indicating which of the outputs of the data selection circuit 24f is to be selected at which timing is generated and output. The data selection / merge circuit 24n selects and outputs the output of the data selection circuit 24f according to the selection signal from the buffer / data selection control circuit 24o. The output of the data selection / merge circuit 24n is output to the memory 25 through the input / output buffer 24b. The memory control signal generation circuit 24u generates a memory control signal according to an instruction from the controller 24v and outputs the memory control signal to the memory 25. The memory 25 writes the output of the input / output buffer 24b. On the other hand, the buffer / data selection control circuit 2
4k is the memory 2 according to the instruction of the controller 24v.
In parallel with writing the write-back data to 5, the 0th to 15th bits, 16 to 3 of the output of the 64-bit data data selection circuit 24f are read from the address of the read data.
A selection signal indicating whether it is the 1st bit, the 32nd to 47th bits, or the 48th to 63rd bits, and which of the 64th bit outputs is the first time or the second time is generated and output.

【0055】データ選択回路24lは、バッファ・デー
タ選択制御回路24kからの選択信号に従って、データ
選択回路24fの出力を選択して出力する。データ選択
回路24lの出力は、入出力バッファ24cを通して、
データバス27−DBに出力する。以上説明したよう
に、本第2の実施形態によれば、ホストバス23側から
メモリ25へのライトに対するライトバックが起こった
場合、第1の実施形態の場合と同様に、ライトサイクル
はライトバックデータがメモリ25に書き込まれるまで
待たされることはなくメモリ25に対する書き込みを1
回で済まされることになるし、I/Oバス27からのメ
モリ25へのライトも同様に行える。ホストバス23側
からメモリ25へのリードに対するライトバックが起こ
った場合、第1の実施形態の場合と同様に、リードが直
接メモリ25に行われないので、ライトバックデータが
メモリ25に書き込まれることを待つ必要はなく、ライ
トバックデータがホストバスに出力されてから固定時間
でリードデータはホストバス23側に出力されることに
なる。メモリ25の占有時間もライトとリードの2つの
サイクルではなくライト1回のサイクル分になるし、I
/Oバス27側からメモリ27へのリードも同様に行え
る。
The data selection circuit 24l selects and outputs the output of the data selection circuit 24f in accordance with the selection signal from the buffer / data selection control circuit 24k. The output of the data selection circuit 24l passes through the input / output buffer 24c,
Output to the data bus 27-DB. As described above, according to the second embodiment, when the write back to the write from the host bus 23 side to the memory 25 occurs, the write cycle is the write back as in the case of the first embodiment. There is no need to wait until the data is written to the memory 25, and writing to the memory 25 is 1
This can be done only once, and writing from the I / O bus 27 to the memory 25 can be performed in the same manner. When a write-back for a read from the host bus 23 side to the memory 25 occurs, the write-back data is written in the memory 25 because the read is not directly performed in the memory 25 as in the case of the first embodiment. The read data is output to the host bus 23 side in a fixed time after the write-back data is output to the host bus. The occupation time of the memory 25 is not the two cycles of writing and reading but one cycle of writing, and I
Reading from the / O bus 27 side to the memory 27 can be performed similarly.

【0056】なお、本発明は、上記実施形態に限定され
ず種々の変形が可能である。その変形例としては、例え
ば次のようなものがある。64ビットのデータ幅で4連
送のバースト転送制御機構及びバス制御回路を持つキャ
ッシュと64ビットのデータ幅で4連送機構を持つメモ
リ制御回路からなるマルチプロセッサシステムに適用し
た例を説明したが、データ幅やバースト転送機構の連送
回数に制限があるわけでなく、それぞれのデータ幅やバ
ースト転送機構の連送回数に応じてバッファの幅やサイ
ズを変えることによって、いかなるバースト転送機構を
持つバックライト方式のキャッシュとメモリ制御回路と
を用いたシステムにも適用できる。
The present invention is not limited to the above embodiment, and various modifications can be made. For example, there are the following modifications. An example has been described in which the invention is applied to a multiprocessor system including a cache having a 4-bit burst transfer control mechanism and a bus control circuit with a 64-bit data width and a memory control circuit having a 4-bit transmission mechanism with a 64-bit data width. , There is no limit to the data width and the number of continuous transfer of the burst transfer mechanism, and any burst transfer mechanism can be provided by changing the width and size of the buffer according to the respective data width and the number of continuous transfer of the burst transfer mechanism. It can also be applied to a system using a backlight type cache and a memory control circuit.

【0057】[0057]

【発明の効果】以上詳細に説明したように、第1と第2
の発明によれば、シングルリード、シングルライトに対
するバックライトの場合は、シングルリードしたいデー
タをバッファからデータバスに直接出力して、シングル
ライトしたいデータをマージしてメモリにライトするよ
うにしたので、メモリへのライトが1回で済み、アクセ
スが高速になる。
As described in detail above, the first and the second
According to the invention, in the case of backlight for single read and single write, the data to be single read is directly output from the buffer to the data bus, and the data to be single written is merged and written to the memory. Only one write to memory is required, resulting in faster access.

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

【図1】本発明の第1の実施形態のメモリ制御回路の機
能ブロック図である。
FIG. 1 is a functional block diagram of a memory control circuit according to a first embodiment of the present invention.

【図2】従来のメモリ制御回路の機能ブロック図であ
る。
FIG. 2 is a functional block diagram of a conventional memory control circuit.

【図3】図2におけるシングルライトに対するライトバ
ックを示すタイムチャートである。
FIG. 3 is a time chart showing write back for the single write in FIG.

【図4】図2におけるシングルリードに対するライトバ
ックを示すタイムチャートである。
FIG. 4 is a time chart showing write back for single read in FIG.

【図5】図2におけるバーストリードに対するライトバ
ックを示すタイムチャートである。
5 is a time chart showing write back for burst read in FIG. 2. FIG.

【図6】図1におけるシングルライトに対するライトバ
ックを示すタイムチャートである。
FIG. 6 is a time chart showing write back for the single write in FIG.

【図7】図1におけるシングルリードに対するライトバ
ックを示すタイムチャートである。
FIG. 7 is a time chart showing write back for single read in FIG.

【図8】図1におけるバーストリードに対するライトバ
ックを示すタイムチャートである。
8 is a time chart showing write back for burst read in FIG. 1. FIG.

【図9】本発明の第2の実施形態のメモリ制御回路の機
能ブロック図である。
FIG. 9 is a functional block diagram of a memory control circuit according to a second embodiment of the present invention.

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

1−1〜1−n,21−1〜21−n プロセッサ 2−2〜2−n,22−1〜22−n キャッシュ 3,23 ホストバス 4,24−1,24−2 メモリ制御
回路 4a,4b,24a,24b,24c 入出力バッ
ファ 4c,24d バーストデ
ータバッファ 14a,24g シングルラ
イトバッファ 14b,24n データ選択
/マージ回路 14c,14e,24g,24k バッファ・
データ選択制御回路 24o,24n バッファ・
データ選択制御回路 14d,24f,24i,24j,24l データ選択
回路 24n,24p,24r,24s データ選択
回路 5,25 メモリ 4i,24u メモリ制御
信号生成回路 14j,24v コントロー
ラ 26−1〜26−m I/Oユニ
ット
1-1 to 1-n, 21-1 to 21-n processor 2-2 to 2-n, 22-1 to 22-n cache 3,23 host bus 4, 24-1, 24-2 memory control circuit 4a , 4b, 24a, 24b, 24c Input / output buffer 4c, 24d Burst data buffer 14a, 24g Single write buffer 14b, 24n Data selection / merge circuit 14c, 14e, 24g, 24k Buffer
Data selection control circuit 24o, 24n buffer
Data selection control circuit 14d, 24f, 24i, 24j, 24l Data selection circuit 24n, 24p, 24r, 24s Data selection circuit 5,25 Memory 4i, 24u Memory control signal generation circuit 14j, 24v Controller 26-1 to 26-m I / O unit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 複数のライトバック方式のキャッシュの
メモリに対するデータのリード/ライトを制御するメモ
リ制御回路において、 前記キャッシュがデータをシングルライト又はシングル
リードしようとした時に、そのデータが他のキャッシュ
のモディファイラインにヒットした場合、その他のキャ
ッシュでヒットしたモディファイライン上のライトバッ
クデータをその他のキャッシュから受信して保持する第
1のバッファと、 前記キャッシュがシングルライトするデータをそのキャ
ッシュから受信して保持する第2のバッファと、 前記キャッシュのシングルライトに対する前記モディフ
ァイライン上のデータをライトバックする時は、前記第
1のバッファに保持された前記各ライトバックデータに
ついて、前記第2のバッファに保持されたシングルライ
トするデータと前記メモリにおけるアドレスが同じもの
は、前記ライトバックデータの中のデータではなくシン
グルライトするデータを選択し、該データと同じアドレ
スのライトバックデータ以外のライトバックデータを選
択して、それらの選択したデータの前記メモリにおける
アドレスに従って出力し、前記キャッシュのシングルリ
ードに対する前記モディファイライン上のデータをライ
トバックする時は、前記第1のバッファに保持された前
記ライトバックデータをそのデータのメモリにおけるア
ドレスに従って、選択して出力するデータ選択/マージ
回路と、 前記シングルリードに対するライトバックの時は、その
シングルリードしようとしているデータのメモリにおけ
るアドレスに従って、前記第1のバッファに保持された
データを選択してシングルリードしようとしているデー
タを出力するデータ選択回路と、 前記メモリに対してリード/ライトするためのメモリ制
御信号を生成するメモリ制御信号生成回路とを、 備えたことを特徴とするメモリ制御回路。
1. A memory control circuit for controlling reading / writing of data from / to a memory of a plurality of write-back type caches, wherein when the cache attempts to write or read data, the data is stored in other caches. When the modification line is hit, the first buffer which receives and holds the write-back data on the modification line hit by the other cache from the other cache, and the data which the cache single-writes is received from the cache A second buffer to hold and when writing back data on the modify line for a single write of the cache, each writeback data held in the first buffer is held in the second buffer. Done If the data to be single-written and the address in the memory are the same, select the data to be single-written instead of the data in the write-back data, and select the write-back data other than the write-back data having the same address as the data. And outputs the selected data according to the address in the memory, and when writing back the data on the modify line for the single read of the cache, the write-back data held in the first buffer is A data selection / merge circuit for selecting and outputting according to the address of the data in the memory, and in the case of write back for the single read, holds in the first buffer according to the address of the memory for the data to be single read. And a memory control signal generation circuit for generating a memory control signal for reading / writing to / from the memory. Characteristic memory control circuit.
【請求項2】 複数のライトバック方式のキャッシュと
I/Oユニットのメモリに対するデータのリード/ライ
トを制御するメモリ制御回路において、 前記キャッシュがデータをシングルライト又はシングル
リードしようとした時、又は前記I/Oユニットがデー
タをライト又はリードしようとした時に、そのデータが
他のキャッシュのモディファイラインにヒットした場
合、その他のキャッシュでヒットしたモディファイライ
ン上のライトバックデータをその他のキャッシュから受
信して保持する第1のバッファと、 前記キャッシュがシングルライトするデータをそのキャ
ッシュから受信して保持する第2のバッファと、 前記I/Oユニットがライトしようとしているデータを
そのI/Oユニットから受信して保持する第3のバッフ
ァと、 前記キャッシュのシングルライトに対する前記モディフ
ァイライン上のデータをライトバックする時は、前記第
1のバッファに保持された前記各ライトバックデータに
ついて、前記第2のバッファに保持されたシングルライ
トするデータと前記メモリにおけるアドレスが同じもの
は、前記ライトバックデータの中のデータではなくシン
グルライトするデータを選択し、該データと同じアドレ
スのライトバックデータ以外のライトバックデータを選
択して、それらの選択したデータの前記メモリにおける
アドレスに従って出力し、前記キャッシュのシングルリ
ードに対する前記モディファイライン上のデータをライ
トバックする時は、前記第1のバッファに保持された前
記ライトバックデータをそのメモリにおけるアドレスに
従って選択して出力し、前記I/Oユニットのライトに
対する前記モディファイライン上のデータをライトバッ
クする時は、前記第1のバッファに保持された前記ライ
トバックデータに対して、前記第3のバッファに保持さ
れたライトするデータの前記メモリにおけるアドレスが
同じものは、前記ライトバックデータの中のデータでは
なくライトするデータを選択し、該データと同じアドレ
スのライトバックデータ以外のライトバックデータを選
択して、それらのデータの前記メモリにおけるアドレス
に従って出力するデータ選択/マージ回路と、 前記キャッシュのシングルリードに対するライトバック
の時は、そのシングルリードしようとしているデータの
メモリにおけるアドレスに従って、前記第1のバッファ
に保持されたデータをシングルリードのデータとして選
択して出力する第1のデータ選択回路と、 前記I/Oユニットのリードに対するライトバックの時
は、そのリードしようとしているデータのメモリにおけ
るアドレスに従って、前記第1のバッファに保持された
データをリードするデータとして選択して出力する第2
のデータ選択回路と、 前記メモリに対してリード/ライトするためのメモリ制
御信号を生成するメモリ制御信号生成回路とを、 備えたことを特徴とするメモリ制御回路。
2. A memory control circuit for controlling read / write of data to a plurality of write-back type caches and memories of I / O units, wherein when the cache attempts a single write or a single read of data, or When the I / O unit tries to write or read data and the data hits the modify line of another cache, the write-back data on the modify line hit by the other cache is received from the other cache. A first buffer for holding, a second buffer for receiving data to be single-written by the cache from the cache, and a second buffer for holding, data for writing by the I / O unit from the I / O unit A third buffer to hold When writing back data on the modify line for a single write of the cache, for each of the write-back data held in the first buffer, the data to be single-written held in the second buffer and For the same address in the memory, select the data to be single-written instead of the data in the write-back data, select the write-back data other than the write-back data having the same address as the data, and select the selected data. When writing back data on the modify line for a single read of the cache, the writeback data held in the first buffer is selected according to the address in the memory. Out When writing back the data on the modify line for the write of the I / O unit, the writeback data held in the first buffer is held in the third buffer. If the data to be written has the same address in the memory, the data to be written is selected instead of the data in the writeback data, and the writeback data other than the writeback data having the same address as the data is selected, And a data select / merge circuit for outputting the data of the data according to the address in the memory, and during write back to the single read of the cache, the data is held in the first buffer according to the address of the data to be single read in the memory. Data from the single read A first data selection circuit for selecting and outputting as a data, and at the time of write back to the read of the I / O unit, the data is held in the first buffer according to the address of the data to be read in the memory. Second to select and output data as data to be read
And a memory control signal generation circuit for generating a memory control signal for reading / writing from / to the memory.
JP8036204A 1996-02-23 1996-02-23 Memory control circuit Withdrawn JPH09231134A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8036204A JPH09231134A (en) 1996-02-23 1996-02-23 Memory control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8036204A JPH09231134A (en) 1996-02-23 1996-02-23 Memory control circuit

Publications (1)

Publication Number Publication Date
JPH09231134A true JPH09231134A (en) 1997-09-05

Family

ID=12463221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8036204A Withdrawn JPH09231134A (en) 1996-02-23 1996-02-23 Memory control circuit

Country Status (1)

Country Link
JP (1) JPH09231134A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164077A (en) * 2004-12-09 2006-06-22 Internatl Business Mach Corp <Ibm> Memory system, control method therefor and method for maintaining data coherency

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164077A (en) * 2004-12-09 2006-06-22 Internatl Business Mach Corp <Ibm> Memory system, control method therefor and method for maintaining data coherency

Similar Documents

Publication Publication Date Title
US6799252B1 (en) High-performance modular memory system with crossbar connections
EP0777184B1 (en) Cache coherency method and system
EP0817073B1 (en) A multiprocessing system configured to perform efficient write operations
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US5796605A (en) Extended symmetrical multiprocessor address mapping
EP0549164B1 (en) Memory controller with snooping mechanism
US7120755B2 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
US5805839A (en) Efficient technique for implementing broadcasts on a system of hierarchical buses
US5754877A (en) Extended symmetrical multiprocessor architecture
KR101497002B1 (en) Snoop filtering mechanism
US6651145B1 (en) Method and apparatus for scalable disambiguated coherence in shared storage hierarchies
US5881303A (en) Multiprocessing system configured to perform prefetch coherency activity with separate reissue queue for each processing subnode
US4586133A (en) Multilevel controller for a cache memory interface in a multiprocessing system
US6453388B1 (en) Computer system having a bus interface unit for prefetching data from system memory
JPH0776942B2 (en) Multiprocessor system and data transmission device thereof
JPH0247756A (en) Reading common cash circuit for multiple processor system
JPH04271452A (en) Multiprocessor system
US5559987A (en) Method and apparatus for updating a duplicate tag status in a snoop bus protocol based computer system
JPH07281955A (en) Snoop circuit of multiprocessor system
EP0738977B1 (en) Method and apparatus for quickly initiating memory accesses in a multiprocessor cache coherent computer system
JPH06318174A (en) Cache memory system and method for performing cache for subset of data stored in main memory
JP2000330965A (en) Multiprocessor system and method for transferring its memory access transaction
US5812816A (en) System and method for transferring data between memories of different types occupying a single real address space using a dedicated memory transfer bus
EP0817095A2 (en) Extended symmetrical multiprocessor architecture
JPH09231134A (en) Memory control circuit

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506