JPH01243167A - Data processor - Google Patents

Data processor

Info

Publication number
JPH01243167A
JPH01243167A JP63069375A JP6937588A JPH01243167A JP H01243167 A JPH01243167 A JP H01243167A JP 63069375 A JP63069375 A JP 63069375A JP 6937588 A JP6937588 A JP 6937588A JP H01243167 A JPH01243167 A JP H01243167A
Authority
JP
Japan
Prior art keywords
instruction
processing device
command
decoding
execution
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
JP63069375A
Other languages
Japanese (ja)
Inventor
Makoto Hanawa
花輪 誠
Tadahiko Nishimukai
西向井 忠彦
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 JP63069375A priority Critical patent/JPH01243167A/en
Publication of JPH01243167A publication Critical patent/JPH01243167A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To eliminate the overhead of a command transfer to a co-processor and to improve the execution performance of a co-processor and command by decoding a command even in the co-processor at the same time as the command decoding of the pipeline processing of an MPU. CONSTITUTION:A co-processor 200 is composed of a command decoder 230 and a co-processor command executing circuit 240, the command decoder 230 receives the command to execute the decoding from a command register 120 of a microprocessor (MPU) 100 through the use of an exclusive-use command transfer bus 250, and when a command decoding start instructing signal 180 is asserted, the decoder 230 decodes the command. As a result, when the command is the command to be executed by the co-processor 200, a decoded result is sent to the co-processor command executing circuit 240, and a processing according to the command is executed. Thus, the overhead can be eliminated, and the processing performance of the co-processor 200 can be improved.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は主にマイクロプロセッサ(MPU)に接続され
るコプロセッサの制御方式に係り、特に、MPUからの
コマンド転送のオーバーヘッドをなくし、高速なコプロ
セッサ命令の実行を実現するのに好適なコプロセッサの
制御方式に関する。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention mainly relates to a control method for a coprocessor connected to a microprocessor (MPU), and in particular, to eliminate the overhead of command transfer from the MPU and achieve high-speed control. The present invention relates to a coprocessor control method suitable for realizing execution of coprocessor instructions.

〔従来の技術〕[Conventional technology]

チップ外部に浮動小数点演算回路等のコプロセッサを接
続することができる従来のマイクロプロセッサ(例えば
、米モトローラ社のMC68020、以下、MPUと記
す)では、コプロセッサに対する命令を一旦MPUが読
み込み、解読してから、バスサイクルを用いて、コマン
ドの形で転送していた。その詳細は、モトローラ社、M
C68881フローティングポイント コプロセッサ 
ユーザズ マニュアル(Motorola Inc、M
C6888] Floating−PojntCopr
ocessor User’s Manual、198
5)に記載されている。
In conventional microprocessors (for example, Motorola's MC68020, hereinafter referred to as MPU) to which a coprocessor such as a floating-point arithmetic circuit can be connected externally to the chip, the MPU first reads and decodes instructions for the coprocessor. After that, it was transferred in the form of a command using a bus cycle. For details, see Motorola, M.
C68881 floating point coprocessor
User's Manual (Motorola Inc.
C6888] Floating-PojntCopr
Occessor User's Manual, 198
5).

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

従来のコプロセッサでは、コプロセッサの演算能力がそ
れほど高くなかったので、演算時間に比べて、コマンド
の転送時間はそれほど目立たなかった。しかし、最近、
LSI技術の進歩により、コプロセッサの演算能力が向
上し、演算時間が極端に短くなったことに比べて、バス
サイクルを利用したコマンド転送の時間はそれほど短く
ならず、結果的に、コマンド転送のオーバヘッドが目立
つようになってきた。
In conventional coprocessors, the computing power of the coprocessor was not very high, so the command transfer time was not as noticeable compared to the computing time. However, recently,
Advances in LSI technology have improved the computing power of coprocessors, and the computing time has become extremely short. However, the time for command transfer using bus cycles has not become much shorter, and as a result, the time for command transfer using bus cycles has become shorter. Overhead has become noticeable.

そこで、本発明の目的は、上記のようなオーバ一ヘッド
をなくし、コプロセッサの演算能力を最大限に引出し、
処理性能を更に向上させることができるコプロセッサの
制御方式を提供することにある。
Therefore, an object of the present invention is to eliminate the above-mentioned overhead, maximize the computing power of the coprocessor, and
An object of the present invention is to provide a coprocessor control method that can further improve processing performance.

〔1lll!題を解決するための手段〕上記目的は、 (1)コプロセッサ側でMPUと同時に命令の解読を開
始するための指示信号、 (2)解読済みの命令の実行をMPUまたはコプロセッ
サで開始するための指示信号、 (3)MPUまたはコプロセッサで命令の実行が終了し
たことを報告するための信号 を有することにより、達成される。
[1llll! [Means for Solving the Problem] The above objectives are: (1) an instruction signal for the coprocessor to start decoding instructions at the same time as the MPU; (2) for the MPU or coprocessor to start executing the decoded instructions. (3) a signal to report that execution of an instruction has been completed in the MPU or coprocessor.

〔作用〕[Effect]

コプロセッサを接続して高速なデータ処理を行なうMP
Uでは、MPU内部の動作はパイプライン的に処理され
ている。つまり、命令フェッチ、命令デコード、実行等
のステージに分かれて、次に実行すべき命令を先行して
処理している。その結果、命令フェッチ、命令デコード
に要する時間が隠されて、見掛は上、実行ステージの時
間だけで、1つの命令を実行できるようになる。
MP that performs high-speed data processing by connecting a coprocessor
In U, operations inside the MPU are processed in a pipeline manner. In other words, it is divided into stages such as instruction fetch, instruction decode, and execution, and the next instruction to be executed is processed in advance. As a result, the time required for instruction fetch and instruction decoding is hidden, and it appears that one instruction can be executed using only the execution stage time.

しかし、コプロセッサで処理しなければならない命令が
あると、上記のパイプライン処理が乱され、命令フェッ
チ、命令デコード、コマンド転送。
However, if there is an instruction that must be processed by the coprocessor, the pipeline processing described above is disrupted, resulting in instruction fetch, instruction decoding, and command transfer.

コマンドデコード、実行という処理ステージになる。コ
プロセッサによる実行時間が長い場合は、コマンド転送
、コマンドデコードに要する時間はそれほど問題になら
なかったが、LS I技術の進歩により、実行時間が短
縮され、コマンド転送、コマンドデコードに要する時間
が問題になってきた。
The processing stage is command decoding and execution. If the execution time by the coprocessor was long, the time required for command transfer and command decoding was not so much of a problem, but with advances in LSI technology, the execution time has been shortened, and the time required for command transfer and command decoding has become a problem. It has become.

そこで、MPUが命令をデコードするとき、それと同時
に、コプロセッサでも同じ命令をデコードし、その命令
がコプロセッサ命令であったら、MPUと同期をとって
実行することにより、コマンド転送、コマンドデコード
に要する時間を隠すことができる。
Therefore, when the MPU decodes an instruction, the coprocessor also decodes the same instruction at the same time, and if the instruction is a coprocessor instruction, it is executed in synchronization with the MPU. You can hide time.

そのため、先ず、M−PUがデコードする命令をコプロ
セッサへ転送する専用の手段を設け、これによって転送
された命令の解読を開始するための指示信号をMPUか
らコプロセッサへ送信する。
Therefore, first, a dedicated means is provided to transfer instructions to be decoded by the M-PU to the coprocessor, and an instruction signal for starting decoding of the transferred instructions is transmitted from the MPU to the coprocessor.

その後、解読済みの命令の実行を開始するための指示信
号をM P Uからコプロセッサへ送信する。
Thereafter, the MPU sends an instruction signal to the coprocessor to start executing the decoded instruction.

この時、コプロセッサは解読済みの命令がコプロセッサ
命令であったら実行を開始する。コプロセッサ命令の実
行が終了したら、コプロセッサはM P Uに対して命
令実行終了報告信号を送信する。
At this time, the coprocessor starts executing the decoded instruction if it is a coprocessor instruction. When the execution of the coprocessor instruction is completed, the coprocessor sends an instruction execution completion report signal to the MPU.

この信号により、MPUは次の命令の開始を指示する。This signal instructs the MPU to start the next instruction.

以上のように、命令解読以降の処理をMPUとコプロセ
ッサで同時に行なうが、上記の命令解読開始指示信号と
命令実行開始指示信号および命令実行終了報告信号によ
って、お互いに同期を取りながら動作するので、誤動作
する心配はない。
As described above, the MPU and coprocessor perform processing after instruction decoding at the same time, but they operate in synchronization with each other using the instruction decoding start instruction signal, instruction execution start instruction signal, and instruction execution end report signal mentioned above. , there is no need to worry about malfunction.

〔実施例〕〔Example〕

以下、本発明の一実施例を図を用いて説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明の一実施例であるデータ処理装置の構成
図である。データ処理装置はマイクロプロセッシングユ
ニット(MPU)100とコプロセッサ(CP)200
とメインメモリ300から成り、これらがパスライン4
00で接続されている。M P ’[J 1. OOは
制御回路110と命令レジスタ120と命令デコーダ1
30と命令実行回路140から構成されている。制御回
路110はメインメモリ300から命令を読み出し、命
令レジスタ120にセットする。命令デコーダ130は
命令レジスタ120にセットされた命令を解読し、その
結果を命令実行回路140へ送る。命令実行回路140
は、この解読結果を用いて、命令による処理を実行する
FIG. 1 is a block diagram of a data processing device that is an embodiment of the present invention. The data processing device is a microprocessing unit (MPU) 100 and a coprocessor (CP) 200.
and a main memory 300, which are connected to the pass line 4.
Connected with 00. M P' [J 1. OO is a control circuit 110, an instruction register 120, and an instruction decoder 1
30 and an instruction execution circuit 140. Control circuit 110 reads an instruction from main memory 300 and sets it in instruction register 120 . The instruction decoder 130 decodes the instruction set in the instruction register 120 and sends the result to the instruction execution circuit 140. Instruction execution circuit 140
uses this decoding result to execute processing according to the instruction.

一般に、命令レジスタ120は命令読み出しステージと
命令解読ステージとの緩衝回路になるので、複数の命令
を保持できるFIFO(ファースト・イン、ファースト
・アウト)型のレジスタで実現される。
Generally, the instruction register 120 serves as a buffer circuit between an instruction reading stage and an instruction decoding stage, and is therefore implemented as a FIFO (first in, first out) type register that can hold a plurality of instructions.

一方、コプロセッサ200は命令デコーダ230、及び
、コプロセッサ命令実行回路240からなる。
On the other hand, the coprocessor 200 includes an instruction decoder 230 and a coprocessor instruction execution circuit 240.

命令デコーダ230は専用の命令転送パス250を用い
てM P U 100の命令レジスタ120からデコー
ドすべき命令を受けとり、命令解読開始用示信号180
がアサートされたら、命令を解読する。その結果その命
令がコプロセッサで実行する命令であったら、解読結果
をコプロセッサ命令実行回路240へ送る。コプロセッ
サ命令実行回路240は、この解読結果を用いて、命令
にしたがった処理を実行する。なお、MPUの実行とコ
プロセッサの実行との同期を取るためMPUの制御回路
110から、MPU命令実行回路140及び、コプロセ
ッサ命令実行回路240に対して、次命令実行開始指示
信号150を出力している。
The instruction decoder 230 receives an instruction to be decoded from the instruction register 120 of the MPU 100 using a dedicated instruction transfer path 250, and receives an instruction signal 180 for starting instruction decoding.
When is asserted, decode the instruction. As a result, if the instruction is an instruction to be executed by the coprocessor, the decoding result is sent to the coprocessor instruction execution circuit 240. Coprocessor instruction execution circuit 240 uses this decoding result to execute processing according to the instruction. Note that in order to synchronize the execution of the MPU and the coprocessor, the MPU control circuit 110 outputs a next instruction execution start instruction signal 150 to the MPU instruction execution circuit 140 and the coprocessor instruction execution circuit 240. ing.

MPUの制御回路1]−〇は、命令デコーダ130から
命令がMPUで処理されるのか、CPで処理されるのか
を示す信号160を受け、現在実行中の命令が、MPU
で処理されている場合はMPU命令実行終了信号170
をM I) U命令実行回路140から受け取り、次命
令実行開始指示信号150を生成している。また、CP
で処理されている場合はcp命令実行終了信号270を
CP側全命令実行回路240ら受け取ることによって、
次命令実行開始指示信号150を生成している。
The MPU control circuit 1]-〇 receives a signal 160 from the instruction decoder 130 indicating whether the instruction is to be processed by the MPU or the CP, and determines whether the currently executing instruction is processed by the MPU.
MPU instruction execution end signal 170
is received from the M I) U instruction execution circuit 140 and generates the next instruction execution start instruction signal 150. Also, C.P.
If the CPU is being processed in
A next instruction execution start instruction signal 150 is generated.

第2図は本実施例のデータ処理装置におけるパイプライ
ン処理の状態を示すタイムチャートである。MPU10
0の命令デコードと同時に、コプロセッサ200におい
ても命令のデコードができるので、MPU100のパイ
プライン処理を乱すことがない。
FIG. 2 is a time chart showing the state of pipeline processing in the data processing apparatus of this embodiment. MPU10
Since the instruction can be decoded in the coprocessor 200 at the same time as the instruction 0 is decoded, the pipeline processing of the MPU 100 is not disturbed.

第4図(a)はMPU100の命令デコーダ130の処
理をフローチャートに示したものである。以下、各ステ
ップの処理を順に説明する。
FIG. 4(a) is a flowchart showing the processing of the instruction decoder 130 of the MPU 100. Below, the processing of each step will be explained in order.

処理501:命令解読開始信号180がアサートされた
ら、処理502へ。それまで処理501を繰り返す。
Process 501: When the instruction decoding start signal 180 is asserted, the process advances to process 502. Process 501 is repeated until then.

処理502:命令を解読し、処理503へ。Process 502: Decode the command and proceed to process 503.

処理503:解読した命令がコプロセッサ命令なら、処
理505へ。そうでなかったら、処理504へ。
Process 503: If the decoded instruction is a coprocessor instruction, go to process 505. If not, the process advances to step 504.

