JPH04280344A - Memory device - Google Patents

Memory device

Info

Publication number
JPH04280344A
JPH04280344A JP3067716A JP6771691A JPH04280344A JP H04280344 A JPH04280344 A JP H04280344A JP 3067716 A JP3067716 A JP 3067716A JP 6771691 A JP6771691 A JP 6771691A JP H04280344 A JPH04280344 A JP H04280344A
Authority
JP
Japan
Prior art keywords
bus
memory
data
cache memory
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3067716A
Other languages
Japanese (ja)
Inventor
Tetsuya Toi
哲也 戸井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP3067716A priority Critical patent/JPH04280344A/en
Publication of JPH04280344A publication Critical patent/JPH04280344A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a line buffer between a main memory and a global cache memory and to avoid contention between bus masters to eliminate bottle neck in a bus. CONSTITUTION:The line buffer 34 is provided between the main memory 36 and the global cache memory 32 of a memory device 31. The bus master of CPU 12 which is permitted to use a system bus 11 accesses to the memory device 31 from a bus arbiter 20. When the cache memory 32 mishits, a block is transferred to the cache memory 32 from the main memory 36 through the line buffer 34. At the time of transferring data from the main memory 36 to the line buffer 34, a bus temporary release answer 39 is transmitted from a control circuit 37 to the bus arbiter 20. The bus master accessed to the memory device 31 is caused to release the system bus 11.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、システムバスに複数の
バスマスタが接続される情報処理システムにおいて、前
記システムバスに接続されるメモリ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory device connected to a system bus in an information processing system in which a plurality of bus masters are connected to the system bus.

【0002】0002

【従来の技術】従来より、例えば特開昭60─1149
53号公報に示されるように、システムバスに、CPU
やダイレクトメモリアクセス(以下、DMAと記す。)
制御装置等の複数のバスマスタおよびメモリ装置が接続
され、バスアービタにより、同一時にはこれらのバスマ
スタのうちのただ一つが使用権を得るように制御される
情報処理システムがある。
[Prior Art] Conventionally, for example, Japanese Patent Application Laid-Open No. 1149-1989
As shown in Publication No. 53, the CPU is connected to the system bus.
and direct memory access (hereinafter referred to as DMA).
There is an information processing system in which a plurality of bus masters such as a control device and a memory device are connected and controlled by a bus arbiter so that only one of these bus masters obtains usage rights at the same time.

【0003】0003

【発明が解決しようとする課題】このような情報処理シ
ステムでは、あるバスマスタがメモリ装置にアクセスす
る場合、このバスマスタがシステムバスの使用要求をバ
スアービタに提示した時に、他のバスマスタが既にバス
を獲得して使用中のために、バスが空くまで待たされる
ことにより、そのバスマスタ本来の性能が発揮できない
状態、いわゆるバスネックとなることが多い。
[Problem to be Solved by the Invention] In such an information processing system, when a bus master accesses a memory device, when this bus master presents a request to use the system bus to the bus arbiter, another bus master has already acquired the bus. Because the bus master is currently in use, the bus master is forced to wait until the bus becomes free, which often results in a so-called bus neck condition in which the bus master is unable to demonstrate its original performance.

【0004】このバスネックを回避するため、例えば次
のような手段が考えられる。 (1)システムバスを高速化する。 (2)システムバスを多重化する。 (3)バスマスタ個々にローカルなキャッシュメモリを
設ける。 このうち、(1),(2)の手段は、システムバスの転
送能力を高めものであるが、必然的に独自のバスアーキ
テクチャとなり、標準バスを採用する場合は不可能であ
る。また、(3)の手段では、システムの物量が増すば
かりでなく、個々のローカルなキャッシュメモリとメイ
ンメモリの間のデータの一貫性を保証するための複雑な
制御が必要になる。また、キャッシュメモリのヒット率
が十分高くなければ、ミスヒット時にシステムバス上で
発生するブロック転送が逆に他のバスマスタのバス使用
を著しく妨げることになってしまう危険がある。なお、
特開昭57─103178号公報には、キャッシュメモ
リのヒット率を向上させる技術が開示されている。
[0004] In order to avoid this bus neck, for example, the following means can be considered. (1) Speed up the system bus. (2) Multiplex the system bus. (3) Provide local cache memory for each bus master. Of these, methods (1) and (2) improve the transfer capacity of the system bus, but they inevitably require a unique bus architecture, which is impossible if a standard bus is used. Furthermore, the method (3) not only increases the amount of system material, but also requires complex control to ensure data consistency between each local cache memory and the main memory. Furthermore, if the hit rate of the cache memory is not high enough, there is a risk that block transfers that occur on the system bus in the event of a miss may significantly impede other bus masters from using the bus. In addition,
JP-A-57-103178 discloses a technique for improving the hit rate of cache memory.

【0005】上記(3)の手段でも上述の問題があるの
で、バスネックを回避する手段として、特開平1─22
9345号公報に示されるように、メモリ装置側にキャ
ッシュメモリを設けることが考えられる。しかしながら
、この場合、バスマスタがメモリ装置にアクセスした際
にキャッシュメモリがミスヒットすると、メインメモリ
からキャッシュメモリにブロック転送が行われるが、こ
のブロック転送の間、メモリ装置にアクセスしているバ
スマスタが実際にはバスを使用していないのにもかかわ
らずバスを占有し続けるため、やはりバスネックが解消
されない。
[0005] Since the above-mentioned method (3) also has the above-mentioned problem, as a means to avoid the bus neck, Japanese Patent Laid-Open No. 1-22
As shown in Japanese Patent No. 9345, it is conceivable to provide a cache memory on the memory device side. However, in this case, if the cache memory misses when the bus master accesses the memory device, a block transfer is performed from the main memory to the cache memory, but during this block transfer, the bus master accessing the memory device actually Since the bus continues to be occupied even though the bus is not in use, the bus neck still remains unresolved.

【0006】そこで本発明の目的は、バスマスタ間の競
合をできるだけ回避して、バスネックを解消できるよう
にしたメモリ装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a memory device that can eliminate bus necks by avoiding conflicts between bus masters as much as possible.

【0007】[0007]

【課題を解決するための手段】請求項1記載のメモリ装
置は、複数のバスマスタが接続され、同一時にはこれら
のバスマスタのうちバスアービタによって許可されたた
だ一つが使用するシステムバスに接続されるメモリ装置
であって、メインメモリと、このメインメモリとシステ
ムバスとの間に設けられ、メインメモリよりもアクセス
時間の短いキャッシュメモリと、メインメモリとキャッ
シュメモリとの間に設けられ、バスマスタからメモリ装
置への書き込み時にはキャッシュメモリからのデータを
一括保持して順次メインメモリに転送し、メモリ装置か
らバスマスタへの読み出し時にはメインメモリからの読
み出しデータを順次保持して1ライン長のデータが全て
読み出された後、一括してキャッシュメモリに転送する
ラインバッファと、メインメモリからラインバッファへ
のデータの転送の際、バスアービタに対してシステムバ
スを解放させる指示を送る制御手段とを備えたものであ
る。
A memory device according to claim 1 is a memory device connected to a system bus to which a plurality of bus masters are connected, and at the same time, only one of these bus masters permitted by a bus arbiter uses the system bus. A main memory, a cache memory provided between the main memory and the system bus and having a shorter access time than the main memory, and a cache memory provided between the main memory and the cache memory that provides access from the bus master to the memory device. When writing, the data from the cache memory is held all at once and transferred to the main memory in sequence, and when reading from the memory device to the bus master, the data read from the main memory is held sequentially so that all data of one line length is read out. The system also includes a line buffer that transfers data in batches to the cache memory, and control means that sends an instruction to the bus arbiter to release the system bus when transferring data from the main memory to the line buffer.

【0008】このメモリ装置では、このメモリ装置から
バスマスタへの読み出し時にキャッシュメモリがミスヒ
ットすると、メインメモリからキャッシュメモリへブロ
ック転送が行われるが、この際、メインメモリからの読
み出しデータはラインバッファに順次保持され1ライン
長のデータが全て読み出された後、このラインバッファ
から一括してキャッシュメモリに転送される。メインメ
モリからラインバッファへのデータの転送の際には、制
御装置がバスアービタに対してシステムバスを解放させ
る指示を送り、これによりシステムバスが解放される。
In this memory device, if there is a miss in the cache memory when reading from the memory device to the bus master, a block is transferred from the main memory to the cache memory, but at this time, the data read from the main memory is transferred to the line buffer. After all data of one line length that is held sequentially is read out, it is transferred all at once from this line buffer to the cache memory. When transferring data from the main memory to the line buffer, the control device sends an instruction to the bus arbiter to release the system bus, thereby releasing the system bus.

【0009】請求項2記載の発明のメモリ装置は、請求
項1記載の発明におけるメインメモリをダイナミックR
AMを用いて構成し、キャッシュメモリを高速スタティ
ックRAMを用いて構成したものである。
[0009] The memory device according to the invention according to claim 2 is characterized in that the main memory according to the invention according to claim 1 is dynamically R
It is configured using AM, and the cache memory is configured using high-speed static RAM.

【0010】0010

【実施例】以下、図面を参照して本発明の実施例につい
て説明する。図1ないし図3は本発明の一実施例に係る
Embodiments Hereinafter, embodiments of the present invention will be described with reference to the drawings. 1 to 3 relate to one embodiment of the present invention.

【0011】図1は本発明の一実施例のメモリ装置を含
む情報処理システムの概略の構成を示すブロック図であ
る。この情報処理システムは、システムバス11と、こ
のシステムバス11に接続されたバスマスタとしてのC
PU12、DMA制御装置(1)21およびDMA制御
装置(2)22を備えている。これらCPU12、DM
A制御装置(1)21およびDMA制御装置(2)22
は、同一時にはこれらのバスマスタのうちのただ一つに
システムバス11の使用許可を与えるバスアービタ20
に接続されている。なお、CPU12はCPUキャッシ
ュメモリ13を介してシステムバス11に接続されてお
り、CPU12とCPUキャッシュメモリ13とはCP
Uバス14を介して接続されている。また、DMA制御
装置(1)21はISDN等の高速通信回線23に接続
され、これを制御し、DMA制御装置(2)22は固定
ディスク装置24に接続され、これを制御している。ま
た、システムバス11には本実施例のメモリ装置31が
接続されている。また、システムバス11には低速の入
出力制御装置15を介して低速の入力装置16、表示装
置17および印字装置18等が接続されている。
FIG. 1 is a block diagram showing the general configuration of an information processing system including a memory device according to an embodiment of the present invention. This information processing system includes a system bus 11 and a C bus master connected to the system bus 11.
It includes a PU 12, a DMA control device (1) 21, and a DMA control device (2) 22. These CPU12, DM
A control device (1) 21 and DMA control device (2) 22
is a bus arbiter 20 that grants permission to use the system bus 11 to only one of these bus masters at the same time.
It is connected to the. Note that the CPU 12 is connected to the system bus 11 via the CPU cache memory 13, and the CPU 12 and the CPU cache memory 13 are connected to the system bus 11 via the CPU cache memory 13.
They are connected via the U bus 14. Further, the DMA control device (1) 21 is connected to and controls a high-speed communication line 23 such as ISDN, and the DMA control device (2) 22 is connected to and controls the fixed disk device 24. Further, the memory device 31 of this embodiment is connected to the system bus 11. Further, a low-speed input device 16, a display device 17, a printing device 18, etc. are connected to the system bus 11 via a low-speed input/output control device 15.

【0012】メモリ装置31は、システムバス11に直
接、接続されるグローバルキャッシュメモリ32と、キ
ャッシュバス33を介してこのキャッシュメモリ32に
接続されたラインバッファ34と、バッファバス35を
介してこのラインバッファ34に接続されたメインメモ
リ36と、グローバルキャッシュメモリ32,ラインバ
ッファ34およびメインメモリ36を制御する制御回路
37とを備えている。メインメモリ36はダイナミック
RAM(以下、DRAMと記す。)を用いて構成され、
グローバルキャッシュメモリ32はこのメインメモリ3
6よりもアクセス時間の短い高速のスタティックRAM
(以下、SRAMと記す。)を用いて構成されている。 また、制御回路37はバスアービタ20に接続されてい
る。
The memory device 31 includes a global cache memory 32 directly connected to the system bus 11, a line buffer 34 connected to this cache memory 32 via a cache bus 33, and a line buffer 34 connected to this cache memory 32 via a buffer bus 35. It includes a main memory 36 connected to the buffer 34, and a control circuit 37 that controls the global cache memory 32, line buffer 34, and main memory 36. The main memory 36 is configured using dynamic RAM (hereinafter referred to as DRAM),
Global cache memory 32 is this main memory 3
Faster static RAM with faster access time than 6
(hereinafter referred to as SRAM). Further, the control circuit 37 is connected to the bus arbiter 20.

【0013】図2はメモリ装置31の詳細な構成を示す
ブロック図である。この図に示すように、キャッシュメ
モリ32は、データメモリ41と、タグメモリ42と、
データメモリ41とシステムバス11の間に設けられた
セレクタ43とを有している。ここで、システムバス1
1の幅は8ビットである。また、データメモリ41のラ
イン長は4バイトであり、各ラインの8ビットのデータ
幅の4つの領域のうちの1つがセレクタ43によって選
択的にシステムバス11に接続されるようになっている
。また、タグメモリ42は、データメモリ41に記憶さ
れたデータのメインメモリ36上のアドレス(Addr
ess:図2ではADRと記す。)とそのデータが有効
(Valid:図2ではVと記す。)か否かを記憶する
ようになっている。
FIG. 2 is a block diagram showing the detailed structure of the memory device 31. As shown in this figure, the cache memory 32 includes a data memory 41, a tag memory 42,
It has a selector 43 provided between the data memory 41 and the system bus 11. Here, system bus 1
The width of 1 is 8 bits. The line length of the data memory 41 is 4 bytes, and one of the four areas of 8-bit data width of each line is selectively connected to the system bus 11 by the selector 43. The tag memory 42 also stores an address (Addr) on the main memory 36 of the data stored in the data memory 41.
ess: Indicated as ADR in FIG. 2. ) and whether or not the data is valid (Valid: denoted as V in FIG. 2) are stored.

【0014】ラインバッファ34は、データメモリ41
と同じライン長(ここでは4バイト)を持ち、このライ
ンバッファ34の8ビット幅の各領域は、それぞれデー
タメモリ41の8ビット幅の各領域に接続されている。 また、メインメモリ36は、DRAM46と、このDR
AM46とラインバッファ34との間に設けられたセレ
クタ47とを有している。そして、ラインバッファ34
の8ビット幅の各領域のうちの一つがセレクタ47によ
って選択的にDRAM23に接続されるようになってい
る。ここで、セレクタ43,47は共に双方向性である
The line buffer 34 is connected to the data memory 41
Each 8-bit wide area of the line buffer 34 is connected to each 8-bit wide area of the data memory 41, respectively. Further, the main memory 36 includes a DRAM 46 and this DR.
It has a selector 47 provided between the AM 46 and the line buffer 34. And line buffer 34
One of the 8-bit wide areas is selectively connected to the DRAM 23 by a selector 47. Here, both selectors 43 and 47 are bidirectional.

【0015】次に、図3および図4を参照して本実施例
の動作について説明する。図3は本実施例の動作を説明
するためのタイムチャート、図4は従来の動作を説明す
るためのタイムチャートである。
Next, the operation of this embodiment will be explained with reference to FIGS. 3 and 4. FIG. 3 is a time chart for explaining the operation of this embodiment, and FIG. 4 is a time chart for explaining the conventional operation.

【0016】本実施例のメモリ装置31では、バスマス
タからのメモリ装置31へのデータの書き込み時は、シ
ステムバス11からのデータはキャッシュメモリ32に
書き込まれると共にメインメモリ36に書き込まれる。 この場合、キャッシュメモリ32のデータメモリ41か
らのラインデータはラインバッファ34によって一括保
持され、セレクタ47を介して順次メインメモリ36の
DRAM46に転送される。
In the memory device 31 of this embodiment, when data is written from the bus master to the memory device 31, the data from the system bus 11 is written to the cache memory 32 and also to the main memory 36. In this case, the line data from the data memory 41 of the cache memory 32 is collectively held by the line buffer 34 and sequentially transferred to the DRAM 46 of the main memory 36 via the selector 47.

【0017】また、メモリ装置31からバスマスタへの
データの読み出し時は、バスマスタは、まずキャッシュ
メモリ32のタグメモリ42にアクセスし、ヒットした
場合にはこのキャッシュメモリ32のデータメモリ41
から所望のデータが読み出される。一方、ミスヒット時
には、メインメモリ36からキャッシュメモリ32にブ
ロック転送が行われる。この場合、メインメモリ36の
DRAM46からの読み出しデータは、セレクタ47を
介して順次ラインバッファ34に蓄えられていき、この
ラインバッファ34に1ライン長のデータが全て蓄えら
れた後、このラインバッファ34からキャッシュメモリ
32のデータメモリ41に一括して転送される。図1に
示すように、キャッシュメモリ32、ラインバッファ3
4およびメインメモリ36の動作は制御回路37によっ
て制御されるが、この制御回路37は、メインメモリ3
6のDRAM46からラインバッファ34へのデータの
転送の際、バスアービタ20に対して、システムバス1
1を解放させる指示であるバス一時解放応答39を送る
。これによりシステムバス11が解放される。
Furthermore, when reading data from the memory device 31 to the bus master, the bus master first accesses the tag memory 42 of the cache memory 32, and if there is a hit, the data memory 41 of the cache memory 32 is accessed.
Desired data is read from. On the other hand, in the event of a miss, a block is transferred from the main memory 36 to the cache memory 32. In this case, data read from the DRAM 46 of the main memory 36 is sequentially stored in the line buffer 34 via the selector 47, and after all data of one line length is stored in the line buffer 34, the line buffer 34 The data is transferred all at once to the data memory 41 of the cache memory 32. As shown in FIG. 1, a cache memory 32, a line buffer 3
4 and the main memory 36 are controlled by a control circuit 37.
When data is transferred from the DRAM 46 of No. 6 to the line buffer 34, the bus arbiter 20
A bus temporary release response 39 is sent, which is an instruction to release the bus. This frees up the system bus 11.

【0018】ここで、図3を用いて本実施例の動作の具
体例を説明する。この例では、(b)に示すように、ま
ずCPU12がA1 点においてバスアービタ20に対
してバス使用要求を出す。このCPU12はB1 点に
おいてバスアービタ20からバス使用許可を受けてバス
使用権を獲得する。その後、CPU12はシステムバス
11を介してメモリ装置31にアクセスし、(a)に示
すようにシステムバス11が使用中(busy)となる
。 (c)に示すように、C1 点においてCPU12がグ
ローバルキャッシュメモリ32のタグメモリ42にアク
セスし、キャッシュメモリ32がミスヒットであること
が判明すると、制御回路37はG1 点においてバスア
ービタ20にバス一時解放応答39を送る。このバス一
時解放応答39を受けたバスアービタ20は、CPU1
2に対してシステムバス11の使用を中断させ、システ
ムバス11が解放される。
A specific example of the operation of this embodiment will now be described with reference to FIG. In this example, as shown in (b), the CPU 12 first issues a bus use request to the bus arbiter 20 at point A1. This CPU 12 receives permission to use the bus from the bus arbiter 20 at point B1 and acquires the right to use the bus. Thereafter, the CPU 12 accesses the memory device 31 via the system bus 11, and the system bus 11 becomes busy as shown in (a). As shown in (c), when the CPU 12 accesses the tag memory 42 of the global cache memory 32 at point C1 and it is found that the cache memory 32 is a miss, the control circuit 37 causes the bus arbiter 20 to temporarily access the bus at point G1. A release response 39 is sent. The bus arbiter 20 receives this bus temporary release response 39, and the bus arbiter 20
2 to suspend use of the system bus 11, and the system bus 11 is released.

【0019】また、(e)に示すように、制御回路37
がバス一時解放応答39を出すG1 点と同時のD1 
点において、メインメモリ36のDRAM46が起動さ
れ、CPU12が要求するデータを含むブロックのデー
タがファーストページモード等を用いてDRAM46か
ら読み出され、セレクタ47を介して順次ラインバッフ
ァ34に蓄えられていき、このラインバッファ34に1
ライン長のデータが全て蓄えられた時点で、(d)に示
すように、ラインバッファ34からキャッシュメモリ3
2のデータメモリ41に一括して転送され、E1 点に
おいてこのデータ転送が完了する。
Furthermore, as shown in (e), the control circuit 37
points D1 at the same time as point G1, which issues a bus temporary release response 39.
At this point, the DRAM 46 of the main memory 36 is activated, and the data of the block containing the data requested by the CPU 12 is read out from the DRAM 46 using a first page mode or the like, and is sequentially stored in the line buffer 34 via the selector 47. , 1 in this line buffer 34
When all line length data has been stored, as shown in (d), the line buffer 34 is transferred to the cache memory 3.
2 data memory 41, and this data transfer is completed at point E1.

【0020】この時点まで、キャッシュメモリ32はア
イドル状態なので、他のバスマスタからのアクセス要求
を受け付けることが可能である。図3に示す例では、(
f)に示すように、DMA制御装置がA2 点において
バス使用要求を出し、CPU12がシステムバス11を
解放した後のB2 点においてバス使用権を獲得し、(
c)に示すC2 点においてキャッシュメモリ32のタ
グメモリ42にアクセスしている。そして、キャッシュ
メモリ32がヒットし、E2 点においてキャッシュメ
モリ32からDMA制御装置へのデータの転送が完了し
、DMA制御装置は、E2 点と同時の(f)に示すF
2 点においてシステムバス11の使用を完了し、シス
テムバス11を解放している。
Up to this point, the cache memory 32 is in an idle state and is therefore able to accept access requests from other bus masters. In the example shown in Figure 3, (
As shown in f), the DMA control device issues a bus usage request at point A2, acquires the right to use the bus at point B2 after the CPU 12 releases the system bus 11, and (
At point C2 shown in c), the tag memory 42 of the cache memory 32 is accessed. Then, the cache memory 32 is hit, the transfer of data from the cache memory 32 to the DMA control device is completed at point E2, and the DMA control device transfers the
At point 2, the use of the system bus 11 is completed and the system bus 11 is released.

【0021】最初にメモリ装置31にアクセスしたCP
U12は、キャッシュメモリ32に所望のデータが転送
完了するまで、何度かバス使用要求を出し(A3 点)
、バス使用権を獲得し(B3 点)、メモリ装置31の
キャッシュメモリ32にアクセスする(C3 点)が、
全てバス一時解放応答を受け(G3 点)、再度バスを
解放する。
[0021] The CP that first accessed the memory device 31
U12 issues a request to use the bus several times until the desired data is transferred to the cache memory 32 (point A3).
, acquires the right to use the bus (point B3) and accesses the cache memory 32 of the memory device 31 (point C3), but
All receive a temporary bus release response (point G3) and release the bus again.

【0022】図3に示す例では、キャッシュメモリ32
に所望のデータが転送完了した後、CPU12がA5 
点でバス使用要求を出す前に、DMA制御装置がA4 
点においてバス使用要求を出し、B4 点においてバス
使用権を獲得し、C4 点においてキャッシュメモリ3
2にアクセスし、E4 点においてキャッシュメモリ3
2からDMA制御装置へのデータの転送が完了し、DM
A制御装置はF4 点においてバスの使用を完了し、こ
れを解放している。
In the example shown in FIG. 3, the cache memory 32
After the desired data has been transferred to A5, the CPU 12
Before issuing a bus use request at
A bus use request is issued at point B4, the right to use the bus is acquired at point B4, and cache memory 3 is issued at point C4.
2 and accesses cache memory 3 at point E4.
The data transfer from 2 to the DMA control device is completed, and the DM
The A controller has finished using the bus at point F4 and has released it.

【0023】キャッシュメモリ32に所望のデータが転
送完了した後に、A5 点でバス使用要求を出したCP
U12は、B5 点においてバス使用権を獲得し、C5
 点においてキャッシュメモリ32のタグメモリ42に
アクセスし、今度はヒットし、所望のデータがシステム
バス11を介してデータメモリ41よりCPU12に渡
される。そして、E5 点において、キャッシュメモリ
32からCPU12へのデータの転送が完了し、CPU
12はF5 点においてバスの使用を完了し、これを解
放する。
After the desired data has been transferred to the cache memory 32, the CP issues a bus use request at point A5.
U12 won the bus right at point B5 and moved to point C5.
At this point, the tag memory 42 of the cache memory 32 is accessed, this time a hit occurs, and the desired data is passed from the data memory 41 to the CPU 12 via the system bus 11. Then, at point E5, the data transfer from the cache memory 32 to the CPU 12 is completed, and the CPU
12 completes use of the bus at point F5 and releases it.

【0024】ここで、本実施例との比較のために、図4
を用いてラインバッファ34を設けない従来のメモリ装
置の動作を説明する。このメモリ装置では、(b)に示
すように、A11点でバス使用要求を出したCPUは、
B11点においてバス使用権を獲得し、(c)に示すよ
うにC11点においてグローバルキャッシュメモリにア
クセスする。キャッシュメモリがミスヒットであること
が判明すると、(d)に示すようにD11点において、
メインメモリのDRAMが起動され、CPUが要求する
データを含むブロックのデータが順次キャッシュメモリ
転送され、(b)に示すようにE11点においてこのデ
ータ転送が完了する。その後、所望のデータがシステム
バスを介してキャッシュメモリよりCPUに渡される。 そして、F11点において、キャッシュメモリからCP
Uへのデータの転送が完了し、CPUはバスの使用を完
了し、これを解放する。(e)に示すように、A12点
でバス使用要求を出したDMA制御装置は、F11点で
のバス解放後のB12点においてバス使用権を獲得し、
F12点においてバスの使用を完了し、これを解放する
。このように、従来のメモリ装置では、キャッシュメモ
リのミスヒット時には、(a)に示すようにブロック転
送期間を含むB11点からF11点までの間、システム
バスはずっとbusyであり、バスネックが発生し易い
Here, for comparison with this embodiment, FIG.
The operation of a conventional memory device without a line buffer 34 will be explained using FIG. In this memory device, as shown in (b), the CPU that issued the bus use request at point A11:
The right to use the bus is acquired at point B11, and the global cache memory is accessed at point C11, as shown in (c). When it turns out that the cache memory is mishit, as shown in (d), at point D11,
The DRAM of the main memory is activated, and data in blocks including data requested by the CPU is sequentially transferred to the cache memory, and this data transfer is completed at point E11, as shown in (b). Thereafter, desired data is passed from the cache memory to the CPU via the system bus. Then, at point F11, the CP is transferred from the cache memory.
The transfer of data to U is complete and the CPU has finished using the bus and releases it. As shown in (e), the DMA control device that issued the bus use request at point A12 acquires the right to use the bus at point B12 after the bus is released at point F11,
At point F12, use of the bus is completed and it is released. In this way, in conventional memory devices, when a cache memory mishit occurs, the system bus is always busy from point B11 to point F11, including the block transfer period, as shown in (a), and a bus neck occurs. Easy to do.

【0025】これに対し本実施例では、キャッシュメモ
リ32のデータメモリ41のライン長を一回のブロック
転送容量とし、このライン長と同じ記憶容量のラインバ
ッファ34を、キャッシュメモリ32のデータメモリ4
1とメインメモリ36のDRAM46との間に設け、キ
ャッシュメモリ32のミスヒット時に発生するブロック
転送をDRAM46とデータメモリ41の間で直接行う
のではなく、中間のラインバッファ34を介して分割し
て行っている。しかも、DRAM46とラインバッファ
34との間の複数回(=ライン長〔バイト〕/DRAM
46のデータ幅〔バイト〕)のデータ転送の間、アクセ
ス要求しているバスマスタを一時的にシステムバス11
から切り離すように制御している。従って、その間、シ
ステムバス11およびキャッシュメモリ32が解放され
、他のバスマスタがキャッシュメモリ32のヒットして
いる他のアドレスエントリとデータのやりとりをするこ
とができる。このように本実施例によれば、他のバスマ
スタから見て、システムバス11のみならずキャッシュ
メモリ32までもがアイドル状態になる比率が高く、効
果的にバスネックを回避することができる。しかも、従
来の改善策で問題となる事項とは一切関係なく、システ
ムのバスネックを解消することができる。
On the other hand, in this embodiment, the line length of the data memory 41 of the cache memory 32 is taken as the capacity for one block transfer, and the line buffer 34 with the same storage capacity as this line length is used as the data memory 41 of the cache memory 32.
1 and the DRAM 46 of the main memory 36, the block transfer that occurs when the cache memory 32 misses is not performed directly between the DRAM 46 and the data memory 41, but is divided via the intermediate line buffer 34. Is going. Furthermore, multiple times between the DRAM 46 and the line buffer 34 (=line length [byte]/DRAM
During data transfer with a data width of 46 bytes, the bus master requesting access is temporarily disconnected from the system bus 11.
It is controlled to separate it from the Therefore, during that time, system bus 11 and cache memory 32 are freed, allowing other bus masters to interact with other hit address entries in cache memory 32. As described above, according to this embodiment, from the perspective of other bus masters, not only the system bus 11 but also the cache memory 32 have a high rate of being in an idle state, and bus necks can be effectively avoided. Moreover, the bus neck in the system can be eliminated, regardless of the problems caused by conventional improvement measures.

【0026】また、本発明におけるラインバッファの容
量は、8バイト〜128バイト程度であるので、ASI
C等へ内蔵することが容易であり、DRAMやキャッシ
ュメモリの制御回路等のASICに組み込めば、ライン
バッファを設けることによるハードウェアの物量の増加
はほとんど無視できる。
Furthermore, since the capacity of the line buffer in the present invention is approximately 8 bytes to 128 bytes, ASI
It is easy to incorporate it into a C, etc., and if it is incorporated into an ASIC such as a control circuit for a DRAM or cache memory, the increase in the amount of hardware due to the provision of a line buffer can be almost ignored.

【0027】なお、本発明は上記実施例に限定されず、
例えば、システムバス上のバスマスタはCPUとDMA
制御装置との組み合わせに限らず、また、CPUはロー
カルなキャッシュメモリを持たないものでも良い。
Note that the present invention is not limited to the above embodiments,
For example, the bus masters on the system bus are the CPU and DMA.
The CPU is not limited to combination with a control device, and the CPU may not have a local cache memory.

【0028】また、実施例では、システムバス11の幅
を8ビット、データメモリ41およびラインバッファ3
4のライン長を4バイト、DRAM46のデータ幅を8
ビットとしたが、本発明はこれらの条件に限定されず、
データメモリ41とシステムバス11の間、ラインバッ
ファ34とDRAM46の間は、双方向セレクタ43,
47によりデータ幅の整合をとるので、任意のデータ幅
が可能である。
In the embodiment, the width of the system bus 11 is 8 bits, the data memory 41 and the line buffer 3 are
The line length of 4 is 4 bytes, and the data width of DRAM46 is 8.
However, the present invention is not limited to these conditions,
Between the data memory 41 and the system bus 11 and between the line buffer 34 and the DRAM 46, a bidirectional selector 43,
Since the data width is matched by 47, any data width is possible.

【0029】また、バスアービタは、実施例に示したよ
うな集中型に限らず、各バスマスタに設ける分散型でも
良い。
Furthermore, the bus arbiter is not limited to a centralized type as shown in the embodiment, but may be a distributed type provided in each bus master.

【0030】[0030]

【発明の効果】以上説明したように本発明によれば、メ
モリ装置のメインメモリとキャッシュメモリの間にライ
ンバッファを設け、キャッシュメモリのミスヒット時に
発生するブロック転送をラインバッファを介して行い、
メインメモリからラインバッファへのデータの転送の際
、システムバスを解放させるようにしたので、バスマス
タ間の競合をできるだけ回避して、バスネックを解消で
きるという効果がある。
As described above, according to the present invention, a line buffer is provided between the main memory and cache memory of a memory device, and block transfer that occurs when a cache memory miss is performed via the line buffer.
Since the system bus is released when data is transferred from the main memory to the line buffer, conflicts between bus masters can be avoided as much as possible and bus necks can be eliminated.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の一実施例のメモリ装置を含む情報処理
システムの概略の構成を示すブロック図である。
FIG. 1 is a block diagram showing a schematic configuration of an information processing system including a memory device according to an embodiment of the present invention.

【図2】本発明の一実施例のメモリ装置の詳細な構成を
示すブロック図である。
FIG. 2 is a block diagram showing a detailed configuration of a memory device according to an embodiment of the present invention.

【図3】本発明の一実施例のメモリ装置の動作を説明す
るためのタイムチャートである。
FIG. 3 is a time chart for explaining the operation of a memory device according to an embodiment of the present invention.

【図4】従来のメモリ装置の動作を説明するためのタイ
ムチャートである。
FIG. 4 is a time chart for explaining the operation of a conventional memory device.

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

11  システムバス 12  CPU 20  バスアービタ 21,22  DMA制御装置 31  メモリ装置 32  グローバルキャッシュメモリ 34  ラインバッファ 36  メインメモリ 37  制御回路 11 System bus 12 CPU 20 Bus arbiter 21, 22 DMA control device 31 Memory device 32 Global cache memory 34 Line buffer 36 Main memory 37 Control circuit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  複数のバスマスタが接続され、同一時
にはこれらのバスマスタのうちバスアービタによって許
可されたただ一つが使用するシステムバスに接続される
メモリ装置であって、メインメモリと、このメインメモ
リと前記システムバスとの間に設けられ、前記メインメ
モリよりもアクセス時間の短いキャッシュメモリと、前
記メインメモリと前記キャッシュメモリとの間に設けら
れ、バスマスタからメモリ装置への書き込み時には前記
キャッシュメモリからのデータを一括保持して順次メイ
ンメモリに転送し、メモリ装置からバスマスタへの読み
出し時には前記メインメモリからの読み出しデータを順
次保持して1ライン長のデータが全て読み出された後、
一括してキャッシュメモリに転送するラインバッファと
、前記メインメモリから前記ラインバッファへのデータ
の転送の際、前記バスアービタに対してシステムバスを
解放させる指示を送る制御手段とを具備することを特徴
とするメモリ装置。
1. A memory device connected to a system bus to which a plurality of bus masters are connected, and at the same time, only one of these bus masters permitted by a bus arbiter is used, the memory device comprising a main memory, the main memory and the a cache memory provided between the system bus and having a shorter access time than the main memory; and a cache memory provided between the main memory and the cache memory, which reads data from the cache memory when the bus master writes to the memory device. is held all at once and sequentially transferred to the main memory, and when reading from the memory device to the bus master, the read data from the main memory is held sequentially, and after all data of one line length has been read,
The present invention is characterized by comprising a line buffer that transfers data in batches to a cache memory, and a control means that sends an instruction to the bus arbiter to release the system bus when transferring data from the main memory to the line buffer. memory device.
【請求項2】  複数のバスマスタが接続され、同一時
にはこれらのバスマスタのうちバスアービタによって許
可されたただ一つが使用するシステムバスに接続される
メモリ装置であって、ダイナミックRAMを用いて構成
されるメインメモリと、このメインメモリと前記システ
ムバスとの間に設けられ、高速スタティックRAMを用
いて構成されるキャッシュメモリと、前記メインメモリ
と前記キャッシュメモリとの間に設けられ、バスマスタ
からメモリ装置への書き込み時には前記キャッシュメモ
リからのデータを一括保持して順次メインメモリに転送
し、メモリ装置からバスマスタへの読み出し時には前記
メインメモリからの読み出しデータを順次保持して1ラ
イン長のデータが全て読み出された後、一括してキャッ
シュメモリに転送するラインバッファと、前記メインメ
モリから前記ラインバッファへのデータの転送の際、前
記バスアービタに対してシステムバスを解放させる指示
を送る制御手段とを具備することを特徴とするメモリ装
置。
2. A memory device connected to a system bus to which a plurality of bus masters are connected and at the same time only one of these bus masters permitted by a bus arbiter is used, the main memory device being configured using a dynamic RAM. a cache memory provided between the main memory and the system bus and configured using a high-speed static RAM; and a cache memory provided between the main memory and the cache memory and configured to provide communication from the bus master to the memory device. When writing, the data from the cache memory is held all at once and transferred to the main memory in sequence, and when reading from the memory device to the bus master, the data read from the main memory is held sequentially so that all data of one line length is read out. and a control means for sending an instruction to the bus arbiter to release the system bus when data is transferred from the main memory to the line buffer. A memory device characterized by:
JP3067716A 1991-03-08 1991-03-08 Memory device Pending JPH04280344A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3067716A JPH04280344A (en) 1991-03-08 1991-03-08 Memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3067716A JPH04280344A (en) 1991-03-08 1991-03-08 Memory device

Publications (1)

Publication Number Publication Date
JPH04280344A true JPH04280344A (en) 1992-10-06

Family

ID=13352960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3067716A Pending JPH04280344A (en) 1991-03-08 1991-03-08 Memory device

Country Status (1)

Country Link
JP (1) JPH04280344A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830546A (en) * 1994-07-20 1996-02-02 Nec Niigata Ltd Bus controller
JP2016018251A (en) * 2014-07-04 2016-02-01 株式会社ソシオネクスト Data transfer device and data transfer method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830546A (en) * 1994-07-20 1996-02-02 Nec Niigata Ltd Bus controller
JP2016018251A (en) * 2014-07-04 2016-02-01 株式会社ソシオネクスト Data transfer device and data transfer method

Similar Documents

Publication Publication Date Title
US5802576A (en) Speculative cache snoop during DMA line update
JPH0724045B2 (en) Memory control subsystem
US20050253858A1 (en) Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
CA2007737C (en) Data transfer operations between two asynchronous buses
WO2009110168A1 (en) Dma transfer device
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
JPH04314163A (en) Buffer managing system
EP0745941B1 (en) A system and method for providing a flexible memory hierarchy
US20070043910A1 (en) Memory control apparatus executing prefetch instruction
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JPH08161254A (en) Information processing system and bus arbitration system therefor
JPH04280344A (en) Memory device
JPH0830546A (en) Bus controller
JPH06250970A (en) Memory controller
JPH06309231A (en) Cache memory control method
JP2002024007A (en) Processor system
KR960005394B1 (en) Dual process board sharing cache memory
JPH0844661A (en) Information processor
JP2682789B2 (en) Computer I / O cache system
JP3745909B2 (en) File management method
JPS6055459A (en) Control method of block data transfer and storage
JP2004240520A (en) In-non cache area high speed memory access method
JP2966038B2 (en) Digital data processing unit arbitration apparatus and method
JPH04313134A (en) Computer system
JPH0648038U (en) Multiprocessor system