JPH0713811B2 - Instruction prefetch method - Google Patents

Instruction prefetch method

Info

Publication number
JPH0713811B2
JPH0713811B2 JP13868692A JP13868692A JPH0713811B2 JP H0713811 B2 JPH0713811 B2 JP H0713811B2 JP 13868692 A JP13868692 A JP 13868692A JP 13868692 A JP13868692 A JP 13868692A JP H0713811 B2 JPH0713811 B2 JP H0713811B2
Authority
JP
Japan
Prior art keywords
instruction
request
prefetch
branch
instruction prefetch
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 - Fee Related
Application number
JP13868692A
Other languages
Japanese (ja)
Other versions
JPH05216665A (en
Inventor
秀明 藤巻
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 JP13868692A priority Critical patent/JPH0713811B2/en
Publication of JPH05216665A publication Critical patent/JPH05216665A/en
Publication of JPH0713811B2 publication Critical patent/JPH0713811B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、バッファストレージ(L
BS,GBS) を有するパイプライン制御の計算機システムに
おいて、分岐命令を処理するときの命令プリフェッチ方
法に関する。
The present invention relates to a buffer storage (L
The present invention relates to an instruction prefetch method when processing a branch instruction in a pipeline-controlled computer system having BS, GBS).

【0002】従来から、計算機システムの処理速度を向
上させる為に、パイプライン制御方法をとり、命令のオ
ーバラップ処理により、実効的な性能を向上させる方式
がよく知られているが、該命令のオーバラップの多重度
を上げると、分岐命令の実行時の上記パイプラインの乱
れによる性能の低下が問題となる。
Conventionally, there is well known a method of improving the effective performance by adopting a pipeline control method in order to improve the processing speed of a computer system and overlapping processing of instructions. Increasing the overlap multiplicity poses a problem of performance degradation due to disturbance of the pipeline during execution of branch instructions.

【0003】そこで、該分岐命令実行時にも、このパイ
プラインの乱れをできるだけ小さくする制御方法が要求
される。又、計算機システムの処理速度を向上させる為
に、演算装置と主記憶装置(MS)との間に、バッファスト
レージ(LBS,GBS) を持っている計算機システムにおいて
は、該演算装置内にも、複数段の命令バッファを設け、
プログラムの実行アドレスの分布の局所性に着目した命
令のプリフェッチが行われているが、プログラム内の分
岐命令の分岐先も、比較的に近くのアドレスであること
が多く、近年のメモリ素子の低価格化, 大容量化によ
り、比較的ムーブイン単位の大きいバッファストレージ
(GBS) の導入が容易になってきたことから、該分岐命令
直前の命令プリフェッチも好結果をもたらす場合が多く
なり、効果的な命令プリフェッチ方法が必要とされる。
Therefore, there is a demand for a control method for minimizing the disturbance of the pipeline even when the branch instruction is executed. In addition, in order to improve the processing speed of the computer system, in the computer system having a buffer storage (LBS, GBS) between the arithmetic unit and the main memory (MS), even in the arithmetic unit, Provide a multi-stage instruction buffer,
Instructions are prefetched with a focus on the locality of the distribution of program execution addresses. However, the branch destinations of branch instructions in programs are often at relatively close addresses, and memory elements in recent years are low. Buffer storage with a relatively large move-in unit due to price increase and large capacity
Since the introduction of (GBS) has become easier, the instruction prefetch immediately before the branch instruction often gives good results, and an effective instruction prefetch method is required.

【0004】[0004]

【従来の技術】図3, 図4は従来の命令プリフェッチ動
作を説明する図であって、図3は従来の命令プリフェッ
チの構成例を示し、図4は、該従来の命令プリフェッチ
動作をタイムチャートで示した図である。
2. Description of the Related Art FIGS. 3 and 4 are diagrams for explaining a conventional instruction prefetch operation. FIG. 3 shows a configuration example of a conventional instruction prefetch operation. FIG. 4 is a time chart of the conventional instruction prefetch operation. It is the figure shown by.

【0005】図3においては、バッファストレージを備
えた計算機システムとして、高速小容量のバッファスト
レージ (以下、LBS という) 11と, 中速大容量のバッフ
ァストレージ (以下、GBS という) 12の2階層のバッフ
ァストレージを備えた計算機システムの構成例を模式的
に示している。
In FIG. 3, as a computer system equipped with a buffer storage, there are two hierarchies of a high speed small capacity buffer storage (hereinafter referred to as LBS) 11 and a medium speed large capacity buffer storage (hereinafter referred to as GBS) 12. 1 schematically shows a configuration example of a computer system provided with a buffer storage.

【0006】先ず、演算装置(CPU) 2 の制御装置 20 か
ら命令フェッチ要求 2a が送出されると、LBS 制御部 1
1aが起動され、上記 LBS 11 内に当該命令を含むブロッ
ク (例えば、32バイト単位) が存在するかどうかが検索
され、該ブロックが存在すると、即、該命令が読み出さ
れ、演算装置(CPU) 2 内の命令バッファ 21 に格納さ
れ、該ブロックが存在しないときには、ムーブイン要求
が上位の GBS制御部 12aに送出され、該GBS 12から当該
ブロックが LBS 11 にムーブインされると共に、その先
頭番地の当該命令が読み出されて、上記命令バッファ 2
1 に格納されるように動作する。
First, when an instruction fetch request 2a is sent from the control unit 20 of the arithmetic unit (CPU) 2, the LBS control unit 1
1a is started, it is searched whether or not a block (for example, a unit of 32 bytes) including the instruction exists in the LBS 11, and when the block exists, the instruction is immediately read out and the arithmetic unit (CPU ) 2 is stored in the instruction buffer 21 and when the block does not exist, a move-in request is sent to the upper GBS control unit 12a, and the block is moved from the GBS 12 to the LBS 11 and the start address of the block is moved. The relevant instruction is read and the above instruction buffer 2
Operates as stored in 1.

【0007】該ブロックが GBS 12 にも存在しないとき
には、同じようにして、主記憶装置(MS) 1からムーブイ
ンされる。該命令バッファ 21 に格納されている命令
は、順次、読み出され、命令デコーダ 21aでデコードさ
れ、特定の演算を実行する。
When the block does not exist in GBS 12, it is moved in from main memory (MS) 1 in the same manner. The instructions stored in the instruction buffer 21 are sequentially read and decoded by the instruction decoder 21a to execute a specific operation.

【0008】パイプライン制御の計算機システムにおい
ては、図4の動作タイムチャートに示すごとく、一般
に、各命令は、デコードサイクル(D) と,オペランドア
ドレス計算サイクル(A) と, 命令実行サイクル(E) と,
コンディションコードチェックサイクル(C) と, 汎用レ
ジスタへの書き込みサイクル(W) とからなり、図示の如
く、該演算パイプラインにおいて、常に、何れかの命令
の演算サイクル(E) を実行しているように, 各命令がオ
ーバラップして処理されるように制御される。但し、命
令の種類によって、上記命令実行サイクル(E) が複数サ
イクルとなることがある。
In a pipeline-controlled computer system, each instruction generally has a decode cycle (D), an operand address calculation cycle (A), and an instruction execution cycle (E), as shown in the operation time chart of FIG. When,
It consists of a condition code check cycle (C) and a general register write cycle (W), and as shown in the figure, the operation pipeline (E) of any instruction is always executed in the operation pipeline. In addition, each instruction is controlled so that it is processed in an overlapping manner. However, the instruction execution cycle (E) may be multiple cycles depending on the type of instruction.

【0009】この命令の実行サイクル(E) の直前のタイ
ミング{例えば、図4の T2,T3}において、命令プリフ
ェッチ要求(PFRQ,RMSIP) 2b が、上記 LBS制御部 11aに
送出され、該実行中の命令の次の命令に対するプリフェ
ッチが行われ、上記命令バッファ 21 には、常に、複数
個の命令が格納され、効率の良い上記オーバラップ制御
が行われるように機能する。
At a timing (eg, T2, T3 in FIG. 4) immediately before the execution cycle (E) of this instruction, an instruction prefetch request (PFRQ, RMSIP) 2b is sent to the LBS control section 11a and is being executed. Is pre-fetched for the next instruction, and a plurality of instructions are always stored in the instruction buffer 21, which functions to perform the efficient overlap control.

【0010】[0010]

【発明が解決しようとする課題】然しながら、該命令が
分岐命令になると、上記 T3 のタイミングが分岐先アド
レス生成サイクル(SA)であり、次の T4 のタイミング
が、該分岐先命令の読み取りサイクル(RMSI)であるの
で、該 T4 のタイミングの最初の実行サイクル(E1)にお
いて、該分岐命令の分岐条件の判定を行い、分岐が決定
すると、同じサイクル(T4)において、図示されているよ
うに、命令バッファ 21 がクリアされ、次の T5 サイク
ルにおいて、分岐先の命令が当該命令バッファ 21 に設
定されデコードされる。
However, when the instruction becomes a branch instruction, the timing of T3 is the branch destination address generation cycle (SA), and the timing of the next T4 is the read cycle of the branch destination instruction (SA). RMSI), in the first execution cycle (E1) of the timing of the T4, the branch condition of the branch instruction is determined, and when the branch is determined, in the same cycle (T4), as shown in the figure, The instruction buffer 21 is cleared, and in the next T5 cycle, the branch destination instruction is set in the instruction buffer 21 and decoded.

【0011】そして、該従来方法においては、上記の命
令プリフェッチ要求 2b は、当該分岐命令の分岐先の命
令フェッチに悪影響を及ぼすとして、該分岐命令のデコ
ードサイクル(D) で分岐命令であることが認識された次
のサイクル(T3)において、例えば、上記命令のプリフェ
ッチ要求 2b の動作の内の、命令読み取りサイクル(RMS
IP) を抑止する (図4では、“X”で示す)等して、一
様に、該命令プリフェッチ要求 2b の抑止,或いは、キ
ャンセルをしていた。
In the conventional method, the instruction prefetch request 2b is a branch instruction in the decode cycle (D) of the branch instruction because it has an adverse effect on the instruction fetch of the branch destination of the branch instruction. In the next recognized cycle (T3), for example, the instruction read cycle (RMS
The IP) is suppressed (indicated by "X" in FIG. 4), and the instruction prefetch request 2b is uniformly suppressed or canceled.

【0012】従って、前述のように、一般に、プログラ
ム内の分岐命令の分岐先は、比較的近くのアドレスであ
ることが多く、特に、中速大容量の GBS 12 を持ってい
る計算機システムにおいては、該分岐命令の直前の命令
プリフェッチ要求 2b により、後続の該分岐命令の分岐
先の命令フェッチに対して、該 GBS 12,LBS 11への上記
命令プリフェッチ要求 2b によるムーブインが、先に実
行されることにより、好影響がある場合でも、該命令の
プリフェッチ要求 2b が、上記のように、一様にキャン
セルされてしまうと、該命令プリフェッチ要求 2b の有
効な利用ができないという問題があった。
Therefore, as described above, in general, the branch destination of a branch instruction in a program is often a relatively close address, especially in a computer system having a medium-speed / large-capacity GBS 12. By the instruction prefetch request 2b immediately before the branch instruction, the move-in by the instruction prefetch request 2b to the GBS 12, LBS 11 is executed first for the instruction fetch of the branch destination of the subsequent branch instruction. As a result, even if there is a favorable effect, if the prefetch request 2b of the instruction is uniformly canceled as described above, there is a problem that the instruction prefetch request 2b cannot be effectively used.

【0013】本発明は上記従来の欠点に鑑み、分岐命令
直前の命令プリフェッチ要求は、必ず実行し、該分岐命
令の分岐条件判定直後に、必要に応じてキャンセルする
手段を提供することを目的とするものである。
In view of the above-mentioned conventional drawbacks, it is an object of the present invention to provide a means for executing an instruction prefetch request immediately before a branch instruction without fail and canceling it as needed immediately after the branch condition of the branch instruction is judged. To do.

【0014】[0014]

【課題を解決するための手段】図1は、本発明の一実施
例をブロック図で示した図である。本発明においては、
主記憶装置(MS) 1と演算装置(CPU) 2 との間に、例え
ば、高速小容量のバッファストレージ(LBS) 11と、中速
大容量のバッファストレージ(GBS) 12とを持ち、更に、
命令先取り (プリフェッチ) 要求 2b に基づいて動作す
る命令プリフェッチ回路, 及び、命令バッファとを備え
たパイプライン制御の計算機システムにおいて、上記命
令プリフェッチ要求 2b によるムーブインで上記バッフ
ァストレージ(LBS 11,又は、GBS 12) に転送されてきた
ブロック中に、該分岐命令の分岐先の命令アドレス(タ
ーゲットフェッチアドレス)の命令が含まれているか否
かを判定する判定回路 23 を設けて、該判定回路 23
で、該分岐先の命令アドレスの命令が、該命令プリフェ
ッチ要求 2b によってムーブインされたブロック中に含
まれていることが判定された場合には、該命令プリフェ
ッチ要求 2b を有効とし、該分岐先の命令アドレスの命
令が、該命令プリフェッチ要求 2b によってムーブイン
されたブロック中に含まれていないことが判定された場
合には、該命令プリフェッチ要求 2b をキャンセルする
ように構成する。
FIG. 1 is a block diagram showing an embodiment of the present invention. In the present invention,
Between the main memory (MS) 1 and the arithmetic unit (CPU) 2, for example, has a high speed small capacity buffer storage (LBS) 11 and a medium speed large capacity buffer storage (GBS) 12, and further
In a pipeline-controlled computer system equipped with an instruction prefetch circuit that operates based on instruction prefetch request 2b, and an instruction buffer, the buffer storage (LBS 11, or GBS 11 12) is provided with a judgment circuit 23 for judging whether or not the instruction of the branch destination instruction address (target fetch address) of the branch instruction is included in the block transferred to
When it is determined that the instruction of the instruction address of the branch destination is included in the block moved in by the instruction prefetch request 2b, the instruction prefetch request 2b is validated and When it is determined that the instruction of the instruction address is not included in the block moved in by the instruction prefetch request 2b, the instruction prefetch request 2b is canceled.

【0015】[0015]

【作用】即ち、本発明によれば、主記憶装置(MS)と演算
装置(CPU) との間に、例えば、高速小容量のバッファス
トレージ(LBS) と,中速大容量のバッファストレージ(G
BS) とを持ち、更に、命令先取り(プリフェッチ)要求
に基づいて命令プリフェッチを行う回路,及び命令バッ
ファを持つパイプライン制御の計算機システムにおい
て、上記命令プリフェッチ要求によるムーブインで上記
バッファストレージ(LBS, 又は、GBS)に転送されてきた
ブロック中に、該分岐命令の分岐先の命令アドレス(タ
ーゲットフェッチアドレス)の命令が含まれているか否
かを判定する判定回路を設けて、該判定回路で、該分岐
先の命令アドレスの命令が、該命令プリフェッチ要求に
よってムーブインされたブロック中に含まれていること
が判定された場合には、該命令プリフェッチ要求を有効
とし、該分岐先の命令アドレスの命令が、該命令プリフ
ェッチ要求によってムーブインされたブロック中に含ま
れていないことが判定された場合には、該命令プリフェ
ッチ要求をキャンセルするようにしたものであるので、
分岐先命令のGBS,或いはLBS でのヒット率を向上させ、
当該計算機システムの性能を向上させる効果がある。
That is, according to the present invention, for example, a high speed small capacity buffer storage (LBS) and a medium speed large capacity buffer storage (GSS) are provided between the main memory (MS) and the arithmetic unit (CPU).
BS), a pipeline control computer system having an instruction prefetch circuit based on an instruction prefetch request and an instruction buffer, and the buffer storage (LBS, or , GBS) is provided with a judgment circuit for judging whether or not the instruction of the instruction address of the branch destination of the branch instruction (target fetch address) is included in the block transferred to the GBS). When it is determined that the instruction of the instruction address of the branch destination is included in the block moved in by the instruction prefetch request, the instruction prefetch request is validated, and the instruction of the instruction address of the branch destination is , It is determined that the block is not included in the block moved in by the instruction prefetch request. If the, since those that so as to cancel the instruction prefetch request,
Improve the hit rate in GBS or LBS of the branch destination instruction,
This has the effect of improving the performance of the computer system.

【0016】[0016]

【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1が本発明の一実施例のブロック図を示し
た図であり、図2は本発明による命令プリフェッチの動
作をタイムチヤートで示した図であり、図1における命
令プリフェッチキャンセル要求 2c と、該命令プリフェ
ッチキャンセル要求 2c を制御する為の判定回路 23,及
び関連機構が本発明を実施するのに必要な機能ブロック
である。尚、全図を通して同じ符号は同じ対象物を示し
ている。
Embodiments of the present invention will be described in detail below with reference to the drawings. FIG. 1 is a diagram showing a block diagram of one embodiment of the present invention, and FIG. 2 is a diagram showing an instruction prefetch operation according to the present invention in a time chart. The instruction prefetch cancel request 2c in FIG. The decision circuit 23 for controlling the instruction prefetch cancel request 2c and the related mechanism are the functional blocks necessary for implementing the present invention. The same reference numerals indicate the same objects throughout the drawings.

【0017】本発明を実施しても、LBS 11,GBS 12,及び
主記憶装置(MS) 1に対する命令フェッチ動作,及び命令
プリフェッチ要求に伴うムーブイン動作は特に変わるこ
とはないので省略し、ここでは、上記命令プリフェッチ
キャンセル要求 2c に対する制御動作を中心にして、本
発明による命令プリフェッチ方法を、図2のタイムチヤ
ートを参照しながら図1によって説明する。
Even if the present invention is carried out, the instruction fetch operation for the LBS 11, GBS 12, and the main memory (MS) 1 and the move-in operation associated with the instruction prefetch request are not particularly changed, and are omitted here. The instruction prefetch method according to the present invention will be described with reference to the time chart of FIG. 2 with reference to FIG. 1 focusing on the control operation for the instruction prefetch cancel request 2c.

【0018】先ず、本発明においては、分岐命令直前の
命令プリフェッチ要求 2b を必ず実行し、該命令プリフ
ェッチ要求 2b によるムーブイン動作を、判定回路 23
によって有効としたり,或いはキャンセルするように制
御する所に特徴がある。
First, in the present invention, the instruction prefetch request 2b immediately before the branch instruction is always executed, and the move-in operation according to the instruction prefetch request 2b is judged.
It is characterized in that it is controlled so as to be effective or canceled depending on.

【0019】図2の実施例においては、例えば、該分岐
命令直前の命令プリフェッチアドレス{即ち、命令プリ
フェッチ要求 2b に伴うムーブインで、GBS 12等に転送
されてきたブロックのアドレス}と,分岐先の命令アド
レス(ターゲットフェッチアドレス)とを比較する判定
回路 23 が設けられており、両者がGBS 12, 或いは LBS
11 上で同じブロック(64バイト/ 128 バイト/256
バイト,又は32バイト)に属することが、T4のタイミン
グで判定された場合には、上記命令プリフェッチキャン
セル要求 2c に対する付勢を抑止することにより、該分
岐命令直前の命令プリフェッチ要求 2b を有効とし、同
じブロックでないことが判定された場合には、GBS 12,
或いは LBS 11 へのムーブイン直前に、該命令プリフェ
ッチ動作をキャンセルするように制御する。{具体的に
は、命令プリフェッチキャンセル要求(PF CANCEL) 2cを
発行する。:図2参照} このように制御することにより、分岐命令直前の命令プ
リフェッチアドレスと,分岐先命令アドレス(ターゲッ
トフェッチアドレス)とが、例えば、GBS 12上で同じブ
ロックに属する場合には、該分岐先命令フェッチ要求
(SA) 以前に、GBS 12への命令プリフェッチ動作(PFRQ)
を開始することができ、結果的には分岐先命令のGBS 12
上でのヒット率を向上させることができる。
In the embodiment of FIG. 2, for example, the instruction prefetch address immediately before the branch instruction (ie, the address of the block transferred to GBS 12 or the like by the move-in accompanying the instruction prefetch request 2b) and the branch destination A decision circuit 23 that compares the instruction address (target fetch address) is provided, and both are GBS 12, or LBS.
11 same block (64 bytes / 128 bytes / 256
Byte, or 32 bytes) is determined at the timing of T4, the instruction prefetch request 2b immediately before the branch instruction is validated by suppressing the bias to the instruction prefetch cancel request 2c. If it is determined that they are not the same block, GBS 12,
Alternatively, the instruction prefetch operation is controlled to be canceled immediately before the move-in to the LBS 11. {Specifically, an instruction prefetch cancel request (PF CANCEL) 2c is issued. : See FIG. 2} By controlling in this way, if the instruction prefetch address immediately before the branch instruction and the branch destination instruction address (target fetch address) belong to the same block on GBS 12, for example, the branch is executed. Instruction prefetch operation to GBS 12 (PFRQ) before the previous instruction fetch request (SA)
Can be started, resulting in the branch target instruction GBS 12
The hit rate above can be improved.

【0020】このように、本発明は、分岐命令実行直前
の命令プリフェッチ要求を必ず実行しておき、該命令プ
リフェッチ要求に伴うGBS,或いはLBS へのムーブイン動
作を必要により抑止するのに、該命令プリフェッチ要求
をキャンセルする制御機構、例えば、命令の分岐先アド
レスの命令が、バッファストレージ(LBS, 又は、GBS)に
ムーブインされた命令プリフェッチ要求によるブロック
に含まれているか否かを判定する回路を設けて、該命令
プリフェッチ要求に対する有効,無効 (キャンセル) を
任意に制御できるようにした所に特徴がある。
As described above, according to the present invention, the instruction prefetch request immediately before the execution of the branch instruction is always executed, and the move-in operation to the GBS or LBS accompanying the instruction prefetch request is suppressed if necessary. A control mechanism for canceling the prefetch request, for example, a circuit for determining whether the instruction at the branch destination address of the instruction is included in the block by the instruction prefetch request that has been moved into the buffer storage (LBS, or GBS) is provided. It is characterized in that the valid / invalid (cancel) of the instruction prefetch request can be controlled arbitrarily.

【0021】尚、上記実施例においては、主記憶装置(M
S)と演算装置(CPU) との間に、高速小容量のバッファス
トレージ(LBS) と,中速大容量のバッファストレージ(G
BS)を設けた例で説明したが、本願発明は、このよう
な、多段構成のバッファストレージ(LBS,GBS) を備えた
計算機システムに限定されるものではなく、該LBS,GBS
のいずれかの1段構成の計算機システムであってもよい
ことはいう迄もないことである。
In the above embodiment, the main memory (M
S) and the arithmetic unit (CPU) between the high speed small capacity buffer storage (LBS) and the medium speed large capacity buffer storage (G
However, the present invention is not limited to a computer system having such a multi-stage buffer storage (LBS, GBS), and the LBS, GBS
It goes without saying that any one-stage computer system may be used.

【0022】[0022]

【発明の効果】以上、詳細に説明したように、本発明の
命令プリフェッチ方法は、主記憶装置(MS)と演算装置(C
PU) との間に、例えば、高速小容量のバッファストレー
ジ(LBS) と,中速大容量のバッファストレージ(GBS) と
を持ち、更に、命令先取り(プリフェッチ) 要求に基づ
いて、命令プリフェッチ動作を行う回路, 及び命令バッ
ファを持つパイプライン制御の計算機システムにおい
て、分岐命令の分岐先アドレスの命令が上記命令プリフ
ェッチ要求によるムーブインによって、LBS,GBS に転送
されてきたブロックに含まれているか否かを判定する判
定回路を設けて、上記判定回路の判定内容に基づいて、
命令プリキャンセル要求を制御する手段を設けることに
より、該命令プリフェッチ要求が有効と判断された時に
は、該分岐命令直前のプリフェッチ要求を有効とするよ
うにしたものであるので、分岐先命令のGBS,或いはLBS
でのヒット率を上げ、当該計算機システムの性能を向上
させる効果がある。
As described above in detail, the instruction prefetch method according to the present invention has a main memory (MS) and an arithmetic unit (C).
PU) has, for example, a high-speed small-capacity buffer storage (LBS) and a medium-speed large-capacity buffer storage (GBS), and further performs an instruction prefetch operation based on an instruction prefetch request. In a pipeline-controlled computer system that has a circuit to execute and an instruction buffer, check whether the instruction at the branch destination address of the branch instruction is included in the block transferred to LBS, GBS by move-in by the above instruction prefetch request. By providing a determination circuit for determination, based on the determination content of the determination circuit,
By providing a means for controlling the instruction pre-cancellation request, when the instruction pre-fetch request is determined to be valid, the pre-fetch request immediately before the branch instruction is validated. Or LBS
It has the effect of increasing the hit rate in and improving the performance of the computer system.

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

【図1】本発明の一実施例をブロック図で示した図FIG. 1 is a block diagram showing an embodiment of the present invention.

【図2】本発明による命令プリフェッチ動作をタイムチ
ャートで示した図
FIG. 2 is a diagram showing a time chart of an instruction prefetch operation according to the present invention.

【図3】従来の命令プリフェッチ動作を説明する図(そ
の1)
FIG. 3 is a diagram explaining a conventional instruction prefetch operation (No. 1).

【図4】従来の命令プリフェッチ動作を説明する図(そ
の2)
FIG. 4 is a diagram explaining a conventional instruction prefetch operation (part 2).

【符号の説明】[Explanation of symbols]

1 主記憶装置(MS) 11 バッファストレージ(LBS) 12 バッファストレージ(GBS) 11a LBS 制御部, 12a GBS 制御部 2 演算装置(CPU) 20 制御装置 2a 命令フェッチ要求 2b 命令プリフェッチ要求(PFRQ,RMSIP) 2c 命令プリフェッチキャンセル要求 21 命令バッファ, 23 判定回路, 1 Main memory (MS) 11 Buffer storage (LBS) 12 Buffer storage (GBS) 11a LBS control unit, 12a GBS control unit 2 Arithmetic unit (CPU) 20 Control unit 2a Instruction fetch request 2b Instruction prefetch request (PFRQ, RMSIP) 2c Instruction prefetch cancel request 21 Instruction buffer, 23 Judgment circuit,

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】主記憶装置(1) と演算装置(2) との間に、
バッファストレージ(11,12) とを持ち、更に、命令先取
り (プリフェッチ) 要求(2b)に基づいて動作する命令プ
リフェッチ回路, 及び、命令バッファとを備えたパイプ
ライン制御の計算機システムにおいて、 上記命令プリフェッチ要求(2b)によるムーブインで上記
バッファストレージに転送されてきたブロック中に、該
分岐命令の分岐先の命令アドレス(ターゲットフェッチ
アドレス)の命令が含まれているか否かを判定する判定
回路(23)を設けて、 該判定回路(23)で、該分岐先の命令アドレスの命令が、
該命令プリフェッチ要求(2b)によってムーブインされた
ブロック中に含まれていることが判定された場合には、
該命令プリフェッチ要求(2b)を有効とし、該分岐先の命
令アドレスの命令が、該命令プリフェッチ要求(2b)によ
ってムーブインされたブロック中に含まれていないこと
が判定された場合には、該命令プリフェッチ要求(2b)を
キャンセルすることを特徴とする命令プリフェッチ方
法。
1. A main memory device (1) and a computing device (2),
In a pipeline-controlled computer system that includes a buffer storage (11, 12) and an instruction prefetch circuit that operates based on an instruction prefetch (prefetch) request (2b), and an instruction buffer, the above instruction prefetch A determination circuit (23) that determines whether or not the block transferred to the buffer storage by the move-in by the request (2b) includes the instruction of the instruction address (target fetch address) of the branch destination of the branch instruction. And the decision circuit (23) determines that the instruction at the instruction address of the branch destination is
When it is determined that the block is moved in by the instruction prefetch request (2b),
When it is determined that the instruction prefetch request (2b) is valid and the instruction at the branch destination instruction address is not included in the block moved in by the instruction prefetch request (2b), the instruction An instruction prefetch method characterized by canceling a prefetch request (2b).
JP13868692A 1992-05-29 1992-05-29 Instruction prefetch method Expired - Fee Related JPH0713811B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13868692A JPH0713811B2 (en) 1992-05-29 1992-05-29 Instruction prefetch method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13868692A JPH0713811B2 (en) 1992-05-29 1992-05-29 Instruction prefetch method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP4582886A Division JPS62203236A (en) 1986-03-03 1986-03-03 Instruction prefetch system

Publications (2)

Publication Number Publication Date
JPH05216665A JPH05216665A (en) 1993-08-27
JPH0713811B2 true JPH0713811B2 (en) 1995-02-15

Family

ID=15227740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13868692A Expired - Fee Related JPH0713811B2 (en) 1992-05-29 1992-05-29 Instruction prefetch method

Country Status (1)

Country Link
JP (1) JPH0713811B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4393317B2 (en) 2004-09-06 2010-01-06 富士通マイクロエレクトロニクス株式会社 Memory control circuit

Also Published As

Publication number Publication date
JPH05216665A (en) 1993-08-27

Similar Documents

Publication Publication Date Title
EP0180725B1 (en) Instruction prefetch operation for branch instructions
US7797494B2 (en) Arithmetic processor, information processing apparatus and memory access method in arithmetic processor
EP0297943B1 (en) Microcode reading control system
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
JP3683248B2 (en) Information processing apparatus and information processing method
JP2526017B2 (en) Runtime delay reduction method and data processing system
JP2000056970A5 (en)
US6308242B1 (en) Apparatus for adaptively controlling a prefetch queue based on various flush conditions
JPH0713811B2 (en) Instruction prefetch method
JPH07306785A (en) Processor with branch instruction executing function and branch instruction control method
JPH10124312A (en) Central processor
JPS62203236A (en) Instruction prefetch system
JPH1153188A (en) Instruction cache control method
JPH0342723A (en) Data processor
JP2001273137A (en) Microprocessor
JPH08286914A (en) Memory controller
JPH0827718B2 (en) Information processing device
JPH01239638A (en) Information processor performing branch prediction
JPH0248733A (en) Information processor
JP2591325B2 (en) Branch control device
JPS63221427A (en) Information processor for branch estimation
JPH1145180A (en) Cache control system
JPH027128A (en) Information processor
JPH01126732A (en) Information processor
JPH10187531A (en) Prefetch system for cache memory

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19950808

LAPS Cancellation because of no payment of annual fees