(57)【特許請求の範囲】
【請求項１】
バスシステムが、
クロック信号を伝送するクロック信号線と、アドレス信号を伝送するアドレス信号線と、データ信号を伝送するデータ信号線と、制御信号を伝送する制御信号線と、を備えたバスと、
各々が前記バスに接続され、かつ、該バス上のアドレスを有する複数の装置であって、少なくとも１つの該装置はデータ信号を送信することのできる発信元装置であり、少なくとも１つの該装置はデータ信号を受信することのできる宛先装置である、該複数の装置と、
前記バスを制御するために該バスに接続されたバスコントローラと、
を備え、
前記制御信号線は、装置から前記バスコントローラにバス要求信号を伝送するためにそれぞれの該装置を該バスコントローラに接続する、該装置の各々に対応するバス要求信号線を含み、
前記バス要求信号は、前記装置がデータ信号を送信または受信する準備ができていることを示すためのものであり、
前記バスコントローラは、前記バス要求信号を受信し、発信元装置および宛先装置のある特定の許可された対がデータ信号を送信および受信する準備ができているかどうかを該バス要求信号に基づいて判定するために、データ信号の転送を許可する発信元装置と宛先装置との予め決定された少なくとも一の対の識別を記憶しているマッチング論理を含み、
データ信号を転送するための前記データバスシステムでの装置の準備完了を指示する方法であって、
発信元装置によって、該発信元装置がデータ信号を前記データ信号線に送信する準備ができているかどうかを指示するバス要求信号を、該発信元装置に対応する前記バス要求信号線に生成する段階と、
宛先装置によって、該宛先装置がデータ信号線のデータ信号を受信する準備ができているかどうかを指示するバス要求信号を、該宛先装置に対応する前記バス要求信号線に生成する段階と、
前記マッチング論理によって、前記発信元装置によって生成された前記バス要求信号および前記宛先装置によって生成された前記バス要求信号を受信し、前記記憶されているデータ信号の転送を許可する発信元装置と宛先装置との予め決定された対の識別と、該バス要求信号を伝達した前記バス要求信号線と、に基づいて、該発信元装置と該宛先装置との対がデータ信号を転送することを許可される対であるか否かを判断し、該発信元装置と該宛先装置との対がデータ信号を転送することを許可される対である場合には、該発信元装置と該宛先装置とがデータ信号を送信および受信する準備ができていることを指示する段階と、
を備えたデータバスシステムの装置準備完了指示方法。
【請求項２】
前記マッチング論理は、前記記憶されているデータ信号の転送を許可する発信元装置と宛先装置との予め決定された一の対の識別の該発信元装置の識別で示される装置に対応するバス要求信号線と、該宛先装置の識別で示される装置に対応するバス要求信号線と、にバス要求信号が存在する場合に、該発信装置と該宛先装置との対がデータ信号を転送することを許可される対であることを判断する、請求項１に記載のデータバスシステムの装置準備完了指示方法。
【請求項３】
前記マッチング論理は、データ信号の転送を許可する発信元装置と宛先装置との予め決定された対の識別により、再プログラムされる、請求項１又は２に記載のデータバスシステムの装置準備完了指示方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、発信元装置と宛先装置とのいずれもがデータ信号の転送の準備がなされたときにのみバスにデータ信号を転送する方法に関する。
【０００２】
【従来の技術】
ローエンドマイクロコンピュータシステムのための一般的な構成は、例えば中央処理装置（ＣＰＵ）のようなシステムエレメント、主記憶装置（例えば、ランダムアクセスメモリーすなわちＲＡＭ）、リードオンリーメモリー（ＲＯＭ）、および入出力（Ｉ／Ｏ）装置、を同一のメインバス上に配置する。メインバスでの伝送はＣＰＵを介するものであり、それは容認することのできないほど遅いデータの転送（例えば、Ｉ／Ｏ装置からＲＡＭへの）をもたらす構成である。さらに、例えばＩ／Ｏ装置のようなメインバスのより低い優先順位の装置はデータ転送をするのに長時間の待ち状態に直面する。
【０００３】
【発明が解決しようとする課題】
これらの欠点に対応して、ダイレクトメモリーアクセス（ＤＭＡ）コントローラが開発された。ＤＭＡコントローラはメインバスに接続し、ＲＡＭとＩ／Ｏ装置との間のメインバスのデータ信号の転送を制御する責任を負っている。データ信号の転送をなすためには、ＤＭＡコントローラはＣＰＵがメインバスを使用していないときにメインバスの制御を得る（すなわち、サイクルスティール）。ＤＭＡコントローラが一般的には十分に機能するとしても、ＤＭＡコントローラはある一定の制限を受ける。ＤＭＡコントローラによれば、データ転送の速度は、ＣＰＵがどれだけの頻度でＤＭＡコントローラがメインバスの制御を得ることを許可するか、かつどれだけの期間にわたってＤＭＡコントローラがメインバスの制御を保持できるかによって制限される。さらには、ＤＭＡコントローラはＩ／Ｏ装置間のデータ信号の転送を容易にするようには設計されておらず、典型的には、ＲＡＭの特定の（すなわち、アドレス指定された）記憶場所からまたは特定の記憶場所へ１回に１ワードずつデータ信号を転送する。
【０００４】
メインバスだけを使用することの欠点に対するもう１つの対応はメザニンバス（ｍｅｚｚａｎｉｎｅ  ｂｕｓ）  である。メザニンバスは、メインバスに並列な第２のバスすなわち補助のバスであり、それはバス間インタフェースを介してメインバスに接続される。メザニンバスは、さもなくばメインバスに直接に接続されるであろうＩ／Ｏ装置のすべてではないにしてもほとんどを接続する。この方法では、メザニンバス上のＩ／Ｏ装置はメインバスを通っての伝送を必要とせずにお互いの間でデータ信号を転送することができる。メザニンバスはバスコントローラを含み、さらにＤＭＡコントローラをも含むであろう。メザニンバスは、特にＤＭＡコントローラと組み合わせられたときには十分な能力があることが一般に証明されてはいるが、Ｉ／Ｏ装置間においてデータ信号を転送するときには無能力さが存在したままである。上述されたＤＭＡコントローラの無能力さに加えて、典型的には、メザニンバスによる方法は、いつＩ／Ｏ装置が他のＩ／Ｏ装置にデータ信号を転送することを必要としているかは前もってわかっていないにもかかわらず、どのＩ／Ｏ装置がお互いに伝送することを必要としているかは前もってしばしばわかっているという、Ｉ／Ｏ装置からＩ／Ｏ装置への転送の独特な性質が十分に考慮されていない。
【０００５】
【課題を解決するための手段】
ここで開示されるものは、データ信号を転送するためにディジタルデータバスシステムにおいて装置の準備完了状態を判定する方法である。バスシステムは、クロック信号を伝送するクロック信号線と、アドレス信号を伝送するアドレス信号線と、データ信号を伝送するデータ信号線と、制御信号を伝送する制御信号線と、を有するバスを包含する。バスシステムはまた複数の装置も包含する。装置のそれぞれはバスに接続されバス上の識別名すなわちアドレスを有する。少なくとも１つの装置がデータ信号を送信することのできる発信元装置であり、かつ少なくとも１つの装置がデータ信号を受信することのできる宛先装置である。バスコントローラがバスに接続しバスを制御する。制御信号線は、装置からバスコントローラにバス要求信号を伝送するために装置のそれぞれをバスコントローラに接続するバス要求信号線を含む。バス要求信号は装置がデータ信号を送信または受信する準備ができたことを指示する。バスコントローラは、間でマッチング論理がデータ信号の転送を許可するであろう予め定められた１対の発信元装置と宛先装置との識別を記憶するマッチング論理を包含する。マッチング論理はバス要求信号を受信して、そのバス要求信号に基づいてある特定の許可される１対の発信元装置と宛先装置とがデータ信号を送信および受信する準備ができているかどうかを判定する。本発明の方法によれば、発信元装置は、発信元装置がデータ信号線にデータ信号を送信する準備ができているかどうかを指示するバス要求信号をバス要求信号線に生成する。次に、宛先装置が、宛先装置がデータ信号線のデータ信号を受信する準備ができているかどうかを指示するバス要求信号をバス要求信号線に生成する。最後に、マッチング論理が、発信元装置によって生成されたバス要求信号と宛先装置によって生成されたバス要求信号とを受信し、もし宛先装置と発信元装置との対がデータ信号の転送を許可される対であるならば、受信されたバス要求信号に基づいてその１対の宛先装置と発信元装置とがデータ信号を送信および受信する準備ができているかどうかを決定する。本発明の一態様は、バスシステムが、クロック信号を伝送するクロック信号線と、アドレス信号を伝送するアドレス信号線と、データ信号を伝送するデータ信号線と、制御信号を伝送する制御信号線と、を備えたバスと、各々がバスに接続されかつバス上のアドレスを有する複数の装置であって、少なくとも１つの装置はデータ信号を送信することのできる発信元装置であり、少なくとも１つの装置はデータ信号を受信することのできる宛先装置である、前記複数の装置と、バスを制御するためにバスに接続されたバスコントローラと、を備え、その制御信号線は、装置からバスコントローラにバス要求信号を伝送するためにそれぞれの装置をバスコントローラに接続するバス要求信号線を含み、バス要求信号は、装置がデータ信号を送信または受信する準備ができていることを指示するためのものであり、バスコントローラは、バス要求信号を受信し、発信元装置および宛先装置のある特定の許可された対がデータ信号を送信および受信する準備ができているかどうかをバス要求信号に基づいて判定するために、マッチング論理がその間でデータ信号の転送を許可するであろう発信元装置と宛先装置の予め決定された対の識別を記憶しているマッチング論理を含む、データ信号を転送するためのディジタルデータバスシステムでの装置の準備完了を判定する方法において、発信元装置によって、発信元装置がデータ信号をデータ信号線に送信する準備ができているかどうかを指示するバス要求信号をバス要求信号線に生成する段階と、宛先装置によって、宛先装置がデータ信号線のデータ信号を受信する準備ができているかどうかを指示するバス要求信号をバス要求信号線に生成する段階と、マッチング論理によって、発信元装置によって生成されたバス要求信号および宛先装置によって生成されたバス要求信号を受信し、発信元装置と宛先装置との対がデータ信号を転送することを許可される対であれば、受信されたバス要求信号に基づいて発信元装置と宛先装置とがデータ信号を送信および受信する準備ができているかどうかを決定する段階と、を備えたことを特徴とするディジタルデータバスシステムの装置準備完了判定方法である。
【０００６】
【実施例】
１．システムエレメント
ここで図１を参照すると、レーザプリンター（図示されない）を制御する制御サブシステム１００のシステムブロック構成図が示される。制御サブシステム１００は、組み込みコントローラ２０と、メインバス１８によって接続されたメモリー２２（すなわち、ＲＯＭおよびＲＡＭ）とを有するマイクロコンピュータ１６を包含する。好ましくは、組み込みコントローラ２０はＡＭＤ社２９２００  型３２ビットマシンである。制御サブシステム１００は、さらに、バスコントローラ１２によって制御されるローカルバス１０と、ローカルバス１０に接続された５つの装置１４とを含む。装置１４は、例えば装置１４−１および装置１４−３のような、印刷することに関連したいくつかの画像処理タスクを遂行するように設計された特別な目的のハードウェアを含む。また、装置１４は、静電印刷エンジン（図示されない）とインタフェースをとる装置１４−４と、ローカルバス１０を機械的駆動装置４に接続する装置１４−５と、ローカルバス１０をローカルエリアネットワーク（ＬＡＮ）２に接続する装置１４−２とを含む。ローカルバス１０はメインバス１８と並列に動作し、装置１４間でのデータ信号の転送をメインバス１８からオフロード（ｏｆｆ−ｌｏａｄ）する。ローカルバス１０はバスコントローラ１２を介してメインバス１８に接続する。
【０００７】
要するに、ここで図１、図２、図３、および図４を参照すると、ローカルバス１０は、装置１４の間および装置１４とバスコントローラ１２との間でデータ信号２５をやり取りすることのできる高速の同期した並列のディジタルデータバスである。ローカルバス１０は、高速クロック信号６１を伝送するクロック信号線２３と、データ信号２５を伝送するデータ信号線２４と、アドレス信号２７を伝送するアドレス信号線２６と、例えばバス使用許可の制御信号６３のような制御信号を伝送する制御信号線２８と、を包含する。クロック信号６１は、好ましくは、２０ＭＨｚ  またはそれ以上の周波数を有して、データ信号２５の高速転送を可能にする。
【０００８】
２．ローカルバス
アドレス信号線２６は、２つの明確な目的のために、バスコントローラ１２から装置１４にアドレス信号２７を伝送する。ローカルバス１０の１つあるいはそれ以上のアドレスによって例えば装置１４−１のようなある特定の装置１４をプログラムするために、バスコントローラ１２はデータ信号線２４および制御信号線２８のいくつかとともにアドレス信号線２６を使用する。装置１４−１がアドレスによってプログラムされてしまえば、実際に装置１４−１をアドレス指定するために、バスコントローラ１２はアドレス信号線２６を使用することができる。装置のアドレスのプログラミングは、ここで援用される本出願の発明人と何人かが同一の発明人による同時係願の”装置をアドレス指定しデータ信号をバスに転送する方法”と題する米国特許出願第０７／９０７，７５６号により詳しく記述されている。
【０００９】
好ましくは、装置１４のそれぞれはデータ信号２５を送信しかつ受信することの両方ができる。装置１４のそれぞれは、発信元アドレス３７として知られるデータ信号２５を送信するための個々のプログラマブルなアドレスを有する。装置１４のそれぞれはまた、宛先アドレス３３として知られるデータ信号２５を受信するための個々のプログラマブルなアドレスを有する。ある特定の装置１４は、複数の発信元アドレス３７、または複数の宛先アドレス３３、または複数の発信元アドレス３７と複数の宛先アドレス３３との両方を有してもよい。
【００１０】
アドレス信号線２６は１０本の並列な信号線からなる。１０本の並列な信号線によって、アドレス信号線２６は２１０のアドレス指定すなわち１０２４の個々のアドレス指定が可能である。もちろん、すべてのアドレスが使用される必要はなく（例えば、図１は１０個の宛先アドレス３３−１〜３３−５と発信元アドレス３７−１〜３７−５の合計の使用数に対しての５つだけの装置１４を示している）、またアドレス信号線２６の数を増加または減少させることによって有効な宛先アドレス３３と発信元アドレス３７の数が変更されてもよい。
【００１１】
好ましくは、発信元アドレス３７に対してのアドレス信号２７はアドレス信号線２６の下位半分（ｌｏｗｅｒ  ｈａｌｆ）２６−１によってすべてが伝達され（すなわち、５つの下位ビット）、宛先アドレス３３に対してのアドレス信号アドレス信号２７はアドレス信号線２６の下位半分２６−２によってすべてが伝達される（すなわち、５つの上位ビット）。このアドレス方式は、有効なアドレスの数を３２（すなわち、２５  ）の宛先アドレス３３と３２の発信元アドレス３７に減少させるが、以下でさらに述べるようにアドレスを符号化しかつ復号化するハードウェアを単純化する。
【００１２】
好ましくは、３２本の並列のデータ信号線２４が存在し、それはデータ信号２５が３２ビットのワード５５として伝送されることを可能にする構成である。もちろん、より少ないあるいはより多い数のデータ信号線２４が使用されてもよい（例えば、８ビットおよび６４ビットのデータワード５５をそれぞれ可能にする８本のデータ信号線２４または６４本のデータ信号線２４）。３２ビットのワード長はマイクロコンピュータ１６およびメインバス１８のワード長に一致するように選択され、それはバス１８とローカルバス１０との間のデータ転送を容易にする構成である。
【００１３】
ここで図１および図４を参照すると、データ信号２５は定められた数の３２ビットのワード５５を有するブロックまたはグループ５３でデータ信号線２４に送信される。ブロック５３の長さを固定することはブロック５３を転送するのに要求されるオーバーヘッドを減少させる。もちろん、固定のブロック長はときとしてブロック５３にダミーワード５５が挿入されることを必要とし、それによって部分的にしか充填されていない発信元バッファ３６でのワード５５が通常通り完全なブロック５３として送信される。図５には２度のデータ転送５７が示される。好ましくは、それぞれのデータ転送５７は８個のワード５５の送信ブロック５３を包含する。もちろん、ブロック５３の長さは８より多いまたは少ない数に設定されてもよい。
【００１４】
３．装置
ここで、図１、図２、および図４を参照すると、装置１４のそれぞれは、データ信号線２４へ送信され装置１４の宛先アドレス３３へのアドレス信号線２６−１にアドレス指定されるデータ信号２５を記憶するために、データ信号線２４に接続された宛先バッファ３２を含む。宛先バッファ３２は、好ましくは、３２ビット幅で８ビット長のＦＩＦＯ（ファーストインファーストアウトレジスタ）からなり、そのワード長はバッファ３２が１つのブロック５３全体の８個の３２ビットデータワード５５を記憶することを可能にする。もちろん、バッファ３２はより幅広く作られてもよく、それによってバッファ３２が複数のブロック５３のデータワード５５を記憶してもよい。
【００１５】
宛先バッファ３２は装置コントローラ３４によって制御される。装置コントローラ３４は、宛先識別名すなわち装置１４のアドレス３３を含む宛先アドレスレジスタ３５を包含する。宛先アドレスレジスタ３５のある特定の宛先アドレス３３はバスコントローラ１２によってプログラムされてもよい。
【００１６】
装置１４のそれぞれはまた、装置１４の発信元アドレス３７からローカルバス１０に送信されることを装置１４が要求するデータ信号を記憶するために、データ信号線２４に接続された発信元バッファ３６を含む。宛先バッファ３２に類似して、発信元バッファ３６は３２ビット幅で８ビット長のＦＩＦＯからなり、装置コントローラ３４によって制御される。装置コントローラ３４は、発信元識別名すなわち装置１４のアドレス３７を含む発信元アドレスレジスタ３９を包含する。発信元アドレスレジスタ３９のある特定の発信元アドレス３７はバスコントローラ１２によってプログラムされてもよい。
【００１７】
バッファ３２およびバッファ３６にはＦＩＦＯレジスタが好ましい。なぜならＦＩＦＯレジスタはワード５５のブロック５３の素早い入出力を可能にするからである。さらに、バッファ３２およびバッファ３６にＦＩＦＯレジスタを用いることは装置１４がローカルバス１０と非同期に動作することを可能にする。装置１４の内部クロック速度は、したがって、ローカルバス１０のクロック信号６１の速度と異なってもよい。
【００１８】
４．ローカルバスコントローラ
ここで図１および図３を参照すると、バスコントローラ１２は制御論理６とバスインタフェース１９とを包含する。要するに、バスインタフェース１９はメインバス１８とローカルバス１０とを接続する。制御論理６は、どんなデータ転送５７がローカルバス１０に要求されているかを判定し、そして要求されたデータ転送５７の間の調停を行って、いつまたどんな順序でデータ転送が許可されるかを決定する。以下で述べられるように、ある決まったデータ転送５７のみが制御論理６によってさらに考察されることとなる。
【００１９】
バスインタフェース１９は、バッファ４１および４２と、バスインタフェース１９を制御するインタフェースコントローラ４４とを含む。インタフェースコントローラ４４は、メインバスアドレスレジスタ３および５のそれぞれと、バッファ４１および４１のそれぞれに対するローカルバスアドレスレジスタ７および９のそれぞれとを含む。バッファ４１および４２は、上述の理由から好ましくはＦＩＦＯレジスタである。バッファ４１はメインバス１８からローカルバス１０にデータ信号２５を転送するように働く。バッファ４１はメインバス１８の宛先アドレス４３とローカルバス１０の発信元アドレス３７とを有する。宛先アドレス４３はメインバスアドレスレジスタ３に記憶される。好ましくは、宛先アドレス４３は定められているかまたは少なくともアドレス４３に対するなんらかのデフォルト値がマイクロコンピュータ１６に知られている。発信元アドレス３７はプログラマブルでありローカルバスアドレスレジスタ７に記憶される。動作中には、バッファ４１はバッファ４１にアドレス指定されたバス１８から受信されるデータ信号を記憶する。バスコントローラ１２の指示で、バッファ４１はメインバス１８から受信されたデータ信号２５をローカルバス１０に転送する。
【００２０】
バッファ４２はローカルバス１０からメインバス１８にデータ信号２５を転送するように働く。バッファ４２は、ローカルバス１０のプログラマブルな宛先アドレス３３と、メインバス１８のプログラマブルな発信元アドレス４５とを有する。宛先アドレス３３はバスアドレスレジスタ９に記憶され、発信元アドレス４５はメインバスアドレスレジスタ５に記憶される。動作中には、インタフェースコントローラ４４が、バッファ４２の宛先アドレス３３にアドレス指定されたローカルバス１０から受信されるデータ信号２５を記憶するようにバッファ４２に命令する。バスコントローラ１２の指示で、インタフェースコントローラ４４がメインバス１８の発信元アドレス４５からこれらのデータ信号２５をメインバス１８に書き込むようにバッファ４２に命令する。
【００２１】
ローカルバス１０上の装置１４に対して、バスインタフェース１９はもう１つの装置１４と考えられる。すなわち、データ転送５７のデータ信号２５は、あたかもバスインタフェース１９がもう１つの装置１４のように、ローカルバス１０のバスインタフェース１９へおよびバスインタフェース１９から送信される。ローカルバス１０上の装置１４としての見かけ上のバスインタフェース１９が、１４−６の番号を付された破線の長方形でバスインタフェース１９の構成部分を取り囲むことによって図３に示され、事実上の仮想装置１４−６をなしている。象徴的に、装置１４−６は、ローカルバス１０に近接するバッファ４１および４２の終端部分とともに、インタフェースコントローラ４４のローカルバスアドレスレジスタ７および９を包含する。
【００２２】
適切な動作のために、装置１４およびバスインタフェース１９は、宛先および発信元アドレス３３および３７のプログラミング以外に、バスコントローラ１２からのプログラミングおよび制御を必要とする。例えば、バスコントローラ１２は装置１４の宛先および発信元バッファ３２および３６のそれぞれをフラッシュまたはリセットすることができなければならない。この付加的な制御およびプログラミングのために、それぞれの装置１４の装置コントローラ３４およびバスインタフェース１９のインタフェースコントローラ４４はコマンドレジスタ７３のバンク７１を包含する。それぞれのコマンドレジスタ７３はバスコントローラ１２によって制御ワード７４をプログラムされてもよい。
【００２３】
バスコントローラ１２は、装置１４およびバスインタフェース１９を構成および制御するいずれのためにも制御ワード７４を使用する。構成することはアドレス３３および３７をプログラムすることを含む。制御することは装置１４にセルフテストを開始するように命令すること、あるいは発信元バッファ３６を即時にリセットすることを含む。装置１４に関しては、好ましくは、アドレスレジスタ３５および３９は、レジスタの分離した構造であるよりむしろコマンドレジスタ７３のバンク７１の一部である。詳しくは、宛先アドレスレジスタ３５および発信元アドレスレジスタ３９は、ある特定のコマンドレジスタ７３−１の上位と下位の半分のそれぞれに存在する。同様に、宛先アドレス３３および発信元アドレス３７は、コマンドレジスタ７３−１の制御ワード７４の上位と下位の半分のそれぞれに記憶される。同様に、バスインタフェース１９に関しては、好ましくは、アドレスレジスタ３、５、７、および９もまた、インタフェースコントローラ４４に含まれるコマンドレジスタ７３のバンク７１の一部である。制御ワード７４のプログラミングは、ここで援用される本出願の発明人と何人かが同一の発明人による同時係願の”装置をアドレス指定しデータ信号をバスに転送する方法”と題する米国特許出願により詳しく記述されている。
【００２４】
ここで、図１、図２、図３、図４、および図５を参照すると、バスコントローラ１２の制御論理６は、マッチング論理８０と、アービタ８２と、状態機械８４とを包含する。要するに、マッチング論理８０は、制御論理６によって許可され得る可能なデータ転送５７に関してマイクロコンピュータ１６によってプログラムされる。
【００２５】
装置１４は、制御信号線２８の何本かであるバス要求信号線８８のバス要求信号９０によって装置１４がデータ信号２５をそのときの場合次第により送信または受信する準備ができていることをマッチング論理８０に伝える。マッチング論理８０が発信元装置１４と宛先装置１４のある特定の対がデータ転送５７の準備ができていると判定するやいなや、マッチング論理８０はペアレディ信号線８７のペアレディ信号８６によって特定の対の準備完了をアービタ８２に知らせる。アービタ８２は、マイクロコンピュータ１６によってプログラマブルである調停方法（図示されない）に従って、競合するあらゆる準備のできた対の中から選択する。いくつかの調停方法がこの分野に精通した者によって良く知られている。アービタ８２がローカルバス１０への次のデータ転送５７に対する特定の対を選択すると、この情報が状態機械８４に伝達される。状態機械８４は、好ましくは、本出願の発明人と何人かが同一の発明人による同時係願の”装置をアドレス指定しデータ信号をバスに転送する方法”と題する米国特許出願により詳しく記述されるように、実際にデータ転送５７を制御する。
【００２６】
５．データ信号の転送を要求している装置の判定
ここで、図１、図２、図３、図４、図５、および図６を参照すると、バスコントローラ１２の制御論理６は、バス要求信号線８８と協力してマッチング論理８０を用いて、どのデータ転送５７がローカルバス１０に要求されているかを判定する。バス要求信号線８８は制御信号線２８の何本かである。唯一のバス要求信号線８８が装置１４のそれぞれを制御論理６に接続する。バスインタフェース１９における装置１４−６に関しては、バス要求信号線８８は内部に提供される。バス要求信号線８８のそれぞれは、その特定の装置１４の発信元バッファ３６がデータ信号２５を送信する準備ができていることを、あるいはその特定の装置１４の宛先バッファ３２がデータ信号２５を受信する準備ができていることを、あるいはそのバッファ３２および３６のいずれもが準備ができていることをマッチング論理８０に通知するバス要求信号９０を伝達する。
【００２７】
ローカルバス１０に取り付けられる可能な装置１４のそれぞれに対して１本づつ必要とされる最大３２本のバス要求信号線８８が存在する。しかしながら、装置１４−６はバスコントローラ１２の内部に存在するので、物理的には最大数３１のバス要求信号線８８だけがバスコントローラ１２の外部に存在せざるを得ない。
【００２８】
単一のバス要求信号線８８のみがバッファ３２および３６のいずれもの準備完了に関する情報を伝達するのに必要とされので、バス要求信号９０はバス要求信号線８８上で多重化される。バス要求信号９０を提供するために、装置１４それぞれの制御論理６はバス要求マルチプレクサ９２を含む。バス要求信号９０を逆多重化（デマルチプレックス）する（ｄｅｍｕｌｔｉｐｌｅｘ）  ために、制御論理６はバス要求デマルチプレクサ９４を含む。バス要求マルチプレクサ９２とバス要求デマルチプレクサ９４とをクロックするために、制御論理６はさらに多重信号発生器９５を含む。多重信号発生器９５は、多重信号線９９つまり単一の制御信号線２８上をバス要求マルチプレクサ９２に送出されかつバス要求デマルチプレクサ９４の内部に送出される多重信号９７を生成する。
【００２９】
ここで図６を参照すると、マッチング論理８０およびバス要求デマルチプレクサ９４のより詳細なブロック構成図が示される。バス要求デマルチプレクサ９４は３２個のデマルチプレクサ１０２を含む。唯一のデマルチプレクサ１０２がそれぞれのバス要求信号線８８に関連づけられる。それぞれのデマルチプレクサ１０２は、多重信号９７の制御のもとで、それに関連づけられたバス要求信号９０を発信元バス要求信号１０４と宛先バス要求信号１０６とにデマルチプレックスする２：１デマルチプレクサである。信号１０４および１０６は信号線１０８および１１０のそれぞれによってマッチング論理８０に伝達される。
【００３０】
ここで図７を参照すると、多重信号９７と、クロック信号６１と、装置１４−１のバス要求信号９０−１との間のタイミングの関係が示される。また、装置１４−１のバス要求信号９０−１に対応する発信元バス要求信号１０４−１および宛先バス要求信号１０６−１も示される。バス要求信号９０の素早い更新に備えるために、多重信号９７はクロック信号６１の半分の周波数の矩形波である。多重信号９７が論理１であるとき、それぞれのマルチプレクサ９２は関連する発信元バッファ３６の準備完了（レディ）状態をバス要求信号９０として伝達する。同様に、多重信号９７が論理０であるとき、それぞれのマルチプレクサ９２は関連する宛先バッファ３２の準備完了状態をバス要求信号９０として伝達する。すなわち、バス要求信号９０−１は、クロック信号６１の奇数の周期中に発信元バッファ３６−１の準備完了状態を表現し、クロック信号６１の偶数の周期中に宛先バッファ３２─１の準備完了状態を表現する。レディ状態は論理１で示され、非レディ状態は論理０で示される。もちろん、信号９０および９７に関して異なった信号（例えば、レディ状態に対して論理１の代わりに論理０）を使用することはこの分野に精通した者に良く知られている。
【００３１】
図７に関して、発信元バッファ３６−１は、クロック信号６１の第１の周期以前にはレディ状態（すなわち、状態論理１）であるが、クロック信号６１の第３の周期の開始時点においてもはやレディ状態ではなく、そしてタイムチャートの残りの部分においては非レディ状態のままである、と仮定する。同様に、宛先バッファ３２−１は、第１の周期以前にはレディ状態であり、そして第８の周期の開始時点までレディ状態のままである。クロック信号６１の第１のクロック周期中に、今度は、バス要求信号９０−１は論理１であり、そして発信元バス要求信号１０４−１は論理１である。クロック信号６１の第１の周期以前のイベントを反映して発信元バス要求信号１０４−１が論理１であることに注意されたい。
【００３２】
クロック信号６１の第２の周期において、多重信号９７は論理０であり、したがってバス要求信号９０は関連する宛先バッファ３２の状態を表現する。詳しくは、バス要求信号９０−１は論理１であり、宛先バス要求信号１０６−１もまた論理１である。以前の周期のイベントを反映して発信元バス要求信号１０４−１は論理１のままである。第３の周期において、バス要求信号９０−１は論理０となり、発信元バス要求信号１０４−１は論理０となってタイムチャートの期間中ずっと論理０のままである。
【００３３】
第７の周期において、宛先バッファ３２−１がもはやレディ状態ではなくとも、宛先バス要求信号１０６−１は論理１のままであることに注意されたい。次の周期までは宛先バッファ３２−１の準備完了状態の真の状態はマッチング論理８０に伝達されない。おそらく、宛先バッファ３２−１はもはやレディ状態ではないであろう。なぜなら、状態機械８４は宛先バッファ３２−１と別の装置１４の発信元バッファ３６（または、装置１４の発信元バッファ３６−１さえも）との間のデータ転送５７に対する要求を許可してしまっており、状況がアービタ８２および状態機械８４のデータ転送５７の制御においてそれらによって考慮されているからである。
【００３４】
ここで図６を参照すると、マッチング論理８０は複数のプログラマブルなマッチングユニット１１２を含む。マッチングユニット１１２のそれぞれは発信元アドレスレジスタ１１４と宛先アドレスレジスタ１１６とを含む。マイクロコンピュータ１６は、それぞれの発信元装置アドレス１１８および宛先装置アドレス１２０によってそれぞれのマッチングユニット１１２のアドレスレジスタ１１４および１１６をプログラムする。共に、装置アドレス１１８および１２０は、マッチング論理８０によってデータ信号２５を転送することを許可された１対の装置１４を識別する。マッチングユニット１１２の数はマッチング論理８０が監視することのできるペアレディ信号８６の数を決定する。例えば、図６においては、可能な１２組の対に対する１２個のマッチングユニット１１２が示される。もちろん、マッチングユニット１１２の数は可能な対の数を変更するために増加あるいは減少させてもよい。
【００３５】
それぞれのマッチングユニット１１２において、宛先アドレスレジスタ１１６および発信元アドレスレジスタ１１４は、宛先マルチプレクサ１２２および発信元マルチプレクサ１２４のそれぞれを制御する。宛先マルチプレクサ１２２は、３２：１のマルチプレクサであり、入力としての３２本の信号線１０８と１つの出力としての単一の信号線１２６とを有する。同様に、発信元マルチプレクサ１２４は、入力として３２本の信号線１１０を有し１つの出力として単一の信号線１２８とを有する３２：１のマルチプレクサである。それぞれのマッチングユニット１１２において、出力信号線１２６および１２８はＡＮＤゲート１３０に入力する。ＡＮＤゲート１３０の出力は信号線８７のペアレディ信号８６である。もちろん、ペアレディ信号８６は出力信号線１２６および１２８がともに論理１を伝達する場合にのみ論理的な１である。
【００３６】
信号線１０８は、宛先マルチプレクサ１２２に宛先バス要求信号１０６を伝達する。信号線１１０は、発信元マルチプレクサ１２４に発信元バス要求信号１０４を伝達する。動作において、ある特定の宛先マルチプレクサ１２２は、その特定の宛先マルチプレクサ１２２を制御する宛先アドレスレジスタ１１６の宛先アドレス１２０に対応する入力信号線１０８に論理１の宛先バス要求信号１０６が存在する場合にのみそれの関連する出力信号線１２６に論理１を出力する。もしそうでない場合には、出力信号線１２６に論理０を出力する。同様に、ある特定の発信元マルチプレクサ１２４は、その特定の発信元マルチプレクサ１２４を制御する発信元アドレスレジスタ１１４の発信元アドレス１１８に対応する入力信号線１１０に論理１の発信元バス要求信号１０４が存在する場合にのみそれの関連する出力信号線１２８に論理１を出力する。もしそうでない場合には、出力信号線１２８に論理０を出力する。したがって、ペアレディ信号８６の論理１は、関連するそれぞれの発信元アドレスレジスタ１１４および宛先アドレスレジスタ１１６のそれぞれの発信元装置アドレス１２０および宛先装置アドレス１１８を有するそれぞれの発信元装置１４および宛先装置１４のそれぞれの発信元バッファ３６および宛先バッファ３２のいずれものデータ転送の準備完了を指示することとなる。
【００３７】
好ましくは、マイクロコンピュータ１６は、装置１４が発信元として単一の装置１４とのみ組み合わせられるようにかつ宛先として単一の装置１４とのみ組み合わせられるように、マッチング論理８０のマッチングユニット１１２をプログラムする。すなわち、もしある特定の装置１４がある特定のマッチングユニット１１２の宛先アドレスレジスタ１１６の宛先アドレス１２０としてアドレス指定されれば、他のマッチングユニット１１２はそれの宛先アドレス１２０としてその特定の装置１４をアドレス指定することができない。同様に、もしある特定の装置１４がある特定のマッチングユニット１１２の発信元アドレスレジスタ１１４の発信元アドレス１１８としてアドレス指定されれば、他のマッチングユニット１１２はそれの発信元アドレス１１８としてその特定の装置１４をアドレス指定することができない。もし１つ以上の可能なデータ転送５７がマッチング論理８０においてプログラムされるならば、ある特定のバス要求信号９０はある特定の装置１４の発信元バッファ３６および（あるいは）宛先バッファ３２がデータ転送５７の準備ができていることを通知することができるのみであり、またどの特定のデータ転送５７が要求されているかは通知することができないので、この制限が要求されるのである。
【００３８】
装置１４−１のようなある特定の装置がデータ信号２５を装置１４−２に転送し、そしてその後、データ信号２５を装置１４−３に転送することを望むのであれば、マイクロコンピュータ１６が第１のデータ転送５７に対するアドレス１２０および１１８によってマッチングユニット１１２を最初にプログラムすることが適切な手順である。第１のデータ転送５７が発生した後、マイクロコンピュータ１６は第２のデータ転送５７に対するアドレス１２０および１１８によってマッチングユニット１１２を再プログラムすることができる。
【図面の簡単な説明】
【図１】本発明の方法を具体化したバスシステムの概略ブロック構成図であり、ローカルバスと、ローカルバスコントローラと、ローカルバスに接続された複数の装置とを包含する。
【図２】図１に示される装置のあるものの概略ブロック構成図である。
【図３】図１に示されるローカルバスコントローラの概略ブロック構成図である。
【図４】データ信号のタイミングを描写するタイムチャートであり、バス使用許可信号の制御のもとで発信元装置から宛先装置へ送信される単一の伝送要求を表す。
【図５】図３のローカルバスコントローラの制御論理の構造を詳細に説明するブロック構成図であり、マッチング論理を包含する。
【図６】図５に描写される制御論理のマッチング論理の構造を詳細に説明するブロック構成図である。
【図７】バス要求信号のタイミングを描写するタイムチャートである。
【符号の説明】
１００・・・制御サブシステム
３、５・・・メインバスアドレスレジスタ
７、９・・・ローカルバスアドレスレジスタ
１０・・・ローカルバス
１２・・・バスコントローラ
１４・・・装置
１６・・・マイクロコンピュータ
１７・・・プログラミングサイクル
１８・・・メインバス
１９・・・バスインタフェース
２０・・・組み込みコントローラ
２２・・・メモリー
２３・・・クロック信号線
２４・・・データ信号線
２５・・・データ信号
２６・・・アドレス信号線
２７・・・アドレス信号
２８・・・制御信号線
３２・・・宛先バッファ
３３・・・宛先アドレス
３４・・・装置コントローラ
３６・・・発信元バッファ
３７・・・発信元アドレス
３９・・・発信元アドレスレジスタ
４１、４２・・・バッファ
４３・・・宛先アドレス
４４・・・インタフェースコントローラ
４５・・・発信元アドレス
５３・・・データワードグループ
５５・・・データワード
５７・・・データ転送
６１・・・クロック信号
７１・・・バンク
７３・・・コマンドレジスタ
７４・・・制御ワード
８０・・・マッチング論理
８２・・・アービタ
８４・・・機械状態
８６・・・ペアレディ信号
８７・・・ペアレディ信号線
８８・・・バス要求信号線
９０・・・バス要求信号
９２・・・マルチプレクサ
９４・・・バス要求デマルチプレクサ
９５・・・多重信号発生器
９７・・・多重信号
９９・・・多重信号線
１０２・・・デマルチプレクサ
１０４・・・発信元バス要求信号
１０６・・・宛先バス要求信号
１０８、１１０・・・信号線
１１２・・・マッチングユニット
１１４・・・発信元アドレスレジスタ
１１６・・・宛先アドレスレジスタ
１１８・・・発信元装置アドレス
１２０・・・宛先装置アドレス
１２２・・・宛先マルチプレクサ
１２４・・・発信元マルチプレクサ
１２６、１２８・・・信号線
１３０・・・ＡＮＤゲート
【図１】
0003571062.tif 000002
【図２】
0003571062.tif 000003
【図３】
0003571062.tif 000004
【図４】
0003571062.tif 000005
【図５】
0003571062.tif 000006
【図６】
0003571062.tif 000007
【図７】
0003571062.tif 000008