JPH0552533B2 - - Google Patents
Info
- Publication number
- JPH0552533B2 JPH0552533B2 JP58248681A JP24868183A JPH0552533B2 JP H0552533 B2 JPH0552533 B2 JP H0552533B2 JP 58248681 A JP58248681 A JP 58248681A JP 24868183 A JP24868183 A JP 24868183A JP H0552533 B2 JPH0552533 B2 JP H0552533B2
- Authority
- JP
- Japan
- Prior art keywords
- osc
- operand
- store
- instruction
- read
- 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.)
- Expired - Lifetime
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は先行制御方式をとる情報処理装置に係
り、詳しくは、命令の実行に先立ちメリより先行
して読出す当該命令のオペランドが先行するスト
ア系命令によりメモリ上で変更される場合のオペ
ランドの再読出しを起動する制御手段に関する。[Detailed Description of the Invention] [Field of Application of the Invention] The present invention relates to an information processing device that employs a advance control method, and more specifically, the present invention relates to an information processing device that employs a advance control method, and more particularly, to a store in which an operand of an instruction is read out prior to execution of the instruction. The present invention relates to a control means for starting rereading of an operand when it is changed in memory by a system instruction.
本発明は先行制御方式をとる情報処理装置に係
り、詳しくは、命令の実行に先立ちメリより先行
して読出す当該命令のオペランドが先行するスト
ア系命令によりメモリ上デ変更される場合のオペ
ランドの再読出しを起動する制御手段に関する。
The present invention relates to an information processing device that employs a proactive control method, and more specifically, the present invention relates to an information processing device that uses a advance control method, and more particularly, the present invention relates to an information processing device that uses a advance control method. The present invention relates to a control means for starting rereading.
パイプライン制御方式の情報処理装置において
は、命令のデコード、オペランドの読出し、命令
の実行などの命令処理の各ステージが連続する命
令間でオーバラツプして進行する。したがつて、
後続の命令のオペランド読出しが先行の命令によ
るストアより先行するケースが生じてくる。命令
処理の順序性が要求されるアーキテクチヤのもと
で作られる情報処理装置では、先行する実行中ま
たは実行待ちの命令が変更しようとしている記憶
領域から、その変更前に後続の命令のオペランド
読出しを実行しようとする場合、この矛盾を検出
し、先行の命令による記憶領域の変更が完了する
まで、この後続の命令のオペランド読出しを遅ら
せ、順序性の矛盾解消後、オペランド読出しを行
うことが必要である。一般に、この処理はOSC
(Operand Store Compare)と呼ばれている。
OSCが起つた場合、後続の命令のオペランド読
出しは、OSC解消まで遅らせられるので、命令
のパイプライン処理が乱れ、性能が低下すること
になる。従つて、OSC処理に関しては、正確な
検出、およびOSCが解消した場合には遅らせら
れたオペランド読出しをできるだけ早く実行する
ことを要求される。
In a pipeline control type information processing apparatus, each stage of instruction processing such as instruction decoding, operand reading, and instruction execution progresses in an overlapping manner between consecutive instructions. Therefore,
A case may arise in which the operand read by a subsequent instruction precedes the store by a preceding instruction. In an information processing device manufactured under an architecture that requires sequential instruction processing, the operands of the subsequent instruction are read from the storage area that is being modified by the preceding instruction being executed or waiting to be executed. When attempting to execute this, it is necessary to detect this inconsistency, delay reading the operand of this subsequent instruction until the storage area change by the preceding instruction is completed, and then read the operand after resolving the ordering conflict. It is. Generally, this process is performed by OSC
(Operand Store Compare).
When an OSC occurs, operand reading for subsequent instructions is delayed until the OSC is resolved, which disrupts instruction pipeline processing and degrades performance. Therefore, with respect to OSC processing, accurate detection and delayed operand reading are required to be performed as soon as possible if the OSC clears.
以下、第1図によりOSC検出に係る従来の処
理方式を説明する。 Hereinafter, a conventional processing method related to OSC detection will be explained with reference to FIG.
第1図において、1は命令のオペランドアドレ
ス(一般には先頭アドレス)を計算するためのア
ドレス加算器である。オペランドアドレスは、例
えば命令のインデツクス値X、ベース値B、デイ
スプレースメント値Dを加算することにより求ま
り、線2を通してアドレスレジスタ3にセツトさ
れる。4は命令のオペランド長を入手するオペラ
ンド長制御回路である。オペランド長は、命令の
オペレーシヨンコードのみから定まる場合、命令
のオペランド長指定フイールドにより直接指定さ
れる場合、あるいは、それ以外に例えば命令の汎
用レジスタフイールドで指定される汎用レジスタ
におかれる場合、等があるが、いずれにしてもオ
ペランド長制御回路4の制御により入手される。 In FIG. 1, 1 is an address adder for calculating the operand address (generally the start address) of an instruction. The operand address is determined, for example, by adding the index value X, base value B, and displacement value D of the instruction, and is set in the address register 3 through line 2. 4 is an operand length control circuit that obtains the operand length of the instruction. The operand length may be determined only from the instruction's operation code, directly specified by the instruction's operand length specification field, or stored in a general-purpose register specified by the instruction's general-purpose register field, etc. However, in any case, it is obtained under the control of the operand length control circuit 4.
上記命令のオペランドアドレスとオペランド長
は命令のデコードに同期して確定し、線5,6を
通して7のオペランド長加算器に入力される。オ
ペランド長加算器7は、オペランドアドレスにそ
のオペランド長を加算するためのものである。 The operand address and operand length of the above instruction are determined in synchronization with the decoding of the instruction, and are input to the operand length adder 7 through lines 5 and 6. The operand length adder 7 is for adding the operand length to the operand address.
12−1〜12−nは先行する命令によるスト
アアドレスを格納するストアアドレスレジスタで
あり、各々アドレスレジスタ3およびオペランド
長加算器7の出力が線8,9を通して入力される
2組のアドレスレジスタで構成される。すなわ
ち、ストアアドレスレジスタ12−1〜12−n
は、各々、命令のストアするオペランドの先頭ア
ドレスおよび終了アドレスを格納し、各オペラン
ド毎に変更される記憶領域の区間を保持してい
る。13−1〜13−nはストアアドレスレジス
タ12−1〜12−nに対応したOSC検出回路
であり、フエツチとストアの各オペランドについ
て、ストアにより変更される記憶領域の区間及び
フエツチにより参照される記憶領域の区間を用い
てOSC検出が可能なように構成されている。1
0はOSCが検出された場合、必要な動作を起動
する制御回路である。 12-1 to 12-n are store address registers that store store addresses by preceding instructions, and are two sets of address registers into which the outputs of address register 3 and operand length adder 7 are input through lines 8 and 9, respectively. configured. That is, store address registers 12-1 to 12-n
each stores the start address and end address of the operand stored by the instruction, and holds a storage area section that is changed for each operand. 13-1 to 13-n are OSC detection circuits corresponding to store address registers 12-1 to 12-n, and for each operand of fetch and store, it detects the section of the storage area changed by store and referenced by fetch. It is configured so that OSC detection can be performed using a storage area section. 1
0 is a control circuit that initiates the necessary operations when an OSC is detected.
次に第1図の動作を説明する。オペランドのス
トアが必要な命令がデコードされた場合、このデ
コードに同期して計算されたストア用のオペラン
ドアドレス(先頭アドレス)はアドレスレジスタ
3、線5,8を経由して、また、同じくデコード
に同期してオペランド長制御回路4の制御の下で
オペランド長加算器7により計算された終了アド
レスは線9を経由して、各々ストアアドレスレジ
スタ12−1〜12−nの1つに順次登録され
る。この時、同時に該当ストアアドレスレジスタ
の有効ビツト(図示せず)をセツトし、以降
OSCの検出のための比較アドレスとして作用せ
しめる。また、この有効ビツトは命令のストア動
作のすべて、換言すれば命令が変更しようとする
記憶領域に対するすべてのストア動作が完了する
とリセツトされる。一方、オペランドのフエツチ
が必要な命令がデコードされた場合、フエツチ用
オペランドの先頭アドレスはアドレスレジスタ3
に求まり、終了アドレスも同様にオペランド長制
御回路4の制御の下でオペランド長加算器7によ
り計算される。 Next, the operation shown in FIG. 1 will be explained. When an instruction that requires an operand store is decoded, the store operand address (start address) calculated in synchronization with this decode is sent via address register 3, lines 5 and 8, and also to the decode. Synchronously, the end address calculated by the operand length adder 7 under the control of the operand length control circuit 4 is sequentially registered via line 9 in each one of the store address registers 12-1 to 12-n. Ru. At this time, the valid bit (not shown) of the corresponding store address register is set at the same time, and the
Act as a comparison address for OSC detection. Further, this valid bit is reset when all the store operations of the instruction, in other words, all the store operations for the storage area that the instruction intends to change, are completed. On the other hand, when an instruction that requires an operand fetch is decoded, the start address of the fetch operand is stored in the address register 3.
The end address is similarly calculated by the operand length adder 7 under the control of the operand length control circuit 4.
このフエツチ用オペランドの先頭アドレスと終
了アドレスは線8,11を経由してOSC検出回
路13−1〜13−nの入力となり、ストアアド
レスレジスタ12−1〜12−nに登録されてい
るストアの完了していないオペランドの先頭アド
レスと終了アドレスの間にあるか比較され、
OSC検出が行われる。もし、OSCが検出された
場合は、制御回路10に制御が移され、必要な動
作が起動される。 The start address and end address of this fetch operand are input to the OSC detection circuits 13-1 to 13-n via lines 8 and 11, and the store addresses registered in the store address registers 12-1 to 12-n are input to the OSC detection circuits 13-1 to 13-n. It is compared to see if it is between the start address and end address of the uncompleted operand,
OSC detection is performed. If an OSC is detected, control is transferred to the control circuit 10 and necessary operations are activated.
第3図は、第1図の制御回路10の構成例を示
す。OSC検出回路13−1〜13−nの出力線
14−1〜14−nをオアゲート32によりオア
し、オペランド読出し制御回路30の出力である
線22、すなわちオペランド読出しリクエストに
より、ラツチ33にセツトする。ラツト33の出
力である線34が“1”の時、オペランド読出し
制御回路30に対し、オペランド読出しを伴う後
続命令のデコードを抑止する。これは、ラツチ3
3の状態を保持する。すなわち、後続命令によつ
てラツチ33が不当に更新されることを抑止する
為である。ストア制御回路31は、ストア動作完
了信号を線24に出力し、ラツチ33をリセツト
する。線34が“1”の間、OSCを発生した後
続オペランドの読出しを抑止しておくが、線34
が“1”から、“0”に変化したことにより、該
オペランドの読出し起動される。該オペランドの
読出し時、本当は、OSCを発生した先行ストア
を行う命令の完了によつて起動されることが性能
上最適である。ところが、先行するストア命令は
複数個存在することがあるが、本従来技術では最
初に実行される先行ストア動作により後続オペラ
ンド読出しが起動される為、該読出しを実行した
時、再びOSCとなる可能性がある。これは、
OSCを発生した後続オペランド読出しが、複数
個存在しうる先行ストアのうち、コンフリクトを
発生した先行ストアを識別する機構を備えていな
いことによる。 FIG. 3 shows an example of the configuration of the control circuit 10 shown in FIG. The output lines 14-1 to 14-n of the OSC detection circuits 13-1 to 13-n are ORed by the OR gate 32, and set in the latch 33 by the line 22 which is the output of the operand read control circuit 30, that is, by the operand read request. . When the line 34, which is the output of the rat 33, is "1", the operand read control circuit 30 is inhibited from decoding a subsequent instruction that involves operand reading. This is Latch 3
Maintain state 3. That is, this is to prevent the latch 33 from being improperly updated by a subsequent instruction. Store control circuit 31 outputs a store operation complete signal on line 24 and resets latch 33. While the line 34 is “1”, reading of the subsequent operand that generated the OSC is inhibited.
When the operand changes from "1" to "0", reading of the operand is activated. When reading the operand, it is actually optimal in terms of performance to be activated upon completion of the instruction that performs the advance store that generated the OSC. However, although there may be multiple preceding store instructions, in this prior art, the subsequent operand read is activated by the first preceding store operation, so when the read is executed, it is possible that the OSC will become the OSC again. There is sex. this is,
This is because the subsequent operand read that caused the OSC does not have a mechanism to identify the preceding store that has caused the conflict among the possible plural preceding stores.
第4図は、本従来技術において、OSC発生時
に複数の先行するストアが存在する時に発生する
問題を例示したものである。D,A,B,E0,
E1,Wは命令パイプライン処理を示したもので、
Dは命令デコード、Aはアドレス計算、Bはバツ
フア記憶読出し、Tはデータの演算のユニツトへ
の転送、E0,E1は演算、Wはバツフア記憶への
ストアを示す。本例では、命令1がX番地へのス
トア、命令2がY番地へのストア、命令3がY番
地からのロードの場合と考える。 FIG. 4 illustrates a problem that occurs in the present prior art when a plurality of preceding stores exist when an OSC occurs. D, A, B, E 0 ,
E 1 and W indicate instruction pipeline processing,
D indicates instruction decoding, A indicates address calculation, B indicates buffer storage readout, T indicates data operation transfer to the unit, E 0 and E 1 indicate operation, and W indicates storage to buffer memory. In this example, assume that instruction 1 is a store to address X, instruction 2 is a store to address Y, and instruction 3 is a load from address Y.
第4図1は従来技術に基づく命令処理の流れを
示す。サイクル5で命令3によるY番地のバツフ
ア記憶読出しが行われるが、先行命令である命令
2による当該領域の更新が完了していない為、
OSCが検出され、読出し待ちとなる。本従来技
術では、サイクル7での命令1によるストア完了
をトリガとして命令3の読出しがサイクル8で起
動されるが、命令2によるY番地の更新は依然実
行されておらず、再度OSCとなる。但し、サイ
クル8で命令3のストアと命令3の読出しによる
バツフア記憶アクセスが競合するが、読出しが優
先して行われることを前提としている。これは、
読出しの遅れの方がパイプラインの遅れに対する
影響が大きく、性能向上の為、パイプライン処理
において、一般的に採用されている優先順位付け
である。命令3のオペランド読出しは、命令2の
ストア実行の次サイクル(サイクル10)で再度
実行され、この時初めてプログラムで規定された
データを読出すことができる。 FIG. 4 shows the flow of instruction processing based on the prior art. In cycle 5, instruction 3 reads the buffer memory at address Y, but since the update of the area by instruction 2, which is the preceding instruction, has not been completed,
OSC is detected and the device waits for reading. In this prior art, the reading of instruction 3 is started in cycle 8 using the completion of the store by instruction 1 in cycle 7 as a trigger, but the update of the Y address by instruction 2 has not yet been executed, and the OSC occurs again. However, in cycle 8, buffer memory accesses due to the store of instruction 3 and the read of instruction 3 conflict, but it is assumed that the read is performed with priority. this is,
Read delay has a greater influence on pipeline delay, and this is a prioritization system that is generally adopted in pipeline processing to improve performance. The operand read of instruction 3 is executed again in the next cycle (cycle 10) after the store execution of instruction 2, and the data specified by the program can be read for the first time.
第4図2は、本プログラムの理想的な動作例を
示したものである。これは、命令3のオペランド
読出しが、OSCを発生した命令2のストア動作
完了の次サイクルに実行される様、制御すること
が望ましいことを示している。 FIG. 4 2 shows an ideal example of the operation of this program. This indicates that it is desirable to control the operand read of instruction 3 so that it is executed in the cycle following the completion of the store operation of instruction 2 that generated the OSC.
第1図のOSC検出方式の特徴は、ストアアド
レスレジスタ12−1〜12−nにストアオペラ
ンドの開始アドレスと終了アドレスを登録し、ス
トアおよびフエツチのオペランドを、実際に更新
される記憶領域の区間と実際に参照される記憶領
域の区間で比較してOSCを検出することにより、
OSCの検出を精緻に行う点にある。一方、OSC
の処理効率の向上の為には、第4図2に示したよ
うに、OSCが解消された場合に遅らせられたオ
ペランドの読出しをできるだけ早く実行すること
が要求されるが、この点において従来技術は不十
分であつた。 The feature of the OSC detection method shown in FIG. 1 is that the start address and end address of the store operand are registered in the store address registers 12-1 to 12-n, and the store and fetch operands are stored in the section of the storage area that is actually updated. By comparing the actual referenced storage area and detecting the OSC,
The point is that OSC detection is performed precisely. On the other hand, OSC
In order to improve processing efficiency, it is required to read out the delayed operand as soon as possible when the OSC is cleared, as shown in FIG. was insufficient.
本発明の目的は、OSC検出回路による検出結
果を保持し、OSC解消後、該当オペランドの読
出しを直ちに行えるようにして、命令処理効率の
一層の向上を図つた先行制御方式の情報処理装置
を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide an information processing device using a proactive control method, which retains the detection results of an OSC detection circuit and allows the corresponding operand to be read immediately after the OSC is resolved, thereby further improving instruction processing efficiency. It's about doing.
命令のデコード後、実行の開始までの間、各オ
ペランド読出しに関連する情報を格納するレジス
タ群を、以下、オペランド読出しレジスタ群と呼
ぶ。
A group of registers that stores information related to each operand read after an instruction is decoded until the start of execution is hereinafter referred to as an operand read register group.
本発明では、ストアアドレスレジスタ群すわな
ちOSC検出回路群とオペランド読出しレジスタ
群のそれぞれに対応した2次元マトリクス構成の
ラツチ群(以下、OSCラツチ群と呼ぶ)を設け、
オペランド読出しリクエスト時に、OSC検出結
果を、その読出しリクエストにより起動されたオ
ペランド読出しレジスタに対応するOSCラツチ
群内のすべてのラツチにセツトする。一方、スト
ア動作完了時に、そのストア動作に係るストアア
ドレスレジスタに対応するOSCラツチ群のすべ
てのラツチをリセツトする。 In the present invention, a two-dimensional matrix-configured latch group (hereinafter referred to as an OSC latch group) is provided corresponding to each of the store address register group, that is, the OSC detection circuit group and the operand read register group,
Upon an operand read request, the OSC detection results are set in all latches in the OSC latch group corresponding to the operand read register activated by the read request. On the other hand, when a store operation is completed, all latches in the OSC latch group corresponding to the store address register related to the store operation are reset.
さらに、本発明では、オペランド読出しレジス
タ毎に対応するOSCラツチ群内のすべてのラツ
チの値を論理和して読出す手段を設け、この読出
し値をオペランド再読出し制御回路へ報告する。
この報告信号は、該当オペランド読出しリクエス
トに対してOSCを発生したすべてのストア動作
の完了後、“0”となる。 Further, in the present invention, means is provided for reading out the logical sum of the values of all the latches in the OSC latch group corresponding to each operand read register, and this read value is reported to the operand reread control circuit.
This report signal becomes "0" after all store operations that generated an OSC for the corresponding operand read request are completed.
これらの構成により、OSCの解消後、直ちに
オペランドをメモリ上から読出すことができ、ま
た、OSCを発生しても後続命令のオペランド読
出しリクエストを抑止しなくてもよく、命令の処
理効率の一層の向上がもたらされる。 With these configurations, operands can be read from memory immediately after the OSC is resolved, and even if an OSC occurs, there is no need to suppress operand read requests of subsequent instructions, further improving instruction processing efficiency. This results in an improvement in
第2図は本発明の一実施例を示すブロツク図
で、第1図の制御回路10に相当する。第2図に
おいて、線14−1〜14−nは第1図のOSC
検出回路13−1〜13−nのそれぞれに対応し
たOSC検出結果線である。OSCの検出は第1図
で説明した通りであるので、ここでは省略する。
15−11〜15−mnはOSCラツチ群、16−
1〜16−mはオア回路群、17はセレクタ、1
8はオペランド再読出し制御回路、19,20は
デコーダ、21はラツチ、30はオペランド読出
し制御回路、31はストア制御回路である。
FIG. 2 is a block diagram showing one embodiment of the present invention, and corresponds to the control circuit 10 in FIG. In Figure 2, lines 14-1 to 14-n are OSC in Figure 1.
These are OSC detection result lines corresponding to each of the detection circuits 13-1 to 13-n. Since the detection of the OSC is as explained in FIG. 1, it will be omitted here.
15-11 to 15-mn are OSC latch group, 16-
1 to 16-m are OR circuit groups, 17 is a selector, 1
8 is an operand reread control circuit, 19 and 20 are decoders, 21 is a latch, 30 is an operand read control circuit, and 31 is a store control circuit.
オペランド読出し制御回路30は、オペランド
読出しリクエストを線22に出力するとともに、
該オペランド読出しリクエストにより起動するオ
ペランド読出しレジスタ(図示せず)を示すポイ
ンタを線23に出力する。デコーダ19は、オペ
ランド読出しリクエスト線22が“1”のとき、
線23のポインタをデコードし、制御線群26−
1〜26−mの一つを“1”にする。制御線群2
6−1〜26−mはオペランド読出しレジスタ群
の各レジスタに対応し、制御線26−iの“1”
により第i番のオペランド読出しレジスタが起動
されることを示す(1≦i≦m)。 Operand read control circuit 30 outputs an operand read request to line 22, and
A pointer is output on line 23 indicating the operand read register (not shown) activated by the operand read request. When the operand read request line 22 is “1”, the decoder 19
The pointer on line 23 is decoded and the control line group 26-
Set one of 1 to 26-m to "1". Control line group 2
6-1 to 26-m correspond to each register of the operand read register group, and "1" of the control line 26-i
indicates that the i-th operand read register is activated (1≦i≦m).
ストア制御回路31は、ストア動作完了信号を
線24に出力するとともに、該ストアの属するス
トアアドレスレジスタ群(第1図の12−1〜1
2−n)の番号を示すポインタを線25に送出す
る。デコーダ20を、ストア動作完了信号線24
が“1”のとき線25のポインタをデコードし、
制御線27−j(1≦j≦n)に“1”を出力す
る。ストア動作完了信号線24は、ストアを行う
命令においてすべてのストア動作が完了した時
“1”となり、同時に対応するストアアドレスレ
ジスタ番号がポインタ線25に示される。 The store control circuit 31 outputs a store operation completion signal to the line 24, and also outputs a store address register group (12-1 to 12-1 in FIG. 1) to which the store belongs.
A pointer indicating the number 2-n) is sent out on line 25. The decoder 20 is connected to the store operation completion signal line 24.
When is “1”, decode the pointer on line 25,
"1" is output to the control line 27-j (1≦j≦n). The store operation completion signal line 24 becomes "1" when all store operations are completed in the store instruction, and at the same time, the corresponding store address register number is indicated on the pointer line 25.
OSCラツト群15−11〜15−mnは、OSC
検出結果を格納する為のラツチの集合である。こ
こで、OSCラツチ15−ij(1≦i≦m,1≦j
≦n)の添字jはストアアドレスレジスタ12−
j、すなわち、OSC検出回路13−jに対応し、
添字iはオペランド読出しレジスタiに対応す
る。OSCラツチ15−ijは、線26−iの“1”
信号により線14−jのOSC検出結果を登録し、
線27−jの“1”信号によりセツトされる。オ
ア回路16−1〜16−mは、オペランド読出し
レジスタ群に対応したm個のORゲートからな
る。ORゲート16−iは、n個のOSCラツチ1
5−i1〜15−inの論理和を出力する。 OSC rat groups 15-11 to 15-mn were OSC rats.
This is a collection of latches for storing detection results. Here, OSC latch 15-ij (1≦i≦m, 1≦j
≦n), the subscript j is the store address register 12-
j, that is, corresponds to the OSC detection circuit 13-j,
Subscript i corresponds to operand read register i. OSC latch 15-ij is "1" on line 26-i
Register the OSC detection result of line 14-j by the signal,
It is set by a "1" signal on line 27-j. The OR circuits 16-1 to 16-m are composed of m OR gates corresponding to the operand read register groups. The OR gate 16-i has n OSC latches 1
Outputs the logical sum of 5-i1 to 15-in.
ラツチ21はオペランド再読出し制御回路18
にOSCの有無状態を報告すべきオペランド読出
しに係わるオペランド読出しレジスタの番号を保
持する。セレクタ17は、ORゲート16−1〜
16−mのm個の出力よりラツチ21の値に対応
して1個を選択する回路であり、選択結果は線2
8を通してオペランド再読出し制御回路18に報
告される。 The latch 21 is the operand reread control circuit 18.
Holds the number of the operand read register related to operand read that should report the presence/absence status of the OSC. The selector 17 is an OR gate 16-1~
This is a circuit that selects one output from m outputs of 16-m according to the value of latch 21, and the selection result is shown on line 2.
8 to the operand reread control circuit 18.
次に、第2図の動作を説明する。オペランド読
出しの必要な命令がデコードされた場合、オペラ
ンド読出しリクエスト線22が“1”となり、起
動されたオペランド読出しレジスタの番号がポイ
ンタ線23に示される。このポインタ線23の値
がデコーダ19でデコードされ、制御線26−1
〜26−mの該当する線が“1”となる。例え
ば、オペランド読出しレジスタkが起動された場
合、制御線26−kが“1”となる。一方、先行
するすべてのストアを行う命令とこのオペランド
読出しとのOSCが第1図のOSC検出回路13−
1〜13−nにより検出される。OSC検出結果
はストアアドレスレジスタ12−1〜12−n対
応に線14−1〜14−nに出力され、それぞれ
OSCラツチ15−k1〜15−knに登録される。
例えば、このオペランド読出しレジスタkのオペ
ランド読出しとストアアドレスレジスタ12−l
に格納さているストア命令のアドレスの間で
OSCが発生したとすると、OSCラツチ15−kj
(1≦j≦n,j=≠l)には“0”がセツトさ
れ、OSCラツチ15−klに“1”がセツトされ
る。このとき、ラツチ21は値kをとり、ORゲ
ート16−kの出力がセレクタ17を通して線2
8に選択される。線28が“1”であると、オペ
ランド再読出し制御回路18において読出しが保
留され、実行待ち状態となる。この間に後続のオ
ペランド読出しを伴う命令がデコードされた場
合、オペランド読出し制御回路30は、オペラン
ド読出しリクエスト線22を“1”とし、起動さ
れたオペランド読出しレジスタの番号をポインタ
線23に出力して、OSC検出を開始せしめる。 Next, the operation shown in FIG. 2 will be explained. When an instruction requiring operand reading is decoded, the operand reading request line 22 becomes "1" and the number of the activated operand reading register is indicated on the pointer line 23. The value of this pointer line 23 is decoded by the decoder 19, and the value of the control line 26-1 is decoded by the decoder 19.
The corresponding line of ~26-m becomes "1". For example, when operand read register k is activated, control line 26-k becomes "1". On the other hand, the OSC of all preceding store instructions and this operand read is determined by the OSC detection circuit 13-
1 to 13-n. The OSC detection results are output to lines 14-1 to 14-n corresponding to store address registers 12-1 to 12-n, respectively.
Registered in OSC latches 15-k1 to 15-kn.
For example, read operand of operand read register k and store address register 12-l.
between the addresses of store instructions stored in
If OSC occurs, OSC latch 15−kj
"0" is set in (1≦j≦n, j=≠l), and "1" is set in the OSC latch 15-kl. At this time, latch 21 takes the value k, and the output of OR gate 16-k passes through selector 17 to line 2.
8 is selected. When the line 28 is "1", the operand reread control circuit 18 suspends reading and waits for execution. During this time, if an instruction involving a subsequent operand read is decoded, the operand read control circuit 30 sets the operand read request line 22 to "1", outputs the number of the activated operand read register to the pointer line 23, and Starts OSC detection.
一方、ストアアドレスレジスタ12−j(1≦
j≦n)に格納されたアドレスのストア系命令
は、プログラムで指定された命令の実行順序に従
つて順序実行される。ストアアドレスレジスタ1
2−lに格納された命令の実行が開始された後、
そのすべてのストア動作が完了した時、ストア動
作完了信号線24が“1”となる。この時、ポイ
ンタ線25はlを示し、デコーダ20により制御
線27−lが“1”となる。これにより、m個の
OSCラツチ15−1l〜15−mlがリセツトさ
れる。したがつて、線28が“1”から“0”へ
変化し、待ち状態となつていたオペランド読出し
が、オペランド再読出し制御回路18により、あ
らためて実行される。同時に、ラツチ21には次
に起動されたオペランド読出しレジスタの番号が
セツトされ、そのOSC検出結果がセレクタ17
で選択可能になる。 On the other hand, store address register 12-j (1≦
The store instructions at the addresses stored in j≦n are executed in order according to the instruction execution order specified by the program. Store address register 1
After execution of the instructions stored in 2-l starts,
When all the store operations are completed, the store operation completion signal line 24 becomes "1". At this time, the pointer line 25 indicates l, and the decoder 20 sets the control line 27-l to "1". As a result, m
OSC latches 15-11 to 15-ml are reset. Therefore, the line 28 changes from "1" to "0", and the operand readout that has been in a waiting state is executed again by the operand rereading control circuit 18. At the same time, the number of the next activated operand read register is set in the latch 21, and the OSC detection result is sent to the selector 17.
becomes selectable.
上記の例では、命令のオペランド読出しリクエ
スト時に1個の先行ストア命令とOSCが発生し
た場合について説明したが、複数の先行ストア命
令とOSCが発行した場合も同様である。ストア
命令のストア動作の完了に同期して対応する
OSCのラツチ15−ijが順序リセツトされ、OSC
を発生したすべてのストア動作が完了した時、線
28が“0”となり、オペランド読出しがあらた
めて実行される。 In the above example, a case has been described in which one preceding store instruction and OSC are issued at the time of an instruction operand read request, but the same applies to the case where a plurality of preceding store instructions and OSC are issued. Synchronize and respond to the completion of the store operation of a store instruction
The OSC latch 15-ij is reset in order and the OSC
When all the store operations that caused the .
本発明によれば、2次元マトリクス構成のラツ
チ群(OSC群)を設け、オペランド読出しリク
エスト時に、OSC検出結果を、そのオペランド
読出しリクエストに対応するOSCラツチ群内の
すべてのラツチにセツトし、一方、ストア動作完
了時に、そのストア動作に対応するOSCラツチ
群内のすべてのラツチをリセツトすることによ
り、OSCの解消後、直ちに該当オペランドをメ
モリ上から読出すことができ、即ち、第4図2の
理想的な動作を実現でき、命令の処理効率の向上
がもたらされ。さらに、2次元マトリクス構成の
OSCラツチ群を設けたことにより、先行のオペ
ランド読出し命令でOSCが発生し、そのオペラ
ンド読出しが保留されている期間にも、後続のオ
ペランド読出しを伴う命令のOSC検出を開始す
ることが可能で、この点からも命令の処理効率の
向上をもたらされる。
According to the present invention, a group of latches (OSC group) having a two-dimensional matrix configuration is provided, and when an operand read request is made, the OSC detection result is set to all latches in the OSC latch group corresponding to the operand read request. By resetting all the latches in the OSC latch group corresponding to the store operation when the store operation is completed, the corresponding operand can be read out from the memory immediately after the OSC is cleared, that is, as shown in FIG. This enables ideal operation and improves instruction processing efficiency. Furthermore, the two-dimensional matrix structure
By providing a group of OSC latches, it is possible to start OSC detection for a subsequent instruction with an operand read even during a period when an OSC occurs in a preceding operand read instruction and that operand read is pending. This also leads to an improvement in instruction processing efficiency.
第1図は従来の構成例を示すブロツク図、第2
図は本発明の一実施例のブロツク図、第3図は従
来技術の制御回路の構成例を示す図、第4図は従
来技術の問題点を説明する図である。
1……アドレス加算器、3……アドレスレジス
タ、4……オペランド長制御回路、7……オペラ
ンド長加算器、12−1〜12−n……ストアア
ドレスレジスタ群、13−1〜13−n……
OSC検出回路群、15−11〜15−mn……
OSCラツチ群、17……セレクタ、18……オ
ペランド再読出し制御回路、19,20……デコ
ーダ、30……オペランド読出し制御回路、31
……ストア制御回路。
Figure 1 is a block diagram showing a conventional configuration example, Figure 2 is a block diagram showing an example of a conventional configuration.
FIG. 3 is a block diagram of an embodiment of the present invention, FIG. 3 is a diagram showing an example of the configuration of a control circuit of the prior art, and FIG. 4 is a diagram illustrating problems of the prior art. 1... Address adder, 3... Address register, 4... Operand length control circuit, 7... Operand length adder, 12-1 to 12-n... Store address register group, 13-1 to 13-n ……
OSC detection circuit group, 15-11 to 15-mn...
OSC latch group, 17... Selector, 18... Operand reread control circuit, 19, 20... Decoder, 30... Operand read control circuit, 31
...Store control circuit.
Claims (1)
するn個の先行ストアアドレスレジスタと、 オペランド読出しリクエスト時に、該オペラン
ドフエツチアドレスを前記n個の先行ストアアド
レスレジスタの各先行ストアアドレスと比較し
て、記憶領域より先行して読出すオペランドが先
行するストア系命令により変更されること(以
下、OSCという)を検出するn個のOSC検出手
段と、 前記OSC検出手段の検出結果を先行するm個
のオヘランド読出しと先行するn個のストア系命
令のそれぞれに対応して保持するm×nのOSC
ラツチ群と、 ストア動作の完了時に、前記m×nのOSCラ
ツチ群のうち、当該ストア系命令に対応する
OSCラツチをリセツトする書込み制御手段と、 前記m×nのOSCラツチ群における各オペラ
ンド読出しに対応したn個のラツチの出力をそれ
ぞれ論理和するm個のオア回路と、 前記m個のオア回路のうち、次に実行すべきオ
ペランド読出しに対応したオア回路の出力を選択
するセレクタと、 前記選択されたオア回路の出力がOSCを示し
ている場合、それがリセツトされるまで当該オペ
ランド読出しを抑止する読出し制御手段とを有す
ることを特徴とする情報処理装置。[Scope of Claims] 1. An information processing device that adopts a proactive control method, comprising: n preceding store address registers that store store addresses of preceding store instructions; n OSC detection that compares with each preceding store address of n preceding store address registers to detect that the operand read in advance from the storage area is changed by a preceding store instruction (hereinafter referred to as OSC) an m×n OSC that holds the detection results of the OSC detection means corresponding to each of the m preceding Oherand reads and the n preceding store-related instructions;
a group of latches; upon completion of a store operation, one of the m×n OSC latch groups corresponding to the store instruction;
write control means for resetting the OSC latches; m OR circuits for ORing the outputs of the n latches corresponding to each operand read in the m×n OSC latch group; A selector that selects the output of the OR circuit corresponding to the next operand read to be executed, and, if the output of the selected OR circuit indicates OSC, suppresses the read of the operand until it is reset. 1. An information processing device comprising: readout control means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24868183A JPS60138642A (en) | 1983-12-27 | 1983-12-27 | information processing equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP24868183A JPS60138642A (en) | 1983-12-27 | 1983-12-27 | information processing equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60138642A JPS60138642A (en) | 1985-07-23 |
| JPH0552533B2 true JPH0552533B2 (en) | 1993-08-05 |
Family
ID=17181743
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24868183A Granted JPS60138642A (en) | 1983-12-27 | 1983-12-27 | information processing equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60138642A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2671161B2 (en) * | 1990-03-20 | 1997-10-29 | 富士通株式会社 | Register interference check method |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5240946B2 (en) * | 1972-09-06 | 1977-10-15 | ||
| JPS54150049A (en) * | 1978-05-18 | 1979-11-24 | Fujitsu Ltd | Pre-fetch order control system |
| JPS57113146A (en) * | 1980-12-29 | 1982-07-14 | Fujitsu Ltd | Instruction refetch system |
-
1983
- 1983-12-27 JP JP24868183A patent/JPS60138642A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60138642A (en) | 1985-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4827402A (en) | Branch advanced control apparatus for advanced control of a branch instruction in a data processing system | |
| US4584640A (en) | Method and apparatus for a compare and swap instruction | |
| JPH0527143B2 (en) | ||
| JPS60179851A (en) | Data processor | |
| US6760835B1 (en) | Instruction branch mispredict streaming | |
| JPS6215896B2 (en) | ||
| US5761467A (en) | System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field | |
| JPS59231652A (en) | Memory access overlap detection method | |
| JP3452771B2 (en) | Command control system and method | |
| JPH0552533B2 (en) | ||
| US4737908A (en) | Buffer memory control system | |
| JPS5991551A (en) | Instruction prefetching device forecasting address to be branched | |
| JP2783285B2 (en) | Information processing device | |
| JPS6236258B2 (en) | ||
| JP2812610B2 (en) | Pipeline control method | |
| JPS60108973A (en) | Method for finding the minimum value of array elements and element number of the minimum element | |
| JPS59183434A (en) | Prefetch control system of instruction | |
| JP3558481B2 (en) | Data processing device | |
| JP2001154845A (en) | Memory bus access control method after cache miss | |
| JPS63231627A (en) | Advanced control system | |
| JPH0475147A (en) | Time monitoring device in information processing system | |
| JPH10154072A (en) | Pipeline processor | |
| JP2576589B2 (en) | Virtual storage access control method | |
| JPH0238964B2 (en) | ||
| JPH10254698A (en) | Information processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |