JPH01271839A - Data processor - Google Patents

Data processor

Info

Publication number
JPH01271839A
JPH01271839A JP63318556A JP31855688A JPH01271839A JP H01271839 A JPH01271839 A JP H01271839A JP 63318556 A JP63318556 A JP 63318556A JP 31855688 A JP31855688 A JP 31855688A JP H01271839 A JPH01271839 A JP H01271839A
Authority
JP
Japan
Prior art keywords
instruction
microaddress
branch
micro
response
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
JP63318556A
Other languages
Japanese (ja)
Inventor
Susumu Narita
進 成田
Makoto Hanawa
花輪 誠
Tetsuhiko Okada
岡田 哲彦
Tadahiko Nishimukai
西向井 忠彦
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63318556A priority Critical patent/JPH01271839A/en
Publication of JPH01271839A publication Critical patent/JPH01271839A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To shorten the time interval between the execution of a conditional branch instruction and the execution of the next instruction by instructing the branch in response to the microaddress information following a specific address that is produced when the branching conditions are satisfied. CONSTITUTION:An unconditional branch microinstruction is supplied to an instruction decoding part 102 from the outside of a microprocessor 100 via an instruction reading part 101. An instruction decoder 111 outputs an unconditional branch deciding signal 122 in response to said unconditional branch microinstruction. The signal 122 is supplied to a microaddress analyzing circuit 130 via a latch circuit 116. Then the final instruction end microinstruction 126'' related to the microinstruction read out before the unconditional branch instruction is produced from a micro-ROM 113 via a latch circuit 118. Thus the circuit 130 outputs a branch instruction signal 131 in response to the instruction 126'' and the signal 122 and the part 101 starts an early reading action of the next instruction, i.e., a branching destination.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラム制御方式のデータ処理装置
に係り、例えば、高速処理に好適なマイクロプロセッサ
に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data processing device using a microprogram control method, and relates, for example, to a microprocessor suitable for high-speed processing.

〔従来の技術〕[Conventional technology]

従来のマイクロプログラム制御方式のデータ処理装置は
、岩披講座マイクロエレクトロニクス8rVLSIコン
ピュータI」元岡達編、pp。
A conventional data processing device using a microprogram control method is described in Iwahiro Lectures on Microelectronics 8rVLSI Computer I, edited by Tatsu Motooka, pp.

97−107にδ記載のように、マイクロブ″ロクラム
格納用メモリから読出したマイクロ命令によって制御信
号を作成している。
97-107, a control signal is created by a microinstruction read from a microblock storage memory.

〔発明か解決しようとする課題〕[Invention or problem to be solved]

第2図に上記従来技術に基づいて本願発明者によって出
願曲に検討されたマイクロプロセッサの構成例を示した
。本例のマイクロプロセッサは、よ パイプライン処理のステージが読出部101にYる命令
読出、解読部102の命令デコーダ111による第1命
令解読(命命デコーダ)、解読部102のマイクロRO
M113による第2命令解読(マイクロROM)、命令
実行部103による命令実行の4つに分割されている。
FIG. 2 shows an example of the configuration of a microprocessor that was considered in the application by the inventor of the present application based on the above-mentioned prior art. In the microprocessor of this example, the stages of pipeline processing are: instruction readout in the reading unit 101, first instruction decoding (instruction decoder) by the instruction decoder 111 of the decoding unit 102, and micro RO in the decoding unit 102.
It is divided into four parts: second instruction decoding (micro ROM) by the M113 and instruction execution by the instruction execution unit 103.

そしてこれら4つのステージの処理は並行して行なわれ
るため、本マイクロプロセッサはいわゆるパイプライン
処理を実行する。第6図(a)に、本マイクロプロセッ
サの通常時のバイブライン処理の流れを示し。
Since the processing in these four stages is performed in parallel, this microprocessor executes so-called pipeline processing. FIG. 6(a) shows the flow of the vibration line processing in the normal state of this microprocessor.

た。横軸に時間、縦軸に処理の各ステージを示しである
。第6図(a)で各ステージに括弧付で示した番号は、
第2図の対応する番号の回路の入力部の信号を示してい
る。第6図(a)中のA−1”(7) 符号ハ各々マク
ロ命令を表している。各マクロ命令は命令読出部101
でマイクロプロセッサの外部のメインメモリ又はマイク
ロプロセッサの内部のキャッシュメモリから読み出され
、命令デコーダ111で解読されて、マイクロアIくレ
ス121が得られる。例えば命令へが命令デコーダ11
1で解読されると、マイクロアドレスMALが得られる
。このマイクロアドレスは、マイクロROM113に格
納さ九ているマイクロプログラムのサブルーチンA1の
先頭アドレスを示している。従って、マイクロアドレス
MA1..Mハ2.MA3゜M、 A 4はひとつのマ
クロ命令へを構成する一連のマイクロプログラムサブル
ーチンAl、A2゜A3に対応する。そして、各々のマ
イクロア)−レスMAL〜MA4についてマイクロRO
MI 13が検索され、その検索結果、すなわちマイク
ロ命令136に基づいて実行部]03か制御される。
Ta. The horizontal axis shows time, and the vertical axis shows each stage of processing. The numbers shown in parentheses for each stage in Figure 6(a) are as follows:
3 shows signals at the inputs of circuits with corresponding numbers in FIG. 2; The symbols A-1'' (7) in FIG. 6(a) each represent a macro instruction.
The instruction code is read out from the main memory outside the microprocessor or the cache memory inside the microprocessor, and decoded by the instruction decoder 111 to obtain the micro address 121. For example, the instruction decoder 11
1, the microaddress MAL is obtained. This micro address indicates the start address of the subroutine A1 of the micro program stored in the micro ROM 113. Therefore, microaddress MA1. .. Mc2. MA3°M, A4 correspond to a series of microprogram subroutines Al, A2°A3, which constitute one macroinstruction. Then, for each microA)-res MAL to MA4, microRO
The MI 13 is searched, and the execution unit ]03 is controlled based on the search result, that is, the microinstruction 136.

第6図(a)かられかるように、通常のバイブライン処
理においては命令実行が途切れなく行なわれ、マイクロ
プロセッサは高速に命令を処理できる。
As can be seen from FIG. 6(a), in normal vibe line processing, instructions are executed without interruption, and the microprocessor can process instructions at high speed.

これに対して、マイクロプロセッサが分岐命令を実行し
、分岐処理を行なった際の処理の流れを第6図(b)に
示した。−見してわかるように、命令実行に空き時間が
生じており、命令の実行速度を低下させている。これは
命令Aの実行の際に分岐が起こったことが原因である。
On the other hand, the flow of processing when the microprocessor executes a branch instruction and performs branch processing is shown in FIG. 6(b). -As you can see, there is idle time during instruction execution, which slows down the instruction execution speed. This is due to the fact that a branch occurred during the execution of instruction A.

マイクロプロセッサは、命令がA、B、C,D、・・・
と順番に実行されるものと仮定して命令の先読みを行っ
ている。しかし分岐が起こると、この例のように命令A
の次に命令Fが実行されるため、命令の先読みが無駄に
なる。そしてこの処理の乱れが、実行部の空き時間とな
って現れる。
A microprocessor has instructions A, B, C, D, etc.
The instructions are prefetched on the assumption that they will be executed in sequence. However, when a branch occurs, instruction A
Since instruction F is executed next, reading ahead of the instruction is wasted. This processing disturbance appears as idle time in the execution section.

これは、例えば分岐マクロ命令Aが条件分岐命令である
場合に、上記の如き命令実行の空き時間が生じる。すな
わち、条件分岐命令へが条件判定を実行するステップで
あるマイクロ命令A1と、この条件判定の結果によって
実際に分岐を実行するステップであるマイクロ命令A2
と、上記分岐の成立又は不成立のいずれの場合も次命令
デコードするステップであるマイクロ命令A3と、分岐
マイクロ命令Aの終了を宣言するステップであるマイク
ロ命令A4との4つのステップで実行され、上述したよ
うにパイプライン処理が命令読出、第1命令解読、第2
命令解読、命令実行の4つのステップで構成されるため
である。
For example, when the branch macro instruction A is a conditional branch instruction, the above instruction execution idle time occurs. That is, microinstruction A1 is a step to execute a conditional judgment for a conditional branch instruction, and microinstruction A2 is a step to actually execute a branch based on the result of this conditional judgment.
and microinstruction A3, which is the step of decoding the next instruction in either case of the above branch being taken or not, and microinstruction A4, which is the step of declaring the end of branch microinstruction A. As shown above, pipeline processing includes instruction reading, first instruction decoding, and second instruction reading.
This is because it consists of four steps: instruction decoding and instruction execution.

」二連したように、第2図に示したマイクロプロセッサ
においては、条件分岐命令の実行終了と次命令実行開始
との間には、空き時間が存在している。
'' As mentioned above, in the microprocessor shown in FIG. 2, there is idle time between the end of execution of a conditional branch instruction and the start of execution of the next instruction.

一方、半導体チップ上に微細半導体プロセスを駆使して
形成された半導体デバイス(例えば、1.3 ミクロン
ルール以下のMOSFET)を有するシングルチップマ
イクロプロセッサ中の命令読出部。
On the other hand, an instruction reading section in a single-chip microprocessor includes a semiconductor device (for example, a MOSFET of 1.3 micron rule or less) formed on a semiconductor chip by making full use of a fine semiconductor process.

命令解読部、命令実行部等の回路の信号処理は高速化の
一途をたどっている。
Signal processing in circuits such as an instruction decoding section and an instruction execution section is becoming faster and faster.

このような、マイクロプロセッサ中の回路の信号処理の
高速化の中で、上記の如きパイプライン信号処理中の命
令実行中の空き時間は、マイクロプロセッサのオーバー
オールの性能の低下をもたらすと言う問題点が、上記の
如き本願発明者による検討の結果から明らかとなった。
As the signal processing speed of circuits in microprocessors increases, there is a problem in that the idle time during instruction execution during pipeline signal processing as described above causes a decline in the overall performance of the microprocessor. This has become clear from the results of the above-mentioned study by the inventor of the present application.

従って、本願発明の目的とするところは、条件分岐命令
の実行と次命令の実行との間の時間間隔が短縮されたパ
イプライン・データ処理装置を提供することにある。
Therefore, an object of the present invention is to provide a pipeline data processing device in which the time interval between execution of a conditional branch instruction and execution of the next instruction is shortened.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するため、本願に開示された発明の一実
施形態によるデータ処理装置は、下記の特徴を有する。
In order to achieve the above object, a data processing device according to an embodiment of the invention disclosed in this application has the following features.

すなわち、本−実施形態のデータ処理装置(100)は
: (1)記憶手段に格納された命令を読み出すための命令
読出部(101)と: (2)上記命令読出部(101)によって読み出された
命令を解読するための命令解読部(102)と: (3)上記命令解読部(l O2)の出力によって制御
される命令実行部(103)とを具備し、上記命令読出
部(101)は: (1a)上記命令解読部からの分岐指示信号(131)
に応答して上記記憶手段に格納された分岐先命令を読み
出すための分岐制御回路(114)を有し、 上記命令解読部(102)は: (2a)上記命令読出部(101)によって読み出され
た命令に応答してマイクロアドレスを発生する命令デコ
ーダ(111)と; (2b)上記命令デコーダ(111)から発生された上
記マイクロアドレスに応答して、上記命令実行部(10
3)を制御するためのマイクロ命令と該マイクロ命令の
後に実行されるべき次マイクロ命令のマイクロアドレス
に関連する次マイクロアドレス情報とを発生するマイク
ロプログラム格納用メモリ (113)と、 (2c)上記マイクロプログラム格納用メモリ(113
)から発生される上記次マイクロアドレス情報と上記命
令実行部(103)から発生される命令実行結果に関連
する情報(128)とに少なくとも応答して次マイクロ
アドレスを発生するマイクロアドレス発生回路(115
)とを有し、上記命令解読部(]02)の−上記命令デ
コーダ(1,11)は上記命令読出部によって読み出さ
れた条件分岐命令(A)に応答して条件分岐のための第
一のマイクロアドレス(MAL)を発生し、上記命令解
読部(102)の上記マイクロプログラム格納用メモリ
(113)は上記条件分岐のための−に記第−のマイク
ロアドレス(MAL)に応答して、−I上記条件分岐の
ための条件判定に関連する情報と分岐準備を指示する情
報(126’)とを第一のマイクロ命令(A1)として
出力するとともに上記第一のマイクロアドレス(MAL
)に続く第二のマイクロアドレス(MA2)を次マイク
ロアドレスとして出力し、 −L、記命令解読部(102)の上記マイクロプロゲラ
11格納用メモリ(J]3)は北面第二のマイクロアド
レス(MA2)に応答して分岐を指示する情報を第二の
マイクロ命令(A2)として出力するとともに上記第二
のマイクロアドレス(MA2)に続く第三のマイクロア
ドレス(MA3)を次マイクロアドレスとして出力し、 上記命令解読部(1,02)の上記マイクロプログラム
格納用メモリ(113)は上記第三のマイクロアドレス
(MA3)に応答して次命令デコードを指示する情報を
第三のマイクロ命令(M3)として出力し、 上記マイクロアドレス発生回路(115)は上記第一の
マイクロ命令(A1)中の上記条件判定に関連する上記
情報と上記命令実行部から発生される命令実行結果に関
連する上記情報(128)とに応答して上記条件分岐の
ための条件の成立の有無を判定し、該条件の成立時に上
記マイクロアドレス発生回路(115)は上記第二のマ
イクロアドレス(MA2)を次マイクロアドレスとして
発生し、該条件の不成立時に上記マイクロアドレス発生
回路(115)は上記第三のマイクロアドレス(MA3
)を次マイクロアドレスとして発生し、 上記命令解読部(102)はさらに: (2d)上記分岐準備指示情報(126’)と上記条件
の成立時に上記マイクロアドレス発生回路(115)か
ら発生される次マイクロアドレスとしての上記第二のマ
イクロアドレス(M A 2 )とに応答して上記命令
読出部(101,)の上記分岐制御回路(114)に供
給される上記分岐指示信号(]3])を発生する信号解
析回路(130)を有することを特徴とする(第1図参
照)。
That is, the data processing device (100) of this embodiment includes: (1) an instruction reading unit (101) for reading out instructions stored in a storage means; and (2) reading by the instruction reading unit (101). (3) an instruction execution unit (103) controlled by the output of the instruction decoding unit (lO2); ) is: (1a) Branch instruction signal (131) from the instruction decoding section
The instruction decoding section (102) has a branch control circuit (114) for reading out the branch destination instruction stored in the storage means in response to: (2a) the instruction reading section (101) reads out the branch destination instruction; an instruction decoder (111) that generates a micro address in response to an instruction issued by the instruction decoder (111); (2b) an instruction execution unit (10
3) a memory for storing a microprogram (113) for generating a microinstruction for controlling the microinstruction and next microaddress information related to the microaddress of the next microinstruction to be executed after the microinstruction; and (2c) the above-mentioned. Memory for storing microprograms (113
) and a microaddress generation circuit (115) that generates the next microaddress in response to at least the next microaddress information (128) generated from the instruction execution unit (103) and information (128) related to the instruction execution result generated from the instruction execution unit (103).
), and the instruction decoder (1, 11) of the instruction decoding unit (]02) executes the instruction decoder (1, 11) for conditional branching in response to the conditional branch instruction (A) read by the instruction reading unit. The first micro-address (MAL) is generated, and the micro-program storage memory (113) of the instruction decoder (102) responds to the -th micro-address (MAL) written in - for the conditional branch. , -I Outputs the information related to the condition determination for the conditional branch and the information (126') instructing branch preparation as the first microinstruction (A1), and also outputs the information related to the condition determination for the conditional branch as the first microinstruction (A1).
) is output as the next microaddress. (MA2), outputs information instructing a branch as the second microinstruction (A2), and outputs the third microaddress (MA3) following the second microaddress (MA2) as the next microaddress. The microprogram storage memory (113) of the instruction decoder (1, 02) transmits information instructing next instruction decoding to the third microinstruction (M3) in response to the third microaddress (MA3). ), and the microaddress generation circuit (115) outputs the information related to the condition determination in the first microinstruction (A1) and the information related to the instruction execution result generated from the instruction execution unit. (128), it is determined whether or not the condition for the conditional branch is satisfied, and when the condition is satisfied, the microaddress generation circuit (115) converts the second microaddress (MA2) to the next microaddress. When this condition is not met, the microaddress generation circuit (115) generates the third microaddress (MA3).
) is generated as the next microaddress, and the instruction decoder (102) further: (2d) generates the next microaddress generated from the microaddress generation circuit (115) when the branch preparation instruction information (126') and the above conditions are met. The branch instruction signal (]3]) is supplied to the branch control circuit (114) of the instruction reading section (101,) in response to the second microaddress (M A 2 ) as a microaddress. It is characterized by having a signal analysis circuit (130) that generates a signal (see FIG. 1).

〔作用〕[Effect]

第2図の出願前に検討されたマイクロプロセッサ中には
、上記信号解析回路(130)が配置されていないばか
りか、上記第一のマイクロアドレス(MAl、)に応答
して上記命令解読部(102)の上記マイクロプログラ
ム!納用メモリ(113)から出力される第一のマイク
ロ命令(A1)は上記条件分岐のための条件判定に関連
する情報を含むだけで、分岐準備を指示するいかなる情
報をも含んでいなかった。
In the microprocessor of FIG. 2 that was considered before the application, not only is the signal analysis circuit (130) not arranged, but the instruction decoding unit (130) is not arranged in response to the first micro address (MAl, 102) The above microprogram! The first microinstruction (A1) output from the delivery memory (113) only contained information related to the condition determination for the conditional branch, and did not include any information instructing branch preparation. .

従って、第2図のマイクロプロセッサにおいては、第一
のマイクロアドレス(MAL)に応答してマイクロプロ
グラム格納用メモリ(113)か条件分岐のための条件
判定に関連する情報を第一のマイクロ命令(A1)とし
て出力するとともに第二のマイクロアドレス(MA2)
を次マイクロアドレスとして出力し、条件分岐命令の分
岐条件の成立時にマイクロアドレス発生回路(11,5
)が第二のマイクロアドレス(MA2)を次マイクロア
ドレスとして発生し、この第二のマイクロアドレス(M
A2)に応答してマイクロプログラム格納用メモリ(1
13)が分岐を指示する情報(126)を第二のマイク
ロ命令(A2)として出力する時点で、初めて条件分岐
命令による実際の分岐が実行されていた。
Therefore, in the microprocessor shown in FIG. 2, in response to the first microaddress (MAL), information related to condition determination for a conditional branch is stored in the microprogram storage memory (113) or in the first microinstruction (MAL). A1) and the second micro address (MA2)
is output as the next microaddress, and when the branch condition of the conditional branch instruction is met, the microaddress generation circuit (11, 5
) is generated with the second microaddress (MA2) as the next microaddress, and this second microaddress (M
A2), the microprogram storage memory (1
13) outputs the information (126) instructing the branch as the second microinstruction (A2), the actual branch by the conditional branch instruction has been executed for the first time.

マイクロプロセッサの如きデータ処理装置の命令信号処
理の規模の増大にともない、マイクロプログラム格納用
メモリ(113)の規模も付随的に増大する。従って、
この規模の増大に伴い第二のマイクロアドレス(MA2
)に応答してマイクロプログラム格納用メモリ (11
3)が分岐を指示する情報(126)を第二のマイクロ
命令(A2)として出力する時点も必然的に遅延する。
As the scale of command signal processing of a data processing device such as a microprocessor increases, the scale of the microprogram storage memory (113) also increases accordingly. Therefore,
With this increase in scale, the second micro address (MA2
) in response to microprogram storage memory (11
3) outputs the information (126) instructing a branch as the second microinstruction (A2), which is also inevitably delayed.

従って、第2図のマイクロプロセッサにおいては、分岐
先命令の読み出し時間も遅延し、条件分岐命令の実行と
分岐先命令である次命令の実行との間には無視できない
空き時間が存在していた。
Therefore, in the microprocessor shown in Figure 2, the read time of the branch destination instruction is also delayed, and there is a non-negligible idle time between the execution of the conditional branch instruction and the execution of the next instruction, which is the branch destination instruction. .

これに対して、本願発明の一実旅形態によるマイクロプ
ロセッサにおいては、−上記第−のマイクロアドレス(
MAL)に応答して上記命令解読部(102)の上記マ
イクロプログラム格納用メモリ(113)から出力され
る第Yのマイクロ命令(A1)は上記条件分岐のための
条件判定に関連する情報と分岐準備を指示する情報(1
26’)とを含むとともに、分岐準備指示情報(126
’)と条件分岐命令の分岐条件の成立的にマイクロアド
レス発生回路(115)から発生される次マイクロアド
レスとしての第二のマイクロアドレス(MA2)とに応
答して命令読出部(101)の分岐制御回路(114)
に供給される分岐指示信号(131)を発生する信号解
析回路(130)が配置されでいる。
On the other hand, in the microprocessor according to one embodiment of the present invention, the -above-th microaddress (
The Y-th microinstruction (A1) outputted from the microprogram storage memory (113) of the instruction decoding unit (102) in response to the instruction decoder (102) contains information related to the condition determination for the conditional branch and the branch. Information instructing preparation (1
26'), and branch preparation instruction information (126').
') and the second microaddress (MA2) as the next microaddress generated from the microaddress generation circuit (115) when the branching condition of the conditional branching instruction is established, the instruction reading unit (101) branches. Control circuit (114)
A signal analysis circuit (130) is arranged to generate a branch instruction signal (131) to be supplied to the branch instruction signal (131).

従って、本願発明の一実施形態のマイクロプロセッサに
おいては、第一のマイクロアドレス(MAL)に応答し
てマイクロプログラム格納用メモリ(113)が条件分
岐のための条件判定に関連する情報を第一のマイクロ命
令(A1)として出力するとともに第二のマイクロアド
レス(MA2)を次マイクロアドレスとして出力し、条
件分岐命令の分岐条件の成立的にマイクロアドレス発生
回路(115)が第二のマイクロアドレス(MA2)を
次マイクロアドレスとして発生した時点で、信号解析回
路(130)の分岐指示信号(131)によって条件分
岐命令による実際の分岐が指示され、分岐先命令である
次命令の早期の読み出しが可能となり、その結果として
条件分岐命令の実行と分岐先命令である次命令の実行と
の間の空き時間を短縮することが可能となる。
Therefore, in the microprocessor of one embodiment of the present invention, in response to the first microaddress (MAL), the microprogram storage memory (113) stores information related to condition determination for conditional branching in response to the first microaddress (MAL). At the same time as the micro-instruction (A1), the second micro-address (MA2) is output as the next micro-address, and when the branch condition of the conditional branch instruction is established, the micro-address generation circuit (115) outputs the second micro-address (MA2) as the next micro-address. ) is generated as the next microaddress, the branch instruction signal (131) of the signal analysis circuit (130) instructs an actual branch by a conditional branch instruction, making it possible to read the next instruction which is the branch destination instruction early. As a result, it is possible to shorten the idle time between execution of a conditional branch instruction and execution of the next instruction, which is the branch destination instruction.

本発明の他の目的および他の新規な特徴は、添付図面お
よび実施例の詳細な説明より明らかとなろう。
Other objects and other novel features of the invention will become apparent from the accompanying drawings and detailed description of the embodiments.

〔実施例〕〔Example〕

第1図に本発明を用いたマイクロプロセッサの構成例を
示した。
FIG. 1 shows an example of the configuration of a microprocessor using the present invention.

マイクロプロセッサ100は、基本的に命令読出部10
1.命令解読部102.命令実行部103から成る。命
令読出部101がマイクロプロセッサ外部のメインメモ
リ又はマイクロプロセッサ内部のキャッシュメモリから
読み出したマクロ命令は、命令解読部102に送られ、
命令デコーダ1 ]−1とマイクロROM、A13の2
段階で解読される。そしてその解読結果であるマイクロ
命令に従って命令実行部103が命令を実行する。
The microprocessor 100 basically includes an instruction reading section 10.
1. Instruction decoding unit 102. It consists of an instruction execution unit 103. The macro instruction read by the instruction reading unit 101 from the main memory outside the microprocessor or the cache memory inside the microprocessor is sent to the instruction decoding unit 102.
Instruction decoder 1 ]-1 and micro ROM, A13 2
deciphered in stages. Then, the instruction execution unit 103 executes the instruction according to the microinstruction that is the result of the decoding.

命令デコーダ111は、命令読出部101からのマクロ
命令を解読して、マイクロアドレスを含む60bitの
デコード結果をラッチ回路116に出力する。ラッチ回
路116の出力よりのデコード結果であるマイクロアド
レスは、セレクタ117とアドレスデコーダ1]、2と
を通してマイクロROM113に入力され、ROMアク
セスの結果として135bitのマイクロ命令118が
得られる。マイクロ命令118には、実行部103を制
御する情報136の他に、12bj、tの次マイクロア
ドレス情報127が含まれている。次マイクロアドレス
127はマイクロアドレス発生回路115゜セレクタ1
17を通して再びマイクロROM113に入力され、次
のマイクロ命令が読み出される。
The instruction decoder 111 decodes the macro instruction from the instruction reading unit 101 and outputs a 60-bit decoding result including a micro address to the latch circuit 116. The microaddress that is the decoded result from the output of the latch circuit 116 is input to the microROM 113 through the selector 117 and address decoders 1 and 2, and a 135-bit microinstruction 118 is obtained as a result of ROM access. The microinstruction 118 includes information 136 for controlling the execution unit 103 as well as next microaddress information 127 for 12bj and t. Next micro address 127 is micro address generation circuit 115° selector 1
17 to the micro ROM 113 again, and the next micro instruction is read out.

尚、命令デコーダ111はマイクロ命令から成るサブプ
ログラムの先頭マイクロアドレスを出力する。
Note that the instruction decoder 111 outputs the starting microaddress of a subprogram consisting of microinstructions.

例えば第6図(、)において、命令Aがデコードされる
と、サブプログラムの先頭マイクロアドレスA1を出力
する。
For example, in FIG. 6(,), when instruction A is decoded, the first microaddress A1 of the subprogram is output.

マイクロプログラム格納用メモリ(マイクロROM)1
13は命令デコーダ111から発生された先頭マイクロ
アドレスに応答して、命令実行部1o3.マイクロアド
レス発生回路1152分岐制御回路114等を制御する
ためのマイクロ命令とこのマイクロ命令の後に実行され
るべき次マイクロ命令のマイクロアドレスに関連する次
マイクロアドレス情報とを発生する。さらに、マイクロ
ROMI 13は、マイクロアドレス発生回路115の
出力から発生されセレクタ117を介しく22) て供給されるj次マイクロアドレスに応答して、後続の
次マイクロ命令と後続の次マイクロアドレス情報を出力
する。
Micro program storage memory (micro ROM) 1
13, in response to the leading microaddress generated from the instruction decoder 111, the instruction execution unit 1o3. Microaddress generation circuit 1152 generates a microinstruction for controlling the branch control circuit 114, etc., and next microaddress information related to the microaddress of the next microinstruction to be executed after this microinstruction. Furthermore, the micro ROMI 13 responds to the j-th micro-address generated from the output of the micro-address generation circuit 115 and supplied via the selector 117 (22) to the next next micro-instruction and the subsequent next micro-address information. Output.

第4図に、マイクロ1ζOP、1!13の内容に示す。FIG. 4 shows the contents of micro 1ζ OP, 1!13.

第4図の左はマイクロROM113に供給さオしるマイ
クロアドレスを示し、第4図の中央は名マイクロア1く
レスに応答してマイクロROM1lから発生されるマイ
クロ命令の同各を示し、第4図の右は各マイクロアドレ
スに応答し’U スyイク口ROM]i−から発生され
る次マイクロア1−レスに示している。
The left side of FIG. 4 shows the micro-address supplied to the micro-ROM 113, and the center of FIG. The right side of FIG. 4 shows the next micro-address generated from 'U SY IO ROM]i- in response to each micro-address.

第4図において、マイクロアドレスMAL。In FIG. 4, the micro address MAL.

M A 2 、 M A 3 、 M A 4は条件分
岐マクロ命令Aを構成するものであり、マーrクロプロ
センナ外部のメインメモリまたはマイクロプロセッサ内
部のキャッシュメモリから命令読出部101を介して条
件分岐マクロ命令Δが命令解読部]02に供給されると
命令デコーダ]−」1は条件分岐のための先頭マイクロ
アドレスMALを発生ずる。
M A 2 , M A 3 , and M A 4 constitute a conditional branch macro instruction A, and the conditional branch macro instructions are read from the main memory outside the processor or the cache memory inside the microprocessor via the instruction reading unit 101. When Δ is supplied to the instruction decoder]02, the instruction decoder]-1 generates a leading microaddress MAL for a conditional branch.

この先頭マイクロア1くレスMΔ1に応答して、マイク
ロROM113は条件分岐のための条件判定に関連する
情報と分岐準備を指示する情報126′とを第一のマイ
クロ命令A1として出力するとともに上記第一のマイク
ロアドレスMALに続く第二のマイクロアドレスMA2
を次マイクロアドレスとして出力する。
In response to the first micro-address MΔ1, the micro-ROM 113 outputs information related to condition determination for a conditional branch and information 126' instructing branch preparation as the first micro-instruction A1. The second micro address MA2 following the first micro address MAL
is output as the next microaddress.

尚−1ビツトの信号126′で示されたこの分岐準備指
示情報はマイクロROM1.13の出力からラッチ回路
118を介して後に詳述するマイクロアドレス解析回路
130に供給される。
This branch preparation instruction information indicated by the -1 bit signal 126' is supplied from the output of the micro ROM 1.13 via the latch circuit 118 to the micro address analysis circuit 130 which will be described in detail later.

この第二のマイクロアドレスMA2がセレクタ117を
介してマイクロROMI 13の入力に供給されると、
マイクロROM 113の出力は分岐を指示する第二の
マイクロ命令A2として出力するとともに第二のマイク
ロアドレスAM2に続く第三のマイクロア1くレスMA
3を次マイクロアドレスとして出力する。
When this second micro address MA2 is supplied to the input of the micro ROMI 13 via the selector 117,
The output of the micro ROM 113 is output as a second micro instruction A2 that instructs a branch, and is also output as a third micro instruction MA following the second micro address AM2.
Outputs 3 as the next microaddress.

尚、本実施例においては第二のマイクロアドレスMA2
が偶数アドレスに配置され、第三のマイクロアドレスM
A3が奇数アドレスに配置されている。
Note that in this embodiment, the second micro address MA2
is placed at an even address, and the third microaddress M
A3 is placed at an odd address.

この第三のマイクロアドレスMA3がセレクタ117を
介してマイクロROM113の入力に供給されると、マ
イクロROM113の出力は次命令デコードを指示する
情報を第三のマイクロ命令M3として出力するとともに
第三のマイクロアドレスMA3に続く第四のマイクロア
1くレスMA4を次マイクロアドレスとして出力する。
When this third micro-address MA3 is supplied to the input of the micro-ROM 113 via the selector 117, the output of the micro-ROM 113 outputs information instructing the decoding of the next instruction as the third micro-instruction M3. The fourth micro address MA4 following address MA3 is output as the next micro address.

この第四のマイクロアドレスMA4がセレクタ117を
介してマイクロROM113の入力に供給されると、マ
イクロROM113の出力は分岐命令の終了を宣言する
情報を第四のマイクロ命令M4として出力する。しかし
、この分岐命令終了宣言の際には次マイクロアドレスは
出力されない。
When this fourth micro-address MA4 is supplied to the input of the micro-ROM 113 via the selector 117, the output of the micro-ROM 113 outputs information declaring the end of the branch instruction as the fourth micro-instruction M4. However, when declaring the end of this branch instruction, the next microaddress is not output.

上記したように、マイクロプロセッサ100の外部のメ
インメモリまたはマイクロプロセッサ内部のキャッシュ
メモリから命令読出部101を介して条件分岐マイクロ
命令Aが命令解読部102に供給されると、命令デコー
ダ111は条件分岐のための先頭マイクロアドレスMA
Lを発生し、この先頭マイクロアドレスMAI−に応答
して、マイクROMI 13は条件分岐のための条件判
定に関連する情報と分岐準備を指示する情報126′と
を第一のマイクロ命令A1として出力するとともに上記
第一のマイクロアドレスMALに続く第二のマイクロア
ドレスMA2を次マイクロアドレスとして出力する。
As described above, when the conditional branch microinstruction A is supplied to the instruction decoding unit 102 from the main memory external to the microprocessor 100 or the cache memory inside the microprocessor via the instruction reading unit 101, the instruction decoder 111 executes the conditional branch microinstruction A. Leading micro address MA for
In response to this first microaddress MAI-, the microphone ROMI 13 outputs information related to condition determination for a conditional branch and information 126' instructing branch preparation as the first microinstruction A1. At the same time, the second microaddress MA2 following the first microaddress MAL is output as the next microaddress.

一方、マイクロアドレス発生回路115は第一のマイク
ロ命令Al中の条件判定に関連する情報と命令実行部1
03から発生される以前の命令の実行結果に関連するフ
ラグ情報128とに応答して条件分岐のための条件の成
立の有無を判定し、この条件の成立時にマイクロア1く
レス発生回路115は第二のマイクロアドレスMA2を
次マイクロアドレスとして発生し、一方この条件の不成
立時にマイクロアドレス発生回路]15は第三のマイク
ロアドレスMA3を次マイクロアドレスとして発生する
On the other hand, the microaddress generation circuit 115 generates information related to condition determination in the first microinstruction Al and the instruction execution unit 1.
In response to the flag information 128 related to the execution result of the previous instruction generated from 03, it is determined whether a condition for a conditional branch is satisfied, and when this condition is satisfied, the micro-response generation circuit 115 The second microaddress MA2 is generated as the next microaddress, and when this condition is not met, the microaddress generating circuit 15 generates the third microaddress MA3 as the next microaddress.

すなわち、条件分岐命令の条件判定のベースとなるのは
、すでに実行済みの命令が命令実行部103中に残した
フラグ情報128である。
That is, the basis for determining the condition of a conditional branch instruction is the flag information 128 left in the instruction execution unit 103 by an already executed instruction.

また1本実施例においては第1図に示すように。In one embodiment, as shown in FIG.

命令解読部102には特に分岐準備指示情報126′と
条件分岐命令の分岐条件の成立時にマイクロアドレス発
生回路115から発生される次マイクロアドレスとして
の偶数アドレスの第二のマイクロアドレスMA2とに応
答して命令読出部101の分岐制御回路114に供給さ
れる分岐指示信号131を発生する信号解析回路130
が配置されている。
In particular, the instruction decoder 102 responds to the branch preparation instruction information 126' and the second even-numbered microaddress MA2 as the next microaddress generated from the microaddress generation circuit 115 when the branch condition of the conditional branch instruction is met. a signal analysis circuit 130 that generates a branch instruction signal 131 that is supplied to the branch control circuit 114 of the instruction reading unit 101;
is located.

すなわち、条件分岐命令の分岐条件の成立時には偶数ア
ドレスが次マイクロアドレスとしてマイクロアドレス発
生回路115から発生され、条件分岐命令の分岐条件の
不成立時には奇数アドレスが次マイクロアドレスとして
マイクロアドレス発生回路115から発生される。従っ
て、条件分岐命令の分岐条件の成立・不成立の判断はマ
イクロアドレス発生回路115から発生されるア1くレ
ス信号の1ビツトのL S B (Least 51g
n1ficant Bit)信号を監視することにより
可能となる。すなわち、マイクロアドレス発生回路11
5の出力からセレクタ117を介してマイクロアドレス
解析回路130に供給される1ビツトの信号124はこ
のLSB信号であり、このLSB信号124がII O
I+レベルの場合は、条件分岐命令の分岐条件が成立し
て偶数アドレスが次マイクロアドレスとしてマイクロア
ドレス発生回路115から発生されたこととなり、この
LSB信号124がrt I IIレベルの場合は、条
件分岐命令の分岐条件が不成立となり奇数アドレスが次
マイクロアドレスとしてマイクロアドレス発生回路11
5から発生されたこととなる。
That is, when the branch condition of a conditional branch instruction is satisfied, an even numbered address is generated as the next microaddress from the microaddress generation circuit 115, and when the branching condition of a conditional branching instruction is not satisfied, an odd numbered address is generated as the next microaddress from the microaddress generation circuit 115. be done. Therefore, the determination of whether the branch condition of a conditional branch instruction is satisfied or not is made by using the LSB (Least 51g) of 1 bit of the address signal generated from the microaddress generation circuit 115.
This is possible by monitoring the n1ficant Bit) signal. That is, the microaddress generation circuit 11
The 1-bit signal 124 supplied from the output of IIO 5 to the microaddress analysis circuit 130 via the selector 117 is this LSB signal.
In the case of I+ level, it means that the branch condition of the conditional branch instruction is satisfied and the even address is generated as the next microaddress from the microaddress generation circuit 115. If this LSB signal 124 is in the rt I II level, the conditional branch is executed. The branch condition of the instruction is not satisfied, and the odd address is set as the next microaddress in the microaddress generation circuit 11.
This means that it was generated from 5.

従ッて、′0”レベルのLSB信号124と分岐準備指
示情報126′とに応答して、マイクロアドレス解析回
路130は分岐指示信号131を出力する。
Therefore, in response to the LSB signal 124 at the '0' level and the branch preparation instruction information 126', the microaddress analysis circuit 130 outputs the branch instruction signal 131.

一方、条件分岐命令だけでなく、無条件分岐命令の信号
処理の高速化も重要な技術課題のひとつである。この技
術課題を達成するため、第1図に示した本実施例におい
ては、下記の工夫もさらに追加されている。
On the other hand, increasing the speed of signal processing not only for conditional branch instructions but also for unconditional branch instructions is an important technical issue. In order to achieve this technical problem, the following measures have been further added to the present embodiment shown in FIG.

すなわち、マイクロプロセッサ]、 OOの外部のメイ
ンメモリまたはマイクロプロセッサ内部のキャッシュメ
モリから命令読出部」01を介して無条件分岐マクロ命
令が命令解読部]02に供給されると、命令デコーダ1
1.1はこの無条件分岐マクロ命令に応答して無条件分
岐命令判定信号122を出力し、この無条件分岐命令判
定信号122はラッチ回路116を介してマイクロアド
レス解析回路]−30に供給される。この無条件分岐命
令の前に外部メインメモリまたは内部キャッシュメモリ
から読み出されたマクロ命令に関する最後の命令終了マ
イクロ命令1−26 ”がラッチ回路118を介してマ
イクロROM413の出力から発生されると、この命令
終了マイクロ命令]−26“と無条件分岐命令判定信号
122とに応答してマイクロア1くレス解析回路]30
は分岐指示信号1;31を出力し、命令読出部1.01
は分岐先である次命令の早期の読み出しを開始するもの
となる。
That is, when an unconditional branch macro instruction is supplied to the instruction decoder 02 from the main memory outside the microprocessor OO or the cache memory inside the microprocessor via the instruction read unit 01, the instruction decoder 1
1.1 outputs an unconditional branch instruction determination signal 122 in response to this unconditional branch macro instruction, and this unconditional branch instruction determination signal 122 is supplied to the microaddress analysis circuit ]-30 via the latch circuit 116. Ru. When the last instruction termination microinstruction 1-26 '' related to the macroinstruction read from the external main memory or internal cache memory before this unconditional branch instruction is generated from the output of the microROM 413 via the latch circuit 118, In response to this instruction end microinstruction]-26" and the unconditional branch instruction determination signal 122, the microcontroller returns analysis circuit]30
outputs the branch instruction signal 1;31, and the instruction reading section 1.01
starts early reading of the next instruction, which is the branch destination.

第7図にマイクロアト【ノス解析回路130の回路構成
の一例を示した。条件分岐命令の分岐条件が成立した場
合は一方のAND回路の出カフ00がアサートされ、無
条件分岐命令を読み出して解読した場合は他方のAND
回路の出カフ01がアサートされ、いずれの場合もOR
回路の出力から分岐指示信号131が発生されるものと
なる。
FIG. 7 shows an example of the circuit configuration of the microATO analysis circuit 130. When the branch condition of a conditional branch instruction is satisfied, output 00 of one AND circuit is asserted, and when an unconditional branch instruction is read and decoded, the output of the other AND circuit is asserted.
Output cuff 01 of the circuit is asserted and in either case OR
A branch instruction signal 131 is generated from the output of the circuit.

以下、第1図に示した本実施例のマイクロプロセッサの
信号処理動作を、第3図および第6図を参照して詳細に
説明する。
Hereinafter, the signal processing operation of the microprocessor of this embodiment shown in FIG. 1 will be explained in detail with reference to FIGS. 3 and 6.

第3図(、)は第2図に示した出願前に検討されたマイ
クロプロセッサの条件分岐命令に関連する信号処理動作
を示す。上述したように、マイクロプロセッサ外部のメ
インメモリまたはマイクロプロセッサ内部のキャシュメ
モリから条件分岐マクロ命令Aが命令解読部102に供
給されると命令テコーダ111は条件分岐のための先頭
マイクロアドレスMALを発生する。
FIG. 3(,) shows a signal processing operation related to the conditional branch instruction of the microprocessor shown in FIG. 2, which was studied before the application was filed. As described above, when the conditional branch macro instruction A is supplied to the instruction decoder 102 from the main memory outside the microprocessor or the cache memory inside the microprocessor, the instruction decoder 111 generates the first microaddress MAL for the conditional branch. .

この先頭マイクロアドレスMALに応答して、第3図(
a)のステップ301でマイクロROM113は条件分
岐のための条件判定に関連する情報を第一のマイクロ命
令として出力するとともにこのマイクロアドレスMA]
に続く第二のマイクロア1〜レスMA2を次マイクロア
ドレスとして出力する。
In response to this first microaddress MAL,
In step 301 of a), the micro ROM 113 outputs information related to the condition determination for the conditional branch as the first micro instruction, and also outputs this micro address MA]
The second micro-addresses MA1 to MA2 following the micro-addresses are output as the next micro-addresses.

このステップ301で1条件分岐命令の分岐条件の成立
時にはマイクロアドレス発生回路]15が第二の75イ
クロアドレスMA2を次マイクロアドレスとして出力す
る。この第二のマイクロア1〜レスMA2に応答して、
マイクロROM113が分岐指示情報126を第二のマ
イクロ命令A2として出力する第3図(a)のステップ
3302の出力段階で初めて分岐が指示されていた。こ
のため、第6図(b)に示すように条件分岐命令の実行
と次命令の実行との間には空き時間が存在していた。
When the branch condition of the one-conditional branch instruction is met in step 301, the microaddress generation circuit 15 outputs the second 75-microaddress MA2 as the next microaddress. In response to this second microA1-res MA2,
A branch is first instructed at the output stage of step 3302 in FIG. 3(a), when the micro ROM 113 outputs the branch instruction information 126 as the second microinstruction A2. Therefore, as shown in FIG. 6(b), there is a vacant time between the execution of the conditional branch instruction and the execution of the next instruction.

これに対して、条件分岐命令の分岐条件の不成立時にこ
はのステップ301で、マイクロアドレス発生回路]1
5が第三のマイクロアドレスMA3を次マイクロアドレ
スとして出力する。この第二のマイクロアドレスMA3
に応答して、第3図(a)のステップ303でマイクロ
ROM113(3]) が次命令のデコードを指示する情報を第三のマイクロ命
令A3として出力し、第四のマイクロアドレスMA4を
出力する。この第四のマイクロアドレスMA4に応答し
て、第3図(a)のステップ304でマイクロROM1
13が分岐命令の終了を宣言する情報を第四のマイクロ
命令A4として出力する。
On the other hand, when the branch condition of the conditional branch instruction is not satisfied, in step 301, the microaddress generation circuit]1
5 outputs the third microaddress MA3 as the next microaddress. This second micro address MA3
In response, in step 303 of FIG. 3(a), the micro ROM 113 (3) outputs information instructing the decoding of the next instruction as the third micro instruction A3, and outputs the fourth micro address MA4. . In response to this fourth microaddress MA4, in step 304 of FIG. 3(a), the microROM1
13 outputs information declaring the end of the branch instruction as the fourth microinstruction A4.

一方、第1−図に示した本実施例のマイクロプロセッサ
の信号処理動作は、下記のように条件分岐命令を高速に
処理することができる。
On the other hand, the signal processing operation of the microprocessor of this embodiment shown in FIG. 1 can process conditional branch instructions at high speed as described below.

すなわち、」二連したように、マイクロプロセッサ外部
のメインメモリまたはマイクロプロセッサ内部のキャシ
ュメモリから条件分岐マクロ命令Aが命令解読部102
に供給されると命令デコーダ1]−1は条件分岐のため
の先頭マイクロアドレスMAIを発生する。
In other words, the conditional branch macro instruction A is sent to the instruction decoding unit 102 from the main memory outside the microprocessor or the cache memory inside the microprocessor, as shown in the following sequence.
When supplied to the instruction decoder 1]-1, the instruction decoder 1]-1 generates a leading microaddress MAI for a conditional branch.

この先頭マイタロア1−レスMALに応答して、第3図
(b)のステップ301でマイクロROM113は条件
分岐のための条件判定に関連する情報と分岐準備を指示
する情報126′とを第一のマイクロ命令として出力す
るとともにこのマイクロア1−レスMALに続く偶数ア
ドレスの第二のマイクロアドレスMA2を次マイクロア
ドレスとして出力する。
In response to this leading miter lower 1-less MAL, in step 301 of FIG. It outputs it as a microinstruction, and also outputs the second even-numbered microaddress MA2 following this microaddress MAL as the next microaddress.

条件分岐命令の分岐条件の成立時には、このステップ3
05でマイクロアドレス発生回路]15が偶数アドレス
の第二のマイクロア1くレスMA2を次マイクロア1−
レスとして出力する。−J二面分岐準備指示情報126
′どこの偶数アドレスの第二のマイクロアドレスM、A
2に応答して、マイクロアドレス解析回路1−30が分
岐指示情報1.26 ’を第二のマイクロ命令A2とし
て出力する第3図(b)のステップ306の入力段階で
すでに分岐が指示される。このため、第6図(c)に示
すように条件分岐命令の実行と次命令の実行との間に空
き時間が存在しない。これに対して、このステップ30
5で条件分岐命令の分岐条件の不成q時にはマイクロア
ドレス発生回路115が奇数アドレスの第三のマイクロ
アドレスMA3を次マイクロアドレスとして出力する。
When the branch condition of the conditional branch instruction is met, this step 3
05 is the micro address generation circuit] 15 is the even address second micro address MA2, and the next micro address 1-
Output as a response. -J two-way branch preparation instruction information 126
'The second microaddress M,A of any even address
2, the microaddress analysis circuit 1-30 outputs the branch instruction information 1.26' as the second microinstruction A2.A branch has already been instructed at the input stage of step 306 in FIG. 3(b). Ru. Therefore, as shown in FIG. 6(c), there is no free time between execution of the conditional branch instruction and execution of the next instruction. In contrast, this step 30
5, when the branch condition of the conditional branch instruction is not met, the microaddress generation circuit 115 outputs the third microaddress MA3, which is an odd address, as the next microaddress.

この奇数アドレスの第三のマイクロアドレスMA3に応
答して、第3図(b)のステップ307でマイクロRO
M11.3が次命令デコニドを指示する情報を第三のマ
イクロ命令A3として出力し、第四のマイクロアドレス
MA4を出力する。この第四のマイクロアドレスMA4
に応答して、第3図(b)のステップ308でマイクロ
ROM113が分岐命令の終了を宣言する情報を第四の
マイクロ命令A4として出力する。
In response to the odd third micro address MA3, the micro RO is
M11.3 outputs information indicating the next instruction deconid as a third microinstruction A3, and outputs a fourth microaddress MA4. This fourth micro address MA4
In response to this, in step 308 of FIG. 3(b), the micro ROM 113 outputs information declaring the end of the branch instruction as the fourth micro instruction A4.

第5図は、無条件分岐命令を処理するための信号処理の
フローチャートを示し、無条件分岐のための先頭の第一
のマイクロアドレスに応答してステップ501で無条件
分岐を指示する情報を第一のマイクロ命令どして出力す
るとともにこの先頭の第一のマイクロアドレスに続く第
二のマイクロアドレスを次マイクロアドレスとして出力
し、この第二のマイクロアドレスに応答してステップ5
02で次命令デコードを指示する情報を第二のマイクロ
命令どして出力するとともに第三のマイクロア1−レス
を出力し、この第日−のマイクロア1〜レスに応答して
ステップ503で分岐命令の終了を宣言する情報を第三
のマイクロ命令として出力する。
FIG. 5 shows a flowchart of signal processing for processing an unconditional branch instruction, in which information instructing an unconditional branch is transmitted in step 501 in response to the first microaddress at the beginning for the unconditional branch. One microinstruction is output, and the second microaddress following the first microaddress at the beginning is outputted as the next microaddress, and in response to this second microaddress, step 5
At step 02, the information instructing the decoding of the next instruction is outputted as a second microinstruction, and at the same time, a third micro-address is outputted, and in response to the micro-address of this day-, at step 503. Information declaring the end of the branch instruction is output as the third microinstruction.

尚、第5図のステップ501は命令解読部102の命令
デコーダ111における第1命令解読とマイクロROM
113における第2命令解読の二段階で実行されている
。第1図の本実施例においては、ステップ501の第1
命令解読の結果から得られる無条件分岐デコード信号1
22がマイクロアドレス解析回路130に供給され、こ
のマイクロアドレス解析回路130の分岐指示信号13
1によって高速の分岐指示が行なわれる。
Note that step 501 in FIG.
This is executed in two stages: decoding of the second instruction at step 113. In this embodiment of FIG. 1, the first
Unconditional branch decode signal 1 obtained from instruction decoding results
22 is supplied to the microaddress analysis circuit 130, and the branch instruction signal 13 of this microaddress analysis circuit 130
1 provides a high-speed branch instruction.

以上、本発明の実施例を詳細に説明したが、本発明は上
記実施例に限定されるものではなく種々の変形実施形態
を採用することができる。
Although the embodiments of the present invention have been described in detail above, the present invention is not limited to the above embodiments, and various modified embodiments can be adopted.

例えば、第4図の第二のマイクロ命令A2としての分岐
指示情報は分岐を積極的に指示する必要がもはやないの
で、消極的に分岐を指示する内容のものであっても良い
。例えば、この消極的分岐指示の情報内容は、第一のマ
イクロ命令A1の分岐準備がキャンセルされない情報内
容によって構成されることも可能である。この消極的分
岐指示の情報内容も、本発明の技術思想による分岐を指
示する情報に該当する。
For example, the branch instruction information as the second microinstruction A2 in FIG. 4 may be of content that instructs a branch passively, since it is no longer necessary to actively instruct a branch. For example, the information content of this negative branch indication may be constituted by the information content that the branch preparation of the first microinstruction A1 is not canceled. The information content of this negative branch instruction also corresponds to information that instructs branching according to the technical idea of the present invention.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、条件分岐命令の分岐条件の成立・不成
立によって読み出される次命令の内容が異なるが、分岐
条件の成立時にマイクロアドレス発生回路から発生され
る特定のアドレスの次マイクロアドレス情報に応答して
早期に分岐指示がなされるので、条件分岐命令の実行と
次命令の実行との間の時間間隔を短縮することができる
According to the present invention, the content of the next instruction to be read differs depending on whether the branch condition of the conditional branch instruction is satisfied or not, but it responds to the next microaddress information of a specific address generated from the microaddress generation circuit when the branching condition is satisfied. Since the branch instruction is issued early, the time interval between execution of the conditional branch instruction and execution of the next instruction can be shortened.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例によるマイクロプロセッサの
ブロックダイアグラムを示し、第2図は本願出願前に本
発明者等によって検討さオbたマイクロプロセッサのブ
ロックダイアグラムを示し、第3図(a)は第2図のマ
イクロプロセッサにおける条件分岐命令の処理のフロー
チャートを示す一方、第3図(b)は第1図のマイクロ
プロセッサ すにおける条件分岐命令の処理のフローチャートを示し
、第4図は第1図のマイクロプロセッサ中のマイクロR
OM113の構造図を示し、第5図は第1図のマイクロ
プロセッサにおける無条件分岐命令の処理のフローチャ
ートを示し、第6図(a)は第2図のマイクロプロセッ
サの通常時のパイプライン処理のフローチャートを示し
、第6図(b)は第2図のマイクロプロセッサの条件分
岐命令に関連するパイプライン処理のフローチャートを
示し、第6図(Q)は第1図のマイクロプロセッサの条
件分岐命令に関連するパイプライン処理のフローチャー
トを示し、第7図は第1図のマイクロプロセッサ中のマ
イクロアドレス解析回路の一例による回路図を示す。
FIG. 1 shows a block diagram of a microprocessor according to an embodiment of the present invention, FIG. ) shows a flowchart of processing of a conditional branch instruction in the microprocessor of FIG. 2, while FIG. 3(b) shows a flowchart of processing of a conditional branching instruction in the microprocessor of FIG. Micro R in the microprocessor in Figure 1
A structural diagram of the OM113 is shown, FIG. 5 is a flowchart of the processing of an unconditional branch instruction in the microprocessor of FIG. 1, and FIG. 6(b) shows a flowchart of pipeline processing related to the conditional branch instruction of the microprocessor of FIG. 2, and FIG. 6(Q) shows the flowchart of pipeline processing related to the conditional branch instruction of the microprocessor of FIG. A flowchart of related pipeline processing is shown, and FIG. 7 shows a circuit diagram of an example of a microaddress analysis circuit in the microprocessor of FIG. 1.

Claims (1)

【特許請求の範囲】 1、データ処理装置は: (1)記憶手段に格納された命令を読み出すための命令
読出部と; (2)上記命令読出部によつて読み出された命令を解読
するための命令解読部と; (3)上記命令解読部の出力によつて制御される命令実
行部とを具備し、 上記命令読出部は: (1a)上記命令解読部からの分岐指示信号に応答して
上記記憶手段に格納された分岐先命 令を読み出すための分岐制御回路を有し、 上記命令解読部は: (2a)上記命令読出部によつて読み出された命令に応
答してマイクロアドレスを発生する 命令デコーダと; (2b)上記命令デコーダから発生された上記マイクロ
アドレスに応答して、上記命令実行 部を制御するためのマイクロ命令と該マイ クロ命令の後に実行されるべき次マイクロ 命令のマイクロアドレスに関連する次マイ クロアドレス情報とを発生するマイクロプ ログラム格納用メモリと、 (2c)上記マイクロプログラム格納用メモリから発生
される上記次マイクロアドレス情報 と上記命令実行部から発生される命令実行 結果に関連する情報とに少なくとも応答し て次マイクロアドレスを発生するマイクロ アドレス発生回路とを有し、 上記命令解読部の上記命令デコーダは上記命令読出部に
よつて読み出された条件分岐命令に応答して条件分岐の
ための第一のマイクロアドレスを発生し、 上記命令解読部の上記マイクロプログラム格納用メモリ
は上記条件分岐のための上記第一のマイクロアドレスに
応答して、上記条件分岐のための条件判定に関連する情
報と分岐準備を指示する情報とを第一のマイクロ命令と
して出力するとともに上記第1のマイクロアドレスに続
く第二のマイクロアドレスを次マイクロアドレスとして
出力し、 上記命令解読部の上記マイクロプログラム格納用メモリ
は上記第二のマイクロアドレスに応答して分岐を指示す
る情報を第二のマイクロ命令として出力するとともに上
記第二のマイクロアドレスに続く第三のマイクロアドレ
スを次マイクロアドレスとして出力し、 上記命令解読部の上記マイクロプログラム格納用メモリ
は上記第三のマイクロアドレスに応答して次命令デコー
ドを指示する情報を第三のマイクロ命令として出力し、 上記マイクロアドレス発生回路は上記第一のマイクロ命
令中の上記条件判定に関連する上記情報と上記命令実行
部から発生される命令実行結果に関連する上記情報とに
応答して上記条件分岐のための条件の成立の有無を判定
し、該条件の成立時に上記マイクロアドレス発生回路は
上記第二のマイクロアドレスを次マイクロアドレスとし
て発生し、該条件の不成立時に上記マイクロアドレス発
生回路は上記第三のマイクロアドレスを次マイクロアド
レスとして発生し、上記命令解読部はさらに: (2d)上記分岐準備指示情報と上記条件の成立時に上
記マイクロアドレス発生回路から発 生され次マイクロアドレスとしての上記第 二のマイクロアドレスとに応答して上記命 令読出部の上記分岐制御回路に供給される 上記分岐指示信号を発生する信号解析回路 を有することを特徴とするデータ処理装置。 2、請求項1記載のデータ処理装置であつて、上記信号
解析回路は上記第二のマイクロアドレスのLSB信号に
応答して上記分岐指示信号を発生することを特徴とする
データ処理装置。 3、マイクロプロセッサは: (1)記憶手段に格納された命令を読み出すための命令
読出部と; (2)上記命令読出部によつて読み出された命令を解読
するための命令解読部と; (3)上記命令解読部の出力によつて制御される命令実
行部とを具備し、 上記命令読出部は: (1a)上記命令解読部からの分岐指示信号に応答して
上記記憶手段に格納された分岐先命 令を読み出すための分岐制御回路を有し、 上記命令解読部は: (2a)上記命令読出部によつて読み出された命令に応
答してマイクロアドレスを発生する 命令デコーダと; (2b)上記命令デコーダから発生された上記マイクロ
アドレスに応答して、上記命令実行 部を制御するためのマイクロ命令と該マイ クロ命令の後に実行されるべき次マイクロ 命令のマイクロアドレスに関連する次マイ クロアドレス情報とを発生するマイクロプ ログラム格納用メモリと、 (2c)上記マイクロプログラム格納用メモリから発生
される上記次マイクロアドレス情報 と上記命令実行部から発生される命令実行 結果に関連する情報とに少なくとも応答し て次マイクロアドレスを発生するマイクロ アドレス発生回路とを有し、 上記命令解読部の上記命令デコーダは上記命令読出部に
よつて読み出された条件分岐命令に応答して条件分岐の
ための第一のマイクロアドレスを発生し、 上記命令解読部の上記マイクロプログラム格納用メモリ
は上記条件分岐のための上記第一のマイクロアドレスに
応答して、上記条件分岐のための条件判定に関連する情
報と分岐準備を指示する情報とをマイクロ命令として出
力するとともに上記第一のマイクロアドレスに続く第二
のマイクロアドレスを次マイクロアドレスとして出力し
、 上記命令解読部の上記マイクロプログラム格納用メモリ
は上記第二のマイクロアドレスに応答して上記第二のマ
イクロアドレスに続く第三のマイクロアドレスを次マイ
クロアドレスとして出力し、 上記命令解読部の上記マイクロプログラム格納用メモリ
は上記第三のマイクロアドレスに応答して次命令デコー
ドを指示する情報をマイクロ命令として出力し、 上記マイクロアドレス発生回路は上記第一のマイクロ命
令中の上記条件判定に関連する上記情報と上記命令実行
部から発生される命令実行結果に関連する上記情報とに
応答して上記条件分岐のための条件の成立の有無を判定
し、該条件の成立時に上記マイクロアドレス発生回路は
上記第二のマイクロアドレスを次マイクロアドレスとし
て発生し、該条件の不成立時に上記マイクロアドレス発
生回路は上記第三のマイクロアドレスを次マイクロアド
レスとして発生し、上記命令解読部はさらに: (2d)上記分岐準備指示情報と上記条件の成立時に上
記マイクロアドレス発生回路から発 生される次マイクロアドレスとしての上記 第二のマイクロアドレスとに応答して上記 命令読出部の上記分岐制御回路に供給され る上記分岐指示信号を発生する信号解析回 路を有することを特徴とするデータ処理装 置。 4、請求項3記載のマイクロプロセッサであつて、上記
信号解析回路は上記第二のマイクロアドレスのLSB信
号に応答して上記分岐指示信号を発生することを特徴と
するマイクロプロセッサ。
[Claims] 1. The data processing device includes: (1) an instruction reading unit for reading instructions stored in a storage means; (2) decoding the instructions read by the instruction reading unit; (3) an instruction execution unit controlled by the output of the instruction decoding unit; the instruction reading unit: (1a) responding to a branch instruction signal from the instruction decoding unit; and a branch control circuit for reading out a branch destination instruction stored in the storage means, and the instruction decoding section: (2a) responding to the instruction read by the instruction reading section, (2b) In response to the microaddress generated from the instruction decoder, a microinstruction for controlling the instruction execution unit and a next microinstruction to be executed after the microinstruction are generated. a memory for storing a microprogram that generates next microaddress information related to the microaddress; (2c) the next microaddress information generated from the memory for storing the microprogram and an instruction execution result generated from the instruction execution section; the instruction decoder of the instruction decoding section responds to the conditional branch instruction read by the instruction reading section. and generates a first micro-address for the conditional branch, and the microprogram storage memory of the instruction decoder section responds to the first micro-address for the conditional branch to generate a first micro-address for the conditional branch. outputs information related to condition determination and information instructing branch preparation as a first microinstruction, and outputs a second microaddress following the first microaddress as the next microaddress; The microprogram storage memory outputs information instructing a branch as a second microinstruction in response to the second microaddress, and sets the third microaddress following the second microaddress to the next microaddress. The microprogram storage memory of the instruction decoding section outputs information instructing to decode the next instruction as a third microinstruction in response to the third microaddress, and the microaddress generation circuit Determine whether or not the condition for the conditional branch is satisfied in response to the information related to the condition determination in the first microinstruction and the information related to the instruction execution result generated from the instruction execution unit. When the condition is satisfied, the microaddress generation circuit generates the second microaddress as the next microaddress, and when the condition is not satisfied, the microaddress generation circuit generates the third microaddress as the next microaddress. The instruction decoder further: (2d) reads the instruction in response to the branch preparation instruction information and the second microaddress generated from the microaddress generation circuit as the next microaddress when the condition is met; A data processing device comprising a signal analysis circuit that generates the branch instruction signal to be supplied to the branch control circuit of the section. 2. The data processing device according to claim 1, wherein the signal analysis circuit generates the branch instruction signal in response to the LSB signal of the second microaddress. 3. The microprocessor includes: (1) an instruction reading unit for reading instructions stored in the storage means; (2) an instruction decoding unit for decoding the instructions read by the instruction reading unit; (3) an instruction execution section controlled by the output of the instruction decoding section; the instruction reading section: (1a) storing in the storage means in response to a branch instruction signal from the instruction decoding section; The instruction decoder includes a branch control circuit for reading out the branch destination instruction, and the instruction decoder includes: (2a) an instruction decoder that generates a microaddress in response to the instruction read by the instruction readout unit; (2b) In response to the micro-address generated from the instruction decoder, a micro-instruction for controlling the instruction execution section and a next micro-instruction related to the micro-address of the next micro-instruction to be executed after the micro-instruction are provided. (2c) at least the next microaddress information generated from the microprogram storage memory and information related to the instruction execution result generated from the instruction execution section; and a microaddress generation circuit that generates the next microaddress in response to the instruction decoder, and the instruction decoder of the instruction decoding section generates a next microaddress in response to the conditional branch instruction read by the instruction reading section. generates a first micro-address, and in response to the first micro-address for the conditional branch, the memory for storing the microprogram of the instruction decoding section generates information related to the condition determination for the conditional branch; and information instructing branch preparation as a microinstruction, and outputs a second microaddress following the first microaddress as the next microaddress, and the memory for storing the microprogram of the instruction decoding section is In response to the second microaddress, the third microaddress following the second microaddress is output as the next microaddress, and the microprogram storage memory of the instruction decoding section responds to the third microaddress. outputs information instructing the next instruction decoding as a microinstruction, and the microaddress generation circuit outputs the information related to the condition determination in the first microinstruction and the instruction execution result generated from the instruction execution unit. In response to the above-mentioned related information, it is determined whether the condition for the conditional branch is met, and when the condition is met, the micro-address generation circuit generates the second micro-address as the next micro-address, and When the condition is not met, the microaddress generation circuit generates the third microaddress as the next microaddress, and the instruction decoder further: (2d) When the branch preparation instruction information and the condition are met, the microaddress generation circuit generates the third microaddress as the next microaddress. The method further comprises a signal analysis circuit that generates the branch instruction signal to be supplied to the branch control circuit of the instruction reading section in response to the second microaddress as the next microaddress generated from the second microaddress. Data processing equipment. 4. The microprocessor according to claim 3, wherein the signal analysis circuit generates the branch instruction signal in response to the LSB signal of the second microaddress.
JP63318556A 1987-12-25 1988-12-19 Data processor Pending JPH01271839A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63318556A JPH01271839A (en) 1987-12-25 1988-12-19 Data processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP62-327142 1987-12-25
JP32714287 1987-12-25
JP63318556A JPH01271839A (en) 1987-12-25 1988-12-19 Data processor

Publications (1)

Publication Number Publication Date
JPH01271839A true JPH01271839A (en) 1989-10-30

Family

ID=26569403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63318556A Pending JPH01271839A (en) 1987-12-25 1988-12-19 Data processor

Country Status (1)

Country Link
JP (1) JPH01271839A (en)

Similar Documents

Publication Publication Date Title
JP2554050B2 (en) Data processing method
KR970005453B1 (en) Data processing apparatus for high speed processing
JPH01271839A (en) Data processor
JP2694948B2 (en) Micro program processor
WO1985002277A1 (en) Microprogram control method
JPH0218729B2 (en)
JPS59127154A (en) Instruction decoder of electronic computer
JPH03164945A (en) Data processor
JPS63247833A (en) Control method for conditional branch instruction
JPH02249027A (en) Instruction fetch decoder
JPH0128965B2 (en)
JPH0239812B2 (en)
JPS62293350A (en) Branch instruction processor
JPS60193047A (en) Mode checking system of microprogram
JPS6093555A (en) Microprogram controller
JPS59105149A (en) Controlling device of microprogram
JPH01274252A (en) Activity history memory
JPS61269744A (en) Debugging system
JPH0261725A (en) Micro branch system
JPS6278630A (en) Information processor
JPS59148957A (en) Microprogram control system
JPS6364130A (en) Branching instruction control method
JPH01140232A (en) Microprogram control system
JPH0512003A (en) Program control system
JPS6028014B2 (en) microprocessor