JPH01109466A - コプロセッサの並行動作制御方式 - Google Patents
コプロセッサの並行動作制御方式Info
- Publication number
- JPH01109466A JPH01109466A JP62267796A JP26779687A JPH01109466A JP H01109466 A JPH01109466 A JP H01109466A JP 62267796 A JP62267796 A JP 62267796A JP 26779687 A JP26779687 A JP 26779687A JP H01109466 A JPH01109466 A JP H01109466A
- Authority
- JP
- Japan
- Prior art keywords
- coprocessor
- signal
- instruction
- processing
- cpu
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 47
- 239000013256 coordination polymer Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 2
- 101150108431 CLDN4 gene Proteins 0.000 description 1
- 102100038447 Claudin-4 Human genes 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はマスタプロセッサがデータバスを共有している
1個以−トのコプロセッサを制御するコプロセッサの並
行動作制御方式に関する。
1個以−トのコプロセッサを制御するコプロセッサの並
行動作制御方式に関する。
第7図は従来のコプロセッサ制御方式を示す構成図、第
8図は第7図におけるCPU3旧側の制御手順を示すフ
ローチャート、第9. In、11.12図は第7図に
おけるコプロセッサ302とCPU301との動作を示
すタイミングチャートである。
8図は第7図におけるCPU3旧側の制御手順を示すフ
ローチャート、第9. In、11.12図は第7図に
おけるコプロセッサ302とCPU301との動作を示
すタイミングチャートである。
中央処理装置301(以降CP U 301と記す)は
、コプロセッサ302とアドレスバス104とデータバ
ス+05とを共有し、アドレスバス104とデータバス
105とを介して主記憶装置103と接続されている。
、コプロセッサ302とアドレスバス104とデータバ
ス+05とを共有し、アドレスバス104とデータバス
105とを介して主記憶装置103と接続されている。
コプロセッサ302は、c p U 301がコプロセ
ッサ302の処理の終了を待ち合わせる必要があること
をコプロセッサ302からc p U 301に伝える
BUSY信号111と、BUSY信号111をインアク
ティブにする時に、コプロセッサ302において例外が
発生しておりCP U 301がコプロセッサ302の
ステータスを読む必要があることを伝えるCPERR信
号■2信号比2し、命令を実行する実行ユニット124
と、c p U 301とのデータ授受のためのコマン
ドボート122、ステータスボート121、オペランド
ボート123とを有する。コマンドボート122はコプ
ロセッサ302に対する命令をc p u totが書
き込むための入力ボートであり、コプロセッサ302は
命令のオペコードがコマンドボート122に書込まれる
ことにより処理を開始する。
ッサ302の処理の終了を待ち合わせる必要があること
をコプロセッサ302からc p U 301に伝える
BUSY信号111と、BUSY信号111をインアク
ティブにする時に、コプロセッサ302において例外が
発生しておりCP U 301がコプロセッサ302の
ステータスを読む必要があることを伝えるCPERR信
号■2信号比2し、命令を実行する実行ユニット124
と、c p U 301とのデータ授受のためのコマン
ドボート122、ステータスボート121、オペランド
ボート123とを有する。コマンドボート122はコプ
ロセッサ302に対する命令をc p u totが書
き込むための入力ボートであり、コプロセッサ302は
命令のオペコードがコマンドボート122に書込まれる
ことにより処理を開始する。
ステータスポート121はコプロセッサ302の実行処
理の結果1例外が発生した場合にCPO301にその内
容を伝えるための出力ボートであり、CP U 301
はコプロセッサ302が処理を終えた時にCPERR(
、;号112がアクティブだった場合、ステータスポー
ト121を読むことにより例外の発生とその種類を知る
ことができる。
理の結果1例外が発生した場合にCPO301にその内
容を伝えるための出力ボートであり、CP U 301
はコプロセッサ302が処理を終えた時にCPERR(
、;号112がアクティブだった場合、ステータスポー
ト121を読むことにより例外の発生とその種類を知る
ことができる。
オペランドポート123はコプロセッサ302の実行処
理に必要なオペランドデータをc p U 301から
与える必要があるときや、実行処理の結果をCP 03
01に書き戻す必要があるときにそのデータをc p
U 301とコプロセッサ302との間で転送するため
のボートである。
理に必要なオペランドデータをc p U 301から
与える必要があるときや、実行処理の結果をCP 03
01に書き戻す必要があるときにそのデータをc p
U 301とコプロセッサ302との間で転送するため
のボートである。
次に、本従来例の動作について説明する。
(+)コプロセッサ302の実行結果をCP 0301
に書き戻す命令の場合の動作を第8図、第9図を参照し
て説明する。
に書き戻す命令の場合の動作を第8図、第9図を参照し
て説明する。
c p U 301は主記憶装置103から取り出した
命令コードのオペコードをコプロセッサ302に転送す
る(ステップ401)。CP U 301はオペコード
転送のバスサイクルが終了するのを待ち(ステップ40
3)、終了すると、BUSY信号Utがインアクティブ
になるまで待つ(ステップ404)。インアクティブに
なると、コプロセッサ302はコマンドボート122に
書込まれたデータが実行結果をCPU301に書き戻す
命令であるから、命令処理実行中はBυSY信号111
をアクティブにし続け、コプロセッサ302の実行処理
が正常終了すると、ステータスポート121をc p
U 301に書き戻す必要がないため、コプロセッサ3
02はCPERR信号11’2をインアクティブにした
後、BUSY信号111をインアクティブにする(ステ
ップ404)。
命令コードのオペコードをコプロセッサ302に転送す
る(ステップ401)。CP U 301はオペコード
転送のバスサイクルが終了するのを待ち(ステップ40
3)、終了すると、BUSY信号Utがインアクティブ
になるまで待つ(ステップ404)。インアクティブに
なると、コプロセッサ302はコマンドボート122に
書込まれたデータが実行結果をCPU301に書き戻す
命令であるから、命令処理実行中はBυSY信号111
をアクティブにし続け、コプロセッサ302の実行処理
が正常終了すると、ステータスポート121をc p
U 301に書き戻す必要がないため、コプロセッサ3
02はCPERR信号11’2をインアクティブにした
後、BUSY信号111をインアクティブにする(ステ
ップ404)。
CP U 301はBUSY信号111がインアクティ
ブになった時のCPERR信号112を調べる。CPE
RR信号112がインアクティブであるため、Cp U
301はステータスポート121を読出さずに実行結
果をオペランドポート123から読み出しくステップ4
09)、次のCPU処理に移る。
ブになった時のCPERR信号112を調べる。CPE
RR信号112がインアクティブであるため、Cp U
301はステータスポート121を読出さずに実行結
果をオペランドポート123から読み出しくステップ4
09)、次のCPU処理に移る。
(2)第9図と同じ命令を実行し、例外が発生した場合
の動作を第8図、第1θ図を参照して説明する。
の動作を第8図、第1θ図を参照して説明する。
BUSY信号111がインアクティブになるまでの動作
は第9図と同じである。コプロセッサ302の実行処理
中に例外が発生し、ステータスポート121をCP 0
301に書き戻す必要があるため、コプロセッサ302
はCPERR信号112をアクティブのままにする。C
P U 301はBUSY信号Illがインアクティブ
になった時のCPERR信号112を調べる(ステップ
405)。CPERR信号1!2がアクティブであるた
め、CP 0301はステータスポート121を読み出
す(ステップ4o6)。
は第9図と同じである。コプロセッサ302の実行処理
中に例外が発生し、ステータスポート121をCP 0
301に書き戻す必要があるため、コプロセッサ302
はCPERR信号112をアクティブのままにする。C
P U 301はBUSY信号Illがインアクティブ
になった時のCPERR信号112を調べる(ステップ
405)。CPERR信号1!2がアクティブであるた
め、CP 0301はステータスポート121を読み出
す(ステップ4o6)。
ステータスポート121の情報から例外が発生している
かどう判定しくステップ407)、例外が発生している
と例外処理に移る(ステップ408)。
かどう判定しくステップ407)、例外が発生している
と例外処理に移る(ステップ408)。
(3)コプロセッサ302の実行結果をCP U 30
1に書き戻さない命令であってコプロセッサ302の実
行処理が例外を発生しない場合の動作について第8図、
第11図を参照して説明する。
1に書き戻さない命令であってコプロセッサ302の実
行処理が例外を発生しない場合の動作について第8図、
第11図を参照して説明する。
BUSY信号111がインアクティブになるまでの動作
は第9図と同じである。コプロセッサ302はコマンド
ボート122に書込まれたデータが実行結果をCP U
301に古き戻さない命令であるので、処理の終了を
待たずにBUSY信号I信号全1ンアクティブにする。
は第9図と同じである。コプロセッサ302はコマンド
ボート122に書込まれたデータが実行結果をCP U
301に古き戻さない命令であるので、処理の終了を
待たずにBUSY信号I信号全1ンアクティブにする。
このとき、コプロセッサ302は例外を検出していない
ため、CPERR信号112をインアクティブにする。
ため、CPERR信号112をインアクティブにする。
CPU301はBUSY信号1■がインアクティブにな
った時のCPERR信号112を調べる(ステップ40
5)。
った時のCPERR信号112を調べる(ステップ40
5)。
CPERR信号112がインアクティブであるため、c
p U 301はステータボート121を読出さずに
そのまま次のCPU処理に移る。
p U 301はステータボート121を読出さずに
そのまま次のCPU処理に移る。
(4)コプロセッサ302の実行結果をCP U 30
1に書き戻さない命令であってコプロセッサ302の実
行処理が例外を発生した場合の動作について第8図、第
12図を参照して説明する。
1に書き戻さない命令であってコプロセッサ302の実
行処理が例外を発生した場合の動作について第8図、第
12図を参照して説明する。
コプロセッサ302に対し命令を転送し次のCPU処理
に移るまでは第11図の動作と同様である。
に移るまでは第11図の動作と同様である。
c p U 301とコプロセッサ302の並行動作中
にコプロセッサ302に例外が発生する。しかし、CP
U 301は他の処理を実行中であるためこの例外は
検知されずコプロセッサ302は例外保留状態となり、
休止している。次にCP 0301がコプロセッサ30
2に実行処理を指示すると、コプロセッサ302は保留
されている例外を保持しているため、1度アクティブに
したBUSY信号11.1をすぐにインアクティブに戻
す(ステップ404)。そのときCPERR信号■2を
アクティブのままにしておく。CP U301はBUS
Y信号目1がインアクティブになった時のCPERR信
号112を調べる(ステップ405)。CPERR信号
目2がアクティブであるため、CP U 301はステ
ータスボート12+を読出しくステップ406)、保留
例外を検知して(ステップ407)例外の処理を始める
(ステップ408)。
にコプロセッサ302に例外が発生する。しかし、CP
U 301は他の処理を実行中であるためこの例外は
検知されずコプロセッサ302は例外保留状態となり、
休止している。次にCP 0301がコプロセッサ30
2に実行処理を指示すると、コプロセッサ302は保留
されている例外を保持しているため、1度アクティブに
したBUSY信号11.1をすぐにインアクティブに戻
す(ステップ404)。そのときCPERR信号■2を
アクティブのままにしておく。CP U301はBUS
Y信号目1がインアクティブになった時のCPERR信
号112を調べる(ステップ405)。CPERR信号
目2がアクティブであるため、CP U 301はステ
ータスボート12+を読出しくステップ406)、保留
例外を検知して(ステップ407)例外の処理を始める
(ステップ408)。
このように、実行結果をc p U 301に書き戻さ
ない(3) 、 (4)の場合は、後続するCPU処理
に対し、コプロセッサ302の実行結果が影響を及ぼさ
ないため、CPO301はコプロセッサ302の実際の
実行終了を待たずに次の処理を始めることができる。つ
まり、CP U 301 とコプロセッサ302は並行
に動作することが可能である。ただし、CPU301が
コプロセッサ302の実行終了を待ち合わせずに次の処
理に移る場合には、コプロセッサ302の実行中に例外
が発生してもこれを検知することができない。この問題
を回避するために、コプロセッサ302は実行中に例外
が発生したことを示すステータスポート121が読出さ
れないまま、新しいコプロセッサ命令がコマンドボート
122に書込まれた場合は、その命令を実行せずにBL
ISY信号IIIを1度アクティブにしたのち、すぐに
インアクティブに戻してCP U 301にステータス
ポート121を読ませ、前命令の例外が保留されている
ことをCP U :101に知らせるようにしておく、
このプロトコルによりCP 0301とコプロセッサ3
02の並行動作が可能となる。
ない(3) 、 (4)の場合は、後続するCPU処理
に対し、コプロセッサ302の実行結果が影響を及ぼさ
ないため、CPO301はコプロセッサ302の実際の
実行終了を待たずに次の処理を始めることができる。つ
まり、CP U 301 とコプロセッサ302は並行
に動作することが可能である。ただし、CPU301が
コプロセッサ302の実行終了を待ち合わせずに次の処
理に移る場合には、コプロセッサ302の実行中に例外
が発生してもこれを検知することができない。この問題
を回避するために、コプロセッサ302は実行中に例外
が発生したことを示すステータスポート121が読出さ
れないまま、新しいコプロセッサ命令がコマンドボート
122に書込まれた場合は、その命令を実行せずにBL
ISY信号IIIを1度アクティブにしたのち、すぐに
インアクティブに戻してCP U 301にステータス
ポート121を読ませ、前命令の例外が保留されている
ことをCP U :101に知らせるようにしておく、
このプロトコルによりCP 0301とコプロセッサ3
02の並行動作が可能となる。
上述した従来のコプロセッサ制御方式は、コプロセッサ
302・の実行結果なc p U 301に書き戻す必
要がない場合にもコプロセッサのBUSY信号illが
インアクティブになるまで待ってからCPERR信号1
12を調べ、例外のないことを確認してから次のCPU
処理を始めているため、必要のないBUSY信号目lの
待ち合わせにより、CPU301とコプロセッサ302
が並行動作できる場合にCP 0301の次の処理の開
始が遅れるという欠点がある。
302・の実行結果なc p U 301に書き戻す必
要がない場合にもコプロセッサのBUSY信号illが
インアクティブになるまで待ってからCPERR信号1
12を調べ、例外のないことを確認してから次のCPU
処理を始めているため、必要のないBUSY信号目lの
待ち合わせにより、CPU301とコプロセッサ302
が並行動作できる場合にCP 0301の次の処理の開
始が遅れるという欠点がある。
(問題点を解決するための手段〕
本発明のコプロセッサの並行動作制御方式は、実行処理
の待ち合わせを示す第1の信号と、第1の信号により待
ち合わせの終了を示したとき処理が正常に終了している
かどうかを示す第2の信号と、処理を実行中でなく、直
前に実行した命令が正常に終了しているかどうかを示す
第3の信号とをコプロセッサがマスタプロセッサに出力
し、マスクプロセッサは、コプロセッサの実行処理の開
始時に、第3の信号が、コプロセッサが処理を実行中で
なく、直前に実行した命令が正常に終了していることを
示している場合には、そのまま次の処理を前記コプロセ
ッサと並行して開始し、コプロセッサの実行処理の開始
時に、第3の信号がコプロセッサか処理を実行中である
か、または直航に実行した命令が正常に終了していない
ことを示している場合には、第1の信号によりコプロセ
ッサの実行処理の待ち合わせを行なったのち、第2の信
号によりコプロセッサの内部情報を読出すか否かを判断
し、以降の処理を決定する。
の待ち合わせを示す第1の信号と、第1の信号により待
ち合わせの終了を示したとき処理が正常に終了している
かどうかを示す第2の信号と、処理を実行中でなく、直
前に実行した命令が正常に終了しているかどうかを示す
第3の信号とをコプロセッサがマスタプロセッサに出力
し、マスクプロセッサは、コプロセッサの実行処理の開
始時に、第3の信号が、コプロセッサが処理を実行中で
なく、直前に実行した命令が正常に終了していることを
示している場合には、そのまま次の処理を前記コプロセ
ッサと並行して開始し、コプロセッサの実行処理の開始
時に、第3の信号がコプロセッサか処理を実行中である
か、または直航に実行した命令が正常に終了していない
ことを示している場合には、第1の信号によりコプロセ
ッサの実行処理の待ち合わせを行なったのち、第2の信
号によりコプロセッサの内部情報を読出すか否かを判断
し、以降の処理を決定する。
したがって、マスタプロセッサがコプロセッサに対しマ
スタプロセッサに実行結果を書き戻さない命令を行なう
場合、コプロセッサが処理を実行中でなく、直前に実行
した命令が正常に終了していることを第3の信号をアク
ティブにして示していると、マスタプロセッサは第1の
信号による実行処理の待ち合わせを行なわず、コプロセ
ッサの実行処理と並行して自己の次の実行処理を開始す
ることができる。
スタプロセッサに実行結果を書き戻さない命令を行なう
場合、コプロセッサが処理を実行中でなく、直前に実行
した命令が正常に終了していることを第3の信号をアク
ティブにして示していると、マスタプロセッサは第1の
信号による実行処理の待ち合わせを行なわず、コプロセ
ッサの実行処理と並行して自己の次の実行処理を開始す
ることができる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明のコプロセッサの並行動作制御方式の第
1の実施例を示す構成図、第2図は第1の実施例のc
p u tot側の制御手順を示すフローチャート、第
3、第4図は第1の実施例の動作を示すタイミングチャ
ートである。
1の実施例を示す構成図、第2図は第1の実施例のc
p u tot側の制御手順を示すフローチャート、第
3、第4図は第1の実施例の動作を示すタイミングチャ
ートである。
本実施例は、第7図の従来例とは異なり、コプロセッサ
102が例外処理を保留にしているかいないかをc p
u tolに伝えるCPEND信号113を出力して
いる。他の構成は従来例と同様である。
102が例外処理を保留にしているかいないかをc p
u tolに伝えるCPEND信号113を出力して
いる。他の構成は従来例と同様である。
次に本実施例の動作について説明する。
本実施例は、コプロセッサ102の実行結果をc p
u totに書き戻さない命令の場合にのみ効果がある
ので、説明もその場合にのみとどめる。
u totに書き戻さない命令の場合にのみ効果がある
ので、説明もその場合にのみとどめる。
(1)コプロセッサl◎2が命令の実行により例外を発
生しない場合の動作を第2図、第3図を参照して説明す
る。
生しない場合の動作を第2図、第3図を参照して説明す
る。
c p u totは主記憶袋fi103から取り出し
た命令コードがコプロセッサ102用の命令だった場合
、そのオペコードをコプロセッサ102に転送する(ス
テップ2旧)。c p u totは転送したコプロセ
ッサ重02用命令が実行結果のCP 0101への書き
戻しを伴う命令かどうかを判断しくステップ202)、
書き戻しを伴わない命令であるため、CPEND信号l
13をチエツクする(ステップ21O)。
た命令コードがコプロセッサ102用の命令だった場合
、そのオペコードをコプロセッサ102に転送する(ス
テップ2旧)。c p u totは転送したコプロセ
ッサ重02用命令が実行結果のCP 0101への書き
戻しを伴う命令かどうかを判断しくステップ202)、
書き戻しを伴わない命令であるため、CPEND信号l
13をチエツクする(ステップ21O)。
ここで、コプロセッサ102は、現在処理を実行中では
なく直前に実行した命令は例外を発生していないため、
CPEND信号113をアクティブにしている(ステッ
プ210)、CPololはCPEND信号113がア
クティブになっていることから、現在転送しているコプ
ロセッサ命令に対する以降のサービスは不要であると判
断し、命令転送のバスサイクルの終了を待ったのち(ス
テップ211)、次のCPU処理に移る。よって、c
p U 101とコプロセッサ102は並行に動作する
ことになる。
なく直前に実行した命令は例外を発生していないため、
CPEND信号113をアクティブにしている(ステッ
プ210)、CPololはCPEND信号113がア
クティブになっていることから、現在転送しているコプ
ロセッサ命令に対する以降のサービスは不要であると判
断し、命令転送のバスサイクルの終了を待ったのち(ス
テップ211)、次のCPU処理に移る。よって、c
p U 101とコプロセッサ102は並行に動作する
ことになる。
(2)コプロセッサ102が命令の実行により例外を発
生した場合の動作を第2図、第4図を参照して説明する
。
生した場合の動作を第2図、第4図を参照して説明する
。
c p u totが主記憶装置103からコプロセッ
サ102用の命令を取り出してからCP 0101とコ
プロセッサ102とが並行に動作するまでは第3図に示
された例と同様である。
サ102用の命令を取り出してからCP 0101とコ
プロセッサ102とが並行に動作するまでは第3図に示
された例と同様である。
c p u 1otとの並行動作中にコプロセッサ10
2に例外が発生すると、コプロセッサ102は実行処理
が終了してもCPEND信号■3をインアクティブのま
まにしておく。
2に例外が発生すると、コプロセッサ102は実行処理
が終了してもCPEND信号■3をインアクティブのま
まにしておく。
この状態でCP 0101が再び実行結果のCPolo
lへの書き戻しを伴わないようなコプロセッサ用命令を
コプロセッサ+02に転送する(ステップ2旧)とCP
ololは前回と同様に書き戻しを伴う命令かどうかを
判断しくステップ202)、書き戻しを伴わない命令で
あるため、CPEND信号113をチエツクする(ステ
ップ21O)。コプロセッサ+02には保留されている
例外があるため、CPEN043号113はインアクテ
ィブとなっている。
lへの書き戻しを伴わないようなコプロセッサ用命令を
コプロセッサ+02に転送する(ステップ2旧)とCP
ololは前回と同様に書き戻しを伴う命令かどうかを
判断しくステップ202)、書き戻しを伴わない命令で
あるため、CPEND信号113をチエツクする(ステ
ップ21O)。コプロセッサ+02には保留されている
例外があるため、CPEN043号113はインアクテ
ィブとなっている。
c p u totはCPEND信号113のインアク
ティブ状態を確認しくステップ210)、命令転送のバ
スサイクルの終了を待ったのち(ステップ203)、B
USY信号111がインアクティブになるまで待つ(ス
テップ204)。コプロセッサ102は、直前に実行さ
れた命令が例外を発生し、そのことをまだCP U l
otに伝えていないため、コマンドボート122に書込
まれた命令を実行せずに、BυSY信号II+を1度ア
クティブにした後すぐにインアクティグに戻す。このと
き、コプロセッサ102は保留されている例外をc p
u totに伝える必要があるため、CPERR(3
号112はアクティブのままにしておく。c p u
totはBUSY信号I信号炉11アクティブになった
時のCPERR(3号112を調べる(ステップ205
)。CPERR信号+12がアクティブであるため、c
p u totはステータスポート121を読出しく
ステップ206)、前に実行したコプロセッサ命令が例
外を発生し、それが保留されていたことを検知して(ス
テップ207)、保留された例外に対する処理を始める
(ステップ208)。
ティブ状態を確認しくステップ210)、命令転送のバ
スサイクルの終了を待ったのち(ステップ203)、B
USY信号111がインアクティブになるまで待つ(ス
テップ204)。コプロセッサ102は、直前に実行さ
れた命令が例外を発生し、そのことをまだCP U l
otに伝えていないため、コマンドボート122に書込
まれた命令を実行せずに、BυSY信号II+を1度ア
クティブにした後すぐにインアクティグに戻す。このと
き、コプロセッサ102は保留されている例外をc p
u totに伝える必要があるため、CPERR(3
号112はアクティブのままにしておく。c p u
totはBUSY信号I信号炉11アクティブになった
時のCPERR(3号112を調べる(ステップ205
)。CPERR信号+12がアクティブであるため、c
p u totはステータスポート121を読出しく
ステップ206)、前に実行したコプロセッサ命令が例
外を発生し、それが保留されていたことを検知して(ス
テップ207)、保留された例外に対する処理を始める
(ステップ208)。
このように本発明を通用したシステムは例外の発生時に
も問題なく動作することが容易にわかる。
も問題なく動作することが容易にわかる。
第5図は本発明の第2の実施例を示す構成図、第6図は
第2の実施例の動作を示すタイミングチャートである。
第2の実施例の動作を示すタイミングチャートである。
本実施例は、3個のコプロセッサ1G21+1022
、 1023をパラレルに接続している点が第1の実施
例と比較して異なる。
、 1023をパラレルに接続している点が第1の実施
例と比較して異なる。
CPEND信号11:l、BUSY信号111.CPE
RR信号112は各コプロセッサ102+ 、IO2,
。
RR信号112は各コプロセッサ102+ 、IO2,
。
1023からオープンドレインで出力されているため、
各信号III、112,113に関して各コプロセッサ
10L 、1022.1023のいずれか1つの出力が
ロウ(CPEND信号113.CPERR信号112の
場合はインアクティブ、BUSY信号111の場合はア
クティブを示す)であれば、CP U 101に対する
その信号はロウとしてCP U 101に印加される。
各信号III、112,113に関して各コプロセッサ
10L 、1022.1023のいずれか1つの出力が
ロウ(CPEND信号113.CPERR信号112の
場合はインアクティブ、BUSY信号111の場合はア
クティブを示す)であれば、CP U 101に対する
その信号はロウとしてCP U 101に印加される。
次に、本実施例の動作について第6図を参照して説明す
る。
る。
CP U 101側のコプロセッサ・プロトコルは第2
図に示した第1の実施例の場合と同様である。
図に示した第1の実施例の場合と同様である。
時刻t1で3つのコプロセッサ102..1022゜1
023は全て動作しておらず、また例外を保留していな
いため、各コプロセッサ102s 、1022 。
023は全て動作しておらず、また例外を保留していな
いため、各コプロセッサ102s 、1022 。
+023のCP E N D (3号113はすべてア
クティブ(ハイ)になっている。よって、CP 010
1に人力されるCPEND信号113はアクティブのま
まである。まず時刻t2に第1のコプロセッサ102、
に対して命令コードが転送され、その命令が実行結果を
c p u lotに書き戻さない命令だった場合、c
p u totは時刻t3にCPEND信号113を
チエツクし、アクティブになっていることを確認する。
クティブ(ハイ)になっている。よって、CP 010
1に人力されるCPEND信号113はアクティブのま
まである。まず時刻t2に第1のコプロセッサ102、
に対して命令コードが転送され、その命令が実行結果を
c p u lotに書き戻さない命令だった場合、c
p u totは時刻t3にCPEND信号113を
チエツクし、アクティブになっていることを確認する。
このことにより、c p u totは命令転送のバス
サイクルが終了したあとはコプロセッサ1022に対す
るサービスは不要であると判断し、時刻t、に次のCP
U処理に移る。コプロセッサ1022に対してCP U
103から命令コードを転送した場合、その命令がコ
プロセッサ302゜に実行させた命令と同様に実行結果
をcpυに書き戻さない命令であるため、CP U 1
01は時刻t6にCPEND信号113をチエツクする
。ここで、実行の指示を受けたコプロセッサ1022は
処理を実行中ではなく、保留例外状態でもないため、本
来ならCP U 101はBUSY信号Illがインア
クティブになるのを待たずに次のCPU処理を開始して
も構わないが、本実施例ではシステムの安全性を考慮し
、各コプロセッサ102..102.。
サイクルが終了したあとはコプロセッサ1022に対す
るサービスは不要であると判断し、時刻t、に次のCP
U処理に移る。コプロセッサ1022に対してCP U
103から命令コードを転送した場合、その命令がコ
プロセッサ302゜に実行させた命令と同様に実行結果
をcpυに書き戻さない命令であるため、CP U 1
01は時刻t6にCPEND信号113をチエツクする
。ここで、実行の指示を受けたコプロセッサ1022は
処理を実行中ではなく、保留例外状態でもないため、本
来ならCP U 101はBUSY信号Illがインア
クティブになるのを待たずに次のCPU処理を開始して
も構わないが、本実施例ではシステムの安全性を考慮し
、各コプロセッサ102..102.。
1023のCPEND信号113がすべてアクティブに
ならなければc p u totに対する人力がアクテ
ィブにならないようになっているため、CPU101は
時刻t&にCPEND信号113がインアクティブにな
っていることを確認し、時刻t7に命令転送のバスサイ
クルが終了するのを待ってからさらにB U S Y
4:3号Il+がインアクティブ(ハイ)になるのを待
つ。各コプロセッサ3021 +1022.1023の
BUSY信号Illはオーブンドレインで出力されてい
るため、コプロセッサ1022がBUSY信号Illを
アクティブ(ロウ)にするだけでCP U 101に対
するBUSY信号IIIはアクティブになる。
ならなければc p u totに対する人力がアクテ
ィブにならないようになっているため、CPU101は
時刻t&にCPEND信号113がインアクティブにな
っていることを確認し、時刻t7に命令転送のバスサイ
クルが終了するのを待ってからさらにB U S Y
4:3号Il+がインアクティブ(ハイ)になるのを待
つ。各コプロセッサ3021 +1022.1023の
BUSY信号Illはオーブンドレインで出力されてい
るため、コプロセッサ1022がBUSY信号Illを
アクティブ(ロウ)にするだけでCP U 101に対
するBUSY信号IIIはアクティブになる。
CPUI旧はBUSY信号111がインアクティブにな
った時刻tllでのCPERR信号目2をチエツクし、
インアクティブであることからコプロセッサl022の
ステータス情報の読出しは不要であると判断し、時刻t
9に次のCPU処理に移る。
った時刻tllでのCPERR信号目2をチエツクし、
インアクティブであることからコプロセッサl022の
ステータス情報の読出しは不要であると判断し、時刻t
9に次のCPU処理に移る。
ここで、最初に実行を開始したコプロセッサ1021が
時刻t 16に例外を発生したとする。しかし、c p
u totはコプロセッサ1021およびコプロセッ
サ1022と並行動作しているため、この例外は次に第
1のコプロセッサ1021が呼び出される時刻tllま
で保留される。時刻t11にコプロセッサ102.に再
度、実行結果なc p u totに書き戻さないよう
な命令が転送されたとする。時刻t12にCP U 1
01はCPEND信号113をチエツクし、インアクテ
ィブであるため、時刻t13に命令転送バスサイクルが
終了するのを待ったのち、BUSY信号+tiがインア
クティブになるのを待つ。コプロセッサ102Iは保留
例外を保持しているため、転送された命令を実行せずに
BUSY信号111を1度アクティブにしたのち、すぐ
時刻t 14にインアクティブに戻す。このとき、ステ
ータス情報をCPU102.に読ませるためにCPER
R信号112はアクティブのままにしておく。
時刻t 16に例外を発生したとする。しかし、c p
u totはコプロセッサ1021およびコプロセッ
サ1022と並行動作しているため、この例外は次に第
1のコプロセッサ1021が呼び出される時刻tllま
で保留される。時刻t11にコプロセッサ102.に再
度、実行結果なc p u totに書き戻さないよう
な命令が転送されたとする。時刻t12にCP U 1
01はCPEND信号113をチエツクし、インアクテ
ィブであるため、時刻t13に命令転送バスサイクルが
終了するのを待ったのち、BUSY信号+tiがインア
クティブになるのを待つ。コプロセッサ102Iは保留
例外を保持しているため、転送された命令を実行せずに
BUSY信号111を1度アクティブにしたのち、すぐ
時刻t 14にインアクティブに戻す。このとき、ステ
ータス情報をCPU102.に読ませるためにCPER
R信号112はアクティブのままにしておく。
CP U 101はBUSY信号111がインアクティ
ブになフだ時刻t 14のCPERR信号112をチエ
ツクし、アクティブになっていることからコプロセッサ
1021のステータス情報を睨出す。この情報により、
CP U 101はコプロセッサ+02゜が保留例外を
保持していたことを知り、例外処理に移る。本実施例に
より複数のコプロセッサを持つシステムの場合にも効果
を発揮することが明らかである。
ブになフだ時刻t 14のCPERR信号112をチエ
ツクし、アクティブになっていることからコプロセッサ
1021のステータス情報を睨出す。この情報により、
CP U 101はコプロセッサ+02゜が保留例外を
保持していたことを知り、例外処理に移る。本実施例に
より複数のコプロセッサを持つシステムの場合にも効果
を発揮することが明らかである。
以上説明したように本発明は、マスタプロセッサがコプ
ロセッサに対しマスタプロセッサに実行結果を書き戻さ
ない命令を行なう場合、コプロセッサが処理を実行中で
なく、直前に実行した命令が正常に終了していることを
第3の信号をアクティブにして示していると、マスタプ
ロセッサは第1の信号による実行処理の待ち合わせを行
なわず、コプロセッサの実行処理と並行して自己の次の
実行処理を開始できることにより、コプロセッサを用い
るシステムにおけるマスタプロセッサの使用効率を向上
できる効果がある。
ロセッサに対しマスタプロセッサに実行結果を書き戻さ
ない命令を行なう場合、コプロセッサが処理を実行中で
なく、直前に実行した命令が正常に終了していることを
第3の信号をアクティブにして示していると、マスタプ
ロセッサは第1の信号による実行処理の待ち合わせを行
なわず、コプロセッサの実行処理と並行して自己の次の
実行処理を開始できることにより、コプロセッサを用い
るシステムにおけるマスタプロセッサの使用効率を向上
できる効果がある。
第1図は本発明のコプロセッサの並行動作制御方式の第
1の実施例を示す構成図、第2図は第1の実施例のc
p u tot側の制御手順を示すフローチャート、第
3図、第4図は第1の実施例の動作を示すタイミングチ
ャート、第5図は本発明の第2の実施例を示す構成図、
第6図は第2の実施例の動作を示すタイミングチャート
、第7図は従来のコプロセッサ制御方式を示す構成図、
第8図は第7図におけるc p U 301側の制御手
順を示すフローチャート、第9図、第10図、第11図
、第12図は第7図におけるCPO301とコプロセッ
サ302との動作を示すタイミングチャートである。 101−−−−−− CP U、 102 、102 、.1022.1023−−−−−
−コプロセッサ、103−−−−−主記憶装置、 104−−−−アドレスバス、 105−−−−−−データバス、 111 −−−−− B U S Y イJシ
号、+12−−−−−・CP E R,R,信号、+1
3−−−−−・CPEND信号、 12+ −−−−−ステータスポート、+22−−−−
−−コマンドポート。 123−−−−−−オペランドポート、+24−−−−
−−実行ユニット。
1の実施例を示す構成図、第2図は第1の実施例のc
p u tot側の制御手順を示すフローチャート、第
3図、第4図は第1の実施例の動作を示すタイミングチ
ャート、第5図は本発明の第2の実施例を示す構成図、
第6図は第2の実施例の動作を示すタイミングチャート
、第7図は従来のコプロセッサ制御方式を示す構成図、
第8図は第7図におけるc p U 301側の制御手
順を示すフローチャート、第9図、第10図、第11図
、第12図は第7図におけるCPO301とコプロセッ
サ302との動作を示すタイミングチャートである。 101−−−−−− CP U、 102 、102 、.1022.1023−−−−−
−コプロセッサ、103−−−−−主記憶装置、 104−−−−アドレスバス、 105−−−−−−データバス、 111 −−−−− B U S Y イJシ
号、+12−−−−−・CP E R,R,信号、+1
3−−−−−・CPEND信号、 12+ −−−−−ステータスポート、+22−−−−
−−コマンドポート。 123−−−−−−オペランドポート、+24−−−−
−−実行ユニット。
Claims (1)
- マスタプロセッサがデータバスを共有している1個以上
のコプロセッサを制御するコプロセッサの並行動作制御
方式であって、実行処理の待ち合わせを示す第1の信号
と、第1の信号により待ち合わせの終了を示したとき処
理が正常に終了しているかどうかを示す第2の信号と、
処理を実行中でなく、直前に実行した命令が正常に終了
しているかどうかを示す第3の信号とをコプロセッサが
マスタプロセッサに出力し、マスタプロセッサは、コプ
ロセッサの実行処理の開始時に、第3の信号が、コプロ
セッサが処理を実行中でなく、直前に実行した命令が正
常に終了していることを示している場合には、そのまま
次の処理を前記コプロセッサと並行して開始し、コプロ
セッサの実行処理の開始時に、第3の信号がコプロセッ
サが処理を実行中であるか、または直前に実行した命令
が正常に終了していないことを示している場合には、第
1の信号によりコプロセッサの実行処理の待ち合わせを
行なったのち、第2の信号によりコプロセッサの内部情
報を読出すか否かを判断し、以降の処理を決定するコプ
ロセッサの並行動作制御方式。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62267796A JPH0679307B2 (ja) | 1987-10-22 | 1987-10-22 | コプロセッサの並行動作制御方式 |
US07/260,699 US4949241A (en) | 1987-10-22 | 1988-10-21 | Microcomputer system including a master processor and a slave processor synchronized by three control lines |
EP88117683A EP0313097B1 (en) | 1987-10-22 | 1988-10-24 | Microcomputer system including master processor and slave processor |
DE3852604T DE3852604T2 (de) | 1987-10-22 | 1988-10-24 | Mikrokomputersystem mit einem Masterprozessor und einem Sklavenprozessor. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62267796A JPH0679307B2 (ja) | 1987-10-22 | 1987-10-22 | コプロセッサの並行動作制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01109466A true JPH01109466A (ja) | 1989-04-26 |
JPH0679307B2 JPH0679307B2 (ja) | 1994-10-05 |
Family
ID=17449714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62267796A Expired - Fee Related JPH0679307B2 (ja) | 1987-10-22 | 1987-10-22 | コプロセッサの並行動作制御方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US4949241A (ja) |
EP (1) | EP0313097B1 (ja) |
JP (1) | JPH0679307B2 (ja) |
DE (1) | DE3852604T2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03154919A (ja) * | 1989-11-13 | 1991-07-02 | Fujitsu Ltd | 付加演算装置制御方式 |
US5961147A (en) * | 1996-05-28 | 1999-10-05 | Trw Occupant Restraint Systems Gmbh | Anchorage for the belt buckle of a seat belt |
US8069338B2 (en) | 2007-11-30 | 2011-11-29 | Renesas Electronics Corporation | Data processing device and control method for preventing an exception caused by an instruction sent to a peripheral device by a branch source program from occurring during execution of a branch destination program or interrupt program |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5251295A (en) * | 1988-07-11 | 1993-10-05 | Minolta Camera Kabushiki Kaisha | Image processing system having slave processors for controlling standard and optional modules |
US5191648A (en) * | 1988-07-11 | 1993-03-02 | Minolta Camera Kabushiki Kaisha | Image processing system |
US5109514A (en) * | 1988-07-28 | 1992-04-28 | Sun Microsystems, Inc. | Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions |
US5615349A (en) * | 1990-09-04 | 1997-03-25 | Mitsubishi Denki Kabushiki Kaisha | Data processing system capable of execution of plural instructions in parallel |
US5632037A (en) * | 1992-03-27 | 1997-05-20 | Cyrix Corporation | Microprocessor having power management circuitry with coprocessor support |
FR2696561B1 (fr) * | 1992-10-02 | 1994-12-23 | Sgs Thomson Microelectronics | Micro-calculateur pouvant fonctionner en mode d'émulation avec des périphériques internes et externes. |
US5579492A (en) * | 1993-11-01 | 1996-11-26 | Motorola, Inc. | Data processing system and a method for dynamically ignoring bus transfer termination control signals for a predetermined amount of time |
US5495588A (en) * | 1993-11-18 | 1996-02-27 | Allen-Bradley Company, Inc. | Programmable controller having joined relay language processor and general purpose processor |
US5464435A (en) * | 1994-02-03 | 1995-11-07 | Medtronic, Inc. | Parallel processors in implantable medical device |
FR2719926B1 (fr) * | 1994-05-10 | 1996-06-07 | Sgs Thomson Microelectronics | Circuit électronique et procédé d'utilisation d'un coprocesseur. |
JP2987308B2 (ja) * | 1995-04-28 | 1999-12-06 | 松下電器産業株式会社 | 情報処理装置 |
US5931941A (en) * | 1995-04-28 | 1999-08-03 | Lsi Logic Corporation | Interface for a modularized computational unit to a CPU |
JP3495173B2 (ja) * | 1996-02-14 | 2004-02-09 | 富士通株式会社 | 演算処理方法および演算処理装置 |
US5721945A (en) * | 1996-05-06 | 1998-02-24 | Advanced Micro Devices | Microprocessor configured to detect a DSP call instruction and to direct a DSP to execute a routine corresponding to the DSP call instruction |
US5923893A (en) * | 1997-09-05 | 1999-07-13 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6505290B1 (en) * | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6223080B1 (en) * | 1998-04-29 | 2001-04-24 | Medtronic, Inc. | Power consumption reduction in medical devices employing multiple digital signal processors and different supply voltages |
JP4160705B2 (ja) * | 1999-10-15 | 2008-10-08 | 富士通株式会社 | プロセッサ及びプロセッサシステム |
EP1391820A3 (en) | 2002-07-31 | 2007-12-19 | Texas Instruments Incorporated | Concurrent task execution in a multi-processor, single operating system environment |
TWI307022B (en) * | 2005-08-16 | 2009-03-01 | Novatek Microelectronics Corp | System and method for parallel data transmission |
CN101872336B (zh) * | 2010-05-31 | 2011-12-21 | 浙江大学 | 基于主从架构的协处理器高效执行的装置 |
WO2014080457A1 (ja) * | 2012-11-20 | 2014-05-30 | 株式会社安川電機 | プログラマブルコントローラ |
WO2020105099A1 (ja) * | 2018-11-19 | 2020-05-28 | 三菱電機株式会社 | 通信システム、通信装置、通信方法及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4395758A (en) * | 1979-12-10 | 1983-07-26 | Digital Equipment Corporation | Accelerator processor for a data processing system |
US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
US4509116A (en) * | 1982-04-21 | 1985-04-02 | Digital Equipment Corporation | Special instruction processing unit for data processing system |
US4679166A (en) * | 1983-01-17 | 1987-07-07 | Tandy Corporation | Co-processor combination |
US4715013A (en) * | 1983-04-18 | 1987-12-22 | Motorola, Inc. | Coprocessor instruction format |
US4598356A (en) * | 1983-12-30 | 1986-07-01 | International Business Machines Corporation | Data processing system including a main processor and a co-processor and co-processor error handling logic |
US4695945A (en) * | 1985-02-28 | 1987-09-22 | International Business Machines Corporation | Processor I/O and interrupt filters allowing a co-processor to run software unknown to the main processor |
US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
-
1987
- 1987-10-22 JP JP62267796A patent/JPH0679307B2/ja not_active Expired - Fee Related
-
1988
- 1988-10-21 US US07/260,699 patent/US4949241A/en not_active Expired - Lifetime
- 1988-10-24 DE DE3852604T patent/DE3852604T2/de not_active Expired - Fee Related
- 1988-10-24 EP EP88117683A patent/EP0313097B1/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03154919A (ja) * | 1989-11-13 | 1991-07-02 | Fujitsu Ltd | 付加演算装置制御方式 |
US5961147A (en) * | 1996-05-28 | 1999-10-05 | Trw Occupant Restraint Systems Gmbh | Anchorage for the belt buckle of a seat belt |
US8069338B2 (en) | 2007-11-30 | 2011-11-29 | Renesas Electronics Corporation | Data processing device and control method for preventing an exception caused by an instruction sent to a peripheral device by a branch source program from occurring during execution of a branch destination program or interrupt program |
Also Published As
Publication number | Publication date |
---|---|
EP0313097A2 (en) | 1989-04-26 |
EP0313097B1 (en) | 1994-12-28 |
DE3852604T2 (de) | 1995-08-17 |
DE3852604D1 (de) | 1995-02-09 |
EP0313097A3 (en) | 1992-03-11 |
JPH0679307B2 (ja) | 1994-10-05 |
US4949241A (en) | 1990-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH01109466A (ja) | コプロセッサの並行動作制御方式 | |
JPH04367963A (ja) | 共有記憶通信方法 | |
US20060059489A1 (en) | Parallel processing system, interconnection network, node and network control method, and program therefor | |
JPS60118977A (ja) | パイプライン制御方式 | |
JP2522412B2 (ja) | プログラマブルコントロ―ラと入出力装置の間の通信方法 | |
JPH01106158A (ja) | プロセツサ間のデータ通信制御方式 | |
JPH10198644A (ja) | 同期制御方法およびマルチプロセッサシステム | |
JP2762441B2 (ja) | コプロセッサ | |
JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
JP2785855B2 (ja) | 情報処理装置 | |
JPH03269752A (ja) | 情報処理システム及びそれに使用される入出力制御装置 | |
JPS63247861A (ja) | コプロセツサ制御方法 | |
JP2554423Y2 (ja) | メモリ制御装置 | |
JP4228275B2 (ja) | 情報処理装置 | |
JP2875546B2 (ja) | 情報処理システム | |
JPH02197961A (ja) | 情報処理装置 | |
JPS61288232A (ja) | 出力命令制御方式 | |
JPH04326144A (ja) | メモリバスエラー検出システム | |
JPH0321941B2 (ja) | ||
EP1193606A2 (en) | Apparatus and method for a host port interface unit in a digital signal processing unit | |
JPS63257856A (ja) | シリアル通信方式 | |
JPS62260263A (ja) | マルチプロセツサによるプログラム制御方式 | |
JPH1153291A (ja) | 高速データ転送システム | |
JPH0424733B2 (ja) | ||
JPH01108665A (ja) | Dma転送制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |