[go: up one dir, main page]

JP2938831B2 - Delayed branch control method and circuit - Google Patents

Delayed branch control method and circuit

Info

Publication number
JP2938831B2
JP2938831B2 JP13216397A JP13216397A JP2938831B2 JP 2938831 B2 JP2938831 B2 JP 2938831B2 JP 13216397 A JP13216397 A JP 13216397A JP 13216397 A JP13216397 A JP 13216397A JP 2938831 B2 JP2938831 B2 JP 2938831B2
Authority
JP
Japan
Prior art keywords
branch
instruction
delay
delayed
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP13216397A
Other languages
Japanese (ja)
Other versions
JPH1069384A (en
Inventor
広至 八十島
英之 蕪尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP13216397A priority Critical patent/JP2938831B2/en
Publication of JPH1069384A publication Critical patent/JPH1069384A/en
Application granted granted Critical
Publication of JP2938831B2 publication Critical patent/JP2938831B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、プロセッサにおけ
る分岐動作の制御に関するものであり、特に、遅延分岐
方式のプロセッサにおける遅延分岐動作の制御に関す
る。
BACKGROUND OF THE INVENTION The present invention relates to control of the branch operation in a processor, in particular, Ru <br/> the related control to the delayed branch operation in a processor of the delayed branch method.

【0002】[0002]

【従来の技術】命令をパイプライン的に実行するいわゆ
るパイプライン処理方式において、遅延分岐とよばれる
方式が従来から用いられていた。例えば図10に示すよ
うな、命令フェッチ(F)、命令デコード(D)、命令
実行(E)の3段階のステージからなるパイプライン処
理によって、命令の処理が行なわれる場合を考える。図
10から分かるように、パイプライン処理では分岐命令
のデコードが完了した後に分岐先の命令がフェッチされ
るため、少なくとも1ステージ分の空きスロット(遅延
スロット)が生じることになる。遅延スロットの数は、
パイプライン処理におけるフェッチ及び実行ステージ以
外のステージの数で与えられる。
2. Description of the Related Art In a so-called pipeline processing system for executing instructions in a pipeline, a system called a delayed branch has been conventionally used. For example, consider a case where instruction processing is performed by pipeline processing including three stages of instruction fetch (F), instruction decode (D), and instruction execution (E) as shown in FIG. As can be seen from FIG. 10, in the pipeline processing, since the instruction at the branch destination is fetched after the decoding of the branch instruction is completed, an empty slot (delay slot) for at least one stage is generated. The number of delay slots is
It is given by the number of stages other than the fetch and execution stages in the pipeline processing.

【0003】遅延分岐とは、分岐命令の次の番地にある
命令を遅延スロットに挿入することによって無駄な空き
スロットを除去する方式であり、この方式を用いること
によって、情報処理装置の性能の向上が見込まれる(特
開平4−127237号公報、特開平3−122718
号公報参照)。
[0003] Delayed branching is a method of removing useless empty slots by inserting an instruction at the next address of a branch instruction into a delay slot. By using this method, the performance of an information processing apparatus is improved. (JP-A-4-127237, JP-A-3-122718)
Reference).

【0004】また、条件分岐命令は、演算命令や転送命
令等の実行結果が反映された条件フラグに従って分岐す
るか否かが決定されるものであるが、従来には、条件フ
ラグの書き換えを制御して命令の実行順を決めるときの
自由度を向上させる方法があった。例えば、RISCプ
ロセッサSPARCでは、演算命令のコード中に条件フ
ラグの書き換えをするか否かを決める制御ビットを1ビ
ット設けて、この制御ビットの値が“1”のときは演算
結果を条件フラグに反映する一方、“0”のときは条件
フラグを書き換えないようにする("SPARC Architectur
e Manual",SunMicrosystems Inc.,1991)。このような
方法により、条件フラグを書き換えるか否かを各命令毎
に制御することができるので、コンパイラ等において命
令の実行順を決めるときの自由度が向上する。
A conditional branch instruction determines whether or not to branch in accordance with a condition flag on which an execution result of an operation instruction, a transfer instruction, or the like is reflected. Conventionally, however, rewriting of the condition flag is controlled. There has been a method for improving the degree of freedom in determining the order of execution of instructions. For example, in the RISC processor SPARC, one control bit for determining whether or not to rewrite the condition flag is provided in the code of the operation instruction, and when the value of this control bit is "1", the operation result is set to the condition flag. On the other hand, if the value is "0", do not rewrite the condition flag ("SPARC Architectur
e Manual ", SunMicrosystems Inc., 1991). With such a method, whether or not the condition flags are rewritten can be controlled for each instruction. improves.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、従来に
は以下のような問題があった。
However, there have been the following problems in the prior art.

【0006】まず、前記のような遅延分岐方式では、遅
延分岐命令が連続する場合には命令の実行順が複雑にな
るという問題があった。
First, in the above-described delayed branch method, there is a problem in that when the delayed branch instructions are consecutive, the execution order of the instructions becomes complicated.

【0007】図11は遅延分岐命令が連続する場合のア
センブラ言語レベルでのプログラムの一例を示した図で
あり、アドレス100には第1の遅延分岐命令br20
0(条件が成立したときアドレス200に分岐)が、ア
ドレス101には第2の遅延分岐命令br400(条件
が成立したときアドレス400に分岐)が記述されてい
る。図12は図11に示すプログラムを実行するとき
の、各遅延分岐命令における分岐の有無と命令の実行順
との関係を示す図である。図11に示すプログラムの動
作は、第1の遅延分岐命令br200によって分岐する
場合としない場合との2つの場合に分かれ、さらに第2
の遅延分岐命令br400によって分岐する場合としな
い場合との2つの場合に分かれるので、図12に示すよ
うに計4つの場合が考えられる。
FIG. 11 is a diagram showing an example of a program at an assembler language level in the case where successive delayed branch instructions are provided. An address 100 includes a first delayed branch instruction br20.
0 (branch to address 200 when the condition is satisfied) is described in address 101, and second delayed branch instruction br400 (branch to address 400 when the condition is satisfied) is described in address 101. FIG. 12 is a diagram showing the relationship between the presence or absence of a branch in each delayed branch instruction and the execution order of the instructions when the program shown in FIG. 11 is executed. The operation of the program shown in FIG. 11 is divided into two cases, a case where the first delayed branch instruction br200 branches and a case where the branch is not performed.
In this case, there are two cases: a case in which the branch is performed by the delayed branch instruction br400, and a case in which the branch is not performed. Therefore, a total of four cases are considered as shown in FIG.

【0008】ここで、第1及び第2の遅延分岐命令br
200,br400において共に条件が成立して分岐す
る場合は、図13に示すように、第1の遅延分岐命令b
r200の分岐条件成立によってアドレス200の命令
がフェッチされた後(図13ではアドレス200の命令
のことを(200)と記している)、第2の遅延分岐命
令br400の分岐条件成立によってアドレス400の
命令がフェッチされる(図13ではアドレス400の命
令のことを(400)と記している)ことになる。した
がって、この場合には図12に示すように、第1の遅延
分岐命令br200の分岐先(アドレス200)に飛ん
で命令を1つだけ実行した後、さらに第2の遅延分岐命
令br400の分岐先(アドレス400)に飛んで命令
を実行するという複雑な動作を行う。
Here, the first and second delayed branch instructions br
In the case where the condition is satisfied in both 200 and br400 and the branch is taken, as shown in FIG.
After the instruction at address 200 is fetched due to the satisfaction of the branch condition of r200 (the instruction at address 200 is described as (200) in FIG. 13), the address of address 400 is satisfied by the satisfaction of the branch condition of the second delayed branch instruction br400. The instruction is fetched (in FIG. 13, the instruction at address 400 is described as (400)). Therefore, in this case, as shown in FIG. 12, after jumping to the branch destination (address 200) of the first delayed branch instruction br200 and executing only one instruction, the branch destination of the second delayed branch instruction br400 is further reduced. A complicated operation of jumping to (address 400) and executing the instruction is performed.

【0009】このことは、アセンブラ言語レベルにおけ
るプログラムの読みやすさを著しく損なうことになり、
プログラムにバグを作り込んでしまう原因となる。
This significantly impairs the readability of the program at the assembler language level.
This can cause bugs to be created in the program.

【0010】特に、遅延分岐について十分理解していな
いプログラマはこのような動作を予想せずにプログラム
を作ってしまうので、確実にバグを作り込んでしまう。
しかもこのバグは、連続する遅延分岐命令が共に条件成
立して分岐する場合にのみ分かるものなので、事前にデ
バッグすることは極めて困難であり、装置を実際に動作
させるまで発見できないことが多い。
[0010] In particular, a programmer who does not fully understand the delayed branch creates a program without expecting such an operation, and thus certainly creates a bug.
In addition, since this bug can be known only when successive delayed branch instructions are both taken and the condition is satisfied, it is extremely difficult to debug in advance and often cannot be found until the device is actually operated.

【0011】また、遅延分岐について熟知しているベテ
ランのプログラマは、この問題を回避するために連続す
る遅延分岐命令の間に無操作命令(NOP)を挿入する
等の対応をプログラムに施すが、このような対応は面倒
であり、また忘れることも多い。さらに、プロセッサの
遅延スロット数が多くなるとその数だけの無操作命令を
挿入する必要があるため、プログラムが冗長になると共
にプログラムを記憶するメモリ容量も増えてしまう。
In order to avoid this problem, a veteran programmer who is familiar with delayed branching takes measures such as inserting a no-operation instruction (NOP) between successive delayed branch instructions in a program. Such a response is troublesome and often forgotten. Furthermore, if the number of delay slots of the processor increases, it is necessary to insert the no-operation instructions as many as the number of delay slots, so that the program becomes redundant and the memory capacity for storing the program increases.

【0012】この問題は、遅延分岐命令が連続していな
くても、プログラムの並び上比較的近い場合にも起こり
うる。図12及び図13ではプロセッサの遅延スロット
数は1であるものとしたが、プロセッサの遅延スロット
数がもっと多い場合には、遅延分岐命令が連続していな
くてもその間隔がプロセッサの遅延スロット数よりも小
さい場合には同様の問題が生じ、分岐が共に成立すると
きには命令の実行順が複雑になる。
This problem can occur even when the delayed branch instructions are not consecutive, even when the instructions are relatively close in the order of the program. In FIGS. 12 and 13, the number of delay slots of the processor is assumed to be 1. However, if the number of delay slots of the processor is larger, even if the delay branch instructions are not consecutive, the interval is equal to the number of delay slots of the processor. If it is smaller than the above, a similar problem occurs, and when the branches are taken together, the execution order of the instructions becomes complicated.

【0013】一方、遅延分岐命令のコードの中に遅延分
岐するか否かを決定する制御ビットを設けて、この制御
ビットが0のときは、条件分岐が成立したときに遅延ス
ロットに置かれた命令を実行しないタイプのプロセッサ
がある(特開平4−127237号公報参照)。図14
はこのタイプのプロセッサによって図11に示すプログ
ラムを実行するときの、各遅延分岐命令における分岐の
有無と命令の実行順との関係を示す図である。図14に
おいて、遅延スロットに置かれた命令が実行されないこ
とを「***」によって示している。この場合、第1の
遅延分岐命令br200の制御ビットを0に設定してお
くと、図14に示すように、第1の遅延分岐命令br2
00によってアドレス200に分岐するか否かが決定さ
れ、分岐しなかったときのみ第2の遅延分岐命令br4
00が実行されるので、アセンブラ言語レベルにおける
プログラムの読みやすさを損なうことはない。
On the other hand, a control bit for determining whether or not to perform a delayed branch is provided in the code of the delayed branch instruction. When this control bit is 0, the control bit is placed in the delay slot when the conditional branch is established. There is a type of processor that does not execute an instruction (see Japanese Patent Application Laid-Open No. 4-127237). FIG.
FIG. 12 is a diagram showing the relationship between the presence or absence of a branch in each delayed branch instruction and the execution order of instructions when the program shown in FIG. 11 is executed by this type of processor. In FIG. 14, "***" indicates that the instruction placed in the delay slot is not executed. In this case, if the control bit of the first delayed branch instruction br200 is set to 0, as shown in FIG. 14, the first delayed branch instruction br2
00, it is determined whether or not to branch to the address 200, and the second delayed branch instruction br4
Since 00 is executed, the readability of the program at the assembler language level is not impaired.

【0014】しかし、命令コード中に遅延分岐をするか
否かを決定する制御ビットを設けることは命令コードの
ビット幅を1ビット増やすことになるので、プログラム
を記憶するためのメモリ容量が増大するという問題が生
じる。特に携帯情報機器においてメモリ容量の増大は、
機器の大きさ、消費電力、製造コスト等の面において致
命的な欠点となる。またこの場合には、遅延分岐命令コ
ードの制御ビットに基づく遅延分岐制御を行う回路が命
令デコーダ内に必要になる。
However, providing a control bit for determining whether or not to perform a delayed branch in the instruction code increases the bit width of the instruction code by one bit, and thus increases the memory capacity for storing the program. The problem arises. Especially in portable information devices, the increase in memory capacity
This is a fatal drawback in terms of the size of the device, power consumption, manufacturing cost, and the like. In this case, a circuit for performing delayed branch control based on the control bits of the delayed branch instruction code is required in the instruction decoder.

【0015】また命令コードのビット幅が規格によって
すでに決められている場合には、制御ビットを設けるこ
とは、たとえ1ビットであっても、装置設計上、大きな
制約になる。例えば命令コードが24ビットのとき、命
令の種類や指定アドレス等を表す必要なビットを除くと
設計上自由に用いることができるビット数はせいぜい数
ビットであるので、制御ビットがたとえ1ビットであっ
ても、設計の自由度は大きく損なわれることになる。
If the bit width of the instruction code is already determined by the standard, the provision of the control bit, even if it is one bit, is a great constraint in the design of the device. For example, when the instruction code is 24 bits, the number of bits that can be freely used in design is at most a few bits except for the necessary bits indicating the type of the instruction, the designated address, and the like. Therefore, the control bit is only one bit. However, the degree of freedom in design is greatly impaired.

【0016】同様の問題は、従来の条件フラグの書き換
え制御の場合にも生じる。すなわち、条件フラグの書き
換えのための制御ビットを命令コード中に設けるという
ことは、プログラムを記憶するためのメモリ容量が増大
するという問題、命令コードの制御ビットに基づく条件
フラグ書き換え制御を行う回路が命令デコーダ内に必要
になるという問題、さらには、装置設計の自由度を損な
うという問題が生じる。
A similar problem also occurs in the conventional condition flag rewriting control. In other words, providing a control bit for rewriting the condition flag in the instruction code means that the memory capacity for storing the program increases, and a circuit for performing the condition flag rewriting control based on the control bit of the instruction code is required. There arises a problem that it becomes necessary in the instruction decoder and a problem that the degree of freedom in device design is impaired.

【0017】前記の問題に鑑み、本発明は、遅延分岐命
令が連続したり比較的近い場合であっても、命令の実行
順が複雑にならずにアセンブラ言語レベルにおけるプロ
グラムが読みやすくなる遅延分岐制御方法を、命令コー
ドに制御ビットを設けることなく実現することを目的と
するものであり、さらにこの方法を実現するための回路
を提供するものである
In view of the above-mentioned problems, the present invention provides a delayed branch which makes it easy to read a program at an assembler language level without complicating the execution order of instructions even when the delayed branch instructions are continuous or relatively close. An object of the present invention is to realize a control method without providing a control bit in an instruction code, and to provide a circuit for realizing the method .

【0018】[0018]

【課題を解決するための手段】前記の課題を解決するた
めに、請求項1の発明が講じた解決手段は、遅延分岐方
式のプロセッサにおいて遅延分岐命令の分岐動作を制御
する遅延分岐制御方法として、遅延分岐命令を実行する
とき、この遅延分岐命令の実行サイクルの1つ前から前
記プロセッサの遅延スロット数前までのサイクルのうち
の所定のサイクルにおいて分岐が行われたときは、前記
遅延分岐命令による分岐を禁止するものである。
Means for Solving the Problems In order to solve the above-mentioned problem, a solution taken by the invention of claim 1 is a delay branch control method for controlling a branch operation of a delay branch instruction in a processor of a delay branch system. When executing a delayed branch instruction, if a branch is taken in a predetermined cycle of a cycle from one cycle before the execution cycle of the delayed branch instruction to the number of delay slots before the processor, the delayed branch instruction is executed. Is prohibited.

【0019】請求項1の発明によると、遅延分岐命令に
おける分岐条件が成立しても、この遅延分岐命令の実行
サイクルから過去に遡った前記所定のサイクルにおいて
分岐が行われたときは分岐が禁止されるので、分岐は行
われない。このため、プロセッサの遅延スロット数に比
して比較的近い遅延分岐命令において分岐条件が共に成
立するような場合でも、命令の実行順は複雑にならない
ので、アセンブラ言語レベルでのプログラムが読みやす
くなる。
According to the first aspect of the present invention, even if the branch condition of the delayed branch instruction is satisfied, the branch is prohibited if the branch is performed in the predetermined cycle that is traced back from the execution cycle of the delayed branch instruction. No branch is taken. For this reason, even in the case where both of the branch conditions are satisfied in the delayed branch instruction relatively close to the number of delay slots of the processor, the execution order of the instructions is not complicated, and the program at the assembler language level becomes easy to read. .

【0020】そして、請求項2の発明では、前記請求項
1の遅延分岐制御方法において、前記遅延分岐命令の実
行サイクルの1つ前から前記プロセッサの遅延スロット
数前までの全てのサイクルを前記所定のサイクルとす
る。
According to a second aspect of the present invention, in the delayed branch control method of the first aspect, all the cycles from one cycle before the execution cycle of the delayed branch instruction to the number of delay slots before the processor are set to the predetermined number. Cycle.

【0021】請求項2の発明によると、遅延分岐命令に
おける分岐条件が成立しても、プロセッサの遅延スロッ
ト数だけ過去に遡った間に分岐が行われたときは分岐が
禁止されるので、分岐は行われない。このため、遅延分
岐命令が連続している場合、第1の遅延分岐命令によっ
て分岐が行われなかったときは、第2の遅延分岐命令は
分岐条件の成立・不成立に従って分岐するか否かが決定
される一方、第1の遅延分岐命令によって分岐が行われ
たときは、第2の遅延分岐命令は分岐が禁止されるので
分岐条件の成立・不成立に拘わらず分岐しない。すなわ
ち、遅延分岐命令が連続しているときは、第1の遅延分
岐命令は見かけ上遅延なし分岐命令と同じ動作をするの
で、アセンブラ言語レベルでのプログラムの流れが読み
やすくなる。また同様に、連続してはいないがプロセッ
サの遅延スロット数ほどは離れていない遅延分岐命令に
ついても、命令の実行順は複雑にならないので、アセン
ブラ言語レベルでのプログラムが読みやすくなる
According to the second aspect of the present invention, even if the branch condition in the delayed branch instruction is satisfied, the branch is prohibited if the branch is taken in the past by the number of delay slots of the processor. Is not done. For this reason, when the delayed branch instructions are continuous, if the branch is not performed by the first delayed branch instruction, it is determined whether or not the second delayed branch instruction branches depending on whether or not the branch condition is satisfied. On the other hand, when the branch is performed by the first delayed branch instruction, the branch of the second delayed branch instruction is prohibited, so that the branch is not performed regardless of whether the branch condition is satisfied or not. That is, when the delayed branch instructions are consecutive, the first delayed branch instruction apparently performs the same operation as the non-delayed branch instruction, so that the flow of the program at the assembler language level becomes easier to read. Similarly, even for delayed branch instructions that are not consecutive but are not separated by the number of delay slots of the processor, the order of execution of the instructions is not complicated, so that the program at the assembler language level is easy to read .

【0022】た、請求項3の発明が講じた解決手段
は、遅延分岐方式のプロセッサに設けられ、遅延分岐命
令の分岐動作を制御する遅延分岐制御回路として、現実
行サイクルの1つ前から前記プロセッサの遅延スロット
数前までのサイクルのうちの所定のサイクルにおいて、
分岐が行われたか否かを記憶する分岐情報記憶回路と、
遅延分岐命令を実行するとき、この遅延分岐命令の分岐
条件が成立し、かつ、前記分岐情報記憶回路が前記所定
のサイクルにおいて分岐が行われなかったことを記憶し
ているときにのみ、プロセッサに分岐を指示する分岐判
定回路とを備えているものである。
[0022] Also, solutions of the invention is taken of claim 3 is provided to a processor of a delayed branch method, a delayed branch control circuit for controlling a branch operation of the delayed branch instruction, before one of the current execution cycle In a predetermined cycle among cycles up to the number of delay slots before the processor,
A branch information storage circuit for storing whether or not a branch has been taken;
When the delayed branch instruction is executed, the processor is executed only when the branch condition of the delayed branch instruction is satisfied and the branch information storage circuit stores that the branch was not performed in the predetermined cycle. And a branch determination circuit for instructing a branch.

【0023】請求項3の発明によると、遅延分岐命令を
実行するとき、この遅延分岐命令の分岐条件が成立し、
かつ、分岐情報記憶回路がこの遅延分岐命令の実行サイ
クルから過去に遡った所定のサイクルにおいて分岐が行
われなかったことを記憶しているときにのみ、分岐判定
回路によってプロセッサに分岐が指示される。このた
め、遅延分岐命令における分岐条件が成立しても、分岐
情報記憶回路が前記所定のサイクルにおいて分岐が行わ
れたことを記憶しているときは、分岐は行われない。し
たがって、プロセッサの遅延スロット数ほどは離れてい
ない遅延分岐命令において共に分岐条件が成立するよう
な場合でも、命令の実行順は複雑にならないので、アセ
ンブラ言語レベルでのプログラムが読みやすくなる。
According to the third aspect of the present invention, when the delayed branch instruction is executed, the branch condition of the delayed branch instruction is satisfied,
Only when the branch information storage circuit stores that the branch was not taken in a predetermined cycle that is traced back from the execution cycle of the delayed branch instruction, the branch is instructed to the processor by the branch determination circuit. . Therefore, even if the branch condition in the delayed branch instruction is satisfied, the branch is not performed if the branch information storage circuit stores that the branch has been performed in the predetermined cycle. Therefore, even in the case where the branch condition is satisfied for both delayed branch instructions that are not separated by the number of delay slots of the processor, the execution order of the instructions is not complicated, and the program at the assembler language level is easy to read.

【0024】そして、請求項4の発明では、前記請求項
の遅延分岐制御回路における分岐情報記憶回路は、現
実行サイクルの1つ前から前記プロセッサの遅延スロッ
ト数前までの全てのサイクルを、前記所定のサイクルと
するものとする。
[0024] In the invention of claim 4, wherein the claim
In the delay information storage circuit in the delay branch control circuit of No. 3, all the cycles from one before the current execution cycle to before the delay slot number of the processor are set as the predetermined cycle.

【0025】また、請求項5の発明では、前記請求項4
の遅延分岐制御回路における分岐情報記憶回路は、直列
に接続された,前記プロセッサの遅延スロット数に相当
する数のフリップフロップからなり、前記プロセッサに
おいて命令が実行される度に、前記分岐判定回路の出力
信号を入力すると共に保持している信号をシフトするシ
フトレジスタを備えているものとする。
[0025] According to the invention of claim 5 , in claim 4,
The branch information storage circuit in the delay branch control circuit includes a number of flip-flops connected in series corresponding to the number of delay slots of the processor. Each time an instruction is executed in the processor, the branch information storage circuit of the branch determination circuit is It is assumed that a shift register that inputs an output signal and shifts a held signal is provided.

【0026】請求項5の発明によると、シフトレジスタ
の各フリップフロップの保持信号は、現実行サイクルの
1つ前から前記プロセッサの遅延スロット数前までの各
サイクルにおいて分岐が行われたか否かを表すことにな
る。したがって、簡易な構成によって分岐情報記憶回路
を構成することができる。
According to the fifth aspect of the present invention, the signal held in each flip-flop of the shift register indicates whether or not a branch has been taken in each cycle from one immediately before the current execution cycle to the number of delay slots before the processor. Will be represented. Therefore, the branch information storage circuit can be configured with a simple configuration.

【0027】また、請求項6の発明では、前記請求項4
の遅延分岐制御回路における分岐情報記憶回路は、前記
分岐判定回路がプロセッサに分岐を行うよう指示したと
き前記プロセッサにおける命令の実行数の計数を開始
し、計数値が前記プロセッサの遅延スロット数に達した
とき計数を終了するカウンタと、前記分岐判定回路がプ
ロセッサに分岐を行うよう指示したとき出力信号をクリ
アする一方、前記カウンタの計数が終了したとき出力信
号をセットするラッチ回路とを備えているものとする。
[0027] In the invention of claim 6, claim 4
The branch information storage circuit in the delay branch control circuit starts counting the number of executed instructions in the processor when the branch determination circuit instructs the processor to branch, and the count value reaches the number of delay slots in the processor. And a latch circuit that sets the output signal when the counting of the counter is completed while the output signal is cleared when the branch determination circuit instructs the processor to perform the branch. Shall be.

【0028】請求項6の発明によると、分岐判定回路が
プロセッサに分岐を行うよう指示したときから前記プロ
セッサの遅延スロット数の命令が実行されるまでの間
は、ラッチの出力信号はクリアされている。すなわち、
ラッチの出力信号は、現実行サイクルの1つ前から前記
プロセッサの遅延スロット数前までのサイクルのいずれ
か1つにおいて分岐が行われているときは、クリアされ
ている一方、そうでないときはセットされていることに
なる。したがって、簡易な構成によって分岐情報記憶回
路を構成することができる
According to the sixth aspect of the present invention, the output signal of the latch is cleared between the time when the branch determination circuit instructs the processor to execute the branch and the time when the instruction of the number of delay slots of the processor is executed. I have. That is,
The output signal of the latch is cleared when a branch is taken in any one of the cycles from one before the current execution cycle to the number of delay slots before the processor, and is set otherwise. It will be. Therefore, the branch information storage circuit can be configured with a simple configuration .

【0029】[0029]

【発明の実施の形態】まず、本発明に係る遅延分岐制御
に関する原理について説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the principle of delay branch control according to the present invention will be described.

【0030】課題の項で説明したように、遅延分岐方式
のプロセッサにおいて、遅延分岐命令が連続した場合に
アセンブラ言語レベルにおけるプログラムの読みやすさ
を著しく損なうような複雑な動作となるのは、連続する
遅延分岐命令の両方において共に分岐条件が成立したと
きのみである。一方、分岐条件が不成立の場合の遅延分
岐命令の動作はNOP命令(無操作命令)と同じであ
り、何も実行しなかったことに等しい。
As described in the section of the problem, in the processor of the delayed branch method, when the delayed branch instructions are consecutive, a complicated operation that significantly impairs the readability of the program at the assembler language level is a continuous operation. This is only when the branch condition is satisfied in both of the delayed branch instructions. On the other hand, the operation of the delayed branch instruction when the branch condition is not satisfied is the same as that of the NOP instruction (no operation instruction), which is equivalent to not executing anything.

【0031】したがって、遅延分岐命令の分岐条件が成
立した場合は、遅延スロットに置かれている遅延分岐命
令が常に分岐不成立になるよう制御すれば、アセンブラ
言語レベルにおけるプログラムの読みやすさを著しく損
なうような動作を避けることが可能となる。
Therefore, if the branch condition of the delayed branch instruction is satisfied, the readability of the program at the assembler language level will be significantly impaired if the delayed branch instruction placed in the delay slot is controlled so that the branch is not always taken. Such an operation can be avoided.

【0032】図1はこのような原理に基づいた本発明の
一実施形態に係る遅延分岐制御回路の構成を示す図であ
る。図1において、11は分岐情報記憶回路としてのシ
フトレジスタ、12は分岐指示信号SIを出力する分岐
判定回路としての論理積ゲート、13は論理積ゲート1
2から出力された分岐指示信号SIをシフトレジスタ1
1に反転入力するインバータである。
FIG. 1 is a diagram showing a configuration of a delay branch control circuit according to an embodiment of the present invention based on such a principle. In FIG. 1, reference numeral 11 denotes a shift register as a branch information storage circuit, 12 denotes an AND gate as a branch determination circuit that outputs a branch instruction signal SI, and 13 denotes an AND gate 1.
2 to the shift register 1
This is an inverter that inverts input to 1.

【0033】シフトレジスタ11はプロセッサの遅延ス
ロット数のフリップフロップからなり、サイクル毎にす
なわちプロセッサにおいて命令が実行される度に、イン
バータ13を介して分岐指示信号SIを反転入力すると
共に保持している信号をシフトする。すなわちシフトレ
ジスタ11はプロセッサの遅延スロット数だけ過去に遡
ったときの分岐の発生の有無を記憶しており、記憶して
いる情報を分岐情報記憶信号SRとして論理積ゲート1
2に入力する。
The shift register 11 is composed of a flip-flop of the number of delay slots of the processor, and inverts and holds the branch instruction signal SI via the inverter 13 every cycle, that is, every time an instruction is executed in the processor. Shift the signal. That is, the shift register 11 stores the presence or absence of a branch when the number of delay slots of the processor goes back in the past, and uses the stored information as a logical product gate 1 as a branch information storage signal SR.
Enter 2

【0034】論理積ゲート12は分岐命令における分岐
条件が成立して分岐成立実行信号SEaが入力され、か
つ、シフトレジスタ11から入力された分岐情報記憶信
号SRが過去に分岐が発生しなかったことを示すときに
のみ、分岐指示信号SIを出力する。
The AND gate 12 determines that the branch condition in the branch instruction is satisfied, the branch taken execution signal SEa is input, and the branch information storage signal SR input from the shift register 11 indicates that no branch has occurred in the past. , The branch instruction signal SI is output.

【0035】すなわち図1に示す遅延分岐制御回路は、
分岐命令による過去の分岐発生情報をプロセッサの遅延
スロット数だけシフトレジスタ11に記憶し、シフトレ
ジスタ11に過去に分岐が発生したことが記憶されてい
る間は無条件に分岐不成立になるよう制御するものであ
る。
That is, the delay branch control circuit shown in FIG.
The past branch occurrence information by the branch instruction is stored in the shift register 11 by the number of delay slots of the processor, and control is performed so that the branch is unconditionally unsatisfied while the shift register 11 stores the past occurrence of the branch. Things.

【0036】図2は図1に示す遅延分岐制御回路の動作
を示す図であり、図11に示すプログラムをパイプライ
ン処理で実行したときの動作を示す図である。図2では
プロセッサの遅延スロット数は1としている。図2に示
すように、図1に示す遅延分岐制御回路を用いると、分
岐条件が成立した場合、シフトレジスタ11に記憶され
ている分岐情報が偽のときは分岐は行われる一方、真の
ときは分岐は行われないことになる。したがって、遅延
分岐命令が連続する場合において、第1の分岐命令br
200で分岐が行われたときは、第2の条件分岐命令b
r400は常に分岐不成立になる。
FIG. 2 is a diagram showing the operation of the delay branch control circuit shown in FIG. 1, and is a diagram showing the operation when the program shown in FIG. 11 is executed by pipeline processing. In FIG. 2, the number of delay slots of the processor is one. As shown in FIG. 2, when the delay branch control circuit shown in FIG. 1 is used, when the branch condition is satisfied, the branch is performed when the branch information stored in the shift register 11 is false, and when the branch information is true, Will not be taken. Therefore, when the delayed branch instructions are consecutive, the first branch instruction br
200, the second conditional branch instruction b
In r400, the branch is not always taken.

【0037】図1に示す遅延分岐制御回路では、分岐情
報を遅延スロット数だけ記憶するために遅延スロット数
個のフリップフロップからなるシフトレジスタ11を設
けたが、図3に示すように、シフトレジスタ11の代わ
りにカウンタ16及びラッチ回路としてのRSラッチ1
7を用いてもよい。図3に示す遅延分岐制御回路では、
カウンタ16及びRSラッチ17によって分岐情報記憶
回路が構成されており、分岐指示信号SIによってRS
ラッチ17をクリアすると同時にカウンタ16の計数動
作をスタートさせる。カウンタ16はプロセッサが命令
を実行する度に計数動作を行い、計数値が遅延スロット
数に達したときにRSラッチ17をセットする。すなわ
ちRSラッチ17の出力信号は、遅延スロット数だけ過
去に遡ったときに分岐が発生していないときのみセット
されている。RSラッチ17の出力信号は分岐情報記憶
信号SRとして論理積ゲート18に入力され、論理積ゲ
ート18は分岐情報記憶信号SRに従って分岐指示信号
SIの出力を制御する。これによって、分岐が行われて
から遅延スロット数の命令が実行されるまでは、分岐を
禁止することができる。
In the delay / branch control circuit shown in FIG. 1, a shift register 11 composed of flip-flops of several delay slots is provided in order to store branch information by the number of delay slots, but as shown in FIG. Counter 16 instead of 11 and RS latch 1 as a latch circuit
7 may be used. In the delay branch control circuit shown in FIG.
A branch information storage circuit is configured by the counter 16 and the RS latch 17, and the branch instruction signal SI
At the same time when the latch 17 is cleared, the counting operation of the counter 16 is started. The counter 16 performs a counting operation each time the processor executes an instruction, and sets the RS latch 17 when the counted value reaches the number of delay slots. That is, the output signal of the RS latch 17 is set only when a branch has not occurred when the number of delay slots goes back in the past. The output signal of the RS latch 17 is input to the AND gate 18 as a branch information storage signal SR, and the AND gate 18 controls the output of the branch instruction signal SI according to the branch information storage signal SR. As a result, the branch can be prohibited until the instruction of the number of delay slots is executed after the branch is performed.

【0038】なお図1及び図3に示す遅延分岐制御回路
において、分岐命令が無条件分岐命令の場合でもこれを
常に分岐が成立する条件分岐命令と考えれば、特別な措
置を設ける必要はない。
In the delay branch control circuit shown in FIGS. 1 and 3, there is no need to take any special measures, even if the branch instruction is an unconditional branch instruction, assuming that the branch instruction is always a conditional branch instruction in which a branch is always taken.

【0039】また、現実行サイクルの1つ前からプロセ
ッサの遅延スロット数前までの全てのサイクルについ
て、分岐の発生の有無を記憶する必要は必ずしもない。
プロセッサの設計次第では、現実行サイクルの1つ前か
らプロセッサの遅延スロット数前までのサイクルの一部
についての分岐の発生の有無を、分岐を禁止するか否か
の条件としてもよい。この場合には例えば、図1に示す
遅延分岐制御回路では、シフトレジスタ11を構成する
フリップフロップのうち分岐の発生の有無を条件とする
サイクルに対応するフリップフロップの出力信号のみ
を、分岐情報記憶信号SRとして論理積ゲート12に入
力すればよい。
It is not always necessary to store whether or not a branch has occurred for all cycles from one before the current execution cycle to before the number of delay slots of the processor.
Depending on the design of the processor, whether or not a branch has occurred in a part of the cycle from immediately before the current execution cycle to the number of delay slots before the processor may be used as the condition for prohibiting the branch. In this case, for example, the delay / branch control circuit shown in FIG. 1 stores only the output signal of the flip-flop constituting the shift register 11 corresponding to the cycle conditioned on the presence or absence of a branch in the branch information storage. What is necessary is just to input to the AND gate 12 as the signal SR.

【0040】次に、本発明の一実施形態において用いる
条件フラグ書き換え制御に関する原理について説明す
る。
Next, the principle of the condition flag rewriting control used in one embodiment of the present invention will be described.

【0041】比較命令は条件フラグを書き換えるための
命令であって、条件分岐命令の実行を前提とした命令で
ある。したがって、比較命令の実行によって条件フラグ
が書き換えられてから条件分岐命令の実行によって条件
フラグが参照されるまでの間は、条件フラグの書き換え
を禁止するように制御すれば、比較命令と分岐条件命令
との間に、通常は条件フラグを書き換える動作を伴う演
算命令を実行しても、比較命令の結果によって条件成立
又は不成立を決めることができる。
The comparison instruction is an instruction for rewriting the condition flag, and is an instruction on the assumption that a conditional branch instruction is executed. Therefore, if control is performed such that rewriting of the condition flag is inhibited between the time when the condition flag is rewritten by the execution of the comparison instruction and the time when the condition flag is referred to by the execution of the conditional branch instruction, the comparison instruction and the branch condition instruction are controlled. Even if an operation instruction that normally involves an operation of rewriting the condition flag is executed during the period, whether the condition is satisfied or not can be determined based on the result of the comparison instruction.

【0042】図4はこのような原理に基づいた条件フラ
グ書き換え制御回路を示す図であり、(a)は構成図、
(b)は(a)に示す回路の動作を示す図である。図4
(a)において、21は比較実行信号SEc及び条件分
岐実行信号SEbを入力とし、比較命令が実行されると
セットされる一方、条件分岐命令が実行されるとクリア
される条件フラグロック回路としての条件フラグロック
レジスタ、22は反転ゲート、23は演算実行信号SE
dを入力とし、演算命令の実行のときに条件フラグロッ
クレジスタ21の出力信号に応じて条件フラグの書き換
えを指示する条件フラグ書き換え信号SFを出力する書
き換え判定回路としての論理積ゲートである。
[0042] Figure 4 is a diagram showing the condition flag rewriting control circuit based on such a principle, (a) shows the block diagram,
FIG. 2B is a diagram illustrating the operation of the circuit illustrated in FIG. FIG.
In (a), 21 receives a comparison execution signal SEc and a conditional branch execution signal SEb as inputs, and is set when a comparison instruction is executed, and is cleared when a conditional branch instruction is executed. Condition flag lock register, 22 is an inverting gate, 23 is an operation execution signal SE
A logical product gate as a rewrite determination circuit that receives d as an input, and outputs a condition flag rewrite signal SF instructing rewriting of a condition flag in accordance with an output signal of the condition flag lock register 21 when an operation instruction is executed.

【0043】条件フラグロックレジスタ21の出力信号
は、比較命令の実行によって真となる一方、条件分岐命
令の実行によって偽となる。条件フラグレジスタ21の
出力信号は反転ゲート22によって反転されて論理積ゲ
ート23に入力される。このため、演算命令が実行され
るときは、条件フラグロックレジスタ21の出力信号が
偽のときのみ、論理積ゲート23から条件フラグ書き換
え信号SFが出力される。
The output signal of the condition flag lock register 21 becomes true by the execution of the comparison instruction, and becomes false by the execution of the conditional branch instruction. The output signal of the condition flag register 21 is inverted by the inversion gate 22 and input to the AND gate 23. Therefore, when the operation instruction is executed, the condition flag rewriting signal SF is output from the AND gate 23 only when the output signal of the condition flag lock register 21 is false.

【0044】したがって、図4(b)に示すように、比
較命令(CMP)が実行されてから条件分岐命令(B
R)が実行されるまでの間は、演算命令(ADD)が実
行されても条件フラグレジスタ21がセットされている
ので条件フラグ書き換え信号SFは出力されず、条件フ
ラグは書き換えられることはない。
Therefore, as shown in FIG. 4B, after the comparison instruction (CMP) is executed, the conditional branch instruction (B
Until R) is executed, the condition flag rewriting signal SF is not output because the condition flag register 21 is set even if the operation instruction (ADD) is executed, and the condition flag is not rewritten.

【0045】また、パイプライン方式のプロセッサで
は、命令を実行するときに次の命令がデコードされるの
で、命令実行の際に次の命令の種類を知ることが可能で
ある。このことを利用して、次に示すような2つの条件
フラグ書き換え制御の方法が考えられる。
Further, in the pipeline type processor, the next instruction is decoded when executing the instruction, so that it is possible to know the type of the next instruction when executing the instruction. Taking advantage of this, the following two condition flag rewriting control methods can be considered.

【0046】演算命令によって条件フラグを書き換えた
としても、条件分岐命令によって条件フラグが参照され
ない場合は条件フラグの書き換えは無駄である。したが
って、第1の方法として、演算命令の実行サイクルにお
いて、次の命令も条件フラグを書き換える命令であると
きは、条件フラグの書き換えが無駄になることが明白な
ので、条件フラグの書き換えをしないように制御する。
Even if the condition flag is rewritten by the operation instruction, if the condition flag is not referenced by the conditional branch instruction, the rewriting of the condition flag is useless. Therefore, as a first method, when the next instruction is also an instruction for rewriting the condition flag in the execution cycle of the operation instruction, it is obvious that rewriting of the condition flag is useless. Control.

【0047】図5はこのような第1の方法を実現する条
件フラグ書き換え制御回路を示す図であり、(a)は構
成図、(b)は(a)に示す回路の動作を示す図であ
る。図5(a)において、NORゲート24は比較命令
がデコードステージにあることを示す比較信号SDc及
び演算命令がデコードステージにあることを示す演算信
号SDdを入力とし、比較信号SDc又は演算信号SD
dが真のときすなわち比較又は演算命令がデコードステ
ージにあるとき、演算命令による条件フラグの書き換え
を禁止する信号を出力する。論理積ゲート25は演算命
令が実行ステージにあることを示す演算実行信号SEd
を入力とし、演算実行信号SEdが真のときすなわち演
算命令が実行ステージにあるとき、NORゲート24の
出力信号によって条件フラグの書き換えが禁止されてい
ないときのみ、出力信号を真にする。論理和ゲート26
は論理積ゲート25の出力信号が真であるときに条件フ
ラグ書き換え信号SFを出力する。すなわち、演算命令
の実行サイクルにおいて、次に実行する命令が条件フラ
グを書き換えない命令のときのみ、条件フラグ書き換え
信号SFが出力されることになる。また論理和ゲート2
6は比較命令が実行ステージにあることを示す比較実行
信号SEcが真のときは常に条件フラグ書き換え信号S
Fを出力する。
[0047] Figure 5 is a diagram showing a condition <br/> matter flag rewriting control circuit you realize such a first method, (a) shows the block diagram, (b) the circuit shown in (a) It is a figure which shows operation | movement. In FIG. 5A, a NOR gate 24 receives a comparison signal SDc indicating that the comparison instruction is in the decode stage and an operation signal SDd indicating that the operation instruction is in the decode stage, and receives the comparison signal SDc or the operation signal SDc.
When d is true, that is, when the comparison or operation instruction is in the decode stage, a signal is output to inhibit the condition flag from being rewritten by the operation instruction. The AND gate 25 outputs an operation execution signal SEd indicating that the operation instruction is in the execution stage.
When the operation execution signal SEd is true, that is, when the operation instruction is in the execution stage, the output signal is made true only when the output signal of the NOR gate 24 does not prohibit the condition flag from being rewritten. OR gate 26
Outputs the condition flag rewriting signal SF when the output signal of the AND gate 25 is true. That is, in the execution cycle of the operation instruction, the condition flag rewriting signal SF is output only when the next instruction to be executed is an instruction that does not rewrite the condition flag. OR gate 2
6 is a condition flag rewriting signal S whenever the comparison execution signal SEc indicating that the comparison instruction is in the execution stage is true.
Output F.

【0048】したがって、図5(b)に示すように、実
行ステージに演算命令(AD1)があるときでも、デコ
ードステージに演算命令(AD2)があるときは条件フ
ラグは書き換えられない。
Therefore, as shown in FIG. 5B, even when there is an operation instruction (AD1) in the execution stage, the condition flag is not rewritten when there is an operation instruction (AD2) in the decode stage.

【0049】また、第2の方法として、演算命令の実行
サイクルにおいて、次の命令が条件分岐命令であるとき
は、条件フラグの書き換えが有効になることが明白なの
で、このときのみ、条件フラグの書き換えをするように
制御する。
Also, as a second method, when the next instruction is a conditional branch instruction in the execution cycle of an operation instruction, it is clear that rewriting of the condition flag becomes effective. Control to rewrite.

【0050】図6はこのような第2の方法を実現する条
件フラグ書換制御回路を示す図であり、(a)は構成
図、(b)は(a)に示す回路の動作を示す図である。
図6(a)において、論理積ゲート27は条件分岐命令
がデコードステージにあることを示す条件分岐信号SD
b及び演算命令が実行ステージにあることを示す演算実
行信号SEdを入力とし、条件分岐信号SDb及び演算
実行信号SEdが共に真のときすなわち演算命令が実行
ステージにありかつ条件分岐命令がデコードステージに
あるとき、出力信号を真にする。論理和ゲート28は論
理積ゲート27の出力信号が真であるときに条件フラグ
書き換え信号SFを出力する。すなわち、演算命令の実
行サイクルにおいて、次に実行する命令が条件分岐命令
のときのみ条件フラグ書き換え信号SFが出力されるこ
とになる。また論理和ゲート28は比較命令が実行ステ
ージにあることを示す比較実行信号SEcが真のときは
常に条件フラグ書き換え信号SFを出力する。
[0050] Figure 6 is a diagram showing a condition <br/> matter flag rewriting control circuit you realize such a second method, (a) shows the block diagram, (b) the circuit shown in (a) It is a figure which shows operation | movement.
In FIG. 6A, the AND gate 27 outputs a conditional branch signal SD indicating that the conditional branch instruction is in the decode stage.
b and an operation execution signal SEd indicating that the operation instruction is in the execution stage, and when the conditional branch signal SDb and the operation execution signal SEd are both true, that is, the operation instruction is in the execution stage and the conditional branch instruction is in the decode stage. Sometimes, the output signal is made true. The OR gate 28 outputs the condition flag rewriting signal SF when the output signal of the AND gate 27 is true. That is, in the execution cycle of the operation instruction, the condition flag rewriting signal SF is output only when the next instruction to be executed is a conditional branch instruction. The OR gate 28 always outputs the condition flag rewriting signal SF when the comparison execution signal SEc indicating that the comparison instruction is in the execution stage is true.

【0051】したがって、図6(b)に示すように、実
行ステージに演算命令(AD1)がありかつデコードス
テージに条件分岐命令(BR)があるときは条件フラグ
は書き換えられるが、実行ステージに演算命令(AD
2)がありかつデコードステージに条件分岐命令がない
ときは条件フラグは書き換えられない。
Accordingly, as shown in FIG. 6B, when the execution instruction includes the operation instruction (AD1) in the execution stage and the decode stage includes the conditional branch instruction (BR), the condition flag is rewritten, but the execution stage includes the operation instruction. Instruction (AD
If 2) and there is no conditional branch instruction in the decode stage, the condition flag is not rewritten.

【0052】なお、パイプライン段数が深いときは次に
実行する命令だけではなくこれ以降に実行する命令の種
類も知ることができるので、これらの情報を基にして、
第1又は第2の方法によって条件フラグの書き換えを制
御できることはいうまでもない。
When the number of pipeline stages is deep, not only the instruction to be executed next but also the type of instruction to be executed thereafter can be known.
It goes without saying that rewriting of the condition flag can be controlled by the first or second method.

【0053】図7は本発明の実施形態に係る遅延分岐制
御回路及び条件フラグ書き換え制御回路を備えた,パイ
プライン方式のプロセッサの構成を示すブロック図であ
る。図7では、遅延分岐制御と条件フラグ書き換え制御
に関わる部分以外は簡略化して図示している。
FIG. 7 is a block diagram showing a configuration of a pipeline type processor provided with a delay branch control circuit and a condition flag rewrite control circuit according to an embodiment of the present invention. In FIG. 7, portions other than those related to the delay branch control and the condition flag rewriting control are simplified.

【0054】図7において、命令メモリ101は命令コ
ードを記憶するメモリであり、プログラムカウンタ(P
C)102からアドレス指定された命令を命令デコーダ
110に出力する。命令デコーダ110は分岐命令デコ
ーダ111、比較命令デコーダ112、及び演算命令デ
コーダ113を備えており、分岐命令デコーダ111は
命令メモリ101から入力された命令のうち分岐命令を
解読して、分岐信号SDbを出力すると共に条件フラグ
レジスタ103を参照して分岐が成立するか否かを判定
し、分岐が成立したときは分岐成立信号SDaを出力す
る。比較命令デコーダ112は命令メモリ101から入
力された命令のうち比較命令を解読して、比較信号SD
cを出力する。演算命令デコーダ113は命令メモリ1
01から入力された命令のうち演算命令を解読して、演
算信号SDdを出力する。分岐成立信号SDa、分岐信
号SDb、比較信号SDc、及び演算信号SDdはそれ
ぞれ遅延回路(FF)104によって実行ステージのタ
イミング信号である,分岐成立実行信号SEa、分岐実
行信号SEb、比較実行信号SEc、及び演算実行信号
SEdにタイミング調整される。
In FIG. 7, an instruction memory 101 is a memory for storing an instruction code, and has a program counter (P
C) Output the instruction addressed from 102 to the instruction decoder 110. The instruction decoder 110 includes a branch instruction decoder 111, a comparison instruction decoder 112, and an operation instruction decoder 113. The branch instruction decoder 111 decodes a branch instruction among instructions input from the instruction memory 101, and outputs a branch signal SDb. At the same time, whether the branch is taken or not is determined by referring to the condition flag register 103. When the branch is taken, a branch taken signal SDa is output. The comparison instruction decoder 112 decodes the comparison instruction among the instructions input from the instruction memory 101 and outputs a comparison signal SD
Output c. The operation instruction decoder 113 is the instruction memory 1
It decodes an operation instruction among the instructions input from 01 and outputs an operation signal SDd. The branch establishment signal SDa, the branch signal SDb, the comparison signal SDc, and the operation signal SDd are timing signals of an execution stage by the delay circuit (FF) 104, respectively. The branch establishment execution signal SEa, the branch execution signal SEb, the comparison execution signal SEc, And the timing is adjusted to the operation execution signal SEd.

【0055】遅延分岐制御回路120は図1に示す遅延
分岐制御回路と同様の構成を採用しており、1個のフリ
ップフロップからなる分岐情報記憶回路121と、反転
ゲート122及び論理積ゲート123によって構成さ
れ、分岐成立実行信号SEaと分岐情報記憶回路121
の出力信号の反転信号との論理積信号を分岐指示信号S
Iとして出力し、選択器105はこの分岐指示信号SI
によってPC102の入力信号を選択する。また分岐指
示信号SIは分岐情報記憶回路121によって保持され
る。
The delay / branch control circuit 120 employs the same configuration as the delay / branch control circuit shown in FIG. 1 and includes a branch information storage circuit 121 composed of one flip-flop, an inversion gate 122 and an AND gate 123. The branch taken execution signal SEa and the branch information storage circuit 121
The logical product signal of the inverted signal of the output signal of FIG.
I, and the selector 105 outputs the branch instruction signal SI
To select an input signal of the PC 102. The branch instruction signal SI is held by the branch information storage circuit 121.

【0056】条件フラグ書き換え制御回路130は図4
及び図5に示す条件フラグ書き換え制御回路と同様の構
成を採用しており、条件フラグロックレジスタ131、
反転ゲート135及び論理積ゲート133によって図4
と同様の構成が実現されており、論理和ゲート136、
反転ゲート132、論理積ゲート133及び論理和ゲー
ト134によって図5と同様の構成が実現されている。
条件フラグロックレジスタ131は、比較実行信号SE
cをセット信号として入力すると共に分岐実行信号SE
bをクリア信号として入力し、条件フラグロック信号を
出力する。論理和ゲート136及び反転ゲート132に
よって生成された,演算信号SDdと比較信号SDcと
の論理和の反転信号と、条件フラグロック信号の反転信
号と、演算実行信号SEdとの論理積を論理積ゲート1
33によってとり、この論理積信号と比較実行信号SE
cとの論理和信号を条件フラグ書き換え信号SFとして
出力する。条件フラグ書き換え制御回路130から出力
された条件フラグ書き換え信号SFによって、演算器1
40内の条件フラグ生成回路141の動作と条件フラグ
レジスタ103の更新が制御される。
The condition flag rewrite control circuit 130 is shown in FIG.
And the same configuration as the condition flag rewriting control circuit shown in FIG.
FIG. 4 shows an inversion gate 135 and an AND gate 133.
The same configuration as described above is realized, and the OR gate 136,
The same configuration as in FIG. 5 is realized by the inverting gate 132, the AND gate 133, and the OR gate 134.
The condition flag lock register 131 stores the comparison execution signal SE
c as a set signal and a branch execution signal SE
b is input as a clear signal and a condition flag lock signal is output. The AND gate of the inverted signal of the logical sum of the operation signal SDd and the comparison signal SDc, the inverted signal of the condition flag lock signal, and the operation execution signal SEd generated by the OR gate 136 and the inversion gate 132 1
33, the logical product signal and the comparison execution signal SE
The logical sum signal with c is output as the condition flag rewriting signal SF. The arithmetic unit 1 is operated by the condition flag rewriting signal SF output from the condition flag rewriting control circuit 130.
The operation of the condition flag generation circuit 141 in 40 and the update of the condition flag register 103 are controlled.

【0057】図7に示すプロセッサにおける本発明の実
施形態に係る遅延分岐制御の動作について、図8に示す
フローチャートに従って説明する。
The operation of the delay branch control according to the embodiment of the present invention in the processor shown in FIG. 7 will be described with reference to the flowchart shown in FIG.

【0058】まずステップST11において、実行する
命令が遅延分岐命令であるか否かを判定する。実行する
命令が遅延分岐命令でないときはステップST15にす
すみ、当然のことながら分岐しないものとし、実行する
命令が遅延分岐命令であるときはステップST12にす
すむ。ステップST12において、1サイクル前に実行
した命令が遅延分岐命令でありかつ分岐したか否かを判
定する。遅延分岐命令でありかつ分岐したときはステッ
プST15にすすみ分岐しないものとし、そうでないと
きはステップST13にすすむ。ステップST13にお
いて、分岐条件が成立するか否かを判定する。分岐条件
が成立するときはステップST14にすすみ分岐するも
のとし、成立しないときはステップST15にすすみ分
岐しないものとする。
First, in step ST11, it is determined whether or not the instruction to be executed is a delayed branch instruction. If the instruction to be executed is not a delayed branch instruction, the procedure proceeds to step ST15. Naturally, the branch is not taken. If the instruction to be executed is a delayed branch instruction, the procedure proceeds to step ST12. In step ST12, it is determined whether the instruction executed one cycle before is a delayed branch instruction and whether or not the instruction has been branched. If the instruction is a delayed branch instruction and the branch is taken, the procedure proceeds to step ST15 and the branch is not taken. If not, the procedure proceeds to step ST13. In step ST13, it is determined whether a branch condition is satisfied. If the branch condition is satisfied, the process proceeds to step ST14. If the condition is not satisfied, the process proceeds to step ST15.

【0059】図7に示すプロセッサにおける具体的な動
作としては、例えば、遅延分岐命令が連続している場
合、1つめの遅延分岐命令において分岐しなかったとき
は、分岐指示信号SIが偽となるため、次の遅延分岐命
令に対して、遅延分岐制御回路120内の分岐情報記憶
回路121に接続された反転回路122の出力信号は真
になるので、分岐成立信号SEaに従って分岐するか否
かが決定される。一方、1つめの遅延分岐命令において
分岐したときは、分岐指示信号SIが真となるため、次
の遅延分岐命令に対して、遅延分岐制御回路120内の
分岐情報記憶回路121に接続された反転回路122の
出力信号は偽になるので、分岐成立信号SEaに拘わら
ず分岐指示信号SIは偽となり、常に分岐しない。すな
わち、遅延分岐命令が連続しているときは、1つめの遅
延分岐命令は、見かけ上、遅延なし分岐命令と同じ動作
をする。
The specific operation of the processor shown in FIG. 7 is as follows. For example, when the delayed branch instructions are consecutive, and when the first delayed branch instruction does not branch, the branch instruction signal SI becomes false. Therefore, for the next delayed branch instruction, the output signal of the inverting circuit 122 connected to the branch information storage circuit 121 in the delayed branch control circuit 120 becomes true, so that it is determined whether or not to branch according to the branch establishment signal SEa. It is determined. On the other hand, when branching occurs in the first delayed branch instruction, the branch instruction signal SI becomes true, so that the next delayed branch instruction is inverted by the inversion connected to the branch information storage circuit 121 in the delayed branch control circuit 120. Since the output signal of the circuit 122 becomes false, the branch instruction signal SI becomes false irrespective of the branch establishment signal SEa and does not always branch. That is, when the delayed branch instructions are consecutive, the first delayed branch instruction apparently performs the same operation as the non-delayed branch instruction.

【0060】なお、図7に示すプロセッサでは遅延スロ
ット数は1であるものとし、分岐情報記憶回路121を
1つのフリップフロップによって構成しているが、遅延
スロット数が2以上の場合は、図1に示すように、遅延
スロット数個のフリップフロップによるシフトレジスタ
11を設けて各フリップフロップの出力信号の論理積信
号を分岐成立実行信号SEaの禁止信号として用いた
り、図3に示すようにカウンタ16及びRSラッチ17
を設けることによって実現できることはいうまでもな
い。
In the processor shown in FIG. 7, the number of delay slots is assumed to be one, and the branch information storage circuit 121 is constituted by one flip-flop. As shown in FIG. 3, a shift register 11 composed of flip-flops of several delay slots is provided, and an AND signal of the output signals of each flip-flop is used as a prohibition signal of the branch establishment execution signal SEa, or as shown in FIG. And RS latch 17
It is needless to say that this can be realized by providing.

【0061】次に図7に示すプロセッサにおける条件フ
ラグ書き換え制御の動作について、図9に示すフローチ
ャートに従って説明する。
[0061] Next, the operation of the condition flag rewriting control that put the processor shown in FIG. 7, with reference to the flowchart shown in FIG.

【0062】まずステップST21において、実行する
命令の種類を調べる。条件分岐命令のときはステップS
T22にすすみ、条件フラグロックレジスタ131をク
リアする。比較命令のときはステップST23にすすみ
条件フラグロックレジスタ131をセットし、ステップ
ST26にすすみ条件フラグの書き換えを行う。演算命
令のときはステップST24にすすみ、条件フラグロッ
クレジスタ131の出力信号の真偽を判定する。条件フ
ラグロックレジスタ131の出力信号が真のときはステ
ップST27にすすみ、条件フラグを書き換えないもの
とする。一方、条件フラグロックレジスタ131の出力
信号が偽のときはステップST25にすすみ、次に実行
する命令が条件フラグを書き換える命令すなわち演算又
は比較命令であるか否かを判定する。条件フラグを書き
換える命令であるときはステップST27にすすみ、条
件フラグを書き換えないものとし、そうでないときはス
テップST26にすすみ、条件フラグを書き換えるもの
とする。
First, in step ST21, the type of instruction to be executed is checked. Step S for conditional branch instruction
Proceeding to T22, the condition flag lock register 131 is cleared. In the case of a comparison instruction, the progress condition flag lock register 131 is set in step ST23, and the progress condition flag is rewritten in step ST26. If the instruction is an operation instruction, the process proceeds to step ST24, and the authenticity of the output signal of the condition flag lock register 131 is determined. When the output signal of the condition flag lock register 131 is true, the process proceeds to step ST27, and the condition flag is not rewritten. On the other hand, when the output signal of the condition flag lock register 131 is false, the process proceeds to step ST25, and it is determined whether or not the next instruction to be executed is an instruction for rewriting the condition flag, that is, an operation or comparison instruction. If the instruction is for rewriting the condition flag, the procedure proceeds to step ST27, and the condition flag is not rewritten. Otherwise, the procedure proceeds to step ST26, and the condition flag is rewritten.

【0063】図7に示すプロセッサの具体的な動作とし
ては、例えば、比較命令によって条件フラグが書き換え
られた場合は、比較実行信号SEcによって条件フラグ
ロックレジスタ131がセットされ、次に条件分岐命令
等の条件フラグを参照する命令によって条件フラグロッ
クレジスタ131がクリアされるまでは条件フラグ書き
換え制御信号SFは偽になるので、条件フラグ生成回路
141の動作と条件フラグレジスタ103の更新は停止
される。
As a specific operation of the processor shown in FIG. 7, for example, when the condition flag is rewritten by the comparison instruction, the condition flag lock register 131 is set by the comparison execution signal SEc, and then the condition branch instruction or the like is set. The condition flag rewrite control signal SF becomes false until the condition flag lock register 131 is cleared by an instruction referring to the condition flag of (1), and the operation of the condition flag generation circuit 141 and the update of the condition flag register 103 are stopped.

【0064】また、演算命令が連続している場合は、論
理積ゲート133によって演算信号SDdの反転信号と
演算実行信号SEdとの論理積がとられるため条件フラ
グ書き換え制御信号SFは偽になるので、条件フラグ生
成回路141の動作と条件フラグレジスタ103の更新
は停止される。
When the operation commands are continuous, the logical product gate 133 takes the logical product of the inverted signal of the operation signal SDd and the operation execution signal SEd, so that the condition flag rewrite control signal SF becomes false. Then, the operation of the condition flag generation circuit 141 and the update of the condition flag register 103 are stopped.

【0065】以上説明したように、本実施形態に係る遅
延分岐制御によると、遅延分岐命令が連続した場合で
も、アセンブラ言語レベルにおけるプログラムの読みや
すさを保つことができる。また本実施形態に係る遅延分
岐制御方法を実現する回路は簡易な構成によって実現す
ることができ、例えばプロセッサの遅延スロット数が1
の場合には、反転出力つきフリップフロップ1個と論理
積ゲート1個という小規模な回路によって実現すること
ができる。
As described above, according to the delayed branch control according to the present embodiment, the readability of the program at the assembler language level can be maintained even when the delayed branch instructions are consecutive. Further, a circuit for realizing the delay branch control method according to the present embodiment can be realized by a simple configuration.
In the case of (1), it can be realized by a small-scale circuit of one flip-flop with inverted output and one AND gate.

【0066】また、本実施形態に係る条件フラグの書き
換え制御によると、命令コードに条件フラグの書き換え
制御ビットを設けなくても、条件フラグの書き換えを効
率的に制御することができるので、アセンブラ言語レベ
ルのプログラミングやコンパイラの作成が容易になり、
さらに演算部における条件フラグ生成回路の動作や条件
フラグレジスタの更新によって消費される電力を抑える
ことができる。通常、プログラム中に占める演算命令は
全動作サイクルの80%ぐらいあり、分岐命令は20%
ぐらいあるので、条件フラグ生成回路の動作や条件フラ
グレジスタの更新を行うサイクルを80%から20%に
減らすことができる。
According to the condition flag rewriting control according to the present embodiment, the condition flag rewriting can be efficiently controlled without providing a condition flag rewriting control bit in the instruction code. Level programming and compiler creation,
Further, the power consumed by the operation of the condition flag generation circuit and the update of the condition flag register in the operation unit can be suppressed. Normally, operation instructions occupy about 80% of the total operation cycle in a program, and branch instructions account for 20%.
Since the number of cycles is about 80%, the number of cycles for operating the condition flag generation circuit and updating the condition flag register can be reduced from 80% to 20%.

【0067】[0067]

【発明の効果】以上のように、本発明に係る遅延分岐制
御によると、連続している又はプロセッサの遅延スロッ
ト数に比して比較的近い遅延分岐命令において共に分岐
条件が成立するような場合でも、命令の実行順は複雑に
ならないので、アセンブラ言語レベルでのプログラムが
読みやすくなる。しかも命令コード中に制御ビットを設
ける必要がない
As described above, according to the delayed branch control according to the present invention, the case where the branch condition is satisfied for both the delayed branch instructions that are continuous or relatively close to the number of delay slots of the processor. However, the order of execution of the instructions is not complicated, so that the program at the assembler language level becomes easier to read. Moreover, there is no need to provide a control bit in the instruction code .

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

【図1】本発明の一実施形態に係る遅延分岐制御回路の
構成を示す図である。
FIG. 1 is a diagram showing a configuration of a delay branch control circuit according to an embodiment of the present invention.

【図2】図1に示す本発明の一実施形態に係る遅延分岐
制御回路の動作を示す図である。
FIG. 2 is a diagram showing an operation of the delay branch control circuit according to the embodiment of the present invention shown in FIG. 1;

【図3】本発明の一実施形態に係る遅延分岐制御回路の
他の例を示す図である。
FIG. 3 is a diagram illustrating another example of the delay branch control circuit according to the embodiment of the present invention;

【図4】本発明の一実施形態において用いる条件フラグ
書き換え制御回路を示す図であり、(a)は構成図、
(b)は動作を示す図である。
[Figure 4] is a diagram showing a condition flag rewriting control circuit used Oite to an embodiment of the present invention, (a) is a block diagram,
(B) is a diagram showing the operation.

【図5】本発明の一実施形態において用いる条件フラグ
書き換え制御回路の他の例を示す図であり、(a)は構
成図、(b)は動作を示す図である。
[Figure 5] is a diagram showing another example of a condition flag rewriting control circuit used Oite to an embodiment of the present invention, showing (a) is a structural view, the (b) operation.

【図6】本発明の一実施形態において用いる条件フラグ
書き換え制御回路の他の例を示す図であり、(a)は構
成図、(b)は動作を示す図である。
[Figure 6] is a diagram showing another example of a condition flag rewriting control circuit used Oite to an embodiment of the present invention, showing (a) is a structural view, the (b) operation.

【図7】本発明の一実施形態に係る遅延分岐制御回路及
び条件フラグ書き換え制御回路を備えた,パイプライン
方式のプロセッサの構成を示すブロック図である。
FIG. 7 is a block diagram showing a configuration of a pipeline type processor including a delay branch control circuit and a condition flag rewrite control circuit according to an embodiment of the present invention.

【図8】図7に示すプロセッサにおける本発明の一実施
形態に係る遅延分岐制御方法を示すフローチャートであ
る。
8 is a flowchart illustrating a delay branch control method according to an embodiment of the present invention in the processor illustrated in FIG. 7;

【図9】図7に示すプロセッサにおける条件フラグ書き
換え制御方法を示すフローチャートである。
9 is a flowchart showing the condition flag rewriting control how put the processor shown in FIG.

【図10】分岐命令を実行するときのパイプライン処理
の動きを示す図である。
FIG. 10 is a diagram showing the operation of pipeline processing when executing a branch instruction.

【図11】遅延分岐命令が連続する場合のアセンブラ言
語レベルのプログラムの一例を示す図である。
FIG. 11 is a diagram illustrating an example of an assembler language level program in a case where delayed branch instructions are consecutive;

【図12】図11に示すプログラムを実行するときの、
各遅延分岐命令における分岐の有無と命令の実行順との
関係を示す図である。
FIG. 12 is a diagram showing a state in which the program shown in FIG. 11 is executed.
FIG. 7 is a diagram illustrating a relationship between the presence or absence of a branch and the execution order of instructions in each delayed branch instruction.

【図13】図11に示すプログラムを実行する場合に、
連続する遅延分岐命令が共に分岐条件が成立したときの
パイプライン処理の動きを示す図である。
FIG. 13 shows a case where the program shown in FIG. 11 is executed.
FIG. 11 is a diagram illustrating the operation of pipeline processing when a branch condition is satisfied for both successive delayed branch instructions.

【図14】図11に示すプログラムを、遅延分岐制御ビ
ットが設けられた命令コードを実行するタイプのプロセ
ッサによって実行するときの、各遅延分岐命令における
分岐の有無と命令の実行順との関係を示す図である。
FIG. 14 shows the relationship between the presence or absence of a branch in each delayed branch instruction and the instruction execution order when the program shown in FIG. 11 is executed by a processor that executes an instruction code provided with a delayed branch control bit. FIG.

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

11 シフトレジスタ(分岐情報記憶回路) 12 論理積ゲート(分岐判定回路) 16 カウンタ 17 RSラッチ(ラッチ回路) 18 論理積ゲート(分岐判定回路) 21 条件フラグロックレジスタ(条件フラグロック回
路) 23 論理積ゲート(書き換え判定回路) 120 遅延分岐制御回路 130 条件フラグ書き換え制御回路
DESCRIPTION OF SYMBOLS 11 Shift register (branch information storage circuit) 12 AND gate (branch determination circuit) 16 Counter 17 RS latch (latch circuit) 18 AND gate (branch determination circuit) 21 Condition flag lock register (condition flag lock circuit) 23 Logical product Gate (Rewrite determination circuit) 120 Delay branch control circuit 130 Condition flag rewrite control circuit

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 遅延分岐方式のプロセッサにおいて、遅
延分岐命令の分岐動作を制御する遅延分岐制御方法であ
って、 遅延分岐命令を実行するとき、この遅延分岐命令の実行
サイクルの1つ前から前記プロセッサの遅延スロット数
前までのサイクルのうちの所定のサイクルにおいて分岐
が行われたときは、前記遅延分岐命令による分岐を禁止
することを特徴とする遅延分岐制御方法。
1. A delayed branch control method for controlling a branch operation of a delayed branch instruction in a processor of a delayed branch method, wherein when a delayed branch instruction is executed, the delay branch instruction is executed immediately before an execution cycle of the delayed branch instruction. A delayed branch control method, wherein when a branch is taken in a predetermined cycle among cycles up to the number of delay slots before the processor, the branch by the delayed branch instruction is prohibited.
【請求項2】 請求項1記載の遅延分岐制御方法におい
て、 前記遅延分岐命令の実行サイクルの1つ前から前記プロ
セッサの遅延スロット数前までの全てのサイクルを、前
記所定のサイクルとすることを特徴とする遅延分岐制御
方法。
2. The delay branch control method according to claim 1, wherein all the cycles from one cycle before the execution cycle of the delayed branch instruction to the number of delay slots before the processor are set as the predetermined cycle. A delayed branch control method.
【請求項3】 遅延分岐方式のプロセッサに設けられ、
遅延分岐命令の分岐動作を制御する遅延分岐制御回路で
あって、 現実行サイクルの1つ前から前記プロセッサの遅延スロ
ット数前までのサイクルのうちの所定のサイクルにおい
て、分岐が行われたか否かを記憶する分岐情報記憶回路
と、 遅延分岐命令を実行するとき、この遅延分岐命令の分岐
条件が成立し、かつ、前記分岐情報記憶回路が前記所定
のサイクルにおいて分岐が行われなかったことを記憶し
ているときにのみ、プロセッサに分岐を指示する分岐判
定回路とを備えていることを特徴とする遅延分岐制御回
路。
3. A delay branch type processor, wherein:
A delay branch control circuit for controlling a branch operation of a delay branch instruction, wherein a branch is performed in a predetermined cycle among cycles from one immediately before a current execution cycle to before a delay slot number of the processor. A branch information storage circuit that stores a condition that when a delayed branch instruction is executed, a branch condition of the delayed branch instruction is satisfied, and that the branch information storage circuit does not branch in the predetermined cycle. And a branch determination circuit for instructing the processor to branch only when the branch is being performed.
【請求項4】 請求項3記載の遅延分岐制御回路におい
て、 前記分岐情報記憶回路は、現実行サイクルの1つ前から
前記プロセッサの遅延スロット数前までの全てのサイク
ルを、前記所定のサイクルとするものであることを特徴
とする遅延分岐制御回路。
4. The delay branch control circuit according to claim 3 , wherein said branch information storage circuit regards all cycles from one immediately before a current execution cycle to before a delay slot number of said processor as said predetermined cycle. And a delay branch control circuit.
【請求項5】 請求項4記載の遅延分岐制御回路におい
て、 前記分岐情報記憶回路は、 直列に接続された,前記プロセッサの遅延スロット数に
相当する数のフリップフロップからなり、前記プロセッ
サにおいて命令が実行される度に、前記分岐判定回路の
出力信号を入力すると共に保持している信号をシフトす
るシフトレジスタを備えていることを特徴とする遅延分
岐制御回路。
5. The delay branch control circuit according to claim 4 , wherein said branch information storage circuit comprises a number of flip-flops connected in series and corresponding to the number of delay slots of said processor. A delay branch control circuit, comprising: a shift register that inputs an output signal of the branch determination circuit and shifts a held signal every time the branch determination circuit is executed.
【請求項6】 請求項4記載の遅延分岐制御回路におい
て、 前記分岐情報記憶回路は、 前記分岐判定回路がプロセッサに分岐を行うよう指示し
たとき前記プロセッサにおける命令の実行数の計数を開
始し、計数値が前記プロセッサの遅延スロット数に達し
たとき計数を終了するカウンタと、 前記分岐判定回路がプロセッサに分岐を行うよう指示し
たとき出力信号をクリアする一方、前記カウンタの計数
が終了したとき出力信号をセットするラッチ回路とを備
えていることを特徴とする遅延分岐制御回路。
6. The delay branch control circuit according to claim 4 , wherein the branch information storage circuit starts counting the number of executed instructions in the processor when the branch determination circuit instructs the processor to branch. A counter that terminates counting when the count value reaches the number of delay slots of the processor; an output signal that clears an output signal when the branch determination circuit instructs the processor to perform branching, and an output when the counting of the counter ends. And a latch circuit for setting a signal.
JP13216397A 1996-05-30 1997-05-22 Delayed branch control method and circuit Expired - Fee Related JP2938831B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13216397A JP2938831B2 (en) 1996-05-30 1997-05-22 Delayed branch control method and circuit

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8-136212 1996-05-30
JP13621296 1996-05-30
JP13216397A JP2938831B2 (en) 1996-05-30 1997-05-22 Delayed branch control method and circuit

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10890199A Division JP3150667B2 (en) 1996-05-30 1999-04-16 Condition flag rewriting control method and circuit

Publications (2)

Publication Number Publication Date
JPH1069384A JPH1069384A (en) 1998-03-10
JP2938831B2 true JP2938831B2 (en) 1999-08-25

Family

ID=26466794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13216397A Expired - Fee Related JP2938831B2 (en) 1996-05-30 1997-05-22 Delayed branch control method and circuit

Country Status (1)

Country Link
JP (1) JP2938831B2 (en)

Also Published As

Publication number Publication date
JPH1069384A (en) 1998-03-10

Similar Documents

Publication Publication Date Title
US7178011B2 (en) Predication instruction within a data processing system
JP3499252B2 (en) Compiling device and data processing device
WO2002008893A1 (en) A microprocessor having an instruction format containing explicit timing information
JP2009163624A (en) Processor device and conditional branch processing method
JP4412905B2 (en) Low power operation control device and program optimization device
KR100570906B1 (en) Apparatus and method for controlling conditional part execution in a data processor
US6055626A (en) Method and circuit for delayed branch control and method and circuit for conditional-flag rewriting control
JP2004318502A (en) Microprocessor with power control function and instruction converter
JP2938831B2 (en) Delayed branch control method and circuit
JP4607958B2 (en) Processor and program conversion apparatus
JP3150667B2 (en) Condition flag rewriting control method and circuit
JPH1091441A (en) Program execution method and apparatus using the method
CN112433763A (en) Executing instructions based on state
JP4889235B2 (en) Program control processor
JP3335735B2 (en) Arithmetic processing unit
JP3512707B2 (en) Microcomputer
US5875317A (en) Boosting control method and processor apparatus having boosting control portion
KR100209233B1 (en) Decoder unit of high super-scalable microprocessor
JP3647930B2 (en) Dynamic hyperscalar processor
KR100515039B1 (en) Pipeline status indicating circuit for conditional instruction
JP2005092467A (en) Processor and interrupt control method thereof
JPH0778736B2 (en) Electronic computer
JP2007257477A (en) Semiconductor device and instruction control method
JP2004062427A (en) Microprocessor
JPH08171492A (en) Information processing device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990525

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

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees