JPH0786868B2 - Communication method between processors - Google Patents

Communication method between processors

Info

Publication number
JPH0786868B2
JPH0786868B2 JP62126251A JP12625187A JPH0786868B2 JP H0786868 B2 JPH0786868 B2 JP H0786868B2 JP 62126251 A JP62126251 A JP 62126251A JP 12625187 A JP12625187 A JP 12625187A JP H0786868 B2 JPH0786868 B2 JP H0786868B2
Authority
JP
Japan
Prior art keywords
coprocessor
main processor
data
operand
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62126251A
Other languages
Japanese (ja)
Other versions
JPS63291155A (en
Inventor
浩三 木村
督三 清原
勝彦 上田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62126251A priority Critical patent/JPH0786868B2/en
Publication of JPS63291155A publication Critical patent/JPS63291155A/en
Publication of JPH0786868B2 publication Critical patent/JPH0786868B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、プロセッサ間通信方法に係り、特に、メイン
プロセッサおよび複数のコプロセッサおよび主記憶が共
通のアドレスバスおよびデータバスに接続されている計
算機システムにおいて、各コプロセッサはメインプロセ
ッサの管理のもとで通信を行なうプロセッサ間通信方法
に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interprocessor communication method, and more particularly, to a computer system in which a main processor, a plurality of coprocessors, and a main memory are connected to a common address bus and data bus. In the above, each coprocessor relates to an interprocessor communication method for performing communication under the control of the main processor.

従来の技術 従来のプロセッサ間通信方法としては、例えばMotorola
Inc.(モトローラ・インコーポレーション)MC68881 F
loating−Point Coprocessor User's Manual (フロー
ティング・ポイント・コプロセッサ・ユーザズ・マニュ
アル)(First Edition)に示されているものがある。
2. Description of the Related Art A conventional interprocessor communication method is, for example, Motorola.
Inc. (Motorola Incorporated) MC68881 F
Some are shown in the Loating-Point Coprocessor User's Manual (First Edition).

第3図は、この従来のプロセッサ間通信方法である、モ
トローラ・インコポーレーション32ビット・マイクロプ
ロセッサ MC68020(以下、MC68020とする)とモトロー
ラ・インコーポーレーション フローティング・ポイン
ト・コプロセッサMC68881 (以下、MC68881とする)間
で行なわれている通信方法を示す説明図である。21は、
メインプロセッサのMC68020である。22は、コプロセッ
サのMC68881である。23は、MC68020 21のアドレスの一
部(FCO−FC2およびA19−A13)をデコードしCSに結果を
出力するCoprocessor Decode Logic(コプロセッサ・デ
コード・ロジック)である。24は、プロセッサのステー
トおよび現在のバスサイクルのアドレス空間を区別する
ファンクション・コード信号FCO−FC2である。25は、ア
ドレス・バスA19−A13である。26は、チップ・セレクト
信号CSである。27は、有効な情報がアドレス・バス上に
有ることを示すアドレス・ストローブ信号ASである。28
は、有効な情報がデータ・バス上に有ることを示すデー
タ・ストローブ信号DSである。29は、データ転送の方法
を示すリード・ライト信号R/Wである。30はデータ転送
の完了およびサイズを知らせるアクノリッジ信号DSACK1
−0である。31は、アドレス・バスA4−A1である。32
は、データ・バスD31−DOである。33は、MC68881 22が
メインプロセッサと交信するために設けられたコプロセ
ッサ・インタフェース・レジスタ(以下、CIRとする)
である。
Figure 3 shows the conventional inter-processor communication method, Motorola Incoporation 32-bit microprocessor MC68020 (hereinafter referred to as MC68020) and Motorola Incorporation Floating Point Coprocessor MC68881 (hereinafter referred to as MC68881). FIG. 4 is an explanatory diagram showing a communication method performed between the above. 21 is
It is the main processor MC68020. 22 is a coprocessor MC68881. 23 is a Coprocessor Decode Logic that decodes a part of the address of the MC680202 (FCO-FC2 and A19-A13) and outputs the result to CS. 24 is a function code signal FCO-FC2 that distinguishes the processor state and the address space of the current bus cycle. 25 is the address bus A19-A13. 26 is a chip select signal CS. 27 is an address strobe signal AS indicating that valid information is present on the address bus. 28
Is a data strobe signal DS which indicates that valid information is present on the data bus. Reference numeral 29 is a read / write signal R / W indicating a data transfer method. 30 is an acknowledge signal DSACK1 indicating the completion and size of data transfer
It is −0. 31 is the address bus A4-A1. 32
Is the data bus D31-DO. 33 is a coprocessor interface register (hereinafter referred to as CIR) provided for the MC68881 22 to communicate with the main processor.
Is.

第4図は、第3図のMC68881 22におけるコプロセッサ・
インタフェース・レジスタについて詳しく説明するため
の図である。第4図において、34は、MC68881 22がMC68
020 21と通信するために設けられた32ビット×3本およ
び16ビット×10本のコプロセッサ・インターフェース・
レジスタである。
Figure 4 shows the coprocessor in the MC68881 22 in Figure 3.
It is a figure for explaining in detail an interface register. In FIG. 4, 34 is MC68881 and 22 is MC68.
020 21 32-bit x 3 and 16-bit x 10 coprocessor interfaces provided to communicate with
It is a register.

以上のように構成された従来のプロセッサ間通信方法に
おいて、以下、MC68020 21が主記憶上の32ビットデータ
をMC68881 22上にフローティング・ポイント・データ・
レジスタに格納する命令を実行する際に行う通信手続き
を説明する。
In the conventional inter-processor communication method configured as described above, the MC68020 21 will transfer the 32-bit data in the main memory to the MC68881 22 as floating point data.
The communication procedure performed when executing the instruction stored in the register will be described.

(1)MC68020 21は命令をデコードし、MC68881 22用命
令と判断する。
(1) The MC68020 21 decodes the instruction and determines that the instruction is for MC68881 22.

(2)MC68020 21は、まずMC68881 22のコマンド用CIR
34にコマンドを転送するため以下のサブシーケンスを行
なう。
(2) MC68020 21 is the command CIR for MC68881 22.
Perform the following subsequence to transfer the command to 34.

[i]FCO−FC2 24とA19−A13 25にはCS 26がアクティ
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS26がアク
ティブになる。
[I] Data that CS 26 becomes active is output to FCO-FC224 and A19-A1325. At the same time, it is decoded by the coprocessor decode logic 23 and CS26 becomes active.

[ii]R/W 29はデータライトの方向を示す。[Ii] R / W 29 indicates the direction of data write.

[iii]AS 27がアクティブになった時点にA4−A1 31は
コマンド用CIR 34のアドレスを出力する。
[Iii] When AS 27 becomes active, A4-A1 31 outputs the address of command CIR 34.

[iv]DS 28がアクティブになった時点にMC68020 21が
出力したコマンド(今回は、MC68020 21が転送した主記
憶上の32ビットデータをMC6881 22上にフローティング
・ポイント・データ・レジスタに格納するコマンド)が
D31−D0 32を通してコマンド用CIR 34に書き込まれる。
[Iv] Command output by MC68020 21 when DS 28 becomes active (this time, command to store 32-bit data in main memory transferred by MC68020 21 to floating point data register on MC6881 22) )But
Written to command CIR 34 through D31-D0 32.

[v]MC68881 22はコマンド用CIR 34にコマンドが書き
込まれるとDSACK1−0 30を用いてデータ転送の完了およ
びサイズをMC68020 21に知らせる。
[V] The MC68881 22 informs the MC68020 21 of the completion and size of the data transfer by using DSACK1-0 30 when the command is written in the command CIR 34.

(3)MC68881 22はコマンド用CIR 34書き込まれたコマ
ンドをデコードし、コマンドの実行を開始する。
(3) The MC68881 22 decodes the command written in the command CIR 34 and starts executing the command.

(4)MC68881 22はMC68020 21のサービスを必要とする
間、次の(5)〜(8)のステップを実行する。
(4) The MC68881 22 executes the following steps (5) to (8) while it needs the service of the MC68020 21.

(5)MC68881 22はレスポンス用CIR 34に要求するサー
ビス(今回はオペランドとして32ビットデータを転送し
てもらう)を書き込む。
(5) The MC68881 22 writes the requested service (this time, 32-bit data is transferred as an operand) to the response CIR 34.

(6)MC68020 21はレスポンス用CIR 34に要求されたサ
ービスを以下のサブシーケンスを用いて読み込む。な
お、このサービスの読み込みは、MC68020 21が適当な間
隔毎に行なっているため、もしも前の命令が現在も実行
中などの理由で、レスポンス用CIR 34に要求するサービ
スが未だ書かれてない場合は、書かれるまで何回も以下
のシーケンスを繰り返す。
(6) The MC68020 21 reads the service requested by the response CIR 34 using the following subsequence. Note that this service is read by the MC68020 21 at appropriate intervals, so if the previous command is still executing, the service requested by the response CIR 34 is not yet written. Repeats the following sequence many times until written.

[i]FCO−FC2 24とA19−A13 25にはCS 26がアクティ
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS 26がア
クティブになる。
[I] Data that CS 26 becomes active is output to FCO-FC224 and A19-A1325. At the same time it is decoded by the coprocessor decode logic 23 and CS 26 becomes active.

[ii]R/W 29はデータリードの方向を示す。[Ii] R / W 29 indicates the data read direction.

[iii]AS 27がアクティブになった時点にA4−A1 31は
レスポンス用CIR34のアドレスを出力する。
[Iii] When AS 27 becomes active, A4-A1 31 outputs the address of response CIR 34.

[iv]DS 28がアクティブになった時点にMC68020 21はD
31−D0 32を通してレスポンス用CIR 34の内容を読み込
む。
[Iv] MC68020 21 is D when DS 28 becomes active
Read the contents of the response CIR 34 through 31-D0 32.

[v]MC68881 22は、MC68020 21がレスポンス用CIR 34
を読み込む際にDSACK1−0 30を用いてデータ転送のサイ
ズをMC68020 21に知らせる。
[V] MC68881 22 is a CIR 34 for MC68020 21 for response.
Use DSACK1-0 30 to read the size of data transfer to MC68020 21.

(7)MC68020 21は読み込んだサービス要求に対して実
行を開始する。
(7) The MC68020 21 starts executing the read service request.

(8)MC68020 21は命令で指定された32ビットデータを
主記憶上から読み込み、MC68881 22のオペランド用CIR
34に以下のサブシーケンスを用いて書き込む。
(8) The MC68020 21 reads the 32-bit data specified by the instruction from the main memory and uses it as the CIR for the MC68881 22 operand.
Write to 34 using the following subsequence:

[i]FCO−FC2 24とA19−A13 25にはCS 26がアクティ
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS 26がア
クティブになる。
[I] Data that CS 26 becomes active is output to FCO-FC224 and A19-A1325. At the same time it is decoded by the coprocessor decode logic 23 and CS 26 becomes active.

[ii]R/W 29はデータライトの方向を示す。[Ii] R / W 29 indicates the direction of data write.

[iii]AS 27がアクティブになった時点にA4−A131はオ
ペランド用CIR34のアドレスを出力する。
[Iii] When AS 27 becomes active, A4-A131 outputs the address of operand CIR 34.

[iv]DS 28がアクティブになった時点にMC68020 21が
出力したオペランドがD31−DO 32を通してオペランド用
CIR 34に書き書き込まれる。
[Iv] Operand output by MC68020 21 when DS 28 becomes active is used as an operand through D31-DO 32
Written and written to CIR 34.

[v]MC68881 22はオペランド用CIR 34にコマンドが書
き込まれると DSACK1−0 30を用いてデータ転送の完了
およびサイズをMC68020 21に知らせる。
[V] The MC68881 22 informs the MC68020 21 of the completion and size of data transfer by using DSACK1-0 30 when a command is written in the CIR 34 for operand.

(9)MC68881 22はオペランド用CIR 34に書き込まれた
32ビットデータを読み込むことによりサービスを受け
る。
(9) MC68881 22 was written in CIR 34 for operand
Receive services by reading 32-bit data.

(10)MC68881 22はMC68020 21のサービスが必要なくな
るとレスポンス用CIR 34に再帰不要(サービス不要)を
返す。
(10) MC68881 22 returns to CIR 34 for response when the service of MC68020 21 is no longer needed (requires no service).

(11)MC68881 22はオペランド用CIR 34に書き込まれた
32ビットデータをフローティング・ポイント・データ・
レジスタに格納する。
(11) MC68881 22 written to CIR 34 for operand
32-bit data is floating point data
Store in register.

(12)MC68881 22はコマンドの実行が終了するとレスポ
ンス用CIR 34に処理終了を知らせる。
(12) When the MC68881 22 finishes executing the command, it notifies the response CIR 34 of the end of processing.

(13)MC68020 21は次の命令の実行に進む。(13) The MC68020 21 proceeds to execute the next instruction.

発明が解決しようとする問題点 しかしながら上記のような構成では、MC68020 21がコプ
ロセッサ命令を実行するのに必要とする主記憶上のオペ
ランドをMC68881 22のオペランド用CIR 34に書き込もう
とした際、MC68020 21が主記憶上のデータを自分自身に
取り込み、その後MC68881 22へオペランドとして転送す
るため、MC68881 22がコマンドを受け取ってからオペラ
ンドを受け取るまでに非常に多くの時間を要する。か
つ、前の命令が既に実行終了した場合などは、その間の
時間はMC68881 22はアイドリング状態を有することにな
る。従って、MC68020 21とMC68881 22間の通信に時間を
要しMC68881 22の総合的な実行が遅い、という問題点を
有していた。また、オペランドは主記憶からデータバス
を経由してMC68020 21に転送され、再びデータバスを経
由してMC68881 22転送されることからバスのバンド幅を
狭くする、という問題点も有していた。
Problems to be Solved by the Invention However, in the above configuration, when the MC68020 21 tries to write the operand in the main memory required for executing the coprocessor instruction to the CIR 34 for the operand of the MC68881 22, the MC68020 Since 21 fetches the data in the main memory to itself and then transfers it to the MC68881 22 as an operand, it takes a very long time from when the MC68881 22 receives the command until it receives the operand. And when the previous instruction has already finished executing, the MC68881 22 will be in the idling state during the time. Therefore, there is a problem that it takes time to communicate between the MC68020 21 and the MC68881 22 and the overall execution of the MC68881 22 is slow. Further, since the operand is transferred from the main memory to the MC6802021 via the data bus and again transferred to the MC6888122 via the data bus, there is a problem that the bandwidth of the bus is narrowed.

本発明はかかる点に鑑み、高速なプロセッサ間通信を行
なえ、メインプロセッサからみたコプロセッサの実行が
速く、かつバスのバンド幅を広くするプロセッサ間通信
方法を提供することを目的とする。
In view of the above point, the present invention has an object of providing an interprocessor communication method capable of performing high-speed interprocessor communication, enabling a coprocessor to execute from the viewpoint of a main processor, and increasing a bus bandwidth.

問題点を解決するための手段 本発明は、コプロセッサ命令を実行する際に、コプロセ
ッサがオペランドを必要とする場合にはコプロセッサが
メインプロセッサの管理下においてメインプロセッサを
経由しないで主記憶から直接オペランドを取り込む、お
よび演算結果を主記憶に書き込む場合にはコプロセッサ
がメインプロセッサの管理下においてメインプロセッサ
を経由しないで主記憶に直接書き込むプロセッサ間通信
方法である。
According to the present invention, when executing a coprocessor instruction, when the coprocessor requires an operand, the coprocessor does not go through the main processor under the control of the main processor and the main memory is not used. This is an inter-processor communication method in which a coprocessor directly writes in the main memory under the control of the main processor when the operand is directly fetched and the operation result is written in the main memory.

作用 本発明は前記した構成により、コプロセッサがオペラン
ドをメインプロセッサを経由しないで主記憶より取り込
め、かつ、演算結果をメインプロセッサを経由しないで
主記憶に書き込めることより、高速なプロセッサ間通信
を行なえ、メインプロセッサから見たコプロセッサの実
行が速くなり、バスのバンド幅も広くなる。
The present invention has the above-described configuration, and thus the coprocessor can fetch the operand from the main memory without passing through the main processor and write the operation result in the main memory without passing through the main processor, thereby enabling high-speed interprocessor communication. , The coprocessor sees from the main processor to run faster and the bus bandwidth increases.

実施例 第1図は、本発明のプロセッサ間通信方法を実施するシ
ステムの一実施例の構成図を示すものである。第1図に
おいて、1は、命令およびデータを格納している主記憶
である。2は、主記憶1の命令を読み込み、デコード
し、通常は自分自身で実行を行ない、コプロセッサ命令
であれば、対象のコプロセッサで実行を行なうためにコ
プロセッサ間の通信を管理し、コマンドおよびオペラン
ドを発行する、またはオペランドを読み込むメインプロ
セッサである。3はコマンドおよびオペランドを受け取
り、コプロセッサ命令の実行を行なうコプロセッサであ
る。4は、メインプロセッサ2において、読み込んだ命
令をデコードおよび実行する命令実行装置である。5
は、メインプロセッサ2において、主記憶1からの命令
の読み込み、主記憶1とデータの書き込み、読み込みお
よびコプロセッサ3間の通信の手続きを制御する通信制
御装置である。6は、コプロセッサにおいて、受け取っ
たコマンドおよびオペランドを用いてコプロセッサ命令
を実行する命令実行装置である。7は、コプロセッサ3
において、メインプロセッサ2間の通信手続きを制御す
る通信制御装置である。8は、コプロセッサ3の通信制
御装置7において、ある固定のアドレスが割り付けられ
そのアドレスを用いてデータの書き込み、読み出しが可
能であり、メインプロセッサ2が転送するコマンドが書
き込まれる通信用コマンドレジスタである。9は、コプ
ロセッサ3の通信制御装置7において、ある固定のアド
レスが割り付けられたそのアドレスを用いてデータの書
き込み、読み出しが可能であり、メインプロセッサ2が
転送する、または主記憶1から読み込むオペランドが書
き込まれる通信用オペランドレジスタである。10は、コ
プロセッサ3が、コプロセッサ命令の実行のための必要
な全てのコマンドおよびオペメ宴塔hが揃ったかどうか
を確認し、かつ前命令の終了も確認されると、次命令の
コマンドおよびオペランドの書き込み可能をメインプロ
セッサ2に知らせる信号線CPRDYである。11は、主記憶
1およびコプロセッサ3が、データ転送サイクルの終了
を知らせる信号RDYである。12は、バスのデータ転送の
方向を示すリード/ライト信号R/Wである。13は有効な
アドレスがアドレス・バス上に有ることを示すアドレス
・ストローブ信号ASである。14は、アドレスバスであ
る。15は、有効なデータがデータ・バス上に有ることを
示すデータ・ストローブ信号DSである。16は、データバ
スである。
Embodiment FIG. 1 is a block diagram of an embodiment of a system for carrying out the interprocessor communication method of the present invention. In FIG. 1, reference numeral 1 is a main memory that stores instructions and data. Reference numeral 2 reads the instruction in the main memory 1, decodes it, and normally executes it by itself. If it is a coprocessor instruction, it manages communication between coprocessors to execute it in the target coprocessor, and executes commands. It is the main processor that issues and reads operands. A coprocessor 3 receives commands and operands and executes coprocessor instructions. Reference numeral 4 denotes an instruction execution device that decodes and executes the read instruction in the main processor 2. 5
Is a communication control device for controlling, in the main processor 2, instructions for reading instructions from the main memory 1, writing and reading data to and from the main memory 1 and communication procedures between the coprocessor 3. An instruction execution unit 6 executes a coprocessor instruction using the received command and operand in the coprocessor. 7 is a coprocessor 3
In the above, the communication control device controls the communication procedure between the main processors 2. Reference numeral 8 denotes a communication command register in which a fixed address is allocated in the communication control device 7 of the coprocessor 3, data can be written and read using the address, and a command transferred by the main processor 2 is written. is there. Reference numeral 9 is an operand that allows the communication control device 7 of the coprocessor 3 to write and read data using a fixed address assigned to it, which the main processor 2 transfers or reads from the main memory 1. Is a communication operand register to which is written. The coprocessor 3 confirms whether or not the coprocessor 3 has all the necessary commands and the operation bar h for executing the coprocessor instruction, and when the end of the previous instruction is confirmed, the command and the next instruction It is a signal line CPRDY that informs the main processor 2 that the operand can be written. Reference numeral 11 is a signal RDY for the main memory 1 and the coprocessor 3 to notify the end of the data transfer cycle. Reference numeral 12 is a read / write signal R / W indicating the direction of data transfer on the bus. Reference numeral 13 is an address strobe signal AS indicating that a valid address is present on the address bus. 14 is an address bus. Reference numeral 15 is a data strobe signal DS indicating that valid data is present on the data bus. 16 is a data bus.

第2図は、第1図のプロセッサ間通信方法の構成図につ
いて、通信方法の手続きを詳しく説明するためのタイミ
ングチャート図である。
FIG. 2 is a timing chart diagram for explaining in detail the procedure of the communication method in the block diagram of the inter-processor communication method of FIG.

以上のように構成された本実施例のプロセッサ間通信方
法について、以下、メインプロセッサ2が主記憶1上の
32ビットデータをコプロセッサ3上のフローティング用
データレジスタに格納する命令を実行する際に行う通信
手続きを説明する。
Regarding the interprocessor communication method of this embodiment configured as described above, the main processor 2 will be described below on the main memory 1.
A communication procedure performed when executing an instruction to store 32-bit data in the floating data register on the coprocessor 3 will be described.

(1)メインプロセッサ2において通信制御装置5は、
主記憶1より命令を読み込み、命令実行装置4はその命
令をデコードする。
(1) In the main processor 2, the communication control device 5
An instruction is read from the main memory 1, and the instruction execution device 4 decodes the instruction.

(2)デコードの結果、その命令がコプロセッサ命令と
判明すると、メインプロセッサ2はコプロセッサ3に書
き込むコマンドおよび主記憶1上に存在するオペランド
のアドレスの用意を開始する。
(2) As a result of decoding, when the instruction is found to be a coprocessor instruction, the main processor 2 starts preparing a command to be written in the coprocessor 3 and an address of an operand existing in the main memory 1.

(3)メインプロセッサ2において命令実行装置6は、
コプロセッサ3に転送すべきコマンドを生成し、通信制
御装置5は、コプロセッサ3の通信用コマンドレジスタ
8に以下のサブシーケンスを用いて書き込む。
(3) In the main processor 2, the instruction execution device 6
A command to be transferred to the coprocessor 3 is generated, and the communication control device 5 writes the command in the communication command register 8 of the coprocessor 3 using the following subsequence.

[i]メインプロセッサ2において通信制御装置5は、
R/W12をインアクティブにしてデータのライトを知らせ
る。
[I] In the main processor 2, the communication control device 5
R / W12 is made inactive and data write is notified.

[ii]メインプロセッサ2において通信制御装置5は、
アドレスバス14に通信用コマンドレジスタ8を指定する
アドレスを出力すると同時にAS13をアクティブにしてア
ドレスの有効性を知らせる。
[Ii] In the main processor 2, the communication control device 5
An address that specifies the communication command register 8 is output to the address bus 14, and at the same time, AS 13 is activated to notify the validity of the address.

[iii]メインプロセッサ2において通信制御装置5
は、データバス16に転送すべきコマンドを出力すると同
時にDS15をアクティブにしてデータの有効性を知らせ
る。
[Iii] Communication controller 5 in main processor 2
Outputs a command to be transferred to the data bus 16 and at the same time activates DS15 to notify the validity of data.

[iv]コプロセッサ3において通信制御装置7は、AS1
3、DS15がアクティブに成った時点でアドレスバス14で
指定される通信用コマンドレジスタ8にデータバス16上
のコマンドを書き込む。
[Iv] In the coprocessor 3, the communication control device 7 uses the AS1
3. When the DS15 becomes active, the command on the data bus 16 is written in the communication command register 8 designated by the address bus 14.

[v]コプロセッサ3において通信制御装置7は、通信
用コマンドレジスタ8に正しいコマンドが書き込まれる
とRDY 11をインアクティブにして、メインプロセッサ2
における通信制御装置5にコマンド転送サイクルの終了
を知らせる。
[V] In the coprocessor 3, the communication control device 7 inactivates the RDY 11 when the correct command is written in the communication command register 8, and the main processor 2
To notify the communication control device 5 at the end of the command transfer cycle.

[vi]メインプロセッサ2において通信制御装置5は、
コマンド転送サイクルを終了する。
[Vi] In the main processor 2, the communication control device 5
End the command transfer cycle.

(5)コプロセッサ3において命令実行装置6は、書き
込まれたコマンドをプリデコードし、必要なオペランド
が主記憶1上にあることを認識し、通信制御装置7は、
続いてデータバス16上で有効となるデータを取り込む用
意を行なう。
(5) In the coprocessor 3, the instruction execution device 6 predecodes the written command, recognizes that the necessary operand is in the main memory 1, and the communication control device 7
Then, preparations are made for fetching valid data on the data bus 16.

(6)メインプロセッサ2において通信制御装置5は、
コプロセッサ3に転送すべきオペランドの主記憶1上の
アドレスを用いて、主記憶1上のデータを読み込みにい
く。コプロセッサ3は必要なオペランドを通信用オペラ
ンドレジスタ9に以下のサブシーケンスを用いて取り込
む。
(6) In the main processor 2, the communication control device 5
The data on the main memory 1 is read using the address on the main memory 1 of the operand to be transferred to the coprocessor 3. The coprocessor 3 fetches the required operand in the communication operand register 9 using the following sub-sequence.

[i]メインプロセッサ2において通信制御装置5は、
R/W 12をアクティブにして主記憶1ヘデータのリードを
知らせる。
[I] In the main processor 2, the communication control device 5
R / W 12 is activated and data read to main memory 1 is notified.

[ii]メインプロセッサ2において通信制御装置5は、
アドレスバス14に主記憶1上のオペランドを指定するア
ドレスを出力すると同時にAS13をアクティブにしてアド
レスの有効性を知らせる。
[Ii] In the main processor 2, the communication control device 5
The address designating the operand on the main memory 1 is output to the address bus 14, and at the same time, the AS 13 is activated to notify the validity of the address.

[iii]メインプロセッサ2において通信制御装置5
は、DS15をアクティブにする。
[Iii] Communication controller 5 in main processor 2
Activates DS15.

[vi]主記憶1は、指定されたアドレスのデータをデー
タバス16へ出力すると同時に終了時にはRDY11をインア
クティブにする。
[Vi] The main memory 1 outputs the data of the specified address to the data bus 16 and, at the same time, makes the RDY11 inactive at the end.

[v]コプロセッサ3において通信制御装置7は、AS1
3、DS15がアクティブかつRDY 11をインアクティブに成
った時点で通信用オペランドレジスタ9にデータバス14
上のデータをオペランドとして取り込む。
[V] In the coprocessor 3, the communication control device 7
3. When the DS15 is active and RDY 11 is inactive, the data bus 14 is added to the communication operand register 9
Take the above data as an operand.

[vi]メインプロセッサ2において通信制御装置5は、
オペランド転送サイクルを終了する。
[Vi] In the main processor 2, the communication control device 5
Ends the operand transfer cycle.

[vii]コプロセッサ3において通信制御装置7は、コ
プロセッサ命令の実行のための必要な全てのコマンドお
よびオペランドが揃ったかどうかをプリデコードの結果
と比較する。揃っていることが確認され、かつ前命令の
終了および次命令のコマンドおよびオペランドの書き込
みが可能となると、CPRDY 10をインアクティブにしてメ
インプロセッサ2に次命令実行可能を知らせる。
[Vii] In the coprocessor 3, the communication control device 7 compares whether or not all the necessary commands and operands for executing the coprocessor instruction are prepared with the result of predecoding. When it is confirmed that they are aligned and it is possible to end the previous instruction and write the command and operand of the next instruction, the CPRDY 10 is made inactive to notify the main processor 2 that the next instruction can be executed.

[viii]メインプロセッサ2において通信制御装置5
は、全データ転送サイクルを終了する。
[Viii] Communication control device 5 in main processor 2
Ends the entire data transfer cycle.

(7)コプロセッサ3において命令実行装置6は、通信
用コマンドレジスタ8に書き込まれたコマンドをデコー
ドし、通信用オペランドレジスタ9に書き込まれたデー
タをフローティング用データレジスタへの格納を開始す
る。
(7) In the coprocessor 3, the instruction execution unit 6 decodes the command written in the communication command register 8 and starts storing the data written in the communication operand register 9 in the floating data register.

(8)メインプロセッサ2において命令実行装置4は、
次の命令の実行を進む。
(8) In the main processor 2, the instruction execution device 4 is
Proceed with execution of the next instruction.

以上のように、本実施例によれば、コプロセッサはメイ
ンプロセッサより転送されたコマンドを受け取り、ま
た、メインプロセッサが主記憶ヘリードした際にデータ
バスに出力されたデータを直接オペランドとして受け取
ることにより、高速なプロセッサ間通信を行なえ、メイ
ンプロセッサから見たコプロセッサの実行が速くなり、
かつバスのバンド幅を広くすることが可能となる。
As described above, according to this embodiment, the coprocessor receives the command transferred from the main processor, and also receives the data output to the data bus when the main processor reads to the main memory as the direct operand. , High-speed inter-processor communication can be performed, the co-processor can be executed faster as seen from the main processor,
Moreover, it becomes possible to widen the band width of the bus.

なお、本実施例において、CPRDY 10は1本の信号線とし
たが、CPRDY 10は複数の信号線としてコプロセッサにお
けるエラー発生、例外処理要求およびプログラムカウン
タ等必要なデータの要求等を知らせる信号線としてもよ
い。
In the present embodiment, the CPRDY 10 is a single signal line, but the CPRDY 10 is a plurality of signal lines for notifying an error occurrence in the coprocessor, an exception processing request, a request for necessary data such as a program counter, etc. May be

また、本実施例において、32ビットデータ転送命令につ
いて説明したが、命令、データのサイズおよびオペラン
ドの読み込み書き込みの場所等は、特に制限はない。
Although the 32-bit data transfer instruction has been described in the present embodiment, the instruction, the size of the data, the read / write location of the operand, etc. are not particularly limited.

また、本実施例において、コプロセッサ命令が演算結果
を主記憶へ格納する場合には、オペランドを読み込む場
合と同様に、メインプロセッサがアドレスバスへのアド
レス出力および他の信号線の制御を行ない、コプロセッ
サは演算結果をデータバスを出力するだけで良い。
Further, in the present embodiment, when the coprocessor instruction stores the operation result in the main memory, the main processor performs the address output to the address bus and the control of other signal lines, as in the case of reading the operand. The coprocessor only needs to output the calculation result to the data bus.

また、本実施例において、コプロセッサへのコマンドの
発行はメインプロセッサの中での命令実行順序を乱して
いないためメインプロセッサがパイプライン処理を行な
っていても可能である。
Further, in the present embodiment, the command issuance to the coprocessor does not disturb the instruction execution order in the main processor, so that it is possible even if the main processor is performing pipeline processing.

発明の効果 以上説明したように、本発明によれば、高速なプロセッ
サ間通信を行なえ、メインプロセッサから見たコプロセ
ッサの実行が速くなり、かつバスのバンド幅を広くする
ことが可能となり、その実用的効果は大きい。
EFFECTS OF THE INVENTION As described above, according to the present invention, high-speed inter-processor communication can be performed, execution of the coprocessor viewed from the main processor can be accelerated, and the bandwidth of the bus can be widened. The practical effect is great.

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

第1図は本発明のプロセッサ間通信方法を実施するシス
テムの一実施例の構成図、第2図は同実施例の通信にお
けるタイミングチャート図、第3図は従来のプロセッサ
間通信方法を実施しているシステムの構成図、第4図は
第3図に示した同従来例のコプロセッサ・インタフェー
ス・レジスタの構成図である。 1…主記憶、2…メインプロセッサ、3…コプロセッ
サ、4…メインプロセッサにおける命令実行装置、5…
メインプロセッサにおける通信制御装置、6…コプロセ
ッサにおける命令実行装置、7…コプロセッサにおける
通信制御装置、8…通信用コマンドレジスタ、9…通信
用オペランドレジスタ、10…信号線CPRDY、11…信号線R
DY、12…信号線R/W、13…アドレスストローブAS、14…
アドレスバス、15…データストローブDS、16…データバ
ス、21…MC68020、22…MC68881、23…コプロセッサ・デ
コード・ロジック、24…ファンクション・コード信号FC
O−FC2、25…アドレス・バスA19−A13、26…チップ・セ
レクト信号CS、27…アドレス・ストローブ信号AS、28…
データ・ストローブ信号DS、29…リード・ライト信号R/
W、30…アクノリッジ信号DSACK1−0、31…アドレス・
バスA4−A1、32…データ・バスD31−DO、33…コプロセ
ッサ・インタフェース・レジスタ、34…コプロセッサ・
インタフェース・レジスタ。
FIG. 1 is a block diagram of an embodiment of a system for carrying out the interprocessor communication method of the present invention, FIG. 2 is a timing chart for communication of the embodiment, and FIG. 3 is a conventional interprocessor communication method. FIG. 4 is a block diagram of the system shown in FIG. 3, and FIG. 4 is a block diagram of the coprocessor interface register of the conventional example shown in FIG. 1 ... Main memory, 2 ... Main processor, 3 ... Coprocessor, 4 ... Instruction execution device in main processor, 5 ...
Communication control device in main processor, 6 ... Instruction execution device in coprocessor, 7 ... Communication control device in coprocessor, 8 ... Communication command register, 9 ... Communication operand register, 10 ... Signal line CPRDY, 11 ... Signal line R
DY, 12 ... Signal line R / W, 13 ... Address strobe AS, 14 ...
Address bus, 15 ... Data strobe DS, 16 ... Data bus, 21 ... MC68020, 22 ... MC68881, 23 ... Coprocessor decode logic, 24 ... Function code signal FC
O-FC2, 25 ... Address bus A19-A13, 26 ... Chip select signal CS, 27 ... Address strobe signal AS, 28 ...
Data strobe signal DS, 29 ... Read / write signal R /
W, 30 ... Acknowledge signal DSACK1-0, 31 ... Address
Bus A4-A1, 32 ... Data bus D31-DO, 33 ... Coprocessor interface register, 34 ... Coprocessor
Interface register.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】メインプロセッサおよび複数のコプロセッ
サは相互に信号線に接続され前記メインプロセッサおよ
び複数の前記コプロセッサおよび主記憶が共通のアドレ
スバスおよびデータバスに接続され、前記メインプロセ
ッサがコプロセッサ命令を前記コプロセッサを用いて実
行を行なわせるシステムにおいて、前記メインプロセッ
サは前記コプロセッサが前記コプロセッサ命令の実行に
必要とするコマンドを前記メインプロセッサから前記コ
プロセッサに書き込み、前記コプロセッサ命令の実行に
必要とするオペランドが主記憶上に存在する場合には前
記コプロセッサは前記メインプロセッサの管理下にて前
記主記憶から直接前記オペランドを読み込み、前記コプ
ロセッサ命令が前記主記憶に演算結果を書き込む場合に
は前記コプロセッサが前記メインプロセッサの管理下に
て前記主記憶に直接書き込むことを特徴とするプロセッ
サ間通信方法。
1. A main processor and a plurality of coprocessors are mutually connected to a signal line, the main processor and the plurality of coprocessors and a main memory are connected to a common address bus and a data bus, and the main processor is a coprocessor. In a system for executing an instruction using the coprocessor, the main processor writes a command required by the coprocessor to execute the coprocessor instruction from the main processor to the coprocessor, When the operand required for execution exists in the main memory, the coprocessor directly reads the operand from the main memory under the control of the main processor, and the coprocessor instruction stores the operation result in the main memory. When writing, the coprocessor There interprocessor communication method and writes directly to the main memory in the managed the main processor.
JP62126251A 1987-05-22 1987-05-22 Communication method between processors Expired - Lifetime JPH0786868B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62126251A JPH0786868B2 (en) 1987-05-22 1987-05-22 Communication method between processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62126251A JPH0786868B2 (en) 1987-05-22 1987-05-22 Communication method between processors

Publications (2)

Publication Number Publication Date
JPS63291155A JPS63291155A (en) 1988-11-29
JPH0786868B2 true JPH0786868B2 (en) 1995-09-20

Family

ID=14930548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62126251A Expired - Lifetime JPH0786868B2 (en) 1987-05-22 1987-05-22 Communication method between processors

Country Status (1)

Country Link
JP (1) JPH0786868B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2719926B1 (en) * 1994-05-10 1996-06-07 Sgs Thomson Microelectronics Electronic circuit and method of using a coprocessor.
JP4527571B2 (en) 2005-03-14 2010-08-18 富士通株式会社 Reconfigurable processing unit
CN115955733A (en) * 2022-12-30 2023-04-11 中国科学院计算技术研究所 Communication baseband processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5461851A (en) * 1977-10-27 1979-05-18 Fujitsu Ltd Data processing system

Also Published As

Publication number Publication date
JPS63291155A (en) 1988-11-29

Similar Documents

Publication Publication Date Title
EP0087785B1 (en) Microprogram controlled data processing apparatus
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
EP0057788B1 (en) Data processing system with external microcode control unit
US4715013A (en) Coprocessor instruction format
JPH03129433A (en) Device and method for parallel processing
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5021991A (en) Coprocessor instruction format
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JP2682217B2 (en) Microprocessor
JPH03233630A (en) Information processor
JPH0786868B2 (en) Communication method between processors
US4994961A (en) Coprocessor instruction format
JP2695156B2 (en) Information processing device
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS6217773B2 (en)
JPS63163929A (en) Microprocessor
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
EP0382529A2 (en) Microprocessor having store buffer
JP2564290B2 (en) Instruction restart processing method and apparatus
JP2674873B2 (en) Step execution operation method of program development support device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070920

Year of fee payment: 12