処理504:解読結果を命令実行回路140へ送り、処
理501へ。
Process 504: Send the decoding result to the instruction execution circuit 140 and proceed to process 501.

処理505:解読した命令がコプロセッサ命令であるこ
とを示す信号160をアサ−1〜する。
Process 505: Assert the signal 160 indicating that the decoded instruction is a coprocessor instruction.

また、第4図(b)はコプロセッサ200の命令デコー
ダ230の処理をフローチャートに示したものである。
Further, FIG. 4(b) is a flowchart showing the processing of the instruction decoder 230 of the coprocessor 200.

処理511:命令解読開始信号180がアサートされた
ら、処理512へ。それまで処理511を繰り返す。
Process 511: When the instruction decoding start signal 180 is asserted, the process advances to process 512. Processing 511 is repeated until then.

処理512:命令を解読し、処理513へ。Process 512: Decode the command and proceed to process 513.

処理513:解読した命令がコプロセッサ命令なら、処
理515へ。そうでなかったら、処理511へ。
Process 513: If the decoded instruction is a coprocessor instruction, go to process 515. If not, the process advances to process 511.

処理515:解読結果を命令実行回路240へ送り、処
理511へ。
Process 515: Send the decoding result to the instruction execution circuit 240 and proceed to process 511.

なお、本実施例ではコプロセッサ命令であることをMP
Uの命令デコーダで検出しているが、コプロセッサ側の
デコーダで検出して、MPUへ報告しても良い。
Note that in this embodiment, MP indicates that it is a coprocessor instruction.
Although it is detected by the instruction decoder of U, it may be detected by the decoder on the coprocessor side and reported to the MPU.

第5図はMPU100の制御回路110の処理をフロー
チャートに示したものである。
FIG. 5 is a flowchart showing the processing of the control circuit 110 of the MPU 100.

処理520:命令解読開始指示信号180をアサートし
、処理512へ。
Process 520: Assert the instruction decoding start instruction signal 180 and proceed to process 512.

処理521:命令実行開始指示信号150をアサートし
、処理522へ。
Process 521: Assert instruction execution start instruction signal 150, and proceed to process 522.

処理522:信号160がコプロセッサ命令であること
を示していたら、処理525へ。そうでなかったら、処
理523へ。
Process 522: If the signal 160 indicates a coprocessor instruction, proceed to process 525. If not, go to process 523.

処理523:命令解読開始指示信号180をアサートし
、処理524へ。
Process 523: Assert the instruction decoding start instruction signal 180, and proceed to process 524.

処理524:MPU命令実行終了報告信号170がアサ
ートされたら、処理521へ。それまで、処理524を
繰り返す。
Process 524: When the MPU instruction execution completion report signal 170 is asserted, the process advances to process 521. Until then, the process 524 is repeated.

処理525:命令解読開始指示信号180をアサートし
、処理526へ。
Process 525: Assert the instruction decoding start instruction signal 180, and proceed to process 526.

処理526:コプロセッサ命令実行終了報告信号270
がアサートされたら、処理521へ。それまで、処理5
26を繰り返す。
Process 526: Coprocessor instruction execution completion report signal 270
is asserted, the process advances to process 521. Until then, process 5
Repeat step 26.

なお、本実施例では信号160によって命令実行終了報
告信号を170にするか、270にするかを選択してい
るが、命令実行回路140と240とで一方が命令を処
理している時には、他方は終了報告信号を必ずネゲート
するように制御すれば、上記の処理522の分岐は不要
になり、処理524では信号170と270のORを検
出すれば良くなる。
In this embodiment, the signal 160 is used to select whether to set the instruction execution completion report signal to 170 or 270, but when one of the instruction execution circuits 140 and 240 is processing an instruction, the other If control is performed so that the completion report signal is always negated, the above-mentioned branching of process 522 becomes unnecessary, and process 524 only needs to detect the OR of signals 170 and 270.

第6図はMPU命令の次にコプロセッサ命令を実行する
場合の各信号の状態を示すタイムチャートである。命令
レジスタ120に命令がセットされると信号180がア
サートされ、命令デコーダ130が解読を開始する。そ
の結果、MPUで処理する命令であることが分かり信号
160がセットされる。その後、制御回路110は信号
150をアサートしてMPU命令実行回路140に処理
の開始を指示する。また、デコーダに対しては信号18
0をアサートして次の命令の解読を指示する。MPU命
令実行回路140は処理が終了したら信号170をアサ
ートする。これをうけて制御回路110は、次の命令の
実行を開始するように信号150をアサートする。ここ
では次の命令はコプロセッサ命令である。コプロセッサ
の命令デコーダ230は信号180によって、MPUの
デコーダ130と同時に命令の解読を行なっているので
、信号150がアサートされると、コプロセッサ命令実
行回路240は直ちに処理を実行できる。処理が終了し
たら信号270をアサートして、命令の実行終了を報告
するので、制御回路110は、次の命令の実行を開始す
るように信号150をアサートできる。
FIG. 6 is a time chart showing the states of each signal when a coprocessor instruction is executed next to an MPU instruction. When an instruction is set in instruction register 120, signal 180 is asserted and instruction decoder 130 starts decoding. As a result, it is determined that the instruction is to be processed by the MPU, and a signal 160 is set. After that, the control circuit 110 asserts the signal 150 to instruct the MPU instruction execution circuit 140 to start processing. Also, for the decoder, the signal 18
Assert 0 to instruct decoding of the next instruction. The MPU instruction execution circuit 140 asserts the signal 170 when the processing is completed. In response, control circuit 110 asserts signal 150 to start execution of the next instruction. Here, the next instruction is a coprocessor instruction. Since the instruction decoder 230 of the coprocessor decodes instructions simultaneously with the decoder 130 of the MPU in accordance with the signal 180, when the signal 150 is asserted, the coprocessor instruction execution circuit 240 can immediately execute processing. When processing is completed, signal 270 is asserted to report the completion of instruction execution, so that control circuit 110 can assert signal 150 to begin execution of the next instruction.

以上、本実施例のように命令の解読開始指示信号と実行
開始指示信号及び実行終了報告信号の3本の信号を設け
ることによって、MPUとコプロセッサの命令解読と実
行のパイプラインを容易に同期させることができる。
As described above, by providing the three signals of the instruction decoding start instruction signal, the execution start instruction signal, and the execution end report signal as in this embodiment, the instruction decoding and execution pipelines of the MPU and coprocessor can be easily synchronized. can be done.

第3図は従来のコマンド転送方式を用いたときのタイム
チャートである。コプロセッサ200に対するコマンド
転送をバスサイクルを用いて行なっているので、コプロ
セッサ200はMPU100の実行ステージにならない
とコマンドを受け取ることができない。したがって、そ
の後、コプロセッサ200はコマンドの解読を行ない、
実行を開′始するので、この間、MPU100は待たさ
れることになり、パイプライン処理に空き時間ができて
しまうことになる。
FIG. 3 is a time chart when using the conventional command transfer method. Since commands are transferred to the coprocessor 200 using bus cycles, the coprocessor 200 cannot receive commands until it reaches the execution stage of the MPU 100. Therefore, the coprocessor 200 then decodes the command and
Since execution begins, the MPU 100 is forced to wait during this time, resulting in idle time for pipeline processing.

本実施例では、デコード後の命令のキューを持っていな
いが、これを持つようなMPUの場合には、コプロセッ
サ側にもデコード後の命令キューを持つことにより、容
易に本発明を適用できる。
Although this embodiment does not have a decoded instruction queue, in the case of an MPU that does have one, the present invention can be easily applied by having a decoded instruction queue on the coprocessor side as well. .

また、本実施例では、コプロセッサ側のコマンド・デコ
ードがMPU側の命令デコードの時間内に完了するシス
テムの場合を示したが、コプロセッサ側のコマンド・デ
コードがMPU側の命令デコードの時間内に完了しない
システムの場合には、コプロセッサからデコード完了報
告信号をMPUの制御回路に対して出力し、MPUは、
この信号を待って次の命令デコードを開始することによ
って、容易に、MPUの動作とコプロセッサの動作との
同期をとることができる。
Furthermore, in this embodiment, a system is shown in which command decoding on the coprocessor side is completed within the time required for instruction decoding on the MPU side, but command decoding on the coprocessor side is completed within the time required for instruction decoding on the MPU side. If the system does not complete the decoding process, the coprocessor outputs a decoding completion report signal to the MPU control circuit, and the MPU
By waiting for this signal and starting decoding the next instruction, the operations of the MPU and the coprocessor can be easily synchronized.

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

以上述べてきたように本発明によれば、M P Hの外
部にコプロセッサを有し、プログラム中の一部の命令を
コプロセッサで実行するデータ処理装置において、MP
Uのパイプライン処理の命令デコードと同時に、コプロ
セッサにおいても命令をデコードできるので、パイプラ
イン処理の乱れをなくし、コプロセッサに対するコマン
ド転送のオーバヘッドを解消でき、結果的にコプロセッ
サ命令の実行性能を向上できる効果がある。
As described above, according to the present invention, in a data processing device that has a coprocessor outside the MPH and executes some instructions in a program by the coprocessor, the MPH
Since instructions can be decoded in the coprocessor at the same time as instructions are decoded in U's pipeline processing, it is possible to eliminate disturbances in pipeline processing, eliminate the overhead of command transfer to the coprocessor, and improve the execution performance of coprocessor instructions. There is an effect that can be improved.

また、メモリバスを監視していて、MPUが命令をフェ
ッチしたときに、同時にコプロセッサにも命令を取り込
む方式のコプロセッサに比べ、命令のブリフェッチキュ
ーをコプロセッサ側に持つ必要がないこと、および、そ
のブリフェッチキューをMPUと同期して管理するため
の制御回路が不要になるという効果がある。
Also, compared to a coprocessor that monitors the memory bus and simultaneously fetches instructions into the coprocessor when the MPU fetches an instruction, there is no need to have an instruction briefetch queue on the coprocessor side. Another advantage is that a control circuit for managing the brief fetch queue in synchronization with the MPU is no longer required.

更に、上記のようなコプロセッサの制御方式では、MP
U内にキャッシュメモリ(特に、命令キャッシュ)を内
蔵した場合、コプロセッサ命令の読み出しが内蔵キャッ
シュメモリにヒツトするとき、コプロセッサがメモリバ
スから命令を読み取ることができなくなる。本発明によ
れば、コプロセッサのコマンドをメモリバスによらずに
転送できるので、MPU内に命令キャッシュメモリを内
蔵するシステムにおいても、高速なコプロセッサ制御方
式を提供できるという効果がある。
Furthermore, in the coprocessor control method described above, MP
If a cache memory (particularly an instruction cache) is built into the U, when reading a coprocessor instruction hits the built-in cache memory, the coprocessor will not be able to read the instruction from the memory bus. According to the present invention, since coprocessor commands can be transferred without using a memory bus, there is an effect that a high-speed coprocessor control method can be provided even in a system in which an instruction cache memory is built in the MPU.

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

第1図は本発明の一実施例であるデータ処理装置の概略
ブロック図、第2図は第1図のデータ処理装置のパイプ
ラインの流れを示すタイムチャート、第3図は従来の技
術によるデータ処理装置のパイプラインの流れを示すタ
イムチャート、第4図(a)はMPU命令デコーダ13
0の処理を示すフローチャニド、第4図(b)はコプロ
セッサ命令デコーダ230の処理を示すフローチャート
、第5図はMPUの制御回路の処理フローチャート、第
6図は第1図のデータ処理装置の動作を示すタイムチャ
ートである。 100・・・マイクロプロセッサ(MPU) 、 15
0・・・次命令実行開始指示信号、160・・・CP命
令検出信号、180・・・命令解読開始指示信号、20
0・・・コプロセッサ、230・・・コプロセッサ命令
デコーダ、250・・・命令転送パス、270・・・c
p命令実行終了報告信号、300・・・メインメモリ。 第2閃 2卯  〕ブロヤ電l可(仁r) 芽3図 第4凶 (俣)(b) 第5図
FIG. 1 is a schematic block diagram of a data processing device that is an embodiment of the present invention, FIG. 2 is a time chart showing the pipeline flow of the data processing device of FIG. 1, and FIG. 3 is a data processing device according to the conventional technology. A time chart showing the pipeline flow of the processing device, FIG. 4(a) shows the MPU instruction decoder 13.
4(b) is a flowchart showing the processing of the coprocessor instruction decoder 230, FIG. 5 is a processing flowchart of the MPU control circuit, and FIG. 6 is the operation of the data processing device of FIG. 1. It is a time chart showing. 100... Microprocessor (MPU), 15
0... Next instruction execution start instruction signal, 160... CP instruction detection signal, 180... Instruction decoding start instruction signal, 20
0...Coprocessor, 230...Coprocessor instruction decoder, 250...Instruction transfer path, 270...c
p instruction execution completion report signal, 300...main memory. 2nd flash 2 rabbits] Broyaden lka (jinr) bud 3 figure 4 kyo (mata) (b) Figure 5

Claims (1)

【特許請求の範囲】 1、主に動作する第1の処理装置と、該第1の処理装置
の指示に従つて動作する第2の処理装置を有するデータ
処理装置において、該第1の処理装置は少なくとも、命
令フェッチ、命令デコード、実行の3ステージを有する
パイプライン処理を行なう処理装置であり、また、該第
1の処理装置は命令の実行ステージとは独立に、該第2
の処理装置に対してコマンドを転送する手段を有し、 該第2の処理装置は該転送手段によつて転送されたコマ
ンドを解読する手段を有し、 該第2の処理装置は、該第1の処理装置より、次命令実
行開始指示信号を受け、該第2の処理装置によつてデコ
ードされた命令が該第2の処理装置で処理する必要があ
る命令であるとき、該次命令実行開始指示信号によつて
該命令の処理を開始することを特徴とするデータ処理装
置。 2、該第1の処理装置は、実行中の命令が該第2の処理
装置によつて実行される命令であることを検出する手段
を有し、該第2の処理装置は、該第2の処理装置によつ
て実行されていた命令の処理が終了したことを該第1の
処理装置に報告する手段を有し、該第1の処理装置は、
該第2の処理装置で命令が実行されたときには、該第2
の処理装置の実行終了報告信号を待つて、該次命令実行
開始指示信号を発行することを特徴とする請求項第1項
記載のデータ処理装置。 3、該第1の処理装置および該第2の処理装置は、それ
ぞれ別チップのLSI、または、別のボードのように、
分離された実装手段によつて実現されていることを特徴
とする請求項第1および第2項記載のデータ処理装置。 4、該第2の処理装置は、コマンドの解読と該コマンド
の実行をパイプライン的に処理することを特徴とする請
求項第1項乃至第3項記載のデータ処理装置。 5、該第1および該第2の処理装置は、命令(コマンド
)デコード、および、命令(コマンド)実行の各ステー
ジ毎に同期を取りながら、動作することを特徴とする請
求項第4項記載のデータ処理装置。 6、該第2の処理装置は該第1の処理装置から、命令解
読開始指示信号を受け取り、命令デコードの開始を該第
1の処理装置と同期させることを特徴とする請求項第5
項記載のデータ処理装置。
[Scope of Claims] 1. In a data processing device having a first processing device that mainly operates and a second processing device that operates according to instructions from the first processing device, the first processing device is a processing device that performs pipeline processing that has at least three stages: instruction fetch, instruction decode, and execution, and the first processing device performs pipeline processing that has at least three stages: instruction fetch, instruction decode, and execution.
means for transferring a command to a processing device; the second processing device has means for decoding the command transferred by the transfer means; When a next instruction execution start instruction signal is received from a first processing device and the instruction decoded by the second processing device is an instruction that needs to be processed by the second processing device, the next instruction is executed. A data processing device characterized in that processing of the instruction is started in response to a start instruction signal. 2. The first processing device has means for detecting that the instruction being executed is an instruction executed by the second processing device, and the second processing device has a means for detecting that the instruction being executed is an instruction executed by the second processing device. means for reporting to the first processing device that the processing of the instruction being executed by the processing device has ended, the first processing device:
When the second processing device executes the instruction, the second processing device executes the instruction.
2. The data processing device according to claim 1, wherein the next instruction execution start instruction signal is issued after waiting for an execution completion report signal from the processing device. 3. The first processing device and the second processing device are each a separate chip LSI or a separate board,
3. The data processing apparatus according to claim 1, wherein the data processing apparatus is realized by separate mounting means. 4. The data processing device according to claim 1, wherein the second processing device processes command decoding and command execution in a pipeline manner. 5. The first and second processing devices operate while synchronizing each stage of instruction (command) decoding and instruction (command) execution. data processing equipment. 6. Claim 5, wherein the second processing device receives an instruction signal to start decoding an instruction from the first processing device, and synchronizes the start of instruction decoding with the first processing device.
The data processing device described in Section 1.
JP63069375A 1988-03-25 1988-03-25 Data processor Pending JPH01243167A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63069375A JPH01243167A (en) 1988-03-25 1988-03-25 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63069375A JPH01243167A (en) 1988-03-25 1988-03-25 Data processor

Publications (1)

Publication Number Publication Date
JPH01243167A true JPH01243167A (en) 1989-09-27

Family

ID=13400750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63069375A Pending JPH01243167A (en) 1988-03-25 1988-03-25 Data processor

Country Status (1)

Country Link
JP (1) JPH01243167A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869377A (en) * 1994-05-10 1996-03-12 Sgs Thomson Microelectron Sa Electronic circuit and method for use of coprocessor
US5909565A (en) * 1995-04-28 1999-06-01 Matsushita Electric Industrial Co., Ltd. Microprocessor system which efficiently shares register data between a main processor and a coprocessor
JP2000347859A (en) * 1998-01-20 2000-12-15 Internatl Business Mach Corp <Ibm> Computer system for improving system performance with pipeline synchronism
JP2007328822A (en) * 2007-09-10 2007-12-20 Matsushita Electric Ind Co Ltd Multitask processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5435654A (en) * 1977-08-26 1979-03-15 Hitachi Ltd Information processing unit
JPS57152045A (en) * 1981-03-13 1982-09-20 Hitachi Ltd Computer system
JPS5829051A (en) * 1981-08-17 1983-02-21 Nec Corp Operation processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5435654A (en) * 1977-08-26 1979-03-15 Hitachi Ltd Information processing unit
JPS57152045A (en) * 1981-03-13 1982-09-20 Hitachi Ltd Computer system
JPS5829051A (en) * 1981-08-17 1983-02-21 Nec Corp Operation processing device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869377A (en) * 1994-05-10 1996-03-12 Sgs Thomson Microelectron Sa Electronic circuit and method for use of coprocessor
US5909565A (en) * 1995-04-28 1999-06-01 Matsushita Electric Industrial Co., Ltd. Microprocessor system which efficiently shares register data between a main processor and a coprocessor
JP2000347859A (en) * 1998-01-20 2000-12-15 Internatl Business Mach Corp <Ibm> Computer system for improving system performance with pipeline synchronism
JP2007328822A (en) * 2007-09-10 2007-12-20 Matsushita Electric Ind Co Ltd Multitask processor

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
JPS6043535B2 (en) information processing equipment
JP4632279B2 (en) System and method for reducing power consumption
JP2002149442A (en) Data processor
US5193159A (en) Microprocessor system
US5659760A (en) Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information
US5226166A (en) Parallel operation processor with second command unit
JPS63261449A (en) Data processor
JPH10143365A (en) Parallel processing device and its command issuing system
JPH01243167A (en) Data processor
JP2798121B2 (en) Data processing device
JPH02287857A (en) Method for processing instruction sequence for computer apparatus
JP2667864B2 (en) Data processing device
JP2536726B2 (en) Microprocessor
JP2002163126A (en) Event detecting circuit embedded in debugging cpu, event detecting method, and external peripheral circuit
JP3719241B2 (en) Arithmetic unit
JPS61237135A (en) Instruction pre-fetching system
JP2572821B2 (en) Operation processing method by instruction re-execution
JPH01106158A (en) Control system for inter-processor data communication
JPH02206836A (en) Data processor
JPS58106642A (en) Parallel operating device
JPH02183333A (en) Data processor
JPS5875256A (en) Monitoring system for execution instruction processing state
JP2002351658A (en) Arithmetic processor
JPH0279122A (en) Floating point arithmetic mechanism