JPH0210446A - Buffer storage device - Google Patents
Buffer storage deviceInfo
- Publication number
- JPH0210446A JPH0210446A JP63162095A JP16209588A JPH0210446A JP H0210446 A JPH0210446 A JP H0210446A JP 63162095 A JP63162095 A JP 63162095A JP 16209588 A JP16209588 A JP 16209588A JP H0210446 A JPH0210446 A JP H0210446A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- block
- buffer
- mpu
- 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.)
- Granted
Links
- 230000009977 dual effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 108010074506 Transfer Factor Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
3、産業上の利用分野
[産業上の利用分野]
この発明は、記憶管理技術さらにはバッファ記憶装置の
制御方式に適用して特に有効な技術に関し、例えばバッ
ファ記憶方式を採用した情報処理システムにおけるキャ
ッシュメモリに利用して有効な技術に関する。Detailed Description of the Invention 3. Field of Industrial Application [Field of Industrial Application] The present invention relates to a storage management technology and a technology that is particularly effective when applied to a control method for a buffer storage device, such as a buffer storage method. This invention relates to a technology that is effective for use in cache memory in information processing systems that employ .
[従来の技術]
従来、バッファ記憶方式を採用したマイクロコンピュー
タにおいて、ダイナミックRAM等からなる主記憶装置
内の情報のうち使用頻度の高いものをキャッシュメモリ
内に入れておいて、これをキャッシュ・コントローラと
呼ばれる記憶管理装置によって制御して、スループット
を向上させるようにされているものがある。[Prior Art] Conventionally, in a microcomputer that employs a buffer storage method, frequently used information in a main storage device such as a dynamic RAM is stored in a cache memory, and this information is stored in a cache controller. There are some devices that are controlled by a storage management device called . . . to improve throughput.
キャッシュメモリは、マイクロプロセッサ−ユニット(
以下、MPUと称する)から出力されるアドレスによっ
てアクセスされ、所望のデータがキャッシュメモリ内に
あると、つまりキャッシュがヒツトすると、MPUが直
ちにデータを得ることができるため、システムのスルー
プツ1−が向上される。 キャッシュ・コントローラは
、MPUから出力されるアドレスを内部のアドレス(タ
グ)と比較して、所望のデータがキャッシュメモリにな
いと判定すると、ミスヒツトを示す信号を出力する。す
ると、MPUがメインメモリをアクセスしてメインメモ
リからデータを得るようになっている。Cache memory is a microprocessor unit (
When the desired data is accessed by the address output from the MPU (hereinafter referred to as MPU) and is in the cache memory, that is, when the cache is hit, the MPU can immediately obtain the data, improving system throughput. be done. The cache controller compares the address output from the MPU with an internal address (tag), and if it determines that the desired data is not in the cache memory, outputs a signal indicating a miss. Then, the MPU accesses the main memory and obtains data from the main memory.
ところで、データ書込み時にキャッシュがヒツトすると
直ちにキャッシュメモリ内のデータの書換えを行なうの
で、このときメインメモリ内のデータとの不一致が生じ
る。そこで、キャッシュメモリ内のデータの書換えがあ
った場合にはメインメモリ内のデータも書き換えてやる
必要がある。By the way, since the data in the cache memory is rewritten immediately when the cache is hit during data writing, a mismatch with the data in the main memory occurs at this time. Therefore, when the data in the cache memory is rewritten, the data in the main memory must also be rewritten.
この場合のメインメモリの書換え方式として、キャッシ
ュメモリ内の書込みのあったブロックの置換の際にメイ
ンメモリの更新を行なうコピーパック方式と、キャッシ
ュメモリへの書込みがあればすぐにメインメモリも更新
するライトスル一方式がある。このうち、コピーパック
方式においては、メインメモリの更新はキャッシュメモ
リからメインメモリに対するデータのブロック転送によ
って行なわれる。また、ミスヒツト時のブロックの置換
も、メインメモリからキャッシュメモリへのブロック転
送によって行なわれる(日経マグロウヒル社発行、「日
経エレクトロニクスJ 1987年11月16日号、第
170.170頁参照)。In this case, the main memory rewriting method is the copy pack method, which updates the main memory when replacing a written block in the cache memory, or the copy pack method, which updates the main memory as soon as there is a write to the cache memory. There is one type of light through. Among these, in the copy pack method, updating of the main memory is performed by transferring a block of data from the cache memory to the main memory. In addition, block replacement at the time of a miss is also performed by transferring the block from the main memory to the cache memory (see Nikkei Electronics J, November 16, 1987 issue, pages 170 and 170, published by Nikkei McGraw-Hill).
[発明が解決しようとする課題]
」二層メインメモリの更新およびブロック置換の際の転
送の単位となるブロックの大きさは、1回に転送可能な
データ(32ビツトマイコンで1ワードつまり4バイト
単位)よりも大きく1例えば32バイトのような単位に
設定されている。[Problems to be Solved by the Invention] The size of the block, which is the unit of transfer when updating and replacing blocks in the two-layer main memory, is based on the data that can be transferred at one time (1 word or 4 bytes on a 32-bit microcontroller). unit) is set to a unit larger than 1, for example, 32 bytes.
従って、ブロック転送は複数回のデータ転送によって終
了する。しかるに、従来のキャッシュメモリにおいては
1ワ一ド分のバッファを介してメインメモリとの間のブ
ロック転送を行なっているにすぎなかった。そのため、
ブロック転送中データメモリ部がメインメモリによって
占有され、MPUがデータメモリ部内のデータが必要に
なっても読み出すことができず、転送が終了するまで待
たされることになり、システムのスループットが低下す
るという問題点があった。Therefore, block transfer is completed by multiple data transfers. However, in the conventional cache memory, block transfer to and from the main memory is only performed via a one-word buffer. Therefore,
During block transfer, the data memory section is occupied by the main memory, and even if the MPU needs the data in the data memory section, it cannot read it and is forced to wait until the transfer is completed, reducing system throughput. There was a problem.
この発明の目的は、キャッシュメモリとメインメモリ間
のブロック転送中においてもMPUによってデータメモ
リ部をアクセスできるようにしてMPUの待ち時間を減
少させ、もってシステムのスループットを向上させるこ
とにある。An object of the present invention is to reduce the waiting time of the MPU by allowing the MPU to access the data memory section even during block transfer between the cache memory and the main memory, thereby improving the throughput of the system.
この発明の他の目的は、MPUがキャッシュメモリのデ
ータメモリ部からデータを読み出すよりも早く所望のデ
ータを得ることができるようにしてシステムのスループ
ッ1〜を向上させることにある。Another object of the present invention is to improve system throughput by allowing the MPU to obtain desired data faster than reading data from the data memory section of the cache memory.
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.
[課題を解決するための手段]
本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。[Means for Solving the Problems] Representative inventions disclosed in this application will be summarized as follows.
すなわち、キャッシュメモリの内部データバスとデータ
メモリ部との間に1ブロック分のデータを一度に格納可
能なデータバッファ(以下ブロックバッファと称する)
を設け、このブロックバッファとデータメモリ部との間
のデータの転送をキャッシュメモリとメインメモリとの
間のデータの転送よりも大きな単位で行なうように構成
しておくものである。That is, a data buffer (hereinafter referred to as a block buffer) that can store one block of data at a time is provided between the internal data bus of the cache memory and the data memory section.
is provided, and the data transfer between the block buffer and the data memory section is configured to be performed in a larger unit than the data transfer between the cache memory and the main memory.
さらに、上記ブロックバッファをデュアルポートのレジ
スタで構成するとともに、MPUが要求するデータが該
ブロックバッファ内にあるか否か判定する判定手段を設
けるようにするものである。Furthermore, the block buffer is constructed of dual-port registers, and determining means is provided for determining whether data requested by the MPU is present in the block buffer.
[作用]
上記した手段によれば、メインメモリへ転送すべきある
いはメインメモリから転送されてきたデータを1ブロッ
ク分まとめてブロックバッファ内に入れておくことによ
り、キャッシュメモリとメインメモリ間のブロック転送
中においてもMPUによってデータメモリ部をアクセス
できるようにしてMPUの待ち時間を減少させ、もって
システムのスループットを向上させるという上記目的を
達成することができる。[Operation] According to the above-mentioned means, by storing one block of data that should be transferred to the main memory or that has been transferred from the main memory in a block buffer, block transfer between the cache memory and the main memory is performed. Among other things, it is possible to achieve the above-mentioned object of making the data memory section accessible by the MPU, reducing the waiting time of the MPU, and thereby improving the throughput of the system.
また、キャッシュのヒラ1−/ミスヒツトの判定が出る
前に、ブロックバッファ内にデータがあるか否か知るこ
とができるとともに、キャッシュメモリがデュアルポー
1〜構成であるためキャッシュメモリとメインメモリ間
のデータブロック転送中においてもMPUがブロックバ
ッファからデータを読み出すことができるようになり、
スループットを向上させるという上記目的を達成するこ
とができる。In addition, it is possible to know whether there is data in the block buffer before a cache fill/miss is determined, and since the cache memory has a dual-port configuration, there is no data between the cache memory and main memory. The MPU can now read data from the block buffer even during data block transfer.
The above objective of improving throughput can be achieved.
[実施例]
第1図には、本発明をキャッシュコントローラ内蔵のキ
ャッシュメモリに適用した場合の一実施例が、また第2
図にはこのキャッシュメモリを用いたマイクロプロセッ
サ−ユニットシステムの構成例が示されている。[Embodiment] FIG. 1 shows an embodiment in which the present invention is applied to a cache memory with a built-in cache controller.
The figure shows an example of the configuration of a microprocessor unit system using this cache memory.
第1図のキャッシュメモリ1は、1チツプで構成され、
一つの半導体基板上にディレクトリメモリ11′とデー
タメモリ12とLRU(LeastRecently
Used)方式のブロック直換制御回路13、タグ比
較器14、書込みアドレスおよび書込みデータを一時的
に保持するライトバッファ15、およびこれらの回路を
制御するコントロールロジック16等が形成されている
。The cache memory 1 in FIG. 1 is composed of one chip,
A directory memory 11', a data memory 12, and an LRU (Least Recently
A block direct exchange control circuit 13 of the ``Used'' type, a tag comparator 14, a write buffer 15 for temporarily holding a write address and write data, a control logic 16 for controlling these circuits, and the like are formed.
そして、このキャッシュメモリ1は第2図に示すように
メインメモリ3が接続されたメモリバス21とMPUバ
ス22との間に接続される。この実施例では、上記デー
タメモリ12と内部データバス17bとの間に1例えば
1ブロツクが16バイトで構成されているデータを格納
可能なデュアルボー1−のレジスタからなるブロックバ
ッファ18が設けられている。データメモリ12から読
み出されたデータを直接内部データバス17b上へ出力
するためのバス19も設けられている。This cache memory 1 is connected between a memory bus 21 to which the main memory 3 is connected and an MPU bus 22, as shown in FIG. In this embodiment, a block buffer 18 is provided between the data memory 12 and the internal data bus 17b. The block buffer 18 is comprised of a dual-baud 1-register capable of storing data in which one block consists of, for example, 16 bytes. There is. A bus 19 is also provided for outputting data read from the data memory 12 directly onto the internal data bus 17b.
上記ディレクトリメモリ11内には、データメモリ12
の同一カラム位置に入っているデータのメインメモリ上
でのアドレスの上位10数ビツトがタグとして格納され
ている。MPU2よりキャッシュメモリ1に与えられた
アドレスADのうちカラムアドレス部CLMが、ディレ
クトリメモリ11とデータメモリ12の共通のデコーダ
に供給されると、各メモリの同一カラムからアドレスタ
フとデータが同時に読み出される。このうちデータメモ
リ12からは16バイトのデータが一度に読み出される
ように構成されており、読み出されたデータは一旦プロ
ックバッファ18に格納される。データメモリ12とブ
ロックバッファ18との間のデータ転送は特に制限され
ないが、16バイ(−単位で行なわれる。In the directory memory 11, there is a data memory 12.
The upper ten or so bits of the address on the main memory of data stored in the same column position are stored as a tag. When the column address part CLM of the address AD given to the cache memory 1 by the MPU 2 is supplied to the common decoder of the directory memory 11 and the data memory 12, the address tough and data are simultaneously read from the same column of each memory. . Of these, 16 bytes of data are read out from the data memory 12 at a time, and the read data is temporarily stored in the block buffer 18. Data transfer between the data memory 12 and the block buffer 18 is not particularly limited, but is performed in units of 16 bytes.
一方、ディレクトリメモリ11から読み出されたアドレ
スタフはタグ比較器14に供給される。On the other hand, the address tough read from the directory memory 11 is supplied to the tag comparator 14.
このタグ比較器14には、MPU2から与えられたアド
レスADのうちタグ部TAGのデータも供給されており
、ディレクトリメモリ11から読み出されたタグと比較
し、−R(キャツシュヒツト)または不一致(ミスヒツ
ト)を示す信号CHが出力される。This tag comparator 14 is also supplied with the data of the tag part TAG of the address AD given from the MPU 2, and compares it with the tag read out from the directory memory 11 to determine -R (catch hit) or mismatch (mishit). ) is output.
ここでキャッシュがヒツトするとデータメモリ12内の
対応するカラム位置から読み出されてブロックバッファ
18に保持されている16バイトのデータのうち、アド
レスの下位2ビツトにより指定される1ワード(4バイ
ト)のデータがセレクタ(図示省略)によって選択され
、データバス17bを介してMPUへ供給される。一方
、ミスヒラ1−が生じると、内部アドレスバス17aお
よび内部データバス17bを介してMPUバス22とメ
モリバス21とが接続され、M I) U 2がメモリ
バス21を使用してメインメモリ3を直接アクセスする
ようになっている。また、データ書込みの際にミスヒツ
トが生じると、ライトバッファ15に保持されているア
ドレスとデータがメモリバス21上に出力される。When the cache hits here, one word (4 bytes) of the 16 bytes of data read from the corresponding column position in the data memory 12 and held in the block buffer 18 is specified by the lower 2 bits of the address. data is selected by a selector (not shown) and supplied to the MPU via the data bus 17b. On the other hand, when the error 1- occurs, the MPU bus 22 and the memory bus 21 are connected via the internal address bus 17a and the internal data bus 17b, and the MPU 2 uses the memory bus 21 to access the main memory 3. It is designed to be accessed directly. Furthermore, if a mishit occurs during data writing, the address and data held in the write buffer 15 are output onto the memory bus 21.
なお、第2図のシステムではメモリバス21にROM5
とI10レジスタ6が5またシステムバスアダプタ7を
介して画像データ用フレームバツノア31.フアイルコ
ントローラ32およびDMAコントローラ33等が接続
されている。また、キャッシュメモリ1とメインメモリ
3との間のデータ転送を制御するため、メインストレー
ジコン1−ロール回路4が設けられている。In addition, in the system shown in FIG. 2, the ROM 5 is connected to the memory bus 21.
and the I10 register 6 5 and the frame buffer 31 for image data via the system bus adapter 7. A file controller 32, a DMA controller 33, etc. are connected. Further, a main storage controller 1-roll circuit 4 is provided to control data transfer between the cache memory 1 and the main memory 3.
さらに、この実施例のキャッシュメモリには、ディレク
トリメモリ11の各カラムごとに1ビツトずつ、MPU
が要求するデータがメインメモリからキャッシュメモリ
へブロック転送中であるか否か示す転送ビットBTが設
けられている。また、ブロックバッファ18内には各ワ
ードごとに対応するデータが有効か否か示すビットBB
Vが設けられている。Furthermore, in the cache memory of this embodiment, one bit is stored for each column of the directory memory 11.
A transfer bit BT is provided to indicate whether data requested by the main memory is being transferred as a block from the main memory to the cache memory. Also, in the block buffer 18, there is a bit BB indicating whether or not the data corresponding to each word is valid.
V is provided.
上記各ビットI3TおよびBBVの状態はコントロール
ロジック16によって監視され、データの転送制御に反
映されるとともに、コントロールロジック16がデータ
の流れに応じて上記ビットBT、BBVの書換えを行な
う。The states of the bits I3T and BBV are monitored by the control logic 16 and reflected in data transfer control, and the control logic 16 rewrites the bits BT and BBV in accordance with the data flow.
具体的には、MPUから与えられたアドレスのタグ部の
比較の結果、キャツシュヒツトした場合には対応するカ
ラム位置のビットBTを調べて、BTがII OIIな
らば所望のデータがデータメモリ12内にあるので、デ
ータメモリ内のデータをデータバス17b上へ出力し、
キャツシュヒツト信号をMPUへ返す。Specifically, as a result of comparing the tag part of the address given by the MPU, if a cache hit is found, the bit BT in the corresponding column position is checked, and if BT is II OII, the desired data is stored in the data memory 12. Therefore, the data in the data memory is output onto the data bus 17b,
Returns the catch signal to the MPU.
また、キャッシュがヒツトしても転送ビットBTが“1
″″ならば、所望のデータはブロックバッファ18内に
あるので、ブロックバッファ18内のビットBBVを調
へて所望のワードデータが有効か否か知り、BBVがI
t 1 #のときにはそのデータをデータバス17b上
へ出力し、キャツシュヒツト信号をM P Uへ返す。Also, even if the cache is hit, the transfer bit BT is “1”.
If ``'', the desired data is in the block buffer 18, so check the bit BBV in the block buffer 18 to find out whether the desired word data is valid or not.
At t 1 #, the data is output onto the data bus 17b and a cash hit signal is returned to the MPU.
BBVが′0″のときは、メインメモリからのデータの
転送によりBBvがIt 171になるまで待ち、“1
″になった時点でそのワードデータをデータバス17b
にに出力してキャツシュヒツト信号をMPUに返し、M
PUがそれを取込む。When BBV is ``0'', wait until BBv becomes It 171 due to data transfer from main memory, and then change to ``1''.
'', the word data is transferred to the data bus 17b.
output to MPU and return the catch signal to MPU.
PU takes it in.
これとともに、コントロールロジック16は、ブロック
転送要因が発生すると先ずディレクトリメモリ11内の
対応するビットBTに11”を立ててからデータの転送
を開始し、その転送状態に応じてブロックバッファ18
内のビットBBVにII I 11を立て、すべてのB
BVビットが1′″になった時点でブロックバッファ1
8内のデータをメインメモリ3またはデータメモリ12
へ転送する。そして、転送が終了すると、ビットBBV
およびデータメモリ11内の対応するビットBTをjt
OITにリセットする。At the same time, when a block transfer factor occurs, the control logic 16 first sets the corresponding bit BT in the directory memory 11 to 11" and then starts data transfer, and depending on the transfer state, the control logic 16
Set II I 11 to bit BBV in
When the BV bit becomes 1'', block buffer 1
8 to main memory 3 or data memory 12
Transfer to. Then, when the transfer is finished, the bit BBV
and the corresponding bit BT in data memory 11 as jt
Reset to OIT.
第3図には、データ読出し時にキャッシュのミスヒツト
が発生した場合におけるアドレスとデータの流れが制御
手順に従って示されている。ただし、ここでは1ブロツ
クすなわち連続して転送されるデータ量が16バイトで
ある場合が示されている。FIG. 3 shows the flow of addresses and data according to the control procedure when a cache miss occurs during data reading. However, here, a case is shown in which one block, that is, the amount of data that is continuously transferred is 16 bytes.
キャッシュのミスヒツトが発生すると、MPUからメイ
ンメモリMMにアドレスが渡される(第3図(A))。When a cache miss occurs, an address is passed from the MPU to the main memory MM (FIG. 3(A)).
このアドレスで指定されるデータが、あるブロックBi
内の3番目のデータCであった場合、先ずメインメモリ
MMからそのデータCが読み出されてブロックバッファ
BB内に格納され、対応するBBVビットに11111
が立てられるとともに、メインメモリMMから読み出さ
れたデータはそのまま内部データバス17bを介してM
PUに送られる(第3図(B))。The data specified by this address is in a certain block Bi.
If it is the third data C, first, that data C is read from the main memory MM and stored in the block buffer BB, and the corresponding BBV bit is set to 11111.
is set, and the data read from the main memory MM is directly transferred to the main memory MM via the internal data bus 17b.
It is sent to the PU (Figure 3 (B)).
しかる後、メインメモリM内からデータCと同一ブロッ
クBiに属する他のデータD、A、Bが順に読み出され
、ブロックバッファBB内に格納される。Thereafter, other data D, A, and B belonging to the same block Bi as the data C are sequentially read out from the main memory M and stored in the block buffer BB.
このブロック転送の途中で、例えば既に転送されている
データAをMPUが要求したとすると、ブロック転送と
は無関係にブロックバッファBBからデータAが読み出
されてMPUに送られる(第3図(C))。所望のデー
タがデータメモリ12内にあるときもブロック転送と無
関係に読出しができる。During this block transfer, for example, if the MPU requests data A that has already been transferred, data A is read from the block buffer BB and sent to the MPU regardless of the block transfer (see Figure 3 (C). )). Even when desired data is in the data memory 12, it can be read out regardless of block transfer.
そして、一連のブロック転送により−ブロック分すべて
のデータA、B、C,DがブロックバッファBB内に揃
った時点で、16バイトのデータが同時にデータアレイ
(データメモリ)DAへ転送される(第3図(D))。Then, through a series of block transfers, when all the data A, B, C, and D for the block are collected in the block buffer BB, 16 bytes of data are simultaneously transferred to the data array (data memory) DA (the Figure 3 (D)).
このようにして上記実施例では、ブロック転送中におい
ても、MPUがキャッシュメモリ内にあるデータについ
てはいつでも必要なときに読み出すことができる。In this way, in the above embodiment, even during block transfer, the MPU can read data in the cache memory whenever necessary.
さらに、上記実施例のキャッシュメモリでは。Furthermore, in the cache memory of the above embodiment.
ユーザーが一部のキャッシュ領域についてはLRU方式
の置換対象から外すつまり、常にあるデータについては
それをキャッシュメモリ上に置いておくように指定する
ことができるようにされている。この場合に、コピーパ
ック方式を採用するとその指定された領域についてはブ
ロック置換がないので、周期的もしくは指定領域がデー
タで満たされたときにその内容をメインメモリに送って
。The user can exclude some cache areas from being replaced by the LRU method, that is, specify that certain data should always be kept in the cache memory. In this case, if the copy-pack method is used, there is no block replacement for the specified area, so the contents are sent to the main memory periodically or when the specified area is filled with data.
データの一致を確保してやる必要がある。It is necessary to ensure data consistency.
その場合のデータブロック転送要求は、MPUの処理と
非同期に発生するが、上記実施例のキャッシュメモリは
ブロックバッファを有しているため、スループットを低
下させずにキャッシュメモリ内の所定の領域内のデータ
をメインメモリへブロック転送することができる。In that case, a data block transfer request occurs asynchronously with MPU processing, but since the cache memory of the above embodiment has a block buffer, data block transfer requests in a predetermined area in the cache memory can be performed without reducing throughput. Data can be transferred in blocks to main memory.
また、上記実施例では、メインメモリからキャッシュメ
モリに対してデータのブロック転送中であることを示す
ビットBTをディレクトリメモリに設けているが、キャ
ッシュメモリからメインメモリに対してデータのブロッ
ク転送中であることを示すビットをディレクトリメモリ
に設けるようにしてもよい。Further, in the above embodiment, the directory memory is provided with a bit BT indicating that a block of data is being transferred from the main memory to the cache memory. A bit indicating that the directory exists may be provided in the directory memory.
以上説明したように上記実施例においては、キャッシュ
メモリの内部データバスとデータメモリ部との間に1ブ
ロック分のデータを一度に格納可能なブロックバッファ
を設け、このブロックバッファとデータアレイ部との間
のデータの転送をキャッシュメモリとメインメモリとの
間のデータ転送よりも大きな単位で行なうように構成し
ておくようにしたので、メインメモリへ転送すべきある
いはメインメモリから転送されてきたデータを1ブロッ
ク分まとめてブロックバッファ内に入れておくことによ
り、キャッシュメモリとメインメモリ間のブロック転送
中においてもMPUがデータメモリ部をアクセスできる
ようになり、これによってMPUの待ち時間が減少され
、システムのスループットが向上するという効果がある
。As explained above, in the above embodiment, a block buffer capable of storing one block of data at a time is provided between the internal data bus of the cache memory and the data memory section, and the block buffer and the data array section are connected to each other. Since the data transfer between the cache memory and the main memory is configured to be performed in larger units than the data transfer between the cache memory and the main memory, the data that should be transferred to the main memory or has been transferred from the main memory is By storing one block in the block buffer, the MPU can access the data memory section even during block transfer between the cache memory and main memory, which reduces MPU waiting time and improves system performance. This has the effect of improving throughput.
また、上記ブロックバッファをデュアルポートのレジス
タで構成するとともに、MPUが要求するデータが該ブ
ロックバッファ内にあるか否か判定する判定手段を設け
るようにしたので、キャッシュのヒツト/ミスヒツトの
判定が出る前に、ブロックバッファ内にデータがあるか
否か知ることができるとともに、キャッシュメモリがデ
ュアルポートであるためキャッシュメモリをメインメモ
リ間めデータブロック転送中においてもMPUがブロッ
クバッファからデータを読み出すことができ、これによ
って、MPUがキャッシュメモリのデータアレイ部から
データを読み出すよりも早く所望のデータを得ることが
できるようになりシステムのスループットが向上すると
いう効果がある。In addition, the block buffer is configured with dual-port registers, and a determination means is provided to determine whether or not the data requested by the MPU is in the block buffer, so it is possible to determine whether the cache is hit or miss. In addition, since the cache memory is dual-ported, the MPU can read data from the block buffer even while data blocks are being transferred between the cache memory and the main memory. As a result, the MPU can obtain desired data faster than reading data from the data array section of the cache memory, which has the effect of improving system throughput.
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、キャッシュメモ
リ内のライ1〜バツフアを省略したり、パリティチエッ
カあるいはデータメモリにリード/ライトされるデータ
をブロック単位で保持するバッファ等種々の機能回路を
付加するようにしてもよい。Although the invention made by the present inventor has been specifically explained above based on Examples, it goes without saying that the present invention is not limited to the above Examples and can be modified in various ways without departing from the gist thereof. Nor. For example, the lines 1 to 1 buffer in the cache memory may be omitted, or various functional circuits such as a parity checker or a buffer for holding data read/written to the data memory in units of blocks may be added.
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるキャッシュメモリに
適用したものについて説明したが、この発明はそれに限
定されず、通信用バッファメモリや画像用フィールドメ
モリその他のバッファ記憶装置一般に利用することがで
きる。In the above explanation, the invention made by the present inventor was mainly applied to cache memory, which is the field of application that formed the background of the invention, but the present invention is not limited thereto, and includes communication buffer memory and image field memory. Other buffer storage devices are generally available.
[発明の効果]
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
。[Effects of the Invention] The effects obtained by typical inventions disclosed in this application are briefly explained below.
すなわち、キャッシュメモリとメインメモリ間のブロッ
ク転送中においてもMPUによってデータアレイ部をア
クセスできるようにしてMPUの待ち時間を減少させる
とともにlMPUがキャッシュメモリのデータアレイ部
からデータを読み出すよりも早く所望のデータを得るこ
とができるようにし、もってシステムのスループットを
向上させることができる。In other words, the MPU can access the data array section even during block transfer between the cache memory and main memory, thereby reducing the MPU's waiting time and allowing the MPU to access the desired data faster than the MPU reads data from the data array section of the cache memory. data can be obtained, thereby improving system throughput.
第1図は、本発明をキャッシュメモリに適用した場合の
一実施例を示すブロック図、
第2図は、そのキャッシュメモリを使用したマイクロプ
ロセッサ−ユニットシステムの構成例を示すシステム構
成図、
第3図はキャッシュメモリのミスヒツトが発生した後の
アドレスとデータの流れの順序を示す説明図である。
1・・・・キャッシュメモリ、2・・・・MPU (マ
イクロプロセッサ−ユニット)、3・・・・メインメモ
リ、11・・・・ディレクトリメモリ、12・・・・デ
ータメモリ、14・・・・タグ比較器、15・・・・ラ
イトバッファ、17a・・・・内部アドレスバス。
17b・・・・内部データバス、18・・・・ブロック
バッファ、21・・・・メモリバス、22・・・・M
P代理人 弁理士 大日方富雄7−゛1
第
図FIG. 1 is a block diagram showing an embodiment in which the present invention is applied to a cache memory; FIG. 2 is a system configuration diagram showing an example of the configuration of a microprocessor unit system using the cache memory; The figure is an explanatory diagram showing the order of addresses and data flow after a cache memory miss occurs. 1...Cache memory, 2...MPU (microprocessor unit), 3...Main memory, 11...Directory memory, 12...Data memory, 14... Tag comparator, 15... write buffer, 17a... internal address bus. 17b...Internal data bus, 18...Block buffer, 21...Memory bus, 22...M
P Agent Patent Attorney Tomio Ohinata 7-゛1 Figure
Claims (1)
、該ディレクトリメモリ部に格納されたアドレスタグに
対応したデータが格納されるデータメモリ部とを備えた
バッファ記憶装置において、上記データメモリ部と内部
データバスとの間に、一連の動作で同時期に転送される
1ブロック分のデータを一度に格納可能なデータバッフ
ァを設け、このデータバッファと上記データメモリ部と
の間のデータ転送をデータメモリ部とメインメモリとの
間のデータの転送よりも大きな単位で行なうように構成
されてなることを特徴とするバッファ記憶装置。 2、上記データバッファはデュアルポートのレジスタで
構成されていることを特徴とする請求項1記載のバッフ
ァ記憶装置。 3、上記ディレクトリメモリ部には、各アドレスタグご
とに対応するデータがブロック転送中であるか否か示す
ビットを有し、上記データバッファは格納されているデ
ータが有効か否か示すビットを各レジスタごとに備えて
いることを特徴とする請求項1または請求項2記載のバ
ッファ記憶装置。[Claims] 1. A buffer storage device comprising a directory memory section in which address tags are stored and a data memory section in which data corresponding to the address tags stored in the directory memory section is stored, A data buffer capable of storing one block of data transferred simultaneously in a series of operations is provided between the data memory section and the internal data bus. A buffer storage device characterized by being configured to transfer data in units larger than data transfer between a data memory section and a main memory. 2. The buffer storage device according to claim 1, wherein the data buffer is comprised of a dual port register. 3. The directory memory section has a bit indicating whether the data corresponding to each address tag is being transferred in a block, and the data buffer has a bit indicating whether the stored data is valid or not. 3. The buffer storage device according to claim 1, wherein a buffer storage device is provided for each register.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63162095A JP2580263B2 (en) | 1988-06-28 | 1988-06-28 | Buffer storage device |
KR1019890007950A KR970000837B1 (en) | 1988-06-10 | 1989-06-09 | Single chip cache memory |
KR94011054A KR970000839B1 (en) | 1988-06-10 | 1994-05-20 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63162095A JP2580263B2 (en) | 1988-06-28 | 1988-06-28 | Buffer storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0210446A true JPH0210446A (en) | 1990-01-16 |
JP2580263B2 JP2580263B2 (en) | 1997-02-12 |
Family
ID=15747977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63162095A Expired - Lifetime JP2580263B2 (en) | 1988-06-10 | 1988-06-28 | Buffer storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2580263B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02207351A (en) * | 1989-02-03 | 1990-08-17 | Digital Equip Corp <Dec> | Method and apparatus for increasing data storage rate of computer system in which width of data path is predetermined |
JPH03226850A (en) * | 1990-01-31 | 1991-10-07 | Nec Corp | External auxiliary storage controller |
JPH03252744A (en) * | 1990-03-01 | 1991-11-12 | Nec Corp | String data write control circuit |
JPH03288245A (en) * | 1990-04-03 | 1991-12-18 | Mitsubishi Electric Corp | Data processor |
JPH06342400A (en) * | 1990-09-03 | 1994-12-13 | Internatl Business Mach Corp <Ibm> | Control method of address of processor memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56117384A (en) * | 1980-02-20 | 1981-09-14 | Nec Corp | Cash controller |
JPS61103235A (en) * | 1984-10-26 | 1986-05-21 | Mitsubishi Electric Corp | Magnetic disk controller |
JPS62123521A (en) * | 1985-11-25 | 1987-06-04 | Nec Corp | Buffer memory control system for floppy disk device |
JPS62248049A (en) * | 1986-04-22 | 1987-10-29 | Nec Corp | Buffer memory device |
-
1988
- 1988-06-28 JP JP63162095A patent/JP2580263B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56117384A (en) * | 1980-02-20 | 1981-09-14 | Nec Corp | Cash controller |
JPS61103235A (en) * | 1984-10-26 | 1986-05-21 | Mitsubishi Electric Corp | Magnetic disk controller |
JPS62123521A (en) * | 1985-11-25 | 1987-06-04 | Nec Corp | Buffer memory control system for floppy disk device |
JPS62248049A (en) * | 1986-04-22 | 1987-10-29 | Nec Corp | Buffer memory device |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02207351A (en) * | 1989-02-03 | 1990-08-17 | Digital Equip Corp <Dec> | Method and apparatus for increasing data storage rate of computer system in which width of data path is predetermined |
JPH03226850A (en) * | 1990-01-31 | 1991-10-07 | Nec Corp | External auxiliary storage controller |
JPH03252744A (en) * | 1990-03-01 | 1991-11-12 | Nec Corp | String data write control circuit |
JPH03288245A (en) * | 1990-04-03 | 1991-12-18 | Mitsubishi Electric Corp | Data processor |
JPH06342400A (en) * | 1990-09-03 | 1994-12-13 | Internatl Business Mach Corp <Ibm> | Control method of address of processor memory |
Also Published As
Publication number | Publication date |
---|---|
JP2580263B2 (en) | 1997-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9064330B2 (en) | Shared virtual memory between a host and discrete graphics device in a computing system | |
EP0077452B1 (en) | Data promotion in storage subsystems | |
US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
CN109582214B (en) | Data access method and computer system | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
US5418927A (en) | I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines | |
US5561783A (en) | Dynamic cache coherency method and apparatus using both write-back and write-through operations | |
US7590802B2 (en) | Direct deposit using locking cache | |
JPH05127992A (en) | Apparatus and method for decreasing interference in two-level cache memories | |
US5287482A (en) | Input/output cache | |
JPH03225542A (en) | Memory of data and processing circuit for bit encode data | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
JPH0210446A (en) | Buffer storage device | |
JPH04336641A (en) | Data cache and method for use in processing system | |
JPH02213960A (en) | Cache memory | |
US6397295B1 (en) | Cache mechanism for shared resources in a multibus data processing system | |
JP2703255B2 (en) | Cache memory writing device | |
US20030101280A1 (en) | Fast jump address algorithm | |
EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
JP2002169724A (en) | Partial invalidation device for cache memory | |
JP2791319B2 (en) | Data processing device | |
EP0460852A2 (en) | System for maintaining data coherency between main and cache memories | |
JP2001043132A (en) | Control method for cache memory | |
JPH06243045A (en) | Cache memory | |
JPH02171944A (en) | Buffer storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071121 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 12 |