JPH0298754A - Main storage control system - Google Patents
Main storage control systemInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 11
- 230000010365 information processing Effects 0.000 claims description 4
- 238000011010 flushing procedure Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000003672 processing method Methods 0.000 description 7
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
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.
従来この種のバイブライン型情報処理装置においてキャ
ツシュヒツト時における主記憶装置へのの部分書込みス
トア処理はフルライトのストア処理に比べ、複数回の有
効なストアデータの主記憶装置からの読出しを行ない、
読出されたデータのマージを行ない、キャッシュ又は主
記憶装置へ転送するという処理が必要なためにストア処
理に大幅な処理時間を要してしまい、部分書込みストア
処理のアルライト化による処理を必要としていた。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.
しかしながら、上述した従来の部分書込みストア処理の
フルライト化処理方式においてはキャッシュに対して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.
本発明によれば、ストアバッファを有し、部分書込みの
ストア処理を必要とする命令の実行をサポートする演算
装置と主記憶装置とを含む情報処理装置において、
キャツシュヒツト時における部分書込みのストア命令に
対し、該ストア命令のストアデータのを効なバイト単位
を示すストアマスク情報を参照し、該ストアマスク情報
において有効であると示されているバイト単位のストア
データに対しては、ストアバッファ内の有効なバイト単
位のストアデータの読出しを行ない、
キャッシュに対しては、該ストアバッファ内の有効なバ
イト単位のストアデータをキャッシュ内の対応するデー
タのバイト単位に書込み、該ストアマスク情報において
無効であると示されているバイト単位のストアデータに
対しては、キャッシュ内の対応するデータのバイト単位
のストアデータを読出し、ストアバッファ及びキャッシ
ュから読出されたストアデータのマージを行ない該スト
アマスク情報を全てのバイト単位のストアデータに対し
有効であるとし、
結合されたストアデータとともに主記憶装置に掃出すこ
とを特徴とする主記憶$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.
次に本発明の実施例について図面を参照して説明する。 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.
以上説明したように、本発明は、キャツシュヒツト時に
おける部分書込みストア処理において、ストアバッファ
からキャッシュに対して、データのバイト単位の読出し
、書込みを行ない、同一タイミングにおいて、主記憶装
置に対しては、ストアバッファ及びキャッシュのデータ
のバイト単位の読出しにより主記憶装置へのデータ転送
が可能となり、キャッシュに対して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.
第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)
必要とする命令の実行をサポートする演算装置と主記憶
装置とを含む情報処理装置において、 キャッシュヒット時における部分書込みのストア命令に
対し、該ストア命令のストアデータの有効なバイト単位
を示すストアマスク情報を参照し、該ストアマスク情報
において有効であると示されているバイト単位のストア
データに対しては、ストアバッファ内の有効なバイト単
位のストアデータの読出しを行ない、 キャッシュに対しては、該ストアバッファ内の有効なバ
イト単位のストアデータをキャッシュ内の対応するデー
タのバイト単位に書込み、 該ストアマスク情報において無効であると示されている
バイト単位のストアデータに対しては、キャッシュ内の
対応するデータのバイト単位のストアデータを読出し、
ストアバッファ及びキャッシュから読出されたストアデ
ータのマージを行ない該ストアマスク情報を全てのバイ
ト単位のストアデータに対し有効であるとし、 結合されたストアデータとともに主記憶装置に掃出すこ
とを特徴とする主記憶制御方式。[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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59201293A (en) * | 1983-04-27 | 1984-11-14 | Mitsubishi Electric Corp | Main storage write control device |
-
1988
- 1988-10-06 JP JP63250760A patent/JPH0298754A/en active Pending
Patent Citations (1)
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)
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 |