JPH031234A - Information processor - Google Patents

Information processor

Info

Publication number
JPH031234A
JPH031234A JP1137035A JP13703589A JPH031234A JP H031234 A JPH031234 A JP H031234A JP 1137035 A JP1137035 A JP 1137035A JP 13703589 A JP13703589 A JP 13703589A JP H031234 A JPH031234 A JP H031234A
Authority
JP
Japan
Prior art keywords
instruction
instructions
arithmetic unit
parallel
register
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
JP1137035A
Other languages
Japanese (ja)
Inventor
Hiromichi Kaino
戒能 博通
Eiki Kamata
釜田 栄樹
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1137035A priority Critical patent/JPH031234A/en
Publication of JPH031234A publication Critical patent/JPH031234A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To accelerate the execution of an instruction by executing the instruction such as a load instruction, a store instruction, and a branch instruction, etc., not using a computing element and an other instruction using the computing element in parallel. CONSTITUTION:When an instruction decoder decodes plural instructions in an instruction string in parallel, an instruction control means judges a decoded instruction, and sends out the low-order bits of an arithmetic input registers 12 and 13 to the low-order bit of an arithmetic output register 14 bypassing the computing element 9 by using data buses 12b and 13b when the instruction using the computing element 9 is executed. Also, the instruction not using the computing element 9, for example, a data transfer instruction between the registers 12 and 13, the load instruction of the data transfer instruction between the registers 12, 13 and a memory 1, and the store instruction, etc., is executed in parallel with the instruction using the computing element 9. Thereby, it is possible to execute the processing of the instruction without increasing the number of computing elements 9, and to improve performance.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置に係り、特に、演算器を使用す
る命令と演算器を使用しない命令とを同時に並行して実
行する情報処理装置に関するものである。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to an information processing device, and particularly to an information processing device that simultaneously executes an instruction that uses an arithmetic unit and an instruction that does not use an arithmetic unit in parallel. It is related to.

〔従来の技術〕[Conventional technology]

従来、情報処理装置において、命令処理の実行を高速化
する手法は、パイプライン制御方式が主流である。この
パイプライン制御方式は、1命令の処理を複数の独立し
たステージに分けて行い、複数の命令の異なる各ステー
ジの処理を重ねて同時に動作させて行い、実効的な1命
令の実行処理時間を短縮する制御方式である。
Conventionally, in information processing devices, a pipeline control method has been the mainstream method for speeding up the execution of instruction processing. This pipeline control method divides the processing of one instruction into multiple independent stages, overlaps the processing of different stages of multiple instructions, and runs them simultaneously, reducing the effective execution processing time of one instruction. This is a control method that shortens the time.

また、複数の演算ユニツl−を用いて、複数の命令を各
々の演算ユニットで並行して同時に実行する並列処理方
式も一部では用いられている。この種の並列処理方式を
用いる情報処理装置の例としは、例えば、特開昭61−
16335号公報に記載されたものがある。
Furthermore, a parallel processing method is also used in which a plurality of arithmetic units l- are used to simultaneously execute a plurality of instructions in parallel in each arithmetic unit. An example of an information processing device using this type of parallel processing method is, for example,
There is one described in Publication No. 16335.

しかし、複数の演算ユニットを用いる並列処理方式にお
いては、命令を順次実行するプログラムに関して、各々
の命令の間の処理結果の引渡しの関係から、各命令の同
期処理は困難である。これに対して、上述した特開昭6
1−16335号公報に記載された情報処理装置におい
ては、命令の処理で必要とするリソースを判定する回路
を設け、命令の追越しを許す命令制御方式を行い、命令
処理を高速化している。
However, in a parallel processing system using a plurality of arithmetic units, it is difficult to synchronize each instruction in a program that sequentially executes instructions due to the transfer of processing results between each instruction. On the other hand, the above-mentioned Japanese Patent Application Publication No. 6
The information processing apparatus described in Japanese Patent No. 1-16335 is equipped with a circuit that determines the resources required for processing an instruction, and uses an instruction control method that allows overtaking of instructions to speed up instruction processing.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ところで、パイプライン制御方式を用いて、命令の処理
を高速化する場合、1命令の各段階の処理の各ステージ
の処理の独立性を高めて、各ステージの処理を多重度を
多くして、実効的な1命令の実行処理時間を短縮する必
要がある。したがって、高速化のためには1ステージに
1つの命令の実行が完了するように、各ステージを細か
くする必要があるが、この場合、各ステージの処理の流
れが乱れると、パイプラインの流れの乱れを正常化する
ための時間が多く必要となり、パイプラインの乱れによ
るオーバーヘッドが大きくなる欠点がある。
By the way, when speeding up instruction processing using the pipeline control method, it is possible to increase the independence of each stage of processing of one instruction and increase the degree of multiplicity of processing at each stage. It is necessary to shorten the effective execution processing time of one instruction. Therefore, in order to increase speed, it is necessary to make each stage smaller so that execution of one instruction is completed in each stage, but in this case, if the flow of processing at each stage is disrupted, the flow of the pipeline will be disrupted. This method has the disadvantage that it requires a lot of time to normalize the disturbance, and the overhead due to the disturbance in the pipeline becomes large.

また、複数の演算ユニットを用いる並列処理方式では、
先に述べた同期処理の問題から命令実行制御の論理が複
雑化し、実現のための制御方式が複雑となり、そのため
のハードウェア量も多大化する。また、演算ユニットを
複数個設ける構成としても、実際のプログラムの処理の
中では、前命令の演算結果をすぐ次の命令で用いること
が多いため、複数の演算ユニットを用いて効率よく並列
処理を行えることは少ない場合が多く、ハードウェアを
多く設けている割には処理性能が向上しないという問題
がある。
In addition, in parallel processing methods that use multiple processing units,
Due to the above-mentioned synchronization problem, the logic of instruction execution control becomes complicated, the control method for implementation becomes complicated, and the amount of hardware required increases. Furthermore, even if multiple arithmetic units are provided, in actual program processing, the arithmetic result of the previous instruction is often used in the immediately following instruction, so multiple arithmetic units can be used to efficiently perform parallel processing. There is a problem that there is often little that can be done, and processing performance does not improve even though a large amount of hardware is provided.

本発明は、上記問題点を解決するためになされたもので
ある。
The present invention has been made to solve the above problems.

本発明の目的は、演算器を使用する命令と演算器を使用
しない命令とを同時に並行して実行できる情報処理装置
を提供することにある。
An object of the present invention is to provide an information processing device that can simultaneously execute instructions that use an arithmetic unit and instructions that do not use an arithmetic unit.

本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述及び添付図面によって明らかになるであろ
う。
The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するため、本発明の情報処理装置におい
ては、命令列の複数の命令を並列にデコードする命令デ
コーダと、演算器と、演算器をバイパスして演算入力レ
ジスタの下位ビットを演算出力レジスタの下位ビットに
送出するデータパスと、前記命令デコーダでデコードし
た命令を判定し、演算器を使用する命令の実行時に、前
記データパスを用いて、演算器を使用しない命令を、演
算器を使用する命令と同時に並行して実行する命令制御
手段とを備えることを特徴とする。
In order to achieve the above object, the information processing device of the present invention includes an instruction decoder that decodes a plurality of instructions in an instruction string in parallel, an arithmetic unit, and an arithmetic unit that bypasses the arithmetic unit and outputs the lower bits of the arithmetic input register. The data path to be sent to the lower bits of the register and the instruction decoded by the instruction decoder are determined, and when an instruction that uses an arithmetic unit is executed, an instruction that does not use an arithmetic unit is executed using the arithmetic unit using the data path. It is characterized by comprising an instruction control means that executes the instructions to be used simultaneously and in parallel.

〔作用〕[Effect]

