JPH0573263A - Data processor - Google Patents

Data processor

Info

Publication number
JPH0573263A
JPH0573263A JP3236585A JP23658591A JPH0573263A JP H0573263 A JPH0573263 A JP H0573263A JP 3236585 A JP3236585 A JP 3236585A JP 23658591 A JP23658591 A JP 23658591A JP H0573263 A JPH0573263 A JP H0573263A
Authority
JP
Japan
Prior art keywords
floating point
instruction
floating
point arithmetic
control circuit
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
JP3236585A
Other languages
Japanese (ja)
Inventor
Yuuko Hagiwara
夕子 萩原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP3236585A priority Critical patent/JPH0573263A/en
Publication of JPH0573263A publication Critical patent/JPH0573263A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To speed up the execution of instruction by enabling the simultaneous execution of more than two instructions by providing at least two-system of pipelines in a microprocessor with a floating point arithmetic processor connected. CONSTITUTION:This data processor is provided with an instruction decoder 10, pipelines 20 and 30 storing control information about each instruction of a floating point arithmetic instruction and the load storing instruction of the floating point data in a pipeline structure, floating point arithmetic control circuits 50 and 60 corresponding to the number of pipelines controlling the execution of each instruction, a floating point arithmetic circuit 90 executing the floating point arithmetic operation by performing read and write of the floating point data according to the control information to be generated, and a pipeline control circuit 40 parallely operating more than two transfer instructions of the floating point arithmetic instruction or the transfer instruction of the floating point data by performing the control of the pipeline according to the control information which is outputted from the instruction decoder 10.

Description

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

【0001】[0001]

【産業上の利用分野】この発明はデータ処理装置、特に
マイクロプロセッサに用いて好適な、改善された浮動小
数点演算を実行するデータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device, and more particularly to a data processing device suitable for use in a microprocessor and for performing improved floating point arithmetic.

【0002】[0002]

【従来の技術】高性能マイクロプロセッサの分野では、
処理の高速化のために。キャッシュメモリ、パイプライ
ン演算を採用することは常套手段である。また、プロセ
ッサ自身のスループット向上のために処理をオプション
装置に分散させることも頻繁に行われる。浮動小数点演
算用プロセッサをコプロセッサとして接続するコンピュ
ータがその代表例である。ところで、この種コンピュー
タシステムでは、パイプラインが1つしか存在しないた
めに、浮動小数点演算命令とロード・ストア命令を同時
に実行することができなかった。
In the field of high performance microprocessors,
For faster processing. It is common practice to employ cache memory and pipeline operations. Further, in order to improve the throughput of the processor itself, the processing is often distributed to the optional devices. A typical example is a computer in which a floating point arithmetic processor is connected as a coprocessor. By the way, in this type of computer system, since there is only one pipeline, the floating point arithmetic instruction and the load / store instruction cannot be executed at the same time.

【0003】[0003]

【発明が解決しようとする課題】上述したように従来の
浮動小数点演算用プロセッサをコプロセッサとして接続
するコンピュータに於いては、2つ以上の命令を同時に
実行することができず、従って、浮動小数点演算の実行
速度は期待するほど向上できず、浮動小数点演算のより
高速化を図る上で問題があった。
As described above, in a computer in which a conventional floating point arithmetic processor is connected as a coprocessor, two or more instructions cannot be executed at the same time. The execution speed of the operation could not be improved as expected, and there was a problem in increasing the speed of the floating point operation.

【0004】この発明は上記事情に鑑みてなされたもの
であり、浮動小数点演算のためのコプロセッサを接続し
たマイクロプロセッサにおいて、2つ以上の命令の同時
実行を可能として、命令実行速度の高速化を図ったデー
タ処理装置を提供することを目的とする。
The present invention has been made in view of the above circumstances. In a microprocessor to which a coprocessor for floating-point arithmetic is connected, two or more instructions can be simultaneously executed, and the instruction execution speed can be increased. It is an object of the present invention to provide a data processing device aiming at the above.

【0005】[0005]

【課題を解決するための手段】本発明は、浮動小数点演
算回路を外部に接続することにより浮動小数点演算命令
を実行処理するデータ処理装置において、命令をデコー
ドして制御情報を生成する命令デコーダと、浮動小数点
演算命令と浮動小数点データのロード・ストア命令のい
ずれの命令に関する制御情報をパイプライン構造で格納
する少なくとも2つのパイプラインと、浮動小数点演算
命令、及び浮動小数点データのロード・ストア命令を実
行制御する上記パイプラインの数に相当する浮動小数点
演算制御回路と、この回路で生成される制御情報に従い
浮動小数点データのリード/ライトを行い浮動小数点演
算を実行する浮動小数点演算回路と、上記命令デコーダ
が出力する制御情報に従い上記パイプラインを制御し、
浮動小数点演算命令あるいは浮動小数点データの転送命
令を2以上並行操作するパイプライン制御回路とを具備
することを特徴とする。
SUMMARY OF THE INVENTION The present invention provides an instruction decoder for decoding an instruction and generating control information in a data processing device for executing a floating point operation instruction by connecting a floating point operation circuit to the outside. , A floating point arithmetic instruction and a floating point data load / store instruction, and at least two pipelines for storing control information regarding a floating point arithmetic instruction and a floating point data load / store instruction in a pipeline structure. A floating-point arithmetic control circuit corresponding to the number of pipelines whose execution is controlled, a floating-point arithmetic circuit that performs floating-point arithmetic by reading / writing floating-point data according to control information generated by this circuit, and the above instruction Control the pipeline according to the control information output by the decoder,
A pipeline control circuit for operating two or more floating point arithmetic instructions or floating point data transfer instructions in parallel is provided.

【0006】[0006]

【作用】本発明は上述した構成にて、まず、命令デコー
ダは主メモリから得られる2以上の命令を解読し制御情
報に変換してパイプラインのそれぞれに供給する。パイ
プラインはこれをパイプライン構造にて格納していき、
パイプライン制御回路によるコントロールを受ける。パ
イプライン制御回路はデコード情報に従い、読み込んだ
2つの命令が同時実行できると解釈した場合それぞれを
同時実行し、同時実行不可能であればパイプラインの一
方の実行にウエイトをかける。このように、マイクロプ
ロセッサ内部に浮動小数点命令と浮動小数点データのロ
ード・ストア命令のどちらの制御情報も格納できるパイ
プラインを2段設けることにより、浮動小数点演算命令
または浮動小数点データのロード・ストア命令が、2つ
まで同時に実行することができ、見かけ上、命令実行の
高速化が図れる。
According to the present invention, the instruction decoder first decodes two or more instructions obtained from the main memory, converts them into control information, and supplies the control information to each pipeline. The pipeline stores this in a pipeline structure,
It is controlled by the pipeline control circuit. According to the decode information, the pipeline control circuit interprets the two read instructions as being able to be executed simultaneously, and executes them simultaneously. Thus, by providing two stages of pipelines capable of storing control information of both floating point instructions and floating point data load / store instructions inside the microprocessor, floating point arithmetic instructions or floating point data load / store instructions can be stored. However, up to two commands can be executed simultaneously, and the speed of instruction execution can be apparently increased.

【0007】[0007]

【実施例】図1は本発明の実施例を示すブロック図であ
る。図において、符号1はマイクロプロセッサであり、
主メモリ80より、命令、データを読み出して浮動小数
点演算命令を実行する。
1 is a block diagram showing an embodiment of the present invention. In the figure, reference numeral 1 is a microprocessor,
Instructions and data are read from the main memory 80 to execute floating point arithmetic instructions.

【0008】上記マイクロプロセッサ1の内部に於い
て、符号10は命令デコーダであり、命令をデコードし
て制御情報を変換する。符号11は命令デコーダ10で
デコードした命令デコード情報をパイプライン制御回路
40へ伝達する信号線である。符号12は命令デコーダ
10でデコードした命令デコード情報を第1パイプライ
ン(パイプライン1)20へ伝達する信号線である。符
号13は命令デコーダ10でデコード情報を第2パイプ
ライン(パイプライン2)30へ伝達する信号線であ
る。
Inside the microprocessor 1, reference numeral 10 is an instruction decoder, which decodes an instruction and converts control information. Reference numeral 11 is a signal line for transmitting the instruction decode information decoded by the instruction decoder 10 to the pipeline control circuit 40. Reference numeral 12 is a signal line for transmitting the instruction decode information decoded by the instruction decoder 10 to the first pipeline (pipeline 1) 20. Reference numeral 13 is a signal line for transmitting the decode information to the second pipeline (pipeline 2) 30 in the instruction decoder 10.

【0009】符号20は第1パイプライン(パイプライ
ン1)であり、浮動小数点演算命令と浮動小数点データ
のロード・ストア命令の制御情報をパイブライン構造で
蓄積する。符号21は第1パイプライン(パイプライン
1)20の情報を第1浮動小数点演算制御回路(浮動小
数点演算制御回路1)50に伝達する信号線である。符
号30は第2パイプライン(パイプライン2)であり、
浮動小数点演算命令と浮動小数点データのロード・スト
ア命令の制御情報をパイプライン構造で蓄積する。符号
31は第2パイプライン(パイプライン2)30の情報
を第2浮動小数点演算制御回路(浮動小数点演算制御回
路2)60に伝達する信号線である。
Reference numeral 20 is a first pipeline (pipeline 1), which stores control information of floating point arithmetic instructions and load / store instructions of floating point data in a pipeline structure. Reference numeral 21 is a signal line for transmitting information of the first pipeline (pipeline 1) 20 to the first floating-point arithmetic control circuit (floating-point arithmetic control circuit 1) 50. Reference numeral 30 is a second pipeline (pipeline 2),
Floating-point arithmetic instructions and control information for floating-point load / store instructions are accumulated in a pipeline structure. Reference numeral 31 is a signal line for transmitting information of the second pipeline (pipeline 2) 30 to the second floating point arithmetic control circuit (floating point arithmetic control circuit 2) 60.

【0010】符号40はパイプライン制御回路であり、
命令デコーダ10の情報によって上記各パイプライン2
0,30を制御する。符号41はパイプライン制御回路
40の制御情報を第1パイプライン(パイプライン1)
20へ伝達する信号線である。符号42はパイプライン
制御回路40の制御情報を第2パイプライン(パイプラ
イン2)30へ伝達する信号線である。
Reference numeral 40 is a pipeline control circuit,
According to the information of the instruction decoder 10, each of the above pipelines 2
Control 0,30. Reference numeral 41 indicates control information of the pipeline control circuit 40 as a first pipeline (pipeline 1).
20 is a signal line transmitted to 20. Reference numeral 42 is a signal line for transmitting control information of the pipeline control circuit 40 to the second pipeline (pipeline 2) 30.

【0011】符号50は第1浮動小数点演算制御回路
(浮動小数点演算制御回路1)であり、信号線21を介
して命令に関する情報を受け取り、浮動小数点演算を実
行するための制御コードと、浮動小数点データのロード
・ストアを制御する制御コードを生成し、また、データ
の授受を実行する。符号51は第1浮動小数点演算制御
回路(浮動小数点演算制御回路1)50で生成した制御
コードを浮動小数点演算回路90へ伝達する信号線であ
る。符号52はデータバスであり、浮動小数点演算制御
回路1(50)と浮動小数点演算回路90のデータの授
受を行う。符号53はデータバスであり、第1浮動小数
点演算制御回路(浮動小数点演算制御回路1)50とメ
モリ制御回路70との間のデータの授受を行う。符号5
4はロード・ストアを実行する際に、第1浮動小数点演
算制御回路(浮動小数点演算制御回路1)50がメモリ
制御回路70を制御する信号線である。
Reference numeral 50 denotes a first floating-point arithmetic control circuit (floating-point arithmetic control circuit 1), which receives information relating to an instruction via the signal line 21 and executes a floating-point arithmetic operation, and a floating-point arithmetic operation. It generates control code that controls loading / storing of data, and also executes data transfer. Reference numeral 51 is a signal line for transmitting the control code generated by the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 50 to the floating point arithmetic circuit 90. Reference numeral 52 is a data bus for exchanging data between the floating point arithmetic control circuit 1 (50) and the floating point arithmetic circuit 90. Reference numeral 53 denotes a data bus, which exchanges data between the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 50 and the memory control circuit 70. Code 5
Reference numeral 4 is a signal line for controlling the memory control circuit 70 by the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 50 when executing load / store.

【0012】符号60は第2浮動小数点演算回路(浮動
小数点演算回路2)であり、信号線31を介して命令に
関する情報を受け取り浮動小数点演算を実行するための
制御コードと、浮動小数点データのロード・ストアを制
御する制御コードを生成し、またデータの授受を実行す
る。符号61は第2浮動小数点演算回路(浮動小数点演
算回路2)60で生成した制御コードを浮動小数点演算
回路90へ伝達する信号線である。符号62はデータバ
スであり、第2浮動小数点演算制御回路(浮動小数点演
算制御回路2)60と浮動小数点演算回路90のデータ
の授受を行う。符号63はデータバスであり、第2浮動
小数点演算制御回路(浮動小数点演算制御回路2)60
とメモリ制御回路70との間のデータの授受を行なう。
符号64はロード・ストアを実行する際に、第2浮動小
数点演算制御回路(浮動小数点演算制御回路2)60が
メモリ制御回路70を制御する信号線である。符号70
はメモリ制御回路であり、主メモリ80より命令を読み
出す、または、浮動小数点データのロード・ストアを実
行する際のメモリ制御を行う。符号80は主メモリであ
り、命令、浮動小数点データを格納する。
Reference numeral 60 denotes a second floating point arithmetic circuit (floating point arithmetic circuit 2), which receives control information for receiving information about an instruction via the signal line 31 and executing a floating point arithmetic operation, and loading of floating point data. -Generate a control code to control the store and exchange data. Reference numeral 61 is a signal line for transmitting the control code generated by the second floating point arithmetic circuit (floating point arithmetic circuit 2) 60 to the floating point arithmetic circuit 90. Reference numeral 62 denotes a data bus, which exchanges data between the second floating point arithmetic control circuit (floating point arithmetic control circuit 2) 60 and the floating point arithmetic circuit 90. Reference numeral 63 is a data bus, and the second floating point arithmetic control circuit (floating point arithmetic control circuit 2) 60
Data is exchanged between the memory control circuit 70 and the memory control circuit 70.
Reference numeral 64 is a signal line for the second floating point arithmetic control circuit (floating point arithmetic control circuit 2) 60 to control the memory control circuit 70 when executing the load / store. Reference numeral 70
Is a memory control circuit, which performs memory control when reading an instruction from the main memory 80 or executing load / store of floating-point data. Reference numeral 80 is a main memory that stores instructions and floating point data.

【0013】符号90は浮動小数点演算回路であり、信
号線51,61を介して制御コードを受け取ることによ
って浮動小数点演算を実行し、信号線51より制御コー
ドを受け取り、データバス52を介して浮動小数点デー
タのリード・ライトを行い、信号線61より制御コード
を受け取りデータバス62を介して浮動小数点データの
リード・ライトを行う。この浮動小数点演算回路90の
内部には、浮動小数点レジスタ等の浮動小数点演算に必
要な回路が包含される。図2は本発明実施例の動作を説
明するために引用した図であり、パイプライン構造を示
す。図中、番号は命令が読み込まれる順番を示す。以
下、本発明実施例の動作について詳細に説明する。ま
ず、命令デコーダ10は、主メモリ80よりデータバス
71、メモリ制御回路70、ライン72を介して1以上
の命令を同時に読み込む。
Reference numeral 90 denotes a floating point arithmetic circuit, which executes a floating point arithmetic by receiving a control code via the signal lines 51 and 61, receives a control code from the signal line 51, and floats via a data bus 52. The decimal point data is read / written, the control code is received from the signal line 61, and the floating point data is read / written via the data bus 62. The floating-point arithmetic circuit 90 includes circuits necessary for floating-point arithmetic such as floating-point registers. FIG. 2 is a diagram cited for explaining the operation of the embodiment of the present invention, and shows a pipeline structure. In the figure, the numbers indicate the order in which the instructions are read. Hereinafter, the operation of the embodiment of the present invention will be described in detail. First, the instruction decoder 10 simultaneously reads one or more instructions from the main memory 80 via the data bus 71, the memory control circuit 70, and the line 72.

【0014】命令デコーダ10は、読み込んだ命令を解
析してデコード情報を生成し、命令が1つならば、その
デコード情報を信号線11,12へ送信し、命令が2つ
のときは信号線11,12,13へ送出する。
The instruction decoder 10 analyzes the read instruction and generates decode information. If there is one instruction, the decode information is transmitted to the signal lines 11 and 12. If there are two instructions, the signal line 11 is used. , 12 and 13 are transmitted.

【0015】パイプライン20,30はそれぞれ命令デ
コーダ10から信号線12,13を介してデコード情報
を受け取り、これが浮動小数点命令でも、ロード・スト
ア命令でもパイプライン20,30に次々にこの情報を
格納していく。但し、この運算結果により割り込みは発
生しないものとする。
The pipelines 20 and 30 receive the decode information from the instruction decoder 10 via the signal lines 12 and 13, respectively, and store this information in the pipelines 20 and 30 one after another, whether it is a floating point instruction or a load / store instruction. I will do it. However, it is assumed that no interrupt is generated due to this calculation result.

【0016】また、このパイプラインは、図2のよう
に、パイプライン1段あたりのクロック数が1Tとなっ
ているものとすると、命令は次々とパイプラインに格納
できる。命令が1つの場合は第1パイプライン(パイプ
ライン1)20のみを使うこととする。パイプライン制
御回路40は命令デコーダ10から信号線11を介して
デコード情報を受け取る。
Further, in this pipeline, as shown in FIG. 2, assuming that the number of clocks per pipeline stage is 1T, instructions can be stored in the pipeline one after another. When there is one instruction, only the first pipeline (pipeline 1) 20 is used. The pipeline control circuit 40 receives the decode information from the instruction decoder 10 via the signal line 11.

【0017】上述したように読み込んだ2つの命令が同
時に実行できない命令であれば、後に実行すべき命令が
格納されている第1パイプライン(パイプライン1)2
0、または第2パイプライン(パイプライン2)30に
信号線41または信号線42を介して制御情報を送出し
実行にウェイトをかける。例えば、2つの命令の1つが
浮動小数点命令であり、これが第1パイプライン(パイ
プライン1)20に格納され、他の1つがロード命令で
あり、これが第2パイプライン(パイプライン2)30
のその加算命令のソースとロード命令のディスティネー
ションが一致し、かつ加算命令がロード命令より前のア
ドレスに格納してあった場合は、加算命令実行終了後に
ロード命令を実行しなくてはならない。この場合、パイ
プライン制御回路40は、ライン42を介して第2パイ
プライン(パイプライン2)30に格納されているロー
ド命令の実行をウェイトする。この場合は、浮動小数点
演算とロード命令を同時に実行することができる。
If the two instructions read as described above cannot be executed simultaneously, the first pipeline (pipeline 1) 2 in which the instructions to be executed later are stored
0, or control information is sent to the second pipeline (pipeline 2) 30 via the signal line 41 or the signal line 42, and execution is weighted. For example, one of the two instructions is a floating point instruction, which is stored in the first pipeline (pipeline 1) 20, the other is a load instruction, which is the second pipeline (pipeline 2) 30.
If the source of the add instruction and the destination of the load instruction match, and the add instruction is stored at an address before the load instruction, the load instruction must be executed after the execution of the add instruction. In this case, the pipeline control circuit 40 waits for the execution of the load instruction stored in the second pipeline (pipeline 2) 30 via the line 42. In this case, the floating point operation and the load instruction can be executed at the same time.

【0018】命令が2つ読み込まれた場合、第1、第2
の浮動小数点演算制御回路50,60は、それぞれ信号
線21,31を介して浮動小数点演算命令とロード・ス
トア命令の命令デコード情報を受け取り実行する。
When two instructions are read, the first and second instructions
Floating point arithmetic control circuits 50 and 60 receive and execute instruction decode information of floating point arithmetic instructions and load / store instructions via signal lines 21 and 31, respectively.

【0019】浮動小数点演算命令が第1浮動小数点演算
制御回路(浮動小数点演算制御回路1)50に格納され
ていた場合は、浮動小数点演算を実行するとき第1浮動
小数点演算制御回路(浮動小数点演算制御回路1)50
は、信号線21を介して受け取った命令デコード情報よ
り制御コードを生成し、信号線51を通して浮動小数点
演算回路90へ送出する。
When the floating-point operation instruction is stored in the first floating-point operation control circuit (floating-point operation control circuit 1) 50, the first floating-point operation control circuit (floating-point operation Control circuit 1) 50
Generates a control code from the instruction decode information received via the signal line 21 and sends it to the floating point arithmetic circuit 90 via the signal line 51.

【0020】浮動小数点演算回路90は、このコードに
基づいて演算を実行する。浮動小数点演算命令が第2パ
イプライン(パイプライン2)30に格納されていた場
合、浮動小数点演算を実行するとき、浮動小数点演算制
御回路60は、信号線31より受け取った命令デコード
情報より制御コードを生成し、信号線61を通して浮動
小数点演算回路90へ送出する。浮動小数点演算回路9
0はこのコードに基づいて演算を実行する。
The floating point arithmetic circuit 90 executes an arithmetic operation based on this code. When the floating-point operation instruction is stored in the second pipeline (pipeline 2) 30, when executing the floating-point operation, the floating-point operation control circuit 60 uses the control code from the instruction decode information received from the signal line 31. Is generated and sent to the floating point arithmetic circuit 90 through the signal line 61. Floating point arithmetic circuit 9
0 performs an operation based on this code.

【0021】ロード・ストア命令が第1パイプライン
(パイプライン1)20に格納されていた場合、浮動小
数点演算データのロード・ストアを実行するとき、浮動
小数点演算制御回路50は信号線21より受け取った命
令デコード情報より制御コードを生成し、信号線51を
通して浮動小数点演算回路90へその制御コードを送出
する。ロードを実行する場合、浮動小数点演算回路90
は信号線71、メモリ制御回路70、浮動小数点演算制
御回路50、信号線52を通して、主メモリ80から送
られたデータを浮動小数点演算回路90内に格納する。
ストアを実行する場合、浮動小数点演算回路90は、信
号線52、浮動小数点演算制御回路50、信号線53、
メモリ制御回路70、信号線71を通して主メモリ80
へデータを送出する。ロード・ストアを実行する際の主
メモリ80の制御は、メモリ制御回路70によって行わ
れる。浮動小数点演算制御回路50は、信号線21を介
して受け取った命令デコード情報により、メモリ制御回
路70が主メモリ80を制御するために必要な情報を生
成し、信号線54、64を介してメモリ制御回路70へ
送出する。
When the load / store instruction is stored in the first pipeline (pipeline 1) 20, the floating-point arithmetic control circuit 50 receives it from the signal line 21 when executing load / store of floating-point arithmetic data. A control code is generated from the instruction decode information, and the control code is sent to the floating point arithmetic circuit 90 through the signal line 51. When executing the load, the floating point arithmetic circuit 90
Stores the data sent from the main memory 80 in the floating point arithmetic circuit 90 through the signal line 71, the memory control circuit 70, the floating point arithmetic control circuit 50, and the signal line 52.
When executing the store, the floating point arithmetic circuit 90 includes the signal line 52, the floating point arithmetic control circuit 50, the signal line 53,
Main memory 80 through memory control circuit 70 and signal line 71
Send data to. The memory control circuit 70 controls the main memory 80 when executing load / store. The floating point arithmetic control circuit 50 generates information necessary for the memory control circuit 70 to control the main memory 80 based on the instruction decode information received via the signal line 21, and the memory via the signal lines 54 and 64. It is sent to the control circuit 70.

【0022】ロード・ストア命令が浮動小数点演算制御
回路60に格納されていた場合、浮動小数点演算データ
のロード・ストアを実行するとき、浮動小数点演算制御
回路60は信号線31を介して受け取った命令デコード
情報に制御コードを生成し、信号線61を通して浮動小
数点演算回路90へその制御コードを送出する。浮動小
数点演算回路90は信号線71、メモリ制御回路70、
浮動小数点演算制御回路60、信号線62を通して主メ
モリ80から送られるデータを浮動小数点演算回路90
内に格納する。ストアを実行する場合、浮動小数点演算
回路90は信号線62、浮動小数点演算制御回路60、
信号線63、メモリ制御回路70、信号線71を通して
主メモリ80へデータを送出する。ロード・ストアを実
行する際の主メモリ80の制御は、メモリ制御回路70
によって行われる。
When the load / store instruction is stored in the floating point arithmetic control circuit 60, the floating point arithmetic control circuit 60 receives the instruction via the signal line 31 when the load / store of the floating point arithmetic data is executed. A control code is generated in the decode information, and the control code is sent to the floating point arithmetic circuit 90 through the signal line 61. The floating point arithmetic circuit 90 includes a signal line 71, a memory control circuit 70,
The data sent from the main memory 80 through the floating point arithmetic control circuit 60 and the signal line 62 is transferred to the floating point arithmetic circuit 90.
Store in. When executing the store, the floating point arithmetic circuit 90 uses the signal line 62, the floating point arithmetic control circuit 60,
Data is sent to the main memory 80 through the signal line 63, the memory control circuit 70, and the signal line 71. The memory control circuit 70 controls the main memory 80 when executing load / store.
Done by

【0023】浮動小数点演算制御回路60は信号線31
を介して受け取った命令デコード情報より、メモリ制御
回路70が主メモリ80を制御するために必要な情報を
生成し、信号線64を介してメモリ制御回路70へ送出
する。命令が1つ読み込まれた場合、第1浮動小数点演
算制御回路(浮動小数点演算制御回路1)50は信号線
21より浮動小数点演算命令またはロード・ストア命令
の命令デコード情報を受け取り実行する。浮動小数点演
算を実行するとき、第1浮動小数点演算制御回路(浮動
小数点演算制御回路1)50は、信号線21より受け取
った命令デコード情報より制御コードを生成し、信号線
51を通して浮動小数点演算回路90へ送出する。
The floating point arithmetic control circuit 60 uses the signal line 31.
The memory control circuit 70 generates information necessary for controlling the main memory 80 from the instruction decode information received via the command decode information and sends it to the memory control circuit 70 via the signal line 64. When one instruction is read, the first floating point operation control circuit (floating point operation control circuit 1) 50 receives the instruction decode information of the floating point operation instruction or the load / store instruction from the signal line 21 and executes it. When executing the floating point arithmetic, the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 50 generates a control code from the instruction decode information received from the signal line 21, and the floating point arithmetic circuit through the signal line 51. To 90.

【0024】浮動小数点演算データのロード・ストアを
実行する場合、第1浮動小数点演算制御回路(浮動小数
点演算制御回路1)50は、信号線21より受け取った
命令デコード情報より制御コードを生成し、それぞれ信
号線51を通して浮動小数点演算回路90へその制御コ
ードを送出する。
When executing loading / storing of floating point operation data, the first floating point operation control circuit (floating point operation control circuit 1) 50 generates a control code from the instruction decode information received from the signal line 21, The control code is sent to the floating point arithmetic circuit 90 through the signal line 51.

【0025】ロードを実行する場合、浮動小数点演算回
路90は、信号線71、メモリ制御回路70、第1浮動
小数点演算制御回路(浮動小数点演算制御回路1)5
0、信号線52を通して、主メモリ80から送られたデ
ータを格納する。
When the load is executed, the floating point arithmetic circuit 90 includes the signal line 71, the memory control circuit 70, the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 5
0, the data sent from the main memory 80 through the signal line 52 is stored.

【0026】ストアを実行する場合、浮動小数点演算回
路90は、信号線52、第1浮動小数点演算制御回路
(浮動小数点演算制御回路1)50、信号線53、メモ
リ制御回路70、信号線71を通して主メモリ80へデ
ータを送出する。
When executing the store, the floating point arithmetic circuit 90 passes through the signal line 52, the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 50, the signal line 53, the memory control circuit 70, and the signal line 71. The data is sent to the main memory 80.

【0027】第1浮動小数点演算制御回路(浮動小数点
演算制御回路1)50は、信号線21より受け取った命
令デコード情報より、メモリ制御回路70が主メモリ8
0を制御するために必要な情報を生成し、信号線54を
介してメモリ制御回路70へ送出する。
In the first floating point arithmetic control circuit (floating point arithmetic control circuit 1) 50, the memory control circuit 70 causes the main memory 8 to operate according to the instruction decode information received from the signal line 21.
Information necessary for controlling 0 is generated and sent to the memory control circuit 70 via the signal line 54.

【0028】このように、マイクロプロセッサ1の内部
に、浮動小数点演算命令と浮動小数点データのロード・
ストア命令のどちらの制御情報も格納できるパイプライ
ンを2段設けることにより、浮動小数点演算命令または
浮動小数点データのロード・ストア命令が、2つまで同
時に実行することができる。
As described above, the floating point arithmetic instruction and the floating point data are loaded in the microprocessor 1.
By providing two pipelines capable of storing control information for both store instructions, up to two floating point arithmetic instructions or floating point data load / store instructions can be executed simultaneously.

【0029】[0029]

【発明の効果】以上説明のように本発明によれば、マイ
クロプロセッサ内部に浮動小数点演算命令と浮動小数点
データのロード・ストア命令のどちらの制御情報も格納
できるパイプラインを2段設けてなる構成としたことに
より、浮動小数点演算命令または浮動小数点データのロ
ード・ストア命令が、2つまで同時に実行することがで
き、見かけ上、命令実行の高速化が図れる。
As described above, according to the present invention, two stages of pipelines capable of storing control information of both floating point arithmetic instructions and floating point data load / store instructions are provided in the microprocessor. By doing so, up to two floating point arithmetic instructions or floating point data load / store instructions can be executed simultaneously, and the speed of instruction execution can be apparently increased.

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

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

【図2】本発明の実施例によるパイプライン構造を示
す。
FIG. 2 shows a pipeline structure according to an embodiment of the present invention.

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

1…マイクロプロセッサ、10…命令デコーダ、20,
30…パイプライン(20…第1パイプライン(パイプ
ライン1),30…第2パイプライン(パイプライン
2))、40…パイプライン制御回路、50,60…浮
動小数点演算制御回路(50…第1浮動小数点演算制御
回路(浮動小数点演算制御回路1),60…第2浮動小
数点演算制御回路(浮動小数点演算制御回路2)、70
…メモリ制御回路、80…主メモリ、90…浮動小数点
演算回路。
1 ... Microprocessor, 10 ... Instruction decoder, 20,
30 ... Pipeline (20 ... First pipeline (pipeline 1), 30 ... Second pipeline (pipeline 2)), 40 ... Pipeline control circuit, 50, 60 ... Floating point arithmetic control circuit (50 ... DESCRIPTION OF SYMBOLS 1 floating-point arithmetic control circuit (floating-point arithmetic control circuit 1), 60 ... 2nd floating-point arithmetic control circuit (floating-point arithmetic control circuit 2), 70
... memory control circuit, 80 ... main memory, 90 ... floating point arithmetic circuit.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 浮動小数点演算回路を外部に接続するこ
とにより浮動小数点演算命令を実行処理するデータ処理
装置において、命令をデコードして制御情報を生成する
命令デコーダと、浮動小数点演算命令と浮動小数点デー
タのロード・ストア命令を含む各命令に関する制御情報
をパイプライン構造で格納する少なくとも2つのパイプ
ラインと、浮動小数点演算命令と浮動小数点データのロ
ード・ストア命令の実行を制御する上記パイプラインの
数に相当する浮動小数点演算制御回路と、この回路で生
成される制御情報に従い浮動小数点データをリード/ラ
イトし浮動小数点演算を実行する浮動小数点演算回路
と、上記命令デコーダが出力する制御情報に従い上記パ
イプラインを制御して、浮動小数点演算命令あるいは浮
動小数点データの転送命令を2以上並行操作するパイプ
ライン制御回路とを具備することを特徴とするデータ処
理装置。
1. A data processing device for executing a floating-point operation instruction by connecting a floating-point operation circuit to the outside, an instruction decoder for decoding an instruction to generate control information, a floating-point operation instruction, and a floating point. At least two pipelines that store control information about each instruction including a data load / store instruction in a pipeline structure, and the number of pipelines that control execution of floating-point arithmetic instructions and floating-point data load / store instructions A floating-point arithmetic control circuit corresponding to the above, a floating-point arithmetic circuit that reads / writes floating-point data according to the control information generated by this circuit, and executes a floating-point arithmetic operation, and the above-mentioned pipe according to the control information output from the instruction decoder. Controls the line to transfer floating point arithmetic instructions or floating point data And a pipeline control circuit for operating two or more instructions in parallel.
JP3236585A 1991-09-17 1991-09-17 Data processor Pending JPH0573263A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3236585A JPH0573263A (en) 1991-09-17 1991-09-17 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3236585A JPH0573263A (en) 1991-09-17 1991-09-17 Data processor

Publications (1)

Publication Number Publication Date
JPH0573263A true JPH0573263A (en) 1993-03-26

Family

ID=17002817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3236585A Pending JPH0573263A (en) 1991-09-17 1991-09-17 Data processor

Country Status (1)

Country Link
JP (1) JPH0573263A (en)

Similar Documents

Publication Publication Date Title
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
KR100533296B1 (en) System having read/modify/write unit
KR910006144B1 (en) Pipeline processor with smooth connection
JP3439033B2 (en) Interrupt control device and processor
US6581120B1 (en) Interrupt controller
JPH0332818B2 (en)
EP0354740B1 (en) Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
JPH0673105B2 (en) Instruction pipeline type microprocessor
US7143268B2 (en) Circuit and method for instruction compression and dispersal in wide-issue processors
JPH0573263A (en) Data processor
JP2001117886A (en) Processor and processor system
JPH05334265A (en) Information processor and processing method
JP2806690B2 (en) Microprocessor
JP2622026B2 (en) Register writing control method in central processing unit
JPH06337785A (en) Information processor and its instruction execution control method
KR100336743B1 (en) Processing circuit for data
JP2933560B2 (en) Information processing device having multiple pipelines
JPH0769800B2 (en) Data processing device
JPH04205029A (en) Microprocessor
JPS6267648A (en) Processing system for exclusive control instruction
JPH0991272A (en) Vector data processor
JPS6336030B2 (en)
JPH077387B2 (en) Vector register control method
JPH01263830A (en) Information processor
JPH05241832A (en) Information processor and information processing method