JPS58208982A - Store buffer - Google Patents
Store bufferInfo
- Publication number
- JPS58208982A JPS58208982A JP57092507A JP9250782A JPS58208982A JP S58208982 A JPS58208982 A JP S58208982A JP 57092507 A JP57092507 A JP 57092507A JP 9250782 A JP9250782 A JP 9250782A JP S58208982 A JPS58208982 A JP S58208982A
- Authority
- JP
- Japan
- Prior art keywords
- write
- store buffer
- store
- buffer
- write request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 75
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 239000012536 storage buffer Substances 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 6
- 230000007850 degeneration Effects 0.000 abstract description 5
- 230000001629 suppression Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 11
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000005764 inhibitory process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔本発明の属する技術分野〕
本発明は1゛6報処理装置におけるストアバッファに関
するものである。DETAILED DESCRIPTION OF THE INVENTION [Technical field to which the present invention pertains] The present invention relates to a store buffer in a 1/6 information processing device.
[従来技術の概要〕
高速処理が必要とされる情報処理装置においては、中央
処理装置と主記憶装置の処理時間の差を救う目的で高速
小容量の・ぐラフアメモリが一般に設置さ、れている。[Summary of Prior Art] In information processing devices that require high-speed processing, high-speed, small-capacity graphics memory is generally installed in order to reduce the difference in processing time between the central processing unit and the main memory. .
バッファメモリの方式として。As a buffer memory method.
データ書込み時バッファメモリと主記憶装置の両方に書
込みを行なうストア・スル一方式がその制(財)の容易
さからよく採用されている。中央処理装置と主記憶装置
の処理時間の差が大きい装置においては、主記憶装置の
処理の競合による性能低下を小さくするために、主記憶
装置へのアクセス回数を減らす必要がある。このために
はバッファメモリ容量の増大が計られるが、ストア・ス
ル一方式のバッファメモリにおいては、データ読出しに
対しては効果か得られてもデータ1込みに対し、ては常
に主ゎ記憶装置へ、の書込みを行なうため、書込みのア
クセス回数を減らすことが出来ない。また中央処理装置
からの複数個の時間的に近接した書込み璧求に対しても
主記憶装置の処理速度が追随できず、性能低下の要因と
なる。これらの問題点を解決する手段の1つとしてスト
アバッファがある。The store-through method, in which data is written to both the buffer memory and the main memory when writing data, is often adopted because of its ease of implementation. In a device in which there is a large difference in processing time between the central processing unit and the main memory, it is necessary to reduce the number of accesses to the main memory in order to reduce performance degradation due to processing competition in the main memory. For this purpose, the buffer memory capacity is increased, but in a store-through type buffer memory, even if it is effective for data reading, the main storage is always used for data 1. , the number of write accesses cannot be reduced. Furthermore, the processing speed of the main memory device cannot keep up with multiple write requests from the central processing unit that are close in time, which causes a decrease in performance. A store buffer is one of the means to solve these problems.
ストアバッファは主記憶装置への書込みアドレスが記憶
されかつその記憶内容が索引可能な連想メモリ回路とこ
れに対応した書込データを記憶するデータバッファ回路
で主に構成される。両回路は一般に複数ワードで構成さ
れ、複数の異なるアドレスへの書込情報を貯わえること
ができる。主記憶装置への書込みはストア・々ッファを
経由して行なわれる。The store buffer is mainly composed of an associative memory circuit in which a write address to the main memory is stored and whose stored contents can be indexed, and a data buffer circuit that stores write data corresponding to the content addressable memory circuit. Both circuits are generally constructed of multiple words and can store write information to multiple different addresses. Writing to main memory is performed via a store buffer.
ストアバ、ファの目的の1つは書込要求の時間軸上での
平滑化である。主記憶装置の処理速度より速い時間間隔
で中央処理装置から複数個の書込要求がなされたとき、
ストアバッファに±のアドレス及び書込データが貯わえ
られる。中央処理装置ではストア・ぐッファへの登録が
なされると、書込処理は終了したとみなし次の処理へ進
むことができるため、ストアバッファが一杯になるまで
は連続した書込要求が行なわれても主記憶装置の処理速
度に影響を受けずに中央処理装置の処理を続行すること
が可能となる。One of the purposes of the store server is to smooth write requests on the time axis. When multiple write requests are made from the central processing unit at time intervals faster than the processing speed of the main storage device,
± addresses and write data are stored in the store buffer. When the central processing unit registers with the store buffer, it considers that the write process has ended and can proceed to the next process, so continuous write requests are not made until the store buffer is full. It becomes possible to continue the processing of the central processing unit without being affected by the processing speed of the main storage device.
ストアバッファのもう1つの目的は、書込要求の縮退に
より主記憶装置へのアクセス回数を減らすことにある。Another purpose of the store buffer is to reduce the number of accesses to main memory by degenerating write requests.
ストアバッファへの書込要求の登録に際してはその書込
アドレスで連想記憶回路の索引が行なわれ、すでに同一
アドレスの書込みが登録されているときは、新たにスト
アバッファの1ワードを使−用することなく、その同一
アドレスが登録されているワードに対応するデータ・ぐ
ッファ回路のワードに書込データが重ね書きされる。When registering a write request to the store buffer, the content addressable memory circuit is indexed using the write address, and if a write to the same address has already been registered, one new word of the store buffer is used. The write data is overwritten on the word of the data buffer circuit corresponding to the word in which the same address is registered.
主記憶装置へのデータ幅が8パイ゛トであるとき。When the data width to main memory is 8 bytes.
データバッファ回路の1ワードは8バイト以上が準備さ
れているが、一方中央処理装置で発生する書込要求は4
バイト以下のことが多く、また近接したアドレスへの書
込みの頻度が高い。同一アドレスへの書込み吉か、隣り
のアドレスへの書込みについては前述の重ね書きが期待
できるが、この重ね書き(曹込みの縮退)により主記憶
装置への書込アクセス回数を減少させることができる。One word of the data buffer circuit is prepared with 8 or more bytes, but on the other hand, the number of write requests generated by the central processing unit is 4.
It is often less than a byte, and writing to nearby addresses is high. The above-mentioned overwriting can be expected when writing to the same address or writing to an adjacent address, but this overwriting (degeneracy of code) can reduce the number of write accesses to the main memory. .
例えばFORTRANの単精度浮動小数点とか固定小数
点の配列演算などでよくみられる連続アドレスでの4バ
イト幅ストアでは、縮退機能がないとき1[す1のスト
アアクセスでは4バイトのストアとなるが。For example, in a 4-byte wide store with continuous addresses, which is often seen in FORTRAN single-precision floating point or fixed point array operations, if there is no degeneracy function, a 1 [1] store access will result in a 4-byte store.
縮退機能が理想的に働くと2回の4バイトストアを1回
の8バイトストアにすることができ、主記憶装置とのデ
ー2幅が8バイトのときストア回数を半減させることが
可能となる。特に8バイト幅でインタリーブされている
主記憶装置においては。If the degeneracy function works ideally, two 4-byte stores can be converted into one 8-byte store, and when the data width with the main memory is 8 bytes, the number of stores can be halved. . Especially in main memory which is interleaved with 8-byte width.
縮退機能がないとき同一パンクへの4バイトの部分バイ
ト書込要求が2回づつ行なわれることになるが、縮退機
能が働くと連続するストアが主記憶装置の異なる゛パン
クへ全バイト書込要求として行なわれ、効率のよい主記
憶装置アクセスとなる。Without the degeneration function, a 4-byte partial byte write request to the same puncture would be made twice, but when the degeneration function is activated, successive stores will result in full byte write requests to different punctures in the main memory. This is done as an efficient main memory access.
一般に、主記憶装置の処理サイクルは全バイト書込要求
の力が部分バイト書込要求よシ早い。Generally, the processing cycle of a main memory device is faster for a full byte write request than for a partial byte write request.
ところで従来のストアバッファにおいては、主記憶装置
とのイン、7ノエースが空いていれば、ファーストイ/
・ファーストアウトでストアバッファから主611.t
5装置への舊込みが行なわれる。このため主記゛1(5
装置とのインタフェースが空のときに同一78バイトへ
のストアアクセスが近接して行なわれても、早くアクセ
スした方のストアアクセスは後続のストアアクセスがス
トアバッファに届くまでにはストアバッファから主記憶
装置へアクセスしてしまうので、縮退を行なうことが出
来ず。By the way, in a conventional store buffer, if the 7th ace connected to the main memory is empty, the first storage buffer is
・Main 611 from store buffer on first out. t
No. 5 is inserted into the device. For this reason, main note 1 (5)
Even if store accesses to the same 78 bytes are made in close proximity when the interface with the device is empty, the store access that was accessed earlier will be transferred from the store buffer to the main memory by the time the subsequent store access reaches the store buffer. Since the device is accessed, degeneration cannot be performed.
主記憶装置の同一・インタに再びストアアクセスを行な
わなければならない。処理装置間で主記憶装置を共有す
るマルチノロセッサシステムにおいては、処理(装置間
の主記憶アクセスの競合を減らすためには、各処理装置
からの主記憶装置へのアクセス回数を少しでも減らす必
要があり、このためにも縮退幼果を上ける必要があるが
、従来のストアバッファにおいてはその縮退の機′会を
逃がすことが多く、/ステムの処理速度を低下・させる
原因となっていた。Store access must be made again to the same interface in the main memory. In a multi-processor system where the main memory is shared between processing units, it is necessary to reduce the number of accesses to the main memory from each processing unit as much as possible in order to reduce contention for main memory access between processing units. For this reason, it is necessary to increase the number of degenerate fruits, but in conventional store buffers, the opportunity for degeneracy is often missed, causing a decrease in the processing speed of /stem.
したかって本発明の目的は、前述のようなストアパッフ
ァにおいて、書込みの縮退効果を向上させて主記憶装置
へのアクセス回数をより減らすようにしたストアバッフ
ァを得ようとするものである。SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a store buffer as described above, which improves the degeneracy effect of writing and further reduces the number of accesses to the main storage device.
本発明においては上記の目的を達成するために。 In order to achieve the above object in the present invention.
ストアバッファに有効書込情報を一定時111以上保持
する機能を持たせ、これにより縮退機能の低下を小さく
シ、主記憶装置での競合による機能低下を極力防止する
ようにしたものである。The store buffer is provided with a function of holding valid write information of 111 or more at a certain time, thereby minimizing the deterioration of the degeneracy function and preventing the deterioration of the function due to contention in the main storage device as much as possible.
すなわち本発明によれば、処理装置から記1息装置への
書込アクセスに伴なう書込データを縮退可能に保持し、
書込要求を制御可能に行って前記保持したデータを前記
記憶装置に書込ませるような機能を持つストアバッファ
において、該ストアバッファ内にある書込アクセス数を
検出するワード数検出手段と、ににストア・ぐッファ内
で1込アクセスが保持されている時間を計数する計時手
段とを附設して成り、且つ前記書込要求を制御する手段
が、Msピワード検出手段の検出した書込アクセス数が
予め定められた数り以内であり且つ前記計時手段の計数
した時間が予め定められた値に到達していない場合に、
前記書込要求を抑止する機能を併せ有していることを特
徴とするストアバッファが得られる。That is, according to the present invention, write data accompanying a write access from a processing device to a recording device is held in a degenerate manner,
In a store buffer having a function of controllably issuing a write request to write the held data to the storage device, a number of words detecting means for detecting the number of write accesses in the store buffer; and a timer for counting the time during which a 1-input access is held in the store buffer, and the means for controlling the write request calculates the number of write accesses detected by the Ms password detection means. is within a predetermined number and the time counted by the timer has not reached the predetermined value,
A store buffer characterized in that it also has a function of suppressing the write request is obtained.
はじめに本発明の特徴を明確にするために従来のストア
バッファにつき詳細に説明する。なおこの従来装置は本
発明による装置に殆んど全部含捷れているので、これか
らの説明はあとの本発明の一実施例についての説明の前
半として殆んどそのまま用いられる。First, a conventional store buffer will be explained in detail in order to clarify the features of the present invention. Since this conventional device is almost completely included in the device according to the present invention, the following description will be used almost as is as the first half of the description of one embodiment of the present invention.
紀1図は従来のストアバッファの構成をその制御に必要
な装置と共にブロックであられした図である。第1図に
おいて、11は命令実行部、12が本発明の対象となる
ストアバッファ、13は主記憶装置である。ストアバ、
7712は、ストアバッファ制御回路14と、書込みア
ドレスを保持しかつ保持されたアドレスを索引すること
ができる連想メモリ回路15と、このアドレスに対応し
た書込データを保持する書込データバッファ回路16と
、この書込データの有効性を示すビットを書込データの
バイト対応に保持する/(イト指定・ぐッファ17と、
その周辺の多数の回路(あとで順次説明する)から構成
される。Figure 1 is a block diagram showing the configuration of a conventional store buffer along with devices necessary for its control. In FIG. 1, 11 is an instruction execution unit, 12 is a store buffer to which the present invention is applied, and 13 is a main storage device. storeba,
7712 includes a store buffer control circuit 14, an associative memory circuit 15 that holds a write address and can index the held address, and a write data buffer circuit 16 that holds write data corresponding to this address. , hold the bit indicating the validity of this write data in correspondence with the byte of the write data/(ite specification/guffa 17,
It is composed of a large number of peripheral circuits (described in sequence later).
命令実行部11でストアバッファ12に書込みを要求す
るときは、書込要求信号aと、書込アドレスbと、書込
データCと、バイト指定dとが。When the instruction execution unit 11 requests a write to the store buffer 12, a write request signal a, a write address b, write data C, and a byte designation d are sent.
ストアバ、ファ制御回路14と、入力アドレスレノスタ
21と、入力書込データレノスタ22と。a storer/fa control circuit 14, an input address renostar 21, and an input write data renostar 22.
入力バイト指定レジスタ23にそれぞれ送られる。Each is sent to the input byte designation register 23.
バイト指定dは書込データが8・ぐイトのとき8ビツト
よりガリ、各ビットは書込データの各・マイトに対比し
て書込みが行なわれるべき・ぐイトを指定する。入力ア
ドレスレノスタ21ではそのアドレスで連想メモリ15
の索引を行なう。つまり入力アドレスレジスタ21から
のアドレスeと一致しかつ有効ビット24が1”である
ものが連想メモリ15の中に保持されているかどうかが
調べられる。The byte designation d is larger than 8 bits when the write data is 8 bits, and each bit specifies the bit to be written in comparison with each bit of the write data. In the input address reno star 21, the associative memory 15 is stored at that address.
index. That is, it is checked whether an address that matches the address e from the input address register 21 and whose valid bit 24 is 1'' is held in the associative memory 15.
連想メモリ15の索引の結果一致するものがないときは
、ストアバッファ制御回路14により登録ポインタ25
で示される連想メモリ15のワードに入力アドレスレノ
スタ21のアドレスが登録され、有効ビット24が1”
にされる。このとき登録ポインタ25の内容が登録ワー
ド選択回路26を通して書込データバッファ16及びバ
イト指定バッファ17に送られ、対応するそれぞれのワ
ードに入力書込データレジスタ22の内容及び入力・々
イト指定レジスタ23の内容が登録される。If there is no match as a result of the index in the associative memory 15, the store buffer control circuit 14 sets the registration pointer 25 to
The address of the input address reno star 21 is registered in the word of the associative memory 15 indicated by , and the valid bit 24 is set to 1''.
be made into At this time, the contents of the registration pointer 25 are sent to the write data buffer 16 and the byte designation buffer 17 through the registration word selection circuit 26, and the contents of the input write data register 22 and the input and byte designation register 23 are sent to the corresponding words. The contents of are registered.
同時に登録ポインタ25の内容が登録カウンタ27によ
り+1される。At the same time, the contents of the registration pointer 25 are incremented by 1 by the registration counter 27.
連想メモリ回路15の索引の結果一致するワードがあっ
たときは書込みの縮退動作が行なわれる。If a matching word is found as a result of the index in the content addressable memory circuit 15, a write degeneracy operation is performed.
このとき連想メモリ15の内容は変更されない。At this time, the contents of the associative memory 15 are not changed.
連想メモリ回路15で一致したワード番号fが読出しワ
ード選択回路28及び登録ワード選択回路26を通して
バイト指定バッファ17に送られる。The word number f that matches in the associative memory circuit 15 is sent to the byte designation buffer 17 through the read word selection circuit 28 and the registered word selection circuit 26.
そして入力書込データレジスタ22の内容が、入力パイ
“ト指定しノスタ23の”1”であるビット 1
に対応する・マイトについてだけ、書込データバッファ
16の登録ワード選択回路26の出力で指定されたワー
ドに書込まれる。入カバイト指定しノスタ23の0”で
あるピッ)に対応するバイトは変更されない。Then, the content of the input write data register 22 is bit 1, which is "1" of the noster 23 that specifies the input pie.
Only the Might corresponding to is written to the word specified by the output of the registered word selection circuit 26 of the write data buffer 16. The byte that specifies the input byte and corresponds to the 0" (pi) of the nostar 23 is not changed.
バイト指定作成回路29では入カバイト指定しソスタ2
3のデータとバイト指定ノSヮファ17から読出された
データのビット毎の論理和がとられ。The byte specification creation circuit 29 specifies the input byte and outputs the soster 2.
The bit-by-bit OR of the data No. 3 and the data read from the byte designation software 17 is calculated.
この出力がバイト指定バッファ17への書込情報となる
。書込みは登録ワード選択回路26で指定されたワード
に対して行なわれる。この動作により同一アドレスへの
2つの書込みが、ストアバッファ12上で1つの書込み
に縮退されたことになる。This output becomes information to be written to the byte designation buffer 17. Writing is performed to the word specified by the registered word selection circuit 26. With this operation, two writes to the same address are reduced to one write on the store buffer 12.
次にストアバッファ12から主記憶装置13への書込み
処理について説明する。入力アドレスレノスタ21に有
効な書込要求が存在しないとき。Next, a write process from the store buffer 12 to the main storage device 13 will be explained. When there is no valid write request in the input address reno star 21.
または存在しても連想メモリ回路15で不一致のときは
、連想メモリ回路15と書込データバッファ回路16及
びバイト指定バッファ17からは読出ポインタ25で指
定されたワードの内容が読出されている。このワードの
有効ビット24が1“でありかつ出力アドレスレジスタ
30が空であれば、それぞれの内容が出力アドレスレノ
スタ30゜出力書込データレノスタ31及び出力バイト
指定レジスタ32に送られる。そして同時に上記ワード
に対応する有効ビット24が0”にされ、読出ポインタ
33の内容が読出カウンタ34により+1される。Or, even if there is a mismatch in the associative memory circuit 15, the content of the word designated by the read pointer 25 is read from the associative memory circuit 15, write data buffer circuit 16, and byte designation buffer 17. If the valid bit 24 of this word is 1'' and the output address register 30 is empty, the respective contents are sent to the output address renoster 30° output write data renoster 31 and output byte designation register 32. At the same time, the valid bit 24 corresponding to the word is set to 0'', and the contents of the read pointer 33 are incremented by 1 by the read counter 34.
上記のようにして有効な書込要求の情報が出力アドレス
レジスタ30.出力書込データレノスタ31および出力
バイト指定レジスタ32に設定されると、主記憶装置1
3に対し、もしインタフェースがあきであるならば書込
要求gが行なわれ。As described above, valid write request information is transmitted to the output address register 30. When set in the output write data reno star 31 and output byte designation register 32, the main memory 1
3, if the interface is free, a write request g is made.
書込アドレスh、書込データlおよびバイト指定jがそ
れぞれ送られる。主記憶装置13とのインタフェースが
空でないときは待合せを行なう。このように主記憶装置
13のインタフェースが空であると直ちに主記憶装置に
対し書込要求eが発せられるので、先に述べたように、
続いて同一アドレスでストアバッファ12に対し書込み
要求がなされても、すでに前の書込要求はストアバッフ
ァ内に存在しないため、縮退化動作を行なうことができ
ない。A write address h, write data l, and byte designation j are each sent. When the interface with the main storage device 13 is not empty, waiting is performed. In this way, if the interface of the main storage device 13 is empty, a write request e is immediately issued to the main storage device, so as mentioned earlier,
Even if a write request is subsequently made to the store buffer 12 at the same address, the degeneracy operation cannot be performed because the previous write request no longer exists in the store buffer.
読出ポインタ33の内容と登録ポインタ25の内容は初
期設定では等しくされている。読出ポインタ33は主記
憶装置13に書込要求を出すワードを示し、登録ポイン
タ25は命令実行部llからの書込要求を登録するワー
ドを示す。登録ポイント値から読出ポイント値を引算し
た値は連想メモリ15内に存在する有効な書込要求の数
を示し。The contents of the read pointer 33 and the contents of the registration pointer 25 are initially set equal. The read pointer 33 indicates a word to issue a write request to the main memory 13, and the registration pointer 25 indicates a word to register a write request from the instruction execution unit 11. The value obtained by subtracting the read point value from the registered point value indicates the number of valid write requests existing in the associative memory 15.
登録ポイント値と読出ポイント値が等しくかつ対応する
有効ビット24が“1”のときは連想メモリ15が一杯
つまっていることを示す。連想メモリ回路15が一杯に
なりかつ入力アドレスレノスタ21に有効な書込要求が
あり、か′つ連想メモリ回路15の索引結果で一致する
ワー1゛がないときは、連想メモリ回路15に空が生じ
るまで登録処理17を待合せを行1つ。When the registered point value and the read point value are equal and the corresponding valid bit 24 is "1", it indicates that the associative memory 15 is full. When the associative memory circuit 15 becomes full, there is a valid write request to the input address renoster 21, and there is no matching word 1 in the index result of the associative memory circuit 15, the associative memory circuit 15 becomes empty. The registration processing 17 waits for one row until the occurrence of the registration process.
連想メモリ回路15の索引は主記憶装置13への読出し
要求時にも行なわれる。これは成るアドレスへの書込が
行なわれた後に同一アドレスからの読出lしが発生した
とき、先行する書込が行なわれた後のデータを読出す必
要があることから行なわれる。索引の結果アドレスが一
致するワードが検出されたときは、ストアバッファ12
から主記憶装置13への書込要求により連想メモリ回路
15で一致が検出されなくなるまで読出要求は抑えられ
る。Indexing of the associative memory circuit 15 is also performed when a read request to the main memory 13 is made. This is done because when reading from the same address occurs after writing to a previous address, it is necessary to read the data after the previous writing. When a word with a matching address is detected as a result of the index, the store buffer 12
A read request is suppressed until a match is no longer detected in the associative memory circuit 15 due to a write request to the main memory device 13 .
第2図は本発明の一実施例の構成をブロックで
・示した図である。第2図において、参照数字11〜1
3および15〜34で示す範囲は第1図の従来装置その
ものをあられしてあり、その範囲にお抑止カウンタ42
が本発明において特に追加され。Figure 2 shows the configuration of one embodiment of the present invention in block form.
・This is the diagram shown. In Figure 2, reference numerals 11-1
The ranges shown by 3 and 15 to 34 correspond to the conventional device shown in FIG.
is particularly added in the present invention.
またストアバッファ制御回路の機能が変って14の代り
に43が与えられている。ワード数検出回路41では登
録ポインタ25と読出ポインタ33の内容が比較され、
連想メモリ15に現在貯わえられている書込要求の数が
あらかじめ定められた数のMワードであるか否かが検出
される。例えば読出ポインタ33の内容をビット毎に反
転したものと書込ポインタ25の内容と1を加算した結
果がMのとき、書込要求がM細針わえられていることに
なる。Also, the function of the store buffer control circuit has changed, and 43 is given instead of 14. The word count detection circuit 41 compares the contents of the registration pointer 25 and the read pointer 33,
It is detected whether the number of write requests currently stored in the associative memory 15 is a predetermined number of M words. For example, when the result of adding 1 to the bit-by-bit inversion of the contents of the read pointer 33 and the contents of the write pointer 25 is M, it means that the write request is held with an M fine needle.
ストア抑止カウンタ42は命令実行部11から書込要求
信号aが送られてくると予め定められた値Nが設定され
る。Nは装置により異るが9例えば10程度のものであ
る。以降はマシンサイクル毎にその内容が一1カウント
され、0になると−1カウント動作を停止する。0にな
る前に書込要求信号aがさらに送られてきたときには、
再び値Nが設定され同様の動作を繰返す。The store inhibition counter 42 is set to a predetermined value N when the write request signal a is sent from the instruction execution unit 11. N varies depending on the device, but is approximately 9, for example, 10. Thereafter, the content is counted by 11 every machine cycle, and when it reaches 0, the -1 counting operation is stopped. When the write request signal a is further sent before reaching 0,
The value N is set again and the same operation is repeated.
ストアバッファ制御回路43では、ワード数検出回路4
1が現在貯わ見られている書込要求の数がMワードであ
ることを示しておりかつストア抑止カウンタ42の値が
Oでないときには、出力アドレスレジスタ30等への書
込要求の送出を抑止する。上記条件が成立しないときは
従来のストアバッファと同様の動作を行なう。In the store buffer control circuit 43, the word number detection circuit 4
When 1 indicates that the number of write requests currently stored and viewed is M words and the value of the store inhibition counter 42 is not O, the transmission of write requests to the output address register 30 etc. is inhibited. do. When the above conditions are not satisfied, the same operation as a conventional store buffer is performed.
上記のような動作により、命令実行部IIからの書込要
求が前回の書込要求からNマシンサイクル以内に発生し
たときは、まだ前回の書込要求はストアバッファ12内
にあり、その書込エリアが同一8バイト内であれば縮退
動作が行なわれる。Due to the above operation, when a write request from the instruction execution unit II occurs within N machine cycles from the previous write request, the previous write request is still in the store buffer 12, and the write If the area is within the same 8 bytes, a degeneracy operation is performed.
Nの値は本発明が適用される装置の演算実行時間等を参
考にして決められる。例えば一般的なFORTRANの
配列演算におけるDoルーグ処理の最も内側のループの
実行マシンサイクル数程度が与えられる。捷だMの値は
ストアバッファの全ワード数との関係で決められ、スト
アバッファ機能の1つである中央処理装置と主記憶装置
の処理速度の差を吸収する機能を損わない範囲に抑えら
れる。The value of N is determined with reference to the calculation execution time of the device to which the present invention is applied. For example, the number of machine cycles to be executed in the innermost loop of Do loop processing in a general FORTRAN array operation is given. The value of M is determined in relation to the total number of words in the store buffer, and is kept within a range that does not impair the function of the store buffer, which absorbs the difference in processing speed between the central processing unit and the main memory. It will be done.
本発明においては、ストアバッファ内に書込要求がMワ
ードより多いときは従来装置と同様な動作を行なうため
、命令実行部11からの書込要求の頻度が高いときにも
ストアバッファの効果をほとんど落とすことはない。ま
た一定マシンサイクルN以上ストアバッファ内に任意の
書込要求が保持された後では従来装置と同様の動作を行
なうため9例えば共有資源管理のための主記憶上のロッ
ク・ぐイト解除のストアアクセス等もいつまでもストア
バッファ内に留めて置くことはない。In the present invention, when there are more write requests than M words in the store buffer, the same operation as the conventional device is performed, so the effect of the store buffer is maintained even when the frequency of write requests from the instruction execution unit 11 is high. It almost never drops. In addition, after any write request is held in the store buffer for a certain number of machine cycles N or more, it performs the same operation as the conventional device. etc. will not remain in the store buffer forever.
なおさきの実施例においてはストアバッファ12からの
書込要求は主記憶装置13に対して行なわれる例を示し
たが、主記憶装置13の代りにそのデータの1部の写し
を有するバッファメモリであっても、そのバッファメモ
リがアクセス競合が問題となるようなものであれば9本
発明の適用が有効になる。In the above embodiment, the write request from the store buffer 12 is made to the main memory 13, but instead of the main memory 13, a buffer memory having a copy of a portion of the data may be used. Even if there is, if the buffer memory is such that access contention is a problem, the present invention can be applied effectively.
〔本発明の効果〕
本発明には以上説明したように、ストアバ、7アにおい
て一定時間以上書込情報を保持することにより書込みの
縮退効果を向上させ、記憶装置での競合による遅れを改
善することが出来る。[Effects of the Present Invention] As explained above, the present invention improves the degeneracy effect of writing by retaining written information for a certain period of time or more in the store server, and improves the delay due to contention in the storage device. I can do it.
第1図は従来のストアパンツアメモリの構成をその制御
に直接必要な装置と共に示したブロック図、第2図は本
発明の一実施例のブロック図を示すO
記号の説明:11は命令実行部、12はストアバッファ
、13は主記憶装置、15は連想メモリ回路、16は書
込デ〜り・マッファ回路、17は入力バイト指定バッフ
ァ、24は有効ビット、25は登録ポインタ、26は登
録ワード選択回路、27は登録カウンタ、28は読出ワ
ード選択回路、29゛はバイト指定作成回路、33は読
出ポイ/り、34は読出カウンタ、41はワード数検出
回路、42はストア抑止カウンタ、43はストアバッフ
ァ制御回路をそれぞれあられしている。Fig. 1 is a block diagram showing the configuration of a conventional store store memory along with devices directly necessary for its control, and Fig. 2 is a block diagram showing an embodiment of the present invention.Explanation of symbols: 11 indicates instruction execution 12 is a store buffer, 13 is a main memory, 15 is an associative memory circuit, 16 is a write data/muffer circuit, 17 is an input byte specification buffer, 24 is a valid bit, 25 is a registration pointer, 26 is a registration Word selection circuit, 27 is a registration counter, 28 is a read word selection circuit, 29 is a byte specification creation circuit, 33 is a read pointer, 34 is a read counter, 41 is a word number detection circuit, 42 is a store inhibit counter, 43 respectively represent the store buffer control circuits.
Claims (1)
込データを縮退可能に保持し、書込要求を制御可能に行
って前記保持したデータを前記記憶装置に書込ませるよ
うな機能を持つストア・ぐッファにおいて、該ストアバ
ッファ内にある書込アクセス数を検出するワード数検出
手段と、該ストア・マッファ内で書込アクセスが保持さ
れている時間を計数する計時手段とを附設して成り、且
つ前記書込要求を制御する手段が、前記ワード検出手段
の検出した書込アクセス数が予め定められた数ダ以内で
あり且つ前記計時手段の計数した時間が予め定められた
値に到達していない場合に、前記書込要求を抑止する機
能を併せ有していることを特徴とするストアバッファ。1 A function for degenerately retaining write data associated with write access from a processing device to a storage device, and controllably issuing a write request to write the retained data to the storage device. A store muffer having a storage buffer is provided with a word count detection means for detecting the number of write accesses in the store buffer and a clock means for counting the time during which write accesses are held in the store buffer. and the means for controlling the write request is configured such that the number of write accesses detected by the word detection means is within a predetermined number and the time counted by the timer is equal to a predetermined value. A store buffer having a function of suppressing the write request when the write request has not been reached.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57092507A JPS58208982A (en) | 1982-05-31 | 1982-05-31 | Store buffer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57092507A JPS58208982A (en) | 1982-05-31 | 1982-05-31 | Store buffer |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS58208982A true JPS58208982A (en) | 1983-12-05 |
Family
ID=14056219
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57092507A Pending JPS58208982A (en) | 1982-05-31 | 1982-05-31 | Store buffer |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58208982A (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6386044A (en) * | 1986-09-30 | 1988-04-16 | Fujitsu Ltd | Merging system for store buffer |
| JPS63129437A (en) * | 1986-11-19 | 1988-06-01 | Fujitsu Ltd | Partial write control system |
| JPH03100842A (en) * | 1989-09-14 | 1991-04-25 | Nec Corp | Information processor |
| US6374334B1 (en) | 1994-07-04 | 2002-04-16 | Fujitsu Limited | Data processing apparatus with a cache controlling device |
| JP2009157886A (en) * | 2007-12-28 | 2009-07-16 | Nec Corp | Load store queue control method and control system thereof |
-
1982
- 1982-05-31 JP JP57092507A patent/JPS58208982A/en active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6386044A (en) * | 1986-09-30 | 1988-04-16 | Fujitsu Ltd | Merging system for store buffer |
| JPS63129437A (en) * | 1986-11-19 | 1988-06-01 | Fujitsu Ltd | Partial write control system |
| JPH03100842A (en) * | 1989-09-14 | 1991-04-25 | Nec Corp | Information processor |
| US6374334B1 (en) | 1994-07-04 | 2002-04-16 | Fujitsu Limited | Data processing apparatus with a cache controlling device |
| JP2009157886A (en) * | 2007-12-28 | 2009-07-16 | Nec Corp | Load store queue control method and control system thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4040034A (en) | Data security system employing automatic time stamping mechanism | |
| US5535350A (en) | Cache memory unit including a replacement address register and address update circuitry for reduced cache overhead | |
| JPS6331813B2 (en) | ||
| US6253288B1 (en) | Hybrid cache/SIRO buffer system | |
| US4174537A (en) | Time-shared, multi-phase memory accessing system having automatically updatable error logging means | |
| US4371949A (en) | Time-shared, multi-phase memory accessing system having automatically updatable error logging means | |
| JPS58208982A (en) | Store buffer | |
| US5012410A (en) | Data processor with instruction cache memory | |
| JPH07234819A (en) | Cache memory | |
| JP2783285B2 (en) | Information processing device | |
| GB2037466A (en) | Computer with cache memory | |
| JP2703255B2 (en) | Cache memory writing device | |
| JPS58179981A (en) | Store buffer controller | |
| JP3564343B2 (en) | Data transfer device and method during cache bypass | |
| JPS6073760A (en) | Resident system of buffer storage | |
| JP3729832B2 (en) | Cache memory device | |
| JPH0433059B2 (en) | ||
| JPH02259945A (en) | Storing processing system | |
| JPH05257807A (en) | Cache memory controller | |
| JP3147456B2 (en) | Cache memory system | |
| JP3761890B2 (en) | Cache memory device | |
| JPS6240554A (en) | Buffer memory block prefetching system | |
| JPS63187349A (en) | Storage device | |
| JPH02136946A (en) | Cache memory control circuit | |
| JPH0415844A (en) | Cache memory control circuit |