JP2825315B2 - Information processing device - Google Patents
Information processing deviceInfo
- Publication number
- JP2825315B2 JP2825315B2 JP13978590A JP13978590A JP2825315B2 JP 2825315 B2 JP2825315 B2 JP 2825315B2 JP 13978590 A JP13978590 A JP 13978590A JP 13978590 A JP13978590 A JP 13978590A JP 2825315 B2 JP2825315 B2 JP 2825315B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processing
- decoding
- state
- code
- 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
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、命令のデコードと実行とがパイプライン
処理される情報処理装置に関し、特に命令のデコードと
実行におけるハンドシェーク処理の改良に関する。Description: Object of the Invention (Industrial application field) The present invention relates to an information processing apparatus in which instruction decoding and execution are pipelined, and in particular, to handshake processing in instruction decoding and execution. Regarding improvement.
(従来の技術) 情報処理装置における命令処理は、大別して例えば次
のようなフェーズに分けられる。(Prior Art) Instruction processing in an information processing apparatus is roughly divided into, for example, the following phases.
メモリからの命令フェッチ 命令のデコード 命令の実行 このような命令処理の過程において、命令処理を高速
化するためには、装置をいくつかの処理ブロックに分割
し、上記したフェーズでのそれぞれの処理をそれぞれ対
応する処理ブロックに割当て、これらの処理ブロック間
でパイプライン処理を行なうパイプライン処理方式が採
用されている。Instruction fetch from memory Decode of instruction Execution of instruction In order to speed up instruction processing during such instruction processing, the device is divided into several processing blocks, and each processing in the above-described phases is performed. A pipeline processing method is employed, in which each processing block is assigned to a corresponding processing block and pipeline processing is performed between these processing blocks.
このようなパイプライン処理を行なう場合には、それ
ぞれの処理ブロックは、割当てられた命令処理の他に隣
接する処理ブロックとの同期をとるための処理を行なう
必要がある。When performing such pipeline processing, each processing block must perform processing for synchronizing with an adjacent processing block in addition to the assigned instruction processing.
ここでは、一例として命令デコーダと命令を実行する
命令実行部との接続関係を説明する。Here, a connection relationship between an instruction decoder and an instruction execution unit that executes an instruction will be described as an example.
第4図は従来の情報処理装置における命令デコーダと
命令実行部との接続関係を示す構成図である。FIG. 4 is a configuration diagram showing a connection relationship between an instruction decoder and an instruction execution unit in a conventional information processing apparatus.
第4図において、命令デコーダ101は処理コード、レ
ジスタコード、解読した命令の命令長及び命令の解読が
終了したことを示すデコード終了信号を命令実行部102
に与える。命令実行部102は実行している命令の実行処
理が終了して、次に実行しようとする命令の受入れが可
能であることを示す次命令実行可能信号を命令デコーダ
101に与える。In FIG. 4, an instruction decoder 101 outputs a processing code, a register code, an instruction length of a decoded instruction, and a decode end signal indicating that decoding of the instruction has been completed to an instruction execution unit 102.
Give to. The instruction execution unit 102 outputs a next instruction executable signal indicating that the execution of the instruction being executed has been completed and the instruction to be executed next can be accepted.
Give to 101.
次に、第5図の命令デコーダ101における状態遷移図
及び、第6図の命令実行部102における状態遷移図を用
いて、命令デコーダ101及び命令実行部102の動作処理を
説明する。Next, the operation processing of the instruction decoder 101 and the instruction execution unit 102 will be described with reference to the state transition diagram of the instruction decoder 101 of FIG. 5 and the state transition diagram of the instruction execution unit 102 of FIG.
第5図において、初期状態及び命令解読状態1〜nは
命令デコードサイクルであり、入力された命令コードは
命令実行部102に命令処理を指令するための処理コー
ド、オペランドレジスタを指定するレジスタコード及び
命令長等にデコードされる。In FIG. 5, the initial state and the instruction decoding states 1 to n are instruction decode cycles, and the input instruction code is a processing code for instructing the instruction execution unit 102 to execute an instruction, a register code for designating an operand register, and Decoded to the instruction length, etc.
最終状態はデコード経過を命令実行部102に与えるサ
イクルであり、デコード終了信号を命令実行部102にア
サート(活性化して出力)する。ここで、次命令実行可
能信号が命令実行部102からアサートされている場合に
は、デコード結果は命令実行部102に与えられ、命令デ
コーダ101は初期状態に遷移し、次に実行しようとする
命令コードを解読する。一方、次命令実行可能信号がア
サートされていない場合には、命令デコーダ101はアサ
ートされるまで最終状態で待機することになる。The final state is a cycle in which the progress of decoding is given to the instruction execution unit 102, and a decode end signal is asserted (activated and output) to the instruction execution unit 102. Here, when the next instruction executable signal is asserted from the instruction execution unit 102, the decoding result is given to the instruction execution unit 102, the instruction decoder 101 transitions to the initial state, and the next instruction to be executed is executed. Decode the code. On the other hand, when the next instruction executable signal is not asserted, the instruction decoder 101 waits in the final state until it is asserted.
次に、第6図において、初期状態は命令実行部102が
命令デコーダ101から処理コード、レジスタコード及び
命令長を受け取るサイクルであり、この状態にあってデ
コード終了信号がアサートされていない場合には、命令
実行部102はアサートされるまでこの状態で待機する。
一方、デコード終了信号がアサートされている場合に
は、実行状態に遷移する。Next, in FIG. 6, the initial state is a cycle in which the instruction execution unit 102 receives the processing code, the register code, and the instruction length from the instruction decoder 101. In this state, if the decoding end signal is not asserted, The instruction execution unit 102 waits in this state until it is asserted.
On the other hand, when the decoding end signal is asserted, the state transits to the execution state.
実行状態1〜nは命令実行サイクルであり、命令デコ
ーダ101から与えられた処理コードにしたがって演算処
理が実行される。最終状態では、命令デコーダ101から
与えられた命令長をプログラムカウンタに加算すること
によって更新され、次命令実行可能信号が命令実行部10
2から命令デコーダ101にアサートされる。The execution states 1 to n are instruction execution cycles in which arithmetic processing is executed according to the processing code given from the instruction decoder 101. In the final state, the instruction length is updated by adding the instruction length given from the instruction decoder 101 to the program counter.
2 is asserted to the instruction decoder 101.
このように、命令デコーダ101と命令実行部102間で処
理動作が移行する場合には、相互に同期信号を出力し
て、同期をとりながらパイプライン処理が進行してい
く。したがって、それぞれの処理ブロック間でパイプラ
イン処理を行なうためには、相互の同期をとるための処
理が必要となる。このため、この同期処理を行なうこと
によって、制御の複雑化、回路規模の増大をもたらして
いた。As described above, when the processing operation shifts between the instruction decoder 101 and the instruction execution unit 102, the pipeline processing proceeds while synchronizing with each other by outputting synchronization signals. Therefore, in order to perform pipeline processing between the respective processing blocks, processing for synchronizing each other is required. Therefore, by performing this synchronization processing, control is complicated and the circuit scale is increased.
(発明が解決しようとする課題) 以上説明したように、従来の情報処理装置におけるパ
イプライン処理方式にあって、パイプライン処理を行な
うそれぞれの処理ブロックは、割り当てられた処理の他
に、処理ブロック間で同期をとるための処理が必要であ
った。すなわち、処理ブロック間でのハンドシェークの
ための同期信号の出力制御、さらに他の処理ブロックか
らの同期信号による自処理ブロックにおける状態遷移の
制御といった複雑な処理を行なわなければならなかっ
た。(Problems to be Solved by the Invention) As described above, in the pipeline processing method in the conventional information processing apparatus, each processing block that performs the pipeline processing includes a processing block in addition to the allocated processing. Processing for synchronizing between them was necessary. That is, complicated processing such as output control of a synchronization signal for handshaking between processing blocks and control of state transition in the own processing block by a synchronization signal from another processing block have to be performed.
このため、パイプライン処理方式を導入することによ
って処理速度の高速化を達成し得るが、その反面、回路
構成の複雑化、大型化を招いていた。For this reason, the processing speed can be increased by introducing the pipeline processing method, but on the other hand, the circuit configuration becomes complicated and large.
そこで、この発明は、上記に鑑みてなされたものであ
り、その目的とするところは、パイプライン処理を行な
う処理ブロック間のハンドシェーク処理を簡略化して、
ハンドシェーク処理の制御を行なうための構成の小型
化、簡単化を図った情報処理装置を提供することにあ
る。Therefore, the present invention has been made in view of the above, and an object of the present invention is to simplify a handshake process between processing blocks performing pipeline processing.
An object of the present invention is to provide an information processing apparatus in which a configuration for controlling a handshake process is reduced in size and simplified.
[発明の構成] (課題を解決するための手段) 上記目的を達成するために、この発明は、入力された
命令の解読中は所定の処理コードと命令長として零を出
力し、命令の解読終了後には解読して得られた命令実行
のための処理コード及び命令長を出力する命令デコード
部と、前記命令デコード部から出力される処理コードに
したがって実行処理を行ない、前記命令デコード部から
出力される命令長にしたがって次実行予定命令を指定す
る情報を更新する命令実行部と、前記命令デコード部と
前記命令実行部との間のパイプライン処理を制御するパ
イプライン処理制御部とから構成されている。[Structure of the Invention] (Means for Solving the Problems) In order to achieve the above object, the present invention outputs a predetermined processing code and zero as an instruction length while decoding an input instruction, and decodes the instruction. After the end, an instruction decoding unit that outputs a processing code and an instruction length for executing the instruction obtained by decoding, and executes an execution process according to the processing code output from the instruction decoding unit, and outputs the instruction code from the instruction decoding unit. An instruction execution unit that updates information specifying an instruction to be executed next according to the instruction length to be executed, and a pipeline processing control unit that controls a pipeline process between the instruction decoding unit and the instruction execution unit. ing.
(作用) 上記構成において、この発明は、命令の解読中にあっ
ても命令長“0"の所定の処理コードを命令実行部に与
え、命令の解読中は命令実行部をウェイト状態と等価の
状態にするよううにしている。(Operation) In the above configuration, the present invention provides a predetermined processing code having an instruction length of "0" to an instruction execution unit even during the decoding of an instruction, and sets the instruction execution unit to a state equivalent to a wait state during the decoding of an instruction. I'm trying to put it in a state.
(実施例) 以下、図面を用いてこの発明の実施例を説明する。Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
第1図はこの発明の一実施例に係わる情報処理装置の
構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to one embodiment of the present invention.
第1図において、情報処理装置は、命令デコーダ1、
命令実行部2、メモリ制御部3、命令キュー4を備えて
いる。In FIG. 1, an information processing device includes an instruction decoder 1,
An instruction execution unit 2, a memory control unit 3, and an instruction queue 4 are provided.
命令デコーダ1は、命令キュー4から与えられる命令
コードを格納するIRレジスタ10、このIRレジスタ10に格
納された命令コードをデコードして、処理コード、レジ
スタコード、命令長等を生成する組み合せ回路11、命令
デコーダ1の状態を示す状態遷移回路12及びセレクタ13
a,13bを備えている。The instruction decoder 1 includes an IR register 10 that stores an instruction code given from the instruction queue 4 and a combination circuit 11 that decodes the instruction code stored in the IR register 10 to generate a processing code, a register code, an instruction length, and the like. , A state transition circuit 12 indicating the state of the instruction decoder 1 and a selector 13
a, 13b.
セレクタ13aは状態遷移回路12から選択信号として与
えられる命令デコーダ1の状態にしたがって、組み合せ
回路11の出力となるデコード結果の処理コードあるいは
NOP(No Operation)命令を選択して、処理コードとし
て命令実行部2に与える。セレクタ13bは状態遷移回路1
2から選択信号として与えられる命令デコーダ1の状態
にしたがって、組み合せ回路11の出力となるデコード結
果の命令長あるいは命令長としての“0"の値を選択し、
命令長として命令実行部2に与える。The selector 13a processes the decoded result processing code or the decoding result output from the combinational circuit 11 according to the state of the instruction decoder 1 given as a selection signal from the state transition circuit 12.
A NOP (No Operation) instruction is selected and given to the instruction execution unit 2 as a processing code. The selector 13b is a state transition circuit 1
According to the state of the instruction decoder 1 given as a selection signal from 2, the instruction length of the decoding result output from the combination circuit 11 or the value of “0” as the instruction length is selected,
This is given to the instruction execution unit 2 as the instruction length.
命令実行部2は、データパス20と実行制御部21を備え
ている。データパス20は、図示しないレジスタ、演算
器、データバス、プログラムカウンタインクリメンタ及
びプログラムカウンタ22を備え、実行制御部21の制御の
下に演算処理を行なう。The instruction execution unit 2 includes a data path 20 and an execution control unit 21. The data path 20 includes a register, an arithmetic unit, a data bus, a program counter incrementer, and a program counter 22 (not shown), and performs arithmetic processing under the control of the execution control unit 21.
プログラムカウンタ22は、通常その格納値が命令デコ
ーダ1から与えられる命令長分だけインクリメントする
インクリメンタの出力値に書き換えられて更新される
が、ジャンプ命令やサブルーチンコール命令の場合に
は、データパス内の演算器を用いて更新値が算出されて
置き換えられる。The program counter 22 is normally updated by rewriting its stored value to the output value of an incrementer that increments by the instruction length given from the instruction decoder 1. In the case of a jump instruction or a subroutine call instruction, The updated value is calculated and replaced by using the arithmetic unit.
実行制御部21は状態遷移回路であり、命令デコーダ1
から与えられる処理コードにしたがってデータパス20を
制御して演算処理を実行させる。また、実行制御部21
は、命令デコーダ1から与えられる処理コードの受け入
れ準備ができると、その旨を示す次命令実行可能信号を
命令デコーダ1に与え、さらにメモリアクセスが必要な
場合は、メモリへのデータアクセスを要求するデータア
クセス要求信号をメモリ制御部3に与える。The execution control unit 21 is a state transition circuit, and the instruction decoder 1
The data path 20 is controlled in accordance with the processing code given from and the arithmetic processing is executed. The execution control unit 21
Supplies the instruction decoder 1 with a next instruction executable signal indicating that the processing code provided from the instruction decoder 1 is ready to receive the instruction code, and requests data access to the memory when memory access is required. A data access request signal is provided to the memory control unit 3.
メモリ制御部3は、データアクセス制御部30とフェッ
チ制御部31を備えている。データアクセス制御部30は、
実行制御部21から与えられるデータアクセス要求信号に
したがって演算データのメモリへのアクセスを行ない、
アクセスが完了するとデータアクセス完了信号を実行制
御部21に与える。フェッチ制御部31は、命令キュー4か
ら与えられる空ワード数にもとづいて命令キュー4に空
があれば、命令コードのフェッチを行ない、フェッチさ
れた命令コードを格納すべく命令格納信号を命令キュー
4に与える。The memory control unit 3 includes a data access control unit 30 and a fetch control unit 31. The data access control unit 30
Performs access to the memory of the operation data according to the data access request signal given from the execution control unit 21,
When the access is completed, a data access completion signal is given to the execution control unit 21. If the instruction queue 4 is empty based on the number of empty words given from the instruction queue 4, the fetch control unit 31 fetches the instruction code and sends an instruction storage signal to store the fetched instruction code. Give to.
命令キュー4は、例えばFIFO(First−In,First−Ou
t)のスタックレジスタで構成され、フェッチ制御部31
から与えられる命令格納信号にしたがってフェッチされ
た命令コードを格納する。命令キュー4は、格納した命
令コードの取得が可能である旨を示す命令取得信号を命
令デコーダ1に与え、これにより命令デコーダ1から与
えられる命令取得要求信号にしたがって格納した命令コ
ードを命令デコーダ1に与える。The instruction queue 4 is, for example, a FIFO (First-In, First-Ou).
t), the fetch control unit 31
And stores the fetched instruction code in accordance with the instruction storage signal given by The instruction queue 4 supplies the instruction decoder 1 with an instruction acquisition signal indicating that the stored instruction code can be acquired, and thereby stores the instruction code stored in accordance with the instruction acquisition request signal given from the instruction decoder 1. Give to.
次に、第2図に示す命令デコーダ1の状態遷移図を用
いて、命令デコーダ1の状態遷移を説明する。Next, the state transition of the instruction decoder 1 will be described with reference to the state transition diagram of the instruction decoder 1 shown in FIG.
第2図において、命令デコーダ1の状態は初期状態、
命令解読状態、最終状態の3つの状態をとる。2, the state of the instruction decoder 1 is an initial state,
It takes three states: an instruction decoding state and a final state.
初期状態にあって、命令取得可能信号が命令キュー4
から命令デコーダ1に与えられると、命令キュー4から
命令コードを取得して、命令コードの識別を行なった
後、解読状態に遷移する。命令取得可能信号が出力され
ていない場合には、初期状態を維持する。このような初
期状態では、処理コードとしてNOP命令が、命令長とし
て“0"がそれぞれ選択されて命令実行部2に与えられ
る。In the initial state, the command obtainable signal is
To the instruction decoder 1, the instruction code is acquired from the instruction queue 4, the instruction code is identified, and the state transits to the decoding state. If the command acquisition enable signal has not been output, the initial state is maintained. In such an initial state, the NOP instruction is selected as the processing code, and “0” is selected as the instruction length, and is given to the instruction execution unit 2.
命令解読状態1〜nは命令コードのデコードサイクル
であり、命令コードから処理コード、レジスタコード、
演算サイズ、命令長等がデコードされ、さらに必要な場
合には、イミディエートデータ、ディスプレースメント
等の取得が行なわれる。このような命令解読状態にあっ
ては、初期状態と同様に、処理コードとしてNOP命令
が、命令長として“0"がそれぞれ選択されて命令実行部
2に与えられる。The instruction decoding states 1 to n are instruction code decode cycles, and include instruction codes, processing codes, register codes,
The operation size, instruction length, and the like are decoded, and if necessary, immediate data, displacement, and the like are obtained. In such an instruction decoding state, the NOP instruction is selected as the processing code and “0” is selected as the instruction length, and the instruction execution unit 2 is given the same as the initial state.
最終状態は命令デコーダ1の最終サイクルであり、次
命令実行可能信号がアサートされている場合は、デコー
ド結果が命令実行部2に与えられて初期状態に遷移す
る。一方、次命令実行可能信号がアサートされていない
場合には、アサートされるまで最終状態が維持される。The final state is the last cycle of the instruction decoder 1, and when the next instruction executable signal is asserted, the decoding result is given to the instruction execution unit 2 and transits to the initial state. On the other hand, if the next instruction executable signal is not asserted, the final state is maintained until it is asserted.
なお、初期状態において、命令コードの取得後直ちに
命令デコードの1サイクル目を実行することが可能であ
り、このような場合にはデコード時間を1サイクル分だ
け短縮することができる。In the initial state, it is possible to execute the first cycle of instruction decoding immediately after obtaining the instruction code, and in such a case, the decoding time can be reduced by one cycle.
次に、第3図に示す命令実行部2の状態遷移図を用い
て、命令実行部2の状態遷移を説明する。Next, the state transition of the instruction execution unit 2 will be described with reference to the state transition diagram of the instruction execution unit 2 shown in FIG.
第3図において、初期状態では、命令デコーダ1から
与えられたそれぞれのデコード結果がそれぞれ対応する
レジスタに格納され、処理コードにしたがって命令実行
処理の第1ステップが実行される。第1ステップでの処
理は、実行しようとする命令によって異なるが、例えば
2項演算命令の場合は、2つのオペランドレジスタから
データが読出された演算器に入力され、処理コードにし
たがって演算命令が演算器に与えられる。この後、実行
状態に遷移する。In FIG. 3, in the initial state, each decoding result provided from the instruction decoder 1 is stored in a corresponding register, and the first step of the instruction execution processing is executed according to the processing code. The processing in the first step differs depending on the instruction to be executed. For example, in the case of a binary operation instruction, the data is read from two operand registers and input to an arithmetic unit, and the arithmetic instruction is operated according to the processing code. Given to the vessel. After that, the state transits to the execution state.
実行状態では、初期状態で設定された演算処理が実際
に実行され、演算結果のレジスタへの格納、メモリアク
セル要求等が行なわれる。In the execution state, the operation processing set in the initial state is actually executed, and the operation result is stored in a register, a memory accelerator request, and the like are performed.
最終状態では、命令デコーダ1から与えられる命令長
にしたがってプログラムカウンタが更新される。プログ
ラムカウンタの更新は、ジャンプ命令等以外の命令で
は、プログラムカウンタインクリメンタの出力値をプロ
グラムカウンタのカウント値とすることにより実行され
るので、実行状態の最終サイクルと最終状態とは重畳し
て並列に行なうことが可能となる。また、最終状態で
は、次命令実行可能信号がアサートされ、初期状態に遷
移する。In the final state, the program counter is updated according to the instruction length given from the instruction decoder 1. The update of the program counter is executed by using the output value of the program counter incrementer as the count value of the program counter for instructions other than the jump instruction and the like, so that the final cycle of the execution state and the final state are superimposed and parallel. Can be performed. In the final state, the next instruction executable signal is asserted, and the state transits to the initial state.
さらに、一部の命令では初期状態と最終状態を兼ね
て、1サイクルでその実行処理が終了することが可能な
ものであり、例えばNOP命令では、プログラムカウンタ
の更新だけを行なえばよいので、1サイクルで実行処理
が終了する。Further, in some instructions, both the initial state and the final state can be executed in one cycle, and the execution processing can be completed in one cycle. For example, in the case of the NOP instruction, only the program counter needs to be updated. The execution process ends in a cycle.
このような構成において、命令デコーダ1と命令実行
部2との間では、以下に示すようにハンドシェークを行
なった同期をとりながら処理が実行される。In such a configuration, the processing is executed between the instruction decoder 1 and the instruction execution unit 2 while synchronizing handshaking as described below.
まず、命令実行部2での実行処理が終了する前に次に
実行処理しようとする命令コードのデコードが終了した
場合には、次命令実行可能信号が命令実行部2から命令
デコーダ1にアサートされていないので、デコード結果
は命令デコーダ1に保持された状態となる。その後、命
令デコーダ1は、次命令実行可能信号が与えられること
によって、命令実行部2での実行処理が終了したことを
判別し、この時点でデコード結果が命令実行部2に与え
られる。First, if decoding of an instruction code to be executed next is completed before execution processing in the instruction execution unit 2 is completed, a next instruction executable signal is asserted from the instruction execution unit 2 to the instruction decoder 1. Therefore, the decoding result is held in the instruction decoder 1. Thereafter, the instruction decoder 1 determines that the execution processing in the instruction execution unit 2 is completed by receiving the next instruction execution enable signal. At this point, the decoding result is supplied to the instruction execution unit 2.
一方、命令実行部2での実行処理が終了しても、次に
実行処理しようとする命令のデコード処理が終了してい
ない場合には、命令デコーダ1は処理コードとしてNOP
命令を、命令長として“0"を命令実行部2に出力してい
る。これにより、命令実行部2はそれまで実行処理して
いた命令の実行処理が終了した後、命令長“0"のNOP命
令を命令デコーダ1でのデコード処理が終了するまで実
行し続けることになる。On the other hand, if the decoding process of the instruction to be executed next is not completed even after the execution process in the instruction execution unit 2 is completed, the instruction decoder 1 sets NOP as the processing code.
The instruction outputs “0” to the instruction execution unit 2 as the instruction length. As a result, the instruction execution unit 2 continues to execute the NOP instruction having the instruction length “0” until the decoding processing in the instruction decoder 1 ends, after the execution processing of the instruction that has been executed is completed. .
このように、NOP命令が実行される間はプログラムカ
ウンタが更新されるだけで、実質的な処理動作は行なわ
れていない。しかも、命令長として“0"が与えられてい
るため、実際にはプログラムカウンタも更新されないこ
とになる。すなわち、命令長“0"のNOP命令を実行する
ことによって、命令実行部2の内部状態は全く変化せ
ず、ウェイト状態と等価の状態となる。Thus, while the NOP instruction is being executed, only the program counter is updated, and no substantial processing operation is performed. Moreover, since "0" is given as the instruction length, the program counter is not actually updated. That is, by executing the NOP instruction having the instruction length “0”, the internal state of the instruction execution unit 2 does not change at all, and becomes a state equivalent to the wait state.
一方、デコード結果の処理コードが正規のNOP命令で
ある場合には、命令長として所定の命令長が出力される
ため、プログラムカウンタは正しく更新される。On the other hand, if the processing code resulting from the decoding is a regular NOP instruction, a predetermined instruction length is output as the instruction length, so that the program counter is correctly updated.
このように、命令実行部2での実行処理が命令デコー
ダ1でのデコード処理よりも早く終了した場合でも、命
令実行部2は命令デコーダ1から与えられる処理コード
にしたがって実行処理を行なえばよいので、デコード処
理が終了したか否かによって状態遷移を制御する必要が
なくなる。これにより、デコード終了信号が不要になる
とともに、従来のようにデコード終了信号によって待ち
状態に遷移するための状態制御回路が不要となる。この
結果、回路の簡略化、回路規模の大幅な縮小を実現する
ことができる。As described above, even when the execution processing in the instruction execution unit 2 ends earlier than the decoding processing in the instruction decoder 1, the instruction execution unit 2 only needs to perform the execution processing according to the processing code given from the instruction decoder 1. In addition, there is no need to control the state transition depending on whether or not the decoding process has been completed. This eliminates the need for a decode end signal and eliminates the need for a state control circuit for transitioning to the wait state by the decode end signal as in the conventional case. As a result, the circuit can be simplified and the circuit scale can be significantly reduced.
なお、この発明は、上記実施例に示した情報処理装置
の構成に限定されるものではなく、例えば、プログラム
カウンタやプログラムインクリメンタは、フェッチ制御
部31に設けてもよい。このような構成にあっても、この
発明によるハンドシェーク方式を適用することが可能で
あり、同様の効果を得ることができる。Note that the present invention is not limited to the configuration of the information processing apparatus described in the above embodiment. For example, a program counter and a program incrementer may be provided in the fetch control unit 31. Even in such a configuration, the handshake method according to the present invention can be applied, and similar effects can be obtained.
[発明の効果] 以上説明したように、この発明によれば、命令の解読
中に命令長“0"の所定の処理コードを命令実行部に与え
ることにより命令実行部をウェイト状態と等価の状態に
するようにしたので、命令実行部は命令の解読が終了し
たか否かによって状態を遷移させる必要がなくなる。こ
れにより、命令デコード部と命令実行部間のハンドシェ
ークにおいて解読が終了したことを示す信号が不要とな
り、回路構成の簡略化及び小型化を図った情報処理装置
を提供することができる。[Effects of the Invention] As described above, according to the present invention, the instruction execution unit is given a predetermined processing code of the instruction length "0" during the decoding of the instruction, so that the instruction execution unit is in a state equivalent to the wait state. Therefore, the instruction execution unit does not need to change the state depending on whether or not the decoding of the instruction has been completed. This eliminates the need for a signal indicating that decoding has been completed in the handshake between the instruction decoding unit and the instruction execution unit, and can provide an information processing apparatus with a simplified circuit configuration and reduced size.
第1図はこの発明の一実施例に係わる情報処理装置の構
成を示すブロック図、第2図及び第3図は第1図に示す
装置の要部構成における状態遷移を示す図、第4図は従
来の情報処理装置における要部構成を示すブロック図、
第5図及び第6図は第4図に示す従来の情報処理装置に
おける要部構成の状態遷移を示す図である。 1,101……命令デコーダ、 2,102……命令実行部、 3……メモリ制御部、 4……命令キュー。FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to an embodiment of the present invention, FIGS. 2 and 3 are diagrams showing state transitions in a main configuration of the apparatus shown in FIG. 1, and FIG. Is a block diagram showing a main configuration of a conventional information processing apparatus,
FIG. 5 and FIG. 6 are diagrams showing the state transition of the main part configuration in the conventional information processing apparatus shown in FIG. 1,101: instruction decoder, 2,102: instruction execution unit, 3: memory control unit, 4: instruction queue.
Claims (1)
ドと命令長として零を出力し、命令の解読終了後には解
読して得られた命令実行のための処理コード及び命令長
を出力する命令デコード部と、 前記命令デコード部から出力される処理コードにしたが
って実行処理を行ない、前記命令デコード部から出力さ
れる命令長にしたがって次実行予定命令を指定する情報
を更新する命令実行部と、 前記命令デコード部と前記命令実行部との間のパイプラ
イン処理を制御するパイプライン処理制御部と を有することを特徴とする情報処理装置。1. While decoding an input instruction, a predetermined processing code and zero are output as an instruction length, and after completion of the instruction decoding, a processing code and an instruction length for executing the instruction obtained by decoding are output. An instruction decoding unit that performs an execution process according to a processing code output from the instruction decoding unit, and updates information specifying a next execution instruction according to an instruction length output from the instruction decoding unit; An information processing apparatus, comprising: a pipeline processing control unit configured to control pipeline processing between the instruction decoding unit and the instruction execution unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13978590A JP2825315B2 (en) | 1990-05-31 | 1990-05-31 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13978590A JP2825315B2 (en) | 1990-05-31 | 1990-05-31 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0434621A JPH0434621A (en) | 1992-02-05 |
JP2825315B2 true JP2825315B2 (en) | 1998-11-18 |
Family
ID=15253373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13978590A Expired - Fee Related JP2825315B2 (en) | 1990-05-31 | 1990-05-31 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2825315B2 (en) |
-
1990
- 1990-05-31 JP JP13978590A patent/JP2825315B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0434621A (en) | 1992-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5091853A (en) | Chained addressing mode pipelined processor which merges separately decoded parts of a multiple operation instruction | |
JP2507638B2 (en) | Data processing device | |
JPH0810428B2 (en) | Data processing device | |
US4945511A (en) | Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions | |
EP0227117A2 (en) | Program skip operation control system | |
JPH07129413A (en) | Interruption processor | |
JP2825315B2 (en) | Information processing device | |
JPH0769806B2 (en) | Data processing device | |
EP0573071A2 (en) | A microprocessor | |
JPH0384632A (en) | Data processor | |
JPS6134188B2 (en) | ||
JP2522048B2 (en) | Microprocessor and data processing device using the same | |
JP3100705B2 (en) | Apparatus for instruction preparation in a microprocessor | |
JPH0793151A (en) | Instruction supplying device | |
JP2000029696A (en) | Processor, and pipeline process control method | |
JP2843844B2 (en) | Parallel processing unit | |
US20100153688A1 (en) | Apparatus and method for data process | |
JPS60250438A (en) | Information processor | |
JP3060917B2 (en) | Processor | |
JPH03164945A (en) | Data processor | |
JPH0512009A (en) | Digital signal processing device | |
JPH0855033A (en) | Information processor | |
WO2002042897A2 (en) | Data processing apparatus | |
JPH0317135B2 (en) | ||
JPH0769805B2 (en) | Data processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |