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

JP2933030B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2933030B2
JP2933030B2 JP26132496A JP26132496A JP2933030B2 JP 2933030 B2 JP2933030 B2 JP 2933030B2 JP 26132496 A JP26132496 A JP 26132496A JP 26132496 A JP26132496 A JP 26132496A JP 2933030 B2 JP2933030 B2 JP 2933030B2
Authority
JP
Japan
Prior art keywords
instruction
short
stage
nop
instructions
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
JP26132496A
Other languages
Japanese (ja)
Other versions
JPH1091438A (en
Inventor
尚夫 小柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP26132496A priority Critical patent/JP2933030B2/en
Publication of JPH1091438A publication Critical patent/JPH1091438A/en
Application granted granted Critical
Publication of JP2933030B2 publication Critical patent/JP2933030B2/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]

【発明の属する技術分野】本発明は、VLIW方式を採
用した情報処理装置に関し、特に、命令パイプラインの
スケジューリングのために挿入されるNOP命令の数を
少なくすることができる情報処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus employing the VLIW method, and more particularly, to an information processing apparatus capable of reducing the number of NOP instructions inserted for instruction pipeline scheduling.

【0002】[0002]

【従来の技術】情報処理装置に於ける並列処理技術の1
つとして、細粒度並列処理方式がある。この方式は、細
かな命令レベルで並列実行可能な命令を探し出し、それ
らの命令を並列に実行する方式であり、ハードウェアに
よる方式とソフトウェアによる方式とがある。
2. Description of the Related Art One of parallel processing techniques in an information processing apparatus.
One is a fine-grain parallel processing method. This method searches for instructions that can be executed in parallel at a fine instruction level and executes those instructions in parallel. There are a hardware method and a software method.

【0003】ハードウェアによってダイナミックに命令
実行のスケジューリングを行う方式としては、スーパー
スカラ方式がある。この方式は、市販されているマイク
ロプロセッサで幅広く採用され、製品レベルでかなり実
績のある技術である。その長所は、コンパイラに対して
それほど高度な最適化技術がなくとも性能を出しやすい
点である。逆に、短所は、製品,部品,回路といったハ
ードウェアの増大を招き、そのことでLSIの限られた
面積を使ってしまったり、高速なクロックを実現する為
に足かせとなるクリティカルパスの増大を招きやすいと
いう点である。
As a method of dynamically performing instruction execution by hardware, there is a superscalar method. This method is widely used in commercially available microprocessors, and is a technology with a considerable track record at the product level. The advantage is that it is easy to get performance without a very advanced optimization technique for the compiler. On the other hand, the disadvantages are that the hardware such as products, parts, and circuits increases, which causes the use of the limited area of the LSI and the increase of the critical path which is a hindrance for realizing a high-speed clock. It is easy to invite.

【0004】また、ソフトウェアによって命令実行のス
ケジューリングを行う方式としてはVLIW(Very
Long Instruction set Wor
d)方式がある。この方式の長所は、スーパースカラ方
式の逆で、命令のスケジューリング機能をコンパイラが
肩代わりするので、ハードウェアがシンプルになり、高
速クロックが実現しやすいという点である。逆に短所
は、コンパイラに高度な最適化技術が必要になるという
点、応用プログラムの種類によっては、いくらコンパイ
ラの最適化技術を駆使しても、性能が出ないことがある
という点である。しかし、VLIW方式に於ける、ハー
ドウェアがシンプルになるという長所は捨て難く、将
来、商用マイクロプロセッサに採用されるであろう。
As a method of scheduling instruction execution by software, VLIW (very
Long Instruction set Wor
d) There is a method. The advantage of this method is that, contrary to the superscalar method, the compiler takes over the instruction scheduling function, so that the hardware is simplified and a high-speed clock is easily realized. On the other hand, the disadvantages are that advanced optimization technology is required for the compiler, and depending on the type of application program, no matter how much the optimization technology of the compiler is used, performance may not be achieved. However, the advantage of the VLIW system that the hardware is simple is unavoidable and will be adopted in a commercial microprocessor in the future.

【0005】ところで、VLIW方式に於いて、コンパ
イラが命令パイプライン上で命令スケジューリングを行
う場合、先ず、短命令間のレジスタ参照関係を解析す
る。そして、短命令間にレジスタの参照関係があれば、
先行する短命令の結果を待っている後続の命令を如何な
るタイミングで発行すれば良いかを求める。短命令の発
行後、その結果が得られるまでの時間は、その短命令の
種類によって固定であるので、後続の命令の発行タイミ
ングは容易に求めることができる。そして、先行する短
命令の結果が得られるまでの間に、先行する短命令とは
関係のない短命令群を挿入することで、命令パイプライ
ン内を乱れなく命令が流れるようにスケジューリングす
る。
[0005] In the VLIW system, when a compiler performs instruction scheduling on an instruction pipeline, first, a register reference relationship between short instructions is analyzed. And if there is a register reference relationship between short instructions,
The timing at which the subsequent instruction waiting for the result of the preceding short instruction should be issued is determined. After the issuance of a short instruction, the time until the result is obtained is fixed depending on the type of the short instruction, so that the issuance timing of the subsequent instruction can be easily obtained. Then, by inserting a short instruction group unrelated to the preceding short instruction until the result of the preceding short instruction is obtained, scheduling is performed so that the instructions can flow without disturbance in the instruction pipeline.

【0006】[0006]

【発明が解決しようとする課題】しかし、実際には間断
なく命令を実行させるほど先行する短命令と無関係な短
命令は存在せず、コンパイラはその空いたタイミングに
NOP(No Operation)命令を挿入する。
このように、NOP命令は、コンパイラでスケジューリ
ングを行う場合、大きな役割を持つ。
However, there is actually no short instruction irrelevant to the preceding short instruction so that the instruction is executed without interruption, and the compiler inserts a NOP (No Operation) instruction at the vacant timing. I do.
As described above, the NOP instruction plays a large role when scheduling is performed by the compiler.

【0007】しかし、プログラムの種類によっては、コ
ンパイラによって生成されるNOP命令が通常の短命令
よりも多くなってしまう場合がある。このような場合、
コンパイラのスケジューリングよって生成された膨大な
NOP命令を主記憶装置からフェッチするために、本来
実行すべき短命令が命令実行部に十分に供給されず、V
LIW方式の生命線である命令レベルの並列化処理が十
分に行えない場合があるという問題があった。尚、特開
平4−275603号公報には、NOP命令自身にその
実行回数を付加することにより、NOP命令の数を少な
くする技術が記載されているが、この技術を適用しても
VLIW方式の情報処理装置に於いては、NOP命令数
をあまり減らすことはできない。
[0007] However, depending on the type of program, the number of NOP instructions generated by the compiler may be larger than that of ordinary short instructions. In such a case,
Since a large number of NOP instructions generated by the scheduling of the compiler are fetched from the main storage device, the short instructions to be executed are not sufficiently supplied to the instruction execution unit.
There is a problem that parallel processing at the instruction level, which is the lifeline of the LIW method, may not be performed sufficiently. Japanese Patent Application Laid-Open No. 4-275603 discloses a technique for reducing the number of NOP instructions by adding the number of executions to the NOP instruction itself. In the information processing apparatus, the number of NOP instructions cannot be reduced so much.

【0008】そこで、本発明の目的は、命令パイプライ
ンのスケジューリングのために挿入されるNOP命令数
を少なくすることができるVLIW方式の情報処理装置
を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a VLIW type information processing apparatus which can reduce the number of NOP instructions inserted for scheduling an instruction pipeline.

【0009】[0009]

【課題を解決するための手段】本発明は上記目的を達成
するため、VLIW方式を採用した情報処理装置に於い
て、デコードステージに同時に移行してきた複数の短命
を解読し、該複数の短命令の中に、それと同時に発行
ステージへ移行させる短命令の指定と前記発行ステージ
への移行を延期させるサイクル数とを含むNOP命令が
存在する場合、該NOP命令を示す情報と、該NOP命
令と同時に前記発行ステージへ移行させる短命令を示す
情報と、前記発行ステージへの移行を延期させるサイク
ル数とを出力するデコーダと、前記発行ステージに有効
な命令が存在しなくなったタイミングに於いて、前記デ
コーダから出力される情報によって示されるNOP命令
と短命令とを前記発行ステージへ移行させ、前記デコー
ダから出力されるサイクル数が経過したタイミングに於
いて前記デコードステージに存在する未移行の短命令を
前記発行ステージへ移行させる組み合わせ回路とを備え
ている。
According to the present invention, in order to achieve the above object, in an information processing apparatus employing a VLIW system, a plurality of short instructions which are simultaneously shifted to a decode stage are decoded, and the plurality of short instructions are decoded. If the instruction includes a NOP instruction including designation of a short instruction to shift to the issue stage at the same time and the number of cycles for delaying the shift to the issue stage, information indicating the NOP instruction and the NOP instruction
Indicates a short instruction to shift to the issuance stage at the same time as the instruction
Information and cycle to postpone transition to the publishing stage
A decoder for outputting the Le number, at the timing when valid instruction is no longer present in the issue stage, the de
NOP instruction indicated by information output from coder
And the short instruction are transferred to the issue stage, and the decoding
And a combination circuit for transferring the unmigrated short instruction existing in the decode stage to the issue stage at the timing when the number of cycles output from the decoder has elapsed.

【0010】上記した構成に於いては、デコードステー
ジに同時に移行してきた複数の短命令の中に、それと同
時に発行ステージへ移行させる短命令の指定と発行ステ
ージへの移行を延期させるサイクル数とを含むNOP命
令が存在する場合、デコーダが、NOP命令を示す情報
と、NOP命令と同時に前記発行ステージへ移行させる
短命令を示す情報と、発行ステージへの移行を延期させ
るサイクル数とを出力し、組み合わせ回路が、デコーダ
から出力される情報によって示されるNOP命令と短命
令とを発行ステージへ移行させ、デコーダから出力され
るサイクル数が経過したタイミングに於いてデコードス
テージに存在する未移行の短命令を発行ステージへ移行
させる。
[0010] In the above-mentioned configuration, of a plurality of short instructions which have simultaneously shifted to the decode stage, the designation of the short instruction to shift to the issue stage and the number of cycles for delaying the shift to the issue stage at the same time are specified. If there is a NOP instruction including the NOP instruction, the decoder outputs information indicating the NOP instruction.
And shift to the issuing stage simultaneously with the NOP instruction
Information indicating short instructions and postponing the transition to the issue stage
And the combinational circuit outputs
Instruction and short-lived indicated by information output from
Command to the issue stage and output from the decoder.
At the timing when a certain number of cycles have elapsed, the unmigrated short instruction existing in the decode stage is shifted to the issue stage.

【0011】また、本発明は、先行する短命令が完結す
るまでの時間が分からない場合であっても、命令パイプ
ライン内に乱れが生じないようにするため、前記デコー
ダは、前記デコードステージに同時に移行してきた複数
の短命令を解読し、該複数の短命令の中に、それらの短
命令より先行する全ての短命令が完結するまでそれらの
発行を延期させることを指示するアドバンスオフの指定
を含むNOP命令が存在する場合、前記デコードステー
ジにアドバンスオフの指定を含むNOP命令が存在する
ことを示す情報を出力する構成を有し、 前記組み合わせ
回路は、 前記デコーダから前記デコードステージにアド
バンスオフの指定を含むNOP命令が存在することを示
す情報が出力されている場合、前記発行ステージに有効
な命令が存在しなくなったタイミングに於いて前記デコ
ードステージに存在する複数の短命令を前記発行ステー
ジに移行させた後、システムビジー信号がアクティブで
なくなるまでの間、前記発行ステージに移行させた各短
命令の発行を延期させる構成を備えている。
Further, the present invention provides a decoding method for preventing the occurrence of disturbance in an instruction pipeline even when the time required for completing a preceding short instruction is not known.
(C) decoding a plurality of short instructions that have simultaneously shifted to the decode stage, and delaying the issuance of the plurality of short instructions until all of the short instructions preceding the short instructions are completed. Advance off designation
If there are NOP instructions including said decoding stay
There is a NOP instruction including advance off designation
Having a configuration for outputting information indicating that the combination
Circuitry is added from the decoder to the decode stage.
Indicates that there is a NOP instruction that includes the specification of bounce off.
If the information is output, it is valid for the publishing stage.
At the timing when there are no more instructions
After the plurality of short instructions in the code stage are shifted to the issue stage, the issuance of each short instruction shifted to the issue stage is delayed until the system busy signal becomes inactive.

【0012】上記構成に於いては、デコードステージに
同時に移行してきた複数の短命令の中に、それらの短命
令より先行する全ての短命令が完結するまでそれらの発
行を延期させることを指示するアドバンスオフの指定を
含むNOP命令が存在する場合、デコーダが、デコード
ステージにアドバンスオフの指定を含むNOP命令が存
在することを示す情報を出力し、組み合わせ回路が、デ
コードステージに移行してきた複数の短命令を発行ステ
ージに移行させ、システムビジー信号がアクティブの
間、発行ステージに存在する短命令の発行を延期させ、
システムビジー信号がアクティブでなくなると、発行ス
テージに存在する短命令を発行させる。
In the above configuration, among a plurality of short instructions which have simultaneously shifted to the decode stage, it is instructed to postpone the issue until all short instructions preceding the short instructions are completed. Advanced off designation
If NOP instructions including the presence, decoder, decoding
NOP instruction including advance off designation exists in the stage
Is output, and the combinational circuit outputs
Issuing multiple short instructions that have shifted to the code stage
To delay the issuance of short instructions that are in the issue stage while the system busy signal is active,
When the system busy signal becomes inactive, a short instruction existing in the issue stage is issued .

【0013】[0013]

【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0014】図1は本発明の実施例のブロック図であ
り、命令キャッシュ1と、アドレスアレイ2と、エント
リ有効ビット3と、アドレスレジスタ(ICRA)4
と、IC有効ビット5と、比較器6と、アンドゲート7
と、デコードステージの命令レジスタ8と、発行ステー
ジの命令レジスタ9と、命令パイプライン制御部10と
から構成されている。
FIG. 1 is a block diagram of an embodiment of the present invention. An instruction cache 1, an address array 2, an entry valid bit 3, an address register (ICRA) 4
, IC valid bit 5, comparator 6, and AND gate 7
, An instruction register 8 in the decode stage, an instruction register 9 in the issue stage, and an instruction pipeline control unit 10.

【0015】命令キャッシュ1の各エントリには、主記
憶装置(図示せず)に格納されている長命令の写しが格
納される。主記憶装置上の或るアドレスに存在する長命
令を命令キャッシュ1に格納する場合、上記長命令は、
上記アドレスの下位Nビットによって示される命令キャ
ッシュ1のエントリに格納される。例えば、アドレスの
下位Nビットが全て“0”の長命令を命令キャッシュ1
に格納する場合には、命令キャッシュ1の第1番目のエ
ントリに格納し、アドレスの下位Nビットの内の最下位
ビットのみが“1”の命令を命令キャッシュ1に格納す
る場合には、命令キャッシュ1の第2番目のエントリに
格納する。このような命令キャッシュ1を備えることに
より、分岐命令で今までの実行制御フローから全く異な
るアドレスへジャンプしても、命令キャッシュ1にその
ジャンプ先の命令が格納されているならば、毎回、主記
憶装置に対してフェッチ要求を送出する必要が無くな
る。
Each entry of the instruction cache 1 stores a copy of a long instruction stored in a main storage device (not shown). When storing a long instruction existing at a certain address on the main storage device in the instruction cache 1, the long instruction is:
It is stored in the entry of the instruction cache 1 indicated by the lower N bits of the address. For example, an instruction whose long N bits of the address are all "0" is stored in the instruction cache 1
When storing an instruction in which only the least significant bit of the lower N bits of the address is “1” in the instruction cache 1, the instruction is stored in the first entry of the instruction cache 1. Store it in the second entry of cache 1. By providing such an instruction cache 1, even if a branch instruction jumps from a previous execution control flow to a completely different address, if the instruction at the jump destination is stored in the instruction cache 1, the main cache is always executed. There is no need to send a fetch request to the storage device.

【0016】アドレスアレイ2には、命令キャッシュ1
と同数のエントリが設けられており、各エントリには、
命令キャッシュ1の対応するエントリに格納されている
長命令の主記憶装置上のアドレスが格納されている。
The address array 2 has an instruction cache 1
There are as many entries as there are, and each entry has
The address of the long instruction stored in the corresponding entry of the instruction cache 1 on the main memory is stored.

【0017】エントリ有効ビット3は、命令キャッシュ
1の各エントリ毎に設けられており、命令キャッシュ1
の対応するエントリに有効な長命令が格納されているか
否かを表示する。
The entry valid bit 3 is provided for each entry of the instruction cache 1,
Displays whether or not a valid long instruction is stored in the corresponding entry of.

【0018】アドレスレジスタ4には、図示を省略した
システム制御部によって命令の読み出しアドレスが格納
される。IC有効ビット5は、命令キャッシュ1に対す
る読み出し動作が有効であるか否かを示すビットであ
る。
The address register 4 stores an instruction read address by a system control unit (not shown). The IC valid bit 5 is a bit indicating whether or not the read operation for the instruction cache 1 is valid.

【0019】比較器6は、アドレスレジスタ4に格納さ
れているアドレスと、そのアドレスの下位Nビットによ
って示されるアドレスアレイ2のエントリから読み出し
たアドレスとを比較し、比較結果を出力する。つまり、
比較器6の比較結果が、比較一致の場合は、命令キャッ
シュ1中に目的の長命令が存在し、比較不一致の場合
は、命令キャッシュ1中に目的の長命令が存在しないこ
とになる。
The comparator 6 compares an address stored in the address register 4 with an address read from an entry of the address array 2 indicated by the lower N bits of the address, and outputs a comparison result. That is,
If the comparison result of the comparator 6 is a comparison match, the target long instruction exists in the instruction cache 1. If the comparison result does not match, the target long instruction does not exist in the instruction cache 1.

【0020】アンドゲート7は、比較器6の比較結果と
IC有効ビット5とに基づいて、目的とする長命令が命
令キャッシュ1中に存在するか否かを示すICヒット信
号を生成する。ICヒット信号が、目的の長命令が命令
キャッシュ1中に存在しないことを示している場合は、
図示を省略したキャッシュ制御部が、目的とする命令を
主記憶装置から命令キャッシュ1へ転送する。
The AND gate 7 generates an IC hit signal indicating whether or not a target long instruction exists in the instruction cache 1 based on the comparison result of the comparator 6 and the IC valid bit 5. If the IC hit signal indicates that the long instruction of interest is not present in instruction cache 1,
A cache control unit (not shown) transfers a target instruction from the main storage device to the instruction cache 1.

【0021】デコードステージの命令レジスタ8には、
命令キャッシュ1から長命令が供給される。この長命令
は4つの短命令から構成され、各短命令はそれぞれ命令
レジスタ8のda,db,dc,dd部分に格納され
る。尚、本実施例では、各短命令は32ビット構成であ
るとする。
In the instruction register 8 of the decode stage,
A long instruction is supplied from the instruction cache 1. This long instruction is composed of four short instructions, and each short instruction is stored in the da, db, dc, dd portion of the instruction register 8, respectively. In this embodiment, it is assumed that each short instruction has a 32-bit configuration.

【0022】発行ステージの命令レジスタ9のisa,
isb,isc,isd部分には、命令レジスタ8のd
a,db,dc,dd部分に格納されている命令が供給
される。
In the issue stage, isa,
In the isb, isc, and isd parts, d
Instructions stored in a, db, dc, and dd portions are supplied.

【0023】命令パイプライン制御部10は、Vビット
制御機能,命令発行制御機能,ホールド機能,NOP命
令による命令パイプライン同期制御機能を有する。
The instruction pipeline control unit 10 has a V-bit control function, an instruction issue control function, a hold function, and an instruction pipeline synchronization control function based on a NOP instruction.

【0024】Vビット制御機能は、命令レジスタ8,9
のda,db,dc,dd,isa,isb,isc,
isd部分に有効な命令が存在するか否かを示すVビッ
トと呼ばれる制御フラグを管理する機能である。
The V bit control function is performed by the instruction registers 8 and 9
Da, db, dc, dd, isa, isb, isc,
This function manages a control flag called a V bit indicating whether or not a valid instruction exists in the isd portion.

【0025】命令発行制御機能とは、文字通り命令の発
行を制御する機能である。ここで、発行とは、その短命
令に相当する命令実行部に対して実行指示を出力する行
為である。例えば、演算命令の場合は、命令発行時に演
算器に対して演算実行指示を出力する。
The instruction issuance control function is a function for literally controlling the issuance of an instruction. Here, issuance is an act of outputting an execution instruction to an instruction execution unit corresponding to the short instruction. For example, in the case of an operation instruction, an operation execution instruction is output to the operation unit when the instruction is issued.

【0026】ホールド機能とは、何らかの原因でデコー
ドステージの命令レジスタ8から発行ステージの命令レ
ジスタ9へ命令を移行できなかった場合、或いは発行ス
テージの命令レジスタ9から発行できなかった場合、そ
の命令の次サイクル(次クロック)でもそのステージの
命令レジスタにとどまらせて、実行を延期させる機能で
ある。
The hold function is used when an instruction cannot be transferred from the instruction register 8 in the decode stage to the instruction register 9 in the issue stage for any reason, or when the instruction cannot be issued from the instruction register 9 in the issue stage. In the next cycle (next clock), it is a function to stay in the instruction register of the stage and postpone the execution.

【0027】最後に、NOP命令による命令パイプライ
ン同期制御機能とは、本発明固有の機能であり、後で説
明する本発明特有のNOP命令に従って命令パイプライ
ンのコントロールを行う機能である。
Finally, the instruction pipeline synchronization control function based on the NOP instruction is a function unique to the present invention, and is a function for controlling the instruction pipeline according to a NOP instruction unique to the present invention described later.

【0028】図2は本実施例に於いて使用するNOP命
令のフォーマットを示した図である。
FIG. 2 is a diagram showing the format of the NOP instruction used in the present embodiment.

【0029】図2に示したNOP命令は、VLIW方式
の短命令の1つであり、32ビット構成である。そし
て、その先頭の8ビットが、NOP命令であることを示
すオペコードとなっている。また、残り24ビットの内
の、所定の2ビット,3ビットがフィールドA,Bとな
っている。
The NOP instruction shown in FIG. 2 is one of short instructions of the VLIW system, and has a 32-bit configuration. The first 8 bits are an operation code indicating a NOP instruction. Of the remaining 24 bits, predetermined 2 bits and 3 bits are fields A and B.

【0030】フィールドAはNOP命令のタイプを示す
フィールドであり、本実施例ではフィールドAの内容が
「00」,「01」,「10」,「11」のNOP命令
をそれぞれタイプNOP1,NOP2,NOP3,NO
P4のNOP命令と呼ぶものとする。
The field A indicates the type of the NOP instruction. In this embodiment, the contents of the field A are "00", "01", "10", and "11". NOP3, NO
It shall be called a P4 NOP instruction.

【0031】フィールドBは、アドバンスオフ或いは延
期させるサイクル数を指示するフィールドである。本実
施例では、「000」がアドバンスオフを指示し、「0
01」〜「111」がそれぞれサイクル数1〜7を示す
ものとする。ここで、アドバンスオフの指示とは、それ
が含まれている長命令よりも先行する全ての短命令の実
行が完結するまで、上記長命令の発行延期を指示するも
のである。
Field B is a field for designating the number of cycles for advance-off or postponement. In the present embodiment, “000” indicates advance off, and “0”
01 ”to“ 111 ”indicate the cycle numbers 1 to 7, respectively. Here, the advance-off instruction indicates the postponement of the issuance of the long instruction until execution of all short instructions preceding the long instruction including the instruction is completed.

【0032】次に、上記した4つのタイプNOP1,N
OP2,NOP3,NOP4のNOP命令について説明
する。
Next, the four types NOP1, N
The NOP instruction of OP2, NOP3, NOP4 will be described.

【0033】タイプNOP1のNOP命令(NOP1命
令)は、それと同時にデコードステージに落ちてきた短
命令の内、自身よりも先行側の短命令のみを、発行ステ
ージに有効な短命令が存在しなくなったタイミングに於
いて、自身と同時に発行ステージに移行できる短命令と
し、自身が発行ステージに移行したタイミングに於いて
デコードステージに存在する短命令を移行延期対象の短
命令とする。
For the NOP instruction of the type NOP1 (NOP1 instruction), of the short instructions that have been dropped to the decode stage at the same time, only the short instruction on the leading side of itself has no valid short instruction in the issue stage. At the timing, it is assumed that the instruction is a short instruction that can shift to the issue stage at the same time as the instruction itself, and the short instruction existing in the decode stage at the timing when the instruction shifts to the issue stage is the instruction to be delayed.

【0034】タイプNOP2のNOP命令(NOP2命
令)は、それと同時にデコードステージに落ちてきた短
命令の内、自身よりも先行側の短命令,自身の次の短命
令を、発行ステージに有効な短命令が存在しなくなった
タイミングに於いて、自身と同時に発行ステージに移行
できる短命令とし、自身が発行ステージに移行したタイ
ミングに於いてデコードステージに存在する短命令を移
行延期対象の短命令とする。
A NOP instruction of the type NOP2 (NOP2 instruction) is a short instruction which has been sent to the decode stage at the same time. A short instruction that can shift to the issue stage at the same time as the instruction no longer exists, and a short instruction that exists in the decode stage at the timing when the instruction shifts to the issue stage is a short instruction to be postponed. .

【0035】タイプNOP3のNOP命令(NOP3命
令)は、それと同時にデコードステージに落ちてきた短
命令の内、自身よりも先行側の短命令,自身の次の短命
令とその次の短命令を、発行ステージに有効な短命令が
存在しなくなったタイミングに於いて、自身と同時に発
行ステージに移行できる短命令とし、自身が発行ステー
ジに移行したタイミングに於いてデコードステージに存
在する短命令を移行延期対象の短命令とする。
The NOP instruction of the type NOP3 (NOP3 instruction) is one of the short instructions that have fallen into the decode stage at the same time, the short instruction preceding the self, the short instruction next to the self, and the next short instruction. At the timing when there is no longer a valid short instruction in the issue stage, it is a short instruction that can shift to the issue stage at the same time as it itself, and the short instruction existing in the decode stage is delayed when it shifts to the issue stage. The target short instruction.

【0036】タイプNOP4のNOP命令(NOP4命
令)は、通常のNOP命令と同様のものであり、同時に
デコードステージに落ちてきた他の短命令の発行ステー
ジへの移行を延期させる機能はない。
A NOP instruction of type NOP4 (NOP4 instruction) is similar to a normal NOP instruction, and has no function of delaying the transition to the issue stage of another short instruction that has simultaneously fallen into the decode stage.

【0037】図3は上記した4つのタイプのNOP命令
のフィールドAの機能を説明するための図である。
FIG. 3 is a diagram for explaining the function of the field A of the above four types of NOP instructions.

【0038】図3(1)では、デコードステージの命令
レジスタ8のda,db,dc,dd部分に、それぞれ
NOP1命令,命令X,命令Y,命令Zが同時に落ちて
きている。この状態をTと定義すると、1サイクル後の
(T+1)では、NOP1命令のみが発行ステージの命
令レジスタ9のisa部分に移行する。
In FIG. 3A, the NOP1 instruction, the instruction X, the instruction Y, and the instruction Z are simultaneously dropped in the da, db, dc, and dd portions of the instruction register 8 in the decode stage. If this state is defined as T, after one cycle (T + 1), only the NOP1 instruction moves to the isa portion of the instruction register 9 in the issue stage.

【0039】図3(2)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれNOP2命
令,命令X,命令Y,命令Zが同時に落ちてきており、
1サイクル後の(T+1)に於いて、NOP2命令,命
令Xがそれぞれ発行ステージの命令レジスタ9のis
a,isb部分に移行する。
In FIG. 3B, the NOP2 instruction, the instruction X, the instruction Y, and the instruction Z are simultaneously dropped in the da, db, dc, and dd portions of the instruction register 8 at T, respectively.
One cycle later (T + 1), the NOP2 instruction and the instruction X are respectively stored in the instruction register 9 of the issue stage.
Shift to a and isb parts.

【0040】図3(3)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれNOP3命
令,命令X,命令Y,命令Zが同時に落ちてきており、
1サイクル後の(T+1)に於いて、NOP3命令,命
令X,命令Yがそれぞれ発行ステージの命令レジスタ9
のisa,isb,isc部分に移行する。
In FIG. 3C, the NOP3 instruction, the instruction X, the instruction Y, and the instruction Z are simultaneously dropped in the da, db, dc, and dd portions of the instruction register 8 at T, respectively.
At (T + 1) one cycle later, the NOP3 instruction, the instruction X, and the instruction Y are respectively stored in the instruction register 9 in the issue stage.
To the isa, isb, and isc parts of

【0041】図3(4)に示すように、Tに於いて、命
令レジスタ8のda,db,dc,dd部分にそれぞれ
NOP4命令,命令X,命令Y,命令Zが同時に落ちて
きた場合は、1サイクル後の(T+1)に於いて、全て
の命令が発行ステージの命令レジスタ9のisa,is
b,isc,isd部分に移行する。その結果、デコー
ドステージの命令レジスタ8には、新たな後続の長命令
が落ちてくる。
As shown in FIG. 3D, when at T, NOP4 instruction, instruction X, instruction Y, and instruction Z simultaneously fall in the da, db, dc, and dd portions of the instruction register 8, respectively. At (T + 1) after one cycle, all the instructions are in the isa, is
Shift to b, isc, isd parts. As a result, a new subsequent long instruction is dropped in the instruction register 8 of the decode stage.

【0042】図3(5)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれ命令X,N
OP1命令,命令Y,命令Zが落ちてきており、1サイ
クル後の(T+1)に於いて、命令X,NOP1命令の
みが発行ステージの命令レジスタ9のisa,isb部
分に移行する。
In FIG. 3 (5), at T, the instructions X, N are stored in the da, db, dc, dd portions of the instruction register 8, respectively.
The OP1 instruction, the instruction Y, and the instruction Z have dropped, and at (T + 1) one cycle later, only the instructions X and NOP1 shift to the isa and isb portions of the instruction register 9 in the issue stage.

【0043】図3(6)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれ命令X,N
OP2命令,命令Y,命令Zが落ちてきており、1サイ
クル後の(T+1)に於いて、命令X,NOP2命令,
命令Yのみが発行ステージの命令レジスタ9のisa,
isb,isc部分に移行する。
In FIG. 3 (6), at T, the instructions X and N are stored in the da, db, dc and dd portions of the instruction register 8, respectively.
The OP2 instruction, the instruction Y, and the instruction Z have dropped, and at (T + 1) one cycle later, the instruction X, the NOP2 instruction,
Only instruction Y isa, in instruction register 9 in the issue stage
Shift to isb and isc parts.

【0044】図3(7)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれ命令X,N
OP3命令,命令Y,命令Zが落ちてきており、1サイ
クル後の(T+1)に於いて全ての命令が発行ステージ
の命令レジスタ9に移行する。その結果、後続する長命
令がデコードステージの命令レジスタ8に落ちてくる。
In FIG. 3 (7), at T, the instructions X, N are stored in the da, db, dc, dd portions of the instruction register 8, respectively.
The OP3 instruction, the instruction Y, and the instruction Z have dropped, and all the instructions shift to the instruction register 9 in the issue stage at (T + 1) one cycle later. As a result, the following long instruction falls into the instruction register 8 of the decode stage.

【0045】図3(8)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれ命令X,命
令Y,NOP1命令,命令Zが落ちてきており、1サイ
クル後の(T+1)に於いて、命令X,命令Y,NOP
1命令のみが発行ステージのisa,isb,isc部
分に移行する。
In FIG. 3 (8), the instruction X, the instruction Y, the NOP1 instruction, and the instruction Z are respectively dropped in the da, db, dc, and dd portions of the instruction register 8 at T. T + 1), instruction X, instruction Y, NOP
Only one instruction moves to the isa, isb, and isc portions of the issue stage.

【0046】図3(9)では、Tに於いて命令レジスタ
8のda,db,dc,dd部分にそれぞれ命令X,命
令Y,NOP2命令,命令Zが落ちてきており、1サイ
クル後の(T+1)に於いて、全ての命令が発行ステー
ジの命令レジスタ9に移行する。その結果、後続する長
命令がデコードステージの命令レジスタ8に落ちてく
る。
In FIG. 3 (9), the instruction X, the instruction Y, the NOP2 instruction, and the instruction Z are dropped in the da, db, dc, and dd portions of the instruction register 8 at T, respectively, and after one cycle ( At (T + 1), all instructions move to the instruction register 9 in the issue stage. As a result, the following long instruction falls into the instruction register 8 of the decode stage.

【0047】図3(10)では、Tに於いて命令レジス
タ8のda,db,dc,dd部分にそれぞれ命令X,
命令Y,命令Z,NOP1命令が落ちてきており、1サ
イクル後の(T+1)に於いて、全ての命令が発行ステ
ージの命令レジスタ9に移行する。その結果、後続する
長命令がデコードステージの命令レジスタ8に落ちてく
る。
In FIG. 3 (10), at time T, the instructions X and X are respectively stored in the da, db, dc and dd portions of the instruction register 8.
The instructions Y, Z, and NOP1 instructions have dropped, and all the instructions move to the instruction register 9 in the issue stage at (T + 1) one cycle later. As a result, the following long instruction falls into the instruction register 8 of the decode stage.

【0048】図4,図5は、NOP命令のフィールドB
の機能を説明するためのタイムチャートである。尚、こ
のタイムチャートでは、同一ステージの先行側(da,
isaに近い側)の短命令が、後続側(dd,isdに
近い側)の短命令よりも先に発行ステージのレジスタ9
に移行したり、命令発行されることを前提にしている。
FIGS. 4 and 5 show field B of the NOP instruction.
5 is a time chart for explaining the function of FIG. In this time chart, the leading side (da,
The short instruction on the side closer to isa is shorter than the short instruction on the subsequent side (closer to dd, isd) in the register 9 of the issue stage.
It is assumed that an instruction will be issued or an instruction will be issued.

【0049】先ず、図4について説明する。First, FIG. 4 will be described.

【0050】タイミングt1に於いて、長命令を構成す
る4つの短命令ADD,NOP1(フィールドBによっ
て指定されている待ちサイクル数が1サイクル),SU
B,FDVが、それぞれデコードステージの命令レジス
タ8のda,db,dc,dd部分に落ちてくる。短命
令SUBは、レジスタS8に書き込まれる短命令ADD
の実行結果を使用するものである。
At timing t1, four short instructions ADD, NOP1 (the number of wait cycles specified by field B is one) constituting the long instruction, and SU
B and FDV fall on the da, db, dc and dd portions of the instruction register 8 in the decode stage, respectively. The short instruction SUB is the short instruction ADD written to the register S8.
Is used.

【0051】次のサイクルであるタイミングt2に於い
ては、短命令ADD,NOP1が発行ステージの命令レ
ジスタ9のisa,isb部分に移行され、発行され
る。
At timing t2, which is the next cycle, the short instructions ADD and NOP1 are transferred to the isa and isb portions of the instruction register 9 in the issue stage and are issued.

【0052】タイミングt3に於いては、短命令SU
B,FDVが発行ステージの命令レジスタ9のisc,
isd部分に移行され、発行される。つまり、NOP1
命令よりも後続側の短命令SUB,FDVは、NOP1
命令よりも1サイクル遅れて発行ステージへ移行され、
発行される。このパイプラインのホールド制御は、NO
P待ちカウンタにタイミングt2に於いて待ちサイクル
数「1」をセットすることにより実現できる。NOP待
ちカウンタは、それにセットされている値が「0」以外
の場合は、サイクル毎に、その値が−1される。尚、N
OP待ちカウンタについては後で詳細に説明する。ま
た、タイミングt3に於いては、短命令ADDが実行さ
れる。更に、タイミングt3に於いては、後続の長命令
がデコードステージの命令レジスタ8に落ちてくる。こ
の後続の長命令は、4つの短命令NOP1(フィールド
Bによって指定されている待ちサイクル数が4サイク
ル),FIX,FAD,NOP1から構成される。尚、
短命令FIX,FADは、短命令FDVがレジスタS2
0に書き込むその実行結果を使用するものである。
At timing t3, the short instruction SU
B, FDV issu of instruction register 9 in the issue stage,
It is moved to the isd part and issued. That is, NOP1
The short instructions SUB and FDV on the subsequent side of the instruction are NOP1
Move to the issue stage one cycle later than the instruction,
publish. The hold control of this pipeline is NO
This can be realized by setting the number of wait cycles “1” at the timing t2 in the P wait counter. When the value set in the NOP wait counter is other than "0", the value is decremented by one every cycle. Note that N
The OP wait counter will be described later in detail. At the timing t3, the short instruction ADD is executed. Further, at timing t3, the subsequent long instruction falls into the instruction register 8 in the decode stage. The subsequent long instruction is composed of four short instructions NOP1 (the number of waiting cycles specified by the field B is four), FIX, FAD, and NOP1. still,
The short instructions FIX and FAD are stored in the register S2.
The execution result written to 0 is used.

【0053】タイミングt4に於いては、デコードステ
ージに存在する長命令を構成する4つの短命令の内の、
NOP1命令のみが発行ステージの命令レジスタ9のi
sa部分に移行され、発行される。また、タイミングt
4に於いては、NOP待ちカウンタに、NOP1命令の
フィールドBによって指定された待ちサイクル数「4」
がセットされ、他の短命令FIX,FAD,NOP1が
デコードステージでタイミングt4〜t7の4サイクル
待たされる。更に、タイミングt4に於いては、短命令
ADDの実行結果の書き込みが行われると共に、その短
命令ADDの実行結果を利用する短命令SUBと、短命
令FDVとが実行される。
At timing t4, of the four short instructions constituting the long instruction existing in the decode stage,
Only the NOP1 instruction is the i of the instruction register 9 in the issue stage.
It is shifted to the sa part and issued. The timing t
In No. 4, the number of wait cycles designated by the field B of the NOP1 instruction is "4" in the NOP wait counter.
Is set, and the other short instructions FIX, FAD, and NOP1 wait for four cycles at timings t4 to t7 in the decode stage. Further, at the timing t4, the execution result of the short instruction ADD is written, and the short instruction SUB using the execution result of the short instruction ADD and the short instruction FDV are executed.

【0054】タイミングt8に於いては、NOP待ちカ
ウンタの値が「0」となることから、短命令FIX,F
AD,NOP1が発行ステージの命令レジスタ9のis
b,isc,isd部分に移行され、発行される。
At timing t8, the value of the NOP wait counter becomes "0", so that the short instructions FIX, F
AD, NOP1 is the issu of instruction register 9 in the issue stage.
It is shifted to the b, isc, and isd parts and issued.

【0055】タイミングt9に於いては、短命令FDV
の実行結果の書き込みが行われると共に、その実行結果
を利用する短命令FIX,FADが実行される。
At timing t9, the short instruction FDV
Is written, and short instructions FIX and FAD using the execution result are executed.

【0056】次に図5について説明する。Next, FIG. 5 will be described.

【0057】タイミングt1に於いて、長命令を構成す
る4つの短命令FDV,FMP,ADD,SUBがデコ
ードステージの命令レジスタ8のda,db,dc,d
d部分に落ちてきている。
At timing t1, the four short instructions FDV, FMP, ADD, and SUB constituting the long instruction are stored in the instruction registers 8 of the decode stage by da, db, dc, and d.
It is falling in the d part.

【0058】タイミングt2に於いては、上記した各短
命令FDV,FMP,ADD,SUBが発行ステージの
命令レジスタ9のisa,isb,isc,isd部分
に移行され、発行される。また、タイミングt2に於い
ては、後続の長命令がデコードステージの命令レジスタ
8に落ちてくる。この長命令は、4つの短命令NOP1
(フィールドBにアドバンスオフを指定したものとす
る),ADD,SUB,MPSから構成され、各短命令
NOP1,ADD,SUB,MPSは、それぞれデコー
ドステージの命令レジスタ8のda,db,dc,dd
部分に格納される。
At timing t2, the short instructions FDV, FMP, ADD, and SUB described above are transferred to the isa, isb, isc, and isd portions of the instruction register 9 in the issue stage and are issued. At timing t2, the subsequent long instruction falls into the instruction register 8 in the decode stage. This long instruction has four short instructions NOP1
(It is assumed that advance-off is designated in the field B), ADD, SUB, and MPS. Each short instruction NOP1, ADD, SUB, and MPS is respectively da, db, dc, and dd of the instruction register 8 of the decode stage.
Stored in the part.

【0059】タイミングt3に於いては、短命令FD
V,FMP,ADD,SUBが実行されることからシス
テムビジー信号がアクティブになる。また、タイミング
t3に於いては、短命令NOP1,ADD,SUB,M
PSが発行ステージの命令レジスタ9のisa,is
b,isc,isd部分に移行される。しかし、isa
部分には、フィールドBにアドバンスオフが指定された
NOP1命令が存在し、システムビジー信号がアクティ
ブであるので、それらは発行されない。
At timing t3, the short instruction FD
Since V, FMP, ADD, and SUB are executed, the system busy signal becomes active. At timing t3, short instructions NOP1, ADD, SUB, M
PS isa, is of instruction register 9 in issue stage
Transferred to b, isc, isd parts. But isa
In the part, there is a NOP1 instruction whose advance-off is specified in the field B, and since the system busy signal is active, they are not issued.

【0060】タイミングt9に於いて、システムビジー
信号がアクティブでなくなると、発行を延期させられて
いた4つの短命令NOP1,ADD,SUB,MPSが
発行される。
At timing t9, when the system busy signal becomes inactive, four short instructions NOP1, ADD, SUB, and MPS whose issuance has been postponed are issued.

【0061】図6は命令パイプライン制御部10の構成
例を示すブロック図であり、デコーダ11a〜11d
と、NOP待ちカウンタ12と、組み合わせ回路13,
14と、Vビット管理回路15a〜15dと、フリップ
フロップ16a〜16dと、セレクタ17と、減算器1
8から構成されている。
FIG. 6 is a block diagram showing an example of the configuration of the instruction pipeline control unit 10, and the decoders 11a to 11d
, A NOP wait counter 12, a combinational circuit 13,
14, V bit management circuits 15a to 15d, flip-flops 16a to 16d, selector 17, and subtractor 1
8.

【0062】Vビット管理回路15a〜15dは、それ
ぞれデコードステージの命令レジスタ8のda〜dd部
分に有効な短命令が格納されているか否かを示すVビッ
トVda〜Vddを管理する機能を有する。Vビット管
理回路15aは、命令レジスタ8のda部分に有効な命
令が格納されているか否かを示すVビットVdaを保持
するセット優先のフリップフロップFFと、インバータ
Iと、ゲート回路G1,G2とから構成されている。
尚、ゲート回路G2の出力は、デコードステージの命令
レジスタ8のda部分に存在していた短命令が発行ステ
ージの命令レジスタ9のisa部分に移行したタイミン
グに於いて“1”となる。また、他のVビット管理回路
15b〜15cもVビット管理回路15aと同様の構成
を有している。
The V bit management circuits 15a to 15d have a function of managing V bits Vda to Vdd indicating whether a valid short instruction is stored in the da to dd portion of the instruction register 8 in the decode stage, respectively. The V bit management circuit 15a includes a set priority flip-flop FF that holds a V bit Vda indicating whether a valid instruction is stored in the da portion of the instruction register 8, an inverter I, gate circuits G1 and G2, It is composed of
The output of the gate circuit G2 becomes "1" at the timing when the short instruction existing in the da part of the instruction register 8 in the decode stage shifts to the isa part of the instruction register 9 in the issue stage. The other V bit management circuits 15b to 15c have the same configuration as the V bit management circuit 15a.

【0063】フリップフロップ16a〜16dは、それ
ぞれ発行ステージの命令レジスタ9のisa〜isd部
分に有効な短命令が存在するか否かを示すVビットVi
sa〜Visdを保持するセット優先のフリップフロッ
プである。
Each of flip-flops 16a to 16d has a V bit Vi indicating whether a valid short instruction exists in the isa to isd portion of the instruction register 9 in the issue stage.
This is a set-priority flip-flop that holds sa to Visd.

【0064】デコーダ11a〜11dは、それぞれデコ
ードステージの命令レジスタ8のda〜dd部分に対応
するものである。各デコーダ11a〜11dは、それぞ
れ命令レジスタ8のda〜dd部分に格納されている短
命令をデコードし、デコード結果を出力する。その際、
各デコーダ11a〜11dは、命令レジスタ8のda〜
dd部分に格納されている短命令がNOP命令であり、
且つそのフィールドBに待ちサイクル数が設定されてい
る場合は、命令レジスタ8のda〜dd部分に格納され
ているNOP命令のタイプを示すDEa〜DEd信号を
組み合わせ回路14に対して出力し、命令レジスタ8の
da〜dd部分にサイクル待ちを指示するNOP命令が
格納されていることを示すNOPa〜NOPd信号を組
み合わせ回路13に対して出力し、命令レジスタ8のd
a〜dd部分に格納されているNOP命令によって指示
されている待ちサイクル数を示すSa〜Sd信号をセレ
クタ17に対して出力する。また、命令レジスタ8のd
a〜dd部分に格納されている短命令がNOP命令であ
り、且つそのフィールドBの内容が「000」の場合
(アドバンスオフの場合)は、命令レジスタ8のda〜
dd部分にアドバンスオフの指定を含むNOP命令が格
納されていることを示すDEa〜DEd信号を出力す
る。
The decoders 11a to 11d correspond to the da to dd portions of the instruction register 8 in the decode stage, respectively. Each of the decoders 11a to 11d decodes a short instruction stored in the da to dd portion of the instruction register 8, and outputs a decoding result. that time,
Each of the decoders 11a to 11d is provided with
The short instruction stored in the dd part is a NOP instruction,
If the number of waiting cycles is set in the field B, the signals DEa to DEd indicating the type of the NOP instruction stored in the da to dd portions of the instruction register 8 are output to the combination circuit 14, and the instruction A NOP-NOPd signal indicating that a NOP instruction instructing to wait for a cycle is stored in the da-dd portion of the register 8 is output to the combinational circuit 13 and the d
It outputs to the selector 17 signals Sa to Sd indicating the number of wait cycles indicated by the NOP instruction stored in the a to dd portions. In addition, d of the instruction register 8
If the short instruction stored in the a to dd part is a NOP instruction and the content of the field B is "000" (in the case of advance-off), the da to
It outputs DEa to DEd signals indicating that a NOP instruction including advance-off designation is stored in the dd portion.

【0065】組み合わせ回路13は、デコーダ11a〜
11dから出力されるNOPa〜NOPd信号の中に、
サイクル待ちを指示するNOP命令が命令レジスタ8に
格納されていることを示すものが存在する場合は、その
信号と対応するNOP命令が発行ステージの命令レジス
タ9に移行したタイミングでセレクタ17を制御し、S
a〜Sd信号によって示される待ちサイクル数の内の、
上記発行ステージに移行したNOP命令と対応する待ち
サイクル数をNOP待ちカウンタ12にプリセットする
機能や、NOP待ちカウンタ12のカウント値が「0」
でない場合、NOP待ちカウンタ12のカウント値をサ
イクル毎に−1する減算器18の出力がNOP待ちカウ
ンタ12に入力されるようにセレクタ17を制御する機
能等を有する。尚、デコードステージの命令レジスタ8
から発行ステージの命令レジスタ9に短命令が移行した
タイミングは、Vビット管理回路15a〜15dの出力
信号によって知ることができる。
The combinational circuit 13 includes the decoders 11a to 11a
Among the NOPa to NOPd signals output from 11d,
If there is an instruction indicating that a NOP instruction instructing a cycle wait is stored in the instruction register 8, the selector 17 is controlled at the timing when the NOP instruction corresponding to the signal is transferred to the instruction register 9 in the issue stage. , S
out of the number of waiting cycles indicated by the signals a to Sd,
The function of presetting the number of wait cycles corresponding to the NOP instruction shifted to the issue stage to the NOP wait counter 12 or the count value of the NOP wait counter 12 is “0”
If not, it has a function of controlling the selector 17 so that the output of the subtracter 18 that decrements the count value of the NOP wait counter 12 by 1 every cycle is input to the NOP wait counter 12. The instruction register 8 of the decode stage
, The timing at which the short instruction is transferred to the instruction register 9 in the issue stage can be known from the output signals of the V bit management circuits 15a to 15d.

【0066】組み合わせ回路14は、デコーダ11a〜
11dから出力されるDEa〜DEd信号に基づいて命
令レジスタ8にサイクル待ちを指示するNOP命令が存
在していると判断した場合、そのNOP命令,そのNO
P命令と同時に発行ステージの命令レジスタ9へ移行さ
せることが指示されている短命令,そのNOP命令より
も先行側の短命令を、発行ステージの命令レジスタ9に
有効な短命令が存在していないことを条件にして命令レ
ジスタ9へ移行させ、上記NOP命令が発行ステージの
命令レジスタ9へ移行したタイミングからNOP待ちカ
ウンタ12のカウント値が「1」になった次のタイミン
グまで、デコードステージの命令レジスタ8に対してD
HLD信号を出力し、その内容が変化しないようにする
機能を有する。尚、デコーダ11a〜11dから出力さ
れるDEa〜DEd信号の中に、命令レジスタ8にサイ
クル待ちを指示するNOP命令が格納されていることを
示す信号が複数存在する場合は、最も先行する命令に対
応するデコード信号(最もDEa信号側のデコード信
号)から順に上記した処理を行う。また、発行ステージ
の命令レジスタ9のisa〜isd部分に有効な短命令
が存在するか否かは、フリップフロップ16a〜16d
が保持しているVビットVisa〜Visdに基づいて
知ることができる。
The combinational circuit 14 includes the decoders 11a to 11a.
If it is determined based on the DEa to DEd signals output from the register 11d that there is an NOP instruction instructing the instruction register 8 to wait for a cycle, the NOP instruction and the NO
There is no short instruction instructed to be transferred to the instruction register 9 in the issue stage at the same time as the P instruction, and no effective short instruction exists in the instruction register 9 in the issue stage for the short instruction preceding the NOP instruction. The instruction is transferred to the instruction register 9 on condition that the NOP instruction is shifted to the instruction register 9 in the issue stage until the next timing when the count value of the NOP wait counter 12 becomes “1”. D for register 8
It has a function of outputting an HLD signal and preventing its contents from changing. In the case where a plurality of signals indicating that a NOP instruction indicating a cycle wait is stored in the instruction register 8 are present in the DEa to DEd signals output from the decoders 11a to 11d, the most preceding instruction The above-described processing is performed sequentially from the corresponding decode signal (the decode signal closest to the DEa signal side). Whether there is a valid short instruction in the isa-isd portion of the instruction register 9 in the issue stage is determined by the flip-flops 16a-16d.
Can be known based on the V bits Visa to Visd held by.

【0067】更に、組み合わせ回路14は、デコーダ1
1a〜11dから出力されるDEa〜DEd信号に基づ
いて命令レジスタ8にアドバンスオフを指示するNOP
命令が存在していると判断した場合、デコードステージ
の命令レジスタ8に格納されている短命令を、発行ステ
ージの命令レジスタ9に有効な短命令が存在しないこと
を条件にして命令レジスタ9に移行させた後、システム
ビジー信号がアクティブの間、命令レジスタ9に対して
ISHLD信号を出力し、その内容を保持させる。そし
て、システムビジー信号がアクティブでなくなると、I
SHLD信号の出力を停止すると共に、命令実行部(図
示せず)に対してISSUEda〜ISSUEdd信号
を出力し、命令レジスタ9に格納されている短命令の実
行を指示する。
Further, the combinational circuit 14 includes the decoder 1
NOP for instructing the instruction register 8 to advance off based on the DEa to DEd signals output from 1a to 11d
If it is determined that an instruction exists, the short instruction stored in the instruction register 8 of the decode stage is transferred to the instruction register 9 on condition that there is no valid short instruction in the instruction register 9 of the issue stage. After that, while the system busy signal is active, an ISHLD signal is output to the instruction register 9 to hold its contents. When the system busy signal becomes inactive, I
The output of the SHLD signal is stopped, and the ISSUEda to ISSUEdd signals are output to an instruction execution unit (not shown) to instruct execution of the short instruction stored in the instruction register 9.

【0068】尚、組み合わせ回路14は、デコードステ
ージの命令レジスタ8のda〜dd部分に存在する短命
令を発行ステージの命令レジスタ9のisa〜isd部
分に移行させる場合は、DAHLD〜DDHLD信号を
“0”にしてVビット管理回路15a〜15d中のフリ
ップフロップFFを全てリセット状態にしてそれらによ
って保持されているVビットVda〜Vddを有効な短
命令が存在しないことを示すものにすると共に、フリッ
プフロップ16a〜16dをセット状態にしてそれらに
よって保持されているVビットVisa〜Visdを有
効な短命令が存在することを示すものにする。また、組
み合わせ回路14から出力されるDHLD信号は、DA
HLD〜DDHLD信号の論理和をとったものである。
また、システムビジー信号は、命令実行部で命令が行わ
れている時にアクティブにされるものである。また、ア
ドレスレジスタ4,IC有効ビット5に対する設定動作
を行うシステム制御部(図示せず)は、DHLD信号が
“0”になった時、即ち、デコードステージの命令レジ
スタ8に有効な短命令が全く存在しなくなった時に、ア
ドレスレジスタ4,IC有効ビット5に対する設定動作
を行うものである。
The combination circuit 14 sets the DAHLD to DDHLD signals to "id" when transferring the short instruction existing in the da to dd part of the instruction register 8 in the decode stage to the isa to isd part of the instruction register 9 in the issue stage. 0 "to reset all the flip-flops FF in the V bit management circuits 15a to 15d to V bits Vda to Vdd held by them to indicate that there is no valid short instruction. And the V bits Visa to Visd held by them to indicate that a valid short instruction is present. The DHLD signal output from the combination circuit 14 is DA
The logical sum of the HLD to DDHLD signals is obtained.
The system busy signal is activated when an instruction is being executed by the instruction execution unit. When a DHLD signal becomes "0", that is, when a valid short instruction is stored in the instruction register 8 of the decode stage, a system control unit (not shown) that performs a setting operation for the address register 4 and the IC valid bit 5 is executed. When the data does not exist at all, the setting operation for the address register 4 and the IC valid bit 5 is performed.

【0069】図7は本実施例の動作説明図であり、以下
各図を参照して本実施例の動作について説明する。尚、
図7の例では、4つの短命令NOP1(2サイクル待
ち),FAD(浮動小数点加算命令),NOP2(1サ
イクル待ち),FDV(浮動少数点除算命令)から構成
される長命令が、タイミングt2に於いてデコードステ
ージの命令レジスタ8に落ちてきた場合の動作を示して
いる。
FIG. 7 is a diagram for explaining the operation of this embodiment. The operation of this embodiment will be described below with reference to the drawings. still,
In the example of FIG. 7, a long instruction including four short instructions NOP1 (waiting for two cycles), FAD (floating point addition instruction), NOP2 (waiting for one cycle), and FDV (floating point division instruction) has a timing t2. 2 shows the operation when the data falls into the instruction register 8 in the decode stage.

【0070】先ず、タイミングt1に於いて、目的の長
命令を命令キャッシュ1からデコードステージの命令レ
ジスタ8に移行させるために、アドレスレジスタ4にア
ドレスを設定すると共に、IC有効ビット5をセットす
る。そして、命令キャッシュ1に目的とする長命令が存
在する場合は、アンドゲート7からICヒット信号が出
力され、目的とする上記した4つの短命令がタイミング
t2に於いてデコードステージの命令レジスタのda〜
dd部分に移行する。
First, at a timing t1, an address is set in the address register 4 and an IC valid bit 5 is set in order to transfer a target long instruction from the instruction cache 1 to the instruction register 8 in the decode stage. If the target long instruction is present in the instruction cache 1, the AND hit 7 outputs an IC hit signal, and the target four short instructions are stored in the instruction register da of the decode stage at the timing t2. ~
Move to dd section.

【0071】アンドゲート7からICヒット信号が出力
されると、タイミングt2に於いて、各Vビット管理回
路15a〜15d内のフリップフロップFFがセットさ
れ、命令レジスタ8のda〜dd部分に対応するVビッ
トVda〜Vddが有効な短命令が存在することを示す
ものになる。
When the IC hit signal is output from the AND gate 7, the flip-flop FF in each of the V bit management circuits 15a to 15d is set at a timing t2, corresponding to the da to dd portions of the instruction register 8. The V bits Vda to Vdd indicate that a valid short instruction exists.

【0072】また、タイミングt2に於いて、デコード
ステージの命令レジスタ8のda〜dd部分に上記した
4つの短命令が移行してくると、デコーダ11a〜11
dは、それをデコードし、DEa〜DEd信号,NOP
a〜NOPd信号,Sa〜Sd信号を出力する。
At timing t2, when the above four short instructions are transferred to the da to dd portions of the instruction register 8 in the decode stage, the decoders 11a to 11d
d decodes it, and outputs the DEa to DEd signals, NOP
a to NOPd signals and Sa to Sd signals are output.

【0073】この時、組み合わせ回路14は、デコーダ
11aから出力されるDEa信号がNOP1命令である
ことを示しているので、DAHLD〜DDHLD信号の
内のDAHLD信号のみを“0”にすると共に、フリッ
プフロップ16a〜16dの内のフリップフロップ16
aのみをセット状態する。これにより、タイミングt3
に於いて、デコードステージの命令レジスタ8のda部
分に存在していたNOP1命令(2サイクル待ち)が発
行ステージの命令レジスタ9のisa部分に移行し、発
行される(ISSUEda信号が出力される)。
At this time, since the combination signal 14 indicates that the DEa signal output from the decoder 11a is a NOP1 instruction, only the DAHLD signal of the DAHLD to DDHLD signals is set to "0" and the flip-flop is set to "0". Flip-flop 16 of flip-flops 16a to 16d
Only a is set. Thereby, the timing t3
At this time, the NOP1 instruction (waiting for two cycles) existing in the da portion of the instruction register 8 in the decode stage shifts to the isa portion of the instruction register 9 in the issue stage and is issued (the ISSUEda signal is output). .

【0074】また、NOP1命令(2サイクル待ち)が
発行ステージに移行したタイミング(タイミングt3)
に於いて、組み合わせ回路13は、セレクタ17を制御
し、デコーダ11aから出力されるSa信号によって示
される待ちサイクル数(この場合は「2」)をNOP待
ちカウンタ12にプリセットする。
The timing at which the NOP1 instruction (waiting for two cycles) shifts to the issue stage (timing t3)
In this case, the combinational circuit 13 controls the selector 17 and presets the number of wait cycles (in this case, “2”) indicated by the Sa signal output from the decoder 11 a in the NOP wait counter 12.

【0075】タイミングt4に於いては、NOP待ちカ
ウンタ12のカウント値が「1」となる。
At the timing t4, the count value of the NOP wait counter 12 becomes "1".

【0076】タイミングt5に於いては、タイミングt
4に於いて、NOP待ちカウンタ12のカウント値が
「1」であったことから、組み合わせ回路14は、未だ
“1”となっているDBHLD〜DDHLD信号を
“0”にすると共に、未だリセット状態になっているフ
リップフロップ16b〜16dをセット状態にする。こ
れにより、デコードステージの命令レジスタ8のdb〜
dd部分に存在していた短命令FAD,NOP2(1サ
イクル待ち),FDVが発行ステージの命令レジスタ9
に移行し、発行される(ISSUEdb〜ISSUEd
d信号が出力される)。また、NOP2命令(1サイク
ル待ち)が発行ステージに移行したタイミング(タイミ
ングt5)に於いて、組み合わせ回路13は、セレクタ
17を制御し、デコーダ11cから出力されるSc信号
によって示される待ちサイクル数(この場合は「1」)
をNOP待ちカウンタ12にプリセットする。
At timing t5, at timing t5
In step 4, since the count value of the NOP wait counter 12 is "1", the combinational circuit 14 sets the DBHLD to DDHLD signals still "1" to "0" and resets the signals to the reset state. Are set to the set state. As a result, db〜 of the instruction register 8 in the decode stage
The short instruction FAD, NOP2 (waiting for one cycle), and the FDV that existed in the dd portion are stored in the instruction register 9 in the issue stage.
And issuance (ISSUEdb to ISSUEd)
d signal is output). At the timing (timing t5) when the NOP2 instruction (waiting for one cycle) shifts to the issue stage (timing t5), the combinational circuit 13 controls the selector 17 and sets the number of waiting cycles indicated by the Sc signal output from the decoder 11c ( "1" in this case)
Is preset in the NOP wait counter 12.

【0077】次に、図8を参照して「FAD S8←S
5,S4」,「FSB S9←S8,S4」,「FDV
S10←S9,S4」といったオペランド依存関係を
持った命令列を実行する場合について説明する。
Next, referring to FIG. 8, “FAD S8 ← S
5, S4 "," FSB S9 ← S8, S4 "," FDV
A case where an instruction sequence having an operand dependency such as “S10 ← S9, S4” will be described.

【0078】タイミングt1に於いて、(1−a)〜
(1−d)で示す4つの短命令FAD,NOP1(2サ
イクル待ち),FSB,NOP1(2サイクル待ち)が
命令キャッシュ1からデコードステージの命令レジスタ
8のda〜dd部分に移行する。
At timing t1, (1-a) to
The four short instructions FAD, NOP1 (waiting for two cycles), FSB, NOP1 (waiting for two cycles) indicated by (1-d) shift from the instruction cache 1 to the da to dd portions of the instruction register 8 in the decode stage.

【0079】次のタイミングt2に於いて、(1−
a),(1−b)で示す短命令FAD,NOP1が発行
ステージの命令レジスタ9のisa,isb部分に移行
する。(1−c),(1−d)で示す短命令FSB,N
OP1は、(1−b)のNOP1命令によってそれと同
時に発行ステージへ移行することが指示されていないの
で、デコードステージに止まる。また、(1−b)のN
OP1命令が発行ステージへ移行するタイミングt2に
於いて、それによって指示されている待ちサイクル数
「2」がNOP待ちカウンタ12にプリセットされる。
At the next timing t2, (1-
The short instructions FAD and NOP1 shown in (a) and (1-b) shift to the isa and isb portions of the instruction register 9 in the issue stage. Short instructions FSB, N indicated by (1-c) and (1-d)
OP1 stays in the decode stage because the NOP1 instruction of (1-b) does not indicate that it should shift to the issue stage at the same time. In addition, N of (1-b)
At timing t2 when the OP1 instruction shifts to the issue stage, the number of wait cycles “2” specified by the instruction is preset in the NOP wait counter 12.

【0080】タイミングt3に於いては、(1−a)の
短命令FADが実行され、NOP待ちカウンタ12のカ
ウント値が「1」にされる。
At timing t3, the short instruction FAD of (1-a) is executed, and the count value of the NOP wait counter 12 is set to "1".

【0081】タイミングt4に於いては、(1−c),
(1−d)示す短命令FSB,NOP1が発行ステージ
の命令レジスタ9のisc,isd部分に移行して発行
され、(1−d)に示すNOP1命令が発行ステージへ
移行することからNOP待ちカウンタ12に待ちサイク
ル数「2」がプリセットされる。また、タイミングt4
に於いては、(2−a)〜(2−d)で示す4つの短命
令FDV,SUB,FDV,FADから構成される長命
令がデコードステージの命令レジスタ8のda〜dd部
分に落ちてくる。これらの4つの短命令は、NOP待ち
カウンタ12のカウント値が「0」になったタイミング
t6に於いて、発行ステージの命令レジスタ9に移行す
る。
At the timing t4, (1-c),
Since the short instruction FSB, NOP1 shown in (1-d) shifts to the isc, isd portion of the instruction register 9 in the issue stage and is issued, the NOP wait counter is issued because the NOP1 instruction shown in (1-d) shifts to the issue stage. At 12, the number of waiting cycles “2” is preset. Also, at timing t4
In this case, a long instruction composed of four short instructions FDV, SUB, FDV, and FAD indicated by (2-a) to (2-d) falls into the da to dd portions of the instruction register 8 in the decode stage. come. These four short instructions shift to the instruction register 9 in the issue stage at the timing t6 when the count value of the NOP wait counter 12 becomes “0”.

【0082】図9は、特開平4−275603号公報に
開示されているNOP命令(その実行回数が付加されて
いるNOP命令)を用いて「FAD S8←S5,S
4」,「FSB S9←S8,S4」,「FDV S1
0←S9,S4」といったオペランド依存関係を持った
命令列を実行した場合を示している。
FIG. 9 shows an example in which “FAD S8 ← S5, SAD S8” is used by using a NOP instruction (a NOP instruction to which the number of executions is added) disclosed in Japanese Patent Laid-Open No. 4-275603.
4, "FSB S9 ← S8, S4", "FDV S1
This shows a case where an instruction sequence having an operand dependency such as “0 ← S9, S4” is executed.

【0083】タイミングt1に於いて、(1−a)〜
(1−d)で示す4つの短命令FAD,NOP命令(2
サイクル待ち),NOP命令(2サイクル待ち),NO
P命令(2サイクル待ち)がデコードステージの命令レ
ジスタ8のda〜dd部分に落ちてくる。
At timing t1, (1-a) to
Four short instructions FAD, NOP instruction (2
Cycle wait), NOP instruction (2 cycle wait), NO
The P instruction (waiting for two cycles) falls to the da to dd portion of the instruction register 8 in the decode stage.

【0084】次のタイミングt2に於いて、(1−a)
〜(1−d)で示す4つの短命令が発行ステージの命令
レジスタ9のisa〜isd部分に移行すると共に、
(2−a)〜(2−d)に示す4つの短命令FSB,N
OP命令(2サイクル待ち),NOP命令(2サイクル
待ち),NOP命令(2サイクル待ち)がデコードステ
ージのda〜dd部分に落ちてくる。また、タイミング
t2に於いて、NOP待ちカウンタ12に待ちサイクル
数「2」がプリセットされる。
At the next timing t2, (1-a)
-(1-d) are transferred to the isa-isd portion of the instruction register 9 in the issue stage,
Four short instructions FSB, N shown in (2-a) to (2-d)
The OP instruction (waiting for two cycles), the NOP instruction (waiting for two cycles), and the NOP instruction (waiting for two cycles) fall into the da to dd portion of the decode stage. At timing t2, the number of wait cycles “2” is preset in the NOP wait counter 12.

【0085】タイミングt3に於いては、NOP待ちカ
ウンタ12のカウント値が「1」であるので、デコード
ステージのda〜dd部分に存在する(2−a)〜(2
−d)で示す4つの短命令の発行ステージへの移行は延
期される。
At timing t3, since the count value of the NOP wait counter 12 is "1", it exists in the da-dd portion of the decode stage (2-a)-(2
The transition to the issue stage of the four short instructions indicated by -d) is postponed.

【0086】タイミングt4に於いては、(2−a)〜
(2−d)で示す4つの短命令が発行ステージのda〜
dd部分に移行すると共に、(3−a)〜(3−d)で
示す4つの短命令FDV,SUB,FDV,FADがデ
コードステージのda〜dd部分に落ちてくる。また、
タイミングt4に於いては、NOP待ちカウンタ12に
待ちサイクル数「2」がプリセットされる。
At timing t4, (2-a) to
The four short instructions indicated by (2-d) are da to
At the same time as shifting to the dd portion, the four short instructions FDV, SUB, FDV, and FAD shown in (3-a) to (3-d) fall to the da to dd portions of the decode stage. Also,
At the timing t4, the waiting cycle number “2” is preset in the NOP waiting counter 12.

【0087】タイミングt5に於いては、NOP待ちカ
ウンタ12のカウント値が「1」であるので、デコード
ステージのda〜dd部分に存在する(3−a)〜(3
−d)で示す4つの短命令の発行ステージへの移行は延
期される。
At timing t5, since the count value of the NOP wait counter 12 is "1", it exists in the da to dd portion of the decode stage (3-a) to (3).
The transition to the issue stage of the four short instructions indicated by -d) is postponed.

【0088】タイミングt6に於いては、NOP待ちカ
ウンタ12のカウント値が「0」となるので、デコード
ステージのda〜ddに存在する(3−a)〜(3−
d)で示す4つの短命令が発行ステージのisa〜is
d部分に移行し、発行される。
At timing t6, the count value of the NOP wait counter 12 becomes "0", and therefore exists in the decoding stages da to dd (3-a) to (3-a).
The four short instructions shown in d) are the isa-is of the issue stage.
It moves to d part and is issued.

【0089】図8と図9から分かるように、同じ演算処
理を行う場合、本発明では2個のNOP命令の挿入で済
むのに対し、従来技術では6個のNOP命令が必要にな
る。
As can be seen from FIGS. 8 and 9, when performing the same arithmetic processing, two NOP instructions need only be inserted in the present invention, whereas six NOP instructions are required in the prior art.

【0090】[0090]

【発明の効果】以上説明したように、本発明は、デコー
ドステージに同時に移行してきた複数の短命令の中に、
それと同時に発行ステージへ移行させる短命令の指定と
発行ステージへの移行を延期させるサイクル数とを含む
NOP命令が存在する場合、NOP命令及びNOP命令
によってそれと同時に発行ステージへ移行させることが
指示されている短命令を発行ステージへ移行させた後、
指定されたサイクル数が経過するまで、デコードステー
ジに存在する未移行の短命令の発行ステージへの移行を
延期させる組み合わせ回路を備えているので、命令パイ
プラインのスケジューリングのために挿入しなければな
らないNOP命令の数を従来技術に比較して少なくする
ことができる。その結果、命令フェッチのためのデータ
パスを効率良く使用することができ、且つプログラムの
実行形式ファイルの容量を少なくすることができる。
As described above, according to the present invention, among a plurality of short instructions which have simultaneously shifted to the decode stage,
At the same time, if there is a NOP instruction including designation of a short instruction to shift to the issue stage and the number of cycles to delay the shift to the issue stage, the NOP instruction and the NOP instruction instruct to shift to the issue stage at the same time. After moving the short instruction to the issue stage,
It has a combinational circuit that delays the transition of the unmigrated short instructions that are present in the decode stage to the issue stage until the specified number of cycles have elapsed, so they must be inserted for instruction pipeline scheduling The number of NOP instructions can be reduced as compared with the prior art. As a result, the data path for instruction fetch can be used efficiently, and the capacity of the executable file of the program can be reduced.

【0091】また、本発明は、デコードステージに同時
に移行してきた複数の短命令の中に、それらの短命令よ
り先行する全ての短命令が完結するまでそれらの発行を
延期させることを指示するアドバンスオフの指定を含む
NOP命令が存在する場合、デコードステージに移行し
てきた複数の短命令を前記発行ステージに移行させた
後、システムビジー信号がアクティブでなくなるまでの
間、前記発行ステージに移行させた各短命令の発行を延
期させる構成を有する組み合わせ回路を備えているの
で、先行する短命令が完結するまでの時間が分からない
場合であっても、命令パイプライン内に乱れが生じない
ようにすることができる。
[0091] Further, the present invention is in a plurality of short instructions has moved simultaneously decode stage, advanced all the short instructions preceding than those of the short instructions for instructing to defer issuing them to completion When there is a NOP instruction including OFF designation, after shifting the plurality of short instructions that have shifted to the decode stage to the issue stage, the shift is made to the issue stage until the system busy signal becomes inactive. Since a combinational circuit having a configuration to postpone the issuance of each short instruction is provided, even if the time until the preceding short instruction is completed is not known, no disturbance occurs in the instruction pipeline. be able to.

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

【図1】本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】本発明の実施例で使用するNOP命令のフォー
マットを示した図である。
FIG. 2 is a diagram showing a format of a NOP instruction used in an embodiment of the present invention.

【図3】NOP命令のフィールドAの機能を説明するた
めの図である。
FIG. 3 is a diagram for explaining a function of a field A of a NOP instruction;

【図4】NOP命令のフィールドBの機能を説明するた
めの図である。
FIG. 4 is a diagram for explaining a function of a field B of a NOP instruction.

【図5】NOP命令のフィールドBの機能を説明するた
めの図である。
FIG. 5 is a diagram for explaining a function of a field B of a NOP instruction.

【図6】命令パイプライン制御部10の構成例を示すブ
ロック図である。
FIG. 6 is a block diagram illustrating a configuration example of an instruction pipeline control unit 10;

【図7】本発明の実施例の動作を説明するタイムチャー
トである。
FIG. 7 is a time chart for explaining the operation of the embodiment of the present invention.

【図8】本実施例の効果を示すためのタイムチャートで
ある。
FIG. 8 is a time chart showing the effect of the present embodiment.

【図9】従来技術ではNOP命令数が多くなることを示
したタイムチャートである。
FIG. 9 is a time chart showing that the number of NOP instructions increases in the related art.

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

1…命令キャッシュ 2…アドレスアレイ 3…エントリ有効ビット 4…アドレスレジスタ 5…IC有効ビット 6…比較器 7…アンドゲート 8…デコードステージの命令レジスタ 9…発行ステージの命令レジスタ 10…命令パイプライン制御部 11a〜11d…デコーダ 12…NOP待ちカウンタ 13…組み合わせ回路 14…組み合わせ回路 15a〜15b…Vビット管理回路 16a〜16d…フリップフロップ 17…セレクタ 18…減算器 DESCRIPTION OF SYMBOLS 1 ... Instruction cache 2 ... Address array 3 ... Entry valid bit 4 ... Address register 5 ... IC valid bit 6 ... Comparator 7 ... AND gate 8 ... Decode stage instruction register 9 ... Issue stage instruction register 10 ... Instruction pipeline control Units 11a to 11d Decoder 12 NOP wait counter 13 Combination circuit 14 Combination circuit 15a to 15b V bit management circuit 16a to 16d Flip-flop 17 Selector 18 Subtractor

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 VLIW方式を採用した情報処理装置に
於いて、 デコードステージに同時に移行してきた複数の短命令
解読し、該複数の短命令の中に、それと同時に発行ステ
ージへ移行させる短命令の指定と前記発行ステージへの
移行を延期させるサイクル数とを含むNOP命令が存在
する場合、該NOP命令を示す情報と、該NOP命令と
同時に前記発行ステージへ移行させる短命令を示す情報
と、前記発行ステージへの移行を延期させるサイクル数
とを出力するデコーダと、 前記発行ステージに有効な命令が存在しなくなったタイ
ミングに於いて、前記デコーダから出力される情報によ
って示されるNOP命令と短命令とを前記発行ステージ
へ移行させ、前記デコーダから出力されるサイクル数が
経過したタイミングに於いて前記デコードステージに存
在する未移行の短命令を前記発行ステージへ移行させる
組み合わせ回路とを備えたことを特徴とする情報処理装
置。
1. An information processing apparatus employing a VLIW method.
Multiple short instructions that have simultaneously moved to the decode stageTo
Decrypting, and in the plurality of short instructions,At the same time,
Specify the short instruction to be transferred to the
There is a NOP instruction including the number of cycles to delay the transition
If you doInformation indicating the NOP instruction,
Information indicating a short instruction to shift to the issuing stage at the same time
And the number of cycles to delay the transition to the publishing stage
And a decoder for outputting  Thai no longer has a valid instruction in the issue stage
In the mining, According to information output from the decoder.
NOP instruction and short instructionThe issuing stage
ToOutput from the decoderThe number of cycles
In the decode stage,
Move existing unmigrated short instructions to the issue stage
Combinational circuit andInformation processing apparatus characterized by comprising
Place.
【請求項2】 前記デコーダは、 前記デコードステージに同時に移行してきた複数の短命
を解読し、該複数の短命令の中に、それらの短命令よ
り先行する全ての短命令が完結するまでそれらの発行を
延期させることを指示するアドバンスオフの指定を含む
NOP命令が存在する場合、前記デコードステージにア
ドバンスオフの指定を含むNOP命令が存在することを
示す情報を出力する構成を有し、 前記組み合わせ回路は、 前記デコーダから前記デコードステージにアドバンスオ
フの指定を含むNOP命令が存在することを示す情報が
出力されている場合、前記発行ステージに有効な命令が
存在しなくなったタイミングに於いて前記デコードステ
ージに存在する複数の短命令を 前記発行ステージに移行
させた後、システムビジー信号がアクティブでなくなる
までの間、前記発行ステージに移行させた各短命令の発
行を延期させる構成を備えたことを特徴とする請求項1
記載の情報処理装置。
(2)The decoder comprises:  Multiple short-lived shifts to the decode stage at the same time
CommandAnd among the plurality of short instructions,Those short orders
Until all preceding short orders have been completed.
Instruct to postponeIncluding advance off designation
If there is a NOP instruction,The decode stage
Confirm that there is a NOP instruction including designation of advanced
Having a configuration for outputting information indicating The combination circuit, Advance from the decoder to the decode stage
Information indicating that there is a NOP instruction containing
If it is output, a valid instruction is
At the timing when it no longer exists, the decoding
Multiple short instructions Move to the issuing stage
The system busy signal is no longer active
Until the issuance of each short instruction
2. The system according to claim 1, further comprising a configuration for postponing the line.
An information processing apparatus according to claim 1.
【請求項3】 行ステージへの移行を延期させるサイ
クル数を含むNOP命令が前記発行ステージへ移行した
タイミングに於いて前記NOP命令に含まれているサイ
クル数がプリセットされ、その後、1サイクル経過する
毎にサイクル数を−1するNOP待ちカウンタを備え
且つ、 前記組み合わせ回路は、 前記NOP待ちカウンタのカウ
ント値に基づいて、前記デコードステージに存在する未
移行の短命令の前記発行ステージへの移行延期を制御す
る構成を備えたことを特徴とする請求項1記載の情報処
理装置。
(3)DepartureTo postpone the transition to the row stage
NOP instruction including the number of vehicles has moved to the issue stage
The timing included in the NOP instruction
The number of vehicles is preset, then one cycle passes
Equipped with a NOP wait counter that decrements the number of cycles by one,
and, The combination circuit, Cow of the NOP wait counter
Based on the event value, the
Controls postponement of transition of the transition short instruction to the issue stage
2. The information processing apparatus according to claim 1, further comprising:
Equipment.
JP26132496A 1996-09-10 1996-09-10 Information processing device Expired - Fee Related JP2933030B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26132496A JP2933030B2 (en) 1996-09-10 1996-09-10 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26132496A JP2933030B2 (en) 1996-09-10 1996-09-10 Information processing device

Publications (2)

Publication Number Publication Date
JPH1091438A JPH1091438A (en) 1998-04-10
JP2933030B2 true JP2933030B2 (en) 1999-08-09

Family

ID=17360235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26132496A Expired - Fee Related JP2933030B2 (en) 1996-09-10 1996-09-10 Information processing device

Country Status (1)

Country Link
JP (1) JP2933030B2 (en)

Also Published As

Publication number Publication date
JPH1091438A (en) 1998-04-10

Similar Documents

Publication Publication Date Title
EP1050808B1 (en) Computer instruction scheduling
US5941983A (en) Out-of-order execution using encoded dependencies between instructions in queues to determine stall values that control issurance of instructions from the queues
US6185668B1 (en) Method and apparatus for speculative execution of instructions
US5996064A (en) Method and apparatus for guaranteeing minimum variable schedule distance by using post-ready latency
US6907517B2 (en) Interprocessor register succession method and device therefor
KR100745904B1 (en) a method and circuit for modifying pipeline length in a simultaneous multithread processor
JPH07160501A (en) Data processing system
EP1145114A1 (en) A computer processor having a replay unit
US12223327B2 (en) CPUs with capture queues to save and restore intermediate results and out-of-order results
US7779240B2 (en) System and method for reducing power consumption in a data processor having a clustered architecture
US7260707B2 (en) Variable length instruction pipeline
EP0745241B1 (en) Exception recovery in a data processing system
EP1886216B1 (en) Controlling out of order execution pipelines using skew parameters
EP0378415A2 (en) Multiple instruction dispatch mechanism
US20060259741A1 (en) Controlling out of order execution pipelines issue tagging
US5835746A (en) Method and apparatus for fetching and issuing dual-word or multiple instructions in a data processing system
US5634136A (en) Data processor and method of controlling the same
JP3311381B2 (en) Instruction scheduling method in compiler
EP1221648B1 (en) Bypass circuitry for use in a pipelined processor
JP2933030B2 (en) Information processing device
US7111152B1 (en) Computer system that operates in VLIW and superscalar modes and has selectable dependency control
US6769057B2 (en) System and method for determining operand access to data
EP1220088A2 (en) Circuit and method for supporting misaligned accesses in the presence of speculative load instructions
JPH0769825B2 (en) Parallel processor
JP3199035B2 (en) Processor and execution control method thereof

Legal Events

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

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 10

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20100528

LAPS Cancellation because of no payment of annual fees