Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0677234B2 - Information processing equipment - Google Patents
[go: Go Back, main page]

JPH0677234B2 - Information processing equipment - Google Patents

Information processing equipment

Info

Publication number
JPH0677234B2
JPH0677234B2 JP60212842A JP21284285A JPH0677234B2 JP H0677234 B2 JPH0677234 B2 JP H0677234B2 JP 60212842 A JP60212842 A JP 60212842A JP 21284285 A JP21284285 A JP 21284285A JP H0677234 B2 JPH0677234 B2 JP H0677234B2
Authority
JP
Japan
Prior art keywords
instruction
exception
branch
branch instruction
signal
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 - Lifetime
Application number
JP60212842A
Other languages
Japanese (ja)
Other versions
JPS6272034A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP60212842A priority Critical patent/JPH0677234B2/en
Publication of JPS6272034A publication Critical patent/JPS6272034A/en
Publication of JPH0677234B2 publication Critical patent/JPH0677234B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置に関し、特に分岐命令の例外割込
み処理方式に関する。
Description: TECHNICAL FIELD The present invention relates to an information processing apparatus, and more particularly to a branch instruction exception interrupt processing method.

〔従来の技術〕[Conventional technology]

従来、1つの情報処理装置では1つの分岐命令例外割込
み処理方式が実現されていればそれで十分であった。
Conventionally, it was sufficient if one branching instruction exception interrupt processing method was realized in one information processing apparatus.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

しかしながら、近年では仮想計算機や複合マシンという
考え方が装置レベルにまで要求され、1つの情報処理装
置上で複数の分岐命令例外割込み処理方式を実現する必
要性が発生した。
However, in recent years, the idea of a virtual machine or a complex machine has been demanded even at the device level, and it has become necessary to realize a plurality of branch instruction exception interrupt processing methods on one information processing device.

また、命令取出しのアドレス計算に関する例外検出は、
一連のソフト命令の最初の命令取出し時および命令がペ
ージ境界を越えようとする時に実効アドレスから実アド
レスに展開しミッシングページなどの例外を検出すれば
十分である。
Also, exception detection related to instruction fetch address calculation is
It is sufficient to expand an effective address to a real address and detect an exception such as a missing page at the time of first fetching a series of soft instructions and when an instruction tries to cross a page boundary.

分岐命令はその分岐アドレスの実効アドレスから実アド
レスへの展開を必ず行うが、分岐命令の分岐アドレスに
関する例外を分岐命令自身の例外とする方式ではなく分
岐命令の分岐先命令の命令取出しに関する例外とする方
式では、分岐命令を含む一般的な命令の分岐先命令の命
令取出しに関する例外を検出できないという欠点があ
る。
Although a branch instruction always expands the effective address of the branch address to the real address, it does not use the exception related to the branch address of the branch instruction as the exception of the branch instruction itself, but the exception related to the instruction fetch of the branch destination instruction of the branch instruction. This method has a drawback in that it cannot detect an exception relating to the instruction fetch of a branch destination instruction of a general instruction including a branch instruction.

本発明の目的は、上述の点に鑑み、分岐命令の分岐アド
レスに関する例外検出時に、分岐命令自身の分岐アドレ
スの例外として割込みを発生する例外割込み処理方式
と、分岐命令の分岐先命令の命令取出しの例外として割
込みを発生する例外割込み処理方式との2通りの分岐命
令例外割込み処理方式を1つの例外検出手段を用いて実
現できる情報処理装置を提供することにある。
In view of the above points, an object of the present invention is to provide an exception interrupt processing method for generating an interrupt as an exception of a branch address of a branch instruction itself when an exception related to a branch address of a branch instruction is detected, and an instruction fetch of a branch destination instruction of the branch instruction. It is an object of the present invention to provide an information processing apparatus capable of realizing two types of branch instruction exception interrupt processing methods, one of which is an exception interrupt processing method of generating an interrupt as an exception of No.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の情報処理装置は、一連のマイクロ命令群に対応
するソフト命令を処理する情報処理装置であって、前記
ソフト命令を実行する際にそのソフト命令が分岐命令で
あるか否かを示す分岐命令識別信号を生成する分岐命令
識別手段と、前記ソフト命令が分岐命令であった場合に
この分岐命令の実行結果が分岐すべきものであったか分
岐しないものであったかを示す分岐判定信号を生成する
分岐判定手段と、前記ソフト命令の命令アドレス生成時
に例外が発生したか否かを示す例外検出信号を生成する
例外検出手段と、この例外検出手段で検出した前記例外
を処理する際にそのソフト命令の実行を途中で抑止する
か否かを示すマスク信号を保持するマスク信号保持手段
と、前記分岐命令識別手段からの分岐命令識別信号と前
記分岐判定手段からの分岐判定信号と前記例外検出手段
からの例外検出信号と前記マスク信号保持手段からのマ
スク信号とを参照することにより、分岐命令の分岐先ア
ドレス生成時に発生した例外を処理するための制御信号
およびマイクロ命令のアドレスを生成する例外制御手段
とを含み、前記ソフト命令が分岐命令であった場合に、
前記分岐命令の実行を抑止して例外割込み処理を行う一
連のマイクロ命令を起動して前記分岐命令の例外割込み
処理をするか、または前記分岐命令の実行を完了させた
後に例外割込み処理を行う一連のマイクロ命令を起動し
て前記分岐命令の分岐先命令の例外割込み処理をするか
を、前記例外制御手段からの制御信号およびマイクロ命
令のアドレスに基づいて行う。
An information processing apparatus of the present invention is an information processing apparatus for processing a soft instruction corresponding to a series of microinstruction groups, and a branch indicating whether or not the soft instruction is a branch instruction when the soft instruction is executed. A branch instruction identifying means for generating an instruction identification signal; and a branch determination signal for generating a branch determination signal indicating whether the execution result of the branch instruction is a branch instruction or a branch instruction when the soft instruction is a branch instruction. Means, exception detection means for generating an exception detection signal indicating whether or not an exception has occurred at the time of generating the instruction address of the soft instruction, and execution of the soft instruction when processing the exception detected by the exception detection means. Mask signal holding means for holding a mask signal indicating whether or not to suppress the branch instruction, a branch instruction identification signal from the branch instruction identification means, and the branch determination means. By referring to the branch determination signal, the exception detection signal from the exception detection means, and the mask signal from the mask signal holding means, Exception control means for generating an address of a microinstruction, wherein the soft instruction is a branch instruction,
A series of micro-instructions that inhibit the execution of the branch instruction and perform exception interrupt processing to perform the exception interrupt processing of the branch instruction, or a series of exception interrupt processing after the execution of the branch instruction is completed Whether the micro-instruction is activated to perform the exception interrupt processing of the branch destination instruction of the branch instruction is performed based on the control signal from the exception control means and the address of the micro instruction.

〔実施例〕〔Example〕

次に、本発明について図面を参照して詳細に説明する。 Next, the present invention will be described in detail with reference to the drawings.

第1図は本発明の一実施例による情報処理装置の概要を
示すブロック図である。本実施例の情報処理装置は、命
令ユニット1、制御記憶ユニット2、実行ユニット3お
よび例外制御回路4とで、その主要部が構成されてい
る。
FIG. 1 is a block diagram showing the outline of an information processing apparatus according to an embodiment of the present invention. The information processing apparatus according to the present embodiment is composed of an instruction unit 1, a control storage unit 2, an execution unit 3 and an exception control circuit 4 as a main part thereof.

命令ユニット1は、一連のソフト命令やそのオペランド
を格納する主記憶装置(図示せず)から対象とする命令
を取り出し、この命令の解読およびオペランド取出しを
行う。この命令ユニット1は命令の先取り動作を行う先
行制御部とも呼ばれ、命令取出しやこの命令のオペラン
ド取出しに関する例外を検出する例外検出部11と、分岐
命令に関する分岐成功あるいは分岐失敗を判定する分岐
判定部12とを含む。
The instruction unit 1 fetches a target instruction from a main memory (not shown) that stores a series of soft instructions and their operands, decodes the instruction, and fetches the operand. This instruction unit 1 is also called a preceding control unit that performs an instruction prefetching operation, and an exception detection unit 11 that detects an exception relating to instruction fetching or an operand fetching of this instruction, and a branch determination that determines a branch success or branch failure regarding a branch instruction. And part 12.

制御記憶ユニット2は、複数のマイクロ命令語を格納
し、一連のマイクロプログラムを逐次実行することがで
きる。また、制御記憶ユニット2は、命令ユニット1か
らもソフト命令に対応したマイクロプログラムの第1ス
テップのアドレスを与えられ、逐次演算処理を制御する
ことができる。
The control storage unit 2 can store a plurality of microinstruction words and sequentially execute a series of microprograms. The control storage unit 2 is also given the address of the first step of the microprogram corresponding to the soft instruction from the instruction unit 1 and can control the sequential arithmetic processing.

実行ユニット3は、複数の演算ステージを有するパイプ
ライン化された演算部で、制御記憶ユニット2によって
その演算動作が制御される。この実行ユニット3におけ
る演算動作は、演算パイプラインの最後の演算ステージ
が終了することによって実行が完了する。すなわち、演
算パイプラインの途中でキャンセルされれば実行動作は
抑止されたことになる。
The execution unit 3 is a pipelined arithmetic unit having a plurality of arithmetic stages, and its arithmetic operation is controlled by the control storage unit 2. The arithmetic operation in the execution unit 3 is completed by the end of the last arithmetic stage of the arithmetic pipeline. That is, if it is canceled in the middle of the arithmetic pipeline, the execution operation is suppressed.

例外制御回路4は、命令ユニット1の例外検出部11で検
出した例外検出信号exと、命令ユニット1の分岐判定部
12で判定した分岐命令識別信号brおよび分岐判定信号go
と、例外制御回路4が保持する分岐命令の例外割込み方
式を決定するフラグとしてのマスク信号mkとから例外が
検出された命令(以下、例外検出命令と略記する)の実
行ユニット3での実行を制限し、制御記憶ユニット2に
格納されている特定のマイクロプログラムを起動するこ
とによって実行ユニット3を制御して2通りの例外割込
み処理方式を実現する。
The exception control circuit 4 includes an exception detection signal ex detected by the exception detection unit 11 of the instruction unit 1 and a branch determination unit of the instruction unit 1.
Branch instruction identification signal br and branch determination signal go determined in 12
And the execution of the instruction in which an exception has been detected (hereinafter abbreviated as an exception detection instruction) in the execution unit 3 from the mask signal mk as a flag that determines the exception interruption method of the branch instruction held by the exception control circuit 4. By limiting and activating a specific microprogram stored in the control storage unit 2, the execution unit 3 is controlled and two exception interrupt processing methods are realized.

なお、第1図において、命令ユニット1と制御記憶ユニ
ット2と実行ユニット3と例外制御回路4とを結ぶ複数
の線は、それぞれ制御信号または制御データの流れを表
している。
In FIG. 1, a plurality of lines connecting the instruction unit 1, the control storage unit 2, the execution unit 3, and the exception control circuit 4 represent the flow of control signals or control data, respectively.

第2図は第1図に示した情報処理装置をさらに詳細に示
すもので、特に第1図中の例外制御回路4について詳細
に記載したものである。第2図における命令ユニット1
と制御記憶ユニット2と演算ユニット3と例外制御回路
4とが、第1図中に示したものにそれぞれ対応している
ことはいうまでもない。
FIG. 2 shows the information processing apparatus shown in FIG. 1 in more detail, and particularly shows the exception control circuit 4 in FIG. 1 in detail. Instruction unit 1 in FIG.
It goes without saying that the control memory unit 2, the arithmetic unit 3, and the exception control circuit 4 correspond to those shown in FIG. 1, respectively.

第2図において、命令ユニット1に含まれる例外検出部
11は、一連のソフト命令の最初の命令取出しや分岐命令
の分岐アドレス計算に関する例外を検出し、その例外検
出信号exを信号線111を介して例外制御回路4に与え
る。また、命令ユニット1は分岐判定部12を有し、この
分岐判定部12は分岐命令識別信号brと分岐成功または分
岐失敗を判定した分岐判定信号goとをそれぞれ信号線11
2と113とを介して例外制御回路4に与える。ここで、分
岐判定信号goは分岐成功を示すものとする。また、例外
検出信号ex、分岐命令識別信号brおよび分岐判定信号go
は、それぞれ命令に同期してパルスで発生されるものと
する。
In FIG. 2, the exception detection unit included in the instruction unit 1
Reference numeral 11 detects an exception relating to the first instruction fetch of a series of software instructions and branch address calculation of a branch instruction, and supplies the exception detection signal ex to the exception control circuit 4 via a signal line 111. Further, the instruction unit 1 has a branch judging section 12, and the branch judging section 12 outputs a branch instruction identification signal br and a branch judging signal go for judging whether the branch succeeded or failed, respectively.
It is given to the exception control circuit 4 via 2 and 113. Here, it is assumed that the branch determination signal go indicates a successful branch. The exception detection signal ex, the branch instruction identification signal br, and the branch determination signal go
Shall be generated in pulses in synchronization with the respective instructions.

制御記憶ユニット2は、複数のマイクロ命令語を格納す
る制御記憶21と、制御記憶21に信号線206を介してアド
レスを与えるアドレスレジスタ22と、このアドレスレジ
スタ22によってアドレスを与えられ制御記憶21から読み
出されたマイクロ命令語を信号線207を介して受けて保
持する制御記憶レジスタ23と、アドレスレジスタ22の入
力となる信号を修飾および選択するアドレス回路24とか
ら構成されている。
The control memory unit 2 includes a control memory 21 for storing a plurality of microinstruction words, an address register 22 for giving an address to the control memory 21 via a signal line 206, and an address given by the address register 22 from the control memory 21. It is composed of a control storage register 23 that receives and holds the read microinstruction word via a signal line 207, and an address circuit 24 that modifies and selects a signal that is an input to the address register 22.

ソフト命令に対応するマイクロプログラムの先頭アドレ
スiaは、命令ユニット1より信号線201を介してアドレ
ス回路24に与えられ、命令ユニット1より信号線204を
介して与えられる命令起動信号stによって選択される。
The start address ia of the microprogram corresponding to the soft instruction is given from the instruction unit 1 to the address circuit 24 via the signal line 201, and is selected by the instruction start signal st given from the instruction unit 1 via the signal line 204. .

ソフト命令に対応するマイクロプログラムの先頭アドレ
スiaがアドレスレジスタ22に与えられると、マイクロプ
ログラムが複数のマイクロ命令語で構成されていれば、
次はアドレスレジスタ22の保持するアドレスに対応する
マイクロ命令語が指示するアドレスが信号線202を介し
てアドレス回路24に与えられアドレスレジスタ22に供給
される。
When the start address ia of the microprogram corresponding to the soft instruction is given to the address register 22, if the microprogram is composed of a plurality of microinstruction words,
Next, the address designated by the microinstruction word corresponding to the address held by the address register 22 is given to the address circuit 24 via the signal line 202 and supplied to the address register 22.

制御記憶ユニット2のアドレス回路24を真理値表で示せ
ば、下表のようになる。なお、s0=c0+c1およびs1=st
・vであり、c0はレジスタ42が保持する制御信号、c1は
レジスタ43が保持する制御信号、vはフリップフロップ
45が保持する信号でAステージ、BステージおよびCス
テージの有効状態を示す有効状態信号である。また、na
はアドレスレジスタ22が保持するアドレスに対応する制
御記憶21が格納するマイクロ命令語のネクストアドレス
である。
If the address circuit 24 of the control storage unit 2 is shown by a truth table, it will be as shown in the table below. Note that s0 = c0 + c1 and s1 = st
-V, c0 is a control signal held by the register 42, c1 is a control signal held by the register 43, and v is a flip-flop
The signal held by 45 is a valid state signal indicating the valid states of the A stage, B stage and C stage. Also na
Is the next address of the microinstruction word stored in the control memory 21 corresponding to the address held by the address register 22.

また、制御記憶ユニット2のアドレスレジスタ22と制御
記憶レジスタ23の入力データとホールド条件とは、以下
のようになる。
Further, the input data and the hold condition of the address register 22 and the control storage register 23 of the control storage unit 2 are as follows.

(1) アドレスレジスタ22 入力データ=ca (2) 制御記憶レジスタ23 入力データ=アドレスレジスタ22の保持するアドレ
スに対応する制御記憶21が保持するマイクロ命令語の一
実行ユニット3は、パイプライン化された複数の演算ス
テージから構成され、制御記憶ユニット2により制御さ
れて命令実行の演算動作を行う。ここで、実行ユニット
3の演算ステージ数を3とする。制御記憶ユニット2の
アドレスレジスタ22をAステージ、制御記憶レジスタ23
をBステージとし、実行ユニット3の3つのステージを
それぞれCステージ、DステージおよびEステージと称
する。
(1) Address register 22 input data = ca (2) Control memory register 23 input data = part of the microinstruction word held by the control memory 21 corresponding to the address held by the address register 22 The execution unit 3 is composed of a plurality of pipelined arithmetic stages and is controlled by the control storage unit 2 to perform arithmetic operations for instruction execution. Here, the number of operation stages of the execution unit 3 is 3. The address register 22 of the control storage unit 2 is set to the A stage, and the control storage register 23
Is a B stage, and the three stages of the execution unit 3 are called a C stage, a D stage, and an E stage, respectively.

実行ユニット3の演算ステージに関するホールド条件と
キャンセル条件とは、以下のようになる。
The hold condition and the cancel condition regarding the operation stage of the execution unit 3 are as follows.

(3) Cステージ ホールド条件= キャンセル条件=c2 (4) DステージおよびEステージ ホールド条件=0 キャンセル条件=0 例外制御回路4のレジスタ41は、制御記憶ユニット2の
制御記憶21が格納しているマイクロ命令語の指示する値
を保持する1ビットのレジスタであり、レジスタ41は分
岐命令例外割込み処理方式を決定するマスク信号mkを保
持するフラグとして使用する。
(3) C stage hold condition = cancel condition = c2 (4) D stage and E stage hold condition = 0 cancel condition = 0 The control memory 21 of the control memory unit 2 stores the register 41 of the exception control circuit 4. The register 41 is a 1-bit register that holds the value indicated by the micro instruction word, and the register 41 is used as a flag that holds the mask signal mk that determines the branch instruction exception interrupt processing method.

例外制御回路4は、命令ユニット1の例外検出部11で検
出した例外検出信号ex、同じく命令ユニット1の分岐判
定部12が発生する分岐命令識別信号brおよび分岐判定信
号goならびにレジスタ41が保持するマスク信号mkの状態
によってその動作が決定される。
The exception control circuit 4 holds the exception detection signal ex detected by the exception detection unit 11 of the instruction unit 1, the branch instruction identification signal br and the branch determination signal go generated by the branch determination unit 12 of the instruction unit 1, and the register 41. The operation is determined by the state of the mask signal mk.

例外検出信号ex、分岐命令識別信号br、分岐判定信号go
およびマスク信号mkは、それぞれソフト命令に対応して
発生する信号であり、制御記憶ユニット2の制御記憶レ
ジスタ23の保持する制御信号に同期したBステージ上に
存在する信号である。
Exception detection signal ex, branch instruction identification signal br, branch determination signal go
The mask signal mk and the mask signal mk are signals generated corresponding to the soft instructions, respectively, and are signals existing on the B stage in synchronization with the control signal held by the control storage register 23 of the control storage unit 2.

例外制御回路4のレジスタ42、43および44はそれぞれ1
ビットの制御レジスタで、例外検出信号ex、分岐命令識
別信号br、分岐判定信号goおよびマスク信号mkの状態に
よってその入力データが決定され、その出力信号で例外
検出命令を選択的に抑止し、また例外検出命令に後続す
る全ての命令の実行を抑止し、制御記憶ユニット2に対
して例外割込み処理を行う一連のマイクロプログラムの
起動制御を行う。なお、レジスタ44の保持する1ビット
の制御信号をc2とする。
The registers 42, 43 and 44 of the exception control circuit 4 are each 1
In the bit control register, the input data is determined by the states of the exception detection signal ex, the branch instruction identification signal br, the branch determination signal go and the mask signal mk, and the output signal selectively inhibits the exception detection instruction, and Execution of all the instructions subsequent to the exception detection instruction is suppressed, and the control storage unit 2 is controlled to start a series of microprograms that perform exception interrupt processing. The 1-bit control signal held in the register 44 is c2.

フリップフロップ45は、Aステージ、Bステージおよび
Cステージ上の信号の有効状態を示すためのもので、有
効状態信号vを出力する。
The flip-flop 45 is for indicating the valid states of the signals on the A stage, B stage and C stage, and outputs a valid state signal v.

例外制御回路2のレジスタ41,42,43および44の入力デー
タおよびホールド条件とフリップフロップ45のリセット
条件およびセット条件とを論理式で示せば、以下のよう
になる。
The input data and the hold conditions of the registers 41, 42, 43 and 44 of the exception control circuit 2 and the reset condition and the set condition of the flip-flop 45 can be represented by logical expressions as follows.

(5) レジスタ41 入力データ=制御記憶21が格納するプログラム命令
語による指示データ (6) レジスタ42 入力データ=v・ex・(▲▼+br・go・▲
▼) ホールド条件=0 (7) レジスタ43 入力データ=v・ex・br・go・mk ホールド条件=0 (8) レジスタ44 入力データ=c0+c1 ホールド条件=0 (9) フリップフロップ45 リセット条件=v・ex・(▲▼+br・go・▲
▼)+c1 セット条件=c2 なお、レジスタ41,42,43および44の初期値は“0"、フリ
ップフロップ45の初期値は“1"であるものとする。
(5) Register 41 input data = instruction data by program command word stored in control memory 21 (6) Input data of register 42 = v ・ ex ・ (▲ ▼ + br ・ go ・ ▲
▼) Hold condition = 0 (7) Register 43 input data = v ・ ex ・ br ・ go ・ mk Hold condition = 0 (8) Register 44 input data = c0 + c1 Hold condition = 0 (9) Flip-flop 45 Reset condition = v・ Ex ・ (▲ ▼ + br ・ go ・ ▲
▼) + c1 set condition = c2 The initial values of the registers 41, 42, 43 and 44 are "0", and the initial value of the flip-flop 45 is "1".

例外制御回路4のアドレスレジスタ発生器46を真理値表
で示せば、下表のようになる。
The address register generator 46 of the exception control circuit 4 can be represented by the truth table as shown in the table below.

なお、第2図においてレジスタやフリップフロップの条
件信号に付してある略称は、次の意味を示している。
The abbreviations given to the condition signals of the registers and flip-flops in FIG. 2 have the following meanings.

HLD:ホールド RST:リセット SET:セット CSL:キャンセル 次に、以上のように構成された本実施例の情報処理装置
の動作を、第3図、第4図および第5図のタイムチャー
トを用いて説明する。なお、第3図、第4図および第5
図におけるa,b,c,dおよびfは、一連のソフト命令に対
応するマイクロステップで1命令に1マイクロステップ
が対応しているものとする。
HLD: Hold RST: Reset SET: Set CSL: Cancel Next, the operation of the information processing apparatus of the present embodiment configured as described above will be described with reference to the time charts of FIGS. 3, 4, and 5. explain. Incidentally, FIG. 3, FIG. 4 and FIG.
In the figure, a, b, c, d and f are micro steps corresponding to a series of software instructions, and one instruction corresponds to one micro step.

第3図は、分岐命令が検出した例外を分岐命令自身の例
外として例外割込み処理を行うときの動作を示したもの
である。
FIG. 3 shows the operation when the exception detected by the branch instruction is treated as the exception of the branch instruction itself and the exception interrupt processing is performed.

第3図において、命令aはAステージから順に各ステー
ジを1クロックサイクルごとにパイプラインを進み、ク
ロックサイクルt5で実行を完了する。命令bは命令aに
後続する分岐命令で、クロックサイクルt3のBステージ
上で分岐命令の分岐アドレスに例外が検出され、例外検
出信号exと分岐命令識別信号brと分岐判定信号goとがオ
ンし、かつマスク信号mkはオンしなかったとする。
In FIG. 3, the instruction a advances through the pipeline in stages from the A stage in every clock cycle, and completes execution at clock cycle t 5 . The instruction b is a branch instruction following the instruction a, and an exception is detected at the branch address of the branch instruction on the B stage of the clock cycle t 3 , and the exception detection signal ex, the branch instruction identification signal br, and the branch determination signal go are turned on. And the mask signal mk is not turned on.

例外制御回路4は、この状態を分岐命令自身の例外とし
て例外割込み処理を行うと判断し、クロックサイクルt4
でフリップフロップ45をリセットし、Aステージ、Bス
テージおよびCステージを無効状態とすると同時にレジ
スタ42を“1"に設定する。
The exception control circuit 4 judges that this state is to be used as the exception of the branch instruction itself to perform the exception interrupt processing, and the clock cycle t 4
Then, the flip-flop 45 is reset and the A stage, the B stage and the C stage are made invalid, and at the same time, the register 42 is set to "1".

クロックサイクルt4で分岐命令bは、Cステージ上でホ
ールドされる。このとき、分岐命令bに先行する命令a
はDステージ上に存在するが、ホールドされることなく
演算ステージを進行し、命令の実行を完了する。
At clock cycle t 4 , branch instruction b is held on the C stage. At this time, the instruction a preceding the branch instruction b
Exists on the D stage, but advances through the arithmetic stage without being held, and completes the execution of the instruction.

レジスタ42が保持する制御信号c0は、クロックサイクル
t4でレジスタ44を“1"に設定すると同時に、例外割込み
処理を行う一連のマイクロプログラムの先頭アドレスe0
をアドレス発生器46で生成し、信号線406および203を介
してアドレス回路24に与えてアドレスレジスタ22に供給
することにより、例外割込み処理を行う一連のマイクロ
プログラムの起動準備をする。
The control signal c0 held by the register 42 is a clock cycle.
At the same time at t 4 is set to the register 44 "1", the start address e 0 of a series of microprogram for performing exception interrupt processing
Is generated by the address generator 46, supplied to the address circuit 24 via the signal lines 406 and 203 and supplied to the address register 22, thereby preparing to start a series of microprograms for performing exception interrupt processing.

クロックサイクルt5でレジスタ44が保持する制御信号c2
は、Cステージ上でホールドされている分岐命令bをキ
ャンセルし、例外割込み処理を行う一連のマイクロプロ
グラムの先頭アドレスe0に対応するマイクロ命令語を制
御記憶レジスタ23に設定するとともに、マイクロプログ
ラムの第2ステップアドレスe1をアドレスレジスタ22に
設定する。このとき、レジスタ44が保持する制御号c2
は、同時にフリップフロップ45をセットする。
Control signal register 44 at the clock cycle t 5 holds c2
Sets the microinstruction word corresponding to the start address e 0 of the series of microprograms for canceling the branch instruction b held on the C stage and performing the exception interrupt processing in the control storage register 23, and The second step address e 1 is set in the address register 22. At this time, control number c2 held by register 44
Simultaneously sets flip-flop 45.

クロックサイクルt6ではフリップフロップ45はセット状
態となり、以後例外割込み処理を行う一連のマイクロプ
ログラムが起動され、この例外割込み処理を行う一連の
マイクロプログラムは例外を検出した分岐命令bの例外
割込み処理を行う。この動作により、結果的に分岐命令
bとこれに後続する命令cおよび命令dの実行は抑止さ
れたことになる。
Clock flip-flop 45 at cycle t 6 becomes a set state is activated a series of micro-program for subsequent exception interrupt processing, exception interrupt processing of the branch instruction b has a series of microprogram detects an exception of performing the exception interrupt processing To do. As a result of this operation, the execution of the branch instruction b and the instructions c and d subsequent thereto are suppressed.

第4図および第5図は、分岐命令が検出した例外を分岐
命令の分岐先命令の例外として例外割込み処理を行うと
きの動作を示したものである。
FIG. 4 and FIG. 5 show the operation when an exception detected by a branch instruction is treated as an exception of a branch destination instruction of a branch instruction to perform exception interrupt processing.

第4図において、命令aはAステージから順に各ステー
ジを1クロックサイクルごとにパイプラインを進み、ク
ロックサイクルt5で実行を完了する。命令bは命令aに
後続する分岐命令で、クロックサイクルt3のBステージ
上で分岐命令の分岐アドレスに例外が検出され、例外検
出信号exと分岐命令識別信号brと分岐判定信号goとがオ
ンし、かつマスク信号mkもオンしたとする。
In FIG. 4, the instruction a advances through the pipeline in stages from the A stage in each clock cycle, and completes execution at clock cycle t 5 . The instruction b is a branch instruction following the instruction a, and an exception is detected at the branch address of the branch instruction on the B stage of the clock cycle t 3 , and the exception detection signal ex, the branch instruction identification signal br, and the branch determination signal go are turned on. And the mask signal mk is also turned on.

例外制御回路4は、この状態を分岐命令の分岐先命令の
命令取出しの例外として例外割込み処理を行うと判断
し、クロックサイクルt4でレジスタ43を“1"とする。
Exception control circuit 4 determines the state and performs exception interrupt processing exception of instruction fetch of the branch destination instruction of the branch instruction, and a register 43 at the clock cycle t 4 "1".

クロックサイクルt4で分岐命令bは、Cステージ上でホ
ールドされることなく、この分岐命令bに先行する命令
aとともに演算ステージを進行し、命令の実行を完了す
る。
At clock cycle t 4 , the branch instruction b is not held on the C stage and advances through the operation stage together with the instruction a preceding the branch instruction b to complete the execution of the instruction.

レジスタ43が保持する例外信信号c1は、クロックサイク
ルt4でレジスタ44を“1"に設定すると同時に、分岐命令
の分岐先命令を一連のソフト命令の最初の命令として起
動する一連のマイクロプログラムの先頭アドレスp0をア
ドレス発生器46で生成してアドレスレジスタ22に供給す
ることにより、分岐命令の分岐先命令を一連のソフト命
令の最初の命令として起動する一連のマイクロプログラ
ムの起動準備をする。また、フリップフロップ45をリセ
ットして、Aステージ、BステージおよびCステージを
無効状態とする。
The exception signal c1 held by the register 43 sets the register 44 to “1” at the clock cycle t 4 and at the same time, activates the branch destination instruction of the branch instruction as the first instruction of the series of soft instructions. The start address p 0 is generated by the address generator 46 and supplied to the address register 22 to prepare for starting a series of microprograms for starting the branch destination instruction of the branch instruction as the first instruction of the series of soft instructions. Further, the flip-flop 45 is reset to make the A stage, the B stage and the C stage invalid.

クロックサイクルt5でCステージ上でホールドされてい
る分岐命令bに後続する命令cは、レジスタ44が保持す
る制御信号c2によってキャンセルされ、分岐命令の分岐
先命令を一連のソフト命令の最初の命令として起動する
一連のマイクロプログラムの先頭アドレスp0に対応する
マイクロ命令語を制御記憶レジスタ23に設定するととも
に、マイクロプログラムの第2ステップアドレスp1をア
ドレスレジスタ22に設定する。このとき、レジスタ44が
保持する制御信号c2は、同時にフリップフロップ45をセ
ットする。
The instruction c following the branch instruction b held on the C stage at the clock cycle t 5 is canceled by the control signal c 2 held by the register 44, and the branch destination instruction of the branch instruction is the first instruction of the series of soft instructions. The microinstruction word corresponding to the start address p 0 of the series of microprograms activated as is set in the control storage register 23, and the second step address p 1 of the microprogram is set in the address register 22. At this time, the control signal c2 held by the register 44 simultaneously sets the flip-flop 45.

クロックサイクルt6ではフリップフロップ45はセット状
態となり、以後分岐命令の分岐先命令を一連のソフト命
令の最初の命令として起動する一連のマイクロプログラ
ムが起動され、このマイクロプログラムは分岐命令の分
岐先命令を一連のソフト命令の最初の命令として命令取
出しから再開させる。
Flip-flop 45 at clock cycle t 6 becomes a set state is activated a series of micro-program that starts a branch target instruction of the subsequent branch instruction as the first instruction of a series of software instructions, the branch target instruction of the microprogram branch instruction Is restarted from the instruction fetch as the first instruction of the series of soft instructions.

第5図において、クロックサイクルt1のAステージ上に
存在する命令xは、分岐命令の分岐先命令を一連のソフ
ト命令を最初の命令として起動する一連のマイクロプロ
グラムの最後のステップである。クロックサイクルt2
Aステージ上に存在する命令C′は、第4図のクロック
サイクルt6で実行を完了した分岐命令bの分岐先命令で
あり、一連のソフト命令の最初の命令として命令取出し
から開始した命令である。
In FIG. 5, the instruction x existing on the A stage of the clock cycle t 1 is the last step of the series of microprograms which starts the branch destination instruction of the branch instruction with the series of soft instructions as the first instruction. The instruction C ′ existing on the A stage at the clock cycle t 2 is the branch destination instruction of the branch instruction b which has been executed at the clock cycle t 6 in FIG. 4, and is fetched as the first instruction of the series of soft instructions. It is an instruction started from.

クロックサイクルt3で命令c′がBステージ上に存在す
るとき、この命令c′の命令取出しに関する例外が検出
され、例外検出信号exのみがオンしたとする。このと
き、令名C′が分岐命令であったとしても、命令取出し
に関する例外検出時は分岐命令識別信号brとマスク信号
mkとはオンしないものとする。また、例外検出信号exに
よってレジスタ42は“1"に設定され、フリップフロップ
45はリセットされる。
It is assumed that when the instruction c'exists on the B stage at the clock cycle t 3 , an exception relating to the instruction fetch of the instruction c'is detected and only the exception detection signal ex is turned on. At this time, even if the instruction name C'is a branch instruction, the branch instruction identification signal br and the mask signal are detected at the time of detecting an exception related to the instruction fetch.
The mk is not turned on. In addition, the register 42 is set to “1” by the exception detection signal ex and the flip-flop
45 is reset.

クロックサイクルt4で命令c′はCステージ上でホール
ドされる。このとき、レジスタ42が保持する制御信号c0
0はレジスタ44を“1"に設定すると同時に、例外割込み
処理を行う一連のマイクロプログラムの先頭アドレスe0
をアドレス発生器46で生成してアドレスレジスタ22に供
給することにより、例外割込み処理を行う一連のマイク
ロプログラムの起動準備をする。
At clock cycle t 4 , instruction c'is held on the C stage. At this time, the control signal c0 held by the register 42
For 0, the register 44 is set to "1" and at the same time, the start address e 0
Is generated by the address generator 46 and supplied to the address register 22, thereby preparing to start a series of microprograms for performing exception interrupt processing.

クロックサイクルt5でレジスタ44が保持する制御信号c2
は、Cステージ上でホールドされている分岐先命令c′
をキャンセルし、例外割込み処理を行う一連のマイクロ
プログラムの先頭アドレスe0に対応するマイクロ命令語
を制御記憶レジスタ23に設定するとともに、このマイク
ロプログラムの第2ステップアドレスe1をアドレスレジ
スタ22に設定する。このとき、レジスタ44が保持する制
御信号c2は、同時にフリップフロップ45をセットする。
Control signal register 44 at the clock cycle t 5 holds c2
Is the branch destination instruction c ′ held on the C stage.
And a microinstruction word corresponding to the start address e 0 of a series of microprograms that perform exception interrupt processing is set in the control storage register 23, and the second step address e 1 of this microprogram is set in the address register 22. To do. At this time, the control signal c2 held by the register 44 simultaneously sets the flip-flop 45.

クロックサイクルt6ではフリップフロップ45はセット状
態となり、以後例外割込み処理を行う一連のマイクロプ
ログラムが起動され、この例外割込み処理を行う一連の
マイクロプログラムは例外を検出した分岐命令bの分岐
先命令c′の命令取出しに関する例外割込み処理を行
う。
Flip-flop 45 at clock cycle t 6 becomes a set state, subsequent series of microprogram for performing exception interrupt processing is started, the branch destination instruction c of the branch instruction b has a series of microprogram detects an exception of performing the exception interrupt processing Exception handling related to the instruction fetch of 'is performed.

この第4図および第5図を通して行った例外制御回路4
の動作によって、結果的に分岐命令bは完了し、分岐先
命令c′とこれに後続する全ての命令の実行は抑止され
たことになる。
Exception control circuit 4 performed through FIG. 4 and FIG.
As a result, the branch instruction b is completed and the execution of the branch destination instruction c'and all the instructions following it is suppressed.

なお、第6図は第2図、第3図、第4図および第5図を
通して説明したハードウェア、マイクロプログラムの動
きを流れ図にして表現したものである。第6図におい
て、擬似例外とはマスク信号mkがオンの場合に相当す
る。したがって、第3図および第5図の処理の流れでは
擬似例外の判定をノーで抜け、第4図の処理の流れでは
擬似例外の判定をイエスで抜けることになる。この第6
図に示した処理ついては、第3図、第4図および第5図
に示したタイムチャートから明らかなので、その詳しい
説明を省略する。
It should be noted that FIG. 6 is a flow chart showing the operation of the hardware and the microprogram described with reference to FIGS. 2, 3, 4, and 5. In FIG. 6, the pseudo exception corresponds to the case where the mask signal mk is on. Therefore, in the process flow of FIGS. 3 and 5, the determination of the pseudo exception is omitted with no, and in the process flow of FIG. 4, the determination of the pseudo exception is rejected with yes. This 6th
The processing shown in the figure is clear from the time charts shown in FIGS. 3, 4, and 5, and thus detailed description thereof will be omitted.

〔発明の効果〕〔The invention's effect〕

以上説明したように本発明は、分岐命令自身の分岐アド
レスの例外として割込みを発生するかこの分岐命令の分
岐先命令の命令取出しの例外として割込みを発生するか
を決定するフラグを設けることにより、1つの例外検出
手段で2通りの分岐命令例外割込み処理方式を実現でき
る効果がある。
As described above, the present invention provides a flag that determines whether an interrupt is generated as an exception of the branch address of the branch instruction itself or an exception of the instruction fetch of the branch destination instruction of this branch instruction. There is an effect that one exception detecting means can realize two types of branch instruction exception interrupt processing methods.

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

第1図は本発明の一実施例を示す情報処理装置の概要ブ
ロック図、 第2図は第1図に示した情報処理装置をさらに詳細に示
すブロック図、 第3図,第4図および第5図は第2図に示した情報処理
装置の動作タイミングをそれぞれ示すタイムチャート、 第6図は本発明の情報処理装置における全体的な処理を
示す流れ図である。 図において、 1……命令ユニット、 2……制御記憶ユニット、 3……実行ユニット、 4……例外制御回路、 11……例外検出部、 12……分岐判定部、 21……制御記憶、 22……アドレスレジスタ、 23……制御記憶レジスタ、 24……アドレス回路、 41,42,43,44……レジスタ、 45……フリップフロップ、 46……アドレス発生器、 111〜113,201〜208,406……信号線である。
1 is a schematic block diagram of an information processing apparatus showing an embodiment of the present invention, FIG. 2 is a block diagram showing the information processing apparatus shown in FIG. 1 in more detail, FIG. 3, FIG. 4 and FIG. FIG. 5 is a time chart showing the operation timing of the information processing apparatus shown in FIG. 2, and FIG. 6 is a flowchart showing the overall processing in the information processing apparatus of the present invention. In the figure, 1 ... Instruction unit, 2 ... Control storage unit, 3 ... Execution unit, 4 ... Exception control circuit, 11 ... Exception detection section, 12 ... Branch determination section, 21 ... Control storage, 22 ...... Address register, 23 ...... Control storage register, 24 ...... Address circuit, 41,42,43,44 ...... Register, 45 ...... Flip-flop, 46 ...... Address generator, 111 to 113,201 to 208,406 ...... Signal It is a line.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】一連のマイクロ命令群に対応するソフト命
令を処理する情報処理装置であって、 前記ソフト命令を実行する際にそのソフト命令が分岐命
令であるか否かを示す分岐命令識別信号を生成する分岐
命令識別手段と、 前記ソフト命令が分岐命令であった場合にこの分岐命令
の実行結果が分岐すべきものであったか分岐しないもの
であったかを示す分岐判定信号を生成する分岐判定手段
と、 前記ソフト命令の命令アドレス生成時に例外が発生した
か否かを示す例外検出信号を生成する例外検出手段と、 この例外検出手段で検出した前記例外を処理する際にそ
のソフト命令の実行を途中で抑止するか否かを示すマス
ク信号を保持するマスク信号保持手段と、 前記分岐命令識別手段からの分岐命令識別信号と前記分
岐判定手段からの分岐判定信号と前記例外検出手段から
の例外検出信号と前記マスク信号保持手段からのマスク
信号とを参照することにより、分岐命令の分岐先アドレ
ス生成時に発生した例外を処理するための制御信号およ
びマイクロ命令のアドレスを生成する例外制御手段とを
含み、 前記ソフト命令が分岐命令であった場合に、前記分岐命
令の実行を抑止して例外割込み処理を行う一連のマイク
ロ命令を起動して前記分岐命令の例外割込み処理をする
か、または前記分岐命令の実行を完了させた後に例外割
込み処理を行う一連のマイクロ命令を起動して前記分岐
命令の分岐先命令の例外割込み処理をするかを、前記例
外制御手段からの制御信号およびマイクロ命令のアドレ
スに基づいて行うことを特徴とする情報処理装置。
1. An information processing apparatus for processing a soft instruction corresponding to a series of microinstruction groups, wherein a branch instruction identification signal indicating whether or not the soft instruction is a branch instruction when the soft instruction is executed. A branch instruction identifying means for generating a branch instruction identifying means for generating a branch determination signal indicating whether the execution result of the branch instruction is a branch instruction or a non-branch instruction when the soft instruction is a branch instruction, Exception detection means for generating an exception detection signal indicating whether or not an exception has occurred at the time of generating the instruction address of the soft instruction, and execution of the soft instruction during the processing of the exception detected by the exception detection means. Mask signal holding means for holding a mask signal indicating whether to inhibit, branch instruction identification signal from the branch instruction identification means, and branch from the branch determination means By referring to the constant signal, the exception detection signal from the exception detection means, and the mask signal from the mask signal holding means, a control signal and a microinstruction for processing the exception generated at the generation of the branch destination address of the branch instruction. And an exception control unit for generating an address of the branch instruction. When the soft instruction is a branch instruction, a series of micro instructions for suppressing execution of the branch instruction and performing exception interrupt processing are activated to execute the branch instruction. Whether to perform exception interrupt processing or to start a series of micro-instructions that perform exception interrupt processing after the execution of the branch instruction is completed and perform exception interrupt processing of the branch destination instruction of the branch instruction, the exception control An information processing device, characterized in that it is performed based on a control signal from a means and an address of a micro instruction.
JP60212842A 1985-09-25 1985-09-25 Information processing equipment Expired - Lifetime JPH0677234B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60212842A JPH0677234B2 (en) 1985-09-25 1985-09-25 Information processing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60212842A JPH0677234B2 (en) 1985-09-25 1985-09-25 Information processing equipment

Publications (2)

Publication Number Publication Date
JPS6272034A JPS6272034A (en) 1987-04-02
JPH0677234B2 true JPH0677234B2 (en) 1994-09-28

Family

ID=16629241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60212842A Expired - Lifetime JPH0677234B2 (en) 1985-09-25 1985-09-25 Information processing equipment

Country Status (1)

Country Link
JP (1) JPH0677234B2 (en)

Also Published As

Publication number Publication date
JPS6272034A (en) 1987-04-02

Similar Documents

Publication Publication Date Title
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US4524415A (en) Virtual machine data processor
JP2539199B2 (en) Digital processor controller
US6754856B2 (en) Memory access debug facility
US4493035A (en) Data processor version validation
US5212662A (en) Floating point arithmetic two cycle data flow
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US4488228A (en) Virtual memory data processor
EP0377994B1 (en) Apparatus for performing floating point arithmetic operations
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
EP0181462B1 (en) Microcode control of a parallel architecture microprocessor
JPH0677234B2 (en) Information processing equipment
JPH06295243A (en) Data processing device
JPH0677235B2 (en) Information processing equipment
AU1490888A (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
JP2552738B2 (en) Data processing device
US5729729A (en) System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators
JPH0638235B2 (en) Information processing equipment
JP3057732B2 (en) Information processing device
JP2819733B2 (en) Information processing device
JPH06149569A (en) Register number changing device
KR940002321B1 (en) Test method of microcoded data processor
JP2545594B2 (en) Operand data prefetching method
JP2618387B2 (en) Testing method for information processing equipment
JPH0279122A (en) Floating point arithmetic mechanism