前記手段によれば、情報処理装置において、命令デコー
ダと、演算器と、演算器をバイパスするデータパスと、
命令制御手段が備えられる。命令デコーダが命令列の複
数の命令を並列にデコードすると、命令制御手段がデコ
ードした命令を判定し、演算器を使用する命令の実行時
に、演算入力レジスタの下位ビットを、データパスを用
いて演算器をバイパスして演算出力レジスタの下位ビッ
トに送出し、演算器を使用しない命令、例えば、レジス
タ間のデータ転送命令、レジスタとメモリ間のデータ転
送命令のロード命令およびストア命令などの命令を、演
算器を使用する命令と同時に並行して行う。
According to the above means, the information processing device includes: an instruction decoder, an arithmetic unit, and a data path that bypasses the arithmetic unit;
Command control means are provided. When the instruction decoder decodes multiple instructions in the instruction sequence in parallel, the instruction control means determines the decoded instruction, and when executing an instruction that uses an arithmetic unit, calculates the lower bits of the arithmetic input register using the data path. Instructions that bypass the unit and send to the lower bits of the operation output register, and do not use the operation unit, such as data transfer instructions between registers, data transfer instructions between registers and memory, load instructions, and store instructions, Executes in parallel with instructions that use arithmetic units.

これにより、演算器を増加することなく、命令の処理を
並行して実行することができ、性能を向上させることが
できる。
As a result, instructions can be processed in parallel without increasing the number of arithmetic units, and performance can be improved.

演算器をバイパスして演算入力レジスタの下位ビットを
演算出力レジスタの下位ビットに送出するデータパスは
、演算器の入力レジスタの上位ビットおよびと下位ビッ
トを独立に選択するセレクタと、演算器の入力レジスタ
から出力レジスタへ演算器を通過しないでデータ転送で
きるパスと、該パスからの転送データおよび演算器から
の出方データを選択して、出力レジスタに供給するセレ
クタから構成される。また、命令デコーダは、少なくと
も2つの命令を並列に同時にデコードし、命令制御手段
は、並行して実行可能な演算器を使用しない命令および
演算器を使用する命令を判定し、命令の処理の制御を行
う。演算器を用いる命令の制御はマイクロプログラムで
行い、演算器を用いない命令の制御はハードウェア論理
のパス制御により行う。このように命令の並列実行は、
ハードウェアによるパス制御が加わるだけなので、並列
実行可能な命令の並列実行の制御が複雑となることはな
く、簡単なハードウェアパスの追加により実現できる。
The data path that bypasses the arithmetic unit and sends the lower bits of the arithmetic input register to the lower bits of the arithmetic output register consists of a selector that independently selects the upper and lower bits of the input register of the arithmetic unit, and a selector that independently selects the upper and lower bits of the input register of the arithmetic unit. It consists of a path that allows data to be transferred from the register to the output register without passing through the arithmetic unit, and a selector that selects the transfer data from the path and the output data from the arithmetic unit and supplies it to the output register. Further, the instruction decoder decodes at least two instructions simultaneously in parallel, and the instruction control means determines which instructions do not use an arithmetic unit and which instructions use an arithmetic unit can be executed in parallel, and control the processing of the instructions. I do. Instructions that use arithmetic units are controlled by microprograms, and instructions that do not use arithmetic units are controlled by hardware logic path control. In this way, parallel execution of instructions is
Since path control by hardware is only added, controlling the parallel execution of instructions that can be executed in parallel does not become complicated, and can be achieved by simply adding a hardware path.

一般に情報処理装置のアーキテクチャ上、演算器は、メ
モリからメモリへのデータ転送あるいは10進演算のた
めに8バイト以上の幅の構成をとっている。また、メモ
リとレジスタ間の転送命令では4バイト幅のデータを扱
うので、この転送命令では、演算器の残りの4バイトは
有効に利用されていない。このため1本発明によるデー
タパスの回路を付加する構成としても、演算器の構成の
金物量の増加が多くなることはない。
Generally, in the architecture of an information processing device, an arithmetic unit has a width of 8 bytes or more for data transfer from memory to memory or decimal operation. Furthermore, since the transfer instruction between the memory and the register handles 4-byte wide data, the remaining 4 bytes of the arithmetic unit are not effectively used in this transfer instruction. Therefore, even if the data path circuit according to the present invention is added, the amount of hardware in the arithmetic unit structure will not increase.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面を用いて具体的に説明す
る。
Hereinafter, one embodiment of the present invention will be specifically described using the drawings.

第1図は、本発明の一実施例にかかる情報処理装置の構
成を示すブロック図である。第1図において、■は主記
憶装置である。主記憶装置lから読み出された命令列は
、命令転送パス1aを通して命令バッファ2に転送され
て格納される。命令バッファ2に格納された命令列は、
更に先行する命令がX命令レジスタ3に切り出され、後
続する命令がY命令レジスタ4に切り出されて、命令デ
コーダ(図示せず)によりデコードされる。X命令レジ
スタ3およびY命令レジスタ4にセットされた各命令(
先行命令、後続命令)が、デコートされて判定され、各
々の命令の内容に応じて、命令処理の制御を行う。すな
わち、当該命令がメモリのデータを必要とする命令であ
れば、メモリのアドレスをメモリアドレスバス33およ
び43を介して主記憶装置1に送出し、読み出しリクエ
ストを出す。読み出しリクエストに対して、主記憶装置
1からは主記憶の内容が読み出されて、データパスlb
、lcから出力される。また、当該命令が、汎用レジス
タの内容を必要とする命令であれば、必要とする汎用レ
ジスタ番号をパス32およびパス42を介して汎用レジ
スタ群5に知らせ、汎用レジスタ番号のレジスタの内容
が読み出されて、汎用レジスタ群5からのデータパス5
aおよびデータパス5bによって出力される。このよう
に、各々の命令の処理で必要とするオペランドの読み出
しは、X命令レジスタ3の命令(以下、X命令と称する
)およびY命令レジスタ4の命令(以下、Y命令と称す
る)のそれぞれの命令に対して、独立に行う機構を有す
る構成となっている。
FIG. 1 is a block diagram showing the configuration of an information processing apparatus according to an embodiment of the present invention. In FIG. 1, ■ is the main storage device. The instruction sequence read from the main memory device 1 is transferred to the instruction buffer 2 through the instruction transfer path 1a and stored therein. The instruction sequence stored in instruction buffer 2 is
Furthermore, the preceding instruction is extracted into the X instruction register 3, and the subsequent instruction is extracted into the Y instruction register 4, and decoded by an instruction decoder (not shown). Each instruction (
(preceding instructions, subsequent instructions) are decoded and determined, and instruction processing is controlled according to the content of each instruction. That is, if the instruction is an instruction that requires memory data, the memory address is sent to the main storage device 1 via the memory address buses 33 and 43, and a read request is issued. In response to a read request, the main memory contents are read from the main memory device 1, and the data path lb
, lc. If the instruction in question requires the contents of a general-purpose register, the required general-purpose register number is notified to the general-purpose register group 5 via paths 32 and 42, and the contents of the register with the general-purpose register number are read. data path 5 from general register group 5
a and data path 5b. In this way, the operands required for processing each instruction can be read for each of the instructions in the X instruction register 3 (hereinafter referred to as the X instruction) and the instruction in the Y instruction register 4 (hereinafter referred to as the Y instruction). It is configured to have a mechanism that independently executes instructions.

また、X命令レジスタ3およびY命令レジスタ4にセッ
トされた各命令(X命令とY命令)の種別が命令並列判
定回路6へ転送され、命令並列判定回路6が演算器を使
用する命令(以下、M命令と称する)の判定とデータ転
送のみの命令(以下、S命令と称する)の判別を行う。
In addition, the type of each instruction (X instruction and Y instruction) set in the X instruction register 3 and Y instruction register 4 is transferred to the instruction parallelism determination circuit 6, and the instruction parallelism determination circuit 6 uses , M commands) and data transfer only commands (hereinafter referred to as S commands).

判定の結果、命令並列判定回路6が、X命令とY命令が
M命令とS′全命令ペアであると判定した場合には、制
御線6aによりX命令とY命令のどちらがM命令である
かを伝えるので、制御線6aの信号によりセレクタ20
はM命令の側をセレクトする。セレクタ20により選択
された命令の命令コードによって、制御記憶アドレスレ
ジスタ10には命令処理の先頭アドレスがセットされ、
制御記憶装置8から順次にマイクロプログラムが読み出
され、その内容が制御記憶データレジスタ11へセット
される。制御記憶データレジスタ11にセットしたマイ
クロ命令により演算器9を制御して命令の実行を行う。
As a result of the determination, if the instruction parallelism determination circuit 6 determines that the X instruction and the Y instruction are an M instruction and S' all instruction pair, the control line 6a determines which of the X instruction and the Y instruction is the M instruction. is transmitted to the selector 20 by the signal on the control line 6a.
selects the M instruction side. The start address of instruction processing is set in the control storage address register 10 according to the instruction code of the instruction selected by the selector 20,
Microprograms are sequentially read from the control storage device 8 and their contents are set in the control storage data register 11. The microinstruction set in the control storage data register 11 controls the arithmetic unit 9 to execute the instruction.

一方、命令並列判定回路6からはX命令/Y命令とM命
令/S命令との対応付けを示す並列対応信号が、信号線
6bによってオペランド制御回路7へ伝えられる。オペ
ランド制御回路7では、並列対応信号を受けて、X命令
レジスタ3およびY命令レジスタ4からのオペランド信
号(パス32゜33、42.43からの信号)を受けて
、X命令とY命令で必要とするオペランドを知り、演算
器の八人力レジスタ(WAR)12とB入力レジスタ(
WBR)13にセットすべきデータのセレクト信号を生
成する。生成したセレクト信号は信号線7b、7Cによ
りセレクタ21.セレクタ22に供給され、セレクタ2
1およびセレクタ22を制御する。
On the other hand, a parallel correspondence signal indicating the correspondence between the X instruction/Y instruction and the M instruction/S instruction is transmitted from the instruction parallel determination circuit 6 to the operand control circuit 7 via the signal line 6b. The operand control circuit 7 receives the parallel correspondence signal, receives the operand signals from the X instruction register 3 and the Y instruction register 4 (signals from paths 32, 33, and 42, 43), and performs the operations necessary for the X and Y instructions. Knowing the operands to be used as
WBR) 13 generates a select signal for data to be set. The generated select signal is sent to the selector 21. by the signal lines 7b and 7C. is supplied to the selector 22, and the selector 2
1 and selector 22.

前述したように、汎用レジスタ群5からのデータは、デ
ータパス5a、5bにより、また、主記憶装置1から読
み出されたデータは、データパスlb、lcにより、そ
れぞれセレクタ21.22に与えられている。このた′
め、セレクト信号でセレクタ21.22を制御すること
により、M命令のオペランドが、WAR12,WBR1
3の前半部(上位ビット部)へ、また、S命令のオペラ
ンドがWAR12゜WBR13の後半部(下位ビット部
)へセットされる。WAR12,WBR13にセットさ
れたM命令のオペランドデータは、データパス12a、
13aにより演算器9に供給される。また、演算器9に
は。
As described above, data from the general-purpose register group 5 is provided to the selectors 21 and 22 through the data paths 5a and 5b, and data read from the main memory 1 is provided to the selectors 21 and 22 through the data paths lb and lc, respectively. ing. others'
Therefore, by controlling selectors 21 and 22 with select signals, the operands of the M instruction are set to WAR12 and WBR1.
The operand of the S instruction is set to the second half (lower bit part) of WAR12.WBR13. The operand data of the M instruction set in WAR12 and WBR13 is transferred to the data path 12a,
The signal is supplied to the arithmetic unit 9 by 13a. Also, in the arithmetic unit 9.

演算の制御信号として、制御記憶データレジスタ11か
ら制御線11aによりマイクロ命令が供給されており、
該マイクロ命令により演算器9を制御して、演算器を用
いる命令の実行制御を行う。演算された結果データは、
データ線9aによってセレクタ23へ入力される。
As a control signal for calculation, a microinstruction is supplied from the control storage data register 11 via a control line 11a,
The microinstructions control the arithmetic unit 9 to control the execution of instructions using the arithmetic unit. The calculated result data is
It is input to the selector 23 via the data line 9a.

一方、WAR12,WBR13の後半部へ置かれたS命
令のオペランドは、データパス12b、13bにより演
算器9をバイパスして直接にセレクタ23に入力される
。セレクタ23では、オペランド制御回路7からの制御
線フaによる制御信号により、M命令の演算結果とS命
令のデータを演算出力レジスタ14へ出力し、データ線
14aを介して、汎用レジスタ群5および主記憶装置1
に、命令処理の結果を格納する。なお、汎用レジスタ群
5および主記憶袋gilへの書込み要求は独立に出され
、それぞれ、汎用レジスタ群5および主記憶装置1に独
立してデータの書込み動作の制御を行う。
On the other hand, the operand of the S instruction placed in the latter half of the WAR 12 and WBR 13 is directly input to the selector 23 by bypassing the arithmetic unit 9 through the data paths 12b and 13b. In the selector 23, the operation result of the M instruction and the data of the S instruction are outputted to the operation output register 14 by the control signal from the operand control circuit 7 via the control line F a, and the general-purpose register group 5 and Main storage device 1
The result of instruction processing is stored in . Note that write requests to the general-purpose register group 5 and the main memory bag gil are issued independently, and data write operations are independently controlled for the general-purpose register group 5 and the main memory device 1, respectively.

このように、並列にデコードされたX命令とY命令に対
して、M命令とS命令とのペアにできると判定されると
、前述したような命令処理の制御を行うことにより、M
命令とS命令として並列し命令の処理を実行することが
できる。
In this way, when it is determined that the X and Y instructions decoded in parallel can be paired as the M and S instructions, the instruction processing is controlled as described above.
It is possible to execute instruction processing in parallel as an instruction and an S instruction.

デコードしたX命令とY命令とが、M命令とS命令との
ペアにできずに、M命令とM命令となる場合には、命令
の並列実行を行わず、X令命およびY命令はそれぞれを
単独に実行する。この場合には、命令並列判定回路6の
制御により、X命令をM命令とし、オペランド制御回路
7によって。
If the decoded X and Y instructions cannot be paired with M and S instructions and become M and M instructions, the instructions are not executed in parallel and the X and Y instructions are Execute independently. In this case, under the control of the instruction parallelism determination circuit 6, the X instruction is made into an M instruction, and the operand control circuit 7

Y命令のデータをセレクトしないように命令の制御を行
うことにより、1つの命令を単独して実行することがで
きる。また、デコードしたX命令とY命令とが、M命令
とS命令とのペアにできずに、S命令とS命令となる場
合には、S命令の命令ペアとして、並列実行することが
できる。この場合には、一方のS命令を演算器を通して
実行することによって、M命令とS命令の実行として扱
うことができ、並列実行を行うことができる。
By controlling the instruction so that the data of the Y instruction is not selected, one instruction can be executed independently. Further, if the decoded X instruction and Y instruction cannot be made into a pair of M instruction and S instruction but become S instruction and S instruction, they can be executed in parallel as an instruction pair of S instruction. In this case, by executing one of the S instructions through the arithmetic unit, it can be treated as the execution of an M instruction and an S instruction, and parallel execution can be performed.

このように、命令を並列実行するように制御しても、演
算器は、10進演算、メモリからメモリへの転送のため
に通常8バイト以上のデータ幅を有しており、演算器に
対して演算結果による条件コードの設定、オーバーフロ
ーの検出等の回路は変更することなく、命令の並列実行
の制御を行うことができる。
Even if instructions are controlled to be executed in parallel, the arithmetic unit usually has a data width of 8 bytes or more for decimal operations and transfer from memory to memory. Parallel execution of instructions can be controlled without changing circuits for setting condition codes based on calculation results, overflow detection, etc.

本実施例では、演算器の入力レジスタへのセットアツプ
は1M命令、S命令の順で行い、10進命令用に設置し
である8バイト以上の幅を持った演算器の入力レジスタ
をそのまま利用するようににしているが、命令のセット
アツプ順序や、S命令にデータをセットアツプするレジ
スタは、他のレジスタを用いるようにしてもよい。
In this embodiment, the input register of the arithmetic unit is set up in the order of 1M instruction and then S instruction, and the input register of the arithmetic unit with a width of 8 bytes or more, which is set up for decimal instructions, is used as is. However, other registers may be used for the instruction set-up order and the register for setting up data for the S instruction.

なお5本実施例では、S命令の並列実行のために、演算
器9をバイパスするデータパスを、データパス12bと
データパス13bの2つのパスを設けているが、実際の
S命令の処理はデータ転送の機能のみなので、S命令で
はオペランドとなるデータは1つしか必要としない。こ
のため、WAR12゜WBR13へのデータのセットを
いずれか一方のレジスタ、例えば、WAR12とするこ
とにより、−方のデータパス13bを省略可能である。
5 In this embodiment, two data paths, data path 12b and data path 13b, which bypass the arithmetic unit 9 are provided for parallel execution of S instructions, but the actual processing of S instructions is as follows. Since the only function is data transfer, the S instruction requires only one data as an operand. Therefore, by setting data to the WAR12°WBR13 in one of the registers, for example, the WAR12, it is possible to omit the negative data path 13b.

このように、演算器を必要としないS命令、例えば、レ
ジスターレジスタのデータ転送命令、メモリーレジスタ
のロード命令、レジスターメモリのストア命令2公岐命
令などの命令は、演算を行うM命令に比べ、その実行が
簡単であるため、M命令の実行と共に・、S命令を同時
に実行できる機能を備えることにより、通常のプログラ
ムで比較的多く現れるS命令の処理時間を短縮すること
ができる。これにより、命令の処理を高速化することが
できる。
In this way, S instructions that do not require an arithmetic unit, such as register data transfer instructions, memory register load instructions, register memory store instructions, etc., have lower processing power than M instructions that perform operations. Since it is easy to execute, by providing a function that can simultaneously execute M instructions and S instructions, it is possible to shorten the processing time of S instructions, which appear relatively often in normal programs. This makes it possible to speed up instruction processing.

以上、説明したように、本実施例の情報処理装置によれ
ば、M命令は、通常の命令実行と同様にマイクロプログ
ラム制御等にて実行の制御が行われる。S命令としては
、データを転送するのみの機能を持った命令に限定する
ことにより、M命令の実行に影響がないように実行され
る。この場合、演算器の入力レジスタでは、命令のデコ
ード順序に関係なく、M命令とS命令のペアが判定され
、M命令、S命令の順でセットアツプされる。M命令の
演算器の実行制御は、S命令の有無にかかわらず、単独
で演算器を使用する命令の実行と同様な制御により行わ
れ、ファームウェア等の実行サイクルの長い命令との整
合性が異なることはない。
As described above, according to the information processing apparatus of this embodiment, the execution of the M instruction is controlled by microprogram control or the like in the same way as normal instruction execution. By limiting the S instruction to an instruction that only has the function of transferring data, it is executed so as not to affect the execution of the M instruction. In this case, in the input register of the arithmetic unit, a pair of M and S instructions is determined and set up in the order of M and S instructions, regardless of the order in which the instructions are decoded. Regardless of the presence or absence of the S instruction, the execution control of the arithmetic unit of the M instruction is performed using the same control as the execution of instructions that use the arithmetic unit alone, and the compatibility with instructions with long execution cycles such as firmware is different. Never.

このように、演算器を使用しない命令のロード命令、ス
トア命令2介岐命令などの命令を、他の演算器を使用す
る命令と並列に実行することにより、当該命令の実行サ
イクルを見かけ上0にすることができる。このため、命
令の処理が高速化する。また、並列実行を行う命令のペ
アを、演算器を使用する命令と転送型の基本命令に限定
することにより、演算器を使用する命令の実行は、並列
実行を行わない場合と同じく、マイクロプログラムの制
御に依って行う。これにより、並列実行の制御を行うた
めの金物量が、特に、増加することはない。また、並列
実行を行わない実行制御のモードを簡単に設置できる。
In this way, by executing instructions that do not use an arithmetic unit, such as a load instruction or a store instruction 2-intermediate instruction, in parallel with instructions that use other arithmetic units, the execution cycle of the instruction can be reduced to an apparent 0. It can be done. This speeds up instruction processing. In addition, by limiting the pairs of instructions that are executed in parallel to instructions that use arithmetic units and transfer-type basic instructions, the execution of instructions that use arithmetic units can be executed by microprograms in the same way as when parallel execution is not performed. This is done under the control of As a result, the amount of hardware for controlling parallel execution does not particularly increase. Additionally, an execution control mode that does not involve parallel execution can be easily set up.

以上1本発明を実施例にもとづき具体的に説明したが1
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
The present invention has been specifically described above based on examples.
It goes without saying that the present invention is not limited to the embodiments described above, and can be modified in various ways without departing from the spirit thereof.

〔発明の効果〕〔Effect of the invention〕

以上、説明したように、本発明によれば、演算器を使用
しない命令のロード命令、ストア命令。
As described above, according to the present invention, load instructions and store instructions that do not use an arithmetic unit.

分岐命令などの命令を、他の演算器を使用する命令と並
列に実行することにより、命令の実行が高速化される。
By executing instructions such as branch instructions in parallel with instructions that use other arithmetic units, instruction execution speed is increased.

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

第1図は、本発明の一実施例にかかる情報処理装置の構
成を示すブロック図、 図中、l・・・主記憶装置、2 ・命令バッファ、3・
・・X命令レジスタ、4・・・Y命令レジスタ、5 ・
汎用レジスタ群、6・・・命令並列判定回路、7・・・
オペランド制御回路、8・制御記憶装置、9・・・演算
器、10・・・制御記憶アドレスレジスタ、11・・・
制御記憶データレジスタ、12・・・A入力レジスタ、
13・・・B入力レジスタ、14・・・出力レジスタ、
20.21.22.23・・・セレクタ。
FIG. 1 is a block diagram showing the configuration of an information processing device according to an embodiment of the present invention.
・・X instruction register, 4 ・・Y instruction register, 5 ・
General-purpose register group, 6... Instruction parallelism determination circuit, 7...
Operand control circuit, 8. Control storage device, 9. Arithmetic unit, 10. Control storage address register, 11.
Control storage data register, 12...A input register,
13...B input register, 14...output register,
20.21.22.23...Selector.

Claims (1)

【特許請求の範囲】[Claims] 1、命令列の複数の命令を並列にデコードする命令デコ
ーダと、演算器と、演算器をバイパスして演算入力レジ
スタの下位ビットを演算出力レジスタの下位ビットに送
出するデータパスと、前記命令デコーダでデコードした
命令を判定し、演算器を使用する命令の実行時に、前記
データパスを用いて、演算器を使用しない命令を、演算
器を使用する命令と同時に並行して実行する命令制御手
段とを備えることを特徴とする情報処理装置。
1. An instruction decoder that decodes multiple instructions in an instruction sequence in parallel, an arithmetic unit, a data path that bypasses the arithmetic unit and sends the lower bits of the operation input register to the lower bits of the operation output register, and the instruction decoder. an instruction control unit that determines an instruction decoded by the processor, and uses the data path to execute an instruction that does not use an arithmetic unit in parallel with an instruction that uses an arithmetic unit when executing an instruction that uses an arithmetic unit; An information processing device comprising:
JP1137035A 1989-05-29 1989-05-29 Information processor Pending JPH031234A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1137035A JPH031234A (en) 1989-05-29 1989-05-29 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1137035A JPH031234A (en) 1989-05-29 1989-05-29 Information processor

Publications (1)

Publication Number Publication Date
JPH031234A true JPH031234A (en) 1991-01-07

Family

ID=15189328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1137035A Pending JPH031234A (en) 1989-05-29 1989-05-29 Information processor

Country Status (1)

Country Link
JP (1) JPH031234A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221149A (en) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd Reconfigurable integrated circuit device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221149A (en) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd Reconfigurable integrated circuit device

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
US5293500A (en) Parallel processing method and apparatus
EP1050808B1 (en) Computer instruction scheduling
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
JPH0517588B2 (en)
JPS633337B2 (en)
JPH10228376A (en) Method and program for processing multiple-register instruction
JP3237858B2 (en) Arithmetic unit
JPS63240664A (en) Fast processing computer
KR950012118B1 (en) Parallel pipelined instruction processing system for very long instruction word
JP2000353091A (en) Instruction execution method in computer system and computer system
JPH031234A (en) Information processor
JPS5995646A (en) Arithmetic control system
JPH07110769A (en) Vliw type computer
JP2819733B2 (en) Information processing device
JPS6153754B2 (en)
JP2583614B2 (en) Vector arithmetic unit
JPH01147723A (en) Pipe line processing system for information processor
JP2861234B2 (en) Instruction processing unit
JPH0258128A (en) Data processor
JPS62147545A (en) Processing system for transfer instruction of information processor
JPH0827720B2 (en) Data processing device
JPH0218732B2 (en)
JPH04116726A (en) Information processor
JPH0279122A (en) Floating point arithmetic mechanism