JPH05143363A - Interruption processing system - Google Patents

Interruption processing system

Info

Publication number
JPH05143363A
JPH05143363A JP30288491A JP30288491A JPH05143363A JP H05143363 A JPH05143363 A JP H05143363A JP 30288491 A JP30288491 A JP 30288491A JP 30288491 A JP30288491 A JP 30288491A JP H05143363 A JPH05143363 A JP H05143363A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
interrupt
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.)
Pending
Application number
JP30288491A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Kato
義幸 加藤
Tei Ishikawa
禎 石川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP30288491A priority Critical patent/JPH05143363A/en
Publication of JPH05143363A publication Critical patent/JPH05143363A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To remove restriction to an instruction to be set to a delay slot and to effectively utilize the delay slot by attaining interruption from a delay slot for a branch instruction. CONSTITUTION:A branch address 15 formed by the D stage of a branch instruction is transferred to a memory control device 11, temporarily stored in a register 23, selected by a selector 25, and then stored in a register 26 indicating the instruction location of the D stage. When no branch an interruption occurrs, the succeeding instruction location is stored in the same register 26. The contents of the register 26 are successively shifted to an E stage register 27 and a W stage register 28 synchronously with instructions. When an interruption is generated and an interruption signal 19 is turned to true, the contents of the registers 27, 28 are respectively stored in registers 29, 30. In the case of restoring from interruption processing, a branch instruction to an address specified by the register 30 is executed and a branch instruction to an address specified by the register 29 is executed by the delay slot of the branch instruction.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、遅延スロットを持つ
分岐命令を処理するパイプライン方式の計算機における
割込み処理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interrupt processing method in a pipeline type computer for processing a branch instruction having a delay slot.

【0002】[0002]

【従来の技術】パイプライン方式の計算機において、分
岐命令をパイプライン処理する場合、パイプラインの最
初のステージで分岐を行わない限り、分岐実行前に後続
の命令がパイプラインに取込まれてしまい、パイプライ
ンにハザードが発生する。
2. Description of the Related Art In a pipeline type computer, when a branch instruction is pipeline processed, a subsequent instruction is taken into the pipeline before execution of the branch unless the branch is performed at the first stage of the pipeline. , Hazard occurs in the pipeline.

【0003】このパイプラインハザードを少なくする方
法として、分岐命令の後続を遅延スロットと呼ばれる命
令フィールドとし、この遅延スロットに置かれた命令に
ついては先行する分岐命令による分岐の有無に無関係に
実行することが知られている。この方法では、分岐に無
関係に実行してもよい命令だけを遅延スロットに置くこ
とになる。このため、分岐と無関係な命令が無い場合に
は、NOP(ノーオペレーション)命令が指定される。
As a method of reducing this pipeline hazard, a branch instruction is followed by an instruction field called a delay slot, and the instruction placed in this delay slot is executed regardless of whether or not there is a branch by the preceding branch instruction. It has been known. In this way, only instructions that may be executed independent of the branch will be placed in the delay slot. Therefore, if there is no instruction unrelated to the branch, a NOP (no operation) instruction is designated.

【0004】以上の分岐命令の遅延スロットの例を、パ
イプラインが、命令フェッチステージ(Fステージ)
と、命令デコード、分岐処理のステージ(Dステージ)
と、演算ステージ(Eステージ)と、ライトバック(結
果の書込み)ステージ(Wステージ)との4段構成で、
遅延スロットが1段(分岐処理が2段目のDステージで
行われるため)の場合について、図4に示す。
In the above example of the delay slot of the branch instruction, the pipeline has an instruction fetch stage (F stage).
And the stage of instruction decoding and branch processing (D stage)
And a four-stage configuration including an arithmetic stage (E stage) and a write back (write result) stage (W stage),
FIG. 4 shows a case where the delay slot has one stage (because branch processing is performed in the second D stage).

【0005】図4に示すように、従来は分岐命令(B)
と遅延スロット(S)の間に割込みが入ることが禁止さ
れている。また、図4の例と異なって複数段の遅延スロ
ットを持つ場合には、各遅延スロット間に割込みが入る
ことも禁止されている。これは、遅延スロットからの割
込み発生により先行する分岐命令の分岐先アドレスが失
われ、遅延スロットに戻った場合に、分岐先の命令が実
行できなくなるためである。
As shown in FIG. 4, a branch instruction (B) is conventionally used.
Interrupt is prohibited between the delay slot (S) and the delay slot (S). Further, unlike the example of FIG. 4, when the delay slot has a plurality of stages, it is prohibited to enter an interrupt between the delay slots. This is because the branch destination address of the preceding branch instruction is lost due to the occurrence of the interrupt from the delay slot, and the branch destination instruction cannot be executed when returning to the delay slot.

【0006】このため従来は、遅延スロットには割込み
を発生する可能性がある命令、例えばロード命令、スト
ア命令等を置かず、また分岐命令と遅延スロットを仮想
アドレスのページ境界にまたがって置かず、更に分岐命
令と遅延スロットの間に非同期割込みは入れない等の処
理を行っていた。なお、ロード命令、ストア命令等で割
込みを発生する可能性があるのは、オペランドアドレス
生成でアドレス変換割込みを起こす可能性があるためで
ある。
Therefore, conventionally, an instruction that may generate an interrupt, such as a load instruction or a store instruction, is not placed in a delay slot, and a branch instruction and a delay slot are not placed across a virtual address page boundary. Furthermore, processing such as not inserting an asynchronous interrupt between the branch instruction and the delay slot was performed. It should be noted that the load instruction, the store instruction, and the like may cause an interrupt because there is a possibility of causing an address conversion interrupt in the operand address generation.

【0007】[0007]

【発明が解決しようとする課題】上記したように従来
は、遅延スロットからの割込み発生により先行する分岐
命令の分岐先アドレスが失われ、遅延スロットに戻った
場合に、分岐先の命令が実行できなくなるため、これを
防止する目的で、分岐命令の遅延スロットにロード・ス
トア命令等の割込みを発生させる可能性のある命令を置
くことができなかった。このため、遅延スロットに置く
ことのできる命令が限られ、遅延スロットを有効に活用
することができないという問題があった。また同様の理
由により、遅延スロットを仮想アドレスのページ境界に
置くことができないため、ページ境界付近で分岐命令が
多用された場合に性能低下を招くという問題もあった。
As described above, conventionally, when the branch destination address of the preceding branch instruction is lost due to the occurrence of an interrupt from the delay slot, and the branch destination instruction is returned to the delay slot, the branch destination instruction can be executed. Therefore, in order to prevent this, it was not possible to place an instruction such as a load / store instruction that could cause an interrupt in the delay slot of the branch instruction. Therefore, there is a problem that the instructions that can be placed in the delay slot are limited and the delay slot cannot be effectively used. Further, for the same reason, since the delay slot cannot be placed at the page boundary of the virtual address, there is a problem that performance is deteriorated when branch instructions are frequently used near the page boundary.

【0008】この発明は上記事情に鑑みてなされたもの
でその目的は、遅延スロットを持った分岐命令におい
て、遅延スロット内からの割込みと遅延スロットへの割
込み復帰を可能とすることにより、遅延スロットに置く
ことのできる命令の制約を無くして遅延スロットの有効
活用を図り、命令を高速に処理できる割込み処理方式を
提供することにある。
The present invention has been made in view of the above circumstances, and an object thereof is to enable an interrupt from within a delay slot and an interrupt return to the delay slot in a branch instruction having a delay slot, thereby providing a delay slot. The purpose of the present invention is to provide an interrupt processing method that can process instructions at high speed by eliminating the restriction of instructions that can be placed in the CPU, effectively utilizing delay slots.

【0009】[0009]

【課題を解決するための手段】この発明は、割込み処理
からの戻り先のアドレスを保持する第1のアドレス保持
手段と、割込み処理からの戻り先の命令に引き続いて実
行する命令のアドレスを保持する第2のアドレス保持手
段とを備え、割込み処理から復帰する際には、第1のア
ドレス保持手段に保持されている戻り先アドレスへ分岐
し、その戻り先の命令を実行した後、第2のアドレス保
持手段に保持されている命令アドレスに分岐するように
したことを特徴とするものである。
According to the present invention, there is provided first address holding means for holding an address of a return destination from an interrupt processing, and an address of an instruction to be executed subsequently to an instruction of a return destination from the interrupt processing. When returning from the interrupt processing, it branches to the return destination address held in the first address holding means, executes the instruction of the return destination, and then returns to the second address holding means. It is characterized by branching to the instruction address held in the address holding means.

【0010】[0010]

【作用】上記の構成においては、割込み処理を開始する
前に、割込み処理からの戻り先のアドレスが第1の保持
手段に、戻り先のアドレスの命令の次に実行する命令の
アドレスが第2の保持手段に、それぞれ保持される。そ
して、割込み処理から復帰する際には、まず第1のアド
レス保持手段に保持されている戻り先アドレスの命令へ
分岐し、その戻り先の命令を実行した後に、第2のアド
レス保持手段に保持されている命令アドレスの命令、即
ち戻り先の命令の次に実行すべき命令に分岐する。これ
により、もし割込みからの戻り先が分岐命令の遅延スロ
ットである場合であれば、遅延スロット内での命令を実
行後に、先行していた分岐命令の分岐先へ分岐すること
ができる。
In the above arrangement, the address of the return destination from the interrupt processing is stored in the first holding means and the address of the instruction to be executed next to the instruction of the return destination is stored in the second holding means before the interrupt processing is started. Are held by the respective holding means. Then, when returning from the interrupt processing, first branch to the instruction of the return destination address held in the first address holding means, execute the instruction of the return destination, and then hold in the second address holding means. The instruction branches to the instruction having the specified instruction address, that is, the instruction to be executed next to the instruction at the return destination. As a result, if the return destination from the interrupt is the delay slot of the branch instruction, it is possible to branch to the branch destination of the preceding branch instruction after executing the instruction in the delay slot.

【0011】[0011]

【実施例】図1はこの発明を適用するパイプライン方式
の計算機の一実施例を示す要部のブロック構成図であ
る。なお、本実施例では、パイプラインを、Fステー
ジ、Dステージ、EステージおよびWステージの4段構
成とし、Dステージで分岐処理を行うものとする。ま
た、遅延スロットの段数は、Dステージで分岐処理を行
うことから、1段であるものとする。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram of essential parts showing an embodiment of a pipeline type computer to which the present invention is applied. In this embodiment, the pipeline has a four-stage configuration including an F stage, a D stage, an E stage, and a W stage, and branch processing is performed in the D stage. Further, the number of stages of the delay slot is one because the D stage performs branch processing.

【0012】図1において、10は各種プログラム、デ
ータ等を格納するためのメモリ、11はメモリ10に対
するアクセス制御等を司るメモリ制御装置である。この
メモリ制御装置11は、分岐要求または割込み要求が無
い限り、メモリアドレスをインクリメントしながらメモ
リ10から順番に命令を取出し、命令デコード装置12
に供給する。またメモリ制御装置11は、分岐要求また
は割込み要求があった場合には、分岐アドレスまたは割
込みアドレスで示されるメモリ番地から命令の取出しを
開始する。
In FIG. 1, 10 is a memory for storing various programs, data, etc., and 11 is a memory control device for controlling access to the memory 10. Unless there is a branch request or an interrupt request, the memory control device 11 sequentially fetches instructions from the memory 10 while incrementing the memory address, and the instruction decoding device 12
Supply to. Further, when there is a branch request or an interrupt request, the memory control device 11 starts fetching an instruction from the memory address indicated by the branch address or the interrupt address.

【0013】12はメモリ制御装置11から供給される
命令のデコードを司る命令デコード装置、13は分岐ア
ドレス生成装置である。この分岐アドレス生成装置13
は、命令デコード装置12によってデコードされた分岐
命令から、分岐成立時に真となる分岐信号14と分岐ア
ドレス15とを生成し出力する。分岐アドレス生成装置
13はまた、分岐信号14より1サイクル遅れて真とな
る制御信号16をも生成するようになっている。制御信
号16は、現在Dステージにある命令が遅延スロット内
の命令(分岐命令の次の命令)であることを示すもの
で、後述するDステージのロケーションレジスタ26へ
の分岐先アドレスの取込みを制御するのに用いられる。
Reference numeral 12 is an instruction decoding device which controls the decoding of the instruction supplied from the memory control device 11, and 13 is a branch address generation device. This branch address generator 13
Generates and outputs a branch signal 14 and a branch address 15 which are true when a branch is taken, from the branch instruction decoded by the instruction decoding device 12. The branch address generator 13 also generates a control signal 16 which becomes true one cycle later than the branch signal 14. The control signal 16 indicates that the instruction currently in the D stage is the instruction in the delay slot (the instruction next to the branch instruction), and controls the fetching of the branch destination address into the location register 26 of the D stage described later. Used to do.

【0014】17は割込み発生を検出する割込み検出装
置である。この割込み検出装置17は、割込み検出時
に、割込みアドレス18と割込み信号19を生成する。
割込み検出装置17はまた、割込み信号19を1サイク
ル遅らせた制御信号20をも生成する。この制御信号2
0は、上記の制御信号16と同様に、Dステージのロケ
ーションレジスタ26への分岐先アドレス(割込みアド
レス)の取込みを制御するのに用いられる。
Reference numeral 17 is an interrupt detection device for detecting the occurrence of an interrupt. The interrupt detection device 17 generates an interrupt address 18 and an interrupt signal 19 when detecting an interrupt.
The interrupt detection device 17 also generates a control signal 20 which is one cycle delayed from the interrupt signal 19. This control signal 2
Like the control signal 16 described above, 0 is used to control fetching of a branch destination address (interrupt address) into the location register 26 of the D stage.

【0015】21は分岐アドレス生成装置13からの分
岐信号14と分岐アドレス生成装置13からの割込み信
号19とをOR(オア)し、そのOR信号を分岐要求と
してメモリ制御装置11に出力するOR回路、22はセ
レクタである。セレクタ22は、分岐アドレス生成装置
13からの分岐アドレス15または割込み検出装置17
からの割込みアドレス18のいずれか一方を割込み信号
19に応じて選択し、分岐先アドレスとしてメモリ制御
装置11に出力する。
An OR circuit 21 ORs the branch signal 14 from the branch address generator 13 and the interrupt signal 19 from the branch address generator 13 and outputs the OR signal as a branch request to the memory controller 11. , 22 are selectors. The selector 22 includes the branch address 15 from the branch address generator 13 or the interrupt detector 17
One of the interrupt addresses 18 from 1 to 3 is selected according to the interrupt signal 19 and is output to the memory control device 11 as a branch destination address.

【0016】23はセレクタ22によってメモリ制御装
置11に選択出力された分岐先アドレスを保持するため
のアドレスレジスタ(B−ADRS)、24は分岐アド
レス生成装置13からの制御信号16と割込み検出装置
17からの制御信号20とをORするOR回路、25は
セレクタである。セレクタ25は、後述するロケーショ
ンレジスタ26の示す現在の命令ロケーションをインク
リメントした次の命令ロケーションまたはアドレスレジ
スタ23の出力(分岐先アドレス)のいずれか一方をO
R回路24の出力信号に応じて選択する。
Reference numeral 23 is an address register (B-ADRS) for holding the branch destination address selectively output to the memory control device 11 by the selector 22, and 24 is a control signal 16 from the branch address generation device 13 and an interrupt detection device 17. An OR circuit for ORing with the control signal 20 from, and 25 is a selector. The selector 25 sets either the next instruction location obtained by incrementing the current instruction location indicated by the location register 26 described later or the output (branch destination address) of the address register 23 to O.
It is selected according to the output signal of the R circuit 24.

【0017】26はセレクタ25の出力をDステージの
命令ロケーションとして保持するためのロケーションレ
ジスタ(D−LOC)、27はロケーションレジスタ2
6の出力をEステージの命令ロケーションとして保持す
るためのロケーションレジスタ(E−LOC)、28は
ロケーションレジスタ27の出力をWステージの命令ロ
ケーションとして保持するためのロケーションレジスタ
(W−LOC)である。
26 is a location register (D-LOC) for holding the output of the selector 25 as an instruction location of the D stage, 27 is the location register 2
A location register (E-LOC) for holding the output of 6 as the instruction location of the E stage, and a location register (W-LOC) for holding the output of the location register 27 as the instruction location of the W stage.

【0018】29はロケーションレジスタ27の出力を
割込み処理からの戻り先命令の次に実行する命令のアド
レスとして割込み信号19に応じて保持するためのアド
レスレジスタ(NXT−ADRS)、30はロケーショ
ンレジスタ28の出力を割込み処理からの戻り先アドレ
スとして割込み信号19に応じて保持するためのアドレ
スレジスタ(RTN−ADRS)である。
Reference numeral 29 is an address register (NXT-ADRS) for holding the output of the location register 27 as the address of the instruction to be executed next to the return destination instruction from the interrupt processing in response to the interrupt signal 19, and 30 is the location register 28. Is an address register (RTN-ADRS) for holding the output of as a return address from the interrupt processing in response to the interrupt signal 19.

【0019】次に、図1の構成の動作を、分岐命令の遅
延スロット内で割込みが発生した場合を例に、図2のタ
イミングチャートを参照して説明する。図2のタイミン
グチャートは、分岐命令Bの遅延スロットで実行される
ロード命令Lのオペランドアドレスの生成でアドレス変
換割込みが発生した場合のパイプラインの動きを示した
ものである。図中、N1は分岐命令Bの指定する分岐先
命令、N2,N3は分岐先命令N1の後続命令、I1,
I2,I3…は、ロード命令Lで発生した割込み処理の
命令である。なお本実施例では、Dステージでオペラン
ドアドレスを生成し、Eステージでアドレス変換割込み
の検出(割込み検出装置17による割込みの判定)を行
い、Wステージで割込み処理を行うものとする。
Next, the operation of the configuration of FIG. 1 will be described with reference to the timing chart of FIG. 2 by taking the case where an interrupt occurs in the delay slot of a branch instruction as an example. The timing chart of FIG. 2 shows the movement of the pipeline when an address translation interrupt occurs in the generation of the operand address of the load instruction L executed in the delay slot of the branch instruction B. In the figure, N1 is a branch destination instruction specified by the branch instruction B, N2 and N3 are instructions subsequent to the branch destination instruction N1, I1,
I2, I3, ... Are instructions for interrupt processing generated by the load instruction L. In this embodiment, it is assumed that the operand address is generated in the D stage, the address conversion interrupt is detected in the E stage (interrupt determination by the interrupt detection device 17), and the interrupt processing is performed in the W stage.

【0020】命令分岐または割込みが無い場合、メモリ
制御装置11はメモリアドレスをインクリメントしなが
らメモリ10から命令を取出し、命令デコード装置12
へ供給する。この結果、図2の例のようにまず分岐命令
Bが、続いて分岐命令Bの遅延スロットに置かれるロー
ド命令Lが、メモリ10から順に取出されて(サイクル
T1,T2のFステージ)、命令デコード装置12に供
給されたものとする。
When there is no instruction branch or interrupt, the memory controller 11 fetches an instruction from the memory 10 while incrementing the memory address, and the instruction decoder 12
Supply to. As a result, as in the example of FIG. 2, the branch instruction B is first fetched, then the load instruction L placed in the delay slot of the branch instruction B is sequentially fetched from the memory 10 (F stage of cycles T1, T2), and the instruction is executed. It is assumed that the data has been supplied to the decoding device 12.

【0021】命令デコード装置12は、メモリ制御装置
11から供給された命令のデコード処理を行う。これに
より、分岐命令Bの場合には、分岐アドレス生成装置1
3において分岐成立/不成立の判定が行われ、分岐成立
時には有効な分岐信号14と分岐先命令N1の格納先を
示す分岐アドレス15とが分岐アドレス生成装置13に
より生成出力される(サイクルT2のDステージ)。ま
た、次のサイクル(T3)には、分岐信号14を1サイ
クル送らせた信号である制御信号16が分岐アドレス生
成装置13から出力される。
The instruction decoding device 12 decodes the instruction supplied from the memory control device 11. As a result, in the case of the branch instruction B, the branch address generation device 1
In 3, a branch taken / not taken is determined, and when the branch is taken, a valid branch signal 14 and a branch address 15 indicating the storage destination of the branch destination instruction N1 are generated and output by the branch address generator 13 (D in cycle T2). stage). In the next cycle (T3), the control signal 16 which is a signal obtained by sending the branch signal 14 for one cycle is output from the branch address generation device 13.

【0022】分岐アドレス生成装置13により生成され
た分岐アドレス15はセレクタ22の0側入力に供給さ
れる。セレクタ22は、割込み検出装置17からの割込
み信号19が真でない限りは、その0側入力である分岐
アドレス15を選択し、分岐先アドレスとしてメモリ制
御装置11に出力する。このとき、OR回路21の出力
は、分岐アドレス生成装置13からの有効な分岐信号1
4により真となり、メモリ制御装置11に対して分岐要
求が入る。
The branch address 15 generated by the branch address generator 13 is supplied to the 0 side input of the selector 22. Unless the interrupt signal 19 from the interrupt detection device 17 is true, the selector 22 selects the branch address 15 which is the 0 side input and outputs it to the memory control device 11 as the branch destination address. At this time, the output of the OR circuit 21 is the valid branch signal 1 from the branch address generator 13.
4 becomes true, and a branch request is made to the memory controller 11.

【0023】これによりメモリ制御装置11は、分岐命
令BのDステージ(サイクルT2)で生成された分岐ア
ドレス15の指定する分岐先命令N1をメモリ10から
取出して(サイクルT3のFステージ)、命令デコード
装置12に供給する。
As a result, the memory controller 11 fetches the branch destination instruction N1 designated by the branch address 15 generated at the D stage (cycle T2) of the branch instruction B from the memory 10 (F stage of cycle T3), and outputs the instruction. It is supplied to the decoding device 12.

【0024】さて、サイクルT2でメモリ10から(分
岐命令Bの)遅延スロット内のロード命令Lがフェッチ
されると、次のサイクルT3(Dステージ)でオペラン
ドアドレスの生成が行われる。そして、更に次のサイク
ルT4(Eステージ)で、割込み検出装置17によりア
ドレス変換割込みの検出が行われる。
When the load instruction L in the delay slot (of the branch instruction B) is fetched from the memory 10 in the cycle T2, the operand address is generated in the next cycle T3 (D stage). Then, in the next cycle T4 (E stage), the address detection interrupt is detected by the interrupt detection device 17.

【0025】もし、アドレス変換割込みが発生して、そ
の旨がサイクルT4(Eステージ)で検出された場合に
は、次のサイクルT5(Wステージ)から割込み処理が
開始され、同サイクルT5(Wステージ)において有効
な割込み信号19と割込み処理の先頭命令I1の格納先
を示す割込みアドレス18とが割込み検出装置17によ
り生成出力される。また、次のサイクル(T6)には、
割込み信号19を1サイクル送らせた信号である制御信
号20が分岐アドレス生成装置13から出力される。
If an address translation interrupt occurs and the fact is detected in the cycle T4 (E stage), the interrupt processing is started from the next cycle T5 (W stage) and the same cycle T5 (W stage). In the stage), the interrupt detection device 17 generates and outputs the valid interrupt signal 19 and the interrupt address 18 indicating the storage destination of the first instruction I1 of the interrupt processing. In the next cycle (T6),
A control signal 20 which is a signal obtained by sending the interrupt signal 19 for one cycle is output from the branch address generation device 13.

【0026】割込み検出装置17により生成された割込
みアドレス18はセレクタ22の1側入力に供給され
る。セレクタ22は割込み検出装置17によって割込み
発生が検出された場合には、その1側入力である割込み
アドレス18を、割込み検出装置17からの有効な割込
み信号19に応じて選択し、分岐先アドレスとしてメモ
リ制御装置11に出力する。このとき、OR回路21の
出力は、割込み検出装置17からの有効な割込み信号1
9により真となり、メモリ制御装置11に対して分岐要
求が入る。
The interrupt address 18 generated by the interrupt detector 17 is supplied to the 1-side input of the selector 22. When the interrupt detection device 17 detects the occurrence of an interrupt, the selector 22 selects the interrupt address 18 which is one input to the selector 22 according to the valid interrupt signal 19 from the interrupt detection device 17 and sets it as a branch destination address. Output to the memory control device 11. At this time, the output of the OR circuit 21 is the valid interrupt signal 1 from the interrupt detection device 17.
It becomes true by 9 and a branch request is input to the memory control device 11.

【0027】これによりメモリ制御装置11は、ロード
命令LのWステージ(サイクルT5)で生成された割込
みアドレス18の指定する割込み処理命令I1から始ま
る割込み処理命令列I1,I2,I3…を、次のサイク
ルT6以降、メモリ10から順に取出して命令デコード
装置12に供給する。この結果、割込み処理が開始され
る。
As a result, the memory controller 11 sends the interrupt processing instruction sequence I1, I2, I3, ... Starting from the interrupt processing instruction I1 designated by the interrupt address 18 generated at the W stage (cycle T5) of the load instruction L to the next After the cycle T6, the data is sequentially fetched from the memory 10 and supplied to the instruction decoding device 12. As a result, interrupt processing is started.

【0028】さて本実施例では、割込みを発生した命令
のロケーションを知るために、以下に述べるようにロケ
ーションの制御を行っている。また、分岐アドレスは前
記したようにDステージで決定されるため、このDステ
ージでロケーションの制御も行っている。
In the present embodiment, the location is controlled as described below in order to know the location of the instruction that generated the interrupt. Further, since the branch address is determined in the D stage as described above, the location control is also performed in this D stage.

【0029】まず、セレクタ22により選択された分岐
先アドレス(分岐アドレスまたは割込みアドレス)はア
ドレスレジスタ(B−ADRS)23に保持され、分岐
要求によりメモリ制御装置11に渡されるサイクルより
1サイクル遅延される。このアドレスレジスタ23に保
持された分岐先アドレスは、セレクタ25の1側入力に
供給される。セレクタ25の0側入力には、ロケーショ
ンレジスタ(D−LOC)26の示す現在のDステージ
の命令ロケーションをインクリメントして得られる次の
命令ロケーション(例えば、現在のDステージが分岐命
令Bであれば、同命令Bの遅延スロット内のロード命令
Lのロケーション)が供給される。
First, the branch destination address (branch address or interrupt address) selected by the selector 22 is held in the address register (B-ADRS) 23, and is delayed by one cycle from the cycle passed to the memory controller 11 by the branch request. It The branch destination address held in the address register 23 is supplied to the 1-side input of the selector 25. At the 0 side input of the selector 25, the next instruction location obtained by incrementing the instruction location of the current D stage indicated by the location register (D-LOC) 26 (for example, if the current D stage is the branch instruction B, , The location of the load instruction L within the delay slot of instruction B) is supplied.

【0030】セレクタ25は、OR回路24の出力に応
じて選択動作を行い、OR回路24の出力が偽であれば
0側(次命令ロケーション)を、真であれば1側(分岐
先アドレス)を選択する。OR回路24の出力は、分岐
アドレス生成装置13からの制御信号16および割込み
検出装置17からの制御信号20がいずれも偽である状
態では、即ち分岐も割込みも発生しない状態では偽であ
り、この場合には現在のDステージの命令ロケーション
の次の命令ロケーションが選択される。これに対して、
分岐または割込みが発生した場合には、制御信号16ま
たは20が真となってOR回路24の出力が真となり、
アドレスレジスタ(B−ADRS)23に保持されてい
る分岐先アドレスが選択される。このセレクタ25によ
って選択された次命令ロケーションまたは分岐先アドレ
スはロケーションレジスタ(D−LOC)26に保持さ
れる。
The selector 25 performs a selection operation according to the output of the OR circuit 24. If the output of the OR circuit 24 is false, the 0 side (next instruction location) is selected. If the output is true, the 1 side (branch destination address) is selected. Select. The output of the OR circuit 24 is false when both the control signal 16 from the branch address generator 13 and the control signal 20 from the interrupt detector 17 are false, that is, when neither branch nor interrupt occurs. In some cases, the instruction location next to the current D stage instruction location is selected. On the contrary,
When a branch or interrupt occurs, the control signal 16 or 20 becomes true and the output of the OR circuit 24 becomes true,
The branch destination address held in the address register (B-ADRS) 23 is selected. The next instruction location or branch destination address selected by the selector 25 is held in the location register (D-LOC) 26.

【0031】本実施例では、分岐アドレスはDステージ
で決定され、また分岐命令の遅延スロットは1段であ
る。このため、Dステージの命令ロケーションは、分岐
命令の2サイクル後に(即ち遅延スロットの次のサイク
ルで)分岐先のロケーションに変わることになる。そこ
で本実施例では、前記したようにセレクタ22からメモ
リ制御装置11に選択出力される分岐先アドレスを、ア
ドレスレジスタ23に保持することで1サイクル遅延し
てセレクタ25の1側に供給すると共に、分岐信号1
4,割込み信号19をそれぞれ1サイクル遅らせた制御
信号16,20をOR回路24に入力し、ロケーション
レジスタ26の内容が、分岐命令の2サイクル後に正し
く分岐先のロケーションに更新されるようにしている。
In this embodiment, the branch address is determined in the D stage, and the delay slot of the branch instruction is one stage. Therefore, the instruction location of the D stage will change to the branch destination location two cycles after the branch instruction (that is, in the cycle next to the delay slot). Therefore, in this embodiment, as described above, the branch destination address that is selectively output from the selector 22 to the memory control device 11 is held in the address register 23 and delayed by one cycle to be supplied to the 1 side of the selector 25. Branch signal 1
4. The control signals 16 and 20 obtained by delaying the interrupt signal 19 by one cycle are input to the OR circuit 24 so that the contents of the location register 26 are correctly updated to the location of the branch destination after two cycles of the branch instruction. ..

【0032】以上の結果、ロケーションレジスタ(D−
LOC)26は、サイクルT2で分岐命令Bのロケーシ
ョンを示すものとすると、次のサイクルT3では分岐命
令Bの命令ロケーションをインクリメントして得られる
次の命令ロケーション、即ち分岐命令Bの遅延スロット
のロード命令Lのロケーションを示し、更に次のサイク
ルT4では分岐命令BのDステージで生成された分岐先
命令N1への分岐先アドレス(分岐アドレス15)を示
すように更新される。
As a result of the above, the location register (D-
LOC) 26 indicates the location of the branch instruction B in the cycle T2, the next instruction location obtained by incrementing the instruction location of the branch instruction B in the next cycle T3, that is, the delay slot of the branch instruction B is loaded. The location of the instruction L is indicated, and in the next cycle T4, it is updated to indicate the branch destination address (branch address 15) to the branch destination instruction N1 generated in the D stage of the branch instruction B.

【0033】さて、(割込み検出装置17における)割
込みの検出は前記したようにWステージで行われる。こ
のため、Wステージで命令ロケーションが必要となる。
そこで本実施例では、ロケーションレジスタ(D−LO
C)26の出力側に、ロケーションレジスタ(E−LO
C)27およびロケーションレジスタ(W−LOC)2
8を多段に接続し、命令に同期してロケーションもWス
テージまでパイプライン動作させるようにしている。こ
れによりロケーションレジスタ(D−LOC)26の内
容は2サイクル遅れてロケーションレジスタ(W−LO
C)28に移動し、同レジスタ(W−LOC)28は、
サイクルT4で分岐命令Bのロケーションを、次のサイ
クルT5でロード命令Lのロケーションを、更に次のサ
イクルT6で分岐先命令N1のロケーションを、それぞ
れ示すことになる。
Now, the detection of the interrupt (in the interrupt detecting device 17) is performed in the W stage as described above. Therefore, an instruction location is required in the W stage.
Therefore, in this embodiment, the location register (D-LO
C) The output side of the location register (E-LO
C) 27 and location register (W-LOC) 2
8 are connected in multiple stages so that the pipeline operation is performed up to the W stage in synchronization with the instruction. As a result, the contents of the location register (D-LOC) 26 are delayed by two cycles and the contents of the location register (W-LO) are delayed.
C) 28, the same register (W-LOC) 28,
In the cycle T4, the location of the branch instruction B is shown, in the next cycle T5, the location of the load instruction L is shown, and in the next cycle T6, the location of the branch destination instruction N1 is shown.

【0034】ここで、前記したように、ロード命令Lの
Dステージ(サイクルT3)でアドレス変換割込みが発
生し、同命令LのWステージ(サイクルT5)において
有効な割込み信号19と割込み処理の先頭命令I1の格
納先を示す割込みアドレス18とが割込み検出装置17
により生成出力されたものとする。この場合、割込みア
ドレス18がセレクタ22により分岐先アドレスとして
選択されてメモリ制御装置11に出力される。また、O
R回路21の出力が真となってメモリ制御装置11に分
岐要求が入る。この結果、サイクルT6以降、割込み処
理命令列I1,I2,I3…がメモリ10からフェッチ
されて、割込み処理が行われる。
Here, as described above, an address translation interrupt occurs at the D stage (cycle T3) of the load instruction L, and the valid interrupt signal 19 and the start of interrupt processing at the W stage (cycle T5) of the same instruction L. The interrupt address 18 indicating the storage destination of the instruction I1 and the interrupt detection device 17
Shall be generated and output by. In this case, the interrupt address 18 is selected as the branch destination address by the selector 22 and output to the memory control device 11. Also, O
The output of the R circuit 21 becomes true, and a branch request is input to the memory control device 11. As a result, after the cycle T6, the interrupt processing instruction sequence I1, I2, I3 ... Is fetched from the memory 10 and the interrupt processing is performed.

【0035】また、サイクルT5(ロード命令LのWス
テージ)において割込み検出装置17から有効な割込み
信号19が出力されると、そのときのロケーションレジ
スタ(W−LOC)28の示す命令ロケーション、即ち
割込み(アドレス変換割込み)を起こしたWステージに
あるロード命令Lのロケーションが、割込み処理からの
戻り先命令のアドレスとして、サイクルT6においてア
ドレスレジスタ(RTN−ADRS)30に保持され
る。同時に、そのときのロケーションレジスタ(E−L
OC)27の示す命令ロケーション、即ちそのときEス
テージにある分岐先命令N1(分岐命令Bの指定する分
岐先命令N1)のロケーション(分岐命令Bの指定する
分岐先アドレス)が、戻り先命令の次に実行すべき命令
のアドレスとして、アドレスレジスタ(NXT−ADR
S)29に保持される。
When a valid interrupt signal 19 is output from the interrupt detector 17 in the cycle T5 (W stage of load instruction L), the instruction location indicated by the location register (W-LOC) 28 at that time, that is, the interrupt. The location of the load instruction L in the W stage that caused the (address conversion interrupt) is held in the address register (RTN-ADRS) 30 in cycle T6 as the address of the return destination instruction from the interrupt processing. At the same time, the location register at that time (EL
The instruction location indicated by OC) 27, that is, the location of the branch destination instruction N1 (the branch destination instruction N1 designated by the branch instruction B) at the E stage at that time (the branch destination address designated by the branch instruction B) is the return destination instruction. As the address of the next instruction to be executed, the address register (NXT-ADR
S) 29.

【0036】次に、上記の割込み処理から復帰する場合
の動作を、先の図2のタイミングチャートの他、図3の
タイミングチャートを参照して説明する。なお、図3に
おいて、B1は割込み処理から戻り先(ロード命令L)
への分岐命令、B2はロード命令Lの次に実行すべき命
令への分岐命令である。またLは割込み処理からの戻り
先命令(割込みを起こしたロード命令)、N1は図2に
示す分岐命令Bの分岐先であった命令である。
Next, the operation for returning from the above interrupt processing will be described with reference to the timing chart of FIG. 2 and the timing chart of FIG. In FIG. 3, B1 is a return destination from the interrupt processing (load instruction L)
To the instruction to be executed next to the load instruction L. Further, L is the return destination instruction from the interrupt processing (load instruction that caused the interrupt), and N1 is the instruction that was the branch destination of the branch instruction B shown in FIG.

【0037】割込み処理から復帰する場合には、まずサ
イクルT11で、分岐先をアドレスレジスタ(RTN−
ADRS)30の示すアドレスとする分岐命令B1、即
ち分岐先を割込み処理からの戻り先(ロード命令L)と
する分岐命令B1がメモリ10からフェッチされ、次の
サイクルT12でその分岐命令B1のDステージが行わ
れる。またサイクルT12では、分岐先をアドレスレジ
スタ(NXT−ADRS)29の示すアドレスとする
(分岐命令B1の遅延スロットに置かれる)分岐命令B
2、即ち戻り先命令(ロード命令L)の次に実行すべき
命令(N1)への分岐命令B2がフェッチされ、更に次
のサイクルT13でその分岐命令B2のDステージが行
われる。
When returning from the interrupt processing, first in cycle T11, the branch destination is set to the address register (RTN-
A branch instruction B1 having an address indicated by ADRS) 30, that is, a branch instruction B1 having a branch destination as a return destination (load instruction L) from the interrupt processing is fetched from the memory 10, and at the next cycle T12, D of the branch instruction B1 is fetched. The stage takes place. In cycle T12, the branch destination is the address indicated by the address register (NXT-ADRS) 29 (placed in the delay slot of the branch instruction B1).
2, that is, the branch instruction B2 to the instruction (N1) to be executed next to the return destination instruction (load instruction L) is fetched, and the D stage of the branch instruction B2 is performed in the next cycle T13.

【0038】上記分岐命令B1のDステージ(サイクル
T12)では、分岐アドレス生成装置13によりアドレ
スレジスタ(RTN−ADRS)30の保持内容が取出
され、同レジスタ(RTN−ADRS)30の示すアド
レス、即ち戻り先命令(ロード命令L)のアドレスが分
岐アドレス15として出力される。この分岐アドレス1
5はセレクタ22により選択されてメモリ制御装置11
に供給される。同時に、有効な分岐信号14が出力さ
れ、メモリ制御装置11に分岐要求が入る。
At the D stage (cycle T12) of the branch instruction B1, the content held in the address register (RTN-ADRS) 30 is taken out by the branch address generation device 13 and the address indicated by the register (RTN-ADRS) 30, that is, The address of the return instruction (load instruction L) is output as the branch address 15. This branch address 1
Memory controller 11 is selected by selector 22
Is supplied to. At the same time, a valid branch signal 14 is output and a branch request is input to the memory controller 11.

【0039】これによりメモリ制御装置11は、分岐命
令B1のDステージ(サイクルT12)で生成された分
岐アドレス15(戻り先のロード命令Lのアドレス)の
指定するロード命令Lをメモリ10から取出して(サイ
クルT13のFステージ)、命令デコード装置12に供
給する。この結果、次のサイクルT14から、分岐命令
Bの遅延スロット内で割込みを起こしたロード命令Lの
Dステージ以降の処理が行われる。
As a result, the memory controller 11 fetches from the memory 10 the load instruction L designated by the branch address 15 (address of the return destination load instruction L) generated at the D stage (cycle T12) of the branch instruction B1. (F stage of cycle T13), and supplies to the instruction decoding device 12. As a result, from the next cycle T14, the processing after the D stage of the load instruction L that caused the interrupt in the delay slot of the branch instruction B is performed.

【0040】次に、上記分岐命令B2のDステージ(サ
イクルT13)では、分岐アドレス生成装置13により
アドレスレジスタ(NXT−ADRS)29の保持内容
が取出され、同レジスタ(NXT−ADRS)29の示
すアドレス、即ち戻り先命令(ロード命令L)の次に実
行すべき命令(N1)のアドレスが分岐アドレス15と
して出力される。この分岐アドレス15はセレクタ22
により選択されてメモリ制御装置11に供給される。同
時に、有効な分岐信号14が出力され、メモリ制御装置
11に分岐要求が入る。
Next, in the D stage (cycle T13) of the branch instruction B2, the content held in the address register (NXT-ADRS) 29 is taken out by the branch address generation device 13, and is shown by the register (NXT-ADRS) 29. The address, that is, the address of the instruction (N1) to be executed next to the return destination instruction (load instruction L) is output as the branch address 15. This branch address 15 is the selector 22
And is supplied to the memory control device 11. At the same time, a valid branch signal 14 is output and a branch request is input to the memory controller 11.

【0041】これによりメモリ制御装置11は、分岐命
令B2のDステージ(サイクルT13)で生成された分
岐アドレス15(戻り先命令Lの次の命令N1のアドレ
ス)の指定する命令N1(遅延スロットに先行していた
分岐命令Bの分岐先の命令)をメモリ10から取出して
(サイクルT14のFステージ)、命令デコード装置1
2に供給する。この結果、次のサイクルT15から、分
岐命令Bの分岐先の命令N1のDステージ以降の処理が
行われる。
As a result, the memory controller 11 selects the instruction N1 (in the delay slot) designated by the branch address 15 (address of the instruction N1 next to the return destination instruction L) generated in the D stage (cycle T13) of the branch instruction B2. The instruction which is the branch destination of the preceding branch instruction B) is fetched from the memory 10 (F stage of cycle T14), and the instruction decoding device 1
Supply to 2. As a result, from the next cycle T15, the processing after the D stage of the branch destination instruction N1 of the branch instruction B is performed.

【0042】このように本実施例では、割込み処理から
復帰する場合には、まずアドレスレジスタ(RTN−A
DRS)30の示す戻り先アドレスの命令(ロード命令
L)への分岐を指定する分岐命令B1が実行され、更に
その分岐命令B1の遅延スロット内でアドレスレジスタ
(NXT−ADRS)29の示す(戻り先命令の次に実
行すべき)命令(N1)への分岐を指定する分岐命令B
2が実行される。
In this way, in this embodiment, when returning from the interrupt processing, first, the address register (RTN-A
The branch instruction B1 designating a branch to the instruction (load instruction L) of the return address indicated by the DRS) 30 is executed, and further the address register (NXT-ADRS) 29 indicates (return in the delay slot of the branch instruction B1. A branch instruction B that specifies a branch to an instruction (N1) to be executed next to the preceding instruction)
2 is executed.

【0043】以上の分岐命令B1,B2の実行により、
本実施例のように戻り先が分岐命令(B)の遅延スロッ
トである場合には、まずその遅延スロット内の割込みを
発生した命令(ロード命令L)が実行され、その命令
(L)の実行後に、遅延スロットに先行していた分岐命
令(B)の分岐先の命令(N1)への分岐が起こり、遅
延スロットへの復帰が可能となる。
By executing the above branch instructions B1 and B2,
When the return destination is the delay slot of the branch instruction (B) as in this embodiment, the instruction (load instruction L) that generated the interrupt in the delay slot is executed first, and the instruction (L) is executed. After that, the branch instruction (B) preceding the delay slot is branched to the branch destination instruction (N1), and the return to the delay slot becomes possible.

【0044】なお、戻り先が分岐命令の遅延スロットで
ない場合には、アドレスレジスタ(NXT−ADRS)
29には戻り先命令に続く命令(次命令)のアドレスが
保持されるため、アドレスレジスタ(RTN−ADR
S)30の示す戻り先命令と、アドレスレジスタ(NX
T−ADRS)29の示すその次の命令への連続したア
ドレスの分岐となる。即ち戻り先が分岐命令の遅延スロ
ットでない場合には、連続したアドレスに対して分岐命
令が2回実行されるだけであり、割込みからの復帰に問
題はない。
When the return destination is not the delay slot of the branch instruction, the address register (NXT-ADRS)
Since the address of the instruction following the return instruction (next instruction) is held in 29, the address register (RTN-ADR
S) 30 return destination instruction and address register (NX
T-ADRS) 29 indicates a branch of consecutive addresses to the next instruction. That is, when the return destination is not the delay slot of the branch instruction, the branch instruction is only executed twice for consecutive addresses, and there is no problem in returning from the interrupt.

【0045】[0045]

【発明の効果】以上詳述したようにこの発明によれば、
割込み処理を開始する際に、割込み処理からの戻り先の
アドレスと、戻り先アドレスの命令の次に実行する命令
のアドレスを保持しておき、割込み処理から復帰する際
には、まず戻り先アドレスへ分岐し、その戻り先命令を
実行した後、戻り先命令の次に実行する命令のアドレス
に分岐する構成としたので、分岐命令の遅延スロット内
からの割込みと遅延スロットへの割込み復帰とが可能と
なる。
As described in detail above, according to the present invention,
When starting interrupt processing, hold the return address from the interrupt processing and the address of the instruction to be executed next to the instruction at the return address, and when returning from the interrupt processing, first return address Since the branch instruction is executed, the return destination instruction is executed, and then the instruction is executed next to the return destination instruction, the interrupt from the delay slot of the branch instruction and the interrupt return to the delay slot are executed. It will be possible.

【0046】このため、遅延スロットに置くことのでき
る命令についての制約が無くなり、遅延スロットが有効
活用できるようになる。また、分岐命令と遅延スロット
とを仮想アドレスのページにまたがって置くこともで
き、ページ境界付近で分岐命令が使用されても性能低下
を招かない。
Therefore, there are no restrictions on the instructions that can be placed in the delay slot, and the delay slot can be effectively used. Further, the branch instruction and the delay slot can be placed over the page of the virtual address, and even if the branch instruction is used near the page boundary, the performance is not deteriorated.

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

【図1】この発明を適用するパイプライン方式の計算機
の一実施例を示す要部のブロック構成図。
FIG. 1 is a block configuration diagram of essential parts showing an embodiment of a pipeline type computer to which the present invention is applied.

【図2】分岐命令の遅延スロット内で割込みが発生した
場合の動作を説明するためのタイミングチャート。
FIG. 2 is a timing chart for explaining an operation when an interrupt occurs in a delay slot of a branch instruction.

【図3】割込み処理から復帰する場合の動作を説明する
ためのタイミングチャート。
FIG. 3 is a timing chart for explaining an operation when returning from interrupt processing.

【図4】パイプライン方式計算機における分岐命令の遅
延スロットを説明するためのタイミングチャート。
FIG. 4 is a timing chart for explaining a delay slot of a branch instruction in a pipeline type computer.

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

10…メモリ、11…メモリ制御装置、12…命令デコ
ード装置、13…分岐アドレス生成装置、14…分岐信
号、15…分岐アドレス、16,20…制御信号、17
…割込み検出装置、18…割込みアドレス、19…割込
み信号、22,25…セレクタ、23…アドレスレジス
タ(B−ADRS)、26…ロケーションレジスタ(D
−LOC)、27…ロケーションレジスタ(E−LO
C)、28…ロケーションレジスタ(W−LOC)、2
9…アドレスレジスタ(NXT−ADRS、第2のアド
レス保持手段)、30…アドレスレジスタ(RTN−A
DRS、第1のアドレス保持手段)。
10 ... Memory, 11 ... Memory control device, 12 ... Instruction decoding device, 13 ... Branch address generation device, 14 ... Branch signal, 15 ... Branch address, 16, 20 ... Control signal, 17
... interrupt detection device, 18 ... interrupt address, 19 ... interrupt signal, 22, 25 ... selector, 23 ... address register (B-ADRS), 26 ... location register (D
-LOC), 27 ... Location register (E-LO
C), 28 ... Location register (W-LOC), 2
9 ... Address register (NXT-ADRS, second address holding means), 30 ... Address register (RTN-A
DRS, first address holding means).

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 遅延スロットを持つ分岐命令を処理する
パイプライン方式の計算機において、 割込み処理からの戻り先のアドレスを保持する第1のア
ドレス保持手段と、 前記割込み処理からの戻り先アドレスの命令の次に実行
する命令のアドレスを保持する第2のアドレス保持手段
とを具備し、 割込み処理から復帰する際には、前記第1のアドレス保
持手段に保持されている戻り先アドレスへ分岐し、その
戻り先の命令を実行した後、前記第2のアドレス保持手
段に保持されている命令アドレスに分岐するようにした
ことを特徴とする割込み処理方式。
1. In a pipeline type computer for processing a branch instruction having a delay slot, first address holding means for holding an address of a return destination from interrupt processing, and an instruction of a return destination address from the interrupt processing. Second address holding means for holding the address of the instruction to be executed next, and when returning from the interrupt processing, branches to the return address held in the first address holding means, An interrupt processing method characterized in that after executing the instruction of the return destination, the instruction is branched to the instruction address held in the second address holding means.
JP30288491A 1991-11-19 1991-11-19 Interruption processing system Pending JPH05143363A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30288491A JPH05143363A (en) 1991-11-19 1991-11-19 Interruption processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30288491A JPH05143363A (en) 1991-11-19 1991-11-19 Interruption processing system

Publications (1)

Publication Number Publication Date
JPH05143363A true JPH05143363A (en) 1993-06-11

Family

ID=17914266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30288491A Pending JPH05143363A (en) 1991-11-19 1991-11-19 Interruption processing system

Country Status (1)

Country Link
JP (1) JPH05143363A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815696A (en) * 1996-07-08 1998-09-29 Hitachi, Ltd. Pipeline processor including interrupt control system for accurately perform interrupt processing even applied to VLIW and delay branch instruction in delay slot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815696A (en) * 1996-07-08 1998-09-29 Hitachi, Ltd. Pipeline processor including interrupt control system for accurately perform interrupt processing even applied to VLIW and delay branch instruction in delay slot

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5127091A (en) System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
US5461722A (en) Parallel processing apparatus suitable for executing in parallel a plurality of instructions including at least two branch instructions
US5706459A (en) Processor having a variable number of stages in a pipeline
US5961633A (en) Execution of data processing instructions
US4967350A (en) Pipelined vector processor for executing recursive instructions
US5226166A (en) Parallel operation processor with second command unit
JP2535252B2 (en) Parallel processor
US5333281A (en) Advanced instruction execution system for assigning different indexes to instructions capable of parallel execution and same indexes to instructions incapable of parallel execution
US5117499A (en) Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
US5504870A (en) Branch prediction device enabling simultaneous access to a content-addressed memory for retrieval and registration
JPH05143363A (en) Interruption processing system
JP3017866B2 (en) Interrupt processing method
EP0700005B1 (en) Vector data bypass mechanism for vector computer
US20050015561A1 (en) Memory control method and memory control apparatus
KR970012141A (en) Data processing device performing pipeline processing
JPS60241136A (en) Data processor
JPH07114509A (en) Memory access device
JPH06131180A (en) Instruction processing system and instruction processor
JP3493110B2 (en) High-speed branch processing unit
JP3325309B2 (en) Subroutine return instruction processing unit
JP2925842B2 (en) Pipeline processing equipment
JPH0774992B2 (en) Data processing device
JP2591325B2 (en) Branch control device
JPH06149569A (en) Register number changing device