JPH01269143A - Storing buffer control system - Google Patents

Storing buffer control system

Info

Publication number
JPH01269143A
JPH01269143A JP63097886A JP9788688A JPH01269143A JP H01269143 A JPH01269143 A JP H01269143A JP 63097886 A JP63097886 A JP 63097886A JP 9788688 A JP9788688 A JP 9788688A JP H01269143 A JPH01269143 A JP H01269143A
Authority
JP
Japan
Prior art keywords
address
store
cache memory
instruction
processing
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
JP63097886A
Other languages
Japanese (ja)
Inventor
Masatoshi Koto
小藤 雅俊
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 JP63097886A priority Critical patent/JPH01269143A/en
Publication of JPH01269143A publication Critical patent/JPH01269143A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

PURPOSE:To evade the processing delay of a storing command registered in a storing buffer and to improve the performance of an arithmetic processing without delaying the processing of a reading request to a cache memory by indexing the address of the storing command stored into the storing buffer independently from the index at an address array. CONSTITUTION:Independently from an index at an address array 6 to hold the address of data stored into a cache memory for an instruction, the address of the storing command stored in a storing buffer 7 by an address holding means 5 to hold the same contents as the address array 6 is indexed. In accordance with the index result, the processing of the storing command to a cache memory for an instruction and operand is executed. Thus, without delaying the processing of the reading request to the cache memory, the processing delaying of the storing command registered at the storing buffer can be evaded and the performance of the arithmetic processing can be improved.

Description

【発明の詳細な説明】 挾」υ辷野 本発明はストアバッファ制御方式に関し、特に命令用と
オペランド用の2つのキャッシュメモリを有する演算処
理装置におけるストアコマンドのキャッシュメモリ索引
方式に間する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a store buffer control system, and more particularly to a cache memory indexing system for store commands in an arithmetic processing unit having two cache memories, one for instructions and one for operands.

良未挾韮 従来、キャッシュメモリを有し、パイプライン方式を採
用する演算処理装置においては、ストアコマンドのアド
レス計算が命令実行前に行われ、そのストアコマンドの
ストアデータが命令実行後に求められるため、ストアコ
マンドのキャッシュメモリ索引時にはストアデータが求
められていない。
Conventionally, in an arithmetic processing unit that has a cache memory and uses a pipeline method, the address calculation for a store command is performed before the instruction is executed, and the store data for the store command is obtained after the instruction is executed. , store data is not required at the time of cache memory indexing for a store command.

したがって、ストアデータが求められてから、すなわち
ストアコマンドのアドレスおよびデータが揃ってからキ
ャッシュメモリの索引を行えばキャッシュメモリに対す
るアクセスは1回で行うことができる。
Therefore, if the cache memory is indexed after the store data is obtained, that is, after the store command address and data are available, the cache memory can be accessed in one go.

このため、演算処理装置にはストアバッファが設けられ
、このストアバッファにストアアドレスを登録してその
ストアコマンドに対応するストアデータが求められるの
を待ち、ストアデータが求められたときにそのストアデ
ータをストアバッファに登録することにより、キャッシ
ュメモリにストアするアドレスとデータとが揃えられる
For this reason, the arithmetic processing unit is provided with a store buffer, a store address is registered in this store buffer, it waits for the store data corresponding to the store command to be requested, and when the store data is requested, the store address is By registering in the store buffer, the address and data to be stored in the cache memory are aligned.

ストアバッファにアドレスとデータとが揃ったときに、
キャッシュメモリに対して索引要求を行い、この索引要
求がキャッシュメモリで受付けられると、キャッシュメ
モリの索引が行われる。キャッシュメモリの索引の結果
、該当アドレスが登録されていればストアバッファに登
録されたストアデータがキャッシュメモリに書込まれる
When the address and data are in the store buffer,
An index request is made to the cache memory, and when this index request is accepted by the cache memory, the cache memory is indexed. As a result of indexing the cache memory, if the corresponding address is registered, the store data registered in the store buffer is written to the cache memory.

命令用とオペランド用の2つのキャッシュメモリを有す
る場合には、その2つのキャッシュメモリに対して夫々
索引要求が出されることになる。
If there are two cache memories, one for instructions and one for operands, an index request will be issued to each of the two cache memories.

キャッシュメモリにおいては、通常、ストア要求よりも
リード要求が優先的に処理されるため、ストアコマンド
によるキャッシュメモリの索引要求はキャッシュメモリ
に対するリード要求の頻度により処理速度が異なってく
る。このリード要求の頻度は命令およびオペランドの先
取りデータ証が増えるにつれて多くなり、特に命令用の
キャッシュメモリにおいては先取りデータ量が多いため
、この命令用のキャッシュメモリ対するストアコマンド
による索引要求の処理は長く待たされることになる。
In a cache memory, read requests are usually processed with priority over store requests, so the processing speed of a cache memory index request based on a store command varies depending on the frequency of read requests to the cache memory. The frequency of this read request increases as the amount of prefetched data for instructions and operands increases.In particular, the amount of prefetched data in the instruction cache memory is large, so the processing of an index request by a store command for this instruction cache memory takes a long time. You will have to wait.

このような従来の演算処理装置では、キャッシュメモリ
へのリード要求がストアバッファに登録されたストアコ
マンドによるキャッシュメモリへの索引要求よりも優先
的に処理されているので、キャッシュメモリへのリード
要求が多くなると、ストアコマンドによるキャッシュメ
モリへの索引要求が長く待たされ、ストアコマンドの処
理遅れが生ずるという欠点がある。
In such conventional arithmetic processing units, read requests to the cache memory are processed with priority over index requests to the cache memory by store commands registered in the store buffer. If the number increases, an index request to the cache memory by a store command will have to wait for a long time, resulting in a delay in the processing of the store command.

また、ストアコマンドのキャッシュメモリへの索引要求
が長く待たされることにより、ストアバッファには容量
以上のストアコマンドが溜まってしまうので、演算処理
を止めてストアバッファに登録されたストアコマンドを
処理しなければならなくなり、演算処理の性能が低下す
るという欠点がある。
Additionally, if the index request of the store commands to the cache memory is kept waiting for a long time, the store buffer will accumulate more store commands than its capacity, so it is necessary to stop the calculation process and process the store commands registered in the store buffer. This has the disadvantage that the performance of arithmetic processing decreases.

魚曹Fと目的 本発明は上記のような従来のものの欠点を除去すべくな
されたもので、キャッシュメモリへのリード要求の処理
を遅らせることなく、ストアバッファに登録されたスト
アコマンドの処理遅れを回避することができ、演算処理
の性能を向上させることができるストアバッファ制御方
式の提供を目的とする。
The present invention was made in order to eliminate the drawbacks of the conventional methods as described above, and it is possible to reduce the processing delay of store commands registered in the store buffer without delaying the processing of read requests to the cache memory. It is an object of the present invention to provide a store buffer control method that can avoid this problem and improve the performance of arithmetic processing.

ユ凹Fとi處 本発明によるストアバッファ制御方式は、命令用および
オペランド用のキャッシュメモリと、前記命令用のキャ
ッシュメモリに格納されたデータのアドレスを保持する
アドレスアレイと、前記キャッシュメモリに書込まれる
ストアコマンドを格納するストアバッファとを有する演
算処理装置のストアバッファ制御方式であって、前記ア
ドレスアレイと同一の内容を保持するアドレス保持手段
と、前記アドレスアレイにおける索引とは独立して前記
ストアバッファに格納された前記ストアコマンドのアド
レスを前記アドレス保持手段により索引する索引手段と
を設け、前記索引手段の索引結果に応じて前記キャッシ
ュメモリに対する前記ストアコマンドの処理を行うよう
にしたことを特徴とする。
The store buffer control method according to the present invention includes a cache memory for instructions and operands, an address array that holds addresses of data stored in the cache memory for instructions, and a method for writing data to the cache memory. A store buffer control method for an arithmetic processing unit having a store buffer for storing a store command to be loaded, wherein the address holding means holds the same contents as the address array, and the index in the address array is independently stored. indexing means for indexing the address of the store command stored in the store buffer by the address holding means, and processing of the store command with respect to the cache memory is performed according to the index result of the indexing means. Features.

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

第1図は本発明の一実施例の構成を示すブロック図であ
る0図において、本発明の一実施例による演算処理装置
は、セレクタ1〜3と、オペランド用アドレスアレイ(
OAA)4と、命令用アドレスアレイ(SIAAおよび
IAA)5.6と、ストアバッファ7と、制御回路8と
を含んで構成されている。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. In FIG.
4, instruction address arrays (SIAA and IAA) 5, 6, a store buffer 7, and a control circuit 8.

オペランド用アドレスアレイ4には図示せぬオペランド
用のキャッシュメモリに登録済みであるデータのブロッ
クアドレスが格納されている。
The operand address array 4 stores block addresses of data registered in an operand cache memory (not shown).

命令用アドレスアレイ(SIAA)5には、図示せぬ命
令用のキャッシュメモリに登録済みであるデータのブロ
ックアドレスが格納されている命令用アドレスアレイ(
IAA)6の内容がコピーされている。
The instruction address array (SIAA) 5 includes an instruction address array (SIAA) in which block addresses of data registered in an instruction cache memory (not shown) are stored.
The contents of IAA) 6 have been copied.

オペランドリードのアドレスはオペランドアドレス信号
線100とセレクタ1とを介してオペランド用アドレス
アレイ4に入力され、このアドレスによりオペランド用
アドレスアレイ4の索引処理が行われてオペランド用の
キャッシュメモリにデータが登録されているかどうかが
判断される。
The operand read address is input to the operand address array 4 via the operand address signal line 100 and the selector 1, and index processing of the operand address array 4 is performed using this address, and data is registered in the operand cache memory. It is determined whether the

また、オペランドストアのアドレスはオペランドアドレ
ス信号線100を介してストアバッファ7に登録され、
ストアバッファ7でストアデータが得られるまで待たさ
れる。
Further, the operand store address is registered in the store buffer 7 via the operand address signal line 100,
The user is made to wait until the store data is obtained in the store buffer 7.

命令リードのアドレスは命令アドレス信号線101とセ
レクタ3とを介して命令用アドレスアレイ6に入力され
、このアドレスにより命令用アドレスアレイ6の索引処
理が行われて命令用のキャッシュメモリにデータが登録
されているかどうかが判断される。
The instruction read address is input to the instruction address array 6 via the instruction address signal line 101 and the selector 3, and index processing of the instruction address array 6 is performed using this address, and data is registered in the instruction cache memory. It is determined whether the

命令用アドレスアレイ5には命令アドレス信号線101
とセレクタ2とを介して命令アドレスが入力され、命令
用アドレスアレイ6の書込み時に同一の内容が書込まれ
ることにより、命令用アドレスアレイ6と同一の内容が
保証されている。
The instruction address array 5 has an instruction address signal line 101.
An instruction address is inputted via the selector 2 and the instruction address array 6, and the same contents are written when the instruction address array 6 is written, so that the same contents as the instruction address array 6 are guaranteed.

ストアデータが求められたストアバッフアフ内のストア
コマンドはストアアドレス信号11102とセレクタ2
とを介してストアアドレスを命令用アドレスアレイ5に
出力し、ストアアドレス信号線102とセレクタ1とを
介してストアアドレスをオペランド用アドレスアレイ4
に出力する。このアドレスによりオペランド用アドレス
アレイ4および命令用アドレスアレイ5の索引処理が行
われる。
The store command in the store buffer where the store data was requested is the store address signal 11102 and the selector 2.
The store address is output to the instruction address array 5 via the store address signal line 102 and the selector 1, and the store address is output to the operand address array 4 via the store address signal line 102 and the selector 1.
Output to. Using this address, the operand address array 4 and the instruction address array 5 are indexed.

セレクタ2では命令用アドレスアレイ5,6の内容を更
新するとき以外は、ストアアドレス信号!1102を介
して入力されるストアアドレスを選択しているので、そ
のストアアドレスによる命令用アドレスアレイ5の索引
、すなわち命令用のキャッシュメモリの索引はほとんど
待たされることなく行われ、その索引結果が制御線10
3を介して制御回路8に出力される。
The selector 2 uses the store address signal! except when updating the contents of the instruction address arrays 5 and 6. 1102, the indexing of the instruction address array 5 using the store address, that is, the indexing of the instruction cache memory, is performed with almost no waiting, and the index result is used for control. line 10
3 to the control circuit 8.

また、セレクタ1では、通常、オペランドアドレス信号
線100を介して入力されるオペランドリードのアドレ
スが選択されているので、ストアアドレスによるオペラ
ンド用アドレスアレイ4の索引はオペランドリードのア
ドレスがとぎれるまで行えないが、オペランドリードは
命令リードのように先取りが多くないこと、すなわち使
用頻度が少ないためにストアアドレスによるオペランド
用アドレスアレイ4の索引が長く待たされることはない
In addition, since the selector 1 normally selects the operand read address that is input via the operand address signal line 100, indexing of the operand address array 4 using the store address cannot be performed until the operand read address stops. However, since operand reading does not involve as many pre-fetching operations as instruction reading does, that is, it is used less frequently, indexing of the operand address array 4 using a store address does not have to wait for a long time.

制御回路8は制御1i103を介して入力されるストア
アドレスによる命令用アドレスアレイ5の索引結果が、
このストアアドレスに対応するデータが命令用のキャッ
シュメモリに登録されていないことを示すときには、こ
のストアアドレスによるオペランド用アドレスアレイ4
の索引処理、すなわちオペランド用のキャッシュメモリ
の索引処理の終了を待って、制御線106によりストア
バッファ7に登録された次のストアコマンドの処理に移
るように制御する。
The control circuit 8 determines that the index result of the instruction address array 5 based on the store address input via the control 1i103 is
When indicating that the data corresponding to this store address is not registered in the instruction cache memory, the operand address array 4 according to this store address
Waiting for the completion of the indexing process of the cache memory for operands, control is performed via the control line 106 to proceed to processing of the next store command registered in the store buffer 7.

制御線103を介して入力されるストアアドレスによる
命令用アドレスアレイ5の索引結果が、このストアアド
レスに対応するデータが命令用のキャッシュメモリに登
録されていることを示すときには、制御回路8はオペラ
ンド用のキャッシュメモリおよび命令用のキャッシュメ
モリに対してストアアドレスにリード要求のアドレス以
上の優先度を与えるように指示し、制御線104,10
5によりセレクタ1.3でストアアドレス信号線102
を介して入力されるストアアドレスが選択されるように
制御する。これにより、該ストアアドレスの処理が行わ
れる。
When the index result of the instruction address array 5 based on the store address input via the control line 103 indicates that data corresponding to this store address is registered in the instruction cache memory, the control circuit 8 The control lines 104 and 10 instruct the cache memory for instructions and the cache memory for instructions to give the store address a higher priority than the address of the read request.
5, selector 1.3 selector stores address signal line 102
Controls the selection of the store address input via the . This causes the store address to be processed.

すなわち、ストアアドレスに対応するデータが命令用の
キャッシュメモリに登録されていなければ命令リード要
求の処理を止めることなくストアコマンドを処理し、ス
トアアドレスに対応するデータが命令用のキャッシュメ
モリに登録されていれば優先的にストアコマンドを処理
するように制御回路8により制御される。
In other words, if the data corresponding to the store address is not registered in the instruction cache memory, the store command is processed without stopping the processing of the instruction read request, and the data corresponding to the store address is registered in the instruction cache memory. If there is a store command, the control circuit 8 is controlled to process the store command preferentially.

このように、ストアバッファ7に登録されたスドアコマ
ンドのストアアドレスによる命令用のキャッシュメモリ
の索引を独立して行わせるために、命令用のキャッシュ
メモリに登録済みであるデータのブロックアドレスが格
納されている命令用アドレスアレイ6と同一の内容を保
持する命令用アドレスアレイ5を設け、ストアアドレス
による命令用アドレスアレイ5の索引結果に応じてオペ
ランド用のキャッシュメモリおよび命令用のキャッシュ
メモリに対する該ストアコマンドの処理を行うようにす
ることによって、キャッシュメモリへのリード要求の処
理を遅らせることなく、ストアバッファ7に登録された
ストアコマンドの処理遅れを回避することができる。
In this way, in order to independently index the instruction cache memory using the store address of the store command registered in the store buffer 7, the block address of data registered in the instruction cache memory is stored. An instruction address array 5 is provided that holds the same contents as the instruction address array 6 that is stored in the instruction address array 6, and the instruction address array 5 is provided with an instruction address array 5 that holds the same contents as the instruction address array 6. By processing the store command, it is possible to avoid a delay in processing the store command registered in the store buffer 7 without delaying the processing of the read request to the cache memory.

すなわち、ストアアドレスによる命令用のキャッシュメ
モリの索引を命令用アドレスアレイ5を用いて行うこと
により、リード要求の処理を止めることなくストアコマ
ンドの処理を行うことができ、ストアアドレスに対応す
るデータが命令用のキャッシュメモリに登録されていて
も、リード要求の処理よりも優先的にストアコマンドを
処理することができるので、ストアコマンドの処理遅れ
を生ずることはない。
That is, by using the instruction address array 5 to index the instruction cache memory using the store address, it is possible to process the store command without stopping the processing of the read request, and the data corresponding to the store address is Even if the command is registered in the instruction cache memory, the store command can be processed with priority over the read request, so there will be no delay in the processing of the store command.

また、ストアコマンドによるキャッシュメモリへの索引
要求が長く待たされることはなくなり、ストアバッファ
7に容量以上のストアコマンドが溜まることもなくなる
ので、演算処理を止めてストアバッファに登録されたス
トアコマンドを処理する必要もなくなる。よって、演算
処理の性能を向上させることができる 五皿座夏逮 以上説明したように本発明によれば、命令用のキャッシ
ュメモリに格納されたデータのアドレスを保持するアド
レスアレイにおける索引とは独立して、このアドレスア
レイと同一の内容を保持するアドレス保持手段によりス
トアバッファに格納されたストアコマンドのアドレスを
索引し、その索引結果に応じて命令用およびオペランド
用のキャッシュメモリに対するストアコマンドの処理を
行うようにすることによって、キャッシュメモリへのリ
ード要求の処理を遅らせることなく、ストアバッファに
登録されたストアコマンドの処理遅れを回避することが
でき、演算処理の性能を向上させることができるという
効果がある。
In addition, index requests to the cache memory by store commands will not have to wait for a long time, and store commands that exceed the capacity will not accumulate in the store buffer 7, so arithmetic processing will be stopped and store commands registered in the store buffer will be processed. There's no need to do that. Therefore, according to the present invention, it is possible to improve the performance of arithmetic processing.As explained above, according to the present invention, the address of the data stored in the instruction cache memory is independent of the index in the address array that holds the address of the data stored in the instruction cache memory. Then, the address of the store command stored in the store buffer is indexed by an address holding means that holds the same contents as this address array, and the store command is processed for the instruction and operand cache memories according to the index result. By doing this, it is possible to avoid delays in the processing of store commands registered in the store buffer without delaying the processing of read requests to the cache memory, and it is possible to improve the performance of arithmetic processing. effective.

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

第1図は本発明の一実施例の構成を示すブロック図であ
る。 主要部分の符号の説明 1〜3・・・・・・セレクタ 4・・・・・・オペランド用アドレスアレイ5.6・・
・・・・命令用アドレスアレイ7・・・・・・ストアバ
ッファ 8・・・・・・制御回路
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention. Explanation of symbols of main parts 1 to 3...Selector 4...Address array for operand 5.6...
...Instruction address array 7...Store buffer 8...Control circuit

Claims (1)

【特許請求の範囲】[Claims] (1)命令用およびオペランド用のキャッシュメモリと
、前記命令用のキャッシュメモリに格納されたデータの
アドレスを保持するアドレスアレイと、前記キャッシュ
メモリに書込まれるストアコマンドを格納するストアバ
ッファとを有する演算処理装置のストアバッファ制御方
式であって、前記アドレスアレイと同一の内容を保持す
るアドレス保持手段と、前記アドレスアレイにおける索
引とは独立して前記ストアバッファに格納された前記ス
トアコマンドのアドレスを前記アドレス保持手段により
索引する索引手段とを設け、前記索引手段の索引結果に
応じて前記キャッシュメモリに対する前記ストアコマン
ドの処理を行うようにしたことを特徴とするストアバッ
ファ制御方式。
(1) It has a cache memory for instructions and operands, an address array that holds addresses of data stored in the cache memory for instructions, and a store buffer that stores a store command to be written to the cache memory. A store buffer control method for an arithmetic processing unit, wherein the address holding means holds the same contents as the address array, and the address of the store command stored in the store buffer is stored independently of an index in the address array. 2. A store buffer control system, comprising: indexing means for indexing by said address holding means, and processing of said store command for said cache memory is performed in accordance with an index result of said indexing means.
JP63097886A 1988-04-20 1988-04-20 Storing buffer control system Pending JPH01269143A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63097886A JPH01269143A (en) 1988-04-20 1988-04-20 Storing buffer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63097886A JPH01269143A (en) 1988-04-20 1988-04-20 Storing buffer control system

Publications (1)

Publication Number Publication Date
JPH01269143A true JPH01269143A (en) 1989-10-26

Family

ID=14204232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63097886A Pending JPH01269143A (en) 1988-04-20 1988-04-20 Storing buffer control system

Country Status (1)

Country Link
JP (1) JPH01269143A (en)

Similar Documents

Publication Publication Date Title
JPH07113903B2 (en) Cache storage control method
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
US4547848A (en) Access control processing system in computer system
JPH05143451A (en) Data processor
JPH01269144A (en) Storing buffer control system
JP2000227895A (en) Device and method for transferring image data
JP2636564B2 (en) Move-in control method for cache memory
JPH05257807A (en) Cache memory controller
US6243822B1 (en) Method and system for asynchronous array loading
JPS6031647A (en) Data processor
JP2776388B2 (en) Storage control method and storage device
JPS62184560A (en) Input/output buffer control device
JPH0447350A (en) Main storage read/response control
JP2001229074A (en) Memory controller and information processor and memory control chip
JPS6031646A (en) Data processor
JPH03269650A (en) Buffer storage
JPH02178838A (en) Data processor
JPS62274349A (en) Data processing system
JPH01156849A (en) Memory access processor
JPH08166905A (en) Cache memory control method
JPS6055454A (en) Data transfer control system
JPH05241828A (en) Instruction processor
JPH04219843A (en) Store system of instruction cache
JPH02234246A (en) Controlling system for cache coincidence process
JPH06324940A (en) Method and device for controlling memory