JPH0786868B2 - プロセッサ間通信方法 - Google Patents
プロセッサ間通信方法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
Links
- 238000004891 communication Methods 0.000 title claims description 63
- 238000000034 method Methods 0.000 title claims description 22
- 238000012546 transfer Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 101100330290 Arabidopsis thaliana CS26 gene Proteins 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、プロセッサ間通信方法に係り、特に、メイン
プロセッサおよび複数のコプロセッサおよび主記憶が共
通のアドレスバスおよびデータバスに接続されている計
算機システムにおいて、各コプロセッサはメインプロセ
ッサの管理のもとで通信を行なうプロセッサ間通信方法
に関するものである。
プロセッサおよび複数のコプロセッサおよび主記憶が共
通のアドレスバスおよびデータバスに接続されている計
算機システムにおいて、各コプロセッサはメインプロセ
ッサの管理のもとで通信を行なうプロセッサ間通信方法
に関するものである。
従来の技術 従来のプロセッサ間通信方法としては、例えばMotorola
Inc.(モトローラ・インコーポレーション)MC68881 F
loating−Point Coprocessor User's Manual (フロー
ティング・ポイント・コプロセッサ・ユーザズ・マニュ
アル)(First Edition)に示されているものがある。
Inc.(モトローラ・インコーポレーション)MC68881 F
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とする)
である。
トローラ・インコポーレーション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とする)
である。
第4図は、第3図のMC68881 22におけるコプロセッサ・
インタフェース・レジスタについて詳しく説明するため
の図である。第4図において、34は、MC68881 22がMC68
020 21と通信するために設けられた32ビット×3本およ
び16ビット×10本のコプロセッサ・インターフェース・
レジスタである。
インタフェース・レジスタについて詳しく説明するため
の図である。第4図において、34は、MC68881 22がMC68
020 21と通信するために設けられた32ビット×3本およ
び16ビット×10本のコプロセッサ・インターフェース・
レジスタである。
以上のように構成された従来のプロセッサ間通信方法に
おいて、以下、MC68020 21が主記憶上の32ビットデータ
をMC68881 22上にフローティング・ポイント・データ・
レジスタに格納する命令を実行する際に行う通信手続き
を説明する。
おいて、以下、MC68020 21が主記憶上の32ビットデータ
をMC68881 22上にフローティング・ポイント・データ・
レジスタに格納する命令を実行する際に行う通信手続き
を説明する。
(1)MC68020 21は命令をデコードし、MC68881 22用命
令と判断する。
令と判断する。
(2)MC68020 21は、まずMC68881 22のコマンド用CIR
34にコマンドを転送するため以下のサブシーケンスを行
なう。
34にコマンドを転送するため以下のサブシーケンスを行
なう。
[i]FCO−FC2 24とA19−A13 25にはCS 26がアクティ
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS26がアク
ティブになる。
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS26がアク
ティブになる。
[ii]R/W 29はデータライトの方向を示す。
[iii]AS 27がアクティブになった時点にA4−A1 31は
コマンド用CIR 34のアドレスを出力する。
コマンド用CIR 34のアドレスを出力する。
[iv]DS 28がアクティブになった時点にMC68020 21が
出力したコマンド(今回は、MC68020 21が転送した主記
憶上の32ビットデータをMC6881 22上にフローティング
・ポイント・データ・レジスタに格納するコマンド)が
D31−D0 32を通してコマンド用CIR 34に書き込まれる。
出力したコマンド(今回は、MC68020 21が転送した主記
憶上の32ビットデータをMC6881 22上にフローティング
・ポイント・データ・レジスタに格納するコマンド)が
D31−D0 32を通してコマンド用CIR 34に書き込まれる。
[v]MC68881 22はコマンド用CIR 34にコマンドが書き
込まれるとDSACK1−0 30を用いてデータ転送の完了およ
びサイズをMC68020 21に知らせる。
込まれるとDSACK1−0 30を用いてデータ転送の完了およ
びサイズをMC68020 21に知らせる。
(3)MC68881 22はコマンド用CIR 34書き込まれたコマ
ンドをデコードし、コマンドの実行を開始する。
ンドをデコードし、コマンドの実行を開始する。
(4)MC68881 22はMC68020 21のサービスを必要とする
間、次の(5)〜(8)のステップを実行する。
間、次の(5)〜(8)のステップを実行する。
(5)MC68881 22はレスポンス用CIR 34に要求するサー
ビス(今回はオペランドとして32ビットデータを転送し
てもらう)を書き込む。
ビス(今回はオペランドとして32ビットデータを転送し
てもらう)を書き込む。
(6)MC68020 21はレスポンス用CIR 34に要求されたサ
ービスを以下のサブシーケンスを用いて読み込む。な
お、このサービスの読み込みは、MC68020 21が適当な間
隔毎に行なっているため、もしも前の命令が現在も実行
中などの理由で、レスポンス用CIR 34に要求するサービ
スが未だ書かれてない場合は、書かれるまで何回も以下
のシーケンスを繰り返す。
ービスを以下のサブシーケンスを用いて読み込む。な
お、このサービスの読み込みは、MC68020 21が適当な間
隔毎に行なっているため、もしも前の命令が現在も実行
中などの理由で、レスポンス用CIR 34に要求するサービ
スが未だ書かれてない場合は、書かれるまで何回も以下
のシーケンスを繰り返す。
[i]FCO−FC2 24とA19−A13 25にはCS 26がアクティ
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS 26がア
クティブになる。
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS 26がア
クティブになる。
[ii]R/W 29はデータリードの方向を示す。
[iii]AS 27がアクティブになった時点にA4−A1 31は
レスポンス用CIR34のアドレスを出力する。
レスポンス用CIR34のアドレスを出力する。
[iv]DS 28がアクティブになった時点にMC68020 21はD
31−D0 32を通してレスポンス用CIR 34の内容を読み込
む。
31−D0 32を通してレスポンス用CIR 34の内容を読み込
む。
[v]MC68881 22は、MC68020 21がレスポンス用CIR 34
を読み込む際にDSACK1−0 30を用いてデータ転送のサイ
ズをMC68020 21に知らせる。
を読み込む際にDSACK1−0 30を用いてデータ転送のサイ
ズをMC68020 21に知らせる。
(7)MC68020 21は読み込んだサービス要求に対して実
行を開始する。
行を開始する。
(8)MC68020 21は命令で指定された32ビットデータを
主記憶上から読み込み、MC68881 22のオペランド用CIR
34に以下のサブシーケンスを用いて書き込む。
主記憶上から読み込み、MC68881 22のオペランド用CIR
34に以下のサブシーケンスを用いて書き込む。
[i]FCO−FC2 24とA19−A13 25にはCS 26がアクティ
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS 26がア
クティブになる。
ブになるようなデータが出力される。同時にコプロセッ
サ・デコード・ロジック23でデコードされ、CS 26がア
クティブになる。
[ii]R/W 29はデータライトの方向を示す。
[iii]AS 27がアクティブになった時点にA4−A131はオ
ペランド用CIR34のアドレスを出力する。
ペランド用CIR34のアドレスを出力する。
[iv]DS 28がアクティブになった時点にMC68020 21が
出力したオペランドがD31−DO 32を通してオペランド用
CIR 34に書き書き込まれる。
出力したオペランドがD31−DO 32を通してオペランド用
CIR 34に書き書き込まれる。
[v]MC68881 22はオペランド用CIR 34にコマンドが書
き込まれると DSACK1−0 30を用いてデータ転送の完了
およびサイズをMC68020 21に知らせる。
き込まれると DSACK1−0 30を用いてデータ転送の完了
およびサイズをMC68020 21に知らせる。
(9)MC68881 22はオペランド用CIR 34に書き込まれた
32ビットデータを読み込むことによりサービスを受け
る。
32ビットデータを読み込むことによりサービスを受け
る。
(10)MC68881 22はMC68020 21のサービスが必要なくな
るとレスポンス用CIR 34に再帰不要(サービス不要)を
返す。
るとレスポンス用CIR 34に再帰不要(サービス不要)を
返す。
(11)MC68881 22はオペランド用CIR 34に書き込まれた
32ビットデータをフローティング・ポイント・データ・
レジスタに格納する。
32ビットデータをフローティング・ポイント・データ・
レジスタに格納する。
(12)MC68881 22はコマンドの実行が終了するとレスポ
ンス用CIR 34に処理終了を知らせる。
ンス用CIR 34に処理終了を知らせる。
(13)MC68020 21は次の命令の実行に進む。
発明が解決しようとする問題点 しかしながら上記のような構成では、MC68020 21がコプ
ロセッサ命令を実行するのに必要とする主記憶上のオペ
ランドをMC68881 22のオペランド用CIR 34に書き込もう
とした際、MC68020 21が主記憶上のデータを自分自身に
取り込み、その後MC68881 22へオペランドとして転送す
るため、MC68881 22がコマンドを受け取ってからオペラ
ンドを受け取るまでに非常に多くの時間を要する。か
つ、前の命令が既に実行終了した場合などは、その間の
時間はMC68881 22はアイドリング状態を有することにな
る。従って、MC68020 21とMC68881 22間の通信に時間を
要しMC68881 22の総合的な実行が遅い、という問題点を
有していた。また、オペランドは主記憶からデータバス
を経由してMC68020 21に転送され、再びデータバスを経
由してMC68881 22転送されることからバスのバンド幅を
狭くする、という問題点も有していた。
ロセッサ命令を実行するのに必要とする主記憶上のオペ
ランドをMC68881 22のオペランド用CIR 34に書き込もう
とした際、MC68020 21が主記憶上のデータを自分自身に
取り込み、その後MC68881 22へオペランドとして転送す
るため、MC68881 22がコマンドを受け取ってからオペラ
ンドを受け取るまでに非常に多くの時間を要する。か
つ、前の命令が既に実行終了した場合などは、その間の
時間はMC68881 22はアイドリング状態を有することにな
る。従って、MC68020 21とMC68881 22間の通信に時間を
要しMC68881 22の総合的な実行が遅い、という問題点を
有していた。また、オペランドは主記憶からデータバス
を経由してMC68020 21に転送され、再びデータバスを経
由してMC68881 22転送されることからバスのバンド幅を
狭くする、という問題点も有していた。
本発明はかかる点に鑑み、高速なプロセッサ間通信を行
なえ、メインプロセッサからみたコプロセッサの実行が
速く、かつバスのバンド幅を広くするプロセッサ間通信
方法を提供することを目的とする。
なえ、メインプロセッサからみたコプロセッサの実行が
速く、かつバスのバンド幅を広くするプロセッサ間通信
方法を提供することを目的とする。
問題点を解決するための手段 本発明は、コプロセッサ命令を実行する際に、コプロセ
ッサがオペランドを必要とする場合にはコプロセッサが
メインプロセッサの管理下においてメインプロセッサを
経由しないで主記憶から直接オペランドを取り込む、お
よび演算結果を主記憶に書き込む場合にはコプロセッサ
がメインプロセッサの管理下においてメインプロセッサ
を経由しないで主記憶に直接書き込むプロセッサ間通信
方法である。
ッサがオペランドを必要とする場合にはコプロセッサが
メインプロセッサの管理下においてメインプロセッサを
経由しないで主記憶から直接オペランドを取り込む、お
よび演算結果を主記憶に書き込む場合にはコプロセッサ
がメインプロセッサの管理下においてメインプロセッサ
を経由しないで主記憶に直接書き込むプロセッサ間通信
方法である。
作用 本発明は前記した構成により、コプロセッサがオペラン
ドをメインプロセッサを経由しないで主記憶より取り込
め、かつ、演算結果をメインプロセッサを経由しないで
主記憶に書き込めることより、高速なプロセッサ間通信
を行なえ、メインプロセッサから見たコプロセッサの実
行が速くなり、バスのバンド幅も広くなる。
ドをメインプロセッサを経由しないで主記憶より取り込
め、かつ、演算結果をメインプロセッサを経由しないで
主記憶に書き込めることより、高速なプロセッサ間通信
を行なえ、メインプロセッサから見たコプロセッサの実
行が速くなり、バスのバンド幅も広くなる。
実施例 第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は、データバ
スである。
ステムの一実施例の構成図を示すものである。第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は、データバ
スである。
第2図は、第1図のプロセッサ間通信方法の構成図につ
いて、通信方法の手続きを詳しく説明するためのタイミ
ングチャート図である。
いて、通信方法の手続きを詳しく説明するためのタイミ
ングチャート図である。
以上のように構成された本実施例のプロセッサ間通信方
法について、以下、メインプロセッサ2が主記憶1上の
32ビットデータをコプロセッサ3上のフローティング用
データレジスタに格納する命令を実行する際に行う通信
手続きを説明する。
法について、以下、メインプロセッサ2が主記憶1上の
32ビットデータをコプロセッサ3上のフローティング用
データレジスタに格納する命令を実行する際に行う通信
手続きを説明する。
(1)メインプロセッサ2において通信制御装置5は、
主記憶1より命令を読み込み、命令実行装置4はその命
令をデコードする。
主記憶1より命令を読み込み、命令実行装置4はその命
令をデコードする。
(2)デコードの結果、その命令がコプロセッサ命令と
判明すると、メインプロセッサ2はコプロセッサ3に書
き込むコマンドおよび主記憶1上に存在するオペランド
のアドレスの用意を開始する。
判明すると、メインプロセッサ2はコプロセッサ3に書
き込むコマンドおよび主記憶1上に存在するオペランド
のアドレスの用意を開始する。
(3)メインプロセッサ2において命令実行装置6は、
コプロセッサ3に転送すべきコマンドを生成し、通信制
御装置5は、コプロセッサ3の通信用コマンドレジスタ
8に以下のサブシーケンスを用いて書き込む。
コプロセッサ3に転送すべきコマンドを生成し、通信制
御装置5は、コプロセッサ3の通信用コマンドレジスタ
8に以下のサブシーケンスを用いて書き込む。
[i]メインプロセッサ2において通信制御装置5は、
R/W12をインアクティブにしてデータのライトを知らせ
る。
R/W12をインアクティブにしてデータのライトを知らせ
る。
[ii]メインプロセッサ2において通信制御装置5は、
アドレスバス14に通信用コマンドレジスタ8を指定する
アドレスを出力すると同時にAS13をアクティブにしてア
ドレスの有効性を知らせる。
アドレスバス14に通信用コマンドレジスタ8を指定する
アドレスを出力すると同時にAS13をアクティブにしてア
ドレスの有効性を知らせる。
[iii]メインプロセッサ2において通信制御装置5
は、データバス16に転送すべきコマンドを出力すると同
時にDS15をアクティブにしてデータの有効性を知らせ
る。
は、データバス16に転送すべきコマンドを出力すると同
時にDS15をアクティブにしてデータの有効性を知らせ
る。
[iv]コプロセッサ3において通信制御装置7は、AS1
3、DS15がアクティブに成った時点でアドレスバス14で
指定される通信用コマンドレジスタ8にデータバス16上
のコマンドを書き込む。
3、DS15がアクティブに成った時点でアドレスバス14で
指定される通信用コマンドレジスタ8にデータバス16上
のコマンドを書き込む。
[v]コプロセッサ3において通信制御装置7は、通信
用コマンドレジスタ8に正しいコマンドが書き込まれる
とRDY 11をインアクティブにして、メインプロセッサ2
における通信制御装置5にコマンド転送サイクルの終了
を知らせる。
用コマンドレジスタ8に正しいコマンドが書き込まれる
とRDY 11をインアクティブにして、メインプロセッサ2
における通信制御装置5にコマンド転送サイクルの終了
を知らせる。
[vi]メインプロセッサ2において通信制御装置5は、
コマンド転送サイクルを終了する。
コマンド転送サイクルを終了する。
(5)コプロセッサ3において命令実行装置6は、書き
込まれたコマンドをプリデコードし、必要なオペランド
が主記憶1上にあることを認識し、通信制御装置7は、
続いてデータバス16上で有効となるデータを取り込む用
意を行なう。
込まれたコマンドをプリデコードし、必要なオペランド
が主記憶1上にあることを認識し、通信制御装置7は、
続いてデータバス16上で有効となるデータを取り込む用
意を行なう。
(6)メインプロセッサ2において通信制御装置5は、
コプロセッサ3に転送すべきオペランドの主記憶1上の
アドレスを用いて、主記憶1上のデータを読み込みにい
く。コプロセッサ3は必要なオペランドを通信用オペラ
ンドレジスタ9に以下のサブシーケンスを用いて取り込
む。
コプロセッサ3に転送すべきオペランドの主記憶1上の
アドレスを用いて、主記憶1上のデータを読み込みにい
く。コプロセッサ3は必要なオペランドを通信用オペラ
ンドレジスタ9に以下のサブシーケンスを用いて取り込
む。
[i]メインプロセッサ2において通信制御装置5は、
R/W 12をアクティブにして主記憶1ヘデータのリードを
知らせる。
R/W 12をアクティブにして主記憶1ヘデータのリードを
知らせる。
[ii]メインプロセッサ2において通信制御装置5は、
アドレスバス14に主記憶1上のオペランドを指定するア
ドレスを出力すると同時にAS13をアクティブにしてアド
レスの有効性を知らせる。
アドレスバス14に主記憶1上のオペランドを指定するア
ドレスを出力すると同時にAS13をアクティブにしてアド
レスの有効性を知らせる。
[iii]メインプロセッサ2において通信制御装置5
は、DS15をアクティブにする。
は、DS15をアクティブにする。
[vi]主記憶1は、指定されたアドレスのデータをデー
タバス16へ出力すると同時に終了時にはRDY11をインア
クティブにする。
タバス16へ出力すると同時に終了時にはRDY11をインア
クティブにする。
[v]コプロセッサ3において通信制御装置7は、AS1
3、DS15がアクティブかつRDY 11をインアクティブに成
った時点で通信用オペランドレジスタ9にデータバス14
上のデータをオペランドとして取り込む。
3、DS15がアクティブかつRDY 11をインアクティブに成
った時点で通信用オペランドレジスタ9にデータバス14
上のデータをオペランドとして取り込む。
[vi]メインプロセッサ2において通信制御装置5は、
オペランド転送サイクルを終了する。
オペランド転送サイクルを終了する。
[vii]コプロセッサ3において通信制御装置7は、コ
プロセッサ命令の実行のための必要な全てのコマンドお
よびオペランドが揃ったかどうかをプリデコードの結果
と比較する。揃っていることが確認され、かつ前命令の
終了および次命令のコマンドおよびオペランドの書き込
みが可能となると、CPRDY 10をインアクティブにしてメ
インプロセッサ2に次命令実行可能を知らせる。
プロセッサ命令の実行のための必要な全てのコマンドお
よびオペランドが揃ったかどうかをプリデコードの結果
と比較する。揃っていることが確認され、かつ前命令の
終了および次命令のコマンドおよびオペランドの書き込
みが可能となると、CPRDY 10をインアクティブにしてメ
インプロセッサ2に次命令実行可能を知らせる。
[viii]メインプロセッサ2において通信制御装置5
は、全データ転送サイクルを終了する。
は、全データ転送サイクルを終了する。
(7)コプロセッサ3において命令実行装置6は、通信
用コマンドレジスタ8に書き込まれたコマンドをデコー
ドし、通信用オペランドレジスタ9に書き込まれたデー
タをフローティング用データレジスタへの格納を開始す
る。
用コマンドレジスタ8に書き込まれたコマンドをデコー
ドし、通信用オペランドレジスタ9に書き込まれたデー
タをフローティング用データレジスタへの格納を開始す
る。
(8)メインプロセッサ2において命令実行装置4は、
次の命令の実行を進む。
次の命令の実行を進む。
以上のように、本実施例によれば、コプロセッサはメイ
ンプロセッサより転送されたコマンドを受け取り、ま
た、メインプロセッサが主記憶ヘリードした際にデータ
バスに出力されたデータを直接オペランドとして受け取
ることにより、高速なプロセッサ間通信を行なえ、メイ
ンプロセッサから見たコプロセッサの実行が速くなり、
かつバスのバンド幅を広くすることが可能となる。
ンプロセッサより転送されたコマンドを受け取り、ま
た、メインプロセッサが主記憶ヘリードした際にデータ
バスに出力されたデータを直接オペランドとして受け取
ることにより、高速なプロセッサ間通信を行なえ、メイ
ンプロセッサから見たコプロセッサの実行が速くなり、
かつバスのバンド幅を広くすることが可能となる。
なお、本実施例において、CPRDY 10は1本の信号線とし
たが、CPRDY 10は複数の信号線としてコプロセッサにお
けるエラー発生、例外処理要求およびプログラムカウン
タ等必要なデータの要求等を知らせる信号線としてもよ
い。
たが、CPRDY 10は複数の信号線としてコプロセッサにお
けるエラー発生、例外処理要求およびプログラムカウン
タ等必要なデータの要求等を知らせる信号線としてもよ
い。
また、本実施例において、32ビットデータ転送命令につ
いて説明したが、命令、データのサイズおよびオペラン
ドの読み込み書き込みの場所等は、特に制限はない。
いて説明したが、命令、データのサイズおよびオペラン
ドの読み込み書き込みの場所等は、特に制限はない。
また、本実施例において、コプロセッサ命令が演算結果
を主記憶へ格納する場合には、オペランドを読み込む場
合と同様に、メインプロセッサがアドレスバスへのアド
レス出力および他の信号線の制御を行ない、コプロセッ
サは演算結果をデータバスを出力するだけで良い。
を主記憶へ格納する場合には、オペランドを読み込む場
合と同様に、メインプロセッサがアドレスバスへのアド
レス出力および他の信号線の制御を行ない、コプロセッ
サは演算結果をデータバスを出力するだけで良い。
また、本実施例において、コプロセッサへのコマンドの
発行はメインプロセッサの中での命令実行順序を乱して
いないためメインプロセッサがパイプライン処理を行な
っていても可能である。
発行はメインプロセッサの中での命令実行順序を乱して
いないためメインプロセッサがパイプライン処理を行な
っていても可能である。
発明の効果 以上説明したように、本発明によれば、高速なプロセッ
サ間通信を行なえ、メインプロセッサから見たコプロセ
ッサの実行が速くなり、かつバスのバンド幅を広くする
ことが可能となり、その実用的効果は大きい。
サ間通信を行なえ、メインプロセッサから見たコプロセ
ッサの実行が速くなり、かつバスのバンド幅を広くする
ことが可能となり、その実用的効果は大きい。
第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…コプロセッサ・
インタフェース・レジスタ。
テムの一実施例の構成図、第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…コプロセッサ・
インタフェース・レジスタ。
Claims (1)
- 【請求項1】メインプロセッサおよび複数のコプロセッ
サは相互に信号線に接続され前記メインプロセッサおよ
び複数の前記コプロセッサおよび主記憶が共通のアドレ
スバスおよびデータバスに接続され、前記メインプロセ
ッサがコプロセッサ命令を前記コプロセッサを用いて実
行を行なわせるシステムにおいて、前記メインプロセッ
サは前記コプロセッサが前記コプロセッサ命令の実行に
必要とするコマンドを前記メインプロセッサから前記コ
プロセッサに書き込み、前記コプロセッサ命令の実行に
必要とするオペランドが主記憶上に存在する場合には前
記コプロセッサは前記メインプロセッサの管理下にて前
記主記憶から直接前記オペランドを読み込み、前記コプ
ロセッサ命令が前記主記憶に演算結果を書き込む場合に
は前記コプロセッサが前記メインプロセッサの管理下に
て前記主記憶に直接書き込むことを特徴とするプロセッ
サ間通信方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62126251A JPH0786868B2 (ja) | 1987-05-22 | 1987-05-22 | プロセッサ間通信方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62126251A JPH0786868B2 (ja) | 1987-05-22 | 1987-05-22 | プロセッサ間通信方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63291155A JPS63291155A (ja) | 1988-11-29 |
| JPH0786868B2 true JPH0786868B2 (ja) | 1995-09-20 |
Family
ID=14930548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62126251A Expired - Lifetime JPH0786868B2 (ja) | 1987-05-22 | 1987-05-22 | プロセッサ間通信方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0786868B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2719926B1 (fr) * | 1994-05-10 | 1996-06-07 | Sgs Thomson Microelectronics | Circuit électronique et procédé d'utilisation d'un coprocesseur. |
| JP4527571B2 (ja) * | 2005-03-14 | 2010-08-18 | 富士通株式会社 | 再構成可能演算処理装置 |
| CN115955733B (zh) * | 2022-12-30 | 2025-03-21 | 中国科学院计算技术研究所 | 一种通信基带处理器 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5461851A (en) * | 1977-10-27 | 1979-05-18 | Fujitsu Ltd | Data processing system |
-
1987
- 1987-05-22 JP JP62126251A patent/JPH0786868B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63291155A (ja) | 1988-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2834837B2 (ja) | プログラマブルコントローラ | |
| 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 (ja) | 並列処理装置および並列処理方法 | |
| US5029073A (en) | Method for fast establishing a co-processor to memory linkage by main processor | |
| US4731736A (en) | Method and apparatus for coordinating execution of an instruction by a selected coprocessor | |
| 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 | |
| JPS645330B2 (ja) | ||
| JP3510729B2 (ja) | 命令実行方法および命令実行装置 | |
| JP2682217B2 (ja) | マイクロプロセッサ | |
| JPH03233630A (ja) | 情報処理装置 | |
| JPH0786868B2 (ja) | プロセッサ間通信方法 | |
| JP2695156B2 (ja) | 情報処理装置 | |
| US4758978A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPS6217773B2 (ja) | ||
| JPS63163929A (ja) | マイクロプロセツサ | |
| US4811274A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JP2674873B2 (ja) | プログラム開発支援装置のステップ実行動作方法 |
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 |