JP2000029693A - Instruction cache device and control method therefor - Google Patents

Instruction cache device and control method therefor

Info

Publication number
JP2000029693A
JP2000029693A JP10200175A JP20017598A JP2000029693A JP 2000029693 A JP2000029693 A JP 2000029693A JP 10200175 A JP10200175 A JP 10200175A JP 20017598 A JP20017598 A JP 20017598A JP 2000029693 A JP2000029693 A JP 2000029693A
Authority
JP
Japan
Prior art keywords
instruction
branch
cache
address
external memory
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
JP10200175A
Other languages
Japanese (ja)
Inventor
Takakazu Takeuchi
孝和 竹内
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 Software Kobe Ltd
Original Assignee
NEC Software Kobe 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 NEC Software Kobe Ltd filed Critical NEC Software Kobe Ltd
Priority to JP10200175A priority Critical patent/JP2000029693A/en
Publication of JP2000029693A publication Critical patent/JP2000029693A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide an instruction cache device storing the instruction block of a non-branch instruction and the instruction block of a branch destination instruction to dedicated first and second instruction caches and surely hitting the branch destination instruction in the second instruction cache and a control method therefor. SOLUTION: This instruction cache device 1 is provided with a first cache 5 for storing the instruction block taken out from an external memory, a second cache 6 for taking out the instruction block of the branch destination instruction from the external memory and storing it, an instruction decoder 10 for discriminating whether the instruction of the first cache 5 or the instruction of the second cache 6 is a branching instruction or the non-branching instruction, an address generation means 11 for generating the branch destination instruction address, and the next address of the next instruction in the case of the non- branch instruction or when the branching by the branch instruction is not established, a branch destination address register 9 for setting the branch destination instruction address of the address generation means 11 and a next address register 7 for setting the next instruction address.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、命令キャッシュ
装置に関し、特に命令キャッシュを、後続命令の命令ブ
ロックを格納する第1のキャッシュと分岐命令の分岐先
命令の命令ブロックを格納する第2のキャッシュとを設
けて、分岐先命令のキャッシュヒット率を高める命令キ
ャッシュ装置及びその制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an instruction cache device, and more particularly, to an instruction cache having a first cache for storing an instruction block of a subsequent instruction and a second cache for storing an instruction block of a branch destination instruction of a branch instruction. And an instruction cache device for increasing the cache hit rate of branch destination instructions, and a control method therefor.

【0002】[0002]

【従来の技術】従来の技術に於いては、分岐命令を含む
命令ブロックを一つの命令キャッシュに格納している。
この為、分岐命令の分岐先命令が、命令キャッシュの上
書きによって、命令キャッシュから消失し、分岐先命令
の取り出しにおける命令キャッシュのミスヒットを増加
させている。そのため、分岐先命令が命令キャッシュで
ミスヒットしたとき、分岐先命令を外部メモリから取り
出す時間がかかるため、処理時間を増大させる問題があ
る。特に、外部メモリへのアクセスが、処理時間の上限
を決定するような「バスネック」となるシステムにおい
ては、分岐先命令のミスヒットによる処理時間の増大が
著しい。この問題に対する従来例の特開昭58−195
255号公報によれば、分岐命令の分岐先命令を先取り
して命令列を整列する技術が説明されている。命令列か
ら分岐命令を解読して抽出し、該分岐命令の分岐成立条
件を監視して分岐先アドレスにより先取りした分岐先命
令を命令列に整列させて格納する命令バッファレジスタ
を設け、該命令バッファレジスタから命令を順次に取り
出して実行する。分岐命令の分岐先命令を命令専用キャ
ッシュから先取りによって、命令実行が高速化される。
しかし、該公報では、命令列を格納する命令専用キャッ
シュは一つであるから、命令専用キャッシュに対する命
令ブロックの上書きによって、分岐先命令が命令専用キ
ャッシュから消失する問題が残る。
2. Description of the Related Art In the prior art, an instruction block including a branch instruction is stored in one instruction cache.
For this reason, the branch destination instruction of the branch instruction is lost from the instruction cache due to the overwriting of the instruction cache, and the number of miss hits of the instruction cache in fetching the branch destination instruction is increased. Therefore, when a branch destination instruction miss-hits in the instruction cache, it takes time to retrieve the branch destination instruction from the external memory, and thus there is a problem that the processing time is increased. In particular, in a system in which access to an external memory becomes a "bus neck" that determines the upper limit of the processing time, the processing time is significantly increased due to a miss hit of a branch destination instruction. To solve this problem, a conventional example of Japanese Patent Laid-Open No. 58-195
According to Japanese Patent Laid-Open No. 255-255, there is described a technique of prefetching a branch destination instruction of a branch instruction and aligning the instruction sequence. An instruction buffer register for decoding and extracting a branch instruction from the instruction sequence, monitoring a branch establishment condition of the branch instruction, and aligning and storing a branch destination instruction prefetched by a branch destination address in the instruction sequence; Instructions are sequentially fetched from registers and executed. By prefetching the branch destination instruction of the branch instruction from the instruction dedicated cache, instruction execution is speeded up.
However, in this publication, since there is only one instruction-only cache for storing an instruction sequence, there remains a problem that a branch destination instruction disappears from the instruction-only cache due to overwriting of the instruction-only cache with an instruction block.

【0003】[0003]

【発明が解決しようとする課題】従来の命令専用キャッ
シュでは、分岐先命令が該キャッシュから命令の上書き
によって消失するため、キャッシュのミスヒットが生
じ、速度の遅い外部メモリからバスを介して分岐先命令
を取り出すため、処理時間の増大が免れない。
In the conventional instruction-only cache, the branch destination instruction is lost by overwriting the instruction from the cache, so that a cache mishit occurs and the branch destination instruction is transferred from the slow external memory via the bus. Since instructions are taken out, an increase in processing time is unavoidable.

【0004】この発明の目的は、単一の命令キャッシュ
に格納していた命令ブロックを非分岐命令の命令ブロッ
クと分岐先命令の命令ブロックとをそれぞれ専用の第1
と第2の命令キャッシュとに格納することにより、分岐
先命令が後続命令の命令ブロックによって上書きされる
ことを防ぎ、分岐先命令を確実に命令キャッシュにヒッ
トさせることにある。
It is an object of the present invention to convert an instruction block stored in a single instruction cache into an exclusive first instruction block and a non-branch instruction instruction block.
By storing in the instruction cache and the second instruction cache, the branch instruction is prevented from being overwritten by the instruction block of the subsequent instruction, and the branch instruction is reliably hit in the instruction cache.

【0005】[0005]

【課題を解決するための手段】そのため、この発明の外
部メモリからブロック単位に命令を取り出して格納する
命令キャッシュを有し、前記外部メモリあるいは前記命
令キャッシュから次命令を取り出す命令キャッシュ装置
において、前記外部メモリから取り出した命令ブロック
を格納する第1のキャッシュと、前記外部メモリから取
り出される分岐命令の分岐先命令の命令ブロックを格納
する第2のキャッシュと、前記第1のキャッシュあるい
は外部メモリから取り出される命令または前記第2のキ
ャッシュから取り出される命令が、分岐命令であるかあ
るいは非分岐命令であるかを判別する命令デコーダと、
前記分岐命令の分岐先命令アドレスと前記分岐命令の分
岐不成立及び非分岐命令の次命令アドレスとを生成する
アドレス生成手段と、前記アドレス生成手段の分岐先命
令アドレスを設定する分岐先アドレスレジスタと、前記
アドレス生成手段の次命令アドレスを設定するネクスト
アドレスレジスタと、を備え、命令が分岐命令でかつ分
岐成立のとき、前記第2のキャッシュから分岐先命令を
取り出すことを特徴とする。
According to the present invention, there is provided an instruction cache device having an instruction cache for fetching and storing an instruction in block units from an external memory and fetching a next instruction from the external memory or the instruction cache. A first cache for storing an instruction block fetched from the external memory, a second cache for storing an instruction block of a branch destination instruction of a branch instruction fetched from the external memory, and a fetched cache from the first cache or the external memory An instruction decoder for determining whether an instruction to be taken or an instruction fetched from the second cache is a branch instruction or a non-branch instruction;
Address generation means for generating a branch destination instruction address of the branch instruction and a next instruction address of a branch not taken and a non-branch instruction of the branch instruction; a branch destination address register for setting a branch destination instruction address of the address generation means; A next address register for setting a next instruction address of the address generating means, wherein when the instruction is a branch instruction and the branch is taken, a branch destination instruction is fetched from the second cache.

【0006】更に、前記第1及び第2のキャッシュは、
命令を格納する命令アドレスと、前記命令アドレスにあ
る命令を格納する命令コードと、格納されている命令が
有効かあるいは無効かを示す有効ビットと、を含むエン
トリを前記命令ブロックに対応して有するバッファであ
ることを特徴とする。
Further, the first and second caches include:
An entry corresponding to the instruction block includes an instruction address for storing the instruction, an instruction code for storing the instruction at the instruction address, and a valid bit indicating whether the stored instruction is valid or invalid. It is a buffer.

【0007】更に、外部メモリからブロック単位に命令
を先取りして格納するプリフェッチバッファと命令キャ
ッシュとを有し、前記プリフェッチバッファまたは前記
命令キャッシュあるいは前記外部メモリから次命令を取
り出す命令キャッシュ装置において、前記外部メモリか
ら先取りした命令ブロックを格納するプリフェッチバッ
ファと、前記プリフェッチバッファに対する命令ブロッ
ク格納と並行して格納する、あるいは前記外部メモリか
ら取り出される命令ブロックを格納する第1のキャッシ
ュと、前記外部メモリから取り出される分岐命令の分岐
先命令の命令ブロックを格納する第2のキャッシュと、
前記プリフェッチバッファまたは第1のキャッシュまた
は第2のキャッシュあるいは外部メモリから取り出され
る命令が分岐命令であるかあるいは非分岐命令であるか
を判別する命令デコーダと、前記分岐命令の分岐先命令
アドレスと前記分岐命令の分岐不成立及び非分岐命令の
プリフェッチアドレスとを生成するアドレス生成手段
と、前記アドレス生成手段の分岐先命令アドレスを設定
する分岐先アドレスレジスタと、前記アドレス生成手段
のプリフェッチアドレスを設定するプリフェッチアドレ
スレジスタと、を備え、命令が分岐命令でかつ分岐成立
のとき、前記第2のキャッシュから分岐先命令を取り出
すことを特徴とする。
Further, in an instruction cache device having a prefetch buffer and an instruction cache for prefetching and storing instructions in block units from an external memory, and extracting the next instruction from the prefetch buffer or the instruction cache or the external memory, A prefetch buffer for storing an instruction block prefetched from an external memory, a first cache for storing an instruction block stored in parallel with the instruction block storage for the prefetch buffer, or for storing an instruction block retrieved from the external memory; A second cache for storing an instruction block of a branch destination instruction of a branch instruction to be fetched;
An instruction decoder for determining whether an instruction fetched from the prefetch buffer, the first cache, the second cache, or the external memory is a branch instruction or a non-branch instruction; a branch destination instruction address of the branch instruction; Address generation means for generating a prefetch address of a branch instruction not taken and a non-branch instruction; a branch destination address register for setting a branch destination instruction address of the address generation means; and a prefetch for setting a prefetch address of the address generation means. An address register, wherein when the instruction is a branch instruction and the branch is taken, the branch destination instruction is taken out from the second cache.

【0008】更に、前記プリフェッチバッファは、命令
を格納する命令アドレスと、前記命令アドレスにある命
令を格納する命令コードと、格納されている命令が有効
かあるいは無効かを示す有効ビットと、を含む複数のエ
ントリからなることを特徴とする。
Further, the prefetch buffer includes an instruction address for storing an instruction, an instruction code for storing an instruction at the instruction address, and a valid bit indicating whether the stored instruction is valid or invalid. It is characterized by comprising a plurality of entries.

【0009】更に、前記命令キャッシュ装置は、前記第
1のキャッシュに格納されている分岐先命令を前記第2
のキャッシュに移送する移送バスを有することを特徴と
する。
Further, the instruction cache device stores the branch destination instruction stored in the first cache in the second cache.
And a transfer bus for transferring the data to the cache.

【0010】この発明におけるプリフェッチバッファの
作用について説明すると、第1のキャッシュから直接命
令を取り出す場合、キャッシュにミスヒットしたときに
は、外部メモリから命令取り出しが終了するまで、デコ
ード以降の処理を待たせることが生じる。この待ち時間
が生じることを防ぐため、プリフェッチバッファを設け
る。プリフェッチバッファは、命令がデコーダに送られ
て、プリフェッチバッファに空きができる度に、第1の
キャッシュから命令の先取り(プリフェッチ)を行う。
プリフェッチバッファは複数のエントリで構成されるた
め、たとえ第1のキャッシュにミスヒットした場合にお
いても、デコード以降の処理を待たせることなく、安定
して命令を供給できる。
The operation of the prefetch buffer according to the present invention will be described. When an instruction is directly fetched from the first cache, if a cache miss occurs, processing after decoding is made to wait until the instruction fetch from the external memory is completed. Occurs. In order to prevent this waiting time from occurring, a prefetch buffer is provided. The prefetch buffer prefetches an instruction from the first cache (prefetch) every time an instruction is sent to the decoder and a space becomes available in the prefetch buffer.
Since the prefetch buffer is composed of a plurality of entries, even if a miss occurs in the first cache, instructions can be supplied stably without waiting for processing after decoding.

【0011】[0011]

【発明の実施の形態】この発明について、図面を参照し
て説明する。この発明の第1の実施の形態の構成を示す
図1を参照すると、命令キャッシュ装置1は、後続命令
の命令ブロックを格納する第1のキャッシュ5と、分岐
先命令ブロックを格納する第2のキャッシュ6と、次命
令アドレスを格納するネクストアドレスレジスタ7と、
分岐先命令アドレスを格納する分岐先アドレスレジスタ
9と、図示しない外部メモリから命令バス13を通じて
取り出される命令あるいは第1のキャッシュから命令バ
ス15を通じて取り出される命令または第2のキャッシ
ュ3から命令バス14を通じて取り出される分岐先命令
を解読する命令デコーダ10と、非分岐命令及び分岐命
令の分岐不成立時の次命令アドレスを命令アドレスに命
令長を加算して生成し、また分岐命令の分岐成立時の分
岐先アドレスを生成するアドレス生成手段11と、図示
しない外部メモリに対して、命令ブロックを取り出す命
令バス13と、次命令アドレスを外部メモリに送出する
ネクストアドレスバス17と、分岐先命令アドレスを外
部メモリに送出する分岐先アドレスバス18と、を備え
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described with reference to the drawings. Referring to FIG. 1 showing the configuration of the first embodiment of the present invention, an instruction cache device 1 includes a first cache 5 for storing an instruction block of a subsequent instruction and a second cache 5 for storing a branch destination instruction block. A cache 6, a next address register 7 for storing a next instruction address,
A branch destination address register 9 for storing a branch destination instruction address; an instruction fetched from an external memory (not shown) via the instruction bus 13; an instruction fetched from the first cache via the instruction bus 15; or an instruction fetched from the second cache 3 via the instruction bus 14 An instruction decoder 10 for decoding a branch target instruction to be fetched; a non-branch instruction and a next instruction address when a branch instruction is not taken, generated by adding an instruction length to the instruction address; An address generation means 11 for generating an address, an instruction bus 13 for extracting an instruction block to an external memory (not shown), a next address bus 17 for sending the next instruction address to the external memory, and a branch destination instruction address to the external memory. And a branch destination address bus 18 for sending.

【0012】第1及び第2のキャッシュ5,6のエント
リ構成を示す図2を参照すると、キャッシュのエントリ
80は、命令アドレス81と、命令コード82と、命令
の有効あるいは無効を示す有効ビット83とを含み、外
部メモリから取り出された命令ブロックの各命令を格納
するエントリで構成されるバッファである。
Referring to FIG. 2 showing an entry configuration of the first and second caches 5 and 6, an entry 80 of the cache includes an instruction address 81, an instruction code 82, and a valid bit 83 indicating whether the instruction is valid or invalid. And a buffer including an entry for storing each instruction of the instruction block fetched from the external memory.

【0013】この第1の実施の形態の動作を図1及び図
2を援用し、フローチャート図3を参照して説明する。
命令デコーダ10が命令の種別を判定し(工程22)、
該命令が分岐命令であるとき(工程23のY)、分岐が
成立するか不成立かを判定する(工程24)。該判定に
並行して、アドレス生成手段11が、分岐命令の分岐成
立時の分岐先命令アドレスと分岐命令の分岐不成立時及
び非分岐命令の次命令のネクストアドレスとを生成し
(工程231、233)、分岐先命令アドレスを分岐先
アドレスレジスタ9に、ネクストアドレスをネクストア
ドレスレジスタ7にそれぞれ設定する(工程232、2
34)。該分岐命令の分岐成立で(工程24のY)、分
岐先アドレスで第1のキャッシュ5及び第2のキャッシ
ュ6を検索し(工程25)、第2のキャッシュ6に分岐
先命令がヒットしたとき(工程26のY)、該分岐先命
令を命令バス14を使用して第2のキャッシュ6から取
り出し(工程28)、命令デコーダ10に渡す。
The operation of the first embodiment will be described with reference to FIGS. 1 and 2 and a flowchart of FIG.
The instruction decoder 10 determines the type of the instruction (Step 22),
If the instruction is a branch instruction (Y in step 23), it is determined whether the branch is taken or not taken (step 24). In parallel with the determination, the address generating means 11 generates a branch destination instruction address when the branch instruction is taken and a next address when the branch instruction is not taken and after the non-branch instruction (steps 231 and 233). ), The branch destination instruction address is set in the branch destination address register 9 and the next address is set in the next address register 7 (steps 232 and 2).
34). When the branch instruction is taken (Y in step 24), the first cache 5 and the second cache 6 are searched with the branch destination address (step 25), and when the branch destination instruction hits the second cache 6, (Y in step 26), the branch destination instruction is fetched from the second cache 6 using the instruction bus 14 (step 28) and passed to the instruction decoder 10.

【0014】第2のキャッシュ6がミスヒットし(工程
26のN)、かつ第1のキャッシュ5がミスヒットした
とき(工程27のN)、分岐先アドレスレジスタ9から
分岐先アドレスバス18を通じて外部メモリに分岐先命
令アドレスを出力して、外部メモリから分岐先命令を取
り出し、該当の命令ブロックを第2のキャッシュ6に格
納(工程291)、及び命令バス13を使用して命令デ
コーダ10に渡す(工程29)。第2のキャッシュ6が
ミスヒットし(工程26のN)、第1のキャッシュ5が
ヒットしたとき(工程27のY)、分岐先命令を第1の
キャッシュ5から取り出し、命令バス15を使用して命
令デコーダ10に渡し(工程30)、並行して外部メモ
リから分岐先命令の命令ブロックを取り出し、第2のキ
ャッシュ6に格納する(工程31)。命令デコーダ10
で、命令が分岐命令でない場合(工程23のN)、及び
分岐命令で(工程23のY)、かつ分岐不成立の場合
(工程24のN)、次命令取りだしに移り、第1のキャ
ッシュ5をネクストアドレスレジスタ7の次命令アドレ
スで検索し(工程33)、次命令がヒットしたとき(工
程34のY)、該命令を第1のキャッシュ5から取り出
し、命令バス15を使用して命令デコーダ10に渡す
(工程35)。次命令がミスヒットしたとき(工程34
のN)、ネクストアドレスバス17を通じて、外部メモ
リから次命令を取り出して、第1のキャッシュ5に格納
し(工程36)、同時に該命令を命令バス13を使用し
て命令デコーダに渡す。
When the second cache 6 miss-hits (N in step 26) and the first cache 5 misses (N in step 27), the external address is transferred from the branch destination address register 9 through the branch destination address bus 18. The branch destination instruction address is output to the memory, the branch destination instruction is fetched from the external memory, the corresponding instruction block is stored in the second cache 6 (step 291), and passed to the instruction decoder 10 using the instruction bus 13. (Step 29). When the second cache 6 misses (N in step 26) and the first cache 5 hits (Y in step 27), the branch destination instruction is fetched from the first cache 5 and the instruction bus 15 is used. The instruction block is passed to the instruction decoder 10 (step 30), and the instruction block of the branch destination instruction is fetched from the external memory in parallel and stored in the second cache 6 (step 31). Instruction decoder 10
If the instruction is not a branch instruction (N in step 23), and if the instruction is a branch instruction (Y in step 23) and the branch is not taken (N in step 24), the process proceeds to the next instruction fetch, and the first cache 5 is stored. The next instruction is searched by the next instruction address of the next address register 7 (step 33). When the next instruction is hit (Y in step 34), the instruction is fetched from the first cache 5, and the instruction decoder 10 is used by using the instruction bus 15. (Step 35). When the next instruction misses (step 34)
N), the next instruction is fetched from the external memory through the next address bus 17 and stored in the first cache 5 (step 36), and at the same time, the instruction is passed to the instruction decoder using the instruction bus 13.

【0015】次に、この発明の第2の実施の形態を説明
する。第2の実施の形態の構成を示す図4を参照する
と、命令キャッシュ装置2は、図1の命令キャッシュ装
置1にプリフェッチバッファ8及び命令バス12,1
9,20が追加され、またネクストアドレスレジスタ7
及びネクストアドレスバス17に代わりプリフェッチア
ドレスレジスタ4及びプリフェッチアドレスバス50が
追加される。第1のキャッシュ5のミスヒット時、図示
しない外部メモリから取り出される命令ブロックが第1
のキャッシュ5に格納されると並行して命令バス12を
通じてプリフェッチバッファ8に格納され、第1のキャ
ッシュ5のヒット時には、第1のキャッシュ5から取り
出された命令が命令バス19を使用して、プリフェッチ
バッファ8に格納される。プリフェッチバッファ8は、
命令を先取り格納するレジスタファイルである。
Next, a second embodiment of the present invention will be described. Referring to FIG. 4 showing the configuration of the second embodiment, the instruction cache device 2 includes a prefetch buffer 8 and instruction buses 12, 1 in the instruction cache device 1 of FIG.
9 and 20 are added, and the next address register 7
A prefetch address register 4 and a prefetch address bus 50 are added instead of the next address bus 17. When the first cache 5 misses, the instruction block fetched from the external memory (not shown)
Is stored in the prefetch buffer 8 via the instruction bus 12 in parallel with the instruction stored in the cache 5, and when the first cache 5 hits, the instruction fetched from the first cache 5 uses the instruction bus 19, It is stored in the prefetch buffer 8. The prefetch buffer 8
This is a register file for prefetching and storing instructions.

【0016】この第2の実施の形態の命令キャッシュ装
置2の動作を、プリフェッチバッファ8から命令を取り
出した後のフローチャート図5と、第1のキャッシュ5
及びプリフェッチバッファ8への命令格納動作を示すフ
ロー図6を参照し、図4を援用して説明する。次命令を
プリフェッチバッファ8より取り出し(工程51)、命
令バス20を使用して、命令デコーダ10に出力し、該
命令が分岐命令であるかあるいは非分岐命令であるかを
デコードし(工程52)、判定する(工程53)。該判
定に並行して、分岐命令の分岐先命令アドレスを生成し
(工程531)、該分岐命令の分岐不成立と非分岐命令
とに対するプリフェッチアドレスを生成し(工程53
3)、それぞれ分岐先アドレスレジスタ9とプリフェッ
チアドレスレジスタ4に設定する(工程532、53
4)。該命令が分岐命令で(工程53のY)、かつ分岐
成立のとき(工程54のY)、分岐先命令アドレスで第
1及び第2のキャッシュ5、6を検索し、並行してプリ
フェッチバッファ8の命令を無効にする(工程55)。
該検索で第2のキャッシュ6がヒットしたとき(工程5
6のY)、命令バス14を使用して、分岐先命令を第2
のキャッシュ6から取り出して命令デコーダ10に渡す
(工程58)。該検索で第2のキャッシュ6がミスヒッ
トで(工程56のN)、かつ第1のキャッシュ5がミス
ヒットしたとき(工程57のN)、外部メモリから命令
バス13を使用して、分岐先命令を取り出し命令デコー
ダに渡し、該命令の命令ブロックを第2のキャッシュ6
に格納する(工程591)。該検索で、第2のキャッシ
ュ6がミスヒットし(工程56のN)、かつ第1のキャ
ッシュ5がヒットしたとき(工程57のY)、第1のキ
ャッシュ5から命令バス15を使用して、分岐先命令を
取り出して命令デコーダ10に送付し(工程60)、並
行して外部メモリから分岐先命令を取り出し(工程60
1)、第2のキャッシュ6に格納する(工程602)。
命令デコーダ10の判定で、命令が非分岐命令のとき
(工程53のN)、あるいは分岐命令の分岐不成立のと
き(工程54のN)、プリフェッチバッファ8から次命
令の取り出しを行う(工程51)。プリフェッチバッフ
ァ8から次命令の取り出しにおいて、図6に示すよう
に、プリフェッチバッファ8は、空きエントリがあるか
否かを常に判定し、空きがあるとき(工程62のY)、
プリフェッチレジスタ4のアドレスに基づいて、第1の
キャッシュ5を検索し(工程63)、ヒットしたとき
(工程64のY)、第1のキャッシュ5からプリフェッ
チ先命令を取り出し(工程66)、命令バス19を使用
してプリフェッチバッファ8に格納する(工程68)。
該検索で第1のキャッシュ5がミスヒットしたとき(工
程64のN)、外部メモリからプリフェッチアドレスバ
ス50を通じて、先取り命令の命令ブロックを取り出し
(工程65)、該命令ブロックを第1のキャッシュ5及
びプリフェッチバッファ8に格納する(工程67)。
The operation of the instruction cache device 2 according to the second embodiment will be described with reference to the flowchart in FIG.
FIG. 4 will be described with reference to FIG. 6 and a flowchart showing the operation of storing an instruction in the prefetch buffer 8. The next instruction is fetched from the prefetch buffer 8 (step 51), output to the instruction decoder 10 using the instruction bus 20, and decoded whether the instruction is a branch instruction or a non-branch instruction (step 52). Is determined (step 53). In parallel with the determination, a branch destination instruction address of the branch instruction is generated (step 531), and a prefetch address for the branch not taken and the non-branch instruction of the branch instruction is generated (step 531).
3) Set the branch destination address register 9 and the prefetch address register 4 respectively (steps 532 and 53)
4). When the instruction is a branch instruction (Y in step 53) and the branch is taken (Y in step 54), the first and second caches 5 and 6 are searched with the branch destination instruction address, and the prefetch buffer 8 Is invalidated (step 55).
When the second cache 6 is hit in the search (step 5
6), using the instruction bus 14 to transfer the branch destination instruction to the second
From the cache 6 and passed to the instruction decoder 10 (step 58). In the search, when the second cache 6 has a mishit (N in step 56) and when the first cache 5 has a mishit (N in step 57), the branch destination is determined using the instruction bus 13 from the external memory. The instruction is fetched and passed to the instruction decoder, and the instruction block of the instruction is stored in the second cache 6.
(Step 591). In the search, when the second cache 6 misses (N in step 56) and the first cache 5 hits (Y in step 57), the first cache 5 uses the instruction bus 15 Then, the branch destination instruction is fetched and sent to the instruction decoder 10 (step 60), and the branch destination instruction is fetched from the external memory in parallel (step 60).
1) and store it in the second cache 6 (step 602).
When the instruction decoder 10 determines that the instruction is a non-branch instruction (N in step 53) or when the branch instruction is not taken (N in step 54), the next instruction is fetched from the prefetch buffer 8 (step 51). . When the next instruction is fetched from the prefetch buffer 8, as shown in FIG. 6, the prefetch buffer 8 always determines whether or not there is a free entry, and when there is a free entry (Y in step 62),
The first cache 5 is searched based on the address of the prefetch register 4 (step 63), and when a hit occurs (Y in step 64), the prefetch destination instruction is fetched from the first cache 5 (step 66), and the instruction bus 19 and store it in the prefetch buffer 8 (step 68).
When the first cache 5 misses in the search (N in step 64), the instruction block of the prefetch instruction is fetched from the external memory via the prefetch address bus 50 (step 65), and the instruction block is stored in the first cache 5 And stored in the prefetch buffer 8 (step 67).

【0017】次に、第3の実施の形態を図7を参照して
説明する。命令キャッシュ装置3は、図4の第2の実施
形態に、第1のキャッシュ5から第2のキャッシュ6に
次命令を移送する移送バス21を付加する変形を施す。
図5を参照すると、命令デコーダ10の命令が分岐命令
で、かつ分岐成立するとき(工程54のY)、第1及び
第2のキャッシュ5、6の検索で(工程55)、第2の
キャッシュ6がミスヒットし(工程56のN)、第1の
キャッシュ5がヒットしたとき(工程57のY)、第1
のキャッシュ5から第2のキャッシュ6に移送バス21
を通じて分岐先命令を移送し(工程603)、第2のキ
ャッシュ6に格納することによって(工程604)、外
部メモリの命令取り出しを減らすことができる。
Next, a third embodiment will be described with reference to FIG. The instruction cache device 3 is a modification of the second embodiment of FIG. 4 in which a transfer bus 21 for transferring the next instruction from the first cache 5 to the second cache 6 is added.
Referring to FIG. 5, when the instruction of the instruction decoder 10 is a branch instruction and the branch is taken (Y in step 54), the search of the first and second caches 5 and 6 (step 55) causes the second cache 6 misses (N in step 56) and when the first cache 5 hits (Y in step 57), the first cache 5
Transfer bus 21 from the first cache 5 to the second cache 6
By transferring the branch destination instruction through (step 603) and storing it in the second cache 6 (step 604), the number of instructions fetched from the external memory can be reduced.

【0018】[0018]

【発明の効果】以上の説明によれば、この発明は外部メ
モリから取り出した命令の実行で、命令が分岐命令のと
き、分岐先命令の命令ブロックを第2のキャッシュに格
納して保持することにより、命令実行でキャッシュに生
じた命令ブロックの置き換えにより、分岐先命令がキャ
ッシュから消えることを防止し、分岐先命令のキャッシ
ュヒット率を向上できる。
According to the above description, according to the present invention, when an instruction fetched from an external memory is executed and the instruction is a branch instruction, the instruction block of the branch destination instruction is stored and held in the second cache. Accordingly, it is possible to prevent the branch destination instruction from disappearing from the cache by replacing the instruction block generated in the cache by the instruction execution, and to improve the cache hit rate of the branch destination instruction.

【0019】更に、命令実行で分岐命令が分岐成立する
とき、第2のキャッシュから分岐先命令を取り出すこと
ができるため、外部メモリに対する命令取り出しを減ら
し、バスに対する負荷を軽減する。
Further, when a branch instruction is taken by instruction execution, a branch destination instruction can be fetched from the second cache. Therefore, fetching of instructions from the external memory is reduced, and the load on the bus is reduced.

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

【図1】この発明の第1の実施の形態を示す図である。FIG. 1 is a diagram showing a first embodiment of the present invention.

【図2】図1の第1及び第2のキャッシュのエントリを
例示する図である。
FIG. 2 is a diagram exemplifying entries in first and second caches in FIG. 1;

【図3】第1の実施例の形態における動作の流れを示す
フローチャートである。
FIG. 3 is a flowchart illustrating a flow of an operation according to the first exemplary embodiment;

【図4】この発明の第2の実施の形態を示す図である。FIG. 4 is a diagram showing a second embodiment of the present invention.

【図5】第2の実施の形態におけるプリフェッチバッフ
ァから命令取り出し後のフローチャートである。
FIG. 5 is a flowchart after fetching an instruction from a prefetch buffer according to the second embodiment;

【図6】第2の実施の形態における第1のキャッシュ及
びプリフェッチバッファへの命令格納動作のフローチャ
ートである。
FIG. 6 is a flowchart illustrating an operation of storing an instruction in a first cache and a prefetch buffer according to a second embodiment;

【図7】この発明の第3の実施例の形態を示す図であ
る。
FIG. 7 is a diagram showing an embodiment of a third embodiment of the present invention.

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

1 命令キャッシュ装置 2 命令キャッシュ装置 3 命令キャッシュ装置 4 プリフェッチアドレスレジスタ 5 第1のキャッシュ 6 第2のキャッシュ 7 ネクストアドレスレジスタ 8 プリフェッチバッファ 9 分岐先アドレスレジスタ 10 命令デコーダ 11 アドレス生成手段 12乃至15 命令バス 17 ネクストアドレスバス 18 分岐先アドレスバス 19 命令バス 20 命令バス 21 移送バス 50 プリフェッチアドレスバス 80 キャッシュのエントリ 81 命令アドレス 82 命令コード 83 有効ビット REFERENCE SIGNS LIST 1 instruction cache device 2 instruction cache device 3 instruction cache device 4 prefetch address register 5 first cache 6 second cache 7 next address register 8 prefetch buffer 9 branch destination address register 10 instruction decoder 11 address generation means 12 to 15 instruction bus 17 Next address bus 18 Branch destination address bus 19 Instruction bus 20 Instruction bus 21 Transfer bus 50 Prefetch address bus 80 Cache entry 81 Instruction address 82 Instruction code 83 Valid bit

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 外部メモリからブロック単位に命令を取
り出して格納する命令キャッシュを有し、前記外部メモ
リあるいは前記命令キャッシュから次命令を取り出す命
令キャッシュ装置において、 前記外部メモリから取り出した命令ブロックを格納する
第1のキャッシュと、 前記外部メモリから取り出される分岐命令の分岐先命令
の命令ブロックを格納する第2のキャッシュと、 前記第1のキャッシュあるいは外部メモリから取り出さ
れる命令または前記第2のキャッシュから取り出される
命令が、分岐命令であるかあるいは非分岐命令であるか
を判別する命令デコーダと、 前記分岐命令の分岐先命令アドレスと前記分岐命令の分
岐不成立及び非分岐命令の次命令アドレスとを生成する
アドレス生成手段と、 前記アドレス生成手段の分岐先命令アドレスを設定する
分岐先アドレスレジスタと、 前記アドレス生成手段の次命令アドレスを設定するネク
ストアドレスレジスタと、を備え、 命令が分岐命令でかつ分岐成立のとき、前記第2のキャ
ッシュから分岐先命令を取り出すことを特徴とする命令
キャッシュ装置。
1. An instruction cache device for fetching and storing instructions in block units from an external memory and fetching the next instruction from the external memory or the instruction cache, wherein the instruction block fetched from the external memory is stored. A first cache that stores an instruction block of a branch destination instruction of a branch instruction that is fetched from the external memory; and an instruction that is fetched from the first cache or the external memory or the second cache. An instruction decoder for determining whether the fetched instruction is a branch instruction or a non-branch instruction; and generating a branch destination instruction address of the branch instruction, a branch not taken of the branch instruction, and a next instruction address of the non-branch instruction. Address generating means to be executed, and a branch destination of the address generating means A destination address register for setting an instruction address; and a next address register for setting a next instruction address of the address generation means. When the instruction is a branch instruction and the branch is taken, the branch destination instruction is stored in the second cache. An instruction cache device characterized by taking out an instruction.
【請求項2】 前記第1及び第2のキャッシュは、 命令を格納する命令アドレスと、 前記命令アドレスにある命令を格納する命令コードと、 格納されている命令が有効かあるいは無効かを示す有効
ビットと、 を含むエントリを前記命令ブロックに対応して有するバ
ッファであることを特徴とする請求項1記載の命令キャ
ッシュ装置。
2. The first and second caches include: an instruction address for storing an instruction, an instruction code for storing an instruction at the instruction address, and a validity indicating whether the stored instruction is valid or invalid. The instruction cache device according to claim 1, wherein the instruction cache device is a buffer having an entry including a bit and an entry corresponding to the instruction block.
【請求項3】 外部メモリからブロック単位で命令を取
り出して格納する命令キャッシュを有し、前記外部メモ
リあるいは前記命令キャッシュから次命令を取り出す命
令キャッシュ装置の制御方法において、 次命令を取り出し、前記命令が非分岐命令であるかある
いは分岐命令であるかを判定する工程と、 前記命令が非分岐命令あるいは分岐命令の分岐不成立の
場合の次命令アドレスを生成してネクストアドレスレジ
スタに設定と、前記分岐命令の分岐成立の場合の分岐先
命令アドレスを生成して分岐先アドレスレジスタに設定
と、を前記判定に並行して行う工程と、 前記判定で命令が非分岐命令のとき、前記次命令取り出
しの第1のキャッシュの検索で、次命令がヒットしたと
き、前記次命令を第1のキャッシュから取り出し、前記
検索がミスヒットしたとき、前記ネクストアドレスレジ
スタの次命令アドレスに基づいて、前記外部メモリから
次命令を取り出し、該命令の命令ブロックを第1のキャ
ッシュに格納する工程と、 前記判定で命令が分岐命令でかつ前記分岐命令の分岐不
成立のとき、前記ネクストアドレスレジスタの次命令ア
ドレスに基づいて、次命令を前記第1のキャッシュある
いは前記外部メモリから取り出す工程と、 前記判定で命令が分岐命令でかつ分岐成立のとき、前記
分岐先アドレスレジスタの分岐先命令アドレスに基づい
て、前記第1及び第2のキャッシュを検索する工程と、 前記検索で、第2のキャッシュが分岐先命令をヒットし
たとき、前記分岐先命令アドレスの命令を第2のキャッ
シュから取り出し、前記第2のキャッシュが分岐先命令
をミスヒットで、かつ第1のキャッシュが分岐先命令を
ヒットしたとき、前記分岐先命令アドレスの命令を第1
のキャッシュから取り出し、前記分岐先命令アドレスに
基づいて外部メモリから分岐先命令の命令ブロックを取
り出して第2のキャッシュに格納し、第2のキャッシュ
が分岐先命令をミスヒットでかつ第1のキャッシュが分
岐先命令をミスヒットのとき、前記分岐先命令アドレス
に基づいて外部メモリから分岐先命令を取り出し、前記
分岐先命令の命令ブロックを第2のキャッシュに格納す
る工程と、 を含むことを特徴とする命令キャッシュ装置の制御方
法。
3. A control method for an instruction cache device, comprising: an instruction cache for fetching and storing an instruction in block units from an external memory; and fetching a next instruction from the external memory or the instruction cache. Determining whether the instruction is a non-branch instruction or a branch instruction; generating a next instruction address when the instruction is a non-branch instruction or a branch not taken by a branch instruction; setting the next instruction address in a next address register; Generating a branch destination instruction address in the case of branching of the instruction and setting it in the branch destination address register in parallel with the determination; and when the determination indicates that the instruction is a non-branch instruction, When the next instruction is hit in the search of the first cache, the next instruction is fetched from the first cache, and Fetching a next instruction from the external memory based on a next instruction address of the next address register when a mishit occurs, and storing an instruction block of the instruction in a first cache; Fetching the next instruction from the first cache or the external memory on the basis of the next instruction address of the next address register when the branch of the branch instruction is not taken; A step of searching the first and second caches based on a branch destination instruction address of the branch destination address register; and when the second cache hits a branch destination instruction in the search, the branch The instruction at the destination instruction address is fetched from the second cache, and the second cache misses the branch destination instruction. In preparative and when the first cache hit branch target instruction, the instruction of the branch target instruction address first
From the external memory based on the address of the branch destination instruction, and stores the instruction block of the branch destination instruction in the second cache. Fetching a branch target instruction from an external memory based on the branch target instruction address when mishits the branch target instruction, and storing an instruction block of the branch target instruction in a second cache. And a control method for the instruction cache device.
【請求項4】 外部メモリからブロック単位に命令を先
取りして格納するプリフェッバッファと命令キャッシュ
とを有し、前記プリフェッバッファまたは前記命令キャ
ッシュあるいは前記外部メモリから次命令を取り出す命
令キャッシュ装置において、 前記外部メモリから先取りした命令ブロックを格納する
プリフェッチバッファと、 前記プリフェッチバッファに対する命令ブロック格納と
並行して格納する、あるいは前記外部メモリから取り出
される命令ブロックを格納する第1のキャッシュと、 前記外部メモリから取り出される分岐命令の分岐先命令
の命令ブロックを格納する第2のキャッシュと、 前記プリフェッチバッファまたは第1のキャッシュまた
は第2のキャッシュあるいは外部メモリから取り出され
る命令が分岐命令であるかあるいは非分岐命令であるか
を判別する命令デコーダと、 前記分岐命令の分岐先命令アドレスと前記分岐命令の分
岐不成立及び非分岐命令のプリフェッチアドレスとを生
成するアドレス生成手段と、 前記アドレス生成手段の分岐先命令アドレスを設定する
分岐先アドレスレジスタと、 前記アドレス生成手段のプリフェッチアドレスを設定す
るプリフェッチアドレスレジスタと、を備え、 命令が分岐命令でかつ分岐成立のとき、前記第2のキャ
ッシュから分岐先命令を取り出すことを特徴とする命令
キャッシュ装置。
4. An instruction cache device having a prefetch buffer and an instruction cache for prefetching and storing instructions in block units from an external memory, and extracting the next instruction from the prefetch buffer or the instruction cache or the external memory. A prefetch buffer for storing an instruction block prefetched from the external memory; a first cache for storing an instruction block stored in parallel with the storage of the instruction block in the prefetch buffer, or storing an instruction block retrieved from the external memory; A second cache storing an instruction block of a branch destination instruction of a branch instruction fetched from the memory; and an instruction fetched from the prefetch buffer, the first cache, the second cache, or the external memory is a branch instruction. Or an instruction decoder for determining whether the instruction is a non-branch instruction; an address generating means for generating a branch destination instruction address of the branch instruction and a prefetch address of a branch not taken and a non-branch instruction of the branch instruction; A branch destination address register for setting a branch destination instruction address; and a prefetch address register for setting a prefetch address of the address generation means. When the instruction is a branch instruction and the branch is taken, the branch destination is read from the second cache. An instruction cache device for fetching instructions.
【請求項5】 前記プリフェッチバッファは、 命令を格納する命令アドレスと、 前記命令アドレスにある命令を格納する命令コードと、 格納されている命令が有効かあるいは無効かを示す有効
ビットと、 を含む複数のエントリからなることを特徴とする請求項
4記載のプリフェッチバッファ。
5. The prefetch buffer includes: an instruction address for storing an instruction; an instruction code for storing an instruction at the instruction address; and a valid bit indicating whether the stored instruction is valid or invalid. 5. The prefetch buffer according to claim 4, comprising a plurality of entries.
【請求項6】 外部メモリからブロック単位に命令を先
取りして格納するプリフェッチバッファと命令キャッシ
ュとを有し、前記プリフェッチバッファあるいは前記命
令キャッシュまたは前記外部メモリから次命令を取り出
す命令キャッシュ装置の制御方法において、 次命令を前記プリフェッチバッファから取り出し、前記
命令が非分岐命令であるかあるいは分岐命令であるかを
判定する工程と、 前記命令が非分岐命令あるいは分岐命令の分岐不成立の
場合の命令先取りのプリフェッチアドレスを生成してプ
リフェッチアドレスレジスタに設定し、前記分岐命令の
分岐成立の場合の分岐先命令アドレスを生成して分岐先
アドレスレジスタに設定する工程と、 前記判定で命令が非分岐命令のとき、次命令を前記プリ
フェッチバッファから取り出す工程と、 前記プリフェッチアドレスによる第1のキャッシュの検
索で先取り命令がヒットしたとき、前記第1のキャッシ
ュからプリフェッチバッファに前記先取り命令の命令ブ
ロックを移送し、前記検索がミスヒットしたとき、前記
プリフェッチアドレスに基づいて、外部メモリからプリ
フェッチアドレスによる先取り命令の命令ブロックを取
り出して前記プリフェッチバッファ及び第1のキャッシ
ュに格納する工程と、 前記判定で命令が分岐命令でかつ分岐不成立のとき、次
命令を前記プリフェッチバッファから取り出す工程と、 前記判定で命令が分岐命令でかつ分岐成立のとき、前記
第1及び第2のキャッシュを前記分岐先アドレスで検索
し、前記プリフェッチバッファの命令を無効にする工程
と、 前記検索で第2のキャッシュが分岐先命令をヒットした
とき、分岐先命令を第2のキャッシュから取り出し、第
2のキャッシュが分岐先命令をミスヒットし、かつ第1
のキャッシュが分岐先命令をヒットしたとき、外部メモ
リから分岐先命令の命令ブロックを取り出して第2のキ
ャッシュに格納して第1のキャッシュの前記分岐先命令
を取り出し、第1のキャッシュが分岐先命令をミスヒッ
トでかつ第2のキャッシュが分岐先命令をミスヒットし
たとき、外部メモリから分岐先命令を取り出し、前記分
岐先命令の命令ブロックを第2のキャッシュに格納する
工程と、 を含むことを特徴とする命令キャッシュ装置の制御方
法。
6. A control method for an instruction cache device, comprising: a prefetch buffer and an instruction cache for prefetching and storing instructions in block units from an external memory, and fetching a next instruction from the prefetch buffer or the instruction cache or the external memory. A step of fetching the next instruction from the prefetch buffer and determining whether the instruction is a non-branch instruction or a branch instruction; and Generating a prefetch address and setting the same in a prefetch address register, generating a branch target instruction address in the case where the branch instruction is taken and setting the same in a branch destination address register; and Fetches the next instruction from the prefetch buffer Transferring a command block of the prefetched instruction from the first cache to a prefetch buffer when a prefetch instruction hits in a search of the first cache by the prefetch address; Extracting an instruction block of a prefetch instruction based on a prefetch address from an external memory based on the prefetch address and storing the instruction block in the prefetch buffer and the first cache; and if the instruction is a branch instruction and the branch is not taken in the determination, the next instruction From the prefetch buffer; and, if the instruction is a branch instruction and the branch is taken in the determination, searching the first and second caches at the branch destination address, and invalidating the instruction in the prefetch buffer. And the second cache is obtained by the search. When a branch instruction is hit, the branch instruction is fetched from the second cache, the second cache mishits the branch instruction, and
When the cache hits the branch target instruction, the instruction block of the branch target instruction is fetched from the external memory, stored in the second cache, and the branch target instruction of the first cache is fetched. Fetching a branch target instruction from external memory when the instruction is a miss hit and the second cache mishits the branch target instruction, and storing an instruction block of the branch target instruction in the second cache. A method for controlling an instruction cache device, comprising:
【請求項7】 前記命令キャッシュ装置は、 前記第1のキャッシュに格納されている分岐先命令を前
記第2のキャッシュに移送する移送バスを有することを
特徴とする請求項4記載の命令キャッシュ装置。
7. The instruction cache device according to claim 4, wherein said instruction cache device has a transfer bus for transferring a branch target instruction stored in said first cache to said second cache. .
JP10200175A 1998-07-15 1998-07-15 Instruction cache device and control method therefor Pending JP2000029693A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10200175A JP2000029693A (en) 1998-07-15 1998-07-15 Instruction cache device and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10200175A JP2000029693A (en) 1998-07-15 1998-07-15 Instruction cache device and control method therefor

Publications (1)

Publication Number Publication Date
JP2000029693A true JP2000029693A (en) 2000-01-28

Family

ID=16420050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10200175A Pending JP2000029693A (en) 1998-07-15 1998-07-15 Instruction cache device and control method therefor

Country Status (1)

Country Link
JP (1) JP2000029693A (en)

Similar Documents

Publication Publication Date Title
US6611910B2 (en) Method for processing branch operations
US8069336B2 (en) Transitioning from instruction cache to trace cache on label boundaries
US8458408B2 (en) Cache directed sequential prefetch
US5640526A (en) Superscaler instruction pipeline having boundary indentification logic for variable length instructions
US7797494B2 (en) Arithmetic processor, information processing apparatus and memory access method in arithmetic processor
JP3549079B2 (en) Instruction prefetch method of cache control
US5790823A (en) Operand prefetch table
US7797520B2 (en) Early branch instruction prediction
KR100974775B1 (en) Translation lookaside buffer manipulation
US5774710A (en) Cache line branch prediction scheme that shares among sets of a set associative cache
JP2003514299A5 (en)
JP2003005956A (en) Branch predicting device and method and processor
KR19980034443A (en) Efficient BTB Method of Super Scalar Microprocessor
JPH06187150A (en) Method and circuit for safekeeping of instruction in cache memory
KR101049319B1 (en) Method and apparatus for reducing lookups in branch target address cache
JPH08320788A (en) Pipeline system processor
JPH0816394A (en) Apparatus and method for prefetch for prefetching of instruction code from system memory
JPH0773104A (en) Cache system
JP2000029693A (en) Instruction cache device and control method therefor
JPH0588891A (en) Cache memory controller
TWI606393B (en) Processor and method of determining memory ownership on cache line basis for detecting self-modifying code
JPH1153188A (en) Instruction cache control method
JP4049490B2 (en) Information processing device
KR100251992B1 (en) Branch prediction device
JP2001344152A (en) Cash memory device

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000718