JP3017866B2 - Interrupt processing method - Google Patents

Interrupt processing method

Info

Publication number
JP3017866B2
JP3017866B2 JP3301471A JP30147191A JP3017866B2 JP 3017866 B2 JP3017866 B2 JP 3017866B2 JP 3301471 A JP3301471 A JP 3301471A JP 30147191 A JP30147191 A JP 30147191A JP 3017866 B2 JP3017866 B2 JP 3017866B2
Authority
JP
Japan
Prior art keywords
branch
address
instruction
register
interrupt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3301471A
Other languages
Japanese (ja)
Other versions
JPH05143362A (en
Inventor
義幸 加藤
禎 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP3301471A priority Critical patent/JP3017866B2/en
Publication of JPH05143362A publication Critical patent/JPH05143362A/en
Application granted granted Critical
Publication of JP3017866B2 publication Critical patent/JP3017866B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

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 computer, when a branch instruction is processed in a pipeline, a subsequent instruction is taken into the pipeline before execution of the branch unless a branch is performed in the first stage of the pipeline. Hazard occurs in pipeline.

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

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

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

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

【0007】[0007]

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

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

【0009】[0009]

【課題を解決するための手段】この本発明は、命令のデ
コードを司る命令デコード装置(12)と、この命令デ
コード装置(12)によってデコードされた分岐命令か
ら分岐先を示す分岐アドレス(15)を生成すると共
に、それより1サイクル遅れた第1の制御信号(16)
を生成する分岐アドレス生成装置(13)と、パイプラ
インの最終ステージで割込み発生に伴う割込みアドレス
(18)及び割込み信号(19)を生成すると共に、そ
れより1サイクル遅れた第2の制御信号(20)を生成
する割込み検出装置(17)と、上記分岐アドレス(1
5)または割込みアドレス(18)を分岐先アドレスと
して保持する第1の分岐先アドレスレジスタ(23)
と、通常はデコードステージの命令ロケーションをイン
クリメントした次の命令ロケーションを選択し、上記第
1または第2の制御信号(16または20)が出力され
た場合には上記第1の分岐先アドレスレジスタ(23)
の出力を選択するセレクタ(25)と、このセレクタ
(25)の選択出力を新たなデコードステージの命令ロ
ケーションとして保持する第1のロケーションレジスタ
(26)と、このロケーションレジスタ(26)の出力
をパイプラインサイクルに応じて順次保持する、デコー
ドステージに後続する各ステージに対応した段数の第2
のロケーションレジスタ(27,28)の列と、上記第
1の分岐先アドレスレジスタ(23)の出力をパイプラ
インサイクルに応じて順次保持する、デコードステージ
に後続する各ステージに対応した段数の第2の分岐先ア
ドレスレジスタ(31,32)の列と、上記第1の制御
信号(16)の状態をパイプラインサイクルに応じて順
次保持する、デコードステージに後続する各ステージに
対応した段数の状態レジスタ(33,34)の列と、上
記第2のロケーションレジスタ(27,28)の列の最
終段レジスタ(28)の出力を割込み処理からの戻り先
のアドレスとして上記割込み信号(19)に応じて保持
する戻り先アドレスレジスタ(30)と、上記第2の分
岐先アドレスレジスタ(31,32)の列の最終段レジ
スタ(32)の出力を割込み処理からの戻り先である遅
延スロットに先行する分岐命令の分岐先アドレスとして
上記割込み信号(19)に応じて保持する第3の分岐先
アドレスレジスタ(29)と、上記状態レジスタ(3
3,34)の列の最終段レジス タ(34)の出力を割込
み処理からの戻り先が遅延スロット内であるか否かを示
す識別情報として上記割込み信号(19)に応じて保持
する識別情報レジスタ(35)とを備え、上記分岐アド
レス生成装置(13)は、割込み処理から復帰する際に
は、上記識別情報レジスタ(35)に保持されている識
別情報から戻り先が遅延スロット内であるか否かを判別
し、遅延スロット内であれば上記戻り先アドレスレジス
タ(30)に保持されているアドレスを分岐先アドレス
(15)として出力すると共に、後続のサイクルで上記
第3の分岐先アドレスレジスタ(29)に保持されてい
るアドレスを分岐先アドレスとして出力し、遅延スロッ
ト内でなければ戻り先アドレスレジスタ(30)に保持
されているアドレスのみを分岐先アドレス(15)とし
て出力するようにしたことを特徴とするものである。
SUMMARY OF THE INVENTION The present invention provides a method for decoding instructions.
An instruction decoding device (12) for controlling the code;
Whether the branch instruction is decoded by the code unit (12)
When a branch address (15) indicating the branch destination is generated from
And a first control signal (16) delayed by one cycle therefrom.
Address generating device (13) for generating
Address at the last stage of the interrupt
(18) and an interrupt signal (19), and
Generates the second control signal (20) one cycle behind
Interrupt detection device (17), and the branch address (1)
5) Or, use the interrupt address (18) as the branch destination address.
First branch destination address register (23) to hold
The instruction location of the decode stage.
Select the next instruction location that has been incremented, and
The first or second control signal (16 or 20) is output
The first branch destination address register (23)
Selector (25) for selecting the output of
The selected output of (25) is transferred to the instruction
1st location register held as application
(26) and the output of this location register (26)
Are sequentially stored according to the pipeline cycle.
The second number of stages corresponding to each stage following the
Of the location registers (27, 28)
1 outputs the output of the branch destination address register (23) to the pipeline.
Decode stage that holds sequentially according to the in-cycle
The second branch destination address of the number of stages corresponding to each stage following
A row of dress registers (31, 32) and the first control
The state of the signal (16) is sequentially changed according to the pipeline cycle.
Next hold, in each stage following the decode stage
A row of status registers (33, 34) of the corresponding number of stages
In the column of the second location register (27, 28),
Output of the final stage register (28) to the return destination from interrupt processing
Is held in accordance with the interrupt signal (19).
Return address register (30)
Last stage register of the column of the foremost address register (31, 32)
The output of the master (32) is output to the delay
As the branch destination address of the branch instruction preceding the extension slot
Third branch destination held in response to the interrupt signal (19)
The address register (29) and the status register (3
The final stage register of the column of 3,34) interrupt the output of the (34)
Indicates whether the return from the process is within the delay slot
Retained as identification information according to the interrupt signal (19).
And an identification information register (35) that performs
When returning from the interrupt processing , the address generation device (13) determines whether or not the return destination is within the delay slot based on the identification information held in the identification information register (35) . If above, return address register
Address (30) is the branch destination address
Output as (15), and in the subsequent cycle
Stored in the third branch destination address register (29).
If the address is not within the delay slot, only the address held in the return address register (30) is used as the branch address (15).
Is output .

【0010】[0010]

【作用】上記の構成においては、命令デコード装置(1
2)により遅延スロットを持つ分岐命令がデコードされ
た結果、分岐アドレス生成装置(13)から分岐アドレ
ス(15)が生成されると、その分岐アドレス(15)
は、次のサイクルで当該分岐アドレス生成装置(13)
から出力される第1の制御信号(16)に応じて分岐先
アドレスとして第1の分岐先アドレスレジスタ(23)
に保持される。このとき第1のロケーションレジスタ
(26)には、上記分岐命令の遅延スロットで実行され
る命令のロケーション(つまり分岐命令の次のロケーシ
ョン)が保持される。 第1のロケーションレジスタ(2
6)の内容(遅延スロット内の命令のロケーション)
は、パイプラインサイクルに同期して後段の第2のロケ
ーションレジスタ(27,28)の列に順に移動され
る。同時に、第1の分岐先アドレスレジスタ(23)の
内容(分岐先アドレス)がパイプラインサイクルに同期
して後段のレジスタ(26,27)の列に順に移動され
ると共に、第2の分岐先アドレスレジスタ(31,3
2)の列にも順に移動される。また、上記分岐先アドレ
スより1サイクル遅れて生成された第1の制御信号、即
ち当該分岐先アドレスに対応する第1の制御信号(1
6)の状態が、第1の分岐先アドレスレジスタ(23)
の内容(分岐先アドレス)と同様に、状態レジスタ(3
3,34)の列に順に移動される。 したがって、遅延ス
ロット内の命令のロケーションが後段の第2のロケーシ
ョンレジスタ(27,28)の列の最終段レジスタ(2
8)に移動された段階では、つまり遅延スロット内の命
令がパイプラインの最終ステージに進んだ段階では、当
該遅延スロットに先行する分岐命令の分岐先アドレスは
第2の分岐先アドレスレジスタ(31,32)の列の最
終段レジスタ(32)に、当該分岐先アドレスに対応す
る第1の制御信号(16)の状態は状態レジスタ(3
3,34)の列の最終段レジスタ(34)に、それぞれ
移動される。割り込み検出装置は、命令実行に伴う割込
みの発生を最終のパイプラインステージに先行するステ
ージで検出しており、遅延スロット内の命令の最終パイ
プラインステージに先行するステ ージで当該命令の実行
に伴う割込み発生を検出すると、次のパイプラインステ
ージ、即ち最終パイプラインステージで割込みアドレス
及び割込み信号を生成する。これにより、割込みアドレ
スで指定される命令を先頭とする割込み処理命令列に従
う割込み処理が開始される。このとき、第2のロケーシ
ョンレジスタ(27,28)の列の最終段レジスタ(2
8)には遅延スロット内の命令のロケーションが、第2
の分岐先アドレスレジスタ(31,32)の列の最終段
レジスタ(32)には当該遅延スロットに先行する分岐
命令の分岐先アドレスが、状態レジスタ(33,34)
の列の最終段レジスタ(34)には当該分岐先アドレス
に対応する第1の制御信号(16)の状態が、それぞれ
保持されており、これらは上記割込み信号に同期して、
戻り先アドレスレジスタ(30)、第3の分岐先アドレ
スレジスタ(29)、識別情報レジスタ(35)に保持
される。分岐アドレス生成装置(13)では、割込み処
理から復帰する際には、まず識別情報レジスタ(35)
に保持されている識別情報をもとに、戻り先が遅延スロ
ット内であるか否かが判別される。
In the above configuration, the instruction decoding device (1
2) the branch instruction having the delay slot is decoded
As a result, the branch address is generated from the branch address generator (13).
When the address (15) is generated, the branch address (15)
In the next cycle, the branch address generator (13)
According to the first control signal (16) output from the
First branch destination address register (23) as address
Is held. At this time, the first location register
In (26), the instruction is executed in the delay slot of the branch instruction.
Instruction location (that is, the location next to the branch instruction)
Is maintained. The first location register (2
Contents of 6) (location of instruction in delay slot)
Is synchronized with the pipeline cycle in the second location
Are sequentially moved to the row of the option register (27, 28).
You. At the same time, the first branch destination address register (23)
Contents (branch destination address) synchronized with pipeline cycle
Are sequentially moved to the columns of the registers (26, 27) at the subsequent stage.
And the second branch destination address register (31, 3
It is also moved to the column of 2) in order. In addition, the above branch destination address
Control signal generated one cycle later than the
First control signal (1) corresponding to the branch destination address
The state of 6) is the first branch destination address register (23)
Of the status register (3
(3, 34). Therefore, the delay
The location of the instruction in the lot is the second location
Register (27, 28)
At the stage moved to 8), the life in the delay slot
When the decree has advanced to the final stage of the pipeline,
The branch destination address of the branch instruction preceding the delay slot is
In the column of the second branch destination address register (31, 32),
The final stage register (32) stores the address corresponding to the branch destination address.
The state of the first control signal (16) is
In the last stage register (34) of the column of (3, 34), respectively,
Be moved. The interrupt detection device uses an interrupt
The stage prior to the final pipeline stage
At the end of the instruction in the delay slot.
Execution of the instruction stearyl over di preceding spline stage
When the occurrence of an interrupt is detected, the next pipeline stage
Page, that is, the interrupt address in the last pipeline stage
And generate an interrupt signal. This allows the interrupt address
According to the interrupt processing instruction sequence starting with the instruction specified by
The interrupt processing is started. At this time, the second location
Register (27, 28)
8) shows the location of the instruction in the delay slot
Last stage of column of branch destination address register (31, 32)
The branch preceding the delay slot is stored in the register (32).
The branch destination address of the instruction is the status register (33, 34)
Is stored in the last register (34) of the column
The state of the first control signal (16) corresponding to
And these are synchronized with the above interrupt signal,
Return address register (30), third branch address
Register (29), identification information register (35)
Is done. In the branch address generation device (13), when returning from the interrupt processing, first, the identification information register (35)
It is determined whether or not the return destination is within the delay slot based on the identification information stored in the delay slot.

【0011】もし、上記の例のように遅延スロット内で
あれば、分岐アドレス生成装置(13)は、戻り先アド
レスレジスタ(30)に保持されているアドレスを分岐
先アドレス(15)として出力すると共に、後続のサイ
クルで第3の分岐先アドレスレジスタ(29)に保持さ
れているアドレスを分岐先アドレスとして出力する。こ
れにより、まず戻り先アドレスの命令へ分岐し、しかる
後に分岐先アドレスの命令に分岐することができる。
のように、割込み処理からの戻り先が分岐命令の遅延ス
ロットであるならば、遅延スロット内での命令を実行後
に、先行していた分岐命令の分岐先へ分岐することがで
きる。
If the address is within the delay slot as in the above example , the branch address generator (13)
Branch the address held in the address register (30)
Output as the destination address (15), and
In the third branch destination address register (29).
The output address is output as the branch destination address. This
By Les, a branch to the first return address of the instruction, scold
Later, it is possible to branch to the instruction at the branch destination address . As described above, if the return destination from the interrupt processing 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.

【0012】これに対し、戻り先が遅延スロット内でな
ければ、分岐アドレス生成装置(13)は、戻り先アド
レスレジスタ(30)に保持されているアドレスのみを
分岐先アドレス(15)として出力する。これにより、
戻り先アドレスの命令への分岐だけが行われ、その命令
から始まる命令列が実行される。
On the other hand, if the return destination is not within the delay slot, the branch address generator (13)
Only the address held in the address register (30).
Output as the branch destination address (15). This allows
Only the branch to the instruction at the return address is performed, and the instruction sequence starting from that instruction is executed.

【0013】[0013]

【実施例】図1はこの発明を適用するパイプライン方式
の計算機の一実施例を示す要部のブロック構成図であ
る。なお、本実施例では、パイプラインを、Fステー
ジ、Dステージ、EステージおよびWステージの4段構
成とし、Dステージで分岐処理を行うものとする。ま
た、遅延スロットの段数は、Dステージで分岐処理を行
うことから、1段であるものとする。
FIG. 1 is a block diagram of a main part 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 of an F stage, a D stage, an E stage, and a W stage, and the branch processing is performed at the D stage. The number of stages of the delay slot is assumed to be one because branch processing is performed in the D stage.

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

【0015】12はメモリ制御装置11から供給される
命令のデコードを司る命令デコード装置、13は分岐ア
ドレス生成装置である。この分岐アドレス生成装置13
は、命令デコード装置12によってデコードされた分岐
命令から、分岐成立時に真となる分岐信号14と分岐ア
ドレス15とを生成し出力する。分岐アドレス生成装置
13はまた、分岐信号14より1サイクル遅れて真とな
る制御信号16をも生成するようになっている。制御信
号16は、現在Dステージにある命令が遅延スロット内
の命令(分岐命令の次の命令)であることを示すもの
で、後述するDステージのロケーションレジスタ26へ
の分岐先アドレスの取込みを制御するのに用いられる。
Reference numeral 12 denotes an instruction decoding device for decoding an instruction supplied from the memory control device 11, and reference numeral 13 denotes a branch address generation device. This branch address generation device 13
Generates and outputs a branch signal 14 and a branch address 15 which become true when a branch is taken from a 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.

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

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

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

【0019】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, and 27 is a location register 2
A location register (E-LOC) 28 for holding the output of 6 as an instruction location of the E stage, and a location register (W-LOC) 28 for holding the output of the location register 27 as the instruction location of the W stage.

【0020】29は後述するアドレスレジスタ(B−A
DRS2)32の示す分岐先アドレスを割込み検出装置
17からの割込み信号19に応じて保持するためのアド
レスレジスタ(B−ADRS3)である。割込み処理か
らの戻り先が遅延スロット内である場合、このレジスタ
29には、遅延スロットの命令の実行後に分岐しなけれ
ばならないアドレス(遅延スロットに先行する分岐命令
の分岐先アドレス)が保持されるようになっている。3
0はロケーションレジスタ28の出力を割込み処理から
の戻り先アドレスとして上記割込み信号19に応じて保
持するためのアドレスレジスタ(RTN−ADRS)で
ある。
Reference numeral 29 denotes an address register (BA) to be described later.
DRS2) is an address register (B-ADRS3) for holding the branch destination address indicated by 32 in response to the interrupt signal 19 from the interrupt detection device 17. When the return destination from the interrupt processing is in the delay slot, this register 29 holds an address that must branch after execution of the instruction in the delay slot (branch destination address of a branch instruction preceding the delay slot). It has become. 3
Reference numeral 0 denotes an address register (RTN-ADRS) for holding the output of the location register 28 as a return address from the interrupt processing in accordance with the interrupt signal 19.

【0021】31はアドレスレジスタ(B−ADRS)
23の内容を1サイクル遅れて保持するためのアドレス
レジスタ(B−ADRS1)、32はアドレスレジスタ
(B−ADRS1)31の内容を1サイクル遅れて保持
するためのアドレスレジスタ(B−ADRS3)であ
る。
31 is an address register (B-ADRS)
An address register (B-ADRS1) for holding the contents of 23 one cycle later, and an address register (B-ADRS3) 32 for holding the contents of the address register (B-ADRS1) 31 one cycle later. .

【0022】33は制御信号16の状態を保持するため
のレジスタ(E−S)であり、Eステージの命令が分岐
命令の遅延スロットであるか否かを示す。34はレジス
タ(E−S)33の内容を1サイクル遅れて保持するた
めのレジスタ(W−S)であり、Wステージの命令が分
岐命令の遅延スロットであるか否かを示す。35はレジ
スタ(W−S)34の内容を割込み検出装置17からの
割込み信号19に応じて保持するためのレジスタ(R−
S)であり、割込み処理からの戻り先が遅延スロットで
あるか否かを示す。
Reference numeral 33 denotes a register (ES) for holding the state of the control signal 16, and indicates whether or not the instruction at the E stage is a delay slot for a branch instruction. Reference numeral 34 denotes a register (WS) for holding the contents of the register (ES) 33 with a delay of one cycle, and indicates whether or not the instruction at the W stage is a delay slot for a branch instruction. Reference numeral 35 denotes a register (R-S) for holding the contents of the register (WS) 34 in response to the interrupt signal 19 from the interrupt detector 17.
S), and indicates whether the return destination from the interrupt processing is a delay slot.

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

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

【0025】命令デコード装置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. Thereby, in the case of the branch instruction B, the branch address generation device 1
3, a determination is made as to whether the branch is taken or not. When the branch is taken, a valid branch signal 14 and a branch address 15 indicating the storage location 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 transmitting the branch signal 14 for one cycle is output from the branch address generation device 13.

【0026】分岐アドレス生成装置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. As long as the interrupt signal 19 from the interrupt detection device 17 is not 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 a branch destination address. At this time, the output of the OR circuit 21 is a valid branch signal 1 from the branch address generator 13.
4 is true, and a branch request is input to the memory control device 11.

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

【0028】さて、サイクル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, an operand address is generated in the next cycle T3 (D stage). Then, in the next cycle T4 (E stage), the interrupt detection device 17 detects an address conversion interrupt.

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

【0030】割込み検出装置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 one input of the selector 22. When an interrupt is detected by the interrupt detector 17, the selector 22 selects an interrupt address 18, which is one input of the selector, according to a valid interrupt signal 19 from the interrupt detector 17, and selects the interrupt address as a branch destination address. Output to the memory control device 11. At this time, the output of the OR circuit 21 is a valid interrupt signal 1 from the interrupt detection device 17.
9 is true, and a branch request is input to the memory control device 11.

【0031】これによりメモリ制御装置11は、ロード
命令LのWステージ(サイクルT5)で生成された割込
みアドレス18の指定する割込み処理命令I1から始ま
る割込み処理命令列I1,I2,I3…を、次のサイク
ルT6以降、メモリ10から順に取出して命令デコード
装置12に供給する。この結果、割込み処理が開始され
る。
Thus, the memory control device 11 transmits the interrupt processing instruction sequence I1, I2, I3... Starting from the interrupt processing instruction I1 specified by the interrupt address 18 generated in 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, an interrupt process is started.

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

【0033】まず、セレクタ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. You. The branch destination address held in the address register 23 is supplied to one input of the selector 25. The 0-side input of the selector 25 has the next instruction location obtained by incrementing the current D-stage instruction location indicated by the location register (D-LOC) 26 (for example, if the current D-stage is a branch instruction B, , The location of load instruction L in the delay slot of instruction B).

【0034】セレクタ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 selecting operation in accordance with the output of the OR circuit 24. If the output of the OR circuit 24 is false, the 0 side (next instruction location); if it is true, the 1 side (branch destination address). Select The output of the OR circuit 24 is false when the control signal 16 from the branch address generator 13 and the control signal 20 from the interrupt detector 17 are both false, that is, when neither branch nor interrupt occurs. In that case, the instruction location next to the instruction location of the current D stage 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 a location register (D-LOC) 26.

【0035】本実施例では、分岐アドレスは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 at the D stage, and the delay slot of the branch instruction is one stage. Thus, the instruction location of the D stage will change to the location of the branch destination two cycles after the branch instruction (ie, in the next cycle of the delay slot). Therefore, in this embodiment, the branch destination address selectively output from the selector 22 to the memory control device 11 as described above is supplied to one side of the selector 25 while being delayed by one cycle by being held in the address register 23. 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 branch destination location two cycles after the branch instruction. .

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

【0037】さて、(割込み検出装置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のロケーションを、それぞ
れ示すことになる。
The detection of an interrupt (in the interrupt detecting device 17) is performed in the W stage as described above. For this reason, an instruction location is required in the W stage.
Therefore, in this embodiment, the location register (D-LO
C) On the output side of 26, a location register (E-LO
C) 27 and location register (W-LOC) 2
8 are connected in multiple stages, and the location is pipelined to the W stage in synchronization with the instruction. As a result, the content of the location register (D-LOC) 26 is delayed by two cycles to the location register (W-LOC).
C) 28, and the register (W-LOC) 28
The cycle T4 indicates the location of the branch instruction B, the next cycle T5 indicates the location of the load instruction L, and the next cycle T6 indicates the location of the branch destination instruction N1.

【0038】また本実施例では、割込みが発生した場合
に、その割込みを起こした命令が遅延スロット内である
か否か、したがって割込み処理からの戻り先が遅延スロ
ット内であるか否かを識別するために、分岐アドレス生
成装置13から出力される制御信号16(分岐信号14
を1サイクル遅らせた信号)の状態を保持する2段接続
構成のレジスタ(E−S)33並びにレジスタ(W−
S)34を設け、制御信号16もWステージ(割込み検
出時)まで命令に同期してパイプライン動作させるよう
にしている。
In this embodiment, when an interrupt occurs, it is determined whether or not the instruction that caused the interrupt is in the delay slot, and therefore, whether or not the return from the interrupt processing is in the delay slot. Control signal 16 (branch signal 14) output from the branch address generator 13
(E-S) 33 and a register (W-
S) 34 is provided, and the control signal 16 is also operated in a pipeline operation in synchronization with the instruction until the W stage (when an interrupt is detected).

【0039】更に本実施例では、アドレスレジスタ(B
−ADRS)23の出力側に、2段接続構成のアドレス
レジスタ(B−ADRS1)31並びにアドレスレジス
タ(B−ADRS2)32を設け、分岐先アドレスもW
ステージまで命令に同期してパイプライン動作させて割
込み検出時まで保持するようにしている。
Further, in this embodiment, the address register (B
-ADRS) 23, an address register (B-ADRS1) 31 and an address register (B-ADRS2) 32 having a two-stage connection structure are provided on the output side.
Up to the stage, pipeline operation is performed in synchronization with the instruction, and the operation is held until the interrupt is detected.

【0040】さて、前記したように、分岐命令BのDス
テージ(サイクルT2)で分岐アドレス生成装置13か
ら分岐信号14と分岐先の命令N1を示す分岐アドレス
15とが出力されると、次のサイクルT3で、分岐信号
14を1サイクル遅らせた制御信号16が出力される。
この制御信号16の状態は、パイプラインサイクルに同
期してレジスタ(E−S)33に保持される。同様に、
レジスタ(E−S)33の出力は、パイプラインサイク
ルに同期して次段のレジスタ(W−S)34に保持され
る。したがって、サイクルT4においてレジスタ(E−
S)33の内容が“1”となり、次のサイクルT5にお
いてレジスタ(W−S)34の内容が“1”となる。
As described above, when the branch signal 14 and the branch address 15 indicating the instruction N1 at the branch destination are output from the branch address generator 13 at the D stage (cycle T2) of the branch instruction B, the following is performed. In the cycle T3, the control signal 16 obtained by delaying the branch signal 14 by one cycle is output.
The state of the control signal 16 is held in the register (ES) 33 in synchronization with the pipeline cycle. Similarly,
The output of the register (ES) 33 is held in the register (WS) 34 at the next stage in synchronization with the pipeline cycle. Therefore, the register (E-
S) 33 becomes "1", and in the next cycle T5, the contents of the register (WS) 34 become "1".

【0041】また、上記の分岐先の命令N1を示す分岐
アドレス15は、サイクルT3でアドレスレジスタ(B
−ADRS)23に保持される。このアドレスレジスタ
(B−ADRS)23の内容(分岐先命令N1への分岐
先アドレス)は、次のサイクルT4でアドレスレジスタ
(B−ADRS1)31に移され、更に次のサイクルT
5ではアドレスレジスタ(B−ADRS2)32に移さ
れる。
The branch address 15 indicating the branch destination instruction N1 is stored in the address register (B) in cycle T3.
-ADRS) 23. The contents of the address register (B-ADRS) 23 (the branch destination address to the branch destination instruction N1) are transferred to the address register (B-ADRS1) 31 in the next cycle T4, and further in the next cycle T
At 5, the data is moved to the address register (B-ADRS2) 32.

【0042】ここで、前記したように、ロード命令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 conversion interrupt occurs at the D stage (cycle T3) of the load instruction L, and the effective interrupt signal 19 and the start of the interrupt processing at the W stage (cycle T5) of the instruction L The interrupt address 18 indicating the storage location of the instruction I1 and the interrupt detection device 17
Is assumed to be generated and output. 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 sequences I1, I2, I3,... Are fetched from the memory 10, and the interrupt processing is performed.

【0043】また、サイクルT5(ロード命令LのWス
テージ)において割込み検出装置17から有効な割込み
信号19が出力されると、そのときのロケーションレジ
スタ(W−LOC)28の示す命令ロケーション、即ち
割込み(アドレス変換割込み)を起こしたWステージに
あるロード命令Lのロケーションが、割込み処理からの
戻り先命令のアドレスとして、サイクルT6においてア
ドレスレジスタ(RTN−ADRS)30に保持され
る。
When a valid interrupt signal 19 is output from the interrupt detector 17 in the cycle T5 (W stage of the 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 has caused the (address conversion interrupt) is held in the address register (RTN-ADRS) 30 in cycle T6 as the address of the instruction to return from the interrupt processing.

【0044】同時に、サイクルT5でのレジスタ(W−
S)34の内容(“1”)がレジスタ(R−S)35に
保持される。このときのレジスタ(R−S)35の内容
(“1”)は、サイクルT3において分岐アドレス生成
装置13から出力された制御信号16の状態に一致して
おり、割込み処理からの戻り先が分岐命令(ここでは分
岐命令B)の遅延スロットであることを示す。
At the same time, the register (W-
The contents (“1”) of S) 34 are held in the register (RS) 35. At this time, the content (“1”) of the register (RS) 35 matches the state of the control signal 16 output from the branch address generator 13 in the cycle T3, and the return destination from the interrupt processing branches. Indicates a delay slot of an instruction (here, a branch instruction B).

【0045】また、サイクルT5でのアドレスレジスタ
(B−ADRS2)32の内容(遅延スロットに先行し
ていた分岐命令Bの分岐先アドレス)が、サイクルT6
においてアドレスレジスタ(B−ADRS3)29に保
持される。
The contents of the address register (B-ADRS2) 32 in the cycle T5 (the branch destination address of the branch instruction B preceding the delay slot) are stored in the cycle T6.
At the address register (B-ADRS3) 29.

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

【0047】割込み処理から復帰する場合には、まずレ
ジスタ(R−S)35の内容に応じて分岐する分岐命令
が実行される。この分岐命令のDステージ(サイクルT
10とする)では、分岐アドレス生成装置13によりレ
ジスタ(R−S)35の内容が調べられ、本実施例のよ
うに遅延スロット内への復帰であることが示されている
ならば、サイクルT11以降、以下に述べる分岐命令B
1,B2が実行される。
When returning from the interrupt processing, first, a branch instruction for branching according to the contents of the register (RS) 35 is executed. The D stage of this branch instruction (cycle T
10), the contents of the register (RS) 35 are checked by the branch address generator 13 and if it is indicated that the operation is to return to the delay slot as in the present embodiment, the cycle T11 is executed. Hereinafter, the branch instruction B described below
1, B2 are executed.

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

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

【0050】これによりメモリ制御装置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 specified by the branch address 15 (the address of the return load instruction L) generated in the D stage (cycle T12) of the branch instruction B1. (F stage of cycle T13), and supplies it 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.

【0051】次に、上記分岐命令B2のDステージ(サ
イクルT13)では、分岐アドレス生成装置13により
アドレスレジスタ(B−ADRS3)29の保持内容が
取出され、同レジスタ(B−ADRS3)29の示すア
ドレス、即ち戻り先命令(ロード命令L)に先行する分
岐命令(B)の分岐先命令(N1)のアドレスが分岐ア
ドレス15として出力される。この分岐アドレス15は
セレクタ22により選択されてメモリ制御装置11に供
給される。同時に、有効な分岐信号14が出力され、メ
モリ制御装置11に分岐要求が入る。
Next, in the D stage (cycle T13) of the branch instruction B2, the contents held in the address register (B-ADRS3) 29 are fetched by the branch address generator 13 and indicated by the register (B-ADRS3) 29. The address, that is, the address of the branch instruction (N1) of the branch instruction (B) preceding the return instruction (load instruction L) is output as the branch address 15. The branch address 15 is selected by the selector 22 and 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 control device 11.

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

【0053】このように本実施例では、割込み処理から
復帰する場合には、まずレジスタ(R−S)35の内容
が調べられ、遅延スロット内への復帰であることが示さ
れているならば、アドレスレジスタ(RTN−ADR
S)30の示す戻り先アドレスの命令(ロード命令L)
への分岐を指定する分岐命令B1が実行され、更にその
分岐命令B1の遅延スロット内でアドレスレジスタ(B
−ADRS3)29の示す命令(戻り先命令Lに先行す
る分岐命令Bの分岐先の命令N1)への分岐を指定する
分岐命令B2が実行される。
As described above, in the present embodiment, when returning from the interrupt processing, first, the contents of the register (RS) 35 are examined, and if it is indicated that the operation is to return to the delay slot, it is indicated. , Address register (RTN-ADR
S) Instruction at return address indicated by 30 (load instruction L)
The branch instruction B1 designating the branch to the branch instruction B1 is executed, and the address register (B
-ADRS3) The branch instruction B2 that specifies the branch to the instruction indicated by 29 (the branch instruction N1 of the branch instruction B preceding the return instruction L) is executed.

【0054】以上の分岐命令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, first, the instruction (load instruction L) that generated the interrupt in the delay slot is executed, and the execution of the instruction (L) is executed. Later, the branch instruction (B) preceding the delay slot branches to the branch destination instruction (N1), and the return to the delay slot becomes possible.

【0055】一方、戻り先が分岐命令の遅延スロットで
ない場合には、分岐命令B1だけがフェッチされて、ア
ドレスレジスタ(RTN−ADRS)30の示す戻り先
命令への分岐が行われ、割込み処理から復帰する。復帰
後の通常処理では、戻り先命令に後続する命令列が実行
される。
On the other hand, if the return destination is not the delay slot of the branch instruction, only the branch instruction B1 is fetched, and a branch to the return instruction indicated by the address register (RTN-ADRS) 30 is performed. Return. In the normal processing after the return, the instruction sequence following the return instruction is executed.

【0056】[0056]

【発明の効果】以上詳述したようにこの発明によれば、
割込み処理を開始する際に、割込み処理からの戻り先の
アドレスと、割込み処理からの戻り先が遅延スロット内
であるか否かを示す識別情報を保持すると共に、割込み
処理からの戻り先が分岐命令の遅延スロットである場合
には、この遅延スロットに先行する分岐命令の分岐先ア
ドレスを保持しておき、割込み処理から復帰する際に
は、保持しておいた識別情報から戻り先が遅延スロット
内であるか否かを判別し、遅延スロットへの復帰であれ
ば、まず戻り先アドレスへ分岐して、その戻り先の命令
を実行した後、戻り先の命令に先行していた分岐命令の
分岐先アドレスに分岐し、遅延スロット外への復帰であ
れば、戻り先アドレスだけに分岐する構成としたので、
分岐命令の遅延スロット内からの割込みと遅延スロット
への割込み復帰とが可能となる。
As described in detail above, according to the present invention,
At the start of interrupt processing, while holding the address of the return destination from the interrupt processing and identification information indicating whether the return destination from the interrupt processing is within the delay slot, the return destination from the interrupt processing is branched. If the instruction is a delay slot of an instruction, the branch destination address of the branch instruction preceding this delay slot is held, and when returning from interrupt processing, the return destination is the delay slot based on the held identification information. If the return is to the delay slot, first branch to the return address, execute the instruction at the return destination, and then execute the branch instruction preceding the instruction at the return destination. Branching to the branch destination address, and if returning from outside the delay slot, branching to only the return destination address is used.
Interruption of the branch instruction from within the delay slot and return to the delay slot can be performed.

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

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

【図1】この発明を適用するパイプライン方式の計算機
の一実施例を示す要部のブロック構成図。
FIG. 1 is a block diagram of a main part 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 delay slots of branch instructions in the pipeline 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…アドレスレジスタ(B−ADRS3、第2のアドレ
ス保持手段)、30…アドレスレジスタ(RTN−AD
RS、第1のアドレス保持手段)、31…アドレスレジ
スタ(B−ADRS1)、32…アドレスレジスタ(B
−ADRS2)、33…レジスタ(E−S)、34…レ
ジスタ(W−S)、35…レジスタ(R−S、識別情報
保持手段)。
DESCRIPTION OF SYMBOLS 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 (B-ADRS3, second address holding means), 30 ... Address register (RTN-AD
RS, first address holding means), 31 ... address register (B-ADRS1), 32 ... address register (B
-ADRS2), 33 ... register (ES), 34 ... register (WS), 35 ... register (RS, identification information holding means).

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 9/38 JICSTファイル(JOIS) CSDB(日本国特許庁)──────────────────────────────────────────────────続 き Continued on the front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 9/46 G06F 9/38 JICST file (JOIS) CSDB (Japan Patent Office)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 遅延スロットを持つ分岐命令をデコード
ステージを含むパイプラインで処理する計算機における
割込み処理方式であって命令のデコードを司る命令デコード装置と、 前記命令デコード装置によってデコードされた分岐命令
から分岐先を示す分岐アドレスを生成すると共に、それ
より1サイクル遅れた第1の制御信号を生成する分岐ア
ドレス生成装置と、 パイプラインの最終ステージで割込み発生に伴う割込み
アドレス及び割込み信号を生成すると共に、それより1
サイクル遅れた第2の制御信号を生成する割込み検出装
置と、 前記分岐アドレスまたは割込みアドレスを分岐先アドレ
スとして保持する第1の分岐先アドレスレジスタと、 通常はデコードステージの命令ロケーションをインクリ
メントした次の命令ロケーションを選択し、前記第1ま
たは第2の制御信号が出力された場合には前記第1の分
岐先アドレスレジスタの出力を選択するセレクタと、 前記セレクタの選択出力を新たなデコードステージの命
令ロケーションとして保持する第1のロケーションレジ
スタと、 前記第1のロケーションレジスタの出力をパイプライン
サイクルに応じて順次保持する、デコードステージに後
続する各ステージに対応した段数の第2のロケーション
レジスタの列と、 前記第1の分岐先アドレスレジスタの出力をパイプライ
ンサイクルに応じて順次保持する、デコードステージに
後続する各ステージに対応した段数の第2の分岐先アド
レスレジスタの列と、 前記第1の制御信号の状態をパイプラインサイクルに応
じて順次保持する、デコードステージに後続する各ステ
ージに対応した段数の状態レジスタの列と、 前記第2のロケーションレジスタの列の最終段レジスタ
の出力を 割込み処理からの戻り先のアドレスとして前記
割込み信号に応じて保持する戻り先アドレスレジスタ
と、前記第2の分岐先アドレスレジスタの列の最終段レジス
タの出力を 割込み処理からの戻り先となる遅延スロット
に先行する前記分岐命令の分岐先アドレスとして前記割
込み信号に応じて保持する第3の分岐先アドレスレジス
と、前記状態レジスタの列の最終段レジスタの出力を 前記割
込み処理からの戻り先が遅延スロット内であるか否かを
示す識別情報として前記割込み信号に応じて保持する識
別情報レジスタとを具備し、前記分岐アドレス生成装置は、 割込み処理から復帰する
際には、前記識別情報レジスタに保持されている識別情
報から戻り先が遅延スロット内であるか否かを判別し、
遅延スロット内であれば前記戻り先アドレスレジスタ
保持されているアドレスを分岐先アドレスとして出力す
ると共に、後続のサイクルで前記第3の分岐先アドレス
レジスタに保持されているアドレスを分岐先アドレスと
して出力し、遅延スロット内でなければ前記戻り先アド
レスレジスタに保持されているアドレスのみを分岐先ア
ドレスとして出力することを特徴とする割込み処理方
式。
1. A branch instruction having a delay slotDecoding
In the pipeline including the stageProcessMeterCalculatorIn
Interrupt processing method,An instruction decoding device for decoding instructions; Branch instruction decoded by the instruction decoding device
Generates a branch address indicating the branch destination from
A branch address for generating a first control signal one cycle later than
A dress generation device; Interrupts due to interrupts generated at the last stage of the pipeline
Generates address and interrupt signals, and
Interrupt detection device for generating second control signal delayed in cycle
And The branch address or interrupt address is stored in the branch destination address.
A first branch destination address register held as a Normally, the instruction location of the decode stage is incremented.
To the next instruction location
Alternatively, when the second control signal is output, the first
A selector for selecting the output of the forehead address register; The selected output of the selector is sent to a new decode stage.
1st location cash register to keep as command location
And Pipelining the output of the first location register
Hold sequentially according to cycle, after decode stage
A second location with the number of stages corresponding to each subsequent stage
A row of registers; Pipeline the output of the first branch destination address register
To the decode stage, which holds the data sequentially according to the cycle
Second branch destination address of the number of stages corresponding to each subsequent stage
And a row of The state of the first control signal is changed in response to a pipeline cycle.
Each stage following the decode stage
Rows of status registers corresponding to the number of stages, Last stage register of the column of the second location register
Output Return address from interrupt processingAs the above
According to the interrupt signalHoldReturn address register
When,Last stage register of the column of the second branch destination address register
Output Return destination from interrupt processingBecomesDelay slot
Destination address of the branch instruction preceding theAs above
Depending on theHoldThird branch destination address register
TaWhen,The output of the last stage register in the column of the status register Said percent
Whether the return destination from the embedding process is within the delay slot
Identification informationAccording to the interrupt signalKnowledge to hold
Other informationregisterWithThe branch address generation device includes: Return from interrupt processing
In some cases, the identification informationregisterIdentification information stored in
From the information, determine whether the return destination is within the delay slot,
Within the delay slotReturn address registerTo
HeldOutput address as branch destination address
And the third branch destination address in a subsequent cycle.
registerIs held inThe address as the branch destination address
OutputIf not in the delay slotReturn ad
Less registerIs held inOnly the address
Output as a dressInterrupt processing method characterized by the following:
formula.
JP3301471A 1991-11-18 1991-11-18 Interrupt processing method Expired - Fee Related JP3017866B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3301471A JP3017866B2 (en) 1991-11-18 1991-11-18 Interrupt processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3301471A JP3017866B2 (en) 1991-11-18 1991-11-18 Interrupt processing method

Publications (2)

Publication Number Publication Date
JPH05143362A JPH05143362A (en) 1993-06-11
JP3017866B2 true JP3017866B2 (en) 2000-03-13

Family

ID=17897298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3301471A Expired - Fee Related JP3017866B2 (en) 1991-11-18 1991-11-18 Interrupt processing method

Country Status (1)

Country Link
JP (1) JP3017866B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4564025B2 (en) * 2007-03-19 2010-10-20 株式会社リコー Interrupt processing method in information processing apparatus

Also Published As

Publication number Publication date
JPH05143362A (en) 1993-06-11

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
US5293500A (en) Parallel processing method and apparatus
US5961637A (en) Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers
US5461722A (en) Parallel processing apparatus suitable for executing in parallel a plurality of instructions including at least two branch instructions
US5949996A (en) Processor having a variable number of stages in a pipeline
WO1990014629A2 (en) Parallel multithreaded data processing system
JP2677414B2 (en) Instruction execution serialization control method
JP2000330787A (en) Computer system executing instruction loop and instruction loop executing method
US4287561A (en) Address formulation interlock mechanism
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
JP3797570B2 (en) Apparatus and method using semaphore buffer for semaphore instructions
US6725365B1 (en) Branching in a computer system
JP2742374B2 (en) Method and system for improving instruction dispatch efficiency in a superscalar processor system
US5226166A (en) Parallel operation processor with second command unit
KR910008410B1 (en) Micro-code redding control system
JP2535252B2 (en) Parallel processor
JPH0139132B2 (en)
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
US20050102659A1 (en) Methods and apparatus for setting up hardware loops in a deeply pipelined processor
JP3017866B2 (en) Interrupt processing method
US5504870A (en) Branch prediction device enabling simultaneous access to a content-addressed memory for retrieval and registration
EP1050805B1 (en) Transfer of guard values in a computer system
EP0573071A2 (en) A microprocessor
US20050015561A1 (en) Memory control method and memory control apparatus

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees