JPH0619756B2 - 非同期装置間で通信を行なうための効率的なプロトコル - Google Patents
非同期装置間で通信を行なうための効率的なプロトコルInfo
- Publication number
- JPH0619756B2 JPH0619756B2 JP1187230A JP18723089A JPH0619756B2 JP H0619756 B2 JPH0619756 B2 JP H0619756B2 JP 1187230 A JP1187230 A JP 1187230A JP 18723089 A JP18723089 A JP 18723089A JP H0619756 B2 JPH0619756 B2 JP H0619756B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- clock pulse
- data
- signal
- bus
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、本発明の譲受人に譲渡されそして本発明と同
時に出願されたロバート・ディクソン、W.ハフ・デュ
ーダン及びジョージ・ミッチェル氏の「プロセッサ間命
令転送を最適化する方法及び装置(Method and Apparatu
s For Optimizing Inter-processor Instruction Trans
fers)」に開示された技術に関するものである。
時に出願されたロバート・ディクソン、W.ハフ・デュ
ーダン及びジョージ・ミッチェル氏の「プロセッサ間命
令転送を最適化する方法及び装置(Method and Apparatu
s For Optimizing Inter-processor Instruction Trans
fers)」に開示された技術に関するものである。
本発明は、一般に、データ処理システムの要素間で行な
われる通信に係る。より詳細には、本発明は、マルチプ
ロセッサコンピュータシステムの非同期要素間で行なわ
れるデータの交換を制御する方法に係る。
われる通信に係る。より詳細には、本発明は、マルチプ
ロセッサコンピュータシステムの非同期要素間で行なわ
れるデータの交換を制御する方法に係る。
従来の技術 プロセッサや、メモリ要素や、I/O装置のようなコン
ピュータの種々の部分は、多数の信号ラインより成るバ
スを通して互いに通信する。バスにおける信号ラインの
1つのグループ、ハンドシェイクラインと称する、はコ
ンピュータシステムの種々の非同期部分間のデータ転送
のタイミングを制御する。これらのハンドシェイクライ
ンは、各データ転送が開始したり終了したりするときを
指示する信号を搬送する。ハンドシェイクはトランザク
ションを開始したり停止たりすると共に、形式に拘りな
く全てのトランザクションに対して機能的に同じ制御を
与える。
ピュータの種々の部分は、多数の信号ラインより成るバ
スを通して互いに通信する。バスにおける信号ラインの
1つのグループ、ハンドシェイクラインと称する、はコ
ンピュータシステムの種々の非同期部分間のデータ転送
のタイミングを制御する。これらのハンドシェイクライ
ンは、各データ転送が開始したり終了したりするときを
指示する信号を搬送する。ハンドシェイクはトランザク
ションを開始したり停止たりすると共に、形式に拘りな
く全てのトランザクションに対して機能的に同じ制御を
与える。
既知のプロトコルは、一般に、次の3つの広い分類に分
けられる。即ち、同期(転送当たり1つのクロック周期
のクロック式転送)と;非同期(非クロック式)と、半
同期(転送当たり1つ以上のクロック周期のクロック式
転送)とである。
けられる。即ち、同期(転送当たり1つのクロック周期
のクロック式転送)と;非同期(非クロック式)と、半
同期(転送当たり1つ以上のクロック周期のクロック式
転送)とである。
発明が解決しようとする課題 同期システムにおけるデータ通信の主たる効果は、その
簡単さにある。データ転送は、単一の信号によって制御
され、スキュー、セットアップ、ホールド及び伝播遅延
について最小のオーバーヘッドで作用する。然し乍ら、
同期システムのデータ通信は、低速の装置がバスに接続
されることに関して著しい問題がある。完全に同期した
バスは、バスクロック周期中に利用できる時間よりもア
クセス時間が大きい装置は受け入れることができない。
完全同期のプロトコルでは、バスのクロックレートは、
バス上の最も遅い装置を満足させるに足るほど低速にセ
ットしなければならず、この場合、装置の応答時間は、
物理的な分離による伝播遅延の影響も含む。しかし、こ
れにより、全てのトランザクションに対する最大データ
レートが減少され、従って、低速な装置は、たとえそれ
が滅多にアクセスされなくても潜在的なシステム性能を
低減させる。
簡単さにある。データ転送は、単一の信号によって制御
され、スキュー、セットアップ、ホールド及び伝播遅延
について最小のオーバーヘッドで作用する。然し乍ら、
同期システムのデータ通信は、低速の装置がバスに接続
されることに関して著しい問題がある。完全に同期した
バスは、バスクロック周期中に利用できる時間よりもア
クセス時間が大きい装置は受け入れることができない。
完全同期のプロトコルでは、バスのクロックレートは、
バス上の最も遅い装置を満足させるに足るほど低速にセ
ットしなければならず、この場合、装置の応答時間は、
物理的な分離による伝播遅延の影響も含む。しかし、こ
れにより、全てのトランザクションに対する最大データ
レートが減少され、従って、低速な装置は、たとえそれ
が滅多にアクセスされなくても潜在的なシステム性能を
低減させる。
種々様々なアクセス時間を有する装置を混合したものよ
り成るコンピュータシステムの場合には、同期通信プロ
トコルでは不適当である。というのは、最も低速の装置
の速度でバスが作動するからである。高速の装置につい
ては高速でトランザクションを行なうことができそして
低速又は遠く離れた装置については低速でトランザクシ
ョンを行なうことができ、トランザクション時間がシス
テムクロックによって固定されるのではなくて装置によ
って変化するようなシステムが効果的である。この効果
を得るためには、あるシステムにおいて、非同期の装置
と完全なハンドシェイク式プロトコルとを用いることに
よってデータ転送が実行され、そしてこのプロトコルに
おいては、通信する要素が各トランザクションの各段階
を確実に認識しなければならない。然し乍ら、このプロ
トコルは、データ転送を完了するために多数の1つ1つ
のトランザクションを監視しなければならないことによ
り不充分である。更に、各段階を認識するのを待機する
のに伴う遅延によってプロセスが低速化される。
り成るコンピュータシステムの場合には、同期通信プロ
トコルでは不適当である。というのは、最も低速の装置
の速度でバスが作動するからである。高速の装置につい
ては高速でトランザクションを行なうことができそして
低速又は遠く離れた装置については低速でトランザクシ
ョンを行なうことができ、トランザクション時間がシス
テムクロックによって固定されるのではなくて装置によ
って変化するようなシステムが効果的である。この効果
を得るためには、あるシステムにおいて、非同期の装置
と完全なハンドシェイク式プロトコルとを用いることに
よってデータ転送が実行され、そしてこのプロトコルに
おいては、通信する要素が各トランザクションの各段階
を確実に認識しなければならない。然し乍ら、このプロ
トコルは、データ転送を完了するために多数の1つ1つ
のトランザクションを監視しなければならないことによ
り不充分である。更に、各段階を認識するのを待機する
のに伴う遅延によってプロセスが低速化される。
他の公知システムは、非同期システムの応答側要素によ
って発生された待機信号又はクロックサイクル停止機構
を用いて、その応答側要素がデータを受信する準備がで
きるまで不定数のクロックサイクルの転送を遅延する。
待機信号は一定の時間内にアサートしなければならない
ので、バスの長さが物理的に制限される。又、クロック
停止機構は複雑な回路を含む。
って発生された待機信号又はクロックサイクル停止機構
を用いて、その応答側要素がデータを受信する準備がで
きるまで不定数のクロックサイクルの転送を遅延する。
待機信号は一定の時間内にアサートしなければならない
ので、バスの長さが物理的に制限される。又、クロック
停止機構は複雑な回路を含む。
更に別の公知のシステムは、読み取りメモリトランザク
ションの応答側ユニットが必要なデータを得たときに書
き込みトランザクションの送信側ユニットとなるような
分割サイクルプロトコルを使用している。これは、介在
するアイドルサイクル中にバスが他のトランザクション
に使用できるようにする。しかしながら、このシステム
では、両方の通信要素がトランザクションにおいてマス
ター及びスレーブの両方の役割を果たすに必要な論理を
もたねばならない。更に、通信要素は、データ送信を行
なおうとしてバスのアクセスするときに競合を防止する
ためにバスの仲裁に必要な論理を有していなければなら
ない。
ションの応答側ユニットが必要なデータを得たときに書
き込みトランザクションの送信側ユニットとなるような
分割サイクルプロトコルを使用している。これは、介在
するアイドルサイクル中にバスが他のトランザクション
に使用できるようにする。しかしながら、このシステム
では、両方の通信要素がトランザクションにおいてマス
ター及びスレーブの両方の役割を果たすに必要な論理を
もたねばならない。更に、通信要素は、データ送信を行
なおうとしてバスのアクセスするときに競合を防止する
ためにバスの仲裁に必要な論理を有していなければなら
ない。
非同期のシステム要素間での通信性能を改善してバスイ
ンターフェイス信号の複雑さを低減するデータ転送プロ
トコルを用いることが効果的である。
ンターフェイス信号の複雑さを低減するデータ転送プロ
トコルを用いることが効果的である。
課題を解決するための手段 本発明の目的は、本発明によれば、通信要素の1つ(第
2要素と称する)をバスと同期して作動する一方、他の
通信要素(第1要素と称する)に対して簡単な非同期イ
ンターフェイスを与えることにより達成される。本発明
は、ドライブクロック及びラッチクロックを使用し、そ
の両方は第2要素によって常時発生される。両方の通信
要素は、たとえそれらが非同期で作動しても2つのクロ
ックに対するタイミングに基づいてバス信号の全てを送
信及び受信する。
2要素と称する)をバスと同期して作動する一方、他の
通信要素(第1要素と称する)に対して簡単な非同期イ
ンターフェイスを与えることにより達成される。本発明
は、ドライブクロック及びラッチクロックを使用し、そ
の両方は第2要素によって常時発生される。両方の通信
要素は、たとえそれらが非同期で作動しても2つのクロ
ックに対するタイミングに基づいてバス信号の全てを送
信及び受信する。
クロックをドライブする第2要素は、バスにクロックを
送り込む。第2要素及びバスに対して非同期で作動する
第1要素は、ドライブクロックに対して出ていくデータ
を同期し、そして内部クロックに対して入ってくるデー
タを同期しなければならない。この解決策は、非同期イ
ンターフェイスの複雑さを取り扱うに必要な要素が1つ
だけでよいという効果を有する。又、非同期要素のイン
ターフェイスが簡単化される。本発明の更に別の効果
は、同期を必要とするステップ数を減少することによっ
てデータ転送の速度を高め、これにより、同期のための
遅延の回数及び時間を減少することである。
送り込む。第2要素及びバスに対して非同期で作動する
第1要素は、ドライブクロックに対して出ていくデータ
を同期し、そして内部クロックに対して入ってくるデー
タを同期しなければならない。この解決策は、非同期イ
ンターフェイスの複雑さを取り扱うに必要な要素が1つ
だけでよいという効果を有する。又、非同期要素のイン
ターフェイスが簡単化される。本発明の更に別の効果
は、同期を必要とするステップ数を減少することによっ
てデータ転送の速度を高め、これにより、同期のための
遅延の回数及び時間を減少することである。
実施例 以下、添付図面を参照して、本発明の実施例を詳細に説
明する。
明する。
第1図は、マルチプロセッサコンピュータシステムの一
般的なブロック図である。このシステムは、主(スカラ
ー)プロセッサ22と、副プロセッサ(ベクトルプロセ
ッサ)24と、インターフェイスバス20とを備えてい
る。両プロセッサは、システムメモリバス26を経て主
メモリ28をアクセスすることができる。好ましい実施
例においては、主プロセッサ22がスカラープロセッサ
でありそして副プロセッサがベクトルプロセッサであ
る。又、好ましい実施例においては、コンピュータシス
テムは、本発明の譲受人によって現在販売されているV
AXシステムアーキテクチャを用いている。又、第1図
に示されたコンピュータシステムは、バスアダプタとし
ても知られているI/O制御器30と、I/Oバス32
とを経て周辺装置と通信するための手段も備えている。
従って、ビデオコンソール34や、プリンタ36や、ハ
ードディスクのような大量記憶装置38といった装置と
の両方向通信が可能となる。
般的なブロック図である。このシステムは、主(スカラ
ー)プロセッサ22と、副プロセッサ(ベクトルプロセ
ッサ)24と、インターフェイスバス20とを備えてい
る。両プロセッサは、システムメモリバス26を経て主
メモリ28をアクセスすることができる。好ましい実施
例においては、主プロセッサ22がスカラープロセッサ
でありそして副プロセッサがベクトルプロセッサであ
る。又、好ましい実施例においては、コンピュータシス
テムは、本発明の譲受人によって現在販売されているV
AXシステムアーキテクチャを用いている。又、第1図
に示されたコンピュータシステムは、バスアダプタとし
ても知られているI/O制御器30と、I/Oバス32
とを経て周辺装置と通信するための手段も備えている。
従って、ビデオコンソール34や、プリンタ36や、ハ
ードディスクのような大量記憶装置38といった装置と
の両方向通信が可能となる。
第2図には、インターフェイスバス20が詳細に示され
ている。インターフェイスバス20は、ドライブクロッ
ク、ラッチクロック、確認信号及びストローブ信号のた
めの1ビットラインを備えている。コマンドラインは、
読み取り及び書き込みコマンドを搬送する多ビットライ
ンである。又、バス20は、プロセッサ間でデータを転
送するのに使用される32ビットの両方向性データバス
25を備えている。好ましい実施例では、データバス2
5を経て搬送される情報は命令を含んでもよいが、これ
に限定されるものではない。データバス25上のデータ
の有効性は、書き込みトランザクションにおけるストロ
ーブ信号と、読み取りトランザクションにおける確認信
号とによって指示される。ここに示す実施例では、ベク
トルプロセッサは、バス上のデータ転送を同期するため
のクロック信号を発生するが、これらのクロック信号は
スカラープロセッサによっても等しく発生することがで
きる。
ている。インターフェイスバス20は、ドライブクロッ
ク、ラッチクロック、確認信号及びストローブ信号のた
めの1ビットラインを備えている。コマンドラインは、
読み取り及び書き込みコマンドを搬送する多ビットライ
ンである。又、バス20は、プロセッサ間でデータを転
送するのに使用される32ビットの両方向性データバス
25を備えている。好ましい実施例では、データバス2
5を経て搬送される情報は命令を含んでもよいが、これ
に限定されるものではない。データバス25上のデータ
の有効性は、書き込みトランザクションにおけるストロ
ーブ信号と、読み取りトランザクションにおける確認信
号とによって指示される。ここに示す実施例では、ベク
トルプロセッサは、バス上のデータ転送を同期するため
のクロック信号を発生するが、これらのクロック信号は
スカラープロセッサによっても等しく発生することがで
きる。
ベクトルプロセッサ24は、ドライブクロック信号、ラ
ッチクロック信号及び確認信号を公知のやり方で発生す
るための手段を備えている。バスサイクルはドライブク
ロックパルスの立上り縁で開始及び終了し、そしてバス
クロックは、2つのベクトルプロセッササイクル即ち8
個のベクトルプロセッサ位相に等しい。ドライブクロッ
クパルスは、バスサイクルの1/4即ち2つのベクトル
プロセッサ位相の間続く。ラッチクロックは、バス上の
信号をラッチするのに用いられる。ラッチクロックパル
スは、バスサイクルの第2の半分のスタート時に開始さ
れ、又、バスサイクルの1/4即ち2つのベクトルプロ
セッサ位相の間続く。ここに述べる全てのバス信号は、
ドライブクロックパルスの立上り縁においてスカラープ
ロセッサ22又はベクトルプロセッサ24によってアサ
ートされたりデアサートされたりし、そしてラッチクロ
ックパルスの立下がり縁においてスカラープロセッサ2
2又はベクトルプロセッサ24によって受け取られる。
確認信号は、読み取り又は書き込みトランザクションに
おけるベクトルプロセッサの義務の完了を指示する。全
ての場合に、確認信号は、これがアサートされたバスサ
イクルに続くバスサイクルにおいてデアサートされる。
ッチクロック信号及び確認信号を公知のやり方で発生す
るための手段を備えている。バスサイクルはドライブク
ロックパルスの立上り縁で開始及び終了し、そしてバス
クロックは、2つのベクトルプロセッササイクル即ち8
個のベクトルプロセッサ位相に等しい。ドライブクロッ
クパルスは、バスサイクルの1/4即ち2つのベクトル
プロセッサ位相の間続く。ラッチクロックは、バス上の
信号をラッチするのに用いられる。ラッチクロックパル
スは、バスサイクルの第2の半分のスタート時に開始さ
れ、又、バスサイクルの1/4即ち2つのベクトルプロ
セッサ位相の間続く。ここに述べる全てのバス信号は、
ドライブクロックパルスの立上り縁においてスカラープ
ロセッサ22又はベクトルプロセッサ24によってアサ
ートされたりデアサートされたりし、そしてラッチクロ
ックパルスの立下がり縁においてスカラープロセッサ2
2又はベクトルプロセッサ24によって受け取られる。
確認信号は、読み取り又は書き込みトランザクションに
おけるベクトルプロセッサの義務の完了を指示する。全
ての場合に、確認信号は、これがアサートされたバスサ
イクルに続くバスサイクルにおいてデアサートされる。
スカラープロセッサ22は、ベクトルプロセッサ24に
よって発生されたクロックに対して非同期であり、良く
知られたやり方でストローブ信号及びコマンド信号を発
生するための手段を備えている。ストローブ信号は、バ
ス上に有効データが存在することを指示する。コマンド
信号は、バス20において実行されるトランザクション
の形式を指示し、ストローブ信号がアサートされる全て
のサイクルについて有効である。
よって発生されたクロックに対して非同期であり、良く
知られたやり方でストローブ信号及びコマンド信号を発
生するための手段を備えている。ストローブ信号は、バ
ス上に有効データが存在することを指示する。コマンド
信号は、バス20において実行されるトランザクション
の形式を指示し、ストローブ信号がアサートされる全て
のサイクルについて有効である。
第3図のタイミング図は、書き込みトランザクション
中、即ちスカラープロセッサ22がベクトルプロセッサ
24にデータを送信するときに含まれるシーケンスを表
わしている。各々の書き込みトランザクションは、スカ
ラープロセッサ22がストローブ信号をアサートすると
同時にコマンド信号をアサートし且つデータバス25に
データを送る(これらは全てドライブクロックパルスの
立上り縁において行なわれる)ときに開始される。ベク
トルプロセッサ24は、信号及びデータを受け取ると、
それに応答して、次のバスサイクル中に確認信号をアサ
ートする。ストローブ信号は、確認のアサートを待機す
る間はアサートされたまゝとなる。従って、ストローブ
信号及びコマンド信号は、第2のバスサイクルにおける
ドライブクロックの同じ立上り縁の際にデアサートされ
る。最終的に、ドライブクロックの次の立上り縁におけ
る確認信号のデアサート動作により、ベクトルプロセッ
サ24がデータを受け取って次のトランザクションの用
意ができたことを指示する。
中、即ちスカラープロセッサ22がベクトルプロセッサ
24にデータを送信するときに含まれるシーケンスを表
わしている。各々の書き込みトランザクションは、スカ
ラープロセッサ22がストローブ信号をアサートすると
同時にコマンド信号をアサートし且つデータバス25に
データを送る(これらは全てドライブクロックパルスの
立上り縁において行なわれる)ときに開始される。ベク
トルプロセッサ24は、信号及びデータを受け取ると、
それに応答して、次のバスサイクル中に確認信号をアサ
ートする。ストローブ信号は、確認のアサートを待機す
る間はアサートされたまゝとなる。従って、ストローブ
信号及びコマンド信号は、第2のバスサイクルにおける
ドライブクロックの同じ立上り縁の際にデアサートされ
る。最終的に、ドライブクロックの次の立上り縁におけ
る確認信号のデアサート動作により、ベクトルプロセッ
サ24がデータを受け取って次のトランザクションの用
意ができたことを指示する。
第4図のタイミング図は、読み取りトランザクション、
即ちスカラープロセッサ22がベクトルプロセッサ24
からデータを要求するときのシーケンスを示している。
スカラープロセッサ22は、ストローブ信号をアサート
すると同時に読み取りコマンド信号をアサートし且つデ
ータライン25をトリステートすることによってプロセ
スを開始する。これは、全て、ドライブクロックパルス
の立上り縁において行なわれる。
即ちスカラープロセッサ22がベクトルプロセッサ24
からデータを要求するときのシーケンスを示している。
スカラープロセッサ22は、ストローブ信号をアサート
すると同時に読み取りコマンド信号をアサートし且つデ
ータライン25をトリステートすることによってプロセ
スを開始する。これは、全て、ドライブクロックパルス
の立上り縁において行なわれる。
ストローブ信号及びコマンド信号がアサートされる(こ
れはベクトルプロセッサが要求されたデータを完全に処
理することによる)多数のサイクルの後に、ベクトルプ
ロセッサ24は、データバス25に要求されたデータを
出し、そしてデータの有効性を指示するための確認信号
をアサートする。データ及び確認信号は、ラッチクロッ
クの立下がり縁においてスカラープロセッサによって受
け取られる。スカラープロセッサ22は、その要求され
たデータを受け取るように常に準備ができており、従っ
て、応答は必要とされない。ベクトルプロセッサ24
は、確認信号をデアサートし、そして次のバスサイクル
中にデータを供給するのを停止する。
れはベクトルプロセッサが要求されたデータを完全に処
理することによる)多数のサイクルの後に、ベクトルプ
ロセッサ24は、データバス25に要求されたデータを
出し、そしてデータの有効性を指示するための確認信号
をアサートする。データ及び確認信号は、ラッチクロッ
クの立下がり縁においてスカラープロセッサによって受
け取られる。スカラープロセッサ22は、その要求され
たデータを受け取るように常に準備ができており、従っ
て、応答は必要とされない。ベクトルプロセッサ24
は、確認信号をデアサートし、そして次のバスサイクル
中にデータを供給するのを停止する。
ベクトルプロセッサ24は、スカラープロセッサ22が
少なくとも1つのバスサイクル中ストローブ信号をデア
サートするまで別のバスコマンドに応答しない。次のラ
ッチクロックの立下がり縁において、スカラープロセッ
サは、確認信号のアサート動作を確認し、次のドライブ
クロック中にストローブ信号をデアサートして、読み取
りトランザクションを終了させる。
少なくとも1つのバスサイクル中ストローブ信号をデア
サートするまで別のバスコマンドに応答しない。次のラ
ッチクロックの立下がり縁において、スカラープロセッ
サは、確認信号のアサート動作を確認し、次のドライブ
クロック中にストローブ信号をデアサートして、読み取
りトランザクションを終了させる。
第5B図及び第6B図には、ドライブ同期論理回路のブ
ロック図が示されている。この回路は、出て行く信号を
バスに対して同期させるためにスカラープロセッサ22
によって使用される。この回路は、同期位相クロックで
タイミングとりされる出力ラッチ40を備えており、こ
のクロックは、ドライブクロックパルスの立上り縁でタ
イミングどりされてD型フリップ−フロップ42へ送ら
れる。D型フリップ−フロップ42の出力は出力バッフ
ァ44へ送られ、これはデータバス25へデータを駆動
する。ここに使用される「位相クロック」という用語
は、プロセッサの4つの内部位相で発生するクロック位
相を指す。
ロック図が示されている。この回路は、出て行く信号を
バスに対して同期させるためにスカラープロセッサ22
によって使用される。この回路は、同期位相クロックで
タイミングとりされる出力ラッチ40を備えており、こ
のクロックは、ドライブクロックパルスの立上り縁でタ
イミングどりされてD型フリップ−フロップ42へ送ら
れる。D型フリップ−フロップ42の出力は出力バッフ
ァ44へ送られ、これはデータバス25へデータを駆動
する。ここに使用される「位相クロック」という用語
は、プロセッサの4つの内部位相で発生するクロック位
相を指す。
第6A図及び第6B図には、同期位相クロックを発生す
るのに用いる回路のブロック図が示されている。この回
路は、次のように作動する。ドライブクロックパルスの
立上り縁は、正の縁でトリガされるD型フリップ−フロ
ップ50をセットする。フリップ−フロップ50の出力
は、次のスカラーの第2位相クロックパルスにおいてラ
ッチ52によってサンプリングされる。同期回路として
用いられるこのラッチは、安定化されるべき3つのスカ
ラープロセッサ位相が与えられる。次いで、その出力
は、スカラーの第1位相クロックパルスの下降縁におい
て第2ラッチ54によってラッチされる。同期回路が必
要とされる理由は、ドライブクロックがスカラープロセ
ッサの位相に対して非同期だからである。
るのに用いる回路のブロック図が示されている。この回
路は、次のように作動する。ドライブクロックパルスの
立上り縁は、正の縁でトリガされるD型フリップ−フロ
ップ50をセットする。フリップ−フロップ50の出力
は、次のスカラーの第2位相クロックパルスにおいてラ
ッチ52によってサンプリングされる。同期回路として
用いられるこのラッチは、安定化されるべき3つのスカ
ラープロセッサ位相が与えられる。次いで、その出力
は、スカラーの第1位相クロックパルスの下降縁におい
て第2ラッチ54によってラッチされる。同期回路が必
要とされる理由は、ドライブクロックがスカラープロセ
ッサの位相に対して非同期だからである。
第2ラッチ54の出力は、スカラーの第2位相クロック
に関連してアンドゲート56に送られ、同期位相クロッ
クを発生する。これは出力ラッチ40をロードし、フリ
ップ−フロップ50の非同期クリア入力を駆動する。
に関連してアンドゲート56に送られ、同期位相クロッ
クを発生する。これは出力ラッチ40をロードし、フリ
ップ−フロップ50の非同期クリア入力を駆動する。
この機構のもとで出力ラッチをクロックするには3つの
制約がある。即ち、 1)出力ラッチ40は、ドライブクロックの各ロードご
とに一度そして一度だけロードされねばならず、即ちド
ライブクロックの各立上り縁ごとに同期位相クロックパ
ルスを一度だけアサートしなければならない。
制約がある。即ち、 1)出力ラッチ40は、ドライブクロックの各ロードご
とに一度そして一度だけロードされねばならず、即ちド
ライブクロックの各立上り縁ごとに同期位相クロックパ
ルスを一度だけアサートしなければならない。
2)出力ラッチ40は、フリップ−フロップ42の設定
時間を与えるためにドライブクロックの立上り縁の充分
前にロードされねばならない。
時間を与えるためにドライブクロックの立上り縁の充分
前にロードされねばならない。
3)出力ラッチ40に供給するスカラープロセッサ22
のバッファは、同期位相クロックパルスを確認して出力
ラッチ40の入力に新たなデータを与えるために2つの
スカラープロセッササイクルを必要とする。出力ラッチ
40は同期位相クロックパルスによってクロックされる
ので、2つの連続するスカラープロセッササイクルに同
期位相クロックパルスがあってはならない。
のバッファは、同期位相クロックパルスを確認して出力
ラッチ40の入力に新たなデータを与えるために2つの
スカラープロセッササイクルを必要とする。出力ラッチ
40は同期位相クロックパルスによってクロックされる
ので、2つの連続するスカラープロセッササイクルに同
期位相クロックパルスがあってはならない。
スカラープロセッサとベクトルプロセッサの相対的な許
容内部クロック周波数を決定するためには、2つの最悪
の事態、即ちベクトルプロセッサ24がスカラープロセ
ッサ22より著しく低速であるとき及び2つのプロセッ
サがほゞ同じ速度で作動しているときにもこれらの制約
を適用しなければならない。
容内部クロック周波数を決定するためには、2つの最悪
の事態、即ちベクトルプロセッサ24がスカラープロセ
ッサ22より著しく低速であるとき及び2つのプロセッ
サがほゞ同じ速度で作動しているときにもこれらの制約
を適用しなければならない。
ベクトルプロセッサ24がスカラープロセッサ22より
も非常に低速である場合には、ドライブクロックパルス
の立上り縁が第1スカラーの第2位相クロックパルスに
おいて同期ラッチ52によって捕獲され、同期位相クロ
ックパルスは、次の第2位相クロックパルスにおいて発
生される。同期位相クロックパルスはフリップ−フロッ
プ50をクリアする。フリップ−フロップ50は正の縁
でトリガされるので、次のドライブクロックパルスの立
上り縁までクリアされたまゝとなる。クリア動作が生じ
たときにこの場合のドライブクロックがまだ高レベルで
あるということは何の影響も及ぼさない。従って、ドラ
イブクロックパルスの各立上り縁ごとに2つ以上の同期
位相クロックパルスが生じることはない。
も非常に低速である場合には、ドライブクロックパルス
の立上り縁が第1スカラーの第2位相クロックパルスに
おいて同期ラッチ52によって捕獲され、同期位相クロ
ックパルスは、次の第2位相クロックパルスにおいて発
生される。同期位相クロックパルスはフリップ−フロッ
プ50をクリアする。フリップ−フロップ50は正の縁
でトリガされるので、次のドライブクロックパルスの立
上り縁までクリアされたまゝとなる。クリア動作が生じ
たときにこの場合のドライブクロックがまだ高レベルで
あるということは何の影響も及ぼさない。従って、ドラ
イブクロックパルスの各立上り縁ごとに2つ以上の同期
位相クロックパルスが生じることはない。
この同じ同期位相クロックパルスは、出力ラッチ40を
ロードして、フリップ−フロップ42の入力に新たなデ
ータを生じる。このフリップ−フロップは正の縁でトリ
ガされるので、ドライブクロックが立下がって再び立ち
上がるまでデータバス25に新たなデータが与えられな
い。
ロードして、フリップ−フロップ42の入力に新たなデ
ータを生じる。このフリップ−フロップは正の縁でトリ
ガされるので、ドライブクロックが立下がって再び立ち
上がるまでデータバス25に新たなデータが与えられな
い。
ベクトルプロセッサ24はスカラープロセッサ22に比
してゆっくりと作動するので、ドライブクロックパルス
の次の立上り縁の充分前に同期位相クロックパルスが発
生し、フリップ−フロップ42に対する充分な設定時間
が得られる。
してゆっくりと作動するので、ドライブクロックパルス
の次の立上り縁の充分前に同期位相クロックパルスが発
生し、フリップ−フロップ42に対する充分な設定時間
が得られる。
従って、第5A図及び第5B図のドライブ同期論理回路
は、ベクトルプロセッサ24がスカラープロセッサ22
に対していかにゆっくりと動作するかについて何ら制約
を課さない。
は、ベクトルプロセッサ24がスカラープロセッサ22
に対していかにゆっくりと動作するかについて何ら制約
を課さない。
2つのプロセッサがほゞ同じ速度で作動するときに他方
の最悪の関係が生じる。この場合に、ドライブクロック
パルスの立上り縁がフリップ−フロップ50をセットす
る直前にスカラーの第2位相クロックパルスが立下が
る。立上り縁は、次のスカラーサイクルにおけるスカラ
ーの第2クロック位相パルスまで同期ラッチ52によっ
て検出されず、同期位相クロックパルスは、その後のス
カラーサイクルまで生じない。スカラープロセッササイ
クル及びベクトルプロセッササイクルは時間巾がほゞ等
しくそしてドライブクロックパルスは1つおきのベクト
ルプロセッササイクルに生じるので、2つのスカラーサ
イクルが発生することは、次のドライブクロックパルス
が生じようとしていることを意味する。
の最悪の関係が生じる。この場合に、ドライブクロック
パルスの立上り縁がフリップ−フロップ50をセットす
る直前にスカラーの第2位相クロックパルスが立下が
る。立上り縁は、次のスカラーサイクルにおけるスカラ
ーの第2クロック位相パルスまで同期ラッチ52によっ
て検出されず、同期位相クロックパルスは、その後のス
カラーサイクルまで生じない。スカラープロセッササイ
クル及びベクトルプロセッササイクルは時間巾がほゞ等
しくそしてドライブクロックパルスは1つおきのベクト
ルプロセッササイクルに生じるので、2つのスカラーサ
イクルが発生することは、次のドライブクロックパルス
が生じようとしていることを意味する。
同期位相クロックパルスは、フリップ−フロップ50を
同時にセット及びクリアしようとする競合を回避するた
めに、次のドライブクロックパルスの立上り縁の前にデ
アサートしなければならない。又、出力ラッチ40は、
フリップ−フロップ42に対する設定時間を許容するに
足るに充分なほど早期にロードされねばならない。同期
位相クロックパルスは出力ラッチ40にロードするの
で、同期位相クロックパルスの立上り縁は、フリップ−
フロップ50の設定時間を許容するためにドライブクロ
ックパルスに対して充分早期に生じなければならない。
同時にセット及びクリアしようとする競合を回避するた
めに、次のドライブクロックパルスの立上り縁の前にデ
アサートしなければならない。又、出力ラッチ40は、
フリップ−フロップ42に対する設定時間を許容するに
足るに充分なほど早期にロードされねばならない。同期
位相クロックパルスは出力ラッチ40にロードするの
で、同期位相クロックパルスの立上り縁は、フリップ−
フロップ50の設定時間を許容するためにドライブクロ
ックパルスに対して充分早期に生じなければならない。
この関係は、データを出力ラッチ40に通してフリップ
−フロップ42の入力に設定するための1つのスカラー
プロセッサ位相を与える。システムは、スカラープロセ
ッサ22が、1つのスカラープロセッサ位相である1つ
の同期位相クロックパルスの巾においてラッチ40にデ
ータを通せる場合に適切に作動する。従って、理想的な
クロックが与えられると、ベクトルプロセッサ24及び
スカラープロセッサ22の相対的なクロックは1:1以
下となり、即ちベクトルプロセッサ24はスカラープロ
セッサ22より高速度で作動できなくなる。
−フロップ42の入力に設定するための1つのスカラー
プロセッサ位相を与える。システムは、スカラープロセ
ッサ22が、1つのスカラープロセッサ位相である1つ
の同期位相クロックパルスの巾においてラッチ40にデ
ータを通せる場合に適切に作動する。従って、理想的な
クロックが与えられると、ベクトルプロセッサ24及び
スカラープロセッサ22の相対的なクロックは1:1以
下となり、即ちベクトルプロセッサ24はスカラープロ
セッサ22より高速度で作動できなくなる。
実際に、クロックは理想的なものではない。ジッタや発
振周波数の変化によってドライブクロックがスカラープ
ロセッサ22に対してスカラープロセッサのクロックよ
り見掛け上速く作動することになる。最後のパルスの後
に2つのスカラープロセッササイクルより短い非理想ク
ロックによりドライブクロックパルスの立上り縁が見掛
け上生じた場合には、同期ラッチ52がその縁を直ちに
識別して、連続するスカラープロセッササイクルにおい
て同期位相クロックパルスを発生するが、これは第3の
制約に違反する。
振周波数の変化によってドライブクロックがスカラープ
ロセッサ22に対してスカラープロセッサのクロックよ
り見掛け上速く作動することになる。最後のパルスの後
に2つのスカラープロセッササイクルより短い非理想ク
ロックによりドライブクロックパルスの立上り縁が見掛
け上生じた場合には、同期ラッチ52がその縁を直ちに
識別して、連続するスカラープロセッササイクルにおい
て同期位相クロックパルスを発生するが、これは第3の
制約に違反する。
このため、好ましい実施例では、ベクトルプロセッサの
内部クロックは、クロックジッタや認知される変動に対
するエラーの余裕をみるために、スカラープロセッサの
内部クロックよりも少なくとも5nSは低速であるよう
に選択される。
内部クロックは、クロックジッタや認知される変動に対
するエラーの余裕をみるために、スカラープロセッサの
内部クロックよりも少なくとも5nSは低速であるよう
に選択される。
第7A図及び第7B図には、受信同期論理回路のブロッ
ク図が示されている。この回路は、入ってくるデータ又
は確認信号を受け取る入力バッファ60と、同期受信ク
ロックによってロードされる入力ラッチ64に供給する
負の縁でトリガされるD型フリップ−フロップ62とを
備えている。
ク図が示されている。この回路は、入ってくるデータ又
は確認信号を受け取る入力バッファ60と、同期受信ク
ロックによってロードされる入力ラッチ64に供給する
負の縁でトリガされるD型フリップ−フロップ62とを
備えている。
第8A図及び第8B図を参照すれば、同期受信クロック
を発生するのに用いられる回路のブロック図が示されて
いる。この回路において、ラッチクロックパルスの立下
がり縁は負の縁でトリガされるD型フリップ−フロップ
70をセットし、その出力はラッチ72及び74によっ
て同期される。同期された出力は、スカラーの第3位相
クロックに関連してアンドゲート76に送られ、同期受
信クロックを発生する。
を発生するのに用いられる回路のブロック図が示されて
いる。この回路において、ラッチクロックパルスの立下
がり縁は負の縁でトリガされるD型フリップ−フロップ
70をセットし、その出力はラッチ72及び74によっ
て同期される。同期された出力は、スカラーの第3位相
クロックに関連してアンドゲート76に送られ、同期受
信クロックを発生する。
回路が適切に作動するためには、次の2つの制約を満た
さねばならない。
さねばならない。
1)入力ラッチ64は、フリップ−フロップ62の各ロ
ードごとに一度そして一度だけロードされねばならず、
即ち、ラッチクロックパルスの各立下がり縁に対して1
つの同期受信パルスしか存在してはならない。
ードごとに一度そして一度だけロードされねばならず、
即ち、ラッチクロックパルスの各立下がり縁に対して1
つの同期受信パルスしか存在してはならない。
2)入力ラッチ64は、入力データを破壊しない適当な
保持時間を与えるために、次のラッチクロックパルスの
立下がり縁の前に閉じなければならない。
保持時間を与えるために、次のラッチクロックパルスの
立下がり縁の前に閉じなければならない。
これらの制約が適用される最悪の状態は2つある。それ
らは、ベクトルプロセッサ24がスカラープロセッサ2
2よりも非常に低速であるときと、ベクトルプロセッサ
24及びスカラープロセッサ22がほゞ同じ速度で作動
するときである。
らは、ベクトルプロセッサ24がスカラープロセッサ2
2よりも非常に低速であるときと、ベクトルプロセッサ
24及びスカラープロセッサ22がほゞ同じ速度で作動
するときである。
ベクトルプロセッサ24がスカラープロセッサ22より
非常に低速で作動する場合には、ラッチクロックパルス
の立下がり縁がスカラーの第3位相クロックパルスにお
いて同期ラッチ72及び74によって受け取られ、次の
スカラーの第3位相クロックパルスにおいて同期受信ク
ロックパルスが発生される。同期受信クロックパルスは
フリップ−フロップ70をクリアする。
非常に低速で作動する場合には、ラッチクロックパルス
の立下がり縁がスカラーの第3位相クロックパルスにお
いて同期ラッチ72及び74によって受け取られ、次の
スカラーの第3位相クロックパルスにおいて同期受信ク
ロックパルスが発生される。同期受信クロックパルスは
フリップ−フロップ70をクリアする。
フリップ−フロップ70は負の縁でトリガされるので、
ラッチクロックが立上りそして再び立下がるまでクリア
されたまゝとなる。クリア動作が行なわれるときにこの
場合のラッチクロックがまだ低レベルであることは、何
ら問題ない。従って、ラッチクロックパルスの各立下が
り縁ごとに2つ以上の同期受信クロックパルスが生じる
ことはない。
ラッチクロックが立上りそして再び立下がるまでクリア
されたまゝとなる。クリア動作が行なわれるときにこの
場合のラッチクロックがまだ低レベルであることは、何
ら問題ない。従って、ラッチクロックパルスの各立下が
り縁ごとに2つ以上の同期受信クロックパルスが生じる
ことはない。
又、同期受信クロックパルスは、入力ラッチ64にロー
ドし、新たなデータをスカラープロセッサ22へ転送さ
せる。ベクトルプロセッサ24はスカラープロセッサ2
2に比してゆっくりと作動するので、同期受信クロック
パルスは、次のラッチクロックパルスの立下がり縁より
も充分前に立下がり、これにより、入力ラッチ64の保
持時間制約が満たされる。従って、第7A図及び第7B
図の受信回路は、ベクトルプロセッサ24がスカラープ
ロセッサ22に対していかにゆっくりと作動するかにつ
いて何ら制約を課さない。
ドし、新たなデータをスカラープロセッサ22へ転送さ
せる。ベクトルプロセッサ24はスカラープロセッサ2
2に比してゆっくりと作動するので、同期受信クロック
パルスは、次のラッチクロックパルスの立下がり縁より
も充分前に立下がり、これにより、入力ラッチ64の保
持時間制約が満たされる。従って、第7A図及び第7B
図の受信回路は、ベクトルプロセッサ24がスカラープ
ロセッサ22に対していかにゆっくりと作動するかにつ
いて何ら制約を課さない。
ベクトルプロセッサ24及びスカラープロセッサ22が
ほゞ同じ速度で作動するときに他の最悪の関係が生じ
る。この場合、スカラーの第3位相クロックパルスは、
ラッチクロックパルスの立下がり縁がフリップ−フロッ
プ70をセットする直前に立下がる。この立下がり縁
は、次のスカラーサイクルのスカラーの第3位相クロッ
クパルスまで同期ラッチ72及び74によって検出され
ず、同期受信クロックパルスは、その後のスカラーサイ
クルまで生じない。プロセッササイクルは巾がほゞ等し
いので、2つのスカラーサイクルが生じることは、次の
ラッチクロックパルスが終了しようとしていることを意
味する。
ほゞ同じ速度で作動するときに他の最悪の関係が生じ
る。この場合、スカラーの第3位相クロックパルスは、
ラッチクロックパルスの立下がり縁がフリップ−フロッ
プ70をセットする直前に立下がる。この立下がり縁
は、次のスカラーサイクルのスカラーの第3位相クロッ
クパルスまで同期ラッチ72及び74によって検出され
ず、同期受信クロックパルスは、その後のスカラーサイ
クルまで生じない。プロセッササイクルは巾がほゞ等し
いので、2つのスカラーサイクルが生じることは、次の
ラッチクロックパルスが終了しようとしていることを意
味する。
同期受信クロックパルスは、フリップ−フロップ70を
同時にセット及びクリアしようとする競合を回避するた
めに、次のラッチクロックパルスの立下がり縁までデア
サートされねばならない。又、入力ラッチ64は、新た
なデータがフリップ−フロップ62に流れてその前のデ
ータを破壊するのを防止するために、次のラッチクロッ
クパルスの立下がり縁まで閉じてはならない。従って、
同期受信クロックパルスは、次のラッチクロックパルス
の立下がり縁までにデアサートされねばならない。
同時にセット及びクリアしようとする競合を回避するた
めに、次のラッチクロックパルスの立下がり縁までデア
サートされねばならない。又、入力ラッチ64は、新た
なデータがフリップ−フロップ62に流れてその前のデ
ータを破壊するのを防止するために、次のラッチクロッ
クパルスの立下がり縁まで閉じてはならない。従って、
同期受信クロックパルスは、次のラッチクロックパルス
の立下がり縁までにデアサートされねばならない。
前記したように、この関係は、クロックが理想的なもの
である場合及びベクトルプロセッサ24及びスカラープ
ロセッサの相対的な作動速度が1:1以下である場合
に、システムを適切に作動できるようにする。クロック
は理想的ではないので、好ましい実施例においては、ベ
クトルプロセッサ24がスカラープロセッサ22よりも
少なくとも5nS低速で作動するように選択される。
である場合及びベクトルプロセッサ24及びスカラープ
ロセッサの相対的な作動速度が1:1以下である場合
に、システムを適切に作動できるようにする。クロック
は理想的ではないので、好ましい実施例においては、ベ
クトルプロセッサ24がスカラープロセッサ22よりも
少なくとも5nS低速で作動するように選択される。
以上、本発明を詳細に説明したが、これは本発明の一例
を示すに過ぎないことを理解されたい。本発明の範囲及
び精神から逸脱せずに、多数の変更がなされ得る。
を示すに過ぎないことを理解されたい。本発明の範囲及
び精神から逸脱せずに、多数の変更がなされ得る。
第1図は、マルチプロセッサコンピュータシステム及び
インターフェイスバスを示す一般的なブロック図、 第2図は、第1図のインターフェイスバスを示す図、 第3図は、書き込みトランザクションのタイミングを示
すタイミング図、 第4図は、読み取りトランザクションのタイミングを示
すタイミング図、 第5A図及び第5B図は、ドライブ同期論理回路のブロ
ック図、 第6A図及び第6B図は、第5A図及び第5B図の同期
位相クロックを発生するのに用いる回路のブロック図、 第7A図及び第7B図は、受信同期論理回路のブロック
図、そして 第8A図及び第8B図は、第7A図及び第7B図の同期
受信クロックを発生するのに用いる回路のブロック図で
ある。 20……バス 22……主(スカラー)プロセッサ 24……副(ベクトル)プロセッサ 25……データバス 26……システムメモリバス 28……主メモリ 30……I/O制御器、32……I/Oバス 34……ビデオコンソール 36……プリンタ 38……大量記憶装置
インターフェイスバスを示す一般的なブロック図、 第2図は、第1図のインターフェイスバスを示す図、 第3図は、書き込みトランザクションのタイミングを示
すタイミング図、 第4図は、読み取りトランザクションのタイミングを示
すタイミング図、 第5A図及び第5B図は、ドライブ同期論理回路のブロ
ック図、 第6A図及び第6B図は、第5A図及び第5B図の同期
位相クロックを発生するのに用いる回路のブロック図、 第7A図及び第7B図は、受信同期論理回路のブロック
図、そして 第8A図及び第8B図は、第7A図及び第7B図の同期
受信クロックを発生するのに用いる回路のブロック図で
ある。 20……バス 22……主(スカラー)プロセッサ 24……副(ベクトル)プロセッサ 25……データバス 26……システムメモリバス 28……主メモリ 30……I/O制御器、32……I/Oバス 34……ビデオコンソール 36……プリンタ 38……大量記憶装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ダブリュー ヒュー ダーダン アメリカ合衆国 マサチューセッツ州 01752 アーリントン フェアリー ロー ド 51
Claims (12)
- 【請求項1】第1プロセッサからインターフェイスバス
を経て第2プロセッサへデータを転送する方法におい
て、 a)第2プロセッサによって第1のドライブクロックパ
ルスをアサートし、それと同時に、第1プロセッサによ
って書き込みコマンド信号及びデータ信号をアサート
し、 b)その後、第2プロセッサによって第1ラッチクロッ
クパルスをアサートし、この第1ラッチクロックパルス
の後縁において、第2プロセッサにより書き込みコマン
ド及びデータ信号をラッチし、 c)その後、第2のドライブクロックパルスをアサート
し、その間に、第2プロセッサによって確認信号をアサ
ートし、 d)その後、第2プロセッサによって第2ラッチクロッ
クパルスをアサートし、この第2ラッチクロックパルス
の後縁において、第1プロセッサにより確認信号をラッ
チし、 e)その後、第3のドライブクロックパルスをアサート
し、その間に、確認信号をデアサートするという段階を
具備することを特徴とする方法。 - 【請求項2】第1のドライブクロックパルスの間に書き
込みコマンド信号及びデータ信号と同時にストローブ信
号をアサートして、有効データ及び書き込みコマンド信
号がインターフェイスバス上に存在することを指示する
請求項1に記載の方法。 - 【請求項3】第1プロセッサは主プロセッサでありそし
て第2プロセッサは副プロセッサである請求項1に記載
の方法。 - 【請求項4】主プロセッサはスカラープロセッサであり
そして副プロセッサはベクトルプロセッサである請求項
3に記載の方法。 - 【請求項5】第2プロセッサからインターフェイスバス
を経て第1プロセッサへデータを転送する方法におい
て、 a)第2プロセッサにより第1のドライブクロックパル
スをアサートし、その間に、第1プロセッサにより読み
取りコマンド信号をアサートし、 b)その後、第2プロセッサによって第1ラッチクロッ
クパルスをアサートし、この第1ラッチクロックパルス
の後縁において、第2プロセッサにより読み取りコマン
ド信号をラッチし、 c)その後、第2プロセッサによって第2のドライブク
ロックパルスをアサートし、その間に、第2プロセッサ
によってデータ信号及び確認信号をアサートし、 d)その後、第2プロセッサによって第2ラッチクロッ
クパルスをアサートし、この第2ラッチクロックパルス
の後縁において、第1プロセッサによりデータ信号及び
確認信号をラッチし、 e)その後、第2プロセッサによって第3のドライブク
ロックパルスをアサートし、その間に、第2プロセッサ
によって確認信号をデアサートするという段階を具備す
ることを特徴とする方法。 - 【請求項6】第1のドライブクロックパルスの間に読み
取りコマンド信号と同時にストローブ信号をアサートし
て、有効なコマンド信号がインターフェイスバス上に存
在することを指示する請求項5に記載の方法。 - 【請求項7】上記ストローブ信号は第3のドライブクロ
ックパルスの間にデアサートされる請求項6に記載の方
法。 - 【請求項8】データラインは、第1のドライブクロック
パルスの間には第1プロセッサによりトリステートさ
れ、そして第3のドライブクロックパルスの間には第2
プロセッサによりトリステートされる請求項5に記載の
方法。 - 【請求項9】第1プロセッサは主プロセッサでありそし
て第2プロセッサは副プロセッサである請求項5に記載
の方法。 - 【請求項10】主プロセッサはスカラープロセッサであ
りそして副プロセッサはベクトルプロセッサである請求
項6に記載の方法。 - 【請求項11】a)データを転送するための第1プロセ
ッサと、 b)上記データを受け取って処理するための第2プロセ
ッサと、 c)上記第1プロセッサと第2プロセッサとを相互接続
するデータバスとを具備し、 d)上記第1プロセッサはデータ出力手段を備えてお
り、このデータ出力手段は、 i)上記データバスとは非同期で上記データ出力手段に
データを入力するためのデータ入力手段と、 ii)上記データ入力手段によってデータ入力を一時的に
記憶するための出力バッファと、 iii)上記データバスとは非同期で上記出力バッファか
らデータを出力するための手段とを備えていることを特
徴とするコンピュータシステム。 - 【請求項12】第1プロセッサが第2プロセッサへデー
タを転送する準備ができたときに第1プロセッサから第
2プロセッサへ信号を送信するための手段を更に備えた
請求項11に記載のコンピュータシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US221920 | 1988-07-20 | ||
| US07/221,920 US5040109A (en) | 1988-07-20 | 1988-07-20 | Efficient protocol for communicating between asychronous devices |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02176846A JPH02176846A (ja) | 1990-07-10 |
| JPH0619756B2 true JPH0619756B2 (ja) | 1994-03-16 |
Family
ID=22829981
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1187230A Expired - Lifetime JPH0619756B2 (ja) | 1988-07-20 | 1989-07-19 | 非同期装置間で通信を行なうための効率的なプロトコル |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5040109A (ja) |
| EP (1) | EP0352081B1 (ja) |
| JP (1) | JPH0619756B2 (ja) |
| AT (1) | ATE126615T1 (ja) |
| CA (1) | CA1324683C (ja) |
| DE (1) | DE68923834T2 (ja) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5230067A (en) * | 1988-05-11 | 1993-07-20 | Digital Equipment Corporation | Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto |
| US5388216A (en) * | 1989-08-17 | 1995-02-07 | Samsung Electronics Co., Ltd. | Circuit for controlling generation of an acknowledge signal and a busy signal in a centronics compatible parallel interface |
| CA2023998A1 (en) * | 1989-11-13 | 1991-05-14 | Thomas F. Lewis | Apparatus and method for guaranteeing strobe separation timing |
| WO1992021088A1 (en) * | 1991-05-17 | 1992-11-26 | Eastman Kodak Company | Novel electrical bus structure |
| US5416918A (en) * | 1991-07-10 | 1995-05-16 | Hewlett-Packard Company | Low skew system for interfacing asics by routing internal clock off-chip to external delay element then feeding back to on-chip drivers |
| US5481675A (en) * | 1992-05-12 | 1996-01-02 | International Business Machines Corporation | Asynchronous serial communication system for delaying with software dwell time a receiving computer's acknowledgement in order for the transmitting computer to see the acknowledgement |
| GB9210414D0 (en) * | 1992-05-15 | 1992-07-01 | Texas Instruments Ltd | Method and apparatus for interfacing a serial data signal |
| US5434975A (en) * | 1992-09-24 | 1995-07-18 | At&T Corp. | System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications |
| EP0590212A1 (en) * | 1992-09-30 | 1994-04-06 | International Business Machines Corporation | Synchronization apparatus for a synchronous data communication system |
| US5442658A (en) * | 1993-09-07 | 1995-08-15 | International Business Machines Corporation | Synchronization apparatus for a synchronous data processing system |
| US5625805A (en) * | 1994-06-30 | 1997-04-29 | Digital Equipment Corporation | Clock architecture for synchronous system bus which regulates and adjusts clock skew |
| US5761516A (en) * | 1996-05-03 | 1998-06-02 | Lsi Logic Corporation | Single chip multiprocessor architecture with internal task switching synchronization bus |
| US6192073B1 (en) * | 1996-08-19 | 2001-02-20 | Samsung Electronics Co., Ltd. | Methods and apparatus for processing video data |
| KR100280285B1 (ko) | 1996-08-19 | 2001-02-01 | 윤종용 | 멀티미디어 신호에 적합한 멀티미디어 프로세서 |
| US6119190A (en) * | 1996-11-06 | 2000-09-12 | Intel Corporation | Method to reduce system bus load due to USB bandwidth reclamation |
| US6067629A (en) * | 1998-08-10 | 2000-05-23 | Intel Corporation | Apparatus and method for pseudo-synchronous communication between clocks of different frequencies |
| US7507429B2 (en) * | 2004-01-09 | 2009-03-24 | Ecolab Inc. | Methods for washing carcasses, meat, or meat products with medium chain peroxycarboxylic acid compositions |
| US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
| US8624906B2 (en) * | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
| US8424012B1 (en) * | 2004-11-15 | 2013-04-16 | Nvidia Corporation | Context switching on a video processor having a scalar execution unit and a vector execution unit |
| KR100917067B1 (ko) * | 2004-11-15 | 2009-09-15 | 엔비디아 코포레이션 | 비디오 처리 |
| US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
| US8683126B2 (en) * | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
| US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
| US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
| US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
| US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
| US9064333B2 (en) * | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
| US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
| GB2464703A (en) * | 2008-10-22 | 2010-04-28 | Advanced Risc Mach Ltd | An array of interconnected processors executing a cycle-based program |
| US8489851B2 (en) * | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
| CN113110124B (zh) * | 2021-03-11 | 2022-08-19 | 上海新时达电气股份有限公司 | 双mcu控制方法及控制系统 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4541046A (en) * | 1981-03-25 | 1985-09-10 | Hitachi, Ltd. | Data processing system including scalar data processor and vector data processor |
| US4729094A (en) * | 1983-04-18 | 1988-03-01 | Motorola, Inc. | Method and apparatus for coordinating execution of an instruction by a coprocessor |
| US4648034A (en) * | 1984-08-27 | 1987-03-03 | Zilog, Inc. | Busy signal interface between master and slave processors in a computer system |
| JPS6224366A (ja) * | 1985-07-03 | 1987-02-02 | Hitachi Ltd | ベクトル処理装置 |
| JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
| JPS62151971A (ja) * | 1985-12-25 | 1987-07-06 | Nec Corp | マイクロ・プロセツサ装置 |
| JPH0665550B2 (ja) * | 1986-01-08 | 1994-08-24 | 株式会社日立製作所 | パワ−ステアリング制御装置 |
| JPS62214464A (ja) * | 1986-03-17 | 1987-09-21 | Hitachi Ltd | データ処理システム |
| US4860201A (en) * | 1986-09-02 | 1989-08-22 | The Trustees Of Columbia University In The City Of New York | Binary tree parallel processor |
-
1988
- 1988-07-20 US US07/221,920 patent/US5040109A/en not_active Expired - Lifetime
-
1989
- 1989-06-19 CA CA000603220A patent/CA1324683C/en not_active Expired - Fee Related
- 1989-07-19 JP JP1187230A patent/JPH0619756B2/ja not_active Expired - Lifetime
- 1989-07-19 EP EP89307289A patent/EP0352081B1/en not_active Expired - Lifetime
- 1989-07-19 DE DE68923834T patent/DE68923834T2/de not_active Expired - Fee Related
- 1989-07-19 AT AT89307289T patent/ATE126615T1/de not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP0352081A3 (en) | 1991-07-03 |
| ATE126615T1 (de) | 1995-09-15 |
| DE68923834T2 (de) | 1996-04-18 |
| EP0352081B1 (en) | 1995-08-16 |
| DE68923834D1 (de) | 1995-09-21 |
| EP0352081A2 (en) | 1990-01-24 |
| JPH02176846A (ja) | 1990-07-10 |
| CA1324683C (en) | 1993-11-23 |
| US5040109A (en) | 1991-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0352081B1 (en) | Efficient protocol for communicating between asynchronous devices | |
| US6209072B1 (en) | Source synchronous interface between master and slave using a deskew latch | |
| US6930955B2 (en) | Method and apparatus for establishing and maintaining desired read latency in high-speed DRAM | |
| US5140680A (en) | Method and apparatus for self-timed digital data transfer and bus arbitration | |
| KR100289443B1 (ko) | 소스 동기화 준안정성 프리버스 | |
| JPS6073774A (ja) | インタ−フエ−ス回路 | |
| US6112307A (en) | Method and apparatus for translating signals between clock domains of different frequencies | |
| US5469547A (en) | Asynchronous bus interface for generating individual handshake signal for each data transfer based on associated propagation delay within a transaction | |
| US5210858A (en) | Clock division chip for computer system which interfaces a slower cache memory controller to be used with a faster processor | |
| EP0592213B1 (en) | Synchronous/asynchronous partitioning of an asynchronous bus interface | |
| JP2000242600A (ja) | 連続的読取り書込み動作中のバス競合を低減する装置、システム、および方法 | |
| US6624659B1 (en) | Dynamically updating impedance compensation code for input and output drivers | |
| US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
| US6640277B1 (en) | Input staging logic for latching source synchronous data | |
| JP2003157228A (ja) | データ転送回路 | |
| US5590130A (en) | Bus protocol using separate clocks for arbitration and data transfer | |
| CN100371911C (zh) | 同步存储器的控制器和电子设备 | |
| Liljeberg et al. | Asynchronous interface for locally clocked modules in ULSI systems | |
| EP4498204B1 (en) | Clock domain crossing synchronization circuits and methods to guarantee proper data signal order | |
| US6453373B1 (en) | Method and apparatus for differential strobing | |
| JP2502030B2 (ja) | 同期式デ―タ処理システム用の同期化装置 | |
| JP2645462B2 (ja) | データ処理システム | |
| US5530727A (en) | Half synchronizer circuit interface system | |
| JPH0756645B2 (ja) | データ処理装置 | |
| JPS58222327A (ja) | 入出力デ−タ転送方式 |