JPH0298754A - Main storage control system - Google Patents

Main storage control system

Info

Publication number
JPH0298754A
JPH0298754A JP63250760A JP25076088A JPH0298754A JP H0298754 A JPH0298754 A JP H0298754A JP 63250760 A JP63250760 A JP 63250760A JP 25076088 A JP25076088 A JP 25076088A JP H0298754 A JPH0298754 A JP H0298754A
Authority
JP
Japan
Prior art keywords
store
data
cache
byte
buffer
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
JP63250760A
Other languages
Japanese (ja)
Inventor
Fumihiko Miyazawa
文彦 宮沢
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63250760A priority Critical patent/JPH0298754A/en
Publication of JPH0298754A publication Critical patent/JPH0298754A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To accelerate a partial write store processing by performing the readout and write of data in byte unit from a store buffer to a cache, and performing data transfer to a main memory device by performing the readout of the data in the store buffer and the cache in byte unit with the same timing. CONSTITUTION:Store data in byte unit set as effective by store mask information in a store mask buffer 1 is read out from the store buffer 2 for the store instruction of partial write in cache hit, and it is written in byte unit of corresponding data in the cache 6. The store data in byte unit set as ineffective in the store mask information is read out from the cache 6, then, the merge of the data read out from the store buffer 2 and the data read out from the cache 6 is performed. At this time, the store mask information is set as effective for all store data in byte unit, and it is swept to the main memory device with coupled store data. In such a way, it is possible to perform a store instruction processing at high speed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は中央処理装置から主記憶装置へのデータの転送
処理に関し、特に部分書込みストアデータのフルライト
化データ転送処理方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to data transfer processing from a central processing unit to a main storage device, and particularly to a full write data transfer processing method for partially written store data.

〔従来の技術〕[Conventional technology]

従来この種のバイブライン型情報処理装置においてキャ
ツシュヒツト時における主記憶装置へのの部分書込みス
トア処理はフルライトのストア処理に比べ、複数回の有
効なストアデータの主記憶装置からの読出しを行ない、
読出されたデータのマージを行ない、キャッシュ又は主
記憶装置へ転送するという処理が必要なためにストア処
理に大幅な処理時間を要してしまい、部分書込みストア
処理のアルライト化による処理を必要としていた。
Conventionally, in this type of Vibrine type information processing device, partial write store processing to the main memory at the time of cache hit involves reading valid store data from the main memory multiple times, compared to full write store processing.
Because it is necessary to merge the read data and transfer it to the cache or main memory, the store process requires a significant amount of processing time, making it necessary to perform an all-write process on the partial write store process. there was.

従来技術において部分書込みストア処理のフルライト化
ストア処理を実行する処理方式としては、キャッシュに
対して先ず部分書込みストアデータを読出し、有効なデ
ータとのマージを行ない、再びキャッシュ、主記憶装置
に書込むことによるフルライト化という処理方式、又は
キャッシュに対して先ず有効なストアデータを書込み、
そのデータをキャッシュから読出し主記憶装置に書込む
ことによるフルライト化という処理方式がある。
In the conventional technology, the processing method for executing full write store processing of partial write store processing is to first read the partial write store data from the cache, merge it with valid data, and then write it to the cache and main storage again. A processing method called full write by writing data into the cache, or first writing valid store data to the cache.
There is a processing method called full write by reading the data from the cache and writing it to the main storage device.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかしながら、上述した従来の部分書込みストア処理の
フルライト化処理方式においてはキャッシュに対して2
回のアクセスを必要とするためにストア処理を1サイク
ル化した高速マシンにおいてはこの処理方式を実用する
ことはできなかった。
However, in the conventional full write processing method of partial write store processing described above, the cache is
Since this processing method requires multiple accesses, it has not been possible to put this processing method into practical use in high-speed machines where store processing is made into one cycle.

そこで本発明の技術的課題は高速にストア命令処理を行
なう情報処理装置を提供することにある。
Therefore, a technical object of the present invention is to provide an information processing apparatus that processes store commands at high speed.

〔課題を解決するための手段〕[Means to solve the problem]

本発明によれば、ストアバッファを有し、部分書込みの
ストア処理を必要とする命令の実行をサポートする演算
装置と主記憶装置とを含む情報処理装置において、 キャツシュヒツト時における部分書込みのストア命令に
対し、該ストア命令のストアデータのを効なバイト単位
を示すストアマスク情報を参照し、該ストアマスク情報
において有効であると示されているバイト単位のストア
データに対しては、ストアバッファ内の有効なバイト単
位のストアデータの読出しを行ない、 キャッシュに対しては、該ストアバッファ内の有効なバ
イト単位のストアデータをキャッシュ内の対応するデー
タのバイト単位に書込み、該ストアマスク情報において
無効であると示されているバイト単位のストアデータに
対しては、キャッシュ内の対応するデータのバイト単位
のストアデータを読出し、ストアバッファ及びキャッシ
ュから読出されたストアデータのマージを行ない該スト
アマスク情報を全てのバイト単位のストアデータに対し
有効であるとし、 結合されたストアデータとともに主記憶装置に掃出すこ
とを特徴とする主記憶$IJWJ方式が得られる。
According to the present invention, in an information processing device that has a store buffer and includes an arithmetic unit and a main memory device that support execution of an instruction that requires a partial write store process, a partial write store instruction at the time of a cache hit is provided. On the other hand, the store mask information indicating the valid byte unit of the store data of the store instruction is referred to, and for the store data in the byte unit that is shown to be valid in the store mask information, the store data in the store buffer is Reads valid byte-by-byte store data, writes valid byte-by-byte store data in the store buffer to the corresponding byte-by-byte data in the cache, and writes invalid byte-by-byte store data in the cache to the cache. For byte-based store data that is indicated as being present, read the byte-based store data of the corresponding data in the cache, merge the store data read from the store buffer and cache, and obtain the store mask information. A main memory $IJWJ method is obtained which is valid for all byte-based store data and is characterized in that it is flushed to the main memory together with the combined store data.

換言すれば、本発明はキャツシュヒツト時にストアバッ
フ、アに受付けられたストア命令がパーシャルライト(
部分書込み)であるかフルライト(全部書込み)である
かを判断する手段を有し、パーシャルライトであるなら
ばストアマスクバッファ内の該ストアデータに関するス
トアマスク情報(ストアデータの有効なバイト単位を示
す情報)により有効であるバイト単位のストアデータを
ストアバッファから読出す手段と該ストアデータに関す
るストアマスク情報からキャッシュに対してストアマス
クの値が1′であるバイト単位のキャッシュ内データに
対してはストアデータバッファ内の該ストアデータの有
効なバイト単位のストアデータをキャッシュに書込む手
段とストアマスクの値が0゛であるバイト単位のキャッ
シュ内データに対してはキャッシュから読出す手段と、
ストアデータバッファとキャッシュから読出されたそれ
ぞれの有効なバイト単位のストアデータのマージを行な
い完全なデータとして主記憶装置へ転送する手段と、該
主記憶装置へ転送する全てのバイト単位に対して有効で
あるストアデータに関するストアマスク情報をa111
°として主記憶装置へ転送する手段とを有している。
In other words, the present invention allows the store command received by the store buffer, A, to be partially written (
If it is a partial write, it has a means for determining whether it is a partial write (partial write) or a full write (all write). means for reading byte-based store data that is valid from the store buffer according to the information shown in the cache, and store mask information related to the store data for byte-based cache data whose store mask value is 1'. means for writing valid byte-based store data of the store data in the store data buffer into the cache; and means for reading byte-based cache data whose store mask value is 0 from the cache;
A means for merging each valid byte-by-byte store data read from the store data buffer and cache and transferring it to the main memory as complete data, and effective for all bytes to be transferred to the main memory. store mask information regarding the store data that is a111
and means for transferring the data to the main storage device.

〔実施例〕〔Example〕

次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例のブロック図を示すものであ
り、第2図は第1図に示される本発明の実施例のブロッ
ク図の動作と第3図に示すバイブライン処理動作のタイ
ムチャートを示す図である。
FIG. 1 shows a block diagram of an embodiment of the present invention, and FIG. 2 shows the operation of the block diagram of the embodiment of the invention shown in FIG. 1 and the vibration line processing operation shown in FIG. It is a figure showing a time chart.

第3図はバイブライン処理の一例を示す図で、ステージ
IFからステージSTまで6ステージに分割されている
。ステージIFは命令を取出す処理、ステージACはオ
ペランドアドレスを生成する処理、ステージATは論理
アドレスを実アドレスに変換する処理、ステージCAは
オペランドを読出す処理、ステージEXは読出されたオ
ペランドの演算処理、そしてステージSTは演算結果の
格納処理を行なう。以降本発明の実施例を第3図に示す
バイブラインステージを下にして説明する。
FIG. 3 is a diagram showing an example of the vibe line processing, which is divided into six stages from stage IF to stage ST. Stage IF is the process of fetching instructions, stage AC is the process of generating operand addresses, stage AT is the process of converting logical addresses to real addresses, stage CA is the process of reading operands, and stage EX is arithmetic processing of the read operands. , and stage ST performs storage processing of the calculation results. Hereinafter, embodiments of the present invention will be described with the vibrine stage shown in FIG. 3 facing downward.

本発明の実施例において、ストアデータ及びキャッシュ
データは8バイトのデータから成りストアデータは1バ
イト単位にストアマスク情報を持つものとし、キャッシ
ュデータは1バイト単位に書込み、読出しのアクセスが
可能とする。
In the embodiment of the present invention, store data and cache data consist of 8-byte data, store data has store mask information in 1-byte units, and cache data can be accessed for writing and reading in 1-byte units. .

第1図のブロック図、第2図のタイムチャートを参照し
て実施例を説明すると、サイクルt1においてストア命
令AがIFステージに受付けられると、サイクルt6に
おいてストア命令Aに関するストアデータ、ストアマス
ク情報がそれぞれストアデータバッファ2.ストアマス
クバッファ1に書込まれる。サイクル【7において、ス
トアバッファからその下のステージへの掃出しが可能で
あり、なおかつ、キャツシュヒツトである場合に、スト
ア命令Aに関するストアデータとストアマスク情報がそ
れぞれストアデータバッファ2.ストアマスクバッファ
lから読出されると、キャッシュに対しては該ストアマ
スク情報の真(True)出力をキャッシュ書込み指示
レジスタ7に格納し、該ストアマスク情報の補数(Co
iplement )出力をストア命令Aに対応するワ
ードのキャッシュデータの有効なバイト単位の読出し指
示信号としてキャッシュデータの読出しを行なう。スト
アデータバッファ2に交りしては該ストアマスク情報の
True出力と該ストアデータの論理積をとり有効なバ
イト単位のストアデータをキャッシュから読出された有
効なバイト単位のストアデータとマージして主記憶書込
み待ちストアデータレジスタ5に格納するとともに、キ
ャッシュ書込み待ちレジスタ6にも格納する。また、主
記憶書込み待ちストアマスクレジスタ4に対してはスト
アマスクバッファ1からのTrue出力と(Coipl
cment )出力の論理和、つまり °alll’ 
を格納する。サイクル8においてストアAの縮退された
データであるストアA″とal11’であるストアマス
ク情報が主記憶装置に転送される。又キャッシュに対し
てもキャッシュ書込み待ちレジスタ6内のバイト単位の
データがストア命令への対応するワードの有効なバイト
単位に書込まれる。この時キャッシュ内の対応するワー
ドには、主記憶装置へ転送されたデータと等しいデータ
ストアA′が登録されていることになる。より具体的な
例を述べる。
The embodiment will be described with reference to the block diagram of FIG. 1 and the time chart of FIG. 2. When store instruction A is accepted by the IF stage in cycle t1, store data and store mask information regarding store instruction A are stored in cycle t6. are each store data buffer 2. Written to store mask buffer 1. In cycle [7], if it is possible to flush from the store buffer to the stage below it, and if it is a cash hit, the store data and store mask information regarding store instruction A are stored in store data buffer 2. When the store mask information is read from the store mask buffer l, the true output of the store mask information is stored in the cache write instruction register 7, and the complement (Co) of the store mask information is stored in the cache write instruction register 7.
iplement) The cache data is read by using the output as a valid byte-by-byte read instruction signal of the cache data of the word corresponding to the store instruction A. At the store data buffer 2, the logical product of the true output of the store mask information and the store data is performed, and the valid byte unit store data is merged with the valid byte unit store data read from the cache. It is stored in the main memory write wait store data register 5 and also in the cache write wait register 6. In addition, for the main memory write wait store mask register 4, the True output from the store mask buffer 1 and (Coipl
cment ) output, i.e. °all'
Store. In cycle 8, store A'', which is the degenerated data of store A, and store mask information, which is al11', are transferred to the main memory. Also, the byte-based data in the cache write wait register 6 is transferred to the cache. It is written in valid byte units of the word corresponding to the store instruction.At this time, the corresponding word in the cache has registered data store A', which is equal to the data transferred to the main memory. .A more specific example will be described.

ストアマスクバッファ1内に上位4bが1°であり下位
4bが0′であるストアマスクが存在すると仮定すると
ストアバッファ2からのデータの読出しサイクルにおい
てストアマスク情報が1′である上位4バイトのトスア
データが主記憶書込み待ちレジスタ5内の上位4バイト
に格納され、これと同サイクルにおいてストアマスク情
報が0゛である上位4Bのキャッシュデータがキャッシ
ュ内の対応するワードから読出され主記憶書込み待ちス
トアデータレジスタ5の上位4Bに格納される。よって
主記憶書込み待ちストアデータレジスタ5には8バイト
の有効なデータが存在する。これと同サイクルにおいて
ストアマスクバッファ1のTrue出力とCoaple
+gent出力の論理和の値、つまり alll’が主
記憶書込み待ちストアマスクレジスタ4に格納される。
Assuming that there is a store mask in store mask buffer 1 in which the upper 4b is 1° and the lower 4b is 0', in the cycle of reading data from store buffer 2, the upper 4 bytes of toss store data whose store mask information is 1' is stored in the upper 4 bytes of the main memory write wait register 5, and in the same cycle, the upper 4B cache data whose store mask information is 0 is read from the corresponding word in the cache and becomes the main memory write wait store data. It is stored in the upper 4B of register 5. Therefore, there are 8 bytes of valid data in the main memory write-waiting store data register 5. In the same cycle, the True output of store mask buffer 1 and
The logical OR value of the +gent output, that is, all', is stored in the main memory write wait store mask register 4.

またキャッシュ書込み待ちレジスタ6に対してはストア
マスク情報が“1°であるバイト単位のストアデータ、
つまり上位4Bのストアデータが格納される。次サイク
ルにおいて、主記憶装置への転送とキャッシュ3内の対
応するワードへの有効なバイト単位のデータの書込みが
行なわれる。このことにより主記憶装置へ転送されたデ
ータとキャッシュ3内の対応するワードに存在する8バ
イトのデータの値は等しいものとなる。
In addition, for the cache write wait register 6, store data in bytes with store mask information of “1°”,
In other words, the upper 4B store data is stored. In the next cycle, the transfer to the main memory and the writing of valid byte-by-byte data to the corresponding word in the cache 3 are performed. As a result, the data transferred to the main memory and the 8-byte data present in the corresponding word in the cache 3 become equal in value.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明は、キャツシュヒツト時に
おける部分書込みストア処理において、ストアバッファ
からキャッシュに対して、データのバイト単位の読出し
、書込みを行ない、同一タイミングにおいて、主記憶装
置に対しては、ストアバッファ及びキャッシュのデータ
のバイト単位の読出しにより主記憶装置へのデータ転送
が可能となり、キャッシュに対して1サイクルのみのア
クセスにより部分書込みストア処理のフルライト化が可
能となり部分書込みストア処理を高速に処理できる効果
がある。
As explained above, the present invention reads and writes data from the store buffer to the cache in byte units in the partial write store processing at the time of cache hit, and at the same timing, writes the data to the main storage device at the same timing. Data can be transferred to the main memory by reading data in the store buffer and cache in bytes, and partial write store processing can be made full written by accessing the cache in only one cycle, making partial write store processing faster. There is an effect that can be processed.

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

第1図は本発明の一実施例を示すブロック図である。 第2図は第1図に示すブロック図の一実施例におけるタ
イムチャートを示す図である。 第3図は本発明の実施例におけるバイブライン処理の例
を示す図である。 1・・・ストアマスクバッファ、2・・・ストアデータ
バッファ、3・・・キャッシュ、4・・・主記憶書込み
待ちストアマスクレジスタ、5・・・主記憶書込み待ち
ストアデータレジスタ、6・・・キャッシュ書込み待ち
レジスタ、7・・・キャッシュ書込み指示レジスタ。
FIG. 1 is a block diagram showing one embodiment of the present invention. FIG. 2 is a diagram showing a time chart in one embodiment of the block diagram shown in FIG. 1. FIG. 3 is a diagram showing an example of vibe line processing in an embodiment of the present invention. 1... Store mask buffer, 2... Store data buffer, 3... Cache, 4... Store mask register waiting for main memory writing, 5... Store data register waiting for main memory writing, 6... Cache write wait register, 7... Cache write instruction register.

Claims (1)

【特許請求の範囲】 1)ストアバッファを有し、部分書込みのストア処理を
必要とする命令の実行をサポートする演算装置と主記憶
装置とを含む情報処理装置において、 キャッシュヒット時における部分書込みのストア命令に
対し、該ストア命令のストアデータの有効なバイト単位
を示すストアマスク情報を参照し、該ストアマスク情報
において有効であると示されているバイト単位のストア
データに対しては、ストアバッファ内の有効なバイト単
位のストアデータの読出しを行ない、 キャッシュに対しては、該ストアバッファ内の有効なバ
イト単位のストアデータをキャッシュ内の対応するデー
タのバイト単位に書込み、 該ストアマスク情報において無効であると示されている
バイト単位のストアデータに対しては、キャッシュ内の
対応するデータのバイト単位のストアデータを読出し、
ストアバッファ及びキャッシュから読出されたストアデ
ータのマージを行ない該ストアマスク情報を全てのバイ
ト単位のストアデータに対し有効であるとし、 結合されたストアデータとともに主記憶装置に掃出すこ
とを特徴とする主記憶制御方式。
[Scope of Claims] 1) In an information processing device including a main storage device and an arithmetic unit that has a store buffer and supports execution of instructions that require partial write store processing, For a store instruction, the store mask information indicating the valid byte unit of the store data of the store instruction is referred to, and the store buffer reads the valid byte-by-byte store data in the store buffer, and writes the valid byte-by-byte store data in the store buffer into the byte-by-byte corresponding data in the cache; For byte-wise store data that is indicated as invalid, read the byte-wise store data of the corresponding data in the cache,
It is characterized by merging the store data read from the store buffer and cache, making the store mask information valid for all byte unit store data, and flushing the combined store data to the main storage device. Main memory control method.
JP63250760A 1988-10-06 1988-10-06 Main storage control system Pending JPH0298754A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63250760A JPH0298754A (en) 1988-10-06 1988-10-06 Main storage control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63250760A JPH0298754A (en) 1988-10-06 1988-10-06 Main storage control system

Publications (1)

Publication Number Publication Date
JPH0298754A true JPH0298754A (en) 1990-04-11

Family

ID=17212636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63250760A Pending JPH0298754A (en) 1988-10-06 1988-10-06 Main storage control system

Country Status (1)

Country Link
JP (1) JPH0298754A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491811A (en) * 1992-04-20 1996-02-13 International Business Machines Corporation Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory
JPH0877067A (en) * 1994-09-01 1996-03-22 Nec Corp Cache memory controller
EP1416390A2 (en) 1998-03-31 2004-05-06 Intel Corporation Cache pollution avoidance instructions
JP2013536526A (en) * 2010-08-20 2013-09-19 アップル インコーポレイテッド Combined write buffer with dynamically adjustable flash index

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201293A (en) * 1983-04-27 1984-11-14 Mitsubishi Electric Corp Main storage write control device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59201293A (en) * 1983-04-27 1984-11-14 Mitsubishi Electric Corp Main storage write control device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491811A (en) * 1992-04-20 1996-02-13 International Business Machines Corporation Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory
JPH0877067A (en) * 1994-09-01 1996-03-22 Nec Corp Cache memory controller
EP1416390A2 (en) 1998-03-31 2004-05-06 Intel Corporation Cache pollution avoidance instructions
EP1416390A3 (en) * 1998-03-31 2006-01-18 Intel Corporation Cache pollution avoidance instructions
JP2013536526A (en) * 2010-08-20 2013-09-19 アップル インコーポレイテッド Combined write buffer with dynamically adjustable flash index

Similar Documents

Publication Publication Date Title
JP2531648B2 (en) Memory device
JPS6324428A (en) Cache memory
US4779193A (en) Data processing apparatus for writing calculation result into buffer memory after the writing of the beginning word of the read data
JPH0298754A (en) Main storage control system
US4737908A (en) Buffer memory control system
JPS615357A (en) Data processor
JP3132566B2 (en) Instruction precedence controller
JPH06149669A (en) System and device for transferring cache data
JPH02259945A (en) Storing processing system
JPS6391756A (en) Partial write instruction processing system for storage device
JPS6135583B2 (en)
JPS6010368A (en) Address conversion buffer control system
JPH04340145A (en) Cache memory device
JPH04181454A (en) Data access controller
JPH0439099B2 (en)
JPS58134350A (en) Memory controller
JPH03271859A (en) Information processor
JPS63188230A (en) Information processor
JPH04181343A (en) Cache memory system
JPH01222375A (en) Buffer storage device
JPH0484242A (en) Data processor
JPH0298755A (en) Cache nullification processing system
JPH01222376A (en) Buffer storage device
JPS6244839A (en) Instruction fetching device
JPS6244838A (en) Instruction fetching device