JPH0784781A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0784781A
JPH0784781A JP22629193A JP22629193A JPH0784781A JP H0784781 A JPH0784781 A JP H0784781A JP 22629193 A JP22629193 A JP 22629193A JP 22629193 A JP22629193 A JP 22629193A JP H0784781 A JPH0784781 A JP H0784781A
Authority
JP
Japan
Prior art keywords
instruction
aligner
address
nop
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP22629193A
Other languages
Japanese (ja)
Inventor
Keisuke Shindo
啓介 進藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP22629193A priority Critical patent/JPH0784781A/en
Publication of JPH0784781A publication Critical patent/JPH0784781A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To prevent an NOP instruction exclusive for aligning for preventing the execution start of an instruction from being delayed by the misaligning of the instructions of a branching destination immediately after a branching operation from delaying operations other than the branching operation in a microprocessor provided with variable length instructions. CONSTITUTION:For the output of an instruction aligner 103 for aligning the data of an instruction memory 101 inputted to the microprocessor 102, a part of the instruction to be executed next is separately outputted and whether or not it is the NOP instruction is detected by an NOP detector 10-7 parallelly to normal instruction decoding. At the time of the NOP instruction, the instruction aligner 103 and an address generator 104 connected to the instruction memory 101 are controlled so as to input the next instruction to an instruction decoder 105 further. Thus, the read of the NOP instruction inserted for aligning the instructions of the branching destination can be skipped.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は情報処理装置に係わり、
特に可変長命令の実行時に実行不要な命令を読み飛ばす
機能を有する情報処理装置に関する。
The present invention relates to an information processing device,
In particular, the present invention relates to an information processing device having a function of skipping an instruction that is not required to be executed when a variable length instruction is executed.

【0002】[0002]

【従来の技術】従来のマイクロプロセッサにおいては、
命令を実行する際に、その命令語長が命令の種類によっ
てそれぞれ異なり(可変長命令)、かつ命令実行の最小
アドレス単位の幅が命令のフェッチ幅より小いさい場合
には、アドレスの先頭を整列する命令アライナ(以下、
単にアライナと称す)と呼ばれる特殊なハードウェアが
必要となっている。マイクロプロセッサが有するこの種
のアライナについては、日本電気会社編、1991年発
行のユーザーズ・マニュアル「V60,V70、32/
16ビット・マイクロプロセッサ」、アーキテクチャ
編、第463頁に記載されているとおり、このマイクロ
プロセッサ16ビットのデータ・バス幅を有しているの
で、データが16ビット以上の場合、そのデータが整列
しているか否かは性能に大きく影響し、特にメモリ・ア
クセスがパイプライン動作の待ちをつくる原因となる。
そのため性能のよいソフトウェア開発のためにはできる
かぎりデータが整列しているのがよい、としている。
2. Description of the Related Art In a conventional microprocessor,
When executing an instruction, if the instruction word length differs depending on the type of instruction (variable length instruction) and the width of the minimum address unit for instruction execution is smaller than the fetch width of the instruction, the beginning of the address Instruction aligner to align (hereinafter,
Just called the aligner)) requires special hardware called. This kind of aligner that a microprocessor has is described in the user manual "V60, V70, 32 /
16-bit microprocessor ", architecture edition, page 463, this microprocessor has a data bus width of 16 bits, so when the data is 16 bits or more, the data is aligned. Whether or not there is a significant impact on performance, especially memory accesses can cause waiting for pipeline operations.
Therefore, it is said that data should be aligned as much as possible for high-performance software development.

【0003】この刊行物では図示されてないが、このア
ライナを含むマイクロプロセッサの主要部をブロック図
で示した図2を参照すると、外部にメモリ201が接続
されるマイクロプロセッサ202は、命令実行の最小ア
ドレス単位の幅が命令のフェッチ幅よりも小さいとき
に、その命令のアドレスをその命令フェッチ幅の先頭に
そろえるデータ整列を実行して出力するアライナ203
と、命令メモリ201に実行アドレスを指定するアドレ
ス発生器204と、整列されたアライナ出力を解読する
命令デコーダ205と、命令デコーダ205へ供給する
次の命令を決定する制御部206とを備える。メモリ2
01から16ビットの上位データがアライナ203の選
択回路210aに一方は直接に、他方はバッファ208
を介してそれぞれ供給され、選択回路210aの出力は
選択回路210bおよび210dにそれぞれ供給されて
いる。
Although not shown in this publication, referring to FIG. 2 which is a block diagram showing a main part of a microprocessor including this aligner, a microprocessor 202 to which a memory 201 is connected externally is used for executing instructions. When the width of the minimum address unit is smaller than the fetch width of the instruction, the aligner 203 which executes and aligns the data of the address of the instruction with the head of the fetch width of the instruction and outputs the aligned data.
An address generator 204 for designating an execution address in the instruction memory 201, an instruction decoder 205 for decoding the aligned aligner output, and a control unit 206 for determining the next instruction to be supplied to the instruction decoder 205. Memory 2
The upper 16-bit data from 01 to the selector circuit 210a of the aligner 203 is directly connected to one side and the buffer 208 is connected to the other side.
And the output of the selection circuit 210a is supplied to the selection circuits 210b and 210d, respectively.

【0004】同様に16ビットの下位データもアライナ
203の選択回路210cに一方は直接に、他方はバッ
ファ209を介してそれぞれ供給され、選択回路210
cの出力は選択回路210dに供給され、かつバッファ
207を介して210bにも供給されている。選択回路
210bよび210dの各出力は命令デコーダ205に
供給され、解読された制御信号のうち所定の制御信号が
制御部206に供給される。その制御信号に応答して制
御出力がアライナ203およびアドレス発生器204に
それぞれ供給され、アドレス発生器204の出力はメモ
リ201に供給されるように構成されている。
Similarly, the lower 16-bit data is also supplied to the selection circuit 210c of the aligner 203, one directly and the other through the buffer 209, and the selection circuit 210c.
The output of c is supplied to the selection circuit 210d and also to 210b via the buffer 207. The outputs of the selection circuits 210b and 210d are supplied to the instruction decoder 205, and a predetermined control signal among the decoded control signals is supplied to the control unit 206. The control output is supplied to the aligner 203 and the address generator 204 in response to the control signal, and the output of the address generator 204 is supplied to the memory 201.

【0005】再び図2を参照すると、この図に示したマ
イクロプロセッサ202は、命令フェッチ幅は32ビッ
トで、命令アドレスの下位2ビットは固定とする。そし
て、命令幅は16ビット、32ビットの2通りがあるも
のとする。命令メモリ201から読み出された命令は、
命令アライナ203に供給される。この命令のビット長
は、命令メモリの節約のために可変となっているため、
読み込んだ命令は、上位の16ビットだけで一つの命令
となる可能性があり、このとき、下位の16ビットは次
の命令としてバッファ207に蓄えられて次の上位16
ビットの命令となる。そして、命令メモリ201から次
にフェッチするデータの上位16ビットはその次に読み
込む命令の下位ビットとなる。
Referring again to FIG. 2, in the microprocessor 202 shown in this figure, the instruction fetch width is 32 bits, and the lower 2 bits of the instruction address are fixed. It is assumed that there are two instruction widths, 16 bits and 32 bits. The instruction read from the instruction memory 201 is
It is supplied to the instruction aligner 203. The bit length of this instruction is variable to save instruction memory,
The read instruction may be a single instruction with only the upper 16 bits. At this time, the lower 16 bits are stored in the buffer 207 as the next instruction and the next upper 16 bits are stored.
Bit instructions. Then, the upper 16 bits of the data fetched next from the instruction memory 201 become the lower bits of the instruction read next.

【0006】このように、可変長命令は、16ビットと
32ビットの命令の両方が自由に混在することを許すた
め、1つの命令がフェッチできるアドレス幅の境界にま
たがって存在することがあり(ミスアライン)、一回の
命令フェッチでは命令の一部のみしか取り込めずに、命
令実行が始まらないことがある。特にこれが分岐命令の
飛び先である場合は、2回の命令フェッチを終えるまで
最初の命令の実行が出来ないことになる。
As described above, the variable-length instruction allows both 16-bit and 32-bit instructions to freely coexist, and thus may exist over the boundary of the address width in which one instruction can be fetched ( Misalignment), a single instruction fetch may only fetch part of the instruction, and instruction execution may not start. Especially when this is the jump destination of the branch instruction, the first instruction cannot be executed until the instruction fetches twice are completed.

【0007】ミスアラインを起こすマイクロプロセッサ
の命令の配置の例を示した図3を参照すると、0022
番地への分岐で32ビット長の命令MOV313が最初
に実行されるが、この命令は、命令フェッチ302と命
令フェッチ303の両方にまたがっているため、両方の
命令フェッチが終了するまで実行を始められない。
Referring to FIG. 3, which illustrates an example of a microprocessor instruction placement that causes a misalignment,
The 32-bit length instruction MOV313 is first executed at the branch to the address, but since this instruction spans both the instruction fetch 302 and the instruction fetch 303, execution can be started until both instruction fetches are completed. Absent.

【0008】分岐命令で分岐をする部分は、プログラム
の中のループの一部であることが多いため、全体の速度
向上のためには他の部分をある程度犠牲にして速度向上
を計る必要がある。そのため、分岐先の命令のアドレス
を命令フェッチ幅の先頭に合わせる。そのために、中空
となった命令メモリ201にノーオペレーション(NO
P)命令などの動作に直接影響の無い命令を入れる。よ
って、ミスアラインアクセスを起こす分岐の飛び先の前
にNOP命令を挿入し、ループ内の実行速度を高速化さ
せる。
Since the part branched by the branch instruction is often a part of the loop in the program, it is necessary to sacrifice some other parts to improve the speed in order to improve the overall speed. . Therefore, the address of the branch destination instruction is aligned with the beginning of the instruction fetch width. Therefore, no operation (NO
P) Insert an instruction that does not directly affect the operation. Therefore, the NOP instruction is inserted before the jump destination of the branch that causes the misaligned access, and the execution speed in the loop is increased.

【0009】ミスアラインアクセス防止用のNOPを挿
入した命令の配置の例を示した図4を参照すると、NO
P命令413の挿入により、命令MOV414はアライ
ンされる。MOV命令414への分岐の際は、命令フェ
ッチ403の直後に命令の実行を開始できる。
Referring to FIG. 4, which shows an example of the arrangement of instructions in which a NOP for preventing misaligned access is inserted, NO
By inserting the P instruction 413, the instruction MOV 414 is aligned. When branching to the MOV instruction 414, instruction execution can be started immediately after the instruction fetch 403.

【0010】このNOP命令を入れる操作は、全体的な
性能の向上のためにコンパイラが自動的に行なうか、プ
ログラマが意図して行なう必要があり、その定量的効果
を以下に示すと、NOP命令を挿入したことにより、分
岐先の実行時間は、 (分岐の生起確率)×(ミスアラインの確率)×(命令
フェッチ一回分) だけ短縮される。特に分岐の生起確率はループなどの効
果で大きい。ここで、NOP命令の挿入のペナルティー
を考えると、NOP命令の挿入により一命令の実行時間
が加算される。これは、 (分岐先を通る確率)×(ミスアラインの確率)×(N
OP命令の実行時間) だけの時間の増加となる。
The operation of inserting this NOP instruction must be automatically performed by the compiler or intentionally by the programmer in order to improve the overall performance. The quantitative effect will be shown below. By inserting, the execution time at the branch destination is shortened by (branch occurrence probability) × (misalignment probability) × (one instruction fetch). In particular, the occurrence probability of branching is large due to the effect of loops and the like. Here, considering the penalty of inserting the NOP instruction, the execution time of one instruction is added by the insertion of the NOP instruction. This is (probability of passing the branch destination) × (probability of misalignment) × (N
(Execution time of OP instruction).

【0011】また、NOP命令はフェッチ幅の半分なの
で、全体の命令フェッチの回数も0.5回分増えること
になる。しかし、分岐命令など、フェッチした命令の残
りの半分を実行せず捨ててしまう様な命令が実行されれ
ば、フェッチ数の増加はなくなる。よって、そのフェッ
チが無効になる確率より、 (分岐先を通る確率)×(ミスアラインの確率)×(分
岐命令がフェッチした命令を全て使用する確率)×(一
回のフェッチ時間) だけ時間の増加となる。統計的には、 (1)分岐の生起確率:0.1/1クロック (2)分岐先の命令のミスアラインの確率:0.5 (3)命令フェッチ一回:2クロック (4)分岐先の通過の確率:0.05/1クロック (5)分岐命令がフェッチした命令を全て使用する確
率:0.5 として、0.1CPI−0.025CPI−0.025
CPI=0.05CPIとなる。
Since the NOP instruction is half the fetch width, the total number of instruction fetches is increased by 0.5 times. However, if an instruction such as a branch instruction that discards the other half of the fetched instruction without executing the instruction is executed, the number of fetches will not increase. Therefore, from the probability that the fetch will be invalid, the time will increase by (probability of passing through the branch destination) × (probability of misalignment) × (probability of using all fetched instructions by branch instruction) × (one fetch time) Becomes Statistically, (1) branch occurrence probability: 0.1 / 1 clock (2) branch destination instruction misalignment probability: 0.5 (3) one instruction fetch: 2 clocks (4) branch destination Probability of passage: 0.05 / 1 clock (5) Probability of using all fetched instructions by branch instructions: 0.1 CPI-0.025 CPI-0.025
CPI = 0.05 CPI.

【0012】ここでCPI(cycle per in
struction)は1命令あたりのクロック数を示
す。
Here, CPI (cycle per in
"Structure) indicates the number of clocks per instruction.

【0013】[0013]

【発明が解決しようとする課題】NOP命令を挿入する
ことにより分岐先の命令は常にアラインされることにな
り、ループなどの動作の高速化を図ることが出来る。し
かし、分岐のレベルが深くなると逐次的に分岐先にたど
りついた場合、NOP命令の実行により実際の動作には
関係のない時間の遅れが生じるという欠点を有する。
By inserting the NOP instruction, the instruction at the branch destination is always aligned, and the operation speed of a loop or the like can be increased. However, when the branch level becomes deeper, if the branch destinations are sequentially reached, the NOP instruction execution causes a time delay unrelated to the actual operation.

【0014】本発明の目的は、上述の欠点に鑑みなされ
たものであり、可変長命令をもつマイクロプロセッサに
おいて、分岐命令の直後に、分岐先のミスアライン処理
による命令の実行開始の遅れを防ぐためのミスアライン
処理専用のNOP命令が、分岐動作以外の動作を遅らせ
るのを防止することにある。
The object of the present invention was made in view of the above-mentioned drawbacks, and in a microprocessor having a variable length instruction, in order to prevent a delay in instruction execution start due to misalignment processing of a branch destination immediately after a branch instruction. The purpose of this is to prevent the NOP instruction dedicated to the misalignment processing of (1) from delaying operations other than branch operations.

【0015】[0015]

【課題を解決するための手段】本発明の情報処理装置
は、命令の実行時にその命令が可変長命令で、かつ命令
実行の最小アドレス単位の幅が前記命令のフェッチ幅よ
りも小いさいときに、その命令のアドレスをその命令フ
ェッチ幅の先頭にそろえるデータ整列を実行して出力す
る命令アライナと前記整列された命令アライナ出力を解
読する命令デコーダと前記命令デコーダの出力信号に応
答して前記命令デコーダへ供給するための次の命令を決
定する制御部と命令メモリと前記命令メモリに実行アド
レスを指定するアドレス発生器とを備えた情報処理装置
において、前記データ整列された一方の命令アライナ出
力の他に次に実行すべき命令を出力する他方の命令アラ
イナ出力の手段と、前記他方の命令アライナ出力に応答
してNOP命令の実行を禁止する命令アドレス制御手段
とを備えることを特徴とする。
According to the information processing apparatus of the present invention, when an instruction is a variable length instruction when the instruction is executed, and the width of the minimum address unit for executing the instruction is smaller than the fetch width of the instruction. , An instruction aligner that performs data alignment by aligning the address of the instruction with the head of the instruction fetch width and outputs the instruction, an instruction decoder that decodes the aligned instruction aligner output, and the instruction decoder in response to the output signal of the instruction decoder. In an information processing apparatus including a control unit that determines a next instruction to be supplied to an instruction decoder, an instruction memory, and an address generator that specifies an execution address in the instruction memory, one of the data-aligned instruction aligner outputs In addition to the other instruction aligner output means for outputting the instruction to be executed next, and the NOP instruction execution in response to the other instruction aligner output. Characterized in that it comprises an instruction address controlling means for inhibiting.

【0016】また、前記他方の命令アライナ出力の手段
は、前記命令アライナから前記命令デコーダに供給され
る命令のうち下位データの情報のみが分離出力されるよ
うに構成され、前記命令アドレス制御手段は、前記分離
出力された下位データの情報から前記NOP命令か否か
を判定するNOP検出器を備え、その検出結果が前記N
OP命令ならば前記制御部が前記命令アライナを制御す
ることによって、次に、実行すべき命令が前記データ整
列を実行されることなく前記命令デコーダに供給される
ように構成されることを特徴とする。
Further, the other instruction aligner output means is configured such that only the lower data of the instructions supplied from the instruction aligner to the instruction decoder is separated and output, and the instruction address control means is provided. , A NOP detector for determining whether or not the NOP instruction is received from the information of the separated and output lower data, and the detection result is the NP
If it is an OP instruction, the control unit controls the instruction aligner so that an instruction to be executed next is supplied to the instruction decoder without executing the data alignment. To do.

【0017】[0017]

【実施例】次に、本発明の実施例について図面を参照し
ながら説明する。
Embodiments of the present invention will now be described with reference to the drawings.

【0018】図1は本発明の第1の実施例によるマイク
ロプロセッサを用いた回路のブロック図である。図1を
参照すると、このマイクロプロセッサ102は、図2で
示した従来のマイクロプロセッサ201の回路に、アラ
イナ103から命令デコーダ105に供給される命令の
うち下位データの情報のみが分離出力され、この分離出
力された下位データの情報からNOP命令か否かを判定
するNOP検出器107をさらに加えた構成を備え、そ
の検出結果がNOP命令ならば制御部106がアライナ
103を制御することによって、次に実行すべき命令が
データ整列を実行されることなく命令デコーダ105に
供給されるように構成したことが従来例と異なる。それ
以外の構成要素は従来例と同一であり、構成要素に付し
た符号101〜106と201〜206、および108
〜112と208〜212がそれぞれ対応するので、そ
の他の構成の説明は省略する。
FIG. 1 is a block diagram of a circuit using a microprocessor according to a first embodiment of the present invention. Referring to FIG. 1, the microprocessor 102 separates and outputs only the lower-order data information of the instruction supplied from the aligner 103 to the instruction decoder 105 to the circuit of the conventional microprocessor 201 shown in FIG. If the detection result is a NOP instruction, the control unit 106 controls the aligner 103 so that the NOP detector 107 that determines whether or not the NOP instruction is output based on the information of the separately output lower data is used. This is different from the conventional example in that the instruction to be executed is supplied to the instruction decoder 105 without being subjected to data alignment. The other constituent elements are the same as those of the conventional example, and the reference numerals 101 to 106, 201 to 206, and 108 given to the constituent elements.
To 112 and 208 to 212 correspond to each other, the description of other configurations will be omitted.

【0019】再び図1を参照すると、このマイクロプロ
セッサは一度に一命令のみをアドレス順に、上位アドレ
スから下位アドレスの順に実行していくものとする。
Referring again to FIG. 1, it is assumed that this microprocessor executes only one instruction at a time, in the order of address, from higher address to lower address.

【0020】命令メモリ101は、アドレス発生器10
4の発生したアドレスに従い、命令をCPU102に出
力する。この状態では命令は混在して存在する。次に、
命令アライナ103は命令をアラインして、一命令分を
命令デコーダ105に供給する。
The instruction memory 101 includes an address generator 10
The instruction is output to the CPU 102 according to the generated address. In this state, instructions are mixed. next,
The instruction aligner 103 aligns the instructions and supplies one instruction to the instruction decoder 105.

【0021】命令デコーダ105は、命令を解釈すると
同時に、命令のビット数を判定する。制御部106は、
アドレス発生器104とアライナ103を制御すること
により、次に命令デコーダ105に渡す命令を決定す
る。
The instruction decoder 105 interprets the instruction and simultaneously determines the number of bits of the instruction. The control unit 106
By controlling the address generator 104 and the aligner 103, the next instruction to be passed to the instruction decoder 105 is determined.

【0022】以下に、アライナ103によって命令がど
の様にアラインされるかを示す。 (1)アライン済みの32ビット長の1命令がフェッチ
された場合は、次の命令フェッチを行ない、通常どおり
に実行する。 (2)フェッチされたデータの上位に、アライン済みの
16ビット長の命令がある場合は、下位の命令の実行
は、下位の命令が32ビット長の可能性があるなめ次の
命令フェッチ後に行なわれる。 (3)上位アドレスに前の32ビット長の命令の半分が
残っていた場合も(ミスアライン)、同様に下位の命令
の実行は次の命令フェッチ後に行なわれる。
The following shows how instructions are aligned by the aligner 103. (1) When one aligned 32-bit instruction is fetched, the next instruction is fetched and executed as usual. (2) If there is an aligned 16-bit length instruction in the higher order of the fetched data, the lower order instruction is executed after the next instruction fetch because the lower order instruction may have a 32-bit length. Be done. (3) When half of the previous 32-bit instruction remains in the upper address (misalign), the lower instruction is executed after the next instruction fetch.

【0023】以上の3つの内、2番目および3番目のケ
ース、つまり上位データのみが有効なフェッチが行なわ
れた時のことを考える。
Consider the second and third cases of the above three cases, that is, the case where only the upper data is fetched effectively.

【0024】このとき、フェッチされた下位データは、
次に来るべき命令の上位になる。この下位データは、命
令デコーダ105と並列にNOP検出器107に渡さ
れ、NOP命令であるかどうかを検出する。NOP命令
は16ビット長なので、この時点で検出が可能である。
At this time, the lower data fetched is
Higher in the order to come next. This lower data is passed to the NOP detector 107 in parallel with the instruction decoder 105 and detects whether it is a NOP instruction. Since the NOP instruction is 16 bits long, it can be detected at this point.

【0025】NOPを検出した場合は、制御部は次の命
令メモリ101からのフェッチデータを直接命令デコー
ダ105に渡す。この動作により、バッファ110dに
入って次に実行されるはずのNOP命令は無視すること
ができる。
When NOP is detected, the control section directly passes the fetch data from the next instruction memory 101 to the instruction decoder 105. By this operation, the NOP instruction that enters the buffer 110d and is to be executed next can be ignored.

【0026】再びアラインの為のNOPを挿入した命令
の配置を示した図3を参照すると、分岐先アラインの効
果は、分岐に対しては回路の変更無しに、命令の配置を
変えるたけで出すことができる。しかし、アラインのた
めに挿入したNOP命令313は、そのままでは逐次的
に分岐先命令に近付いて行く時には一命令の実行時間が
加算されるが、この場合は本発明により実行時間を低減
できる。
Referring again to FIG. 3 showing the arrangement of instructions with NOPs inserted for aligning again, the effect of branch destination aligning is obtained by simply changing the instruction arrangement without changing the circuit for branching. be able to. However, the NOP instruction 313 inserted for alignment is added as it is to the execution time of one instruction when approaching the branch destination instruction sequentially, but in this case the execution time can be reduced by the present invention.

【0027】[0027]

【発明の効果】以上説明したように、本発明によれば命
令を逐次的に動作させた時のNOP命令はNOP検出器
により無効となる。したがってNOP命令の読み取ばし
によるNOP命令のペナルティは、 (分岐先を通る確率)×(ミスアラインの確率)×(N
OP命令の実行時間) だけ短縮される。よって従来例より更に0.025CP
Iの実行時間短縮を達成できる。
As described above, according to the present invention, the NOP instruction when the instructions are sequentially operated is invalidated by the NOP detector. Therefore, the penalty of the NOP instruction due to the reading of the NOP instruction is (probability of passing the branch destination) × (probability of misalignment) × (N
The execution time of the OP instruction) is shortened. Therefore, 0.025 CP more than the conventional example
The execution time of I can be shortened.

【0028】さらに、NOP検出器の回路規模は、単な
るNOP命令の命令コードとの一致比較であるため、1
6ビットデコードでは10〜20ゲートもあれば充分で
ある。しかも、他のユニットの動作と並列に動作するた
め、回路的な速度ペナルティーが極めて少ない。
Further, since the circuit scale of the NOP detector is merely a coincidence comparison with the instruction code of the NOP instruction, 1
For 6-bit decoding, 10 to 20 gates are enough. Moreover, since it operates in parallel with the operation of other units, the circuit speed penalty is extremely small.

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

【図1】本発明の一実施例のマイクロプロセッサを用い
た回路のブロック図である。
FIG. 1 is a block diagram of a circuit using a microprocessor according to an embodiment of the present invention.

【図2】従来例のマイクロプロセッサのブロック図であ
る。
FIG. 2 is a block diagram of a conventional microprocessor.

【図3】従来例および本発明における命令の配置の一例
を示す図である。
FIG. 3 is a diagram showing an example of instruction placement in a conventional example and the present invention.

【図4】従来例の命令の配置の一例を示す図である。FIG. 4 is a diagram showing an example of a conventional instruction arrangement.

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

101,201 命令メモリ 102,202 マイクロプロセッサ 103,203 命令アライナ 104,204 アドレス発生器 105,205 命令デコーダ 106,206 制御部 107 NOP検出器 101, 201 instruction memory 102, 202 microprocessor 103, 203 instruction aligner 104, 204 address generator 105, 205 instruction decoder 106, 206 control unit 107 NOP detector

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 命令の実行時にその命令が可変長命令
で、かつ命令実行の最小アドレス単位の幅が前記命令の
フェッチ幅よりも小さいときに、その命令のアドレスを
その命令フェッチ幅の先頭にそろえるデータ整列を実行
して出力する命令アライナと前記整列された命令アライ
ナ出力を解読する命令デコーダと前記命令デコーダの出
力信号に応答して前記命令デコーダへ供給するための次
の命令を決定する制御部と命令メモリと前記命令メモリ
に実行アドレスを指定するアドレス発生器とを備えた情
報処理装置において、前記データ整列された一方の命令
アライナ出力の他に次に実行すべき命令を出力する他方
の命令アライナ出力の手段と、前記他方の命令アライナ
出力に応答してノーオペレーション命令の実行を禁止す
る命令アドレス制御手段とを備えることを特徴とする情
報処理装置。
1. When an instruction is a variable length instruction at the time of executing the instruction and the width of the minimum address unit of the instruction execution is smaller than the fetch width of the instruction, the address of the instruction is set to the head of the instruction fetch width. An instruction aligner for performing and outputting aligned data alignment, an instruction decoder for decoding the aligned instruction aligner output, and a control for determining a next instruction to be supplied to the instruction decoder in response to an output signal of the instruction decoder. In an information processing apparatus including a copy section, an instruction memory, and an address generator for designating an execution address in the instruction memory, in addition to the one data-aligned instruction aligner output, the other one for outputting an instruction to be executed next Instruction aligner output means and instruction address control means for prohibiting execution of a no-operation instruction in response to the other instruction aligner output An information processing apparatus comprising: a step.
【請求項2】 前記他方の命令アライナ出力の手段は、
前記命令アライナから前記命令デコーダに供給される命
令のうち下位データの情報のみが分離出力されるように
構成され、前記命令アドレス制御手段は、前記分離出力
された下位データの情報から前記ノーオペレーション命
令か否かを判定するノーオペレーション検出器を備え、
その検出結果が前記ノーオペレーション命令ならば前記
制御部が前記命令アライナを制御することによって、次
に実行すべき命令が前記データ整列を実行されることな
く前記命令デコーダに供給されるように構成されること
を特徴とする請求項1記載の情報処理装置。
2. The means for outputting the other instruction aligner comprises:
Of the instructions supplied from the instruction aligner to the instruction decoder, only the lower-order data information is separated and output, and the instruction address control means includes the no-operation instruction from the separately-outputted lower-order data information. Equipped with a no-operation detector that determines whether or not
If the detection result is the no-operation instruction, the control unit controls the instruction aligner so that the next instruction to be executed is supplied to the instruction decoder without executing the data alignment. The information processing apparatus according to claim 1, wherein:
JP22629193A 1993-09-13 1993-09-13 Information processor Pending JPH0784781A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22629193A JPH0784781A (en) 1993-09-13 1993-09-13 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22629193A JPH0784781A (en) 1993-09-13 1993-09-13 Information processor

Publications (1)

Publication Number Publication Date
JPH0784781A true JPH0784781A (en) 1995-03-31

Family

ID=16842916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22629193A Pending JPH0784781A (en) 1993-09-13 1993-09-13 Information processor

Country Status (1)

Country Link
JP (1) JPH0784781A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366876B1 (en) 2000-10-31 2008-04-29 Analog Devices, Inc. Efficient emulation instruction dispatch based on instruction width
US7927291B2 (en) 2002-12-30 2011-04-19 Roche Diagnostics Operations, Inc. Blood acquisition suspension system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5031779A (en) * 1973-07-23 1975-03-28
JPS592148A (en) * 1982-06-28 1984-01-07 Fujitsu Ltd Loop processing system
JPS61285542A (en) * 1985-06-12 1986-12-16 Mitsubishi Electric Corp Instruction prefetching method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5031779A (en) * 1973-07-23 1975-03-28
JPS592148A (en) * 1982-06-28 1984-01-07 Fujitsu Ltd Loop processing system
JPS61285542A (en) * 1985-06-12 1986-12-16 Mitsubishi Electric Corp Instruction prefetching method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366876B1 (en) 2000-10-31 2008-04-29 Analog Devices, Inc. Efficient emulation instruction dispatch based on instruction width
US7927291B2 (en) 2002-12-30 2011-04-19 Roche Diagnostics Operations, Inc. Blood acquisition suspension system

Similar Documents

Publication Publication Date Title
US7260707B2 (en) Variable length instruction pipeline
US7707390B2 (en) Instruction issue control within a multi-threaded in-order superscalar processor
EP1050808B1 (en) Computer instruction scheduling
US20010005882A1 (en) Circuit and method for initiating exception routines using implicit exception checking
EP1886216B1 (en) Controlling out of order execution pipelines using skew parameters
US7454598B2 (en) Controlling out of order execution pipelines issue tagging
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
US6189093B1 (en) System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
US20240036876A1 (en) Pipeline protection for cpus with save and restore of intermediate results
US11029997B2 (en) Entering protected pipeline mode without annulling pending instructions
US20070079076A1 (en) Data processing apparatus and data processing method for performing pipeline processing based on RISC architecture
US7213132B2 (en) System and method for providing predicate data to multiple pipeline stages
US6742110B2 (en) Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution
US7234043B2 (en) Decoding predication instructions within a superscaler data processing system
JPH0784781A (en) Information processor
US6401195B1 (en) Method and apparatus for replacing data in an operand latch of a pipeline stage in a processor during a stall
US6976049B2 (en) Method and apparatus for implementing single/dual packed multi-way addition instructions having accumulation options
EP0992893B1 (en) Verifying instruction parallelism
JP3199035B2 (en) Processor and execution control method thereof
JPH0793151A (en) Instruction supplying device
JP3475861B2 (en) Data processing device
JP2933030B2 (en) Information processing device
JPH0247725A (en) Data processor
JPH0520065A (en) Parallel arithmetic processor
JPS58223851A (en) Data processor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19961008