JPH0247725A - data processing equipment - Google Patents
data processing equipmentInfo
- Publication number
- JPH0247725A JPH0247725A JP63198226A JP19822688A JPH0247725A JP H0247725 A JPH0247725 A JP H0247725A JP 63198226 A JP63198226 A JP 63198226A JP 19822688 A JP19822688 A JP 19822688A JP H0247725 A JPH0247725 A JP H0247725A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- decoder
- decoded
- branch
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.
Description
【発明の詳細な説明】
産業上の利用分野
本発明は2命令を同時に解読して処理するデータ処理装
置に関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a data processing device that simultaneously decodes and processes two instructions.
従来の技術
従来のデータ処理装置において処理の高速化を図るため
に、2つの解読器を設けて2命令を同時に解読し、2つ
の演算ユニットを同時に動作させる方法がとられている
。例えば、特開昭63−49843号では、算術演算と
論理演算との2つの命令をそれぞれ独立な第1の解読器
と第2の解読器とによって解読し、算術演算ユニットと
論理演算ユニットとを同時に動作させることによって性
能を向上している。2. Description of the Related Art In order to speed up processing in conventional data processing devices, a method has been adopted in which two decoders are provided to simultaneously decode two instructions and to operate two arithmetic units simultaneously. For example, in Japanese Patent Application Laid-Open No. 63-49843, two instructions, an arithmetic operation and a logical operation, are decoded by a first decoder and a second decoder, which are independent, respectively, and an arithmetic operation unit and a logical operation unit are decoded. Performance is improved by operating simultaneously.
また他の例では、−度解読した命令を解読済命令バッフ
ァに一定のサイズだけ保持しておき、ループによって解
読済命令バッファ内の命令が繰返して使用できる場合に
限り解読済命令バッファがら複数の実行ユニットに対し
て解読命令を与えるという方法がある。 (”TR0M
仕様に基づ<32ビツトマイクロプロセツサTX3のC
PUアーキテクチャの検討” 電子情報通信学会技術研
究報告コンピュータシステム、Yol、8.No、42
2.1988 )発明が解決しようとする課題
従来のデータ処理装置にあっては、固定語長命令体系に
おける2命令の同時解読は、解読中の命令に後続する命
令の位置が決まっているため容易である。従って、後続
命令を解読する第2の命令解読器を1つ追加するだけで
2命令同時解読が可能である。但し、解読ハードウェア
の増加を抑えるために、それぞれの解読器が解読する命
令の分担を算術演算と論理演算といったように予め決め
ておき、それぞれの解読器で解読ハードウェアが重複し
ないようにしている。このように2つの解読器間で解読
する命令の分担を決めてしまうと、解読器のハードウェ
ア増加は抑えられるが、常に2命令の同時解読を行うの
が困難になり、場合によっては1命令に対して2回解読
する必要が生じる。そのためコードスケジュールによっ
て2種類の命令をインタリーブする等の対策が必要とな
り、コンパイラへの負担が増加するといった問題かある
。In another example, a fixed size of instructions decoded multiple times is held in the decoded instruction buffer, and only when the instructions in the decoded instruction buffer can be used repeatedly by a loop, multiple decoded instructions are stored in the decoded instruction buffer. One method is to give a decoding instruction to the execution unit. (”TR0M
Based on specifications <32-bit microprocessor TX3 C
“Study of PU Architecture” IEICE Technical Research Report on Computer Systems, Yol, 8. No. 42
2.1988) Problems to be Solved by the Invention In conventional data processing devices, simultaneous decoding of two instructions in a fixed word length instruction system is easy because the position of the instruction following the instruction being decoded is fixed. It is. Therefore, simultaneous decoding of two instructions is possible by simply adding one second instruction decoder for decoding subsequent instructions. However, in order to suppress the increase in decoding hardware, the division of instructions to be decoded by each decoder is decided in advance, such as arithmetic operations and logical operations, so that the decoding hardware does not overlap in each decoder. There is. If the instructions to be decoded are divided between two decoders in this way, the increase in the hardware of the decoder can be suppressed, but it becomes difficult to always decode two instructions at the same time, and in some cases it becomes difficult to decode two instructions at the same time. It becomes necessary to decode twice. Therefore, it is necessary to take measures such as interleaving the two types of instructions based on the code schedule, which poses a problem of increasing the burden on the compiler.
可変語長命令体系においては、解読中の命令に後続する
命令の位置が現在解読中の命令の解読結果によって決定
されるため、2命令同時解読するためには解読中の命令
に後続する命令語を同時解読する第2の解読器を複数設
けたり、或は第2の命令解読器に入力する命令語を選択
するセレクタを設け、第1の命令解読器の解読結果によ
ってセレクタを制御し、第2の命令解読器の入力を決定
するといったことを行っていた。そのため、解読器のハ
ードウェアが増加したり、解読に要する時間が増加する
という問題点があった。また、可変語長命令体系では2
命令の同時解読が困難であるため1命令毎に解読した解
読結果を保持しておき、実行ユニットに解読結果を供給
する際に2命令分を同時に与えることによって、2命令
の同時実行を行っていた。そのため、大容量の解読済命
令バッファが必要であった。更に解読済命令バッファに
解読済命令が蓄積されるまでの間は、1命令解読によっ
て実行スループットが決定されてしまうという問題があ
った。In a variable word length instruction system, the position of the instruction following the instruction being decoded is determined by the decoding result of the instruction currently being decoded, so in order to decode two instructions simultaneously, the position of the instruction following the instruction being decoded is A plurality of second decoders that simultaneously decode the commands are provided, or a selector is provided to select the command word input to the second command decoder, and the selector is controlled according to the decoding result of the first command decoder. It was doing things like determining the input to the instruction decoder 2. Therefore, there are problems in that the hardware of the decoder increases and the time required for decoding increases. In addition, in the variable word length instruction system, 2
Since it is difficult to decode instructions simultaneously, the decoding results of each instruction are stored, and when the decoding results are supplied to the execution unit, two instructions are given at the same time to execute two instructions simultaneously. Ta. Therefore, a large capacity decoded instruction buffer was required. Furthermore, there is a problem in that the execution throughput is determined by decoding one instruction until the decoded instructions are accumulated in the decoded instruction buffer.
本発明は、可変語長命令体系において解読ハードウェア
を著しく増加させることなく2命令の同時解読を行うデ
ータ処理装置を提供することを目的としている。さらに
、条件付き分岐命令とそれに後続する命令を同時に解読
し、条件付き分岐命令の実行を高速に行うデータ処理装
置を提供することを目的としている。An object of the present invention is to provide a data processing device that can simultaneously decode two instructions in a variable word length instruction system without significantly increasing decoding hardware. Another object of the present invention is to provide a data processing device that simultaneously decodes a conditional branch instruction and the instruction following it and executes the conditional branch instruction at high speed.
課題を解決するための手段
上記目的を達成するために、本発明のデータ処理装置に
おいては、可変語長命令体系の命令を解読する第1の命
令解読器と、可変語長命令体系の命令のうち2命令同時
解読の対象となる命令を解読する第2の命令解読器と、
第1゛の命令解読器が解読中の命令に後続する命令列の
中に第2の命令解読器によって解読可能な命令の存在を
先見的に検出する第3の命令解読器と、前記第3の命令
解読器の検出結果を前記第1の命令解読器の命令境界を
表わす出力によって有効とし、前記第3の命令解読器が
解読中の命令を第2の命令解読器に供給すると同時に前
記命令の後続命令を第1の命令解読器に供給するように
制御する命令供給手段とを備える。Means for Solving the Problems In order to achieve the above object, the data processing device of the present invention includes a first instruction decoder for decoding instructions of a variable word length instruction system; a second instruction decoder that decodes an instruction that is subject to simultaneous decoding of two of the instructions;
a third instruction decoder that proactively detects the presence of an instruction that can be decoded by a second instruction decoder in a sequence of instructions following the instruction being decoded by the first instruction decoder; The detection result of the instruction decoder is validated by the output representing the instruction boundary of the first instruction decoder, and at the same time the third instruction decoder supplies the instruction being decoded to the second instruction decoder. and an instruction supplying means for controlling supply of subsequent instructions to the first instruction decoder.
また、条件付き分岐命令を高速化するために、本発明の
データ処理装置においては、条件付き分岐命令の分岐先
アドレスを計算する加算器と、条件の成立を検出する比
較器と、条件が成立した場合に限り条件付き分岐命令に
後続する命令の実行を抑止すると同時に、前記加算器の
分岐先アドレスから命令の処理を開始させる分岐制御手
段とを備える。Furthermore, in order to speed up conditional branch instructions, the data processing device of the present invention includes an adder that calculates the branch destination address of the conditional branch instruction, a comparator that detects whether the condition is satisfied, and a comparator that detects whether the condition is satisfied. branch control means for inhibiting execution of an instruction following the conditional branch instruction and at the same time starting processing of the instruction from the branch destination address of the adder only when the conditional branch instruction is executed.
作 用
本発明は上記手段により、可変語長命令体系において解
読ハードウェアを著しく増加させることなく2命令の同
時解読を行う。Operation The present invention uses the above means to simultaneously decode two instructions in a variable word length instruction system without significantly increasing decoding hardware.
また、条件付き分岐命令の実行速度を向上し、条件が非
分岐の場合には見掛は上条性付き分岐命令の実行うロッ
クを零にする。Furthermore, the execution speed of conditional branch instructions is improved, and when the condition is non-branch, the lock that is executed by the branch instruction with conditionality is apparently zeroed.
実施例
第1図は本発明の一実施例のデータ処理装置の構成を示
すブロック図である。図において、10は実行に先立っ
て予め命令をフェッチする命令フェッチユニット、11
は命令フェッチユニット10によって用意された命令を
蓄える命令バッファであり、解読に必要な命令を解読器
に供給する。Embodiment FIG. 1 is a block diagram showing the configuration of a data processing apparatus according to an embodiment of the present invention. In the figure, 10 is an instruction fetch unit that fetches instructions in advance before execution; 11
is an instruction buffer that stores instructions prepared by the instruction fetch unit 10, and supplies instructions necessary for decoding to the decoder.
12は可変語長命令を解読する第1の命令解読器であり
、2命令同時解読の対象となる命令を除く全ての命令を
解読する。13は2命令同時解読の対象となる命令だけ
を解読する第2の命令解読器、14および16は第1の
命令解読器12が解読中の命令に後続する命令語を解読
し、後続命令の中に2命令同時解読の対象となる命令の
存在を検出する第3の命令解読器である。101および
103はその検出結果である。17は第1の命令解読器
12が解読する命令語およびそれに後続する命令語を保
持する命令レジスタ、18は第2の命令解読器13が解
読する命令を保持する命令レジスタである。19は命令
レジスタ17および18をシフト制御する命令供給手段
制御部であり、検出結果101および103のいずれか
一つを、第1の命令解読器12が解読した命令境界をし
めず出力100によって有効とし、有効な検出結果を出
力した第3の命令解読器が解読している命令を命令バッ
ファ18へ格納するように制御する。20は命令解読器
12および16に命令を供給する命令供給手段である。A first instruction decoder 12 decodes variable word length instructions, and decodes all instructions except the instruction that is subject to simultaneous decoding of two instructions. Reference numeral 13 denotes a second instruction decoder that decodes only the instruction that is subject to two-instruction simultaneous decoding; 14 and 16 decode the instruction word following the instruction being decoded by the first instruction decoder 12; This is a third instruction decoder that detects the presence of an instruction that is subject to simultaneous decoding of two instructions. 101 and 103 are the detection results. Reference numeral 17 denotes an instruction register that holds an instruction word to be decoded by the first instruction decoder 12 and an instruction word following it, and 18 is an instruction register that holds an instruction to be decoded by the second instruction decoder 13. Reference numeral 19 denotes an instruction supplying means control unit that shifts and controls the instruction registers 17 and 18, and outputs any one of the detection results 101 and 103 as valid through an output 100 without marking the instruction boundary decoded by the first instruction decoder 12. Then, the third instruction decoder that outputs a valid detection result controls to store the instruction being decoded into the instruction buffer 18. 20 is an instruction supply means for supplying instructions to the instruction decoders 12 and 16.
21は解読済命令レジスタであり命令解読器12および
13が解読した命令の解読結果を一時保持する。22は
解読済命令レジスタ21の指令104の内容に従って演
算を実行する実行ユニットであり、実行に必要なA L
U。Reference numeral 21 denotes a decoded instruction register which temporarily holds the decoding results of the instructions decoded by the instruction decoders 12 and 13. 22 is an execution unit that executes an operation according to the contents of the command 104 of the decoded instruction register 21, and the A L necessary for execution.
U.
シフタ、汎用レジスタ等を含む。23はアドレス計算専
用の加算器24を備えた分岐先アドレス計算手段であり
、解読命令レジスタ21の指令105の内容に従って条
件付き分岐命令或は無条件分岐命令等の、分岐先アドレ
ス106を実行ユニット22とは独立に計算する。25
は分岐制御手段であり、解読済命令レジスタ21の指令
107に含まれる条件付き分岐命令の条件コードと、実
行ユニット22が出力する演算結果フラグ108とを入
力し、比較器26によって分岐条件成立の有無を検出す
る。分岐条件が成立した場合には分岐成立信号109に
よって、分岐命令に後続する命令の実行を抑止すると同
時に、分岐先アドレス106から命令を再開するように
制御する。なお、無条件分岐命令の場合には分岐成立信
号109が必ず出力される。27はプロセッサ外部との
データ転送を制御するバス転送ユニットである。 第
2図は本発明のデータ処理装置により、可変語長命令を
2命令同時解読する場合の動作を説明するための図であ
る。以下、第1図と第2図により本発明の実施例の動作
を説明する。Including shifters, general purpose registers, etc. 23 is a branch destination address calculation means equipped with an adder 24 dedicated to address calculation, which executes a branch destination address 106 such as a conditional branch instruction or an unconditional branch instruction according to the contents of the command 105 of the decoding instruction register 21. 22 is calculated independently. 25
is a branch control means which inputs the condition code of the conditional branch instruction included in the command 107 of the decoded instruction register 21 and the operation result flag 108 output from the execution unit 22, and uses the comparator 26 to determine whether the branch condition is satisfied. Detect presence. When the branch condition is satisfied, a branch established signal 109 is used to suppress execution of the instruction following the branch instruction and at the same time control the instruction to be restarted from the branch destination address 106. Note that in the case of an unconditional branch instruction, the branch established signal 109 is always output. 27 is a bus transfer unit that controls data transfer with the outside of the processor. FIG. 2 is a diagram for explaining the operation when two variable word length instructions are simultaneously decoded by the data processing device of the present invention. The operation of the embodiment of the present invention will be explained below with reference to FIGS. 1 and 2.
第2図(1)は実行する命令列の順序を示す図で、AO
命令から順に実行する。命令列AO,A1、A2、A3
の内AO命令は16ビツトのディスプレースメントを持
ち、A1命令は2命令同時解読の対象となる命令である
とする。従って、A1命令とA2命令とを2命令同時に
解読するものとする。第2図(2)は第1の命令解読器
がAO命令を解読中の命令レジスタ17および18の状
態を示す図である。命令レジスタ17を構成する4つの
16ビツトの命令レジスタIRQおよびIR3には命令
列の順に、IRQにAO命令、IRlにAO命令のディ
スプレースメント、IR2にA1命令、IR3にA2命
令が格納される。この時、第1の命令解読器12はIR
QのAO命令を解読し、命令の境界がIRIとIR2の
間であることを示す信号100を出力する。これと並行
して第3の命令解読器14〜16はそれぞれIRI〜I
R3のそれぞれディスプレースメント、AI命令、A2
命令を解読し、2命令同時解読の対象となる命令が存在
するか否かを検査して信号線101および103に結果
を出力する。この際、第3の命令解読器14〜16は命
令の境界を認識していないのでIRIのディスプレース
メント値が偶然的に2命令同時解読の対象となる命令の
コードと一致する場合には、第3の命令解読器14は誤
った検出結果を信号線101に出力する。命令供給手段
制御部19は命令の境界を示す信号100によって信号
線101及び103から誤った検出結果を排除し、検出
結果102が有効であると判断する。それに基づいて命
令レジスタ17及び18をシフト制御し、IR2の命令
A1を命令レジスタ18に、後続するIR3の命令A2
を命令レジスタIRQに格納する。その状態を第2図(
3)に示す。同図(3)の状態で第1の命令解読器12
がA2命令を解読し、第2の命令解読器13がA1命令
を解読することにより2命令の同時解読を行う。なお、
第3の命令解読器14および16は、同時解読できる命
令の有無を検出するだけであり、数ゲートのハードウェ
アによって実現できる。また、第2の命令解読器は2命
令同時解読の対象となる命令だけを解読し、第1の命令
解読器はその対象となる命令以外の命令を解読すれば良
いので、解読ハードウェアは増加しない。FIG. 2 (1) is a diagram showing the order of instructions to be executed.
Execute instructions in order. Instruction sequence AO, A1, A2, A3
It is assumed that the AO instruction has a 16-bit displacement, and the A1 instruction is an instruction that is subject to simultaneous decoding of two instructions. Therefore, it is assumed that the A1 instruction and the A2 instruction are decoded at the same time. FIG. 2(2) is a diagram showing the states of the instruction registers 17 and 18 while the first instruction decoder is decoding the AO instruction. In the four 16-bit instruction registers IRQ and IR3 constituting the instruction register 17, an AO instruction is stored in IRQ, a displacement of the AO instruction is stored in IR1, an A1 instruction is stored in IR2, and an A2 instruction is stored in IR3 in the order of instruction strings. At this time, the first instruction decoder 12
It decodes Q's AO instruction and outputs a signal 100 indicating that the instruction boundary is between IRI and IR2. In parallel with this, the third instruction decoders 14 to 16 are respectively IRI to I
R3 displacement, AI instruction, A2 respectively
It decodes the instructions, checks whether there is an instruction that is subject to two-instruction simultaneous decoding, and outputs the result to signal lines 101 and 103. At this time, since the third instruction decoders 14 to 16 do not recognize the instruction boundaries, if the displacement value of the IRI coincidentally matches the code of the instruction that is the target of simultaneous decoding of two instructions, the third The instruction decoder 14 of No. 3 outputs an erroneous detection result to the signal line 101. The instruction supply means control unit 19 eliminates erroneous detection results from the signal lines 101 and 103 using the signal 100 indicating the boundary of the instruction, and determines that the detection result 102 is valid. Based on this, the instruction registers 17 and 18 are shifted and controlled, and the instruction A1 of IR2 is transferred to the instruction register 18, and the instruction A2 of the subsequent IR3 is transferred to the instruction register 18.
is stored in the instruction register IRQ. The state is shown in Figure 2 (
3). In the state shown in (3) of the same figure, the first instruction decoder 12
decodes the A2 instruction, and the second instruction decoder 13 decodes the A1 instruction, thereby simultaneously decoding two instructions. In addition,
The third instruction decoders 14 and 16 only detect the presence or absence of instructions that can be decoded simultaneously, and can be realized by hardware with several gates. In addition, the second instruction decoder decodes only the instruction that is the target of two-instruction simultaneous decoding, and the first instruction decoder only has to decode instructions other than the target instruction, so the amount of decoding hardware increases. do not.
次に、第3図及び第4図は本発明のデータ処理装置によ
り、条件付き分岐命令を高速化した場合の動作を説明す
るための図である。第3図は実行する命令列の順序を示
す図、第4図(1)は条件不成立時の動作タイミング図
、同図(2)は条件成立時の動作タイミング図である。Next, FIGS. 3 and 4 are diagrams for explaining the operation when the data processing device of the present invention speeds up conditional branch instructions. FIG. 3 is a diagram showing the order of a sequence of instructions to be executed, FIG. 4 (1) is an operation timing diagram when the condition is not met, and FIG. 4 (2) is an operation timing diagram when the condition is met.
以下、第1図と第3図及び第4図によって条件付き分岐
命令の動作を説明する。The operation of the conditional branch instruction will be explained below with reference to FIGS. 1, 3, and 4.
第3図は実行する命令列を示しており、条件付き分岐命
令(B c c)の条件が成立した時にはB1命令に分
岐し、条件不成立の時には後続するA1命令を実行する
ことを表わす。命令解読器により条件付き分岐命令とそ
れに後続するA1命令とが同時解読される。第4図にお
いてIFは命令フェッチユニット10の動作を示し、D
ECは命令解読器の動作を示す。RとEXとWは実行ユ
ニット22の動作を示し、それぞれ、レジスタの読出し
、演算、レジスタへの書込みを表わす。タイミング2で
解読されたAO命令はタイミング4で演算され、タイミ
ング5で結果の書込みが行われる。FIG. 3 shows a sequence of instructions to be executed, indicating that when the condition of a conditional branch instruction (B c c ) is met, the program branches to the B1 instruction, and when the condition is not met, the subsequent A1 instruction is executed. The instruction decoder simultaneously decodes the conditional branch instruction and the following A1 instruction. In FIG. 4, IF indicates the operation of the instruction fetch unit 10, and D
EC indicates the operation of the instruction decoder. R, EX, and W indicate the operations of the execution unit 22, and represent register reading, operation, and register writing, respectively. The AO instruction decoded at timing 2 is operated on at timing 4, and the result is written at timing 5.
同時に演算の結果フラグが信号線108に出力される。At the same time, the calculation result flag is output to the signal line 108.
一方タイミング3では条件付き分岐命令とそれに後続す
るA1命令が同時解読され、解読結果が解読済命令レジ
スタ21に格納される。タイミング4では解読済命令レ
ジスタ21の内容に従って、分岐先アドレス計算手段2
3のアドレス計算専用の加算器24においてB1命令の
アドレスが計算され一時保持される。また、実行ユニッ
ト22においては、AI命令の演算に必要なレジスタの
内容が読出される。タイミング5では実行ユニット22
においてA1命令の演算が行われ演算結果が一時保持さ
れる。同時に分岐制御手段25の比較器26は条件付き
分岐命令の条件コードとタイミング4で演算されたAO
命令の演算結果フラグ108とを比較する。比較の結果
条件が成立しない場合には、タイミング5において保持
していたA1命令の演算結果をタイミング6でレジスタ
に書込む。さらに、タイミング4において計算したB1
命令のアドレスを無効化し、命令フェッチユニット10
は条件付き分岐命令に後続する命令列のフェッチを継続
する。比較の結果条件が成立した場合には、タイミング
6におけるA1命令の演算結果の書込みを禁止するとと
もに、後続する全ての命令の実行を無効化する。そして
、命令フェッチユニット10はタイミング4において計
算したB1命令のアドレスに従って81命令をフェッチ
し、処理が開始される。On the other hand, at timing 3, the conditional branch instruction and the following A1 instruction are simultaneously decoded, and the decoded result is stored in the decoded instruction register 21. At timing 4, according to the contents of the decoded instruction register 21, the branch destination address calculation means 2
The address of the B1 instruction is calculated and temporarily held in the adder 24 dedicated to address calculation. Furthermore, in the execution unit 22, the contents of registers necessary for the operation of the AI instruction are read. At timing 5, execution unit 22
The operation of the A1 instruction is performed and the operation result is temporarily held. At the same time, the comparator 26 of the branch control means 25 compares the condition code of the conditional branch instruction with the AO calculated at timing 4.
It is compared with the operation result flag 108 of the instruction. If the comparison result does not satisfy the condition, the operation result of the A1 instruction held at timing 5 is written to the register at timing 6. Furthermore, B1 calculated at timing 4
The instruction address is invalidated and the instruction fetch unit 10
continues fetching the instruction sequence following the conditional branch instruction. If the comparison result condition is satisfied, writing of the operation result of the A1 instruction at timing 6 is prohibited, and execution of all subsequent instructions is invalidated. Then, the instruction fetch unit 10 fetches the 81st instruction according to the address of the B1 instruction calculated at timing 4, and processing is started.
本発明は以上のような構成により、可変語長命令体系に
おいて解読ハードウェアを著しく増加させることなく2
命令の同時解読を行ない、また、条件付き分岐命令の実
行を高速に行うデータ処理装置を提供することを目的と
する。そのために、可変語長命令体系の命令を解読する
第1の命令解読器と、可変語長命令体系の命令のうち2
命令同時解読の対象となる命令を解読する第2の命令解
読器と、第1の命令解読器が解読中の命令に後続する命
令列の中に第2の命令解読器によって解読可能な命令の
存在を先見的に検出する第3の命令解読器と、前記第3
の命令解読器の検出結果を前記第1の命令解読器の命令
境界を表わす出力によって有効とし、前記第3の命令解
読器が解読中の命令を第2の命令解読器に供給すると同
時に前記命令の後続命令を第1の命令解読器に供給する
ように制御する命令供給手段と、条件付き分岐命令の分
岐先アドレスを計算する加算器と、条件の成立を検出す
る比較器と、条件が成立した場合に限り条件付き分岐命
令に後続する命令の実行を抑止すると同時に、前記加算
器の分岐先アドレスから命令の処理を開始させる分岐制
御手段とを備えることにより、解読ハードウェアを著し
く増加させることなく2命令の同時解読を行なえるので
、処理の高速化が図れる。さらに、条件付き分岐命令の
実行が高速化でき、特に条件不成立時には実行時間を見
掛は上零にできる。With the above-described configuration, the present invention can handle two instructions without significantly increasing the decoding hardware in a variable word length instruction system.
It is an object of the present invention to provide a data processing device that simultaneously decodes instructions and executes conditional branch instructions at high speed. For this purpose, a first instruction decoder that decodes the instructions of the variable word length instruction system, and two of the instructions of the variable word length instruction system are provided.
a second instruction decoder that decodes an instruction that is subject to instruction simultaneous decoding; and a second instruction decoder that decodes an instruction that can be decoded by the second instruction decoder in an instruction sequence that follows the instruction that is being decoded by the first instruction decoder. a third instruction decoder that proactively detects the presence of the third instruction decoder;
The detection result of the instruction decoder is validated by the output representing the instruction boundary of the first instruction decoder, and at the same time the third instruction decoder supplies the instruction being decoded to the second instruction decoder. an instruction supply means for controlling supply of a subsequent instruction to a first instruction decoder; an adder for calculating a branch destination address of a conditional branch instruction; a comparator for detecting whether a condition is satisfied; and a branch control means that inhibits the execution of an instruction following a conditional branch instruction only when the conditional branch instruction is executed, and at the same time starts processing the instruction from the branch destination address of the adder, thereby significantly increasing the amount of decoding hardware. Since two instructions can be decoded simultaneously, processing speed can be increased. Furthermore, the execution speed of conditional branch instructions can be increased, and especially when the condition is not met, the execution time can be reduced to an apparent zero.
発明の効果
以上述べたように本発明によれば、第3の命令解読器を
設けて先見的に2命令同時解読できる命令の存在を検出
することにより、解読ハードウェアの著しい増加を抑え
て可変語長命令における2命令同時解読を可能にし、処
理の高速化が図れる。Effects of the Invention As described above, according to the present invention, by providing a third instruction decoder to proactively detect the existence of an instruction that can decode two instructions simultaneously, variable decoding hardware can be suppressed and It is possible to simultaneously decode two word-length instructions, resulting in faster processing.
さらに、条件付分岐命令とそれに後続する命令とを2命
令同時解読し、条件が成立した時には後続する命令の実
行を全て抑止することにより、条件付き分岐命令の処理
が高速化できる。なお、演算実行部を2つ設け、レジス
タ間演算命令とそれに後続する命令とを2命令同時解読
することにより、レジスタ資源が干渉しない場合におい
て2命令を並列に実行させることも可能である。Furthermore, the processing of conditional branch instructions can be sped up by simultaneously decoding two instructions of a conditional branch instruction and the instruction that follows it, and by inhibiting the execution of all subsequent instructions when the condition is met. Note that by providing two arithmetic execution units and simultaneously decoding the inter-register arithmetic instruction and the instruction following it, it is also possible to execute the two instructions in parallel when register resources do not interfere.
第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は本発明のデータ処理装置により可変語長
命令を2命令同時解読する場合の動作説明図、第3図は
条件付き分岐命令を高速化した場合の動作を説明するた
め実行命令列を示す命令図、第4図は本発明のデータ処
理装置により条件付き分岐命令を高速化した場合の動作
を説明するためのタイミング図である。
10・・・命令フェッチユニット、
11・・・命令バッフハ 12・・・第1の命令解読器
、13・・・第2の命令解読器、
14.15.16・・・第3の命令解読器、20・・・
命令供給手段、
21・・・解読済命令レジスタ、
22・・・実行ユニット、
23・・・分岐先アドレス計算手段、
24・・・加算器、25・・・分岐制御手段、26・・
・比較器。
代理人の氏名 弁理士 粟野重孝 はか1名第1図
第
図
a)
今イ2\夛(打力が1)子
Ao卒享/l屏跣
Aノ 4/り\3 A24\イ〉5.ルn賽亭声博ξ浮
翫第
図FIG. 1 is a configuration diagram of a data processing device according to an embodiment of the present invention, FIG. 2 is an explanatory diagram of operation when two variable word length instructions are simultaneously decoded by the data processing device of the present invention, and FIG. 3 is a condition diagram. FIG. 4 is an instruction diagram showing an execution instruction sequence to explain the operation when a conditional branch instruction is sped up by the data processing device of the present invention. FIG. It is a diagram. 10... Instruction fetch unit, 11... Instruction buffer 12... First instruction decoder, 13... Second instruction decoder, 14.15.16... Third instruction decoder , 20...
Instruction supply means, 21... Decoded instruction register, 22... Execution unit, 23... Branch destination address calculation means, 24... Adder, 25... Branch control means, 26...
・Comparator. Name of agent: Patent attorney Shigetaka Awano 1 person Figure 1 Figure a) Now 2\夛(Hitting power is 1)子Ao Soukyou/l屏跣Aノ 4/Ri\3 A24\I〉5 .. Luna Saitei Voice Expo ξ Floating Diagram
Claims (2)
読器と、可変語長命令体系の命令のうち2命令同時解読
の対象となる命令を解読する第2の命令解読器と、第1
の命令解読器が解読中の命令に後続する命令列の中に第
2の命令解読器によって解読可能な命令の存在を先見的
に検出する第3の命令解読器と、前記第3の命令解読器
の検出結果を前記第1の命令解読器の命令境界を表わす
出力によって有効とし、前記第3の命令解読器が解読中
の命令を第2の命令解読器に供給すると同時に前記命令
の後続命令を第1の命令解読器に供給するように制御す
る命令供給手段とを備え、第1の命令解読器と第2の命
令解読器により2つの命令を同時に解読することを特徴
とするデータ処理装置。(1) a first instruction decoder that decodes an instruction of a variable word length instruction system; a second instruction decoder that decodes an instruction that is subject to simultaneous decoding of two instructions among the instructions of the variable word length instruction system; 1st
a third instruction decoder that proactively detects the presence of an instruction that can be decoded by a second instruction decoder in a sequence of instructions that follows an instruction that is being decoded by the instruction decoder; The third instruction decoder supplies the instruction being decoded to the second instruction decoder, and at the same time the third instruction decoder supplies the instruction being decoded to the second instruction decoder, and at the same time outputs the instruction subsequent to the instruction. and an instruction supply means for controlling the supply of the instruction to the first instruction decoder, and the data processing device is characterized in that the first instruction decoder and the second instruction decoder decode two instructions at the same time. .
算器と、条件の成立を検出する比較器と、条件が成立し
た場合に限り条件付き分岐命令に後続する命令の実行を
抑止すると同時に、前記加算器の分岐先アドレスから命
令の処理を開始させる分岐制御手段とを備え、条件付き
分岐命令とその後続命令とを同時に実行することを特徴
とする請求項1記載のデータ処理装置。(2) an adder that calculates the branch destination address of a conditional branch instruction; a comparator that detects whether the condition is satisfied; 2. The data processing apparatus according to claim 1, further comprising branch control means for starting instruction processing from a branch destination address of said adder, and for simultaneously executing a conditional branch instruction and its successor instruction.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19822688A JPH0774992B2 (en) | 1988-08-09 | 1988-08-09 | Data processing device |
| EP89307961A EP0354740B1 (en) | 1988-08-09 | 1989-08-04 | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
| DE68926701T DE68926701T2 (en) | 1988-08-09 | 1989-08-04 | Data processing device for parallel decoding and parallel execution of commands with variable word length |
| KR1019890011318A KR930001055B1 (en) | 1988-08-09 | 1989-08-09 | Data processing device for parallel reading and parallel execution of variable word length instructions |
| US07/916,804 US5202967A (en) | 1988-08-09 | 1992-07-20 | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19822688A JPH0774992B2 (en) | 1988-08-09 | 1988-08-09 | Data processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0247725A true JPH0247725A (en) | 1990-02-16 |
| JPH0774992B2 JPH0774992B2 (en) | 1995-08-09 |
Family
ID=16387603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19822688A Expired - Fee Related JPH0774992B2 (en) | 1988-08-09 | 1988-08-09 | Data processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0774992B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5371864A (en) * | 1992-04-09 | 1994-12-06 | International Business Machines Corporation | Apparatus for concurrent multiple instruction decode in variable length instruction set computer |
| US6334184B1 (en) | 1998-03-24 | 2001-12-25 | International Business Machines Corporation | Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request |
-
1988
- 1988-08-09 JP JP19822688A patent/JPH0774992B2/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5371864A (en) * | 1992-04-09 | 1994-12-06 | International Business Machines Corporation | Apparatus for concurrent multiple instruction decode in variable length instruction set computer |
| US6334184B1 (en) | 1998-03-24 | 2001-12-25 | International Business Machines Corporation | Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0774992B2 (en) | 1995-08-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5051896A (en) | Apparatus and method for nullifying delayed slot instructions in a pipelined computer system | |
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| US5636353A (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating results bypassing | |
| US5809294A (en) | Parallel processing unit which processes branch instructions without decreased performance when a branch is taken | |
| US5469552A (en) | Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions | |
| US20110055523A1 (en) | Early branch determination | |
| EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
| JP2682217B2 (en) | Microprocessor | |
| EP0279953A2 (en) | Computer system having mixed macrocode and microcode instruction execution | |
| JPH06266556A (en) | Data processor | |
| JPH0247725A (en) | data processing equipment | |
| JP2008299729A (en) | Processor | |
| EP1208424B1 (en) | Apparatus and method for reducing register write traffic in processors with exception routines | |
| JP2798121B2 (en) | Data processing device | |
| JP2581565B2 (en) | Data processing device that executes guarded instructions | |
| JP2532560B2 (en) | Data processing device for high-performance exception handling | |
| JPH02206836A (en) | Data processor | |
| JP3471691B2 (en) | Branch instruction control method in micro instruction | |
| JP3493110B2 (en) | High-speed branch processing unit | |
| JP2503223B2 (en) | Prior control method | |
| JPH0311430A (en) | Abnormality processing method at time of fetch access | |
| JP2572821B2 (en) | Operation processing method by instruction re-execution | |
| JPH10283182A (en) | Pipeline information processor | |
| JPH05108348A (en) | Parallel processing unit | |
| JPH06110687A (en) | Information processing apparatus and information processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |