JPH06242946A - Branching controller - Google Patents

Branching controller

Info

Publication number
JPH06242946A
JPH06242946A JP5030038A JP3003893A JPH06242946A JP H06242946 A JPH06242946 A JP H06242946A JP 5030038 A JP5030038 A JP 5030038A JP 3003893 A JP3003893 A JP 3003893A JP H06242946 A JPH06242946 A JP H06242946A
Authority
JP
Japan
Prior art keywords
instruction
branch
decrement
register
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5030038A
Other languages
Japanese (ja)
Inventor
Hiroaki Kaneko
博昭 金子
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 JP5030038A priority Critical patent/JPH06242946A/en
Publication of JPH06242946A publication Critical patent/JPH06242946A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To perform a high-speed loop processing by judging conditions for an instruction to continue a loop in an early stage and letting a branching operation performed in a microprocessor provided with a decrement and branching instruction. CONSTITUTION:This controller is provided with a '1' detector 11 for detecting that a decrement result is '1', a timing latch 12 for holding the detected result, a 1-bit register 13 for holding the state of the timing latch 12 at the time of executing the decrement and branching instruction executed just before and an RS flip-flop 14 for indicating the invalid period of the 1-bit register 13. When the RS flip-flop 14 indicates the invalid period and the updating of counted operands is generated, the 1-bit register 13 is reset.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプロセッサに
おける分岐命令の命令実行制御を行う分岐制御装置に関
し、特にループ処理を実現するデクリメント・アンド・
ブランチ命令を制御する分岐制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a branch controller for controlling instruction execution of branch instructions in a microprocessor, and more particularly to a decrement and
The present invention relates to a branch control device that controls a branch instruction.

【0002】[0002]

【従来の技術】マイクロプロセッサを用いたソフトウェ
アによる処理には、同一処理を1)特定の条件が満たさ
れるまで、2)特定の条件が満たされなくなるまで、
3)あらかじめ定められた回数、繰り返すフローが頻繁
に使用される。FORTRANやCなどの高級言語で
は、これらのフローはDO,WHILE,FOR文など
で記述される。
2. Description of the Related Art For processing by software using a microprocessor, the same processing is performed 1) until a specific condition is satisfied, 2) until a specific condition is no longer satisfied.
3) A flow that repeats a predetermined number of times is frequently used. In high-level languages such as FORTRAN and C, these flows are described by DO, WHILE, FOR statements and the like.

【0003】これらのフローのうち、予め定められた回
数繰り返す処理はループ(Loop)処理とも呼ばれ、
例えば二進乗算処理を行う場合に使われる。二進乗算処
理は、1)被乗数の左シフト、2)部分積の左シフト、
3)シフトされた被乗数の固定ビット位置のチェック、
4)チェック結果に基づく部分積と乗数の加算、から成
る1ビット処理(ループ内処理)を部分積のビット数分
繰り返して行われる。例えば16ビットの積を得るに
は、16回の繰り返し(ループ)処理が必要になる。
Of these flows, a process that is repeated a predetermined number of times is also called a loop process.
For example, it is used when performing binary multiplication processing. Binary multiplication processing includes 1) left shift of multiplicand, 2) left shift of partial product,
3) Check the fixed bit position of the shifted multiplicand,
4) 1-bit processing (in-loop processing) consisting of partial product and addition of multiplier based on the check result is repeated for the number of bits of the partial product. For example, in order to obtain a 16-bit product, 16 iterations (loops) are required.

【0004】マイクロプロセッサの機械命令でループ処
理を実現するには、カウント値を格納するレジストある
いはメモリ・オペランドをカウント・オペランドとして
定め、ループ処理に制御が移る直前に必要なループ回数
を設定する。ループ内処理が終了すると、演算命令(例
えばデクリメント演算命令)の実行によって、カウント
・オペランドの内容を1減ずる。次にカンウント・オペ
ランドの値が0であるかを演算命令(例えば論理演算命
令)の実行によって、マイクロプロセッサの状態を示す
フラグ・レジスタに反映させる。
In order to realize the loop processing by the machine instruction of the microprocessor, the resist or memory operand for storing the count value is defined as the count operand, and the necessary loop number is set immediately before the control is transferred to the loop processing. When the processing in the loop ends, the content of the count operand is decremented by 1 by the execution of the operation instruction (for example, the decrement operation instruction). Then, whether or not the value of the count operand is 0 is reflected in the flag register indicating the state of the microprocessor by executing an arithmetic instruction (for example, a logical arithmetic instruction).

【0005】フラグ・レジスタが演算結果が0を示して
いるかどうかを、フラグ・レジスタ内の特定のビット状
態により分岐を行う条件分岐命令によって判定する。カ
ウント・オペランドが0になったことが判定されると、
条件分岐命令はtakenせずループ処理を終了させ
る。
Whether or not the operation result of the flag register indicates 0 is determined by a conditional branch instruction which branches depending on a specific bit state in the flag register. When it is determined that the count operand has become 0,
The conditional branch instruction does not take and ends the loop processing.

【0006】一方、カウント・オペランドが0でないこ
とが判定されれば、条件分岐命令はtakenしループ
内処理の先頭に制御を移す。以上のようにループ内処理
を、カウント・オペランドに最初に設定されたループ回
数分繰り返すフロー処理を実現する。
On the other hand, if it is determined that the count operand is not 0, the conditional branch instruction is taken and control is transferred to the beginning of the in-loop processing. As described above, the flow processing in which the in-loop processing is repeated the number of times of the loop initially set in the count operand is realized.

【0007】また、ループ回数が変数である場合(特に
0回の指定があり得る場合)、ループ処理に制御が移る
前に指定されたカウント・オペランドが0かどうかを判
定し、0であればループ処理をスキップさせる必要があ
る。
If the number of loops is a variable (especially when 0 can be specified), it is judged whether the specified count operand is 0 before the control is transferred to the loop processing. It is necessary to skip the loop processing.

【0008】このようにループ処理のフローを制御する
ためにはループ内処理の実行毎に、1)カウント・オペ
ランドの更新、2)更新されたカウント・オペランドの
チェック、3)ループ内処理続行のための分岐、を処理
するための各機械命令を実行する必要がある。これら
1)〜3)の各処理は、マイクロプロセッサによっては
それぞれ1つの機械命令によって実現される場合もある
し、複数の命令によって実現される場合もある。
In order to control the flow of the loop processing as described above, 1) update of the count operand, 2) checking of the updated count operand, and 3) continuation of the processing within the loop every time the processing in the loop is executed. Each machine instruction must be executed to process the branch for. Depending on the microprocessor, each of the processes 1) to 3) may be realized by one machine instruction or may be realized by a plurality of instructions.

【0009】以上のループ処理制御は、ループ内処理の
本質的な処理に対してオーバヘッドとなる。しかも、こ
のオーバヘッドはループ回数だけ累積されるため、ルー
プ処理制御の性能はループ処理全体の性能に大きく影響
する。このため、ループ処理制御を高速に行うために専
用の機械命令を持つマイクロプロセッサが知られてい
る。
The above loop processing control becomes an overhead for the essential processing of the in-loop processing. Moreover, since this overhead is accumulated by the number of loops, the performance of the loop processing control greatly affects the performance of the entire loop processing. Therefore, a microprocessor having a dedicated machine instruction for performing loop processing control at high speed is known.

【0010】インテル(Intel)社の16ビット・
マイクロプロセッサi8086は、前述のループ制御を
1命令で処理する機械命令JCXNZ命令を有してい
る。このJCXNZ命令は、分岐先オペランドを有し、
カウント・オペランドを汎用レジスタの1つである16
ビット・レジスタCXを暗黙のうちに使用することを前
提としている。JCXNZ命令を実行すると、CXレジ
スタの内容を1減し(デクリメントし)、その結果が0
でなければ分岐先オペランドで指定される番地に制御を
移す。
16-bit Intel
The microprocessor i8086 has a machine instruction JCXNZ instruction for processing the above-mentioned loop control with one instruction. This JCXNZ instruction has a branch destination operand,
The count operand is one of the general-purpose registers, 16
It is assumed that the bit register CX is used implicitly. When the JCXNZ instruction is executed, the contents of the CX register are decremented by 1 and the result is 0.
Otherwise, control is transferred to the address specified by the branch destination operand.

【0011】一方、CXレジスタのデクリメント結果が
0であることが判定されると、JCXNZ命令の次の番
地に配置されている機械命令に制御を移す。このよう
に、JCXNZ命令を用いることで65536回(16
ビットのカウンタ・オペランドで指定される最大ループ
回数)までのループ処理が実現される。
On the other hand, when it is determined that the decrement result of the CX register is 0, the control is transferred to the machine instruction located at the address next to the JCXNZ instruction. By using the JCXNZ instruction in this way, 65536 times (16
The loop processing up to the maximum loop number specified by the bit counter operand is realized.

【0012】JCXNZ命令と同様の機能を、従来のマ
イクロプロセッサで実現することを考えてみる。図5は
JCXNZ命令と同一の機械命令(デクリメント・アン
ド・ブランチ命令という)機能を有する16ビット・マ
イクロプロセッサの命令実行部の構成を示すブロック図
である。
Consider implementing a function similar to the JCXNZ instruction with a conventional microprocessor. FIG. 5 is a block diagram showing the configuration of an instruction execution unit of a 16-bit microprocessor having the same machine instruction (decrement and branch instruction) function as the JCXNZ instruction.

【0013】レジスタ・ファイル21は8本の16ビッ
ト・レジスタAX30,BX32,CX33,DX3
4,SI35,DI36,BP37,SP38から構成
され、2組の16ビット・バスM−Bus,S−Bus
に接続される。各16ビット・レジスタからはM−Bu
s,S−Busの双方にデコーダMDEC22a,SD
EC23の読出しレジスタ指定信号でされる16ビット
・レジスタの内容が読出しが可能である。
The register file 21 has eight 16-bit registers AX30, BX32, CX33, DX3.
4, SI35, DI36, BP37, SP38, and two sets of 16-bit buses M-Bus and S-Bus.
Connected to. M-Bu from each 16-bit register
Decoders MDEC22a, SD for both s and S-Bus
The contents of the 16-bit register designated by the read register designation signal of the EC 23 can be read.

【0014】さらに、デコーダMDEC22aの書込レ
ジスタ指定信号で指定される16ビット・レジスタに
は、M−Bus上の値を書き込むことができる。16ビ
ット二進算術論理演算器ALU24は2つの入力がM−
Bus,S−Busの双方に接続される。ALU24の
一方の入力にはM−Bus上の値がデコーダMDEC2
2aの書込レジスタ指定信号により設定され、同様にも
う一方の入力にはS−Bus上の値がデコーダSDEC
23の書込レジスタ指定信号により設定される。演算制
御デコーダADEC25はALU24が行う演算の種類
(算術演算、論理演算)を指定する。ALU24の行う
演算の演算結果は、デコーダMDEC22aの読出しレ
ジスタ指定信号によりM−Busに読み出される。
Further, the value on the M-Bus can be written in the 16-bit register designated by the write register designation signal of the decoder MDEC 22a. The 16-bit binary arithmetic logic unit ALU24 has two inputs M-
It is connected to both Bus and S-Bus. The value on the M-Bus is input to one input of the ALU 24 by the decoder MDEC2.
2a is set by the write register designating signal, and similarly the value on the S-Bus is input to the decoder SDEC at the other input.
It is set by the write register designating signal 23. The operation control decoder ADEC25 specifies the type of operation (arithmetic operation, logical operation) performed by the ALU 24. The calculation result of the calculation performed by the ALU 24 is read to the M-Bus by the read register designating signal of the decoder MDEC 22a.

【0015】ALU24の演算結果の状態、例えばキャ
リー/ボローの発生、オーバフローの発生、演算結果が
ゼロ、符号等は演算ステータス判定回路STGEN26
によりチェックされる。
The status of the operation result of the ALU 24, for example, carry / borrow occurrence, overflow occurrence, operation result is zero, and the sign is the operation status determination circuit STGEN26.
Checked by.

【0016】これらの状態はプロセッサ・ステータスワ
ードPSW27のフラグに選択的にラッチされる。この
PSW27の内容もM−Busに読出し可能である。
These states are selectively latched into flags in the processor status word PSW27. The contents of this PSW 27 can also be read to the M-Bus.

【0017】この他M−Busには、16ビットのプロ
グラムカウンタPC28ならびに分岐命令のディスプレ
ースメント値を格納する16ビット・レジスタDISP
29が接続され、デコーダMDEC22a02の読出し
レジスタ指定信号によりM−Busに読み出される。
In addition, the M-Bus has a 16-bit program counter PC28 and a 16-bit register DISP for storing displacement values of branch instructions.
29 is connected, and is read to the M-Bus by the read register designation signal of the decoder MDEC22a02.

【0018】MDEC22a,SDEC23,ADEC
25の入力はマイクロ命令レジスタMR41に接続され
る。MR41は、マイクロ・アドレス・レジスタMAR
43の内容で指定されたアドレスに格納されているマイ
クロ命令メモリMMEM42aの内容をラッチする。
MDEC22a, SDEC23, ADEC
The input of 25 is connected to the micro instruction register MR41. MR41 is a micro address register MAR
The contents of the microinstruction memory MMEM42a stored at the address designated by the contents of 43 are latched.

【0019】マイクロ・アドレス・レジスタMAR43
は、次に実行するマイクロ名のアドレスを保持し、マイ
クロ・アドレス発生器MAGEN44の出力をラッチす
る。MAGEN44はMAR43の値をインクリメント
するインクリメンタ、MR41の値の一部分を用いて分
岐先アドレスを生成する分岐アドレス発生器等を含んで
いる。さらに図面では省略しているがMAGEN44に
は、本マイクロプロセッサの命令デコード部で発生され
た機械命令のデコード結果から複数のマイクロ命令のシ
ーケンスで構成されるマイクロプログラムの先頭アドレ
スを発生する初期化回路を含んでいる。
Micro address register MAR43
Holds the address of the next micro name to be executed and latches the output of the micro address generator MAGEN44. The MAGEN 44 includes an incrementer that increments the value of the MAR 43, a branch address generator that generates a branch destination address by using a part of the value of the MR 41, and the like. Although not shown in the drawing, the MAGEN 44 includes an initialization circuit for generating a start address of a microprogram composed of a sequence of a plurality of microinstructions from a decoding result of a machine instruction generated in an instruction decoding unit of the present microprocessor. Is included.

【0020】分岐制御回路BRCNT45aは、MR4
1の出力によりマイクロ命令が分岐命令であることを検
知し、必要な分岐条件を選択して判定し、分岐がtak
enするかどうかをMSEQ46に通知する。BRCN
T45aによって判定される分岐条件には、STGEN
26aの発生したALU24の演算結果の状態も含まれ
る。マイクロシーケンサMSEQ46はMAGEN44
に接続され、BRCNT45aが発生する分岐命令を含
むマイクロプログラムのシーケンスを制御する。MSE
Q46が発生するタイミング信号ENDMは、マイクロ
プログラムのシーケンスが終了したことを示す。
The branch control circuit BRCNT45a is connected to the MR4.
The output of 1 detects that the microinstruction is a branch instruction, selects and determines the necessary branch condition, and the branch is taken.
Notify the MSEQ 46 whether to en. BRCN
The branch condition determined by T45a is STGEN.
The state of the operation result of the ALU 24 generated by 26a is also included. Micro sequencer MSEQ46 is MAGEN44
Control a sequence of microprograms including branch instructions generated by the BRCNT 45a. MSE
The timing signal ENDM generated by Q46 indicates that the microprogram sequence is completed.

【0021】MMEM42aに格納されるマイクロ命令
には、1)MDEC22a,SDEC23によりM−B
usおよびS−Busを介したデータ転送を制御するデ
ータ転送命令、2)BRCNT45aによって指定され
た条件を判定し選択的にMAR43に新たなアドレスを
設定する分岐命令、3)ADEC25によりALU24
を制御する演算命令、4)制御信号デコーダCDEC4
7aにより命令実行部を含む本マイクロプロセッサ各部
に制御信号を伝達する制御命令等のフィールド命令が含
まれる。
The microinstructions stored in the MMEM 42a are as follows: 1) The MDEC 22a and SDEC 23 make MB
a data transfer instruction for controlling data transfer via us and S-Bus, 2) a branch instruction for judging a condition designated by the BRCNT 45a and selectively setting a new address in the MAR 43, 3) an ALU 24 by the ADEC 25
4) Control signal decoder CDEC4
A field command such as a control command for transmitting a control signal to each part of the microprocessor including the command execution part by 7a is included.

【0022】一回にアクセスされるマイクロ命令には、
複数のフィールド命令が含まれ、例えば複数(M−Bu
s,S−Busの同時)のデータ転送命令や、演算命令
と分岐命令の同時記述(実行)が可能である。
Microinstructions that are accessed at one time include:
A plurality of field instructions are included, for example, a plurality of (M-Bu
It is possible to simultaneously describe (execute) a data transfer instruction of s and S-Bus) and an operation instruction and a branch instruction at the same time.

【0023】この従来例によるデクリメント・アンド・
ブランチ命令の実行について説明する。命令デコード部
(図示せず)でデクリメント・アンド・ブランチ命令が
デコードされると、MAR43には本機械命令の処理マ
イクロプログラムの先頭アドレスがMAGEN44を介
して設定される。この処理用のマイクロプログラムのフ
ローチャートを図6に示す。
Decrement and
The execution of a branch instruction will be described. When the decrement-and-branch instruction is decoded by the instruction decoding unit (not shown), the head address of the processing microprogram of this machine instruction is set in the MAR 43 via the MAGEN 44. A flow chart of the microprogram for this processing is shown in FIG.

【0024】まず、ステップS11で転送命令によりC
Xレジスタ33の内容を転送命令によりM−Busを介
してALU24の入力に転送する。次にステップS12
で演算命令によりALU24にデクリメント演算を指定
し、演算を行う(CXレジスタ33の内容が1デクリメ
ントされる)。さらに、ステップS13で、転送命令に
よりALU24によるデクリメント結果を転送命令によ
りM−Busを介してCXレジスタ33に書き戻す。
First, in step S11, C is issued by a transfer instruction.
The contents of the X register 33 are transferred to the input of the ALU 24 via the M-Bus by the transfer command. Next in step S12
Then, a decrement operation is designated to the ALU 24 by the operation instruction and the operation is performed (the content of the CX register 33 is decremented by 1). Further, in step S13, the decrement result by the ALU 24 is written back to the CX register 33 via the M-Bus by the transfer instruction by the transfer instruction.

【0025】次に、ステップS14でデクリメント演算
結果の状態のうちSTGEN26が発生するゼロ状態を
分岐命令が判定し、ゼロであることが判定されれば分岐
はtakenし、ゼロでないことが判定されれば機械命
令の分岐処理をするために分岐がtakenしない。ス
テッフS14でゼロが判定されれば、ステップS15で
本処理を終了するための制御命令を実行し、マイクロプ
ログラムを終了する。
Next, in step S14, the branch instruction determines the zero state generated by STGEN26 in the state of the decrement operation result, and if it is determined to be zero, the branch is taken and it is determined that it is not zero. For example, the branch is not taken because the machine instruction is branched. If zero is determined in step S14, a control command for ending this process is executed in step S15, and the microprogram is ended.

【0026】ステップS14でゼロでないことが判定さ
れれば、ステップ15に進みターゲットアドレスへの分
岐処理を行う。この分岐処理は、1)PC28ならびに
DISP29の内容を転送命令によってM−Busを介
してALU24に転送し、2)演算(加算)命令によっ
てこれらの和を分岐先(ターゲット)アドレスとして求
め、3)転送命令によっえこの結果をM−Busを介し
てPC28に転送する、4)図面では省略してるが本マ
イクロプロセッサの命令フェッチ部を初期化しPC28
に転送したターゲット・アドレスから命令コードフェッ
チを行わせる制御命令を実行し、5)ステップS16で
本処理を終了するための制御命令を実行し、マイクロプ
ログラムを終了する。
If it is determined in step S14 that the value is not zero, the process proceeds to step 15 to perform branching processing to the target address. In this branch processing, 1) the contents of the PC 28 and the DISP 29 are transferred to the ALU 24 via the M-Bus by a transfer instruction, and 2) the sum of these is calculated as a branch destination (target) address by an operation (addition) instruction, and 3). This result is transferred to the PC 28 via the M-Bus by a transfer instruction. 4) Although not shown in the drawing, the instruction fetch unit of the present microprocessor is initialized and the PC 28
The control instruction for fetching the instruction code from the target address transferred to is executed, and 5) the control instruction for ending this processing is executed in step S16 to end the microprogram.

【0027】[0027]

【発明が解決しようとする課題】上述した従来のマイク
ロプログラム処理において、ループ処理を継続すること
を確定するためには、ステップS11,S12によるC
Xレジスタ33のデクリメント、ステップ14によるデ
クリメント結果の判定が不可欠である(一連の処理をル
ープ判定処理と呼ぶ)。ループ制御の性能向上(ループ
処理制御のオーバヘッド低減)には、ステップ15によ
る本質的なループ形成のための分岐動作とともに、前述
のループ判定処理を高速に行えるかが課題となる。
In the conventional microprogram processing described above, in order to confirm that the loop processing is to be continued, C in steps S11 and S12 is used.
It is indispensable to decrement the X register 33 and determine the decrement result in step 14 (a series of processes is called a loop determination process). In order to improve the performance of loop control (reduce the overhead of loop processing control), it is important to perform the above-described loop determination processing at high speed in addition to the branching operation for forming an essential loop in step 15.

【0028】ところが前述のようにループ判定処理内で
カウント・オペランドの更新を行い(従来例ではステッ
プS11,12の処理)、更新結果を判定する(従来例
ではステップ13の処理)シーケンスでは、必ずカウン
ト・オペランドの更新終了を待たなければ判定ができな
いという(シリーズ処理になるという)欠点がある。
However, as described above, the count operand is updated in the loop determination processing (the processing of steps S11 and 12 in the conventional example) and the update result is determined (the processing of step 13 in the conventional example). There is a drawback that the judgment cannot be made until the update of the count operand is completed (series processing is performed).

【0029】本発明の目的は、これらの欠点を除き、カ
ウント・オペランドの更新時にその結果がループ処理終
了条件を満たす直前の値であることを検知して記憶し、
次のループ判定処理において記憶された検知状態を安定
できるようにした分岐制御装置を提供することにある。
With the exception of these drawbacks, an object of the present invention is to detect and store that the result is a value immediately before the loop processing end condition is satisfied when updating the count operand,
Another object of the present invention is to provide a branch control device capable of stabilizing the detection state stored in the next loop determination process.

【0030】[0030]

【課題を解決するための手段】本発明の構成は、デクリ
メント・アンド・ブランチ命令を機械命令として有する
マイクロプロセッサの分岐制御装置において、前記デク
リメント・アンド・ブランチ命令の終了値条件を満たす
直前のカンウント・オペランドを検知する検知手段と、
この検知手段の検知結果を特定のタイミングで保持する
保持手段と、この保持手段の値を判定する判定手段と、
前記保持手段の値を前記判定手段によって判定した結果
により選択的に分岐動作を行う制御手段とを備えること
を特徴とする。
According to the structure of the present invention, in a branch controller of a microprocessor having a decrement-and-branch instruction as a machine instruction, a count immediately before the end value condition of the decrement-and-branch instruction is satisfied.・ Detection means for detecting the operand,
Holding means for holding the detection result of the detecting means at a specific timing; determining means for determining the value of the holding means;
And a control unit for selectively performing a branching operation according to a result of the value of the holding unit determined by the determination unit.

【0031】[0031]

【実施例】図1は本発明を適用した一実施例であるマイ
クロプロセッサの命令実行部の構成を示すブロック図で
ある。このマイクロプロセッサは、従来例と同様のデク
リメント・アンド・ブランチ命令を持つ。構成上従来の
マイクロプロセッサの構成と異なるのは次のとおりであ
り、その他の部分は同一の構成を持っている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing the configuration of an instruction execution unit of a microprocessor which is an embodiment to which the present invention is applied. This microprocessor has a decrement and branch instruction similar to the conventional example. The structure is different from that of the conventional microprocessor in the following points, and the other parts have the same structure.

【0032】1)STGEN26にALU24による演
算結果が1になったことを検知し保持する機構を含む。
1) The STGEN 26 includes a mechanism for detecting and holding that the result of the arithmetic operation by the ALU 24 becomes 1.

【0033】2)BRCNT45が1)によって検知さ
れた状態を判定する分岐(マイクロ)命令を追加してい
る。このため、STGEN26からBRCNT45に対
して条件信号CXNONEが追加される。
2) A branch (micro) instruction for determining the state detected by the BRCNT 45 by 1) is added. Therefore, the condition signal CXNONE is added from STGEN 26 to BRCNT 45.

【0034】3)CDEC47がSTGEN26を制御
する制御信号SETFFを発生する。この制御信号は特
定の制御(マイクロ)命令の実行に対応して発生する。
3) The CDEC 47 generates the control signal SETFF which controls the STGEN 26. This control signal is generated in response to the execution of a specific control (micro) instruction.

【0035】4)MMEM42に格納されるブランチ・
アンド・デクリメント命令に対応するマイクロプログラ
ムが異なる。
4) Branches stored in MMEM 42
The microprogram corresponding to the AND / DECREMENT instruction is different.

【0036】5)MDEC22によってCXレジスタ3
3に対する書込みレジスタ指定信号がSTGEN26に
接続されている。
5) CX register 3 by MDEC 22
The write register designation signal for 3 is connected to STGEN 26.

【0037】これらの差異のうちSTGEN26の構成
が、従来例と異なる部分を図2に示している。「1」検
出器11はALU24の出力(演算結果)を監視し、こ
れが1(0001h)であることを検知する。この回路
は、機能的には16入力NOR(否定論理和)等で構成
できる(最下位ビットだけ否定論理を入力)。
FIG. 2 shows a part of the difference between the STGEN 26 and the conventional example among these differences. The "1" detector 11 monitors the output (calculation result) of the ALU 24 and detects that it is 1 (0001h). This circuit can be functionally composed of 16-input NOR (negative logical sum) or the like (only the least significant bit is inputted with negative logical logic).

【0038】タイミング・ラッチ12は、ALU24か
ら演算結果が読出される毎に、「1」検知器11の出力
をラッチし、反転論理を出力して演算結果が1でなかっ
たことを示す。この出力は、次にALU24からの演算
結果が読出されるまで保持される。
The timing latch 12 latches the output of the "1" detector 11 every time the operation result is read from the ALU 24 and outputs the inverted logic to indicate that the operation result is not 1. This output is held until the calculation result from the ALU 24 is read next time.

【0039】1ビット・レジスタFF(1)13は、S
ETFF信号を発生させる制御(マイクロ)命令が実行
されるとタイミング・ラッチの出力を記憶する。このS
ETFF信号は、デクリメント・アンド・ブランチ命令
処理に対応したマイクロプログラムにおいて、CX33
の内容のALU24によるデクリメント時に制御命令の
実行によってCDEC47により発生される。FF13
の出力CXNONE信号は、BRCNT45に接続さ
れ、分岐(マイクロ)命令によって状態を判定できる。
The 1-bit register FF (1) 13 is S
The output of the timing latch is stored when the control (micro) instruction that generates the ETFF signal is executed. This S
The ETFF signal is sent to the CX33 in the microprogram corresponding to the decrement and branch instruction processing.
It is generated by the CDEC 47 by the execution of a control command during decrement by the ALU 24 of the contents. FF13
The output CXNONE signal of is connected to the BRCNT 45, and the state can be determined by a branch (micro) instruction.

【0040】またFF13は、2入力ANDゲート15
の出力によりリセットされる。この2入力ANDゲート
15の出力は、デクリメント・アンド・ブランチ命令処
理に対応したマイクロプログラムの実行時以外で、CX
レジスタ33に対する更新が生じたことを示す。すなわ
ち、CXレジスタ33がデクリメント・アンド・ブラン
チ命令以外の機械命令によって新たに設定または更新さ
れた場合、FF13の保持する値が正しい保証が無くな
るのを避けている。さらに、FF13は本マイクロプロ
セッサのリセット時にリセットされる。
The FF 13 has a 2-input AND gate 15
Is reset by the output of. The output of the 2-input AND gate 15 is CX except when the microprogram corresponding to the decrement and branch instruction processing is executed.
Indicates that an update to register 33 has occurred. That is, when the CX register 33 is newly set or updated by a machine instruction other than the decrement and branch instruction, it is avoided that the value held by the FF 13 is not guaranteed to be correct. Further, the FF 13 is reset when the present microprocessor is reset.

【0041】RSフリップフロップ(2)14は、SE
TFF信号によりセットされ、ENDM信号ならびに図
面では記載されていないが本マイクロプロセッサのリセ
ット時にリセットされる。FF14の出力は、デクリメ
ント・アンド・ブランチ命令処理に対応したマイクロプ
ログラムが実行されている期間(ただしCX33の値が
ALU34によるデクリメントが実行されるまでの期間
を除く)を示す。
The RS flip-flop (2) 14 is SE
It is set by the TFF signal and reset by the ENDM signal as well as the microprocessor reset (not shown). The output of the FF 14 indicates the period during which the microprogram corresponding to the decrement-and-branch instruction processing is being executed (excluding the period until the value of the CX 33 is decremented by the ALU 34).

【0042】図3は図1の処理を説明するフローチャー
トである。MMEM42に格納されているデクリメント
・アンド・ブランチ命令処理に対応したマイクロプログ
ラムの動作について述べる。
FIG. 3 is a flow chart for explaining the processing of FIG. The operation of the microprogram corresponding to the decrement and branch instruction processing stored in the MMEM 42 will be described.

【0043】まず、ステップS1でCXNONE信号の
状態を分岐(マイクロ)命令により判定し、STGEN
26が直前の演算結果1でないことが判定されれば分岐
はtakenせず、1であることが判定されれば通常の
ループ処理のためにtakenする。
First, in step S1, the state of the CXNONE signal is determined by a branch (micro) instruction, and STGEN is set.
If it is determined that 26 is not the immediately preceding operation result 1, the branch is not taken. If it is determined that it is 1, the branch is taken for normal loop processing.

【0044】ステップS1で1でないことが判定された
場合、ステップS2のターゲットアドレスへの分岐処理
(従来例のS15)に進む。1)PC28ならびにDI
SP29の内容を転送命令によってM−Busを介して
ALU24に転送し、2)演算(加算)命令によってこ
れらの和を分岐先(ターゲット)アドレスとして求め、
3)転送命令によってこの結果をM−Busを介してP
C28に転送する、4)このマイクロプロセッサの命令
フェッチ部を初期化しPC28に転送したターゲット・
アドレスから命令コードフェッチを行わせる制御命令を
実行する。
If it is determined in step S1 that the value is not 1, the process proceeds to step S2 for branching to the target address (S15 in the conventional example). 1) PC28 and DI
The contents of SP29 are transferred to the ALU 24 via the M-Bus by the transfer command, and 2) the sum of these is obtained as the branch destination (target) address by the operation (addition) command,
3) This result is transferred to P via M-Bus by the transfer command.
Transfer to C28, 4) The target fetched by initializing the instruction fetch unit of this microprocessor and transferring to PC28.
Execute the control instruction that causes the instruction code fetch from the address.

【0045】ステップS2に引続き、ステップS3(従
来例S11)で転送命令によりCXレジスタ33の内容
を転送命令によりM−Busを介してALU24の入力
に転送する。さらにステップS4(従来例S12)で演
算命令によりALU24にデクリメント演算を指定し、
演算を行う(CXレジスタ33の内容が1デクリメント
される)。次にステップS5(従来例S13)で制御命
令によりSETFF信号を発生させ、FF13をサンプ
リングし、さらにFF14をセットして、ステップS5
によるCXレジスタ33の更新時のFF13のリセット
を避ける。
Subsequent to step S2, in step S3 (conventional example S11), the contents of the CX register 33 are transferred by the transfer command to the input of the ALU 24 via the M-Bus by the transfer command. Further, in step S4 (conventional example S12), a decrement operation is designated to the ALU 24 by an operation instruction,
The calculation is performed (the content of the CX register 33 is decremented by 1). Next, in step S5 (conventional example S13), a SETFF signal is generated by a control command, FF13 is sampled, FF14 is set, and step S5 is performed.
Avoid resetting the FF 13 when the CX register 33 is updated by.

【0046】ステップS5に引続き、ステップS6(従
来例S13)で転送命令によりAUL24によるデクリ
メント結果を転送命令によりM−Busを介してCXレ
ジスタ33に書戻す。さらにステップS7(従来例S1
6)で本処理を終了するための制御命令を実行し、EN
DM信号を発生させてFF2をリセットした上で、マイ
クロプログラムを終了する。
Subsequent to step S5, in step S6 (conventional example S13), the decrement result by the AUL 24 is written back to the CX register 33 via the M-Bus by the transfer instruction. Further, step S7 (conventional example S1
In 6), execute the control command to end this process, and
After generating the DM signal and resetting the FF2, the microprogram is terminated.

【0047】ステップS1において1であること(もし
くはCXレジスタ33が更新された場合)が判定された
場合、ステップS8に進み従来例におけるデクリメント
・アンド・ブランチ処理と同等の処理を行う。
When it is determined in step S1 that it is 1 (or when the CX register 33 is updated), the process proceeds to step S8 and the same process as the decrement-and-branch process in the conventional example is performed.

【0048】本実施例では1ステップづつの動作につい
て説明したが、前述のように1つのマイクロ命令は複数
のフィールド命令を記述できるため、前後関係が乱れな
い範囲においてより少数のマイクロ命令によって上記ス
テップの記述が可能である。
In this embodiment, the operation has been described step by step. However, as described above, one microinstruction can describe a plurality of field instructions. Can be described.

【0049】このマイクロプログラムは、命令コードの
再フェッチ(分岐)動作(ステップS2に相当)以後に
CXレジスタ33の更新を行っている(ステップS3〜
S7に相当)ことが、前述の従来例におけるマイクロプ
ログラムと異なる。分岐動作を行う場合、新たな命令ス
トリームが命令フェッチ部→命令デコード部→命令実行
部と通知されるまでに遅延を伴うため、次の機械命令を
命令実行部で処理を始めるまでには通常数クロック期間
の無効時間が生じる。
This microprogram updates the CX register 33 after the instruction code refetch (branch) operation (corresponding to step S2) (steps S3 to S3).
(Corresponding to S7) is different from the above-described conventional microprogram. When performing a branch operation, there is a delay until a new instruction stream is notified as the instruction fetch section → the instruction decode section → the instruction execution section. Therefore, it takes a normal number to start processing the next machine instruction in the instruction execution section. Invalid periods of clock periods occur.

【0050】このマイクロプログラムでは、この無効時
間を利用してCXレジスタ33の更新を行い、この更新
処理がマイクロプログラム実行のオーバヘッドとして現
われないようにしている。
In this microprogram, the CX register 33 is updated by utilizing this invalid time so that this updating process does not appear as an overhead of executing the microprogram.

【0051】以上説明したように、本実施例によりカウ
ント・オペランドが直前のデクリメント・アンド・ブラ
ンチ命令により終了条件の直前の値になっていない場
合、高速にデクリメント・アンド・ブランチ命令を処理
できる。また、カウント・オペランドが終了条件の直前
の値になっている場合、もしくはカウント・オペランド
が別の機械命令によって更新されている場合、従来のマ
イクロプロセッサより1ステップ余分なマイクロ命令を
必要とするが、ループ処理制御ではループ処理続行時の
性能が支配的であり、このオーバヘッドは無視できる。
As described above, according to this embodiment, when the count operand does not have the value immediately before the end condition due to the immediately preceding decrement and branch instruction, the decrement and branch instruction can be processed at high speed. Also, if the count operand has a value immediately before the end condition, or if the count operand is updated by another machine instruction, a micro-instruction which is one step extra than the conventional microprocessor is required. In loop processing control, the performance when loop processing continues is dominant, and this overhead can be ignored.

【0052】なお、本実施例ではマイクロプログラムに
よる制御について述べたが、ハードウェアド・ロジック
によっても同等の制御が可能であることは明らかであ
る。
Although the control by the microprogram has been described in this embodiment, it is obvious that the equivalent control can be performed by the hardware logic.

【0053】図4は本発明の第2の実施例を説明する演
算ステータス判定回路のブロック図である。本実施例で
は、デクリメント・アンド・ブランチ命令は、CXレジ
スタ33の値をカウント・オペランドとして参照する
他、PSW27に格納されているゼロ・フラグZF16
の値をループ処理終了条件として参照するようにしてい
る。
FIG. 4 is a block diagram of a calculation status judging circuit for explaining the second embodiment of the present invention. In the present embodiment, the decrement and branch instruction refers to the value of the CX register 33 as a count operand, and also the zero flag ZF16 stored in the PSW 27.
The value of is referred to as the loop processing end condition.

【0054】すなわち、ループ処理終了条件は次のよう
になる。 1)CXレジスタ33の内容がデクリメントの結果0ま
たはZF16が1 2)CXレジスタ33の内容がデクリメントの結果0ま
たはZF16が0 これらのループ処理終了条件を持つデクリメント・アン
ド・ブランチ命令は、本命令の直前に実行された演算
(機械)命令の結果によりループ処理の続行/終了を制
御するものである。このデクリメント・アンド・ブラン
チ命令は、第一の実施例て述べたカンウント・オペラン
ドだけを参照するデクリメント・アンド・ブランチ命令
と併用することで、様々な形態のループ処理制御を可能
にする。
That is, the loop processing end condition is as follows. 1) The content of CX register 33 is 0 as a result of decrement or ZF16 is 1 2) The content of CX register 33 is 0 as a result of decrement or 0 of ZF16 is 0 The decrement-and-branch instruction with these loop processing end conditions is The execution / termination of loop processing is controlled by the result of the arithmetic (machine) instruction executed immediately before. This decrement and branch instruction enables various forms of loop processing control by being used in combination with the decrement and branch instruction that refers to only the count operand described in the first embodiment.

【0055】フラグ・セレクタFSEL17は、ブラン
チ・アンド・デクリメント命令の種類によって命令デコ
ード部あるいは命令実行部で生成されるフラグ選択信号
によって、PSW27内の各種フラグ状態(正論理/否
定論理)を選択する。2入力ANDゲート18は、一方
の入力をFF13の出力に、もう一方の入力をFSEL
17の出力に接続され、FSEL17で選択されたフラ
グの状態によってFF13の出力をマスクする。2入力
ANDゲート18の出力はループ処理続行条件を示すL
OOPNEND信号として、第一の実施例におけるCX
NONE信号の代りにBRCNT45に接続される。
The flag selector FSEL17 selects various flag states (positive logic / negative logic) in the PSW 27 according to a flag selection signal generated by the instruction decoding unit or the instruction execution unit according to the type of branch and decrement instruction. . The 2-input AND gate 18 has one input as the output of the FF 13 and the other input as FSEL.
The output of the FF 13 is masked by the state of the flag connected to the output of the FSEL 17 and selected by the FSEL 17. The output of the 2-input AND gate 18 indicates L indicating the condition for continuing the loop processing.
As the OOPNEND signal, the CX in the first embodiment
It is connected to BRCNT 45 instead of the NONE signal.

【0056】このデクリメント・アンド・ブランチ命令
に対応するマイクロプログラムにおいては、最初のステ
ップにおいてLOOPNEND信号がループ続行条件を
示していないと判定された後、CXレジスタ33のデク
リメント結果を参照するのに加えて、ZF16の状態を
参照する必要がある他は、図3に示すフローチャートと
同一で良い。
In the microprogram corresponding to the decrement and branch instruction, in addition to referring to the decrement result of the CX register 33 after the LOOPNEND signal is determined not to indicate the loop continuation condition in the first step. The process may be the same as the flowchart shown in FIG. 3 except that it is necessary to refer to the state of ZF16.

【0057】LOOPNEND信号は、FF13が直前
のデクリメント・アンド・ブランチ命令の結果カウント
・オペランド(CXレジスタ33)の値が1であって、
ZF16の値がフラグ選択信号によって指定された条件
であった場合にアクティブとなる。
In the LOOPNEND signal, the value of the result count operand (CX register 33) of the immediately preceding decrement and branch instruction in the FF 13 is 1,
It becomes active when the value of ZF16 is the condition designated by the flag selection signal.

【0058】ここでは、PSW27に格納されているフ
ラグのうちゼロ・フラグを参照する例について述べた
が、キャリー・フラグ、符号フラグ、あるいは複数のフ
ラグ状態の組合せによってループ処理制御されるデクリ
メント・アンド・ブランチ命令に関しても、本発明を適
用することができる。
Here, the example in which the zero flag is referred to among the flags stored in the PSW 27 has been described, but the decrement and control which is loop-controlled by the carry flag, the sign flag, or a combination of a plurality of flag states. The present invention can also be applied to branch instructions.

【0059】[0059]

【発明の効果】以上説明したように本発明によれば、デ
クリメント・アンド・ブランチ命令を高速に実行できる
マイクロプロセッサを実現でき、その結果高速なループ
処理の提供が可能になる。
As described above, according to the present invention, it is possible to realize a microprocessor capable of executing decrement-and-branch instructions at high speed, and as a result, it is possible to provide high-speed loop processing.

【0060】ソフトウェア処理では多重構成のループ処
理が形成されることが多い。この場合、入れ子構造でデ
クリメント・アンド・ブランチ命令が使用され、最も内
側のループ処理で使用されるデクリメント・アンド・ブ
ランチ命令でのみ、本発明の効果が発揮されるわけであ
る。しかし、実際には内側のループ処理ほど、全体の処
理性能に対して支配的であり、その中で最も内側のルー
プ処理の性能を向上させることは最も効果的であること
は明らかである。
In software processing, a loop processing having a multiple structure is often formed. In this case, the decrement-and-branch instruction is used in the nested structure, and the effect of the present invention is exerted only by the decrement-and-branch instruction used in the innermost loop processing. However, in practice, the inner loop processing is more dominant in the overall processing performance, and it is clear that improving the performance of the innermost loop processing is the most effective.

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

【図1】本発明の一実施例の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

【図2】図1の実施例における演算ステータス判定回路
の一部の構成を示す回路図。
2 is a circuit diagram showing a partial configuration of a calculation status determination circuit in the embodiment of FIG.

【図3】図1の実施例におけるブランチ・アンド・デク
リメント命令の実行処理を行うマイクロプログラムのフ
ローチャート。
FIG. 3 is a flowchart of a microprogram for executing a branch and decrement instruction execution process in the embodiment of FIG.

【図4】本発明の第二の実施例における演算ステータス
判定回路の一部の構成を示す回路図。
FIG. 4 is a circuit diagram showing a partial configuration of a calculation status determination circuit according to a second embodiment of the present invention.

【図5】従来のマイクロプロセッサの命令実行部の構成
の一例を示すブロック図。
FIG. 5 is a block diagram showing an example of a configuration of an instruction execution unit of a conventional microprocessor.

【図6】図5のマイクロプロセッサにおけるブランチ・
アンド・デクリメント命令の実行処理を行うマイクロプ
ログラムのフローチャート。
6 is a branch diagram of the microprocessor of FIG.
The flowchart of the microprogram which performs the execution process of an AND decrement instruction.

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

11 「1」検出器 12 タイミング・ラッチ 13 1ビット・レジスタ 14 RSフリップフロップ 15,18 2入力ANDゲート 16 ゼロ・フラグ 17 フラグ・セレクタ 21 レジスタ・ファイル 22,22a M−Bus用デコーダ 23 S−Bus用デコーダ 24 二進算術論理演算器 25 演算制御デコーダ 26,26a 演算ステータス判定回路 27 プロセッサ・ステータス・ワード 28 プログラム・カウンタ 29 ディスプレースメント・レジスタ 31〜38 (AX〜SP)レジスタ 41 マイクロ命令レジスタ 42,42a マイクロ命令メモリ 43 マイクロ・アドレス・レジスタ 44 マイクロ・アドレス発生器 45,45a 分岐制御回路 46 マイクロシーケンサ 47,47a 制御信号デコーダ 11 “1” Detector 12 Timing Latch 13 1-bit Register 14 RS Flip-Flop 15, 18 2-Input AND Gate 16 Zero Flag 17 Flag Selector 21 Register File 22, 22a Decoder for M-Bus 23 S-Bus Decoder 24 Binary arithmetic and logic unit 25 Operation control decoder 26, 26a Operation status determination circuit 27 Processor status word 28 Program counter 29 Displacement register 31-38 (AX to SP) register 41 Micro instruction register 42, 42a Micro instruction memory 43 Micro address register 44 Micro address generator 45, 45a Branch control circuit 46 Micro sequencer 47, 47a Control signal decoder

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 デクリメント・アンド・ブランチ命令を
機械命令として有するマイクロプロセッサの分岐制御装
置において、前記デクリメント・アンド・ブランチ命令
の終了値条件を満たす直前のカンウント・オペランドを
検知する検知手段と、この検知手段の検知結果を特定の
タイミングで保持する保持手段と、この保持手段の値を
判定する判定手段と、前記保持手段の値を前記判定手段
によって判定した結果により選択的に分岐動作を行う制
御手段とを備えることを特徴とする分岐制御装置。
1. A branch control device of a microprocessor having a decrement and branch instruction as a machine instruction, and a detection means for detecting a count operand immediately before a condition for ending the decrement and branch instruction is satisfied, Holding means for holding the detection result of the detection means at a specific timing, judgment means for judging the value of the holding means, and control for selectively branching operation based on the result of judgment of the value of the holding means by the judgment means. And a branch control device.
【請求項2】 保持手段に保持される値を無効化する無
効化手段を備え、この無効化手段により検知手段の検知
結果に基づき前記保持手段の保持値の無効化を行う請求
項1記載の分岐制御装置。
2. The invalidating means for invalidating the value held in the holding means, wherein the invalidating means invalidates the held value of the holding means based on the detection result of the detecting means. Branch control device.
JP5030038A 1993-02-19 1993-02-19 Branching controller Pending JPH06242946A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5030038A JPH06242946A (en) 1993-02-19 1993-02-19 Branching controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5030038A JPH06242946A (en) 1993-02-19 1993-02-19 Branching controller

Publications (1)

Publication Number Publication Date
JPH06242946A true JPH06242946A (en) 1994-09-02

Family

ID=12292660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5030038A Pending JPH06242946A (en) 1993-02-19 1993-02-19 Branching controller

Country Status (1)

Country Link
JP (1) JPH06242946A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223282B1 (en) 1997-12-29 2001-04-24 Samsung Electronics Co., Ltd. Circuit for controlling execution of loop in digital signal processing chip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223282B1 (en) 1997-12-29 2001-04-24 Samsung Electronics Co., Ltd. Circuit for controlling execution of loop in digital signal processing chip

Similar Documents

Publication Publication Date Title
US5822602A (en) Pipelined processor for executing repeated string instructions by halting dispatch after comparision to pipeline capacity
KR940005817B1 (en) Bidirection branch prediction and optimization
US5235686A (en) Computer system having mixed macrocode and microcode
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5293592A (en) Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
JP2848606B2 (en) Method and apparatus for modifying microinstructions using a macroinstruction pipeline
JP2002366348A (en) Data processing by multiple instruction sets
JPH0429093B2 (en)
JP2507638B2 (en) Data processing device
JPH0831032B2 (en) Data processing device
JPH03158928A (en) Data processor
JPH0769795B2 (en) Computer
JPH07120284B2 (en) Data processing device
US7234043B2 (en) Decoding predication instructions within a superscaler data processing system
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
US20060200654A1 (en) Stop waiting for source operand when conditional instruction will not execute
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
JPH06242946A (en) Branching controller
US20030084272A1 (en) Handling problematic events in a data processing apparatus
US6920547B2 (en) Register adjustment based on adjustment values determined at multiple stages within a pipeline of a processor
US5787276A (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
US6308262B1 (en) System and method for efficient processing of instructions using control unit to select operations
JP2000029696A (en) Processor, and pipeline process control method
JP2503223B2 (en) Prior control method
JP2522048B2 (en) Microprocessor and data processing device using the same

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000509