JPS61118854A - Store buffer control system - Google Patents

Store buffer control system

Info

Publication number
JPS61118854A
JPS61118854A JP59241211A JP24121184A JPS61118854A JP S61118854 A JPS61118854 A JP S61118854A JP 59241211 A JP59241211 A JP 59241211A JP 24121184 A JP24121184 A JP 24121184A JP S61118854 A JPS61118854 A JP S61118854A
Authority
JP
Japan
Prior art keywords
store
byte
data
register
bytes
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
JP59241211A
Other languages
Japanese (ja)
Inventor
Tetsuya Morioka
哲哉 森岡
Hirosada Tone
利根 廣貞
Hideki Osone
大曽根 秀樹
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP59241211A priority Critical patent/JPS61118854A/en
Publication of JPS61118854A publication Critical patent/JPS61118854A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To avoid the increase of hardware quantity by providing a 2N-byte store buffer to store the store data of 2N bytes covering the 2N-byte boundary by two N-byte store operations. CONSTITUTION: The store data 9 are arrayed by an alignment circuit 4 and stored to a data register 1A. While a store address 11 is stored to a store address register 3A and also applied to a byte mark generating circuit 5 together with the store length 10. The produced byte marks are stored to a byte mark register 2A. A store control circuit 8 refers to the stored byte mark and store address transfers the N-byte data which does not cover the N-byte boundary to a main memory with a single N-byte store operation together with the 2N-byte data which does not cover the 2N-byte boundary with a single 2N-byte store operation. When the 2N-byte data covers the 2N-byte boundary, the two times of N-byte store operations are indicated for transfer of the data to the main memory.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、中央処理装置と主記憶装置との間に設けられ
たストアバッファ装置において、該ストアバッファ装置
に一時格納されたデータを効率良く主記憶装置に転送す
るストアバッファ制御方式最近のデータ処理装置におい
ては、一連のプログラムを実行する場合、該プログラム
のアドレス分布の局所性に着目して、容量は小さいが、
主記憶装置に対して高速のバッファメモリを設けること
により、命令の処理を高速化していることは周知の通り
である。
Detailed Description of the Invention [Field of Industrial Application] The present invention provides a method for efficiently storing data temporarily stored in the store buffer device provided between a central processing unit and a main storage device. Store buffer control method for transferring to main memory In recent data processing devices, when executing a series of programs, attention is paid to the locality of the address distribution of the program, and the capacity is small, but
It is well known that instruction processing is speeded up by providing a high-speed buffer memory in the main storage device.

該バッファメモリをストアスル一方式で用いる場合、ス
トアアクセスに関しては、中央処理装置内にストアバッ
ファレジスタを設け、主記憶装置に対するストアアクセ
スの集中を緩和することにより、中央処理装置からの主
記憶装置にたいするストアアクセスの見掛は上のアクセ
スタイムを短縮する方法が知られている。
When the buffer memory is used in a store-through type, a store buffer register is provided in the central processing unit to alleviate the concentration of store accesses to the main memory, so that store access from the central processing unit to the main memory can be reduced. There are known methods for shortening the apparent access time for store access.

即ち、主記憶装置に対するストアアクセスの平均化を図
ることによって、中央処理装置における処理能力の向上
を図ろうとするものである。
That is, it attempts to improve the processing power of the central processing unit by equalizing the store accesses to the main memory.

この場合、主記憶装置側においては、経済性指向から、
一般に、例えば8バイトを基本アクセスの単位としてお
り、中央処理装置と主記憶装置との間も、8バイト幅の
データバスで接続されている。又、中央処理装置と主記
憶装置間の転送時間は、中央処理装置における処理時間
に比べて長い為、ストア要求の応答が返ってきて、次の
ストア要求を送出する迄に、中央処理装置における演裏
サイクルの2サイクル分の時間が必要となる。
In this case, on the main memory side, from an economical perspective,
Generally, the basic access unit is, for example, 8 bytes, and the central processing unit and the main memory are also connected by an 8-byte wide data bus. Also, since the transfer time between the central processing unit and the main memory is longer than the processing time in the central processing unit, it takes a long time for the central processing unit to complete the process after the response to the store request is returned and before sending the next store request. The time required is the equivalent of two performance cycles.

従って、こうした8バイトを基本アクセスの車。Therefore, these 8 bytes are the basic access vehicles.

位、一般ににNバイトを基本アクセスの単位とする主記
憶装置に対して、上記ストアバッファ装置を設けた場合
、該Nバイトを基本アクセスの単位とする、上記主記憶
装置に適合したストアバ・ソファ制御方式が要求される
In general, when the above store buffer device is provided for a main memory device whose basic access unit is N bytes, a store buffer device suitable for the main memory device whose basic access unit is N bytes is provided. A control method is required.

〔従来の技術〕[Conventional technology]

例えば、8バイトを基本アクセスの単位とする主記憶装
置(図示せず、以下同じ)に対して設けられている、従
来方式のストアバッファ装置の構成を第5図、第6図で
模式的に示す。第5図は該ストアバッファ装置において
、データレジスタのデータ幅を、例えば8バイトとした
例を示したものであり、第6図は該データレジスタの幅
を、2x8=16バイトとした例を示しており、両図に
おり いて、同じ記号は機能的に同じ対象物を示している。
For example, Figures 5 and 6 schematically show the configuration of a conventional store buffer device provided for a main memory (not shown, the same applies hereinafter) whose basic access unit is 8 bytes. show. Fig. 5 shows an example in which the data width of the data register in the store buffer device is set to 8 bytes, for example, and Fig. 6 shows an example in which the data width of the data register is set to 2x8 = 16 bytes. The same symbols in both figures indicate functionally the same objects.

上記、何れの方法においても、当該ストアバッファ装置
は、中央処理装置(図示せず、以下同じ)からのストア
データを一時保持するデータレジスタIAと、該データ
レジスタIAの各バイトの有効性を示すフラグを置くハ
イ′トマークレジスタ2Aを1個宛有する1組のストア
バッファを複数組(本図では、4組)備えている。
In any of the above methods, the store buffer device includes a data register IA that temporarily holds store data from a central processing unit (not shown, the same applies hereinafter), and a data register IA that indicates the validity of each byte of the data register IA. A plurality of sets (four sets in this figure) of store buffers each having one height mark register 2A in which a flag is placed are provided.

本図において、アライン回路(^L) 4は、中央処理
装置から送られてきたストアデータを、主記憶装置の8
バイト境界(即ち、8バイトを基本アクセスの単位とす
る為の境界)を守る為に、該中央処理装置から送られて
きているストアアドレスを用いて整列させる機能を有す
る。
In this figure, the align circuit (^L) 4 stores the store data sent from the central processing unit into the main memory 8.
In order to protect byte boundaries (that is, boundaries for using 8 bytes as a basic access unit), it has a function of aligning using the store address sent from the central processing unit.

又、バイトマーク生成回路(BM)5は中央処理装置か
ら送られてくるストアアドレスと、ストアレングスを基
に、上記ストアデータに対応したバイトマークを生成す
る機能を有する。
Furthermore, the byte mark generation circuit (BM) 5 has a function of generating a byte mark corresponding to the store data based on the store address and store length sent from the central processing unit.

第5図のデータレジスタIAの語長が8バイトの場合に
は、主記憶装置の8バイト境界に跨らない8バイト以内
のストア要求を、インポインタ6が示す1mのストアバ
ッファに格納し、主記憶装置への転送が可能になった時
点(主記憶装置がビジーでない時であると、2サイクル
に1回の割合)において、主記憶装置に対してストア要
求を送出すると共に、データレジスタLA、バイトマー
クレジスタ2A、ストアアドレスレジスタ3Aの内、ア
ウトポインタ7の示す1組の内容を、それぞれセレクタ
IC,2C,3Bで選択し、データ転送バス12.バイ
トマーク転送バス13.ストアアドレス転送バス15を
通して、主記憶装置に転送していた。
When the word length of data register IA in FIG. 5 is 8 bytes, store requests within 8 bytes that do not cross 8-byte boundaries in the main memory are stored in the 1m store buffer indicated by inpointer 6, When transfer to the main memory becomes possible (once every two cycles when the main memory is not busy), a store request is sent to the main memory and the data register LA , the byte mark register 2A, and the store address register 3A, one set of contents indicated by the out pointer 7 is selected by the selectors IC, 2C, and 3B, respectively, and the data transfer bus 12. Byte mark transfer bus13. It was transferred to the main storage device via the store address transfer bus 15.

第6図は、第5図の例において生じる後述の問題点を改
良する為に、16ハイト幅のデータレジスタIAと、そ
れに対応したバイトマークレジスタ2Aを設けた例であ
る。
FIG. 6 shows an example in which a data register IA with a width of 16 heights and a corresponding byte mark register 2A are provided in order to improve the problems described later that occur in the example of FIG.

中央処理装置からのストア要求には、データ幅が8バイ
ト以下のものと、16バイトのものがあるが、本例にお
いては、16バイト境界内の16ハイトのデータを、1
つのストアバッファ (即、ち、データレジスタl^、
バイトマークレジスタ2A)に格納することができ、又
8バイト以下のデータで、主記憶装置の8バイト境界を
跨るデータの場合も同様に、1つのストアバッファに格
納することができると云う特徴がある。
Store requests from the central processing unit include those with a data width of 8 bytes or less and those with a data width of 16 bytes, but in this example, 16-height data within a 16-byte boundary is
two store buffers (i.e., data register l^,
It can be stored in the byte mark register 2A), and data of 8 bytes or less that crosses an 8-byte boundary in main memory can also be stored in one store buffer. be.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来方式の内、第5図の例においては、主記憶装置
の8バイト境界を跨らない8バイト以内のストアデータ
を、データレジスタ1^に格納できるだけであるので、
該ストアバッファ装置で中央処理装置から短時間に多数
のストア要求が送出されると、空き状態のストアバッフ
ァは直ぐに無くなり、中央処理装置はその後の命令の処
理を中断しなければならないと云う問題が生じる。
Among the conventional methods described above, in the example shown in FIG. 5, store data within 8 bytes that does not cross the 8-byte boundary of the main memory can only be stored in the data register 1^.
In the store buffer device, when a large number of store requests are sent from the central processing unit in a short period of time, there is a problem that the free store buffer quickly runs out and the central processing unit has to interrupt processing of subsequent instructions. arise.

次に、第6図の例においては、当該ストアパフノア上に
ある中央処理装置からのストア要求、即ち主記憶装置の
16バイト境界内の■6ハイト以下のデータのストア要
求、或いは1つの8バイト境界に跨る8バイト以Fのデ
ータのストア要求を、その優生記憶装置に送る方法とな
るが、この場合には、8バイト境界であり、且つ16バ
イト境界である境界の1つに跨る16バイト以下のスト
アデータを、1つのストアバッファに保持することがで
きなく、又当該ストアバッファ装置と、主記憶装置との
間には16バイト幅のデータに対応するデータ転送バス
12.及び16ビツト幅のバイトマーク転送パスが必要
となり、ハードウェア量が増大すると云う問題が生じる
Next, in the example of FIG. 6, a store request from the central processing unit on the store puffer node, i.e., a store request for data of 6 heights or less within a 16-byte boundary of the main memory, or a single 8-byte boundary. The method is to send a store request for data of 8 bytes or more that spans F to the eugenic storage device. It is not possible to hold store data in one store buffer, and there is a data transfer bus 12.2 that corresponds to 16-byte wide data between the store buffer device and the main storage device. In addition, a 16-bit wide byte mark transfer path is required, resulting in an increase in the amount of hardware.

本発明は上記従来の欠点に鑑み、例えば16バイト幅の
データレジスタ、及び16ビツト幅のバイトマークレジ
スタに格納されている中央処理装置からのストア要求を
、バイトマークレジスタと、ストアアドレスレジスタの
内容から、8バイト幅のデータ転送バス、及び8ビット
幅のバイトマーク転送パスを用いて行い、ストアバッフ
ァ装置と主記憶装置間のハードウェア量を増大させるこ
となく、且つ両装置間のデータ転送効率を向上させる方
法を提供することを目的とするものである。
In view of the above-mentioned drawbacks of the conventional art, the present invention has been proposed to process a store request from a central processing unit stored in, for example, a 16-byte wide data register and a 16-bit wide byte mark register, by checking the contents of the byte mark register and the store address register. This is done by using an 8-byte wide data transfer bus and an 8-bit wide byte mark transfer path, without increasing the amount of hardware between the store buffer device and the main memory device, and improving the data transfer efficiency between both devices. The purpose is to provide a method for improving the

〔問題点を解決する為の手段〕[Means for solving problems]

この目的は、バイトマークレジスタ、及びストアアドレ
スレジスタの内容によって制御され、例えば8バイト境
界に跨らない8バイト以内のストアデータであれば1回
の8バイトストアオペレーションとする手段と、16バ
イト境界に跨らない16バイト以内のストアデータであ
れば、1回の16バイトストアオペレーションとする手
段と、16ハイト境界に跨る16ハイト以丙のストアデ
ータであれば2回の8バイトストアオペレーシヨンとす
る手段とを設け、それぞれの手段によって生起したスト
アオペレーションに対応して、上記データレジスタ、バ
イトマークレジスタ、及びストアアドレスレジスタの内
容を主記憶装置に転送する本発明のストアバッファ制御
方式によって達成される。
This purpose is controlled by the contents of the byte mark register and the store address register, and for example, if the store data is within 8 bytes and does not span an 8-byte boundary, the purpose is to perform one 8-byte store operation, and to If the store data is within 16 bytes that does not span a boundary, it is performed as one 16-byte store operation, and if the store data is more than 16 bytes that spans a 16-height boundary, it is performed as two 8-byte store operations. This is achieved by the store buffer control method of the present invention, which includes means for storing data and transferring the contents of the data register, byte mark register, and store address register to the main memory in response to a store operation generated by each means. Ru.

〔作用〕[Effect]

即ち、本発明によれば、例えば16ハイト幅のデータレ
ジスタ、及び16ヒント幅のバイトマークレジスタに格
納されている中央処理装置からのストア要求を、バイト
マークレジスタ、及びストアアドレスレジスタの内容か
ら判断して、1回の8バイトストアオペレーション、1
回の16バイトストアオペレーション、又は2回の8バ
イトストアオペレーシヨンとに弁別して、該ストアバッ
ファ装置と主記憶装置との間に設けられてりる8バイト
幅のデータ転送バス、及び8ビット幅のバイトマーク転
送パスを用いて行うことができるようにしたものである
ので、従来例ではみられない8バイト境界であり、且つ
16バイト境界である境界の1つに跨る16バイト以下
のストアデータを保持することができるストアバッファ
から主記憶装置へ転送する手段を与えることができ、又
該ストアバッファ装置と主記憶装置間のハードウェア量
を増大させることなく、両装置間のデータ転送効率を向
上させることができる効果がある。
That is, according to the present invention, a store request from the central processing unit stored in, for example, a 16-height data register and a 16-hint width byte mark register is determined based on the contents of the byte mark register and the store address register. and one 8-byte store operation, 1
An 8-byte wide data transfer bus provided between the store buffer device and the main memory device, and an 8-bit wide data transfer bus for one 16-byte store operation or two 8-byte store operations. This is a byte mark transfer path that can be used to store data of 16 bytes or less that straddles one of the boundaries, which is an 8-byte boundary and a 16-byte boundary, which is not seen in the conventional example. The data transfer efficiency between the store buffer device and the main storage device can be improved without increasing the amount of hardware between the store buffer device and the main storage device. There are effects that can be improved.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって詳述する。 Embodiments of the present invention will be described in detail below with reference to the drawings.

第1図は本発明の一実施例を模式的に示した図であり、
第2図は本発明を実施してストアバッファに格納された
中央処理装置からのストア要求の例を示した図であり、
第3図は本発明の主眼となるストアオペレーションの生
成回路を示した図であり、第4図は本発明を実施して、
ストアオペレーションを行う場合の動作をタイムチャー
I・で示した図である。    ゛ 第1図において、第5図、第6図と同じ記号は同じ対象
物を示し、セレクタ2D、ストア制御回路8、及び加算
器16が本発明を実施するのに必要な機能ブロックであ
る。
FIG. 1 is a diagram schematically showing an embodiment of the present invention,
FIG. 2 is a diagram showing an example of a store request from a central processing unit stored in a store buffer by implementing the present invention.
FIG. 3 is a diagram showing a store operation generation circuit, which is the main focus of the present invention, and FIG.
FIG. 3 is a diagram showing the operation when performing a store operation using a time chart I. FIG. 1, the same symbols as in FIGS. 5 and 6 indicate the same objects, and the selector 2D, store control circuit 8, and adder 16 are functional blocks necessary to implement the present invention.

第1図に示した本ストアバッファ装置においても、4組
のストアバッファを備えており、各ストアバッファは、
例えば16バイト幅のデータレジスタIAと、16バイ
ト分のバイトマークレジスタ2Aと。
The present store buffer device shown in FIG. 1 is also equipped with four sets of store buffers, and each store buffer is
For example, a 16-byte wide data register IA and a 16-byte byte mark register 2A.

ストアアドレスレジスタ3Aを備えている。It is equipped with a store address register 3A.

今、中央処理装置からストア要求があると、ストアデー
タバス9から8バイト幅のストアデータ。
Now, when there is a store request from the central processing unit, 8-byte wide store data is sent from the store data bus 9.

ストアレングスパス10から当=亥ストアデータの内、
実際に主記憶装置にストアすべきバイトの長さを示すス
トアレングス、ストアアドレスバスllから該ストアデ
ータのストア先である主記憶装置上のアドレスが送られ
て(る。
From store length pass 10, this = Pig store data,
A store length indicating the length of bytes to be actually stored in the main memory, and an address on the main memory where the store data is to be stored are sent from the store address bus 11.

本ストアバッファ装置内においては、主記憶装置におけ
るアドレス空間が、例えば8バイト境界になっているこ
とに鑑み、上記ストアアドレスを基に、アライン回路(
AL) 4を用いてストアデータを整列させる。
In this store buffer device, in view of the fact that the address space in the main memory is on an 8-byte boundary, the align circuit (
AL) Align the store data using 4.

又、上記ストアアドレス、及びストアレングスを基に、
上記整列されたストアデータに対応したバイトマークを
バイトマーク生成回路(BM)5を用いて生成する。
Also, based on the above store address and store length,
A byte mark generation circuit (BM) 5 is used to generate byte marks corresponding to the aligned store data.

上記ストアデータ、及びバイトマークを、インポインタ
6で示されるストアバッファのデータレングスLA、及
びバイトマークレジスタ2Aにそれぞれ格納し、ストア
アドレスバス11からのストアアドレスの下位3ビツト
をO”とした値(この下位3ビツトは、実際にはストア
アドレスバスジスタ3Aに保持する必要はなく、又主記
憶装置に転送する必要もない)を、ストアアドレスレジ
スタ3Aに格納する。
The above store data and byte mark are stored in the data length LA of the store buffer indicated by the in-pointer 6 and the byte mark register 2A, respectively, and the lower 3 bits of the store address from the store address bus 11 are set to O”. (These lower 3 bits do not actually need to be held in the store address bus register 3A, nor do they need to be transferred to the main storage device) are stored in the store address register 3A.

続いて、図示していない比較回路において、ストアアド
レスバス11から送られてきたストアアドレスと、現在
インポインタ6で示されているストアアドレスレジスタ
の値とを比較し、既にストアバッファに格納されている
ストア要求に、今回のストア要求が併合可能であるかを
判断し、若し併合可能であれば、アライン回路(AL)
 4.及びバイトマーク生成回路(BM)5を通して、
上記データレジスタIA、及びバイトマークレジスタ2
Aに併合される。
Next, a comparison circuit (not shown) compares the store address sent from the store address bus 11 with the value of the store address register currently indicated by the inpointer 6, and determines whether the store address has already been stored in the store buffer. It is determined whether the current store request can be merged with the existing store request, and if the current store request can be merged, the align circuit (AL)
4. and through the bite mark generation circuit (BM) 5,
The above data register IA and byte mark register 2
Merged with A.

例えは、今回のストアデータのストアアドレスが、既に
データレジスタ16に格納されでいるストアデータに連
続したアドレスで、且つ総データ量が次の16バイト境
界を越えない場合には、同じデータレジスタ1八に併合
(具体的には、該データレジスタIAにパーシャルスト
アを行う)することかできる。
For example, if the store address of the current store data is a contiguous address to the store data already stored in the data register 16, and the total amount of data does not exceed the next 16-byte boundary, the same data register 1 8 (specifically, performing a partial store in the data register IA).

以上の方法によって、1組のストアバッファに格納され
た中央処理装置からのストア要求データの例を第2図に
示す。
FIG. 2 shows an example of store request data from the central processing unit stored in a set of store buffers using the above method.

本図において、ストアアドレスはビット表示で、ビット
28〜31を、ストアデータはアライン回路(Aし)4
において整列して得られた有効なバイトを斜線で、又バ
イトマークは対応するバイトが有効な時は°1゛、無効
の時は′0゛として示されている。
In this figure, the store address is shown in bits, bits 28 to 31, and the store data is shown in the align circuit (A) 4.
Valid bytes obtained by aligning the corresponding bytes are shown with diagonal lines, and the byte marks are shown as 1° when the corresponding byte is valid, and as 0 when the corresponding byte is invalid.

■、■の例は、8バイト境界、又は16ハイト境界を跨
らない8バイト以下のストアデータの場合を示し、■の
例は16バイト境界に跨らない16ハイ    ゛ト以
内のストアデータの場合を示し、■は16ハイト境界を
跨る16バイト以内のストアデータの場合を示している
The examples in ■ and ■ are for store data of 8 bytes or less that does not span an 8-byte boundary or a 16-height boundary, and the example in ■ is for store data that is within 16 bytes that does not span a 16-byte boundary. In this case, ■ indicates the case of store data within 16 bytes that straddles a 16-height boundary.

中央処理装置からのストアデータは、総て上記■〜■の
何れかの例に当てはめることができる。
Store data from the central processing unit can all be applied to any of the examples ① to ② above.

例えば、8バイト境界を跨る8バイト以内のストアデー
タは、上記■、又は■に当てはめることができる。
For example, store data within 8 bytes that straddles an 8-byte boundary can be applied to the above-mentioned (2) or (2).

このようなストアデータを、本発明を実施して主記憶装
置にストアする場合のストアオペレーションを第1図、
第2図を参照しながら、第3図。
The store operation when storing such store data in the main memory by implementing the present invention is shown in FIG.
FIG. 3 with reference to FIG.

第4図によって説明する。This will be explained with reference to FIG.

先ず、ストアバッファに格納済みの中央処理装置からの
ストア要求の内、アウトポインタ7で示されるストアバ
ッファのバイトマークレジスタ2パノヒツト8〜15.
 &[’ストアアドレスレジスタ3Aの値がセレクタ2
D、3Bによって選択される。
First, among the store requests from the central processing unit that have already been stored in the store buffer, the byte mark register 2 pano hits 8 to 15 .
&['The value of store address register 3A is selector 2
D, selected by 3B.

ストア制御回路8は、このバイトマークビット8〜15
.及びストアアドレスビット28を用いて、第3図に示
す論理回路によって、本発明のストアオペレーションを
選択する。
The store control circuit 8 controls the byte mark bits 8 to 15.
.. and store address bits 28 are used to select the store operation of the present invention by the logic circuit shown in FIG.

本図のa)はオア回路81が論理°o°の時、即ちバイ
トマークビット8〜15が全°o′の時、否定回路82
をオンとして、1回の8バイトストアオペレーシヨンを
指示する。
In a) of this figure, when the OR circuit 81 is at logic °o°, that is, when byte mark bits 8 to 15 are all at °o', the NOT circuit 82
is turned on to instruct one 8-byte store operation.

当3亥ストアオペレーションは、8バイト境界に跨らな
い8バイト以内のストアデータの時に選択され、第2図
の■、■の例が該当する。
This 3-byte store operation is selected when the store data is within 8 bytes and does not span an 8-byte boundary, and the examples of ■ and ■ in FIG. 2 correspond to this.

一般に、8バイト境界に跨らない8バイト以内のストア
データは、データレジスタIAの上位の8バイトにアラ
インされるので、上記のような選択ができることになる
Generally, store data within 8 bytes that does not span an 8-byte boundary is aligned to the upper 8 bytes of the data register IA, so the above selection can be made.

b)は、オア回路81のバイトマークピントの何れかが
“1”であって、且つストアアドレスビット28が“0
゛の時、アンド回路83をオンとして、1回の16ハイ
トストアオペレーシヨンを指示する。
In b), one of the byte mark focuses of the OR circuit 81 is “1” and the store address bit 28 is “0”.
At this time, the AND circuit 83 is turned on to instruct one 16-height store operation.

当該オペレーションは、16バイト境界に跨らない1ら
バイト以下のストアデータの時選択され、第2図の■の
例が該当する。
This operation is selected when the store data is less than 1 byte and does not straddle a 16-byte boundary, and corresponds to the example ◯ in FIG. 2.

C)は、オア回路81のバイトマークビソトの何れかが
1゛であって、且つストアアドレスビット28が1゛の
時、アンド回路83をオンとして、2回の8バイトスト
アオペレーションを指示する。
C) turns on the AND circuit 83 and instructs two 8-byte store operations when any of the byte mark bits in the OR circuit 81 is 1 and the store address bit 28 is 1. .

当該オペレーションは、16バイト境界に跨る16バイ
ト以下のストアデータの時選択され、第2図の■の例か
該当する。
This operation is selected when store data of 16 bytes or less spans a 16-byte boundary, and corresponds to the example ◯ in FIG. 2.

主記憶装置においては、8バイト境界内の8バイトスト
アオペレーションと、16バイト境界内の16バイトス
トアオペレーションを受は付けるように構成されていて
、両ストアオペレーションは共に、2サイクルでストア
動作を完了する。8バイトオペレーシヨンの場合は、2
サイクル間ストアデータ、及びバイトマークを主記憶装
置に歯山する必要があり、16バイトストアオペレーシ
ョンの場合は、■サイクル目で上位8バイト、又は8ビ
ツト、2サイクル目で下位8バイト、又は8ビツトのス
トアデータ、及びバイトマークを送出する必要がある。
The main memory is configured to accept 8-byte store operations within 8-byte boundaries and 16-byte store operations within 16-byte boundaries, and both store operations complete in two cycles. do. For 8-byte operations, 2
It is necessary to store inter-cycle store data and byte marks in the main memory, and in the case of a 16-byte store operation, ■ the upper 8 bytes or 8 bits are stored in the 2nd cycle, and the lower 8 bytes or It is necessary to send bit store data and byte marks.

又、両ストアオペレーションは2サイクル間、ストアア
ドレス、及びストアオペレーションの種別を示すコマン
ドを送出する。16バイトストアオペレーションの場合
、ストアアドレスとしては16バイト境界のアドレスを
必要とする。
Furthermore, both store operations send out a command indicating the store address and the type of store operation for two cycles. In the case of a 16-byte store operation, an address on a 16-byte boundary is required as the store address.

主記憶装置における上記動作を、第3図で示したa)〜
C)のストアオペレーションに適用すると、第4図に示
すタイミングとなる。
The above-mentioned operations in the main memory are shown in FIG.
When applied to the store operation in C), the timing is shown in FIG.

先ず、a)の1回の8バイトストアオペレーシヨンの場
合、セレクタIB、 セレクタ2Bにより、データレジ
スタIAの上位8バイトと、バイトマークレジスタ2A
の上位8ヒツトが、それぞれのストアバッファで選択さ
れ、続いてセレクタIC,2C,3Bでアウトポインタ
7の示すストアバッファのデータレジスタ1^、バイト
マークレジスタ2A、ストアアドレスレジスタ・3八が
選択され、それぞれデータ転送ハス12、バイトマーク
転送ハス13.ストアアドレス転送バス15に2サイク
ル間送出される。 (21〜23参照) この時、ストアオペレーションコマンドバス14には、
ストア制御回路8から、上記り回の8バイトストアオペ
レーションが2サイクル間指示される。 (20参照) 次に、 b)の1回の16バイトストアオペレーション
の場合、1サイクル目はデータレジスタLAの上位8バ
イトと、バイトマークレジスタ2Aの上位8ピントが、
セレクタIB、セレクタ2Bにより選択され、2サイク
ル目は、データレジスタIAの下位8バイトと、バイト
マークレジスタ2Aの下位8ビツトが選択され、両サイ
クル共、セレクタIC,2C,3Bの動作は、上記a)
の場合と同じである。(25〜27参照) この時、ストアオペレーションコマンドバス14には2
サイクル間、16バイトストアオペレーションか指示さ
れる。(24参照) 次に、c)の2回の8バイトストアオペレーションの場
合、始めの2サイクル間はデータレジスタLAの上位8
バイトと、バイトマークレジスタ2Aの上位8ビツトが
、セレクタIB、セレクタ2Bにより選択され、それに
続く2サイクル間は、データレジスタIAの一ト位8パ
・イトと、バイトマークレジスタ2Aの下位8ビツトか
選択され、両2サイクル共(即ち、4サイクル間)、セ
レクタlc、2c、3Bの動作は、上記a)の場合と回
しである。但し、この場合は、2回の8バイトストアオ
ペレーションとなる為、始めの2サイクル゛間はセレク
タ3Bで選択さ′ れたストアアドレスの値がその侭、
それに続く2サイクル間はその値に加算器16で、8を
加算した値がストアアドレス転送バス15に送出される
。(29、,30,31参照) この時、ストアオペレーションコマンドバス14には、
諜亥4サイクル共、8バイトストアオペレーションが指
示される。 (28参照) このようにして、本発明においては、16バイト境界内
の16バイト以下の主記憶装置に対するストア要求、或
いは1つの8バイト境界に跨る16バイト以下の主記憶
装置に対するストア要求が、8バイト幅のデータ転送パ
スで、効率良く処理できる特徴がある。
First, in the case of a) one 8-byte store operation, selector IB and selector 2B select the upper 8 bytes of data register IA and byte mark register 2A.
The top eight hits are selected in each store buffer, and then data register 1^, byte mark register 2A, and store address register 38 of the store buffer indicated by out pointer 7 are selected by selectors IC, 2C, and 3B. , data transfer lotus 12, byte mark transfer lotus 13., respectively. The data is sent to the store address transfer bus 15 for two cycles. (See 21 to 23) At this time, the store operation command bus 14 has
The store control circuit 8 instructs the above-mentioned 8-byte store operation for two cycles. (Refer to 20) Next, in the case of one 16-byte store operation in b), in the first cycle, the upper 8 bytes of data register LA and the upper 8 pins of byte mark register 2A are
Selector IB and selector 2B select, and in the second cycle, the lower 8 bytes of data register IA and the lower 8 bits of byte mark register 2A are selected. In both cycles, the operations of selectors IC, 2C, and 3B are as described above. a)
The same is true for . (See 25 to 27) At this time, the store operation command bus 14 has 2
During the cycle, a 16-byte store operation is indicated. (Refer to 24) Next, in the case of the two 8-byte store operations in c), the upper 8 bytes of data register LA are used for the first two cycles.
The byte and the upper 8 bits of the byte mark register 2A are selected by selector IB and selector 2B, and for the following two cycles, the first 8 bits of the data register IA and the lower 8 bits of the byte mark register 2A are selected by the selector IB and selector 2B. The operation of selectors lc, 2c, and 3B is the same as in case a) for both two cycles (that is, for four cycles). However, in this case, since there are two 8-byte store operations, the value of the store address selected by selector 3B remains unchanged for the first two cycles.
During the following two cycles, the adder 16 adds 8 to that value and sends the value to the store address transfer bus 15. (See 29, 30, 31) At this time, the store operation command bus 14 has
In all four cycles, an 8-byte store operation is instructed. (Refer to 28) In this way, in the present invention, a store request to a main storage device of 16 bytes or less within a 16-byte boundary, or a store request to a main storage device of 16 bytes or less that straddles one 8-byte boundary, It has an 8-byte wide data transfer path and is characterized by efficient processing.

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

以上、詳細に説明したように、本発明のストアバッファ
制御方式は、16バイト幅のデータレジスタ、及び16
ビツト幅のバイトマークレジスタに格納されている中央
処理装置からのストア要求を、バイトマークレジスタ、
及びストアアドレスレジスタの内容から判断して、1回
の8バイトストアオペレーシヨン、1回の16八゛イト
ストアオペレージ田ン、又は2回の8バイトストアオペ
レーションとに弁別して、該ストアバッファ装置と主記
憶装置との間に設けられている8バイト幅のデータ転送
バス、及び8バイト幅のバイトマーク転送ハスを用いて
行うことができるようにしたものであるので、従来例で
はみられない8バイト境界であり、且つ16バイト境界
である境界の1つに跨る16バイト以下のストアデータ
を保持することができるストアバッファから主記憶装置
へ転送する手段を与えることができ、又該ストアバッフ
ァ装置と主記憶装置間のハードウェア量を増大させるこ
となく、両装置間のデータ転送効率を向上させることが
できる効果がある。
As described above in detail, the store buffer control method of the present invention uses a 16-byte wide data register and a 16-byte wide data register.
A store request from the central processing unit stored in the bit-wide bytemark register is sent to the bytemark register.
and the contents of the store address register, the store buffer device performs one 8-byte store operation, one 16-byte store operation, or two 8-byte store operations. This can be done using an 8-byte wide data transfer bus and an 8-byte wide byte mark transfer bus provided between the main memory and the main memory, which is not seen in conventional examples. It is possible to provide a means for transferring store data to the main storage device from a store buffer that can hold store data of 16 bytes or less spanning one of the boundaries that is an 8-byte boundary and a 16-byte boundary, and the store buffer This has the effect of improving data transfer efficiency between the devices and the main storage device without increasing the amount of hardware between the two devices.

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

第1図は本発明の一実施例を模式的に示した図。 第2図は本発明を実施して、ストアバッファに格納され
た中央処理装置からのストア要求の例を示した図。 第3図はストア制御回路の一例を示した図。 第4図は本発明を実施してストアオペレーションを行う
場合の動作をタイムチャートで示した図。 第5図は従来方式の一例を模式的に示した図。 第6図は従来方式の他の例を模式的に示した図。 である。 図面において、 IAはデータレジスタ。 2八はバイトマークレジスタ。 3八はストアアドレスレジスタ。 1B、2B、3B、IG、2G、2Dはセレクタ。 4はアライン回路(AL)。 5はバイトマーク生成回路(IIM) 。 6はインポインタ3  7はアウトポインタ。 8はストア制御回路、 9はストアデータバス。 10はストアレングスバス。 11はストアアドレスバス。 12はデータ転送パス。 13はバイトマーク転送バス。 14はストアオペレーションコマンドバス。 15はストアアドレス転送ハス。 16は加算器。 をそれぞれ示す。 茶 1 目 qz  目 茶 3 囚 茶 48 1i)l目1113パイ>スト?オヘーレーションb)
  I M =a 14ツマイトスト7オへOレーショ
ン予 5gl
FIG. 1 is a diagram schematically showing an embodiment of the present invention. FIG. 2 is a diagram showing an example of a store request from a central processing unit stored in a store buffer by implementing the present invention. FIG. 3 is a diagram showing an example of a store control circuit. FIG. 4 is a time chart showing the operation when performing a store operation by implementing the present invention. FIG. 5 is a diagram schematically showing an example of a conventional method. FIG. 6 is a diagram schematically showing another example of the conventional method. It is. In the drawing, IA is a data register. 28 is a byte mark register. 38 is a store address register. 1B, 2B, 3B, IG, 2G, 2D are selectors. 4 is an align circuit (AL). 5 is a bite mark generation circuit (IIM). 6 is in pointer 3 7 is out pointer. 8 is a store control circuit, and 9 is a store data bus. 10 is a store length bus. 11 is a store address bus. 12 is a data transfer path. 13 is a byte mark transfer bus. 14 is a store operation command bus. 15 is a store address transfer lotus. 16 is an adder. are shown respectively. Brown 1st qz Eyed tea 3 Prisoner tea 48 1i) lth 1113 pie > strike? ohalation b)
I M = a 14 Tsumaitost 7O to O ration 5gl

Claims (1)

【特許請求の範囲】[Claims] N(但し、Nは正の整数)バイトを基本アクセスの単位
とする主記憶装置を具備したデータ処理装置において、
2Nバイト幅のデータレジスタと、該データレジスタ内
のデータの各バイトの有効性を示すフラグを置くバイト
マークレジスタと、データレジスタ内のデータのストア
先である主記憶装置のアドレスを示すストアアドレスレ
ジスタを1個宛有する1組のストアバッファを複数組備
え、各ストアバッファには上記主記憶装置の2Nバイト
境界内の2Nバイト以下の主記憶装置に対するストア要
求、或いは上記Nバイト境界の1つに跨る2Nバイト以
下の主記憶装置に対するストア要求を格納できるストア
バッファ装置において、該主記憶装置にストアを行う場
合、バイトマークレジスタ、及びストアアドレスレジス
タの内容によって制御され、Nバイト境界に跨らないN
バイト以内のストアデータであれば1回のNバイトスト
アオペレーションとする手段と、2Nバイト境界に跨ら
ない2Nバイト以内のストアデータであれば、1回の2
Nバイトストアオペレーションとする手段と、2Nバイ
ト境界に跨る2Nバイト以内のストアデータであれば2
回のNバイトストアオペレーションとする手段とを設け
、それぞれの手段によって生起したストアオペレーショ
ンに対応して、上記データレジスタ、バイトマークレジ
スタ、及びストアアドレスレジスタの内容を主記憶装置
に転送することを特徴とするストアバッファ制御方式。
In a data processing device equipped with a main memory device whose basic access unit is N (where N is a positive integer) bytes,
A 2N byte wide data register, a byte mark register that holds a flag indicating the validity of each byte of data in the data register, and a store address register that indicates the address in main memory where the data in the data register is stored. A plurality of sets of store buffers are provided, and each store buffer receives a store request for a main memory of 2N bytes or less within the 2N byte boundary of the main memory, or one of the above N byte boundaries. In a store buffer device that can store a store request to the main memory of 2N bytes or less that spans, when storing to the main memory, it is controlled by the contents of the byte mark register and store address register, and does not span the N byte boundary. N
If the store data is within a byte, one N-byte store operation is performed, and if the store data is within 2N bytes and does not span a 2N byte boundary, one 2-byte store operation is performed.
2 if there is a means to perform an N-byte store operation and the store data is within 2N bytes that spans a 2N-byte boundary.
means for performing N byte store operations, and transferring the contents of the data register, byte mark register, and store address register to the main storage device in response to the store operation generated by each means. Store buffer control method.
JP59241211A 1984-11-15 1984-11-15 Store buffer control system Pending JPS61118854A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59241211A JPS61118854A (en) 1984-11-15 1984-11-15 Store buffer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59241211A JPS61118854A (en) 1984-11-15 1984-11-15 Store buffer control system

Publications (1)

Publication Number Publication Date
JPS61118854A true JPS61118854A (en) 1986-06-06

Family

ID=17070850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59241211A Pending JPS61118854A (en) 1984-11-15 1984-11-15 Store buffer control system

Country Status (1)

Country Link
JP (1) JPS61118854A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01305438A (en) * 1988-06-02 1989-12-08 Nec Corp Host computer
EP2607128A2 (en) 2011-12-22 2013-06-26 Nishikawa Rubber Co., Ltd. Seal member of automobile door

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169269A (en) * 1982-03-31 1983-10-05 Fujitsu Ltd Data transfer control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169269A (en) * 1982-03-31 1983-10-05 Fujitsu Ltd Data transfer control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01305438A (en) * 1988-06-02 1989-12-08 Nec Corp Host computer
EP2607128A2 (en) 2011-12-22 2013-06-26 Nishikawa Rubber Co., Ltd. Seal member of automobile door

Similar Documents

Publication Publication Date Title
US4354232A (en) Cache memory command buffer circuit
EP0054888A2 (en) Data-processing system with main and buffer storage control
JPH0644245B2 (en) Store buffer device
JPS61118854A (en) Store buffer control system
JPS62154032A (en) Instruction internal memory
JPH03244059A (en) Dma controller
US4737908A (en) Buffer memory control system
JPS61165170A (en) Bus controlling system
US4561071A (en) Storage system having buffer storage
JPH0746323B2 (en) Main memory for compressing partial write access
JPS6148745B2 (en)
JPS59173828A (en) Data processing system
JPH01193961A (en) Address converting device
JPS6019534B2 (en) Transfer control device
JPH01315858A (en) Data transfer control method and device
JPH01224851A (en) Data processor
JPS59218692A (en) Control system of logical buffer memory
JPH01150951A (en) Memory access method
JPS59218691A (en) Prefetching system
JP2560520B2 (en) Advance control device
JPS6115235A (en) Central processor
JPH01216648A (en) Packet exchange system
JPH0231418B2 (en) DEETACHUSHUTSUSHORISOCHI
JPH0344748A (en) Read control system for memory data
JPS59225427A (en) Memory access system