JPH02181859A - コプロセッサ・インタフェース回路 - Google Patents
コプロセッサ・インタフェース回路Info
- Publication number
- JPH02181859A JPH02181859A JP223489A JP223489A JPH02181859A JP H02181859 A JPH02181859 A JP H02181859A JP 223489 A JP223489 A JP 223489A JP 223489 A JP223489 A JP 223489A JP H02181859 A JPH02181859 A JP H02181859A
- Authority
- JP
- Japan
- Prior art keywords
- main processor
- instruction code
- coprocessor
- ready signal
- register
- 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
Links
- 238000000034 method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は数値制御装置等で使用されるプロセッサとコプ
ロセッサとの間のコプロセッサ・インターフェース回路
に係り、特にハンドシェーク機能を改良したコプロセッ
サ・インタフェース回路に関する。
ロセッサとの間のコプロセッサ・インターフェース回路
に係り、特にハンドシェーク機能を改良したコプロセッ
サ・インタフェース回路に関する。
数値制御装置等の制御装置では、算術演算やシーケンス
制御用のビット演算のために、システム内のメインプロ
セッサ以外に、これを補助するためのコプロセッサを設
けることがある。メインプロセッサとコプロセッサとは
、互いに密接にデ−夕をやりとりしながらひとつのプロ
グラムを実行していく。
制御用のビット演算のために、システム内のメインプロ
セッサ以外に、これを補助するためのコプロセッサを設
けることがある。メインプロセッサとコプロセッサとは
、互いに密接にデ−夕をやりとりしながらひとつのプロ
グラムを実行していく。
両者共、独立に実行できる仕事はそれぞれ同時に独立し
て行うが、互いに仕事をすすめていく上で同期動作が必
要な場合はハンドシェークを行う。
て行うが、互いに仕事をすすめていく上で同期動作が必
要な場合はハンドシェークを行う。
このハンドシェークには以下のような方法が一般に用い
られている。
られている。
それは、相手のレディフラグをチエツクしながら待つフ
ラグ・センスという方法、相手から割り込み信号が入る
のを他の仕事をしながら待つ割り込みという方法、相手
のレジスタをアクセスした場合レディ状態になるまでそ
のバスサイクルが終わらないようにハードウェアの方で
制御するバス・ウェイトという方法である。
ラグ・センスという方法、相手から割り込み信号が入る
のを他の仕事をしながら待つ割り込みという方法、相手
のレジスタをアクセスした場合レディ状態になるまでそ
のバスサイクルが終わらないようにハードウェアの方で
制御するバス・ウェイトという方法である。
このようなシステムではハンドシェークに伴うむだ時間
を極力減らし、効率の良い動作ができるようにすること
が望ましい。しかし、特にメインプロセッサがコプロセ
ッサの状態をみながら、待ち合わせを行うケースではい
ろいろと問題になることが多い。
を極力減らし、効率の良い動作ができるようにすること
が望ましい。しかし、特にメインプロセッサがコプロセ
ッサの状態をみながら、待ち合わせを行うケースではい
ろいろと問題になることが多い。
このような観点から上記3つの方法をみるとそれぞれ次
のような問題があることが分かる。
のような問題があることが分かる。
フラグ・センスの場合、ハードウェアは簡単であるが、
ソフトウェアでフラグを読み、その論理を判定し、条件
分岐しているので、応答が遅いという問題がある。
ソフトウェアでフラグを読み、その論理を判定し、条件
分岐しているので、応答が遅いという問題がある。
割り込みの場合、待っている間に他の仕事を実行するこ
とが出来るが、割り込み対する応答時間は上記フラグセ
ンスよりも遅いという問題がある。
とが出来るが、割り込み対する応答時間は上記フラグセ
ンスよりも遅いという問題がある。
バス・ウェイトの場合、応答時間は他の2つに比べて最
も速い。しかし、待っている間は、メインプロセッサは
仕事を処理することも他のデバイスからの割り込みを受
は付けることも出来ないという問題がある。これは、数
値制御装置等のようなリアルタイム制御装置では致命的
な欠点となる。
も速い。しかし、待っている間は、メインプロセッサは
仕事を処理することも他のデバイスからの割り込みを受
は付けることも出来ないという問題がある。これは、数
値制御装置等のようなリアルタイム制御装置では致命的
な欠点となる。
本発明はこのような点に鑑みてなされたものであり、高
速でかつ割込みも受付は可能なハンドシェーク方式を実
行するためのコプロセッサ・インタフェース回路を提供
することを目的とする。
速でかつ割込みも受付は可能なハンドシェーク方式を実
行するためのコプロセッサ・インタフェース回路を提供
することを目的とする。
本発明では上記課題を解決するために、メインプロセッ
サとコプロセッサとの間でハンドシェークを行うコプロ
セッサ・インタフェース回路において、前記コプロセッ
サからレディ信号が出力されるまで前記メインプロセッ
サに対してノーオペレーション命令コードを供給し、前
記レディ信号の出力があったときに前記ノーオペレーシ
ョン命令コードを同期完了後実行すべき命令コードに変
更して前記メインプロセッサに供給することを特徴とす
るコプロセッサ・インターフェース回路が、提供される
。
サとコプロセッサとの間でハンドシェークを行うコプロ
セッサ・インタフェース回路において、前記コプロセッ
サからレディ信号が出力されるまで前記メインプロセッ
サに対してノーオペレーション命令コードを供給し、前
記レディ信号の出力があったときに前記ノーオペレーシ
ョン命令コードを同期完了後実行すべき命令コードに変
更して前記メインプロセッサに供給することを特徴とす
るコプロセッサ・インターフェース回路が、提供される
。
メインプロセッサはコプロセッサの処理が終わり、レデ
ィ信号が出力されるまでノーオペレーション命令を実行
し続けるので、割込みが発生した場合でもすぐにその割
込みを実行することができる。また、コプロセッサから
のレディ信号の出力によって直ちに同期完了後実行すべ
き命令の実行に移行することができるので、同期化後の
処理を始めるまでの時間を短縮することができる。
ィ信号が出力されるまでノーオペレーション命令を実行
し続けるので、割込みが発生した場合でもすぐにその割
込みを実行することができる。また、コプロセッサから
のレディ信号の出力によって直ちに同期完了後実行すべ
き命令の実行に移行することができるので、同期化後の
処理を始めるまでの時間を短縮することができる。
以下、本発明の一実施例を図面に基づいて説明する。
第1図は本発明のコプロセッサ・インターフェース回路
の一実施例を示す図である。
の一実施例を示す図である。
メインプロセッサ3は16ビツトプロセツサであり、ア
ドレスも16ビツトである。プログラムメモリ2は4に
ワードで構成され、アドレス番地L;!0OOOH〜0
FFFHの範囲にある。コプロセッサ4はメインプロセ
ッサ3の代わりに算術演算やシーケンス制御用のビット
演算を行う。これらプログラムメモリ2、メインフ“ロ
セ・ンサ3及びコプロセッサ4はそれぞれバス5を介し
て接続される。コプロセッサ・インターフェース回路1
はプログラムメモリ2、コプロセッサ4及びバス5に接
続される。
ドレスも16ビツトである。プログラムメモリ2は4に
ワードで構成され、アドレス番地L;!0OOOH〜0
FFFHの範囲にある。コプロセッサ4はメインプロセ
ッサ3の代わりに算術演算やシーケンス制御用のビット
演算を行う。これらプログラムメモリ2、メインフ“ロ
セ・ンサ3及びコプロセッサ4はそれぞれバス5を介し
て接続される。コプロセッサ・インターフェース回路1
はプログラムメモリ2、コプロセッサ4及びバス5に接
続される。
コプロセッサ・インターフェース回路1の詳細を説明す
る。アドレスデコーダ11及び12はバス5に接続され
る。アドレスデコーダ12にはアドレスの下位8ビット
AO−7が、アドレスデコーダ11にはアドレスの上位
8ビットA3−15がそれぞれ取り込まれる。アドレス
デコーダ11はアドレスが0XXXH(XはO−Fの任
意の数を表す)のとき、プログラムメモリ2を選択する
チップセレクト信号11aを出力し、またアドレスがF
FXXHのとき、信号11bをアンド回路13及びデー
タバッファ14へ出力する。これらの出力11a及びl
lbは通常rlJであり、これ以外のアドレスのときは
rOJである。アドレスデコーダ12はアドレスがXX
FFHのとき、信号12a、rl」をアンド回路13へ
出力する。
る。アドレスデコーダ11及び12はバス5に接続され
る。アドレスデコーダ12にはアドレスの下位8ビット
AO−7が、アドレスデコーダ11にはアドレスの上位
8ビットA3−15がそれぞれ取り込まれる。アドレス
デコーダ11はアドレスが0XXXH(XはO−Fの任
意の数を表す)のとき、プログラムメモリ2を選択する
チップセレクト信号11aを出力し、またアドレスがF
FXXHのとき、信号11bをアンド回路13及びデー
タバッファ14へ出力する。これらの出力11a及びl
lbは通常rlJであり、これ以外のアドレスのときは
rOJである。アドレスデコーダ12はアドレスがXX
FFHのとき、信号12a、rl」をアンド回路13へ
出力する。
従って、アンド回路13はアドレスがFFFFHのとき
は「1」を出力し、その他のアドレスのときはr□、を
出力することになる。アンド回路13の出力は第1のセ
レクタ18に取り込まれる。
は「1」を出力し、その他のアドレスのときはr□、を
出力することになる。アンド回路13の出力は第1のセ
レクタ18に取り込まれる。
第1のセレクタ18はアンド回路13の出力に応じて、
レジスタ15及び16のいずれかを選択し、選択したレ
ジスタ内のデータを第2のセレクタ19へ出力する。ア
ンド回路13の出力がrOlのときはレジスタ15の内
容を、rllのときはレジスタ16の内容を第2のセレ
クタ19へ出力する。レジスタ15にはノーオペレーシ
ョン(NOP)命令コードが格納されており、レジスタ
16には命令コードBRA FF0OH(Bl?AN
C1l ALWAYS TOFF0OH)が格納されテ
イル。従ッテ、レジスタ15が選択されるとノーオペレ
ーション命令が実行され、レジスタ16が選択されると
FFoOH番地への無条件分岐が行われる。
レジスタ15及び16のいずれかを選択し、選択したレ
ジスタ内のデータを第2のセレクタ19へ出力する。ア
ンド回路13の出力がrOlのときはレジスタ15の内
容を、rllのときはレジスタ16の内容を第2のセレ
クタ19へ出力する。レジスタ15にはノーオペレーシ
ョン(NOP)命令コードが格納されており、レジスタ
16には命令コードBRA FF0OH(Bl?AN
C1l ALWAYS TOFF0OH)が格納されテ
イル。従ッテ、レジスタ15が選択されるとノーオペレ
ーション命令が実行され、レジスタ16が選択されると
FFoOH番地への無条件分岐が行われる。
第2のセレクタ19はコプロセッサ4のレディ信号4a
に応じて、セレクタ18及びレジスタ17のいずれかを
選択する。選択したレジスタ内のデータを第2のセレク
タ19へ出力する。コプロセッサ4のレディ信号がrQ
」のときは第1のセレクタ18で選択されているレジス
タ15又は16の内容を、rllのときはレジスタ17
の内容をデータバッファ14へ出力する。レジスタ17
には同期完了後実行すべき命令(プログラムメモリ2中
にある)のアドレス番地Yへの分岐命令コードがセット
しである。この分岐命令コードのセットはデータバス(
Do−15)を介してプロセッサ3によって行われる。
に応じて、セレクタ18及びレジスタ17のいずれかを
選択する。選択したレジスタ内のデータを第2のセレク
タ19へ出力する。コプロセッサ4のレディ信号がrQ
」のときは第1のセレクタ18で選択されているレジス
タ15又は16の内容を、rllのときはレジスタ17
の内容をデータバッファ14へ出力する。レジスタ17
には同期完了後実行すべき命令(プログラムメモリ2中
にある)のアドレス番地Yへの分岐命令コードがセット
しである。この分岐命令コードのセットはデータバス(
Do−15)を介してプロセッサ3によって行われる。
従って、レジスタI7が選択されるとY番地への無条件
分岐が行われる。
分岐が行われる。
データバッファ14はアドレスデコーダ11の出力11
bを受けたとき、第2のセレクタ19で選択された命令
コードをバス5を介してメインプロセッサ3に与える。
bを受けたとき、第2のセレクタ19で選択された命令
コードをバス5を介してメインプロセッサ3に与える。
従って、コプロセッサがレディ状態になると命令コード
B RA Y (BRANCIIALWAYS TO
’f)が出力され、メインプロセッサはY番地ヘジャン
プしてそこから必要なプログラムを実行する。
B RA Y (BRANCIIALWAYS TO
’f)が出力され、メインプロセッサはY番地ヘジャン
プしてそこから必要なプログラムを実行する。
次に本実施例の動作を説明する。メインプロセッサ3は
コプロセッサ4との間で同期を行おうとする際、同期完
了後実行すべき命令のアドレスYをレジスタ17にセッ
トし、アドレスFF0OH番地にジャンプする。すると
アドレスデコーダ11の出力11bがオンになり、デー
タバッファ14からレジスタ15.16又は17のいず
れかに格納されている命令コードがメインプロセッサ3
に与えられる。このときの命令コードはセレクタ18及
び19の状態で決まる。
コプロセッサ4との間で同期を行おうとする際、同期完
了後実行すべき命令のアドレスYをレジスタ17にセッ
トし、アドレスFF0OH番地にジャンプする。すると
アドレスデコーダ11の出力11bがオンになり、デー
タバッファ14からレジスタ15.16又は17のいず
れかに格納されている命令コードがメインプロセッサ3
に与えられる。このときの命令コードはセレクタ18及
び19の状態で決まる。
アンド回路13の出力はアドレスがFFFFHに達する
までは「0」であり、コプロセッサ4のレディ信号4a
もコプロセッサ4が現在与えられている仕事が終わるま
ではrQjであるから、データバッファ14の出力は、
レジスタ15のノーオペレーション命令コードとなる。
までは「0」であり、コプロセッサ4のレディ信号4a
もコプロセッサ4が現在与えられている仕事が終わるま
ではrQjであるから、データバッファ14の出力は、
レジスタ15のノーオペレーション命令コードとなる。
従って、メインプロセッサ3はノーオペレージコン命令
をアドレスFFFE)(になるまで実行することになる
。
をアドレスFFFE)(になるまで実行することになる
。
メインプロセッサ3のアドレスは、単純にインクリメン
トしていくが、ある一定値(FFFFH)に達すると、
アンド回路13の出力はrljになり、命令コードはレ
ジスタ16のもの、すなわち、BRA FF0OHに
がわる。よってメインプロセッサ3はFFoOH番地に
戻り、再びレジスタ15のノーオペレーション命令を実
行し続ける。
トしていくが、ある一定値(FFFFH)に達すると、
アンド回路13の出力はrljになり、命令コードはレ
ジスタ16のもの、すなわち、BRA FF0OHに
がわる。よってメインプロセッサ3はFFoOH番地に
戻り、再びレジスタ15のノーオペレーション命令を実
行し続ける。
コプロセッサ4がレディ状態になるとレディ信号4aに
よって第2のセレクタ19が動作し、命令コードはレジ
スタ17のBRA Mになる。ここでYは、前もって
メインプロセッサ3が書き込んでおいたアドレスなので
、メインプロセッサ3は直ちにこの命令をフェッチし実
行することができる。
よって第2のセレクタ19が動作し、命令コードはレジ
スタ17のBRA Mになる。ここでYは、前もって
メインプロセッサ3が書き込んでおいたアドレスなので
、メインプロセッサ3は直ちにこの命令をフェッチし実
行することができる。
以上説明したように本実施例では、メインプロセッサ3
はコプロセッサ4のレディ信号4aが立ち上がると同時
に必要な処理プログラムにジャンプするので、ハンドシ
ェークに伴うむだ時間が短く、効率の良い動作が可能に
なる。
はコプロセッサ4のレディ信号4aが立ち上がると同時
に必要な処理プログラムにジャンプするので、ハンドシ
ェークに伴うむだ時間が短く、効率の良い動作が可能に
なる。
第1図は本発明の一実施例を示すブロック図である。
1−・−−−−−一−−・−コプロセッサ・インターフ
ェース回路2−−−−一・−−−一−−・−プログラム
メモリ3−・・・−・−・−・−・メインプロセッサ4
・・・−・・−・・・・−・コプロセッサ5・・−・・
−・−・−・バス 特許出願人 ファナック株式会社 代理人 弁理士 服部毅巖 〔発明の効果〕 以上説明したように本発明では、割込みが発生した場合
でもすぐにその割込みを実行することができ、また、同
期化後の処理を始めるまでの時間を大幅に短縮すること
ができるという効果がある。
ェース回路2−−−−一・−−−一−−・−プログラム
メモリ3−・・・−・−・−・−・メインプロセッサ4
・・・−・・−・・・・−・コプロセッサ5・・−・・
−・−・−・バス 特許出願人 ファナック株式会社 代理人 弁理士 服部毅巖 〔発明の効果〕 以上説明したように本発明では、割込みが発生した場合
でもすぐにその割込みを実行することができ、また、同
期化後の処理を始めるまでの時間を大幅に短縮すること
ができるという効果がある。
Claims (2)
- (1)メインプロセッサとコプロセッサとの間でハンド
シェークを行うコプロセッサ・インタフェース回路にお
いて、 前記コプロセッサからレディ信号が出力されるまで前記
メインプロセッサに対してノーオペレーション命令コー
ドを供給し、 前記レディ信号の出力があったときに前記ノーオペレー
ション命令コードを同期完了後実行すべき命令コードに
変更して前記メインプロセッサに供給することを特徴と
するコプロセッサ・インターフェース回路。 - (2)前記ノーオペレーション命令コードは第1のレジ
スタに格納され、 前記同期完了後実行すべき命令コードは第2のレジスタ
に格納され、 前記レディ信号に応じて前記第1又は第2のレジスタの
いずれかが選択されることを特徴とする特許請求の範囲
第1項記載のコプロセッサ・インターフェース回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP223489A JPH02181859A (ja) | 1989-01-09 | 1989-01-09 | コプロセッサ・インタフェース回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP223489A JPH02181859A (ja) | 1989-01-09 | 1989-01-09 | コプロセッサ・インタフェース回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02181859A true JPH02181859A (ja) | 1990-07-16 |
Family
ID=11523665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP223489A Pending JPH02181859A (ja) | 1989-01-09 | 1989-01-09 | コプロセッサ・インタフェース回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02181859A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003005954A (ja) * | 2001-06-25 | 2003-01-10 | Pacific Design Kk | データ処理装置およびその制御方法 |
-
1989
- 1989-01-09 JP JP223489A patent/JPH02181859A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003005954A (ja) * | 2001-06-25 | 2003-01-10 | Pacific Design Kk | データ処理装置およびその制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0769812B2 (ja) | データ処理装置 | |
JPH01177127A (ja) | 情報処理装置 | |
US5479620A (en) | Control unit modifying micro instructions for one cycle execution | |
JPH01214902A (ja) | プログラマブル・コントローラ | |
JPH02181859A (ja) | コプロセッサ・インタフェース回路 | |
JPH0248932B2 (ja) | ||
JPH0377137A (ja) | 情報処理装置 | |
JP3855069B2 (ja) | 論理回路 | |
JPH02199571A (ja) | コプロセッサ・インタフェース回路 | |
WO2022231733A1 (en) | Method and apparatus for desynchronizing execution in a vector processor | |
JPH0452986B2 (ja) | ||
JP2825315B2 (ja) | 情報処理装置 | |
JP2504535B2 (ja) | バスユニットの構成方法 | |
JPH07191845A (ja) | 即値データ転送装置 | |
JPH0769800B2 (ja) | データ処理装置 | |
JPS62147545A (ja) | 情報処理装置における転送命令処理方式 | |
JPS60247743A (ja) | パイプライン演算制御装置 | |
JPS6353644A (ja) | 命令制御装置 | |
JPS60247742A (ja) | パイプライン演算制御装置 | |
JPS63268032A (ja) | ル−プ制御回路 | |
JPS62145430A (ja) | デ−タ処理装置 | |
JPH02132545A (ja) | 並列計算機およびそのためのコンパイル方法 | |
JPS63285663A (ja) | コ・プロセッサ制御方式 | |
JPH03211628A (ja) | 割込み制御方法 | |
JPH04148236A (ja) | 中央処理装置 |