JPH08328854A - Pipeline data processor - Google Patents

Pipeline data processor

Info

Publication number
JPH08328854A
JPH08328854A JP7132231A JP13223195A JPH08328854A JP H08328854 A JPH08328854 A JP H08328854A JP 7132231 A JP7132231 A JP 7132231A JP 13223195 A JP13223195 A JP 13223195A JP H08328854 A JPH08328854 A JP H08328854A
Authority
JP
Japan
Prior art keywords
pipeline
instruction
cache
data
stage
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.)
Granted
Application number
JP7132231A
Other languages
Japanese (ja)
Other versions
JP3251148B2 (en
Inventor
Hajime Fukuzawa
一 福澤
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP13223195A priority Critical patent/JP3251148B2/en
Publication of JPH08328854A publication Critical patent/JPH08328854A/en
Application granted granted Critical
Publication of JP3251148B2 publication Critical patent/JP3251148B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE: To improve reliability for mis-cache processing and to improve performance by preventing a clock cycle from being lowered in a data processor of pipeline system. CONSTITUTION: When a main storage access instruction from an ISR 10 is executed and an error is detected in a cache directory 32, a mis-hit register 41 is set. Thereby, a pipeline control circuit 15 sets a mis-hazard flag 11 representing the numbers of a BR 13 and a GR 14 on which main storage data is loaded. Also, the circuit 15 cancels an instruction in a pipeline. The output of the flag 11 is compared with the numbers of the BR and the GR used by a new instruction in a hazard detection circuit 12, and when coincidence is obtained, the instruction is held with a D stage. When data is transferred from main storage, the flag 11 is reset, and the execution of the new instruction is started.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、パイプラインデータ処
理装置に関し、特にキャッシュを有するパイプラインデ
−タ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pipeline data processing device, and more particularly to a pipeline data processing device having a cache.

【0002】[0002]

【従来の技術】従来のパイプライン処理装置では、キャ
ッシュ索引においてキャッシュミスが判定され、所望の
デ−タを主記憶装置から読み出す間、パイプラインをホ
−ルドし、デ−タの待ち合わせを行うように制御してい
る。今、図4に示す5ステ−ジからなる従来のパイプラ
イン処理装置を例に説明する。この5ステ−ジは、命令
をフェッチするIFステ−ジと、命令のデコ−ドとレジ
スタの読み出しを行うDステ−ジと、命令の実行もしく
はアドレス生成を行うEAステ−ジと、オペランドアク
セスを行うOステ−ジと、結果の格納を行うWステ−ジ
とからなる計5ステ−ジである。図4は定常状態で命令
を処理しているパイプラインの実行過程を示している。
2. Description of the Related Art In a conventional pipeline processing apparatus, while a cache miss is determined in a cache index and desired data is read from a main memory, the pipeline is held and data waiting is performed. Are controlled. Now, a conventional pipeline processing device having five stages shown in FIG. 4 will be described as an example. The 5 stages are an IF stage for fetching an instruction, a D stage for decoding an instruction and reading a register, an EA stage for executing an instruction or generating an address, and an operand access. There are a total of 5 stages including an O stage for performing the above and a W stage for storing the result. FIG. 4 shows an execution process of a pipeline processing an instruction in a steady state.

【0003】このように、理想的な状態でパイプライン
が流れているときには、1クロックサイクル毎に命令の
結果を得ることができる。しかしながら、パイプラン処
理装置では各種の要因により、パイプラインのスト−ル
が発生する。このうち代表的ななものに、レジスタハザ
−ド処理とキャッシュミス処理がある。
As described above, when the pipeline is flowing in an ideal state, the result of the instruction can be obtained every clock cycle. However, in the pipeline processing apparatus, pipeline stall occurs due to various factors. Typical of these are register hazard processing and cache miss processing.

【0004】レジスタハザ−ド処理とは、ある命令で使
用するレジスタが先行命令により更新されるか否かを検
出し、もし使用するレジスタがまだ更新されておらず、
使用不能である場合には、使用可能になるまでパイプラ
インをスト−ルさせることをいう。レジスタハザ−ド処
理を行うためには、まずDステ−ジで命令をデコ−ドし
た際に得られるレジスタ番号と該レジスタが更新される
か否かを示すレジスタ更新情報を、Dステ−ジ以降のス
テ−ジに存在する命令個数分保持しておく。ある一つの
命令によるレジスタの更新が完了すると、この命令に関
するレジスタ更新情報は無効化される。そして、新たな
命令がDステ−ジに供給されるとこの命令が使用するレ
ジスタ番号と保持されている先行命令が更新するレジス
タ番号とを比較することで、Dステージ上の命令が使用
しようとしているレジスタが更新待ちであるか否か、つ
まりレジスタハザードが起きているか否かを検出する。
レジスタハザードが検出されると、IFステ−ジ、Dス
テ−ジをホ−ルドさせ、レジスタの内容が更新されるま
で処理を待たせる。レジスタハザ−ド処理は、パイプラ
インの制御方法やパイプライン段数の違いによって1T
もしくは2Tのクロックサイクルの処理時間を必要とす
る。
The register hazard processing detects whether or not a register used in a certain instruction is updated by a preceding instruction, and if the register used is not yet updated,
If it is not usable, it means to stall the pipeline until it becomes usable. In order to perform the register hazard process, first, the register number obtained when the instruction is decoded in the D stage and the register update information indicating whether or not the register is updated are provided in the D stage and thereafter. The number of instructions existing in the stage is held. When the update of the register by one instruction is completed, the register update information about this instruction is invalidated. Then, when a new instruction is supplied to the D stage, the instruction on the D stage tries to use by comparing the register number used by this instruction with the register number updated by the preceding instruction held. It is detected whether the existing register is waiting for update, that is, whether a register hazard has occurred.
When the register hazard is detected, the IF stage and the D stage are held and the processing is made to wait until the contents of the register are updated. Register hazard processing is 1T depending on the difference in the pipeline control method and the number of pipeline stages.
Alternatively, it requires a processing time of 2T clock cycle.

【0005】キャッシュミス処理とはキャッシュをアク
セスしたときに、所望のデ−タがキャッシュ内に存在せ
ず、主記憶装置からの読み出しを行っている間パイプラ
インをスト−ルさせることをいう。図5に、従来のパイ
プライン処理装置において、命令2のオペランドアクセ
スによりオペランドキャッシュのミスが発生した状態を
示す。Oステ−ジでオペランドミスが発生したために、
主記憶装置から所望のデ−タがフェッチできるまで、I
Fステ−ジ、Dステ−ジ、AEステ−ジ、Oステ−ジを
ホ−ルドさせている。主記憶装置から所望のデ−タがフ
ェッチされるとIFステ−ジ、Dステ−ジ、AEステ−
ジ、Oステ−ジの処理を再開させる。キャッシュミス処
理には、主記憶装置の構成の違いによって10数Tから
数10Tの処理時間を必要とする。パイプラインデ−タ
処理装置は、複数の命令を各ステ−ジで連続的に処理し
ているため、パイプラインスト−ルが発生することが検
出された場合には、実行を継続できないステージは即座
にホ−ルドさせなければならない。さもないと、同一ス
テ−ジ上で複数の命令の処理が競合してしまい、命令情
報の喪失、リソ−ス破壊などが起こり、スト−ルが解除
されたときに、正しくパイプライン処理を再開できなく
なるからである。
The cache miss processing means that the desired data is not present in the cache when the cache is accessed, and the pipeline is stolen while the data is read from the main memory. FIG. 5 shows a state in which an operand cache miss occurs due to an operand access of instruction 2 in the conventional pipeline processing device. Because an operand mistake occurred in the O stage,
Until the desired data can be fetched from main memory, I
Holds F stage, D stage, AE stage, and O stage. When the desired data is fetched from the main memory, the IF stage, D stage and AE stage are fetched.
Processing is restarted. The cache miss process requires a processing time of 10's to 10's of Ts depending on the configuration of the main storage device. Since the pipeline data processing device continuously processes a plurality of instructions in each stage, when it is detected that a pipeline stall occurs, the stage where execution cannot be continued is immediately stopped. I have to hold it. Otherwise, the processing of multiple instructions will compete on the same stage, causing loss of instruction information, resource destruction, etc., and restarting the pipeline processing correctly when the stall is released. Because it will not be possible.

【0006】キャッシュミスによるパイプラインスト−
ルが発生した場合の各ステ−ジをホ−ルドさせる従来の
技術を示したものとしては、例えば、特開平3−271
843号公報記載の「メモリアクセス制御方式」があ
る。この技術には、キャッシュミスを検出した信号によ
りクロックを停止させる方法と、ステ−ジ遷移抑止信号
をセットすることにより各ステ−ジ間の遷移を抑止し
て、パイプラインの各ステ−ジをホ−ルドさせる方法と
がある。
Pipeline strike due to cache miss
As a conventional technique for holding each stage in the case of occurrence of a rule, for example, Japanese Patent Laid-Open No. 2771/1993
There is a "memory access control system" described in Japanese Patent No. 843. In this technique, a clock is stopped by a signal that detects a cache miss, and a transition between each stage is suppressed by setting a stage transition inhibition signal so that each stage of the pipeline is controlled. There is a way to hold it.

【0007】[0007]

【発明が解決しようとする課題】上述した従来のパイプ
ラインデ−タ処理装置で用いられているクロックを停止
させる方法は、クロックスキュ−が増大するために、装
置全体の遅延時間が増大し、今日の高速クロックで動作
する装置の高速化の大きな妨げになるという欠点があ
る。さらに、クロックと他の論理の論理積がゲートで実
現されるために、この論理とクロックの信号の時間差に
よってノイズが発生し、装置の信頼度が低下するという
欠点がある。
The method of stopping the clock used in the above-mentioned conventional pipeline data processing device increases the delay time of the entire device because the clock skew increases. It has a drawback that it greatly hinders the speedup of today's high-speed clock devices. Further, since the logical product of the clock and other logic is realized by the gate, noise is generated due to the time difference between this logic and the signal of the clock, and the reliability of the device is reduced.

【0008】また、キャッシュをミスしたときに、ステ
−ジ遷移抑止信号を点灯し、このステ−ジ遷移抑止信号
によって、パイプラインの各ステ−ジをホ−ルドする従
来の方法は、ホ−ルドすべきステ−ジの対象がキャッシ
ュミスを検出したステ−ジおよび上段の全てのステ−ジ
(IFステ−ジ、Dステ−ジ、AEステ−ジおよびOス
テ−ジ)をホ−ルドしなければならないために、このス
テ−ジ遷移抑止信号の遅延時間が増大している。したが
って、パイプラインデ−タ処理装置のクロックサイクル
を高速化することが困難となり、システムの性能が低下
するという欠点もある。
Further, when a cache miss is made, a stage transition inhibiting signal is turned on, and the stage transition inhibiting signal is used to hold each stage of the pipeline. The target of the stage to be held is the stage in which the cache miss is detected and all the stages above (IF stage, D stage, AE stage and O stage) are held. Therefore, the delay time of the stage transition inhibiting signal is increased. Therefore, it is difficult to speed up the clock cycle of the pipeline data processing device, and there is a drawback that the system performance is deteriorated.

【0009】[0009]

【課題を解決するための手段】本発明の第1のパイプラ
インデータ制御装置は、主記憶装置内のデ−タのコピ−
をブロック単位で保持するキャッシュを有し命令の実行
を複数のステ−ジに分割して処理するパイプライン方式
のパイプラインデ−タ処理装置であって、(a)キャッ
シュ索引におけるキャッシュヒットまたはミスを判定す
る判定手段と、(b)前記判定手段でキャッシュミスが
判定されたときにパイプライン中の命令をキャンセルす
るキャンセル手段と、(c)キャッシュミス処理中であ
ることを表示するキャッシュミス表示手段と、(d)パ
イプライン処理の停滞条件を検出する停滞条件検出手段
と、(e)前記キャッシュミス表示手段の出力を前記停
滞条件検出手段に入力し前記キャッシュミス表示手段が
点灯している場合に新たに発行された命令を検出し前記
キャッシュミス表示手段の点灯が消えるまで該命令の処
理を保留する保留手段と、を備えている。
A first pipeline data control device of the present invention is a copy of data in a main storage device.
Is a pipeline-type pipeline data processing device that has a cache for holding each block in block units and divides the execution of instructions into a plurality of stages for processing. (A) Cache hit or miss in a cache index (B) a canceling means for canceling the instruction in the pipeline when the cache miss is judged by the judging means, and (c) a cache miss display for displaying that the cache miss is being processed. Means, (d) a stagnation condition detection means for detecting a stagnation condition of pipeline processing, and (e) an output of the cache miss display means is input to the stagnation condition detection means, and the cache miss display means is lit. In this case, a newly issued instruction is detected, and the processing of the instruction is suspended until the lighting of the cache miss display means is extinguished. It includes a stage, a.

【0010】本発明の第2のパイプラインデータ制御装
置は、主記憶装置内のデ−タのコピ−をブロック単位で
保持するキャッシュを有し命令の実行を複数のステ−ジ
に分割して処理するパイプライン方式のパイプラインデ
−タ処理装置であって、(a)キャッシュ索引における
キャッシュヒットまたはミスを判定する判定手段と、
(b)前記判定手段でキャッシュミスが判定されたとき
にパイプライン中の命令をキャンセルするキャンセル手
段と、(c)前記判定手段でキャッシュミスが判定され
たときにファ−ムウェアに通知するファームウェア通知
手段と、(d)前記主記憶装置から要求デ−タを受け取
ったことを上記ファ−ムウェアに通知するデータ受け取
り通知手段と、を備えている。
A second pipeline data control device of the present invention has a cache for holding a copy of data in a main memory in block units, and divides the execution of instructions into a plurality of stages. A pipeline data processing device of a pipeline system for processing, comprising: (a) a determining unit for determining a cache hit or miss in a cache index;
(B) canceling means for canceling an instruction in the pipeline when the judging means judges a cache miss, and (c) firmware notification for notifying the firmware when the judging means judges a cache miss. And (d) data reception notifying means for notifying the firmware that the request data has been received from the main storage device.

【0011】[0011]

【実施例】次に本発明について図面を参照して詳細に説
明する。
The present invention will be described in detail with reference to the drawings.

【0012】図1は本発明の第1の実施例を示すパイプ
ラインデ−タ処理装置のブロック図である。本発明の特
徴を示す上で、重要でない部分は説明を分かり易くする
ために省略してある。図1において、ISR10は、信
号線L1を通して図示されていないIFステ−ジから送
出された命令を受け付けるレジスタである。ISR10
に命令がセットされると命令に従った処理が実行され
る。本実施例では、主記憶の内容をロ−ドしてレジスタ
に格納する命令を例に取って説明する。
FIG. 1 is a block diagram of a pipeline data processing apparatus showing a first embodiment of the present invention. In order to show the features of the present invention, non-important parts are omitted for the sake of clarity. In FIG. 1, an ISR 10 is a register that receives an instruction sent from an IF stage (not shown) through the signal line L1. ISR10
When the instruction is set to, processing according to the instruction is executed. In this embodiment, an instruction for loading the content of the main memory and storing it in a register will be described as an example.

【0013】図2に本実施例で使用される命令形式を示
す。OP部は命令の種類を示すオペレ−ションコ−ド、
GR1部は主記憶からロ−ドされたオペランドの内容を
格納する汎用レジスタの番号、BR部はロ−ドする主記
憶の番地を生成するための基底番地を格納するベ−スレ
ジスタの番号、GR部は上記BRのアドレスを修飾する
インデックス値を格納する汎用レジスタの番号、D部は
BR部とGR部から生成されたアドレスからのディスプ
レ−スメント値を示す。
FIG. 2 shows the instruction format used in this embodiment. The OP section is an operation code indicating the type of instruction,
The GR1 section is the number of a general-purpose register that stores the contents of the operand loaded from the main memory, and the BR section is the number of the base register that stores the base address for generating the address of the main memory to be loaded. The part indicates the number of the general-purpose register that stores the index value that modifies the address of the BR, and the part D indicates the displacement value from the address generated from the BR part and the GR part.

【0014】次に第1の実施例の動作を図1、図2、図
3を参照して説明する。
Next, the operation of the first embodiment will be described with reference to FIGS. 1, 2 and 3.

【0015】図2に示される命令がISR10にセット
されると、OP部、BR部、GR部はハザ−ド検出回路
12に送出される。ハザ−ド検出回路12はOP部によ
って命令が主記憶からのロ−ド命令であることを知り、
アドレス生成に必要なBR、GRが使用可能か否かを判
断し、結果をパイプライン制御回路15に通知する。
When the instruction shown in FIG. 2 is set in the ISR 10, the OP section, BR section and GR section are sent to the hazard detection circuit 12. The hazard detection circuit 12 learns from the OP section that the instruction is a load instruction from the main memory,
It is determined whether or not BR and GR required for address generation can be used, and the result is notified to the pipeline control circuit 15.

【0016】パイプライン制御回路15は、パイプライ
ン全体の制御を司る制御回路で、ハザ−ド検出回路12
からの通知で命令で指定されたBRもしくはGRが使用
不可である場合は、使用可能になるまでDステ−ジの処
理を待ち合わせるためにDステ−ジおよびIFステ−ジ
のホ−ルドを行う。
The pipeline control circuit 15 is a control circuit for controlling the entire pipeline, and is a hazard detection circuit 12
If the BR or GR specified by the command is not usable by the notification from, the D stage and IF stage are held to wait for the processing of the D stage until it becomes available. .

【0017】BR13およびGR14は命令で指定され
る複数のBRとGRを保持するレジスタファイルであ
る。ISR10にセットされた命令のBR番号およびG
R番号はBR13およびGR14の索引アドレスとして
BR13およびGR14に供給される。BR13および
GR14にBR番号およびGR番号が供給されると所望
のBRおよびGRが読み出され、それぞれBRD20、
GRD21にセットされる。
BR13 and GR14 are register files for holding a plurality of BRs and GRs designated by an instruction. BR number and G of instruction set in ISR10
The R number is supplied to BR13 and GR14 as an index address of BR13 and GR14. When the BR number and the GR number are supplied to BR13 and GR14, the desired BR and GR are read out, and BRD20,
It is set in GRD21.

【0018】BRD20およびGRD21はBR13お
よびGR14から読み出されたBRおよびGRの内容を
それぞれ格納するレジスタである。DD22はISR1
0にセットされた命令のD部を格納するレジスタであ
る。
BRD20 and GRD21 are registers for storing the contents of BR and GR read from BR13 and GR14, respectively. DD22 is ISR1
It is a register that stores the D part of the instruction set to 0.

【0019】ADD23は3入力アドレス加算器であ
り、ISR10にセットされたロ−ド命令に従って、B
RD20、GRD21およびDD22にBR値、GR値
およびD値がセットされると論理アドレスを生成してL
AR30にセットする。
ADD 23 is a 3-input address adder, and according to the load instruction set in ISR10, B
When the BR value, GR value and D value are set in RD20, GRD21 and DD22, a logical address is generated and L is generated.
Set to AR30.

【0020】LAR30はADD23で生成された論理
アドレスを格納するレジスタで、論理アドレスがセット
されると内容をTLB31、AA32およびDA33に
供給する。
The LAR 30 is a register for storing the logical address generated by the ADD 23. When the logical address is set, the content is supplied to the TLB 31, AA 32 and DA 33.

【0021】TLB31は論理アドレスを主記憶上のア
ドレスを指定する絶対アドレスに変換するためのアドレ
ス変換バッファである。
The TLB 31 is an address conversion buffer for converting a logical address into an absolute address designating an address on the main memory.

【0022】AA32はオペランドキャッシュのアドレ
スディレクトリ部であり、DA33はオペンドキャッシ
ュのデ−タアレイ部である。AA32にはDA33に格
納されている主記憶上のデ−タのコピ−に対応する絶対
アドレスが格納されており、TLB31で変換された絶
対アドレスと一致すれば命令が要求している主記憶デ−
タがキャッシュに存在している、即ちヒットしているこ
とになり、不一致の場合は、要求されている主記憶デ−
タがキャッシュに存在しない、即ちミスしていることに
なる。
AA 32 is an address directory part of the operand cache, and DA 33 is a data array part of the open cache. The AA 32 stores the absolute address corresponding to the copy of the data on the main memory stored in the DA 33, and if it matches the absolute address converted by the TLB 31, the main memory data requested by the instruction is stored. −
If the data exists in the cache, that is, there is a hit, and there is a mismatch, the requested main memory data
Data does not exist in the cache, that is, it is missing.

【0023】TLB31およびAA32から読み出され
た絶対アドレスは比較器34に供給され、アドレスの比
較が行われる。比較器34は値が一致しているとき、つ
まりヒットしているときは“1”を出力し、値が不一致
のとき、つまりミスのときは“0”を出力する。比較器
34の比較結果はヒットミスレジスタ41にセットされ
て、パイプライン制御回路15に通知される。
The absolute address read from the TLB 31 and AA 32 is supplied to the comparator 34, and the addresses are compared. The comparator 34 outputs "1" when the values match, that is, a hit, and outputs "0" when the values do not match, that is, a miss. The comparison result of the comparator 34 is set in the hit-miss register 41 and notified to the pipeline control circuit 15.

【0024】オペランドキャッシュがヒットしたとき
は、DA33から読み出されたデ−タがセレクタ35を
通してDAR40にセットされる。オペランドキャッシ
ュがミスしたときは、所望のデ−タの読み出し要求が、
図示されていない主記憶装置に出される。主記憶装置か
ら読み出された所望のデ−タは、信号線L5からセレク
タ35を介してDAR40にセットされると共にDA3
3の所望の位置に格納される。
When the operand cache is hit, the data read from the DA 33 is set in the DAR 40 through the selector 35. When the operand cache misses, the request to read the desired data is
It is output to a main storage device (not shown). The desired data read from the main memory is set in the DAR 40 from the signal line L5 through the selector 35 and DA3.
3 in the desired location.

【0025】DAR40は命令によって要求されたオペ
ランドデ−タを格納するレジスタであり、オペランドデ
−タは命令で指定されたBR13もしくはGR14の所
望の場所に格納される。本実施例では、命令のGR1部
によって指定されたGR14の位置にオペランドが格納
される。
The DAR 40 is a register for storing the operand data requested by the instruction, and the operand data is stored in the desired location of the BR 13 or GR 14 designated by the instruction. In this embodiment, the operand is stored at the position of GR14 designated by the GR1 part of the instruction.

【0026】次に本発明のキャッシュミス処理の動作に
関して説明する。
Next, the operation of the cache miss process of the present invention will be described.

【0027】図3に命令2でオペランドキャッシュがミ
スした場合のタイムチャ−トが示されている。クロック
5で命令2のOステ−ジでオペランドキャッシュのミス
が検出される。オペランドミスはヒットミスレジスタ4
1にセットされ、パイプライン制御回路15に通知され
る。
FIG. 3 shows a time chart when the instruction cache misses the instruction 2. At clock 5, a miss in the operand cache is detected at the O stage of instruction 2. Operand miss is hit miss register 4
It is set to 1 and notified to the pipeline control circuit 15.

【0028】パイプライン制御回路15は、クロック6
で信号線L3を通じてパイプライン全体をキャンセルす
る。パイプラインのキャンセルは制御回路のみをリセッ
トするだけの動作であり、デ−タレジスタにはなんらの
制御も行われない。そのため、従来のパイプラインデ−
タ処理装置のように、IFステ−ジ、Dステ−ジ、AE
ステ−ジ、Oステ−ジの制御回路およびデ−タレジスタ
の全てをホ−ルドするよりも遅延の負荷が格段に小さ
い。
The pipeline control circuit 15 uses the clock 6
Then, the entire pipeline is canceled through the signal line L3. Cancellation of the pipeline is an operation of resetting only the control circuit, and no control is performed on the data register. Therefore, conventional pipeline data
Processor, IF stage, D stage, AE
The load of delay is much smaller than that of holding all of the stage, O stage control circuit and data register.

【0029】ところで、クロック5では、命令1はWス
テ−ジに到達しているため、命令1のみ、クロック6で
のキャンセルは行われず、命令が完了する。従って、図
示されてはいないが、命令の完了によって更新される命
令カウンタは、クロック6で命令2を指定するように更
新される。
By the way, since the instruction 1 has reached the W stage at the clock 5, only the instruction 1 is not canceled at the clock 6, and the instruction is completed. Thus, although not shown, the instruction counter, which is updated upon completion of the instruction, is updated to specify instruction 2 at clock 6.

【0030】パイプライン制御回路15は、クロック7
で命令カウンタが指示している命令2のIFステ−ジか
らの再実行を要求し、同時にミスハザ−ドフラグ11を
セットする。
The pipeline control circuit 15 uses the clock 7
At the same time, it requests the re-execution of the instruction 2 designated by the instruction counter from the IF stage, and at the same time sets the mishazard flag 11.

【0031】ミスハザ−ドフラグ11はISR10にセ
ットされた命令に対して無条件にハザ−ドを検出するこ
とをハザ−ド検出回路12に要求する。そのため、クロ
ック8で命令2がISR10にセットされたときは、無
条件にハザ−ドが検出され、ハザ−ドの要因が解除され
るまで、即ちミスハザ−ドフラグ11がリセットされる
まで、信号線L4から送出されるDステ−ジホ−ルド信
号によりIFステ−ジおよびDステ−ジがホ−ルドされ
る。このIFステ−ジおよびDステ−ジのホ−ルドは既
存のハザ−ド検出時のホ−ルド回路を使用しており、I
Fステ−ジ、Dステ−ジ、AEステ−ジおよびOステ−
ジをホ−ルドするよりも遅延の負荷が格段に小さい。
The mishazard flag 11 requests the hazard detection circuit 12 to unconditionally detect a hazard with respect to the instruction set in the ISR 10. Therefore, when the instruction 2 is set in the ISR 10 at the clock 8, the hazard is unconditionally detected and until the cause of the hazard is removed, that is, the mishazard flag 11 is reset. The IF stage and the D stage are held by the D stage hold signal sent from L4. This IF stage and D stage hold uses the existing hold detection circuit for hazard detection.
F stage, D stage, AE stage and O stage
The delay load is much less than holding the switch.

【0032】主記憶装置は要求されたデ−タがパイプラ
ンデ−タ処理装置に届く2クロック前にデ−タが届くこ
とを信号線L2通してパイプラインデ−タ処理装置に通
知してくる。この信号線L2の信号によって、ミスハザ
−ドフラグ11がリセットされてパイプラインスト−ル
が解除される。
The main memory device notifies the pipeline data processing device through the signal line L2 that the data will arrive two clocks before the requested data reaches the pipeline data processing device. The signal on the signal line L2 resets the mishazard flag 11 to release the pipeline stall.

【0033】ここで、命令2はすでにクロック3で既存
のハザ−ドチェックが終了していることに注意しなけれ
ばならない。従って命令2には他のハザ−ド要因は検出
されず滞りなく処理が実行される。そして、クロックN
で主記憶装置から送られてきた所望デ−タが信号線L5
を通してDA33に格納されると共に、セレクタ35を
通してDAR40にセットされる。このとき、ヒットミ
スレジスタ41は再びオペランドキャッシュのミスをパ
イプライン制御回路15に通知するが、信号線L2を通
してパイプライン制御回路に通知された主記憶デ−タの
返送信号により再度のオペランドキャッシュミスの処理
は抑止される。
It has to be noted here that the instruction 2 has already completed the existing hazard check at clock 3. Therefore, no other hazard factor is detected in the instruction 2 and the processing is executed without delay. And clock N
The desired data sent from the main memory at the signal line L5
Is stored in the DA 33 through the selector 35 and is set in the DAR 40 through the selector 35. At this time, the hit-miss register 41 again informs the pipeline control circuit 15 of the miss of the operand cache. Processing is suppressed.

【0034】DAR40にセットされたデ−タはクロッ
クN+1でGR14の所望の場所に格納され、命令2の
処理が終了する。
The data set in the DAR 40 is stored at a desired location in the GR 14 at the clock N + 1, and the processing of the instruction 2 is completed.

【0035】本発明の第2の実施例では、ミスハザ−ド
フラグ11を設けるかわりに、パイプライン制御回路1
5からの指示でファ−ムウェアに割り込みを送出し、信
号線L2を通じて、主記憶装置からのデ−タ転送の通知
があるまでアイドル状態で待ち合わせ、デ−タ転送報告
を受け取った後、命令2をIFステ−ジより再実行させ
るようにして、ハ−ドウェアを削減する構成をとる。キ
ャッシュミス処理T数を増やさないためには主記憶装置
からのデ−タ転送報告をもう1T速くもらえばよい。
In the second embodiment of the present invention, instead of providing the mishazard flag 11, the pipeline control circuit 1
An interrupt is sent to the firmware in accordance with the instruction from 5, and the device waits in the idle state through the signal line L2 until there is a notification of the data transfer from the main storage device. After receiving the data transfer report, the instruction 2 Is re-executed from the IF stage to reduce the hardware. In order not to increase the number of cache miss processes T, the data transfer report from the main memory may be received 1T earlier.

【0036】[0036]

【発明の効果】以上説明したように、本発明のパイプラ
インデータ処理装置は、キャッシュミス検出時に、クロ
ック停止を実施しなのでノイズが発生せず信頼性が保持
されるという効果がある。さらに、ステ−ジ遷移抑止信
号によるキャッシュ索引ステ−ジ以前の全ステ−ジのホ
−ルドをしなくてすむため、クロックスキュ−を増大さ
せることなく、また、パイプラインデ−タ処理装置を構
成する上でクリティカルとなっていたパイプラインホ−
ルド信号の遅延時間の大幅な削減が可能となるため、パ
イプラインデ−タ処理装置のクロックサイクルを高速化
が可能となりシステムの処理性能向上が達成できるとい
う効果がある。
As described above, the pipeline data processing device of the present invention has the effect that noise is not generated and reliability is maintained because the clock is stopped when a cache miss is detected. Further, since it is not necessary to hold all the stages before the cache index stage by the stage transition inhibition signal, the clock skew is not increased, and the pipeline data processing device is provided. Pipeline ho, which was critical in constructing
Since the delay time of the clock signal can be significantly reduced, the clock cycle of the pipeline data processing device can be speeded up, and the processing performance of the system can be improved.

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

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

【図2】本発明の実施例で使用するロ−ド命令のフォー
マット図である。
FIG. 2 is a format diagram of a load instruction used in the embodiment of the present invention.

【図3】本発明の実施例のキャッシュミス処理を示すタ
イミング図である。
FIG. 3 is a timing chart showing cache miss processing according to the embodiment of this invention.

【図4】本発明の実施例および従来技術のパイプライン
処理を示すタイミング図である。
FIG. 4 is a timing diagram illustrating an embodiment of the present invention and prior art pipeline processing.

【図5】従来技術のキャッシュミス処理を示すタイミン
グ図である。
FIG. 5 is a timing diagram showing prior art cache miss processing.

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

10 命令レジスタ(ISR) 11 ミスハザ−ドフラグ 12 ハザ−ド検出回路 13 ベ−スレジスタファイル(BR) 14 汎用レジスタファイル(GR) 15 パイプライン制御回路 20 ベ−スレジスタ受レジスタ(BRD) 21 汎用レジスタ受レジスタ(GRD) 22 ディスプレ−スメント受レジスタ(DD) 23 アドレス加算器 30 論理アドレスレジスタ(LAR) 31 アドレス変換バッファ(TLB) 32 アドレスアレイ(AA) 33 デ−タアレイ(DA) 34 比較器 35 セレクタ 40 デ−タレジスタ(DAR) 41 ヒットミスレジスタ L1〜L5 信号線 10 instruction register (ISR) 11 miss hazard flag 12 hazard detection circuit 13 base register file (BR) 14 general purpose register file (GR) 15 pipeline control circuit 20 base register receiving register (BRD) 21 general register receiving Register (GRD) 22 Displacement receiving register (DD) 23 Address adder 30 Logical address register (LAR) 31 Address conversion buffer (TLB) 32 Address array (AA) 33 Data array (DA) 34 Comparator 35 Selector 40 Data register (DAR) 41 Hit miss register L1 to L5 Signal line

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 主記憶装置内のデ−タのコピ−をブロッ
ク単位で保持するキャッシュを有し命令の実行を複数の
ステ−ジに分割して処理するパイプライン方式のパイプ
ラインデ−タ処理装置において、(a)キャッシュ索引
におけるキャッシュヒットまたはミスを判定する判定手
段と、(b)前記判定手段でキャッシュミスが判定され
たときにパイプライン中の命令をキャンセルするキャン
セル手段と、(c)キャッシュミス処理中であることを
表示するキャッシュミス表示手段と、(d)パイプライ
ン処理の停滞条件を検出する停滞条件検出手段と、
(e)前記キャッシュミス表示手段の出力を前記停滞条
件検出手段に入力し前記キャッシュミス表示手段が点灯
している場合に新たに発行された命令を検出し前記キャ
ッシュミス表示手段の点灯が消えるまで該命令の処理を
保留する保留手段と、を備えたことを特徴とするパイプ
ラインデ−タ処理装置。
1. A pipeline type pipeline data having a cache for holding a copy of data in a main memory in block units and dividing instruction execution into a plurality of stages for processing. In the processing device, (a) determining means for determining a cache hit or miss in the cache index, (b) canceling means for canceling an instruction in the pipeline when the determining means determines a cache miss, and (c) ) A cache miss display means for displaying that the cache miss processing is in progress, and (d) a stagnation condition detection means for detecting a stagnation condition of the pipeline processing,
(E) Until the output of the cache miss display means is input to the stagnation condition detection means and the newly issued instruction is detected when the cache miss display means is lit, and the lighting of the cache miss display means goes out. A pipeline data processing device comprising: a holding means for holding the processing of the instruction.
【請求項2】 主記憶装置内のデ−タのコピ−をブロッ
ク単位で保持するキャッシュを有し命令の実行を複数の
ステ−ジに分割して処理するパイプライン方式のパイプ
ラインデ−タ処理装置において、(a)キャッシュ索引
におけるキャッシュヒットまたはミスを判定する判定手
段と、(b)前記判定手段でキャッシュミスが判定され
たときにパイプライン中の命令をキャンセルするキャン
セル手段と、(c)前記判定手段でキャッシュミスが判
定されたときにファ−ムウェアに通知するファームウェ
ア通知手段と、(d)前記主記憶装置から要求デ−タを
受け取ったことを上記ファ−ムウェアに通知するデータ
受け取り通知手段と、を備えたことを特徴とするパイプ
ラインデ−タ処理装置。
2. A pipeline data of a pipeline system having a cache for holding a copy of data in a main memory in block units and processing an instruction execution by dividing it into a plurality of stages. In the processing device, (a) determining means for determining a cache hit or miss in the cache index, (b) canceling means for canceling an instruction in the pipeline when the determining means determines a cache miss, and (c) ) Firmware notifying means for notifying the firmware when a cache miss is judged by the judging means, and (d) data reception for notifying the firmware that request data has been received from the main storage device. A pipeline data processing device comprising: a notification means.
JP13223195A 1995-05-30 1995-05-30 Pipeline data processing device Expired - Fee Related JP3251148B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13223195A JP3251148B2 (en) 1995-05-30 1995-05-30 Pipeline data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13223195A JP3251148B2 (en) 1995-05-30 1995-05-30 Pipeline data processing device

Publications (2)

Publication Number Publication Date
JPH08328854A true JPH08328854A (en) 1996-12-13
JP3251148B2 JP3251148B2 (en) 2002-01-28

Family

ID=15076445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13223195A Expired - Fee Related JP3251148B2 (en) 1995-05-30 1995-05-30 Pipeline data processing device

Country Status (1)

Country Link
JP (1) JP3251148B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02224023A (en) * 1988-10-11 1990-09-06 Mips Computer Syst Inc Processor control type interface having instruction stream function
JPH03271843A (en) * 1990-03-20 1991-12-03 Fujitsu Ltd Memory access control system
JPH0452759A (en) * 1990-06-14 1992-02-20 Fujitsu Ltd Multiplex processing system for vector instruction
JPH05181676A (en) * 1991-04-05 1993-07-23 Toshiba Corp Parallel processing type processor system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02224023A (en) * 1988-10-11 1990-09-06 Mips Computer Syst Inc Processor control type interface having instruction stream function
JPH03271843A (en) * 1990-03-20 1991-12-03 Fujitsu Ltd Memory access control system
JPH0452759A (en) * 1990-06-14 1992-02-20 Fujitsu Ltd Multiplex processing system for vector instruction
JPH05181676A (en) * 1991-04-05 1993-07-23 Toshiba Corp Parallel processing type processor system

Also Published As

Publication number Publication date
JP3251148B2 (en) 2002-01-28

Similar Documents

Publication Publication Date Title
JP3781419B2 (en) Exception handling in pipelined processors
JP2744890B2 (en) Branch prediction data processing apparatus and operation method
US5297281A (en) Multiple sequence processor system
EP0381447A2 (en) Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
US6760835B1 (en) Instruction branch mispredict streaming
US5961633A (en) Execution of data processing instructions
US8341383B2 (en) Method and a system for accelerating procedure return sequences
KR101048178B1 (en) Method and apparatus for correcting link stack circuit
US8549235B2 (en) Method for detecting address match in a deeply pipelined processor design
US11099851B2 (en) Branch prediction for indirect branch instructions
JPH07129413A (en) Interruption processor
JP3683439B2 (en) Information processing apparatus and method for suppressing branch prediction
EP0550289A2 (en) A mechanism to detect stores into the instruction stream
JPH06161779A (en) Interruption control system for data processor
JPH02310624A (en) Data processor
JPH06295243A (en) Data processor
EP0374598B1 (en) Control store addressing from multiple sources
JP3251148B2 (en) Pipeline data processing device
JP2894438B2 (en) Pipeline processing equipment
JP2783285B2 (en) Information processing device
JP3156773B2 (en) Instruction processing unit
JPH05113931A (en) Address conversion processing system
JPH0773034A (en) Information processor
JP2002149438A (en) Method for controlling buffer storage for recovery control
JPH0540629A (en) Information processor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970304

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081116

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091116

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees