JPH05257686A - Instruction cache circuit - Google Patents

Instruction cache circuit

Info

Publication number
JPH05257686A
JPH05257686A JP4054596A JP5459692A JPH05257686A JP H05257686 A JPH05257686 A JP H05257686A JP 4054596 A JP4054596 A JP 4054596A JP 5459692 A JP5459692 A JP 5459692A JP H05257686 A JPH05257686 A JP H05257686A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
circuit
cache
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.)
Withdrawn
Application number
JP4054596A
Other languages
Japanese (ja)
Inventor
Hidetaka Oki
秀隆 沖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP4054596A priority Critical patent/JPH05257686A/en
Publication of JPH05257686A publication Critical patent/JPH05257686A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To shorten an execution time of a condition branch instruction by constituting the circuit so that an address tag for executing a cache index can be referred to independently from an address tag for executing a cache index for an instruction prefetch processing. CONSTITUTION:In the case where a decoded instruction is a branch instruction, a branch destination address is calculated by an address calculating circuit 110. In the case this branch instruction is an unconditional branch, the branch destination address is sent to a prefetch address generating circuit 106, and immediately, switching of an instruction fetch address is executed. Subsequently, in the case where the branch instruction is a conditional branch, the branch destination address generated by the address calculating circuit 110 is decided as to be hit/mishit of a cache by a tag memory 101 and a hit deciding circuit 102. In the case of being a hit, read-out of an instruction word is executed from a cache data memory 107 at the time point when a branch in a branch condition deciding circuit 111 is decided definitely.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は命令キャッシュ回路に関
し、特にパイプライン制御を行なう情報処理装置におけ
る命令キャッシュ回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an instruction cache circuit, and more particularly to an instruction cache circuit in an information processing device for pipeline control.

【0002】[0002]

【従来の技術】従来の命令キャッシュ回路の構成例を図
3に示す。
2. Description of the Related Art FIG. 3 shows a configuration example of a conventional instruction cache circuit.

【0003】命令語の取り出しアドレスを生成するプリ
フェッチアドレス回路106から出力されるプリフェッ
チアドレスは、アドレスタグメモリ131及びキャッシ
ュデータメモリ107に供給される。アドレスタグメモ
リ131から読み出されたタグ情報は、プリフェッチア
ドレス生成回路106から供給されるプリフェッチアド
レスの一部とヒット判定回路132で比較される。
The prefetch address output from the prefetch address circuit 106 for generating the fetch address of the instruction word is supplied to the address tag memory 131 and the cache data memory 107. The tag information read from the address tag memory 131 is compared with a part of the prefetch address supplied from the prefetch address generation circuit 106 in the hit determination circuit 132.

【0004】キャッシュにヒットした場合には、プリフ
ェッチアドレス生成回路106のアドレスタグメモリと
並行して参照されるキャッシュデータメモリ107から
読み出された内容が、プリフェッチキュー108に格納
される。プリフェッチキュー108の内容は順次取り出
され、命令デコード回路109で命令語の解読が行なわ
れ命令動作が実行される。
When the cache is hit, the content read from the cache data memory 107 which is referred to in parallel with the address tag memory of the prefetch address generation circuit 106 is stored in the prefetch queue 108. The contents of the prefetch queue 108 are sequentially taken out, and the instruction decoding circuit 109 decodes the instruction word to execute the instruction operation.

【0005】この命令語プリフェッチ動作と命令の実行
とはふつう非同期に行われるが、分岐命令が実行される
ときには命令の流れが切り換わり、プリフェッチアドレ
スを分岐先アドレスに切り換えることになる。
Although the instruction word prefetch operation and the instruction execution are usually performed asynchronously, when the branch instruction is executed, the instruction flow is switched and the prefetch address is switched to the branch destination address.

【0006】この動作は、命令デコード回路109によ
りデコードされた命令語の内容から、アドレス計算回路
110により分岐先アドレスを計算し、プリフェッチ・
アドレス生成回路106へ転送することにより行なわれ
る。こうして切り換えられたアドレスから、命令語のプ
リフェッチ動作が継続されることになる。
In this operation, the address calculation circuit 110 calculates the branch destination address from the content of the instruction word decoded by the instruction decode circuit 109, and the prefetch
This is performed by transferring to the address generation circuit 106. The instruction word prefetch operation continues from the address thus switched.

【0007】[0007]

【発明が解決しようとする課題】この命令キャッシュ回
路では、情報処理装置がパイプライン制御、特にパイプ
ラインステージの段数が深い制御を行なっている場合、
条件分岐命令の分岐条件が判定回路111で確定するタ
イミングは、分岐先アドレスのアドレス計算回路110
で確定するタイミングよりも遅くなることが多い。この
ため、プリフェッチアドレス生成回路106では、命令
先取り動作について、分岐しない側を継続するか分岐先
側へ切り換えるかを、分岐条件が未確定の時点で行なわ
なければならない。
In this instruction cache circuit, when the information processing device performs pipeline control, particularly when the number of pipeline stages is deep,
The timing at which the branch condition of the conditional branch instruction is determined by the determination circuit 111 is the address calculation circuit 110 of the branch destination address.
Often it will be later than the timing determined by. For this reason, in the prefetch address generation circuit 106, regarding the instruction prefetch operation, whether to continue the non-branching side or switch to the branch destination side must be performed when the branch condition is undetermined.

【0008】分岐側を選択する場合、キューに非分岐側
命令が残っている状態で分岐側命令の取出しを開始する
ため、分岐条件が確定した後の制御が複雑になるという
問題点がある。一方、分岐しない側の取り出しを続ける
場合、分岐条件確定後、分岐先命令の取り出しを開始す
るのが遅れるという問題点がある。
When the branch side is selected, since fetching of the branch side instruction is started in the state where the non-branch side instruction remains in the queue, there is a problem that control after the branch condition is fixed becomes complicated. On the other hand, if the fetching of the non-branching side is continued, there is a problem that the fetching of the branch target instruction is delayed after the branch condition is determined.

【0009】[0009]

【課題を解決するための手段】本発明の回路は、命令語
の先取りを行なう情報処理装置における命令キャッシュ
回路において、実行中の命令に後続する命令語の先取り
アドレスのキャッシュ検索を行なうためのキャッシュタ
グメモリ手段と、そのヒット判定手段と、条件分岐命令
の分岐先アドレスの命令語のキャッシュ検索を行なうた
めのキャッシュタグメモリ手段と、そのヒット判定手段
とを独立に有すことを特徴とする。
The circuit of the present invention is a cache for performing a cache search for a prefetch address of an instruction word following an instruction being executed in an instruction cache circuit in an information processing device for prefetching an instruction word. The tag memory means, the hit determination means, the cache tag memory means for performing a cache search for the instruction word of the branch destination address of the conditional branch instruction, and the hit determination means are independently provided.

【0010】[0010]

【実施例】次に本発明について図面を用いて説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.

【0011】図1は本発明の一実施例のブロック図であ
る。
FIG. 1 is a block diagram of an embodiment of the present invention.

【0012】プリフェッチアドレス生成回路106から
出力される命令取り出しアドレスは、アドレスタグメモ
リ103とキャッシュデータメモリ107と、ビット判
定回路104に供給される。
The instruction fetch address output from the prefetch address generation circuit 106 is supplied to the address tag memory 103, the cache data memory 107, and the bit determination circuit 104.

【0013】命令取り出し対象アドレスがキャッシュに
ヒットした場合には、キャッシュデータメモリ107か
ら読み出された内容がプリフェッチキュー108に格納
される。キャッシュにミスヒットした場合には、ブロッ
クロード要求生成回路105からロード要求が外部メモ
リシステム112に対して出力され、返却されるデータ
がキャッシュデータメモリ107に格納され、またプリ
フェッチキュー108へ格納される。
When the instruction fetch target address hits the cache, the contents read from the cache data memory 107 are stored in the prefetch queue 108. When there is a miss in the cache, the block load request generation circuit 105 outputs a load request to the external memory system 112, and the returned data is stored in the cache data memory 107 and also in the prefetch queue 108. ..

【0014】プリフェッチキュー108に格納された命
令語は、順次命令デコード回路109へ送られて、命令
語の解読が行なわれる。
The instruction words stored in the prefetch queue 108 are sequentially sent to the instruction decoding circuit 109, and the instruction words are decoded.

【0015】いま、デコードされた命令が、分岐命令で
あった場合、アドレス計算回路110で分岐先アドレス
が計算される。この分岐命令が、無条件分岐の場合に
は、分岐先アドレスはプリフェッチアドレス生成回路1
06へ送られて、直ちに命令取り出しアドレスの切換え
が行なわれる。
If the decoded instruction is a branch instruction, the address calculation circuit 110 calculates the branch destination address. If this branch instruction is an unconditional branch, the branch destination address is the prefetch address generation circuit 1
Then, the instruction fetch address is switched immediately.

【0016】次に分岐命令が条件分岐の場合について説
明する。パイプライン制御で命令を実行する情報処理装
置の場合、分岐条件の確定するタイミングは、条件分岐
命令の分岐先アドレスが確定するタイミングより遅れる
ことが多い。いま、プリフェッチアドレス生成回路10
6では分岐しない側のアドレスの生成を継続するものと
する。
Next, the case where the branch instruction is a conditional branch will be described. In the case of an information processing device that executes an instruction under pipeline control, the timing for determining the branch condition is often delayed from the timing for determining the branch destination address of the conditional branch instruction. Now, the prefetch address generation circuit 10
In 6, the generation of the address on the non-branching side is continued.

【0017】アドレス計算回路110で生成された分岐
先アドレスは、タグメモリ101,ヒット判定回路10
2でキャッシュのヒット,ミスヒットが判定される。ヒ
ットしている場合には、分岐条件判定回路111におけ
る分岐が確定した時点で、キャッシュデータメモリ10
7から命令語の読み出しが行なわれる。一方、ミスヒッ
トの場合には、ヒット判定回路102からブロックロー
ド要求生成回路105へ通知され、ブロックロード要求
生成回路105から外部メモリシステム112に対し、
ブロックロード要求が出力される。
The branch destination address generated by the address calculation circuit 110 is the tag memory 101 and the hit determination circuit 10.
At 2, the cache hit or miss hit is determined. If there is a hit, when the branch in the branch condition determination circuit 111 is confirmed, the cache data memory 10
The instruction word is read from 7. On the other hand, in the case of a mishit, the hit determination circuit 102 notifies the block load request generation circuit 105 that the block load request generation circuit 105 notifies the external memory system 112.
A block load request is output.

【0018】このブロックロード要求を出力するタイミ
ングをアドレス計算回路110で分岐条件の確定前とす
るか、確定後とするかで制御方法に差が出ることになる
が、本発明においてはどちらでもかまわない。条件が確
定する前にブロックロード要求を出す方法では、外部メ
モリシステム112から戻ってくるデータは、分岐条件
不成立の場合は、無視されることになる。
There is a difference in control method depending on whether the timing of outputting the block load request is before or after the decision of the branch condition in the address calculation circuit 110, but in the present invention, either may be used. Absent. In the method of issuing the block load request before the condition is fixed, the data returned from the external memory system 112 will be ignored if the branch condition is not satisfied.

【0019】図2は本発明の他の実施例である。図1の
実施例では、通常の命令語先取り用のアドレスタグメモ
リ103と分岐先アドレス索引用のアドレスタグメモリ
101を独立して、2つ設けていたが、本実施例におい
てはアドレスタグメモリ121を1つの2ポートメモリ
で実現している。他の動作は、前述の第1の実施例と同
様である。
FIG. 2 shows another embodiment of the present invention. In the embodiment of FIG. 1, two address tag memories 103 for normal instruction word prefetching and two address tag memories 101 for branch destination address index are provided independently, but in the present embodiment, the address tag memory 121 is provided. Is realized with one 2-port memory. Other operations are the same as those in the first embodiment described above.

【0020】[0020]

【発明の効果】以上説明したように本発明は、条件分岐
命令が実行された場合、分岐先アドレスの命令語のキャ
ッシュ索引を行なうアドレスタグを、通常の命令先取り
処理のためのキャッシュ索引を行なうアドレスタグとは
独立して参照できるようにしたことにより、分岐先命令
語のキャッシュのヒット,ミスヒットの判定、さらに外
部メモリに対するブロックロード要求を早いタイミング
で出力でき、条件分岐命令の実行時間を短かくできると
いう効果を有する。
As described above, according to the present invention, when a conditional branch instruction is executed, the address tag which performs the cache index of the instruction word of the branch destination address performs the cache index for the normal instruction prefetching process. By making it possible to refer to the address tag independently, it is possible to judge the cache hit or miss hit of the branch target instruction word, and output the block load request to the external memory at an early timing, and to improve the execution time of the conditional branch instruction. It has the effect that it can be shortened.

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

【図1】本発明の一実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】本発明の他の実施例のブロック図である。FIG. 2 is a block diagram of another embodiment of the present invention.

【図3】従来の構成例のブロック図である。FIG. 3 is a block diagram of a conventional configuration example.

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

101,103,121,131 アドレスタグメモ
リ 102,104,132 ヒット判定回路 105 ブロックロード要求生成回路 106 プリフェッチアドレス生成回路 107 キャッシュデータメモリ 108 プリフェッチキュー 109 命令デコード回路 110 アドレス計算回路 111 分岐条件判定回路 112 外部メモリシステム
101, 103, 121, 131 Address tag memory 102, 104, 132 Hit determination circuit 105 Block load request generation circuit 106 Prefetch address generation circuit 107 Cache data memory 108 Prefetch queue 109 Instruction decode circuit 110 Address calculation circuit 111 Branch condition determination circuit 112 External memory system

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 命令語の先取りを行なう情報処理装置に
おける命令キャッシュ回路において、 実行中の命令に後続する命令語の先取りアドレスのキャ
ッシュ検索を行なうためのキャッシュタグメモリ手段
と、そのヒット判定手段と、条件分岐命令の分岐先アド
レスの命令語のキャッシュ検索を行なうためのキャッシ
ュタグメモリ手段と、そのヒット判定手段とを独立に有
すことを特徴とする命令キャッシュ回路。
1. An instruction cache circuit in an information processing apparatus for prefetching an instruction word, comprising: cache tag memory means for performing a cache search of a prefetch address of an instruction word following an instruction being executed; and hit determining means thereof. An instruction cache circuit having cache tag memory means for performing a cache search for an instruction word of a branch destination address of a conditional branch instruction and hit determining means thereof independently.
【請求項2】 前記2つのキャッシュタグメモリ手段を
複数の読み出しポートを有するメモリで実現したことを
特徴とする請求項1記載の命令キャッシュ回路。
2. The instruction cache circuit according to claim 1, wherein the two cache tag memory means are realized by a memory having a plurality of read ports.
JP4054596A 1992-03-13 1992-03-13 Instruction cache circuit Withdrawn JPH05257686A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4054596A JPH05257686A (en) 1992-03-13 1992-03-13 Instruction cache circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4054596A JPH05257686A (en) 1992-03-13 1992-03-13 Instruction cache circuit

Publications (1)

Publication Number Publication Date
JPH05257686A true JPH05257686A (en) 1993-10-08

Family

ID=12975119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4054596A Withdrawn JPH05257686A (en) 1992-03-13 1992-03-13 Instruction cache circuit

Country Status (1)

Country Link
JP (1) JPH05257686A (en)

Similar Documents

Publication Publication Date Title
JP2603626B2 (en) Data processing device
US6553488B2 (en) Method and apparatus for branch prediction using first and second level branch prediction tables
US8943300B2 (en) Method and apparatus for generating return address predictions for implicit and explicit subroutine calls using predecode information
JPH06110683A (en) Method and apparatus for extending branch target of microprocessor
JPH1124929A (en) Arithmetic processing unit and its method
US5889986A (en) Instruction fetch unit including instruction buffer and secondary or branch target buffer that transfers prefetched instructions to the instruction buffer
JPH08320788A (en) Pipeline system processor
US20040225866A1 (en) Branch prediction in a data processing system
US20040172518A1 (en) Information processing unit and information processing method
JPH02287626A (en) Pipeline system branch instruction controller
US20080065870A1 (en) Information processing apparatus
JP2003263313A (en) Digital processor and method of selecting command
KR920006770B1 (en) System for controlling instruction fetch controlling
JPH05257686A (en) Instruction cache circuit
US7343481B2 (en) Branch prediction in a data processing system utilizing a cache of previous static predictions
JP3493110B2 (en) High-speed branch processing unit
JP2591325B2 (en) Branch control device
JPH10283185A (en) Processor
JP4049490B2 (en) Information processing device
JPH10283182A (en) Pipeline information processor
JPH0774992B2 (en) Data processing device
JPH09311787A (en) Data processor
JPH0769800B2 (en) Data processing device
JPH01271842A (en) Information processor
JPH0855033A (en) Information processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518