(57)【特許請求の範囲】
【請求項１】
第１のクロック周波数で動作する中央処理ユニット（１０）を有するワークステーションであって、
メインメモリ（４２）と、
前記中央処理ユニット（１０）と前記メインメモリ（４２）が接続された第一バス（２０）と、
前記第１のクロック周波数とは異なる第２のクロック周波数で動作する第二バス（３２）と、
前記第一バス（２０）と前記第二バス（３２）間に接続されたインターフェースチップ（３０）と、を有し、
前記インターフェースチップ（３０）は、
内部バス（３５）と、
前記第一バス（２０）と前記第二バス（３２）間のデータ転送を制御するためのＤＭＡ制御器（３６）を具備する第一動作ユニットと、
前記内部バス（３５）と前記第一バス（２０）間の第一のインターフェースユニット（３４）を具備する第二の動作ユニットと、
前記内部バス（３５）と前記第二バス（３２）間の第二のインターフェースユニット（３８）を具備する第三の動作ユニットと、を含み、
前記第二のインターフェースユニット（３８）は、前記第一のインターフェースユニット（３４）と前記第二のインターフェースユニット（３８）間においてデータが前記内部バス（３５）上を前記第１のクロック周波数で転送されるために、前記第１のクロック周波数と前記第二のクロック周波数間の差を補償するシンクロナイザ（３７）を有し、
前記第一のインターフェースユニット（３４）は、前記ＤＭＡ制御器（３６）、前記第一のインターフェースユニット（３４）及び前記第二のインターフェースユニット（３８）が有している優位性に基づいて、前記ＤＭＡ制御器（３６）、前記第一のインターフェースユニット（３４）及び前記第二のインターフェースユニット（３８）に対して前記内部バスへのアクセスを許可する内部調停器（６６）を有する、
ように構成されたことを特徴とするワークステーション。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はワークステーションまたは類似のデータ処理システムに関し、特にそのようなデータ処理システムのアーキテクチャーに関する。
【０００２】
【従来の技術】
多くのデータ処理システムのアーキテクチャーの特徴は直接メモリアクセス制御器 (direct momory acess controller,DMA）にある。ＤＭＡ制御器は中央処理ユニット型の論理回路を与えられて外部システムバスおよび煤メモリ間のデータ移動に専用される。代表的なＤＭＡ制御器は外部バスに接続され、外部バスとシステムメモリとの間の動作周波数の相異を補償するに必要な論理回路を含む。例えば外部マイククロチャンネルバスを有するシステムにおいては、ＤＭＡ制御器はマイクロチャンネルのスロットに接続出来る。この型式のＤＭＡ制御器はデータ転送を取り扱うための論理回路網を含む。この取り扱いには中央処理クロックとマイクロチャンネルクロックとの間のタイミングおよび周波数の相異の補償が含まれる。固有的に、この公知ＤＭＡ制御器は極めて複雑なユニットで、その動作はシステム全体の性能に影響する。
【０００３】
【発明が解決しようとする課題】
それゆえ本発明は新規で改良されたワークステーションのアーキテクチャーを与えることを課題とする。
【０００４】
本発明の別の課題はワークステーションにおける直接メモリアクセスによるデータ転送を取り扱うための新規かつ改良されたシステムを与えることである。
【０００５】
本発明のさらに別の課題は改良された性能を持つワークステーションを与えることである。
【０００６】
本発明のさらに別の課題は簡単な直接メモリアクセス制御器を与えることである。
【０００７】
【課題を解決するための手段】
このために、本発明は、第１のクロック周波数で動作する中央処理ユニット（１０）を有するワークステーションであって、メインメモリ（４２）と、前記中央処理ユニット（１０）と前記メインメモリ（４２）が接続された第一バス（２０）と、前記第１のクロック周波数とは異なる第２のクロック周波数で動作する第二バス（３２）と、前記第一バス（２０）と前記第二バス（３２）間に接続されたインターフェースチップ（３０）と、を有し、前記インターフェースチップ（３０）は、内部バス（３５）と、前記第一バス（２０）と前記第二バス（３２）間のデータ転送を制御するためのＤＭＡ制御器（３６）を具備する第一動作ユニットと、前記内部バス（３５）と前記第一バス（２０）間の第一のインターフェースユニット（３４）を具備する第二の動作ユニットと、前記内部バス（３５）と前記第二バス（３２）間の第二のインターフェースユニット（３８）を具備する第三の動作ユニットと、を含み、前記第二のインターフェースユニット（３８）は、前記第一のインターフェースユニット（３４）と前記第二のインターフェースユニット（３８）間においてデータが前記内部バス（３５）上を前記第１のクロック周波数で転送されるために、前記第１のクロック周波数と前記第二のクロック周波数間の差を補償するシンクロナイザ（３７）を有し、前記第一のインターフェースユニット（３４）は、前記ＤＭＡ制御器（３６）、前記第一のインターフェースユニット（３４）及び前記第二のインターフェースユニット（３８）が有している優位性に基づいて、前記ＤＭＡ制御器（３６）、前記第一のインターフェースユニット（３４）及び前記第二のインターフェースユニット（３８）に対して前記内部バスへのアクセスを許可する内部調停器（６６）を有する、ように構成されたことを特徴とするワークステーションを提供するものである。
【０００８】
したがってＤＭＡ制御器およびシンクロナイザの機能は分離されている。このように、ＤＭＡ制御器の設計は簡単化でき、外部バスとローカルバスとの間でタイミング条件が異なる同様の設計にも使用できる。
【０００９】
本発明の好ましい実施例ではインターフェースチップの内部バスがチップ上の個々の動作ユニット間の通信を可能にする。各動作ユニットは、それが内部バスの特定の線を介してアドレス指定できるようにするための同定番号を有する。内部調停器が最高の優先性を有するユニットに内部トランザクションバスへのアクセスを付与する。この内部バスはローカル（ホスト）バスとは独立に動作するが、ホスト中央処理ユニットと同一の周波数で動作する。
【００１０】
公知ワークステーションに比較して、ＤＭＡ制御器とシンクロナイザとの間の機能を分化することが、制御された円滑なデータ転送を小型で効率のよいインターフェースチップに許すことを理解されたい。
【００１１】
以下に添付の図面を参照して実施例を説明する。
【００１２】
【実施例】
図１は本発明に基づくワークステーションまたはデータ処理システムの好ましい実施例を示す。
【００１３】
基本的には中央処理ユニット１０はホストＰ／Ｍバス２０を介して機能ブロック３０、４０、５０と通信し、特にデータチャンネル（マイクロチャンネルバス）へのアクセスのため一つまたは複数のバスインターフェースブロックＢＩＢ３０と、メモリおよびキャッシュ制御のため一つまたは複数のメモリブロックＭＩＢ４０と、ローカル周辺装置およびビデオグラフィックアレー（ＶＧＡ）インターフェースブロックＰＩＢ５０と通信する。
【００１４】
中央処理ユニット１０には例えばインテル８０３８６、８０３８６ＳＸ、８０４８６マイクロプロセッサ等の種々の型が使用できることに注意されたい。また数学的コプロセッサであるインテル８０３８７あるいは８０３８７ＳＸ等のコプロセッサ１２も追加できる。
【００１５】
機能ブロックＢＩＢ３０はホストＰ／Ｍバス２０と、在来のアダプタボード等の入／出力デバイスを装着するための複数のスロット３２ａを備えたマイクロチャンネル３２との間のインターフェースとして与えられ、当該ステーションの他の機能ブロックとの通信におけるマスターとして働くことのできるマイクロプロセッサを備えた在来のアダプタボードを含んでいる。アダプタボードの一例は追加メモリを担持する回路ボードである。さらに制御器３２ｂは固定ディスクドライブを制御するマイクロチャンネルに接続されている。
【００１６】
機能ブロック（ＭＩＢ）ＭＩＢ４０はホストＰ／Ｍバス２０と、Ｄラム（ＲＡＭ）メモリ４２との間のインターフェースを形成する。このＤラムは別のサイズを有してもよい。さらにＭＩＢ４０は通常のＢＩＯＳロム（ＲＯＭ）メモリ４２ａへのアクセスを制御する。
【００１７】
周辺インターフェース機能ブロック（ＰＩＢ）５０（図１）はそれぞれの制御ブロックを介してホストＰ／Ｍバス２０と種々の在来のシステムデバイスおよび周辺デバイスとの間のインターフェースを形成する。これらすべてのデバイスは当業者には公知であり、それゆえこれ以上詳述しない。
【００１８】
各機能ブロックＢＩＢ３０、ＭＩＢ４０、ＰＩＢ５０は各々がホストＰ／Ｍバス２０と各機能ブロックＢＩＢ３０、ＭＩＢ４０、ＰＩＢ５０に接続される個々のデバイスとの間の通信を達成するに必要なすべての素子、例えばレジスタおよび論理回路等、を含むワンチップとして特に設計されている。
【００１９】
図１に示すようにＭ個の機能ブロックＢＩＢ３０およびＮ個のＭＩＢ４０はすべてホストＰ／Ｍバス２０に接続出来る。従って異なった中央処理ユニットおよび著しく異なったメモリ容量を備えた非常に広範な種類の構成が達成出来る。各チップはシステムの種々の構成に合致するよう非常に多様に構成できる。
【００２０】
各機能ブロック３０、４０、５０にはシステムのすべての機能を一般的に統制している中央処理ユニットのオペレーションとは比較的独立なオペレーションを与えるある種の能力が与えられている。このことによりＢＩＢ３０、ＭＩＢ４０等の機能ブロック間のデータ転送の制御その他の多数のプロシージャから中央処理ユニットを開放できる。例えば機能ブロックＭＩＢ４０はダイナミックラム（ＤＲＡＭ）のリフレッシュサイクルを組織化し、これらに含まれるキャッシュのオーバーフローの整理をする。
【００２１】
基本的には各機能ブロック３０、４０、５０はホストＰ／Ｍバス２０と個々のインターフェーストランザクションバスとの間のインターフェースユニットを含む。そのタイミングは中央処理ユニットクロックに基づいているが、各機能ブロック内の読み取りあるいは書き込み等のすべてのオペレーションはシステムの一サイクル内で独立に行なわれる。他方中央処理ユニットは少なくとも中央処理ユニットクロックの２サイクルを必要とする。従ってこの形式のシステムアーキテクチャは、中央処理ユニットに必要な待機状態が低減することにより著しく性能が改善され、高い全体的動作速度が得られる。
【００２２】
特に図３を参照すると、この図に示されるバスインターフェースブロックＢＩＢ３０は、好ましくは一個のマイクロチップ上に構成されており、ホストＰ／Ｍバス２０とＥＭＣＡユニット３８への通信接続を与える内部トランザクションバス３５との間のインターフェースを形成するホストＰＭバスインターフェースＨＰＩ３４を含む。ＥＭＣＡユニットは少なくとも一個のマイクロチャンネルに対するインターフェースユニットである。このＥＭＣＡユニット３８は、マイクロチャンネル３２へのアクセスのため、拡張ＭＣＡバス制御器もしくはＭＣＡユニット３９に接続されている同期ユニットＳＹＮＣ（シンクロナイザ）３７を含む。ＥＭＣＡユニット３８のさらに詳細な説明は図１４に関して述べる。
【００２３】
内部トランザクションバス３５にはさらに、ブロックＭＩＢ４０およびホストＰ／Ｍバス２０を介してなされるダイナミックＲＡＭメモリ４２およびマイクロチャンネル３２間のデータ転送を制御するためのＤＭＡ制御器３６がある。
【００２４】
このワークステーションは、種々の形式の中央処理ユニットの一つおよびシステムに含むべき複数のマイクロチャンネルとダイナミックＲＡＭメモリユニットを使用できる点で、高度の柔軟性を与える。これは予じめ定められたの中央処理ユニットが唯一個のマイクロチャンネルおよび一個のダイナミックＲＡＭメモリブロックのみと通信する公知ワークステーションと対照をなす。
【００２５】
特に拡張されたホストＰ／Ｍバスが図３ないし図７に示されている。特に中央処理ユニット１０内において、インテル８０３８６等のマイクロプロセッサの在来の入／出力ポートは、アドレスポートＡ（２、...３１）、データポートＤ（０、...３１）、バイトイネーブルポートＢＥｂ（０、...３）およびアドレスステータス出力ＡＤＳｂが示されている。出力ＡＤＳｂは有効なバスサイクル定義およびアドレスが利用できることを示し、アドレスが駆動されると同一のクロックでアクティブに駆動される。出力信号ＡＤＳｂはアクティブで低レベルとなる。本システムのクロックＰＣＬＫはクロックオッシレータ６０で発生されて中央処理ユニット１０の入力ポートＰＣＬＫおよび機能ブロックＢＩＢ３０、ＭＩＢ４０、ＰＩＢ５０に印加される。これらの入／出力ポートおよび中央処理ユニット１０の他のすべての入／出力ポート、並びにそこに示されている信号は従来のものである。従ってこれ以上これらについては詳述しない。
【００２６】
図３ないし図７からわかるように、機能ブロックＢＩＢ３０、ＭＩＢ４０、およびＰＩＢ５０は中央処理ユニットの入／出力ポートと同様な入出力ポートを与えられている。しかし、機能ブロックおよび中央処理ユニット１０を相互に接続するための追加的ポートとその付随のバス線がさらに設けられている。それは例えばＣＴ（０..１）で、これはホストＰ／Ｍバス内に含まれる二線の組み合わせであり、ホストＰ／Ｍバスへのアクセスを持つプロセッサ（または機能ブロック）の型式を示すものである。ＢＲＥＱｂ（０...３）は、四個のＢＩＢ３０がそれぞれ一リクエスト線でＰＩＢ５０に接続されていると仮定したときのホストＰ／Ｍバスリクエスト信号である。ＢＧＮＴｂ（０..３）は、ＢＲＥＱｂ（０...３）でホストＰ／Ｍバスへのアクセス要求した機能ブロックＢＩＢ３０に対し、機能ブロックＰＩＢ５０から送信されるホストＰ／Ｍバス付与信号である。ＳＢＵＲＳＴＢＬｂは、バーストモードでの転送を一次的に停止するがそのバースト条件を維持するため機能ブロックＢＩＢ３０の一つから発生される信号である。ＣＩＮおよびＣＯＵＴはシステム構成化ルーチンで使用する入／出力信号である。
【００２７】
特にＢＩＢ３０を例にとり、図８ないし図１３を参照して一つの機能ブロックの設計特徴を説明する。
【００２８】
前述したように機能ブロックＢＩＢ３０は基本的にはユニットＨＩＰ３４、ＤＭＡ制御器３６、同期ユニット３７およびＭＣＡユニット３９を含む。ＭＣＡユニット３９は図１０ないし図１３に示すように実際にはＥＭＣＡユニット３８に結合されている。これら３個のユニットは中央処理ユニット１０と同様に内部トランザクションバス３５および機能ブロックＢＩＢ３０、ＭＩＢ４０、ＰＩＢ５０を介して相互に通信する。
【００２９】
従って機能ブロックＢＩＢ３０は中央処理ユニット１０その他のバスマスターの制御なしでいくつかの機能を行なう自己完結機能ブロックである。
【００３０】
図１０ないし図１３を図３ないし図７と比較すると、ホストＰ／Ｍバス２０および内部トランザクションバス３５の信号および対応する線に密接な類似点があることがわかる。
【００３１】
ＴＲＡＣＴバス３５に接続された各ユニット３４、３６、３８はＶＡＬＩＤ信号、ＲＥＱＵＥＳＴ信号、ＧＲＡＮＴ信号およびＢＵＲＳＴ信号を有する。各ユニットはＩＤ番号を有するが、これらは「０」を最優先する優先性に従う。特にＥＭＡ３８は＃０に、ＤＭＡ制御器３６は＃１に、ＨＰＩ３４は＃２に指定されている。
【００３２】
以下の表にはＴＲＡＣＴ３５の主な信号が挙げられている。
表  １
ＩＡ（２：３１）：      内部アドレスビット２ないし３１
ＩＢＥｂ（０：３）：    内部バイトイネーブル０ないし３
ＩＤＮ（０：１）：      フロックＩＤ番号（ブロックの最大番号は４）
ＩＤ（０：３１）：        内部データビット０ないし３１
ＶＡＬＩＤｂ（ｎ）：    ユニット＃ｎのこの有効信号はＴＲＡＣＴバス３５上のアドレス、データおよび命令が有効であるとき、ユニット＃ｎにより駆動される。
ＢＵＳＹｂ（ｎ）：      ユニット＃ｎが使用中（busy）であるときはユニット＃ｎのこのＢＵＳＹ信号がその時点でアクティブとなる。この信号はバーストモード中、一次的にデータ転送を停止させる。その場合バーストモードはアクティブに留まる。
ＲＥＱｂ（ｎ）：        ユニット＃ｎのこのリクエスト信号はユニットｎで駆動される。
ＧＮＴｂ（ｎ）：        この付与線は内部調停器６６により駆動される。
ＢＵＲＳＴｂ（ｎ）：    このバースト線は、内部トランザクションバス３５を現在付与され、休みなしの多重アクセスをするためその維持を希望するユニット＃ｎにより、駆動される。
ＣＳｂ（ｎ）：          このチップ選択線はアドレス復号器６４により駆動される。各機能ブロックはそれ自身のチップ選択信号を有する。
ＲＥＴＲＹｂ（ｎ）：    マスタユニット＃ｎが、現在使用中のスレーブユニットにアクセスしようとするとき、そのマスターによってこの再試行信号が発生される。この再試行信号は内部トランザクションバス３５に優先性を再要求するときに使用される。
同報（broadcast）信号
ＮＰＣＬＫ：            内部トランザクションバス３５上のすべてのクロック信号。システムの中央処理ユニット１０は同一のクロックで動作する。すべてのサイクルの基準はこのクロックの上昇縁である。
ＩＲＥＳＥＴ：          すべてのユニット３４、３６、３７についての内部リセット。
ＤＥＳＴ-ＢＵＳＹｂ：    これは現トランンザクションバスサイクルのスレーブユニットが使用中であることを示す。
ＶＡＬＩＤＡＬＬｂ：    すべてのＶＡＬＩＤｂ信号の組み合わせである。この信号はアドレスされたスレーブユニットに対し、ＴＲＡＣＴバス上に有効サイクルが存在することを示す。
【００３３】
図１２を参照する。ＨＰＩ３４は内部復号器６２を含み、この復号器は個々のユニットへのアクセスを復号するため線ＩＡ２ないしＩＡ３１を使用する。各ユニットはそれ自身のアドレス復号信号を有する。この信号はメモリアクセス、Ｉ／Ｏアクセスの両方について、またユニットが受信するすべての他の命令について発生される。またこの内部復号器６２はＤＭＡ制御器３６およびＥＭＣＡユニット３８等のすべてのユニットのＢＵＳＹ信号を受信し、ＤＥＳＴ-ＢＵＳＹｂ信号を発生する。
【００３４】
さらに、アドレス復号器６４にはホストＰ／Ｍバス２０（図３ないしおよび図８を参照）からアドレス受信信号Ａ２ないしＡ３１が与えられ、機能ブロックＢＩＢ３０等の対応の機能ブロックがホストＰ／Ｍバス２０を通して通信すべく選択されたことを示すＣＨＩＰＳＥＬ信号を発生する。
【００３５】
特に関心を払うべきものとして、ユニットＨＩＰ３４に含まれる内部調停器６６がある。内部トランザクションバス３５へのアクセスを得るためユニットＨＩＰ３４、ＤＭＡ制御器３６およびＥＭＣＡユニット３８等のユニットは内部トランザクションバス３５に対してリクエスト（要求）信号ＲＥＱｂ（０..２）を発生することによりリクエストを主張しなければならない。いくつかのリクエストが同時に生ずるかも知れない。従って、これらのリクエストを解決して最高の優先性をもつリクエストユニットに付与信号ＧＮＴｂ（０..２）を発生することが内部調停器６６の仕事である。上述したように、好ましい実施例ではＥＭＣＡユニット３８が最高の優先性「０」を有し、ユニットＨＩＰ３４は最低の優先性「２」を有する。クロック信号の上昇縁で付与信号を検出するユニットが次のサイクルで内部トランザクションバス３５へのアクセスを有する。
【００３６】
内部調停器６６の別の仕事は、単一アドレスワードにより先導された複数データワードが送信されるバーストモードを処理することである。もしもユニットが付与信号を検出し、内部トランザクションバス３５上で多重データ転送しようと希望するなら、このユニットはそのバースト線をアクティブ化する。例えばもしもＥＭＣＡユニット３８が信号ＲＥＱｂ（０）により内部トランザクションバス３５へのアクセスをリクエストし、内部調停器６６によるＥＭＣＡユニット３８への付与信号ＧＮＴｂ（０）を受信したなら、後者ＥＭＣＡユニット３８は多重データ転送のためバースト信号ＢＵＲＳＴｂ（０）を発行する。このバースト線がアクティブ化されているときは、バスアクセスを求める他のいかなるユニットのリクエストがあっても、現在の付与信号がアクティブのまま保持される。また内部調停器６６はすべてのユニットのＲＥＴＲＹｂ（０...２）信号を受信し、それらを次回サイクルにおける優先性の再注文として使用する。
【００３７】
内部トランザクションバス３５上のすべてのサイクルがホストＰ／Ｍバス２０上のクロックＰＣＬＫと同期していることに注目されたい。すべてのクロックタイミングはＰＣＬＫ信号の上昇縁に基づく。これはＰＣＬＫ信号を基準とする動作が次の上昇縁の後に起こることを意味する。内部トランザクションバス３５上のサイクルを開始するＤＭＡ制御器３６等の当該ユニットは、「マスター」と呼ばれる。それゆえ、「マスター」により発生される制御信号のいくつかは先頭に「Ｍ」が付く。そのサイクルに応答するユニットは「スレーブ」と呼ばれる。「スレーブ」により発生されるいくつかの信号には「Ｓ」が付く。例えばＤＭＡ制御器３６がホストＰ／Ｍバス２０およびメモリブロックＭＩＢ４０を介してマイクロチャンネル３２からダイナミックＲＡＭ４２へのデータ転送を要求している場合、ＤＭＡ制御器３６がユニットＨＩＰ３４との内部通信のため内部トランザクションバス３５上の対応のサイクルを開始する。信号名の末尾の「ｂ」はこの信号がアクティブ状態で低レベルであることを意味する。
【００３８】
図１０ないし図１３において、内部トランザクションバスすなわちＴＲＡＣＴ３５のいくつかは例えばＩＡ（２：３１）またはＩＤ（０..３１）のように「Ｉ」で始まる文字が指定されている。これはそれぞれアドレスおよびデータに関するホストＰ／Ｍバス２０の類似の線、例えばＡ（２：３１）またはＤ（０..３１）と区別するためである。
【００３９】
本発明によるシンクロナイザの詳細な説明に入る前に、例として単一書き込みサイクルについて機能ブロックＢＩＢ３０内の動作を簡単に示す。
【００４０】
基本的にＤＭＡ制御器３６がマイクロチャンネルデバイスから４２へデータを書き込みを希望していると仮定する。これはホストＰ／Ｍバス２０とメモリブロックＭＩＢ４０とを介して達成される。しかし、ホストＰ／Ｍバス２０へのアクセスを得るためにはホストＰ／Ｍバス２０（図８）へのインターフェースを形成するユニットＨＩＰ３４へアドレスおよびデータが送信される。
【００４１】
書き込みサイクルは内部トランザクションバス３５上の転送一回のみからなる。有効なアドレス、データおよび命令が同時刻に内部トランザクションバス３５上に発行される。
【００４２】
図１７で線（ａ）は遂行されるべきすべてのサイクルのタイミングを支配する中央処理ユニットクロックＰＣＬＫを表す。ＤＭＡ制御器３６は線（ｂ）により最初のアクションとして、アクティブ時に低となるＭ-ＲＥＱｂ信号を発生する。この信号は内部調停器６６（図１６）へ送信され、調停後、この内部調停器６６が線（ｃ）によりＭ-ＧＮＴｂ信号をＤＭＡ制御器３６に返す。
【００４３】
線（ｄ）からわかるように、以下の方法が同時に、すなわち内部トランザクションバス３５上に並列に、与えられる。それらの信号は、アドレス線ＩＡ２ないしＩＡ３１上のアドレス信号ＩＡ；線ＩＤ０ないしＩＤ３１上のデータ信号ＩＤ（０..３１）；二つの線ＩＤＮ（０：１）上のユニット同定番号ＩＤＮ、すなわち本例のＤＭＡ制御器３６については「０１」；線ＩＣ０、ＩＣ１、ＩＣ２上にあってメモリまたはＩ／Ｏデータ書き込みアクセスを示す命令ＩＣである。
【００４４】
図１７の線（ｄ）および（ｇ）を比較すると、線（ｄ）による情報が内部トランザクションバス３５上に現われる時間、ＤＭＡ制御器３６がＭ-ＶＡＬＩＤｂ信号を発生することが判る。各ユニットは有効線を有する。この線は、マスタユニットがＧＲＡＮＴ信号を検出し、有効アドレス、データ、および命令を内部トランザクションバス３５上に提供するときにアクティブ化される。アドレス、データおよび命令が有効であるかぎり、ＶＡＬＩＤｂ信号はアクティブである。
【００４５】
受信ユニットが現在使用中であってもＶＡＬＩＤｂ信号はアクティブ化できる。この場合、内部トランザクションバス３５および有効信号は当該受信ユニットがそのＢＵＳＹ線をリセットするまではアクティブに留まらなければならない。次いでマスターがＶＡＬＩＤｂを非アクティブ化して、次回の上昇縁で内部トランザクションバス３５を開放することができる。線（ｅ）による信号Ｍ-ＢＵＲＳＴｂが非アクティブデータ高レベルであることは、どのユニットもバーストモードを全く意図していないことを示す。線（ｆ）はユニットＨＩＰ３４により発生された信号Ｓ-ＢＵＳＹｂがアクティブで低レベルとなることを例示しており、これはスレーブが線（ｄ）による情報を支配し、機能ブロックＢＩＢ３０内の別のオペレーションとは独立にこれをホストＰ／Ｍバス２０に与える状況にあることを示す。各ユニットはそれ自身のビジーライン（使用中を示す線）を有する。ビジーラインはユニットが新規の命令を受理できないことを他のユニットに告げるのに使用される。
【００４６】
ＢＵＳＹｂ信号は完了するのに二サイクル以上を必要とする命令をユニットが受信したときのみ、アクティブ化される。この場合はユニットが有効な命令を受信した後の上昇クロック縁で直ちにＢＵＳＹ信号がアクティブ化される。
【００４７】
ユニットのＢＵＳＹｂが非アクティブ化されているかぎりにおいて、当該ユニットは次回のクロック上昇縁で内部トランザクションバス３５から新たな命令を受理することができる。ＢＵＳＹ信号はその命令の完了の一クロック前に非アクティブ化される。
【００４８】
図１７の右側部分に示す状況は、アドレススレーブユニット、すなわちユニットＨＩＰ３４、が現在のＴＲＡＣＴバスサイクルにおいてビジーであるための遅延がある点で、左側部分とは異なる。従って、信号ＤＥＳＴ-ＢＵＳＹｂ信号がユニットＨＩＰ３４の内部復号器６２から線（ｈ）に発生され、線が使用中であることを示すそのＢＵＳＹ信号が再び非アクティブで高となったことを示すまで、線（ｂ）、（ｃ）、（ｄ）および（ｇ）に示す信号が延長される。
【００４９】
線（ｉ）のＭ-ＲＥＴＲＹｂ信号によって、ＤＭＡ制御器３６は内部調停器６６に影響を与え、優先性の再構成をできる。
【００５０】
ここで図８ないし図１５を参照して本発明に基づき特に設計されたＥＭＣＡユニット３８の詳細を説明する。
【００５１】
基本的に、ＥＭＣＡユニット３８は拡張されたマイクロチャンネル３２と機能ブロックＢＩＢ３０の内部トランザクションバスＴＲＡＣＴ３５とを緩衝する論理回路を含む。すなわち、ＥＭＣＡユニット３８は中央処理ユニットには独立なマイクロチャンネル３２のためのタイミングを発生する。
【００５２】
図１４および図１５は本発明の実施例のシンクロナイザ３７をさらに詳細に示す。特に、この同期ユニット３７はＭＣＡユニット３９（図１４の右側）によって機能ブロックＢＩＢ３０（図８、９）の内部トランザクションバス３５（図１４の左側）を緩衝するものであることを理解されたい。
【００５３】
シンクロナイザ３７の主な機能は、中央処理ユニット１０およびマイクロチャンネル３２の異なる動作周波数を補償すること、およびデータ転送を円滑にするための緩衝を行なうこと、そしてシステムの柔軟性を強化することである。
【００５４】
シンクロナイザ３７は特に、ＭＣＡユニット３９と機能ブロックＢＩＢ３０の内部トランザクションバス３５との間の転送を同期化する。これは特に必要なことである。なぜならば中央処理ユニットは例えば周波数が２０ＭＨｚないし３３ＭＨのいろいろな周波数で動作する可能性があるが、それには拘わらずＭＣＡユニット３９は４０ＭＨｚにクロックされるからである。さらに加えて、シンクロナイザ３７はＥＭＣＡストリーミングの緩衝を行なう。ＥＭＣＡストリーミングは６４ビットのブロックで最大８０Ｍバイト／秒の非常に高いデータ速度でデータを送信するものである。これはそれぞれが６８ビット（６４ビット＋４ビット）の幅を有する８個のレジスタを含むバッファ７０で行なわれる。
【００５５】
以下に説明するように、シンクロナイザ３７は四個の内部バス対を含む。シンクロナイザ３７に出入りするすべての信号が緩衝される。これらのバッファのいくつかは常時イネーブル化されている。
【００５６】
図１４の左側に見られるように、内部トランザクションバス３５の二方向性アドレスバスＩＡ（３１：２）は入力アドレスバスａｉｎ（３１：２）と出力アドレスバスａｏｕｔ（３１：２）とに分割されたアドレスバス対と通信する。これら入力アドレスおよび出力アドレスバスはＭＣＡユニット３９のラッチＡｏｕｔおよびＡｉｎに接続される。
【００５７】
一般的に、データの流れる方向はデータの入力制御信号ｖａｌｉｄｂｉおよび出力のための制御信号ｖａｌｉｄｂｏによって駆動される駆動器８０により決定される。
【００５８】
内部トランザクションバス３５のデータ線ＩＤ（３１：０）は内部バス線ｄｉｎｌ（３１：０）、ｄｏｕｔｌ（３１：０）およびｄｏｕｔｈ（３１：０）を介して、また部分的に適当な予備格納Ｅレジスタ７６、７８を介して、ＭＣＡユニット３９の対応するラッチＤＬｏｕｔ、ＤＨｏｕｔ、ＤＬｉｎ、ＤＨｉｎと接続される。文字ＤＬは３２ビットを含むデータの下位部分を示し、文字ＤＨは３２ビットデータの上位部分を示す。
【００５９】
バイトイネーブル信号のための、内部トランザクションバス３５の線ＩＢＥｂ（３：０）は内部シンクロナイザバス線ｂｅｂｉｎ（３：０）、ｂｅｂｏｕｔ（３：０）と通信し、また後述するマルチプレクサＭＵＸ２  ８４、８６、別のＥレジスタ８２、８８等のいくつかの回路網を介して、ＭＣＡユニット３９の対応のラッチＢＥＡｏｕｔ、ＢＥＢｏｕｔ、ＢＥｉｎと通信する。
【００６０】
同様にして、内部トランザクションバス３５の命令バスＣｏｕｔおよびＣｉｎは内部シンクロナイザバス線ｃｏｕｔ（１０：０）、ｃｉｎ（１２：０）およびマルチプレクサＭＵＸ２  ９３を介してＭＣＡユニット３９の対応のラッチｃｉｎ、ｃｏｕｔと通信する。
【００６１】
シンクロナイザ３７の制御器主要部は、いくつかの組合せ論理回路９１、９２、９５を介して３５制御器に接続された制御状態決定装置９０を含む。制御状態決定装置９０には同期回路９６、９７も接続されている。
【００６２】
この内部シンクロナイザバスの制御入力部はさらにＥレジスタ（１２：０）９４を含む。
【００６３】
シンクロナイザ３７のさらに重要なユニットは、データ入力線およびデータ出力線ｄｉｎｌ（３１：０）、ｄｉｎｈ（３１：０）、ｄｏｕｔｌ（３１：０）およびｄｏｕｔｈ（３１：０）、および内部バイトイネーブル線ｂｅｂｉｎ（３：０）およびｂｅｂｏｕｔ（３：０）に接続されたバッファ７０である。
【００６４】
二つのクロック、中央処理ユニットクロックＮＰＣＬＫとマイクロチャンネルクロックＭＣＬＫ、があることに注意されたい。すなわち、予備格納レジスタ７６、７８、８２を介してＭＣＡユニット３９により与えられるデータおよびバイトイネーブル信号についてはマイクロチャンネルクロックＭＣＬＫによりクロックされ、バッファ７０の入／出力については中央処理ユニットクロックＮＰＣＬＫによりクロックされる。従って、これは中央処理ユニット１０とマイクロチャンネル３２とに独立のタイミングを与える。クロックＭＣＬＫは中央処理ユニット１０に選択された動作周波数とは独立で、通常、中央処理ユニットクロック（２０ＭＨｚおよび３３ＭＨｚの間）よりもずっと高い周波数（例えば４０ＭＨｚ）を有する。バッファ７０は、データ転送における著しい時間差および中断を平滑化する優れた緩衝能力を有し、最適な転送連続性を達成する。またバッファ７０はシステムに顕著な柔軟性を与える。
【００６５】
シンクロナイザ３７の主要構造を説明したので、その機能についてさらに詳細な説明をする。
【００６６】
上述したように、ＤＭＡ制御器３６のアドレスバスＩＡ（３１：２）はシンクロナイザ３７の二方向内部アドレスバスに接続される。このアドレスのゲートはｖａｌｉｄｂｉと呼ぶ信号およびｖａｌｉｄｂｏと呼ぶ信号により制御される。この信号ｖａｌｉｄｂｉは内部トランザクションバス３５からシンクロナイザ３７に「アドレスを入力せよ」という命令を意味する。信号ｖａｌｉｄｂｏは内部トランザクションバス３５に「アドレスを発行せよ」という命令を意味する。
【００６７】
ａｏｕｔバスは常にＭＣＡ入力ラッチＡｉｎに接続されてＭＣＡ入力端の入力が浮遊しないようにしていることに注意されたい。ＭＣＡ出力ラッチＡｏｕｔの出力アドレス値は、内部トランザクションバス３５からの有効アドレスが全くゲート入力されないときは、常にａｉｎにゲート入力される。
【００６８】
もしも有効な命令が内部トランザクションバス３５からシンクロナイザ３７に発行されると、ａｉｎバスからのアドレスがＥレジスタ７２に格納される。その出力端はａｏｕｔバスに接続される。従ってＥレジスタ７２内にそのアドレス値が格納された直後に、当該アドレスはａｏｕｔバスに通過される。
【００６９】
二つの下位アドレスビットａｏｕｔ（２）およびａｏｕｔ（３）はマルチプレクサ７４で、バーストサイクルに適当な開始アドレスを与えるための２ビットカウンタ出力と多重化される。シンクロナイザ３７は、ストリーミングモードではシンクロナイザ３７にデータを返すことができないＭＣＡスレーブデバイスに適当な開始アドレスを与える。
【００７０】
下位３２ビットの内部シンクロナイザデータバス、すなわちｄｉｎｌ（３１：０）／ｄｏｕｔｌ（３１：０）が上記アドレスバスと同様に制御される一方、  上位３２ビットの内部シンクロナイザデータバス、すなわちｄｉｎｈ（３１：０）／ｄｏｕｔｈ（３１：０）はＭＣＡラッチＤＬｉｎおよびＤＨｉｎにのみ接続されて６４ビット転送能力を与える。これはマイクロチャンネル３２がストリーミングモードで動作しているときに要求されるものである。上記ｄｉｎｈ／ｄｏｕｔｈ線はこれらのバス上に有効電圧レベルを与えるため、常にイネーブル化される。これは入力端が接地された対応の駆動器制御回路で認知される。
【００７１】
以下にさらに詳細に説明するが、バッファ７０に格納されるデータは３２ビット形式でも６４ビット形式でもよい。
【００７２】
予備格納Ｅレジスタ７６、７８はそれぞれＭＣＡユニット３９のデータ出力ラッチＤＬｏｕｔおよびＤＨｏｕｔに接続され、バッファ７０内に先のデータワードが格納されるよりも前にマイクロチャンネルバスからの新規データをＭＣＡユニット３９がラッチできるようにする。これによってＭＣＡユニット３９からシンクロナイザ３７へのデータ書き込みの時間的重複を可能にする。
【００７３】
バイトイネーブル線ｂｅｂｉｎ／ｂｅｂｏｕｔ（３：０）はアドレス線と同様に制御される。しかし、これらのバイトイネーブル値は、もしも書き込みトランザクションが起きたときはバッファ７０に格納される。レジスタ内に格納されたバイトイネーブル値は当該レジスタ内に格納されたいずれのバイトが有効であるかを示す。読み取りトランザクションの期間、バイトイネーブル値はアドレスと同様にＥレジスタ８８に格納される。
【００７４】
１６ビットＭＣＡ書き込みサイクルにおいてはバッファ７０へのバイトイネーブルの格納は必須である。ＭＣＡユニット３９は書き込み動作中に３２ビットワードを組み立て、すべてのバイトイネーブルをアクティブ化してそれらをシンクロナイザ３７に送る。しかし、もしも最後の転送が１６ビットの転送であると、メモリブロックＭＩＢ４０（図１）にどのように当該１６ビットワードを格納すべきかを通知すべく適当な値にバイトイネーブル値を設定しなければならない。
【００７５】
ＭＣＡユニット３９からバッファ７０へのバイトイネーブル路もまた別の予備格納Ｅレジスタ８２を含む。これも上記データ路についてと同様の目的で設けてある。読み取りサイクルの場合、追加的なこの段は迂回される。
【００７６】
内部トランザクションバス３５およびＭＣＡユニット３９からのバイトイネーブル線は二つのマルチプレクサ８４、８６を介して一バイトイネーブルバスに結合される。マルチプレクサ８４、８６の一方は７０の入力端に接続され、他方が外部バイトイネーブルＥレジスタ８８に接続される。
【００７７】
命令バス信号に関して言うと、これらもまたＭＣＡユニット３９から受信される。マルチプレクサ９３がゲートとなって、どのブロックが有効命令を送ることが許されているかに応じて適当な命令バス信号をＥレジスタ９４に与える。ホストマスター、すなわち中央処理ユニット１０または別のバスマスターのいずれかからの有効な命令信号によって新規なサイクルが開始されるときは必ず、Ｅレジスタ９４がクロックされる。
【００７８】
シンクロナイザ３７を出る命令バス信号および制御バス信号はほとんど、組み合わせ論理回路９１、９２、９５と組み合わされる状態決定装置９０により発生される。
【００７９】
ほとんどの命令バス信号および制御バス信号がＭＣＡブロック内の状態決定装置および同期ユニットにより使用されるので、これらは使用されるまえに同期されなければならない。
【００８０】
シンクロナイザ９６、９７はそれぞれ二つのフリップフロップを含む。入力フリップフロップは同期クロックの下降縁でクロックされ、第二のフリップフロップはその上昇縁でクロックされる。この同期方式は同期信号に１／２クロックサイクル（最良の場合）ないし３／２クロックサイクル（最悪の場合）の遅延を与える。
【００８１】
ここで図１６を参照して、バッファ７０の設計および機能を詳細に説明する。
【００８２】
バッファ７０は二重ポート付きのものとして設計されており、一つのレジスタの幅を６８ビットとする８レジスタの構成となっている。好ましい実施例ではバッファ７０はＥレジスタで与えられている（これはイネーブル化されたときにレジスタがアクティブとなることを意味する）。ただしこれには他の形式のメモリを使用することもできる。バッファ７０の各レジスタはＤ０Ｌ、ＤＯＨの様な二つの３２ビットデータ格納ロケーションおよびＢＥＯの様なバイトイネーブル値のための４ビット部を含む。レジスタ７００の様なのバッファレジスタは書き込みまたは読み取りポインタ値により選択される。その書き込みポインタ値は基本アドレスと復号器から発生される可変オフセット値と結合することにより得られる。図１６図に示すようにそのようなアドレスは書き込みアドレス制御器８３および読み取りアドレス制御器８５で達成される。各アドレス制御器８３、８５はポインタレジスタを含み、書き込みアドレス制御器８３はまた基本アドレスに加算されるべきオフセット値を決定するためのオフセット復号器を含む。これによってバッファ７０を「分類化メモリ」として使用することが可能となる。ポインタレジスタに加えて、書き込みアドレス制御器８３および読み取りアドレス制御器８５は各々当該ポインタレジスタによって指定されたバッファレジスタのいずれのデータ格納ロケーションがアクセスされるべきかを決定するためのカウンタを含む。バッファ７０上のすべての書き込みおよび読み取り動作は中央処理ユニット１０（図１ないし図７）のホスト中央処理ユニットクロックＮＰＣＬＫと完全に同期して働くことに注意されたい。
【００８３】
前に述べたように、データ転送に対する「マスター」は「ホストマスター」であるホスト中央処理ユニット１０でも「バスマスター」と呼ばれるＭＣマスターデバイスでもよい。データワードサイズはホストマスターの書き込みサイクルではホストＰ／Ｍバス２０（図１ないし図８）および機能ブロックＢＩＢ３０の内部トランザクションバス３５の幅に相当する３２ビットを超えることはない。もしも有効なデータワードが内部トランザクションバス３５上でシンクロナイザ３７に発行されると、そのデータワードは、ＢＥ０レジスタ内に格納されているバイトイネーブル値と並列に、第一下位３２ビットエントリーＤ０ＬとしてＤ０Ｌレジスタ内に書き込まれる。このＤ０Ｌロケーションは書き込みポインタ（基本アドレス）およびおよび書き込みアドレス制御器８３によってオフセット値０により選択される。
【００８４】
書き込みアドレス制御器８３の書き込みポインタはホストマスターの書き込みサイクル中はバッファ７０内の第一エントリーを指示するようにロックされる。従って単一データワードが送信されるホストマスターの書き込みサイクルでは８個のバッファレジスタの唯一個のみが使用される。それにも拘わらず、シンクロナイザ３７は別のデータを受理できる。ＭＣＡユニット３９がバッファ７０からデータを読み取ると同時に、バッファ７０は内部トランザクションバス３５から新規データを受理できる。従って、シンクロナイザ３７およびＭＣＡユニット３９の組み合わせは、最適なホストマスター書き込みサイクル性能を実現する「２段データパイプライン」を構成する。
【００８５】
読み取りポインタもまたホストマスター書き込みサイクル期間、ロックされ、書き込みポインタと同一のレジスタを指示する。ＭＣＡユニット３９がシンクロナイザ３７から開始命令を受信するや否や、読み取りアドレス制御器８５のバッファ７０から当該データを取り出し、それを選択されたＭＣＡデバイスに書き込む。
【００８６】
ホストマスターの読み取りサイクルに関して言うと、これらサイクルは以下の点で書き込みサイクルと異なる。すなわち、読み取りリクエストは内部トランザクションバス３５から受信され、そのアドレスおよびバイトイネーブル値はそれぞれのレジスタに格納されると共にＭＣＡユニット３９に通される。
【００８７】
バッファ７０への書き込みは、「読み戻し」手続きにおいて行なわれる。この手続きは、書き込みポインタ値と、オフセット値０とでアドレス指定されるＤ０Ｌ内に有効データを格納する手続きである。当該データは内部トランザクションバス３５が開放されるとすぐに、読み取りポインタによるアドレス指定に従って３５に「読み戻し」される。このサイクルではシンクロナイザ３７は書き込みサイクルの場合と対照的に新規な命令を受理することはできない。なぜならばシンクロナイザ３７はＭＣＡユニット３９からのデータの戻りを待つからである。
【００８８】
起こりうるデータ転送の別の形態としては、ホストマスターのバーストモードがある。ホストマスターのバースト読み取りサイクルは基本的には通常のホストマスター読み取りサイクルと同様に開始する。
【００８９】
開始アドレスがＭＣＡユニット３９によって受信された後、ＭＣＡユニット３９は当該アドレスされたＭＣＡデバイスにアクセスし、四つの３２ビットワードをバッファ７０に読み戻す。ただしもしもそのＭＣＡデバイスが高速６４ビットストリーミングモードで動作しているときは二つの６４ビットデータブロックを呼び戻す。もしもＭＣＡユニット３９からの四つの３２ビットワードがバッファ７０中に通常のバーストモード（非ストリーミングモードで）書き込まれると、これらは書き込みポインタにより選択される別個の四個のバッファレジスタ中にシーケンスをなして書き込まれる。もしもＭＣＡユニット３９から二つの６４ビットデータブロックがバッファ７０中にストリーミングモードで書き込まれるなら、これら二ブロックは書き込みポインタにより選択される二つのバッファレジスタ中にシーケンスをなすように書き込まれ、すべてのビットを以て当該選択されたバッファレジスタ中に同時書き込みされた各ブロックを構成する。６４ビットデータブロックを構成する二つの３２ビットデータワードが、選択されたバッファレジスタの二つのデータ格納ロケーション中に書き込まれる順序は、８３のカウンタにより決定される。バーストモードでは、ホストプロセッサであるユニット１０は四個の３２ビットデータワードまでのワードを予期する。これは中央処理ユニット１０がインテル０８４８６マイクロプロセッサである場合には下位開始アドレスビットＡ（２）、Ａ（３）により決定される一定のシーケンスで戻されなければならない。例えばＡ（３）＝１、Ａ（２）＝０である場合は中央処理ユニット１０はアドレスシーケンスａｄｄｒ３、ａｄｄｒ４、ａｄｄｒ１、ａｄｄｒ２のデータを予期する。もしもＭＣＡデバイスが６４ビットブロックのデータからなるデータをストリーミングモードで送ると、ＭＣＡはこのデータを通常のシーケンスであるａｄｄｒ１、ａｄｄｒ２、ａｄｄｒ３、ａｄｄｒ４でしか与えることができない。しかしながら、書き込みアドレス制御器８３はＭＣＡユニット３９から送信されるデータワードを、ホストプロセッサ中央処理ユニット１０が要求する正しい順序でバッファ７０中にストリーミングモードで書き込まれるようにできる。
【００９０】
このようにしてＭＣＡユニット３９から受信したデータは、読み取りポインタを増大させることにより読み取りできるような順序で、すなわちバッファ７０のレジスタの内容を予定のシーケンスで読み取りできるように、バッファ７０中に書き込まれる。各レジスタの格納レジスタロケーションもまた予定のシーケンスでアクセスできる。このことはそのデータワードがＭＣＡからの「読み戻し」期間に分類されることを意味する。各データワードが格納されているバッファレジスタは、基本書き込みポインタ値と書き込みアドレス制御器８３内の復号器で発生されるオフセット値との和でアドレス指定され、中央処理ユニット１０により与えられる開始アドレスにより決定される。
【００９１】
分類が全く要求されないＭＣＡユニット３９からの３２ビット読み戻しでは、データは書き込みポインタをロケーションＤ０ＬからロケーションＤ３Ｌにシーケンシャルをなすように前進させることにより最初の四つのレジスタロケーションＤ０ＬないしＤ３Ｌに書き込まれることに注目されたい。
【００９２】
バスマスター書き込みサイクルではＭＣＡマスターデバイスはデータを６４-ビット、３２-ビット、２４-ビット、１６-ビット、または８-ビットフォーマットでバッファ７０に書き込む。これらのデータと共にバッファ７０は必要なバイトイネーブル情報を格納する。シンクロナイザ３７にはすべての書き込みが３２-ビットまたは６４-ビットの書き込みと同様に見える。そのようなデータを受信するメモリブロックＭＩＢ４０（図１ないし図７）は当該バイトイネーブル値を検査することによりデータ幅を決定する。これらは６４-ビットおよび３２-ビットデータについて同一である。なぜならばデータは内部トランザクションバス３５およびホストＰ／Ｍバス２０を３２-ビットワードで通過するからである。
【００９３】
バッファ７０への単一の書き込みでは、そのレジスタは常に書き込みポインタ値とオフセット値０との和によって選択される。通常の８-ビット、１６-ビット、または３２-ビットの書き込みでは唯一つの書き込みオペレーションが起こる。
【００９４】
ＭＣＡユニット３９にデータサイズおよびストリーミングモード情報をシンクロナイザ３７へ通過させるステータスがマイクロチャンネル３２（図１）に一旦到達すると、シンクロナイザ３７は「ストリーム書き込み」または「通常の書き込み」を開始し、内部トランザクションバス３５上のメモリブロックＭＩＢ４０の様なデバイスを選択する。このデータは読み取りポインタの制御の下にバッファ７０から内部トランザクションバス３５へ取り出される。データはシーケンス順に選択される。もしも６４-ビットＭＣデバイスが書き込みサイクルを遂行するなら、読み取りサイクルカウンタが、読み取りポインタに加えて使用される。これは７０の格納ロケーション内に格納されている３２-ビットデータワードをゲート制御により３２-ビット内部トランザクションバス３５上へ出すためであり、上記のバースト読み取りオペレーションに類似する。
【００９５】
バスマスターの読み取り／ストリーム読み取りサイクルでは、サイクルが「通常の読み取り」であるか「ストリーム読み取り」であるかによらず、シンクロナイザ３７はトランザクションバス３５へ「バースト読み取り」を発行する。
【００９６】
内部トランザクションバス３５からの３２-ビットデータワードは６４-ビット形式でバッファ７０中にかきこまれる。これは最初に到来するワードはゲート通過により多重化解除されて、ロケーションＤ０Ｌに入れられ、第二のワードはＤ０Ｌに、第三ワードはＤ１Ｌに入れられる、等を意味する。これらのロケーションのアドレス指定は書き込みポインタ値とオフセット０との和を、書き込みアドレス制御器８３に含まれる書き込みサイクルカウンタの値と組み合わせて行なわれる。このカウンタはＤ２Ｈの様な上位３２-ビットロケーションを書き込むことができるようにするため、一回置きに書き込みポインタをロックする。
【００９７】
上記の説明から本発明のシンクロナイザ３７は中央処理ユニット１０の周波数とマイクロチャンネルデバイスの周波数の相異に影響されずに、またマイクロチャンネル３２上にデータが与えられる幅の相異に影響されずに種々のデータ転送手続きを処理できるようにされており、最適なデータ転送性能を与えることを理解されたい。
【００９８】
上述したようにＢＩＢ３０には直接ダイナミックＲＡＭメモリ４２へのアクセスを制御するためのＤＭＡ制御器３６が設けられている。公知システムではこのＤＭＡ制御器は論理回路レジスタ等のすべての機能制御回路と、ＭＣＡ装置からシステムメモリへまたはその逆へ転送すべきデータをラッチ留めするためのメモリ部分とを含む別個のユニットとして設計されている。しかし本発明ではＤＭＡ制御器の機能は、シンクロナイザによって支配されるデータ転送のタイミングから分離されている。従ってこのＤＭＡ制御器は一層効率の高い改良された性能を有する。
【００９９】
このことはＤＭＡ制御器３６とＭＣＡユニット３９およびインターフェースユニット３４とを併せて単一の自己完結型機能ブロックに含めて設計する場合は特に言えることである。
【０１００】
中央処理ユニット１０は機能ブロック３０の上記動作の詳細をすべて支援するよう行動する必要性は全くないことに注目されたい。すなわち、各機能ブロックは自己完結型のユニットで、内部トランザクションバス３５上で行なわれる機能ブロックＢＩＢ３０内の書き込み／読み取りサイクルの開始を制御する義務から中央処理ユニット１０を開放する。
【０１０１】
特に、中央処理ユニットが命令を機能ブロックへ送った後は、さらに中央処理ユニットの制御がなくても機能ブロックがこの命令を行なう。例えば、機能ブロックＢＩＢ３０に送られたそのような命令はマイクロチャンネル３２からダイナミックＲＡＭ４２への書き込みデータがあるが、これはＤＭＡ制御器３６の制御の下に遂行される。各機能ブロックは論理回路およびそのプロセスを実行するためのフリップフロップ等の回路を含む。すべてこれらは所謂「状態決定装置」に含まれ、実行すべきプロセスおよび特定の条件に従って当業者が与えることができる。読み取りおよび書き込みオペレーションは一サイクル内にマスターユニットまたはスレーブユニットの動作に基づいて実行され、その場合読み取りサイクルに対して特定の優れた性能が得られることに注目されたい。すなわち、マスターが読み取りリクエストをした一サイクル後、準備完了次第、リクエストされたそのデータを一サイクル内にスレーブが独立に戻す。
【０１０２】
また、機能ブロックＢＩＢ３０のリクエスト／付与の手続きに関して、バスマスター機能が中央処理ユニット１０から機能ブロックＢＩＢ３０へ転送されることに注目されたい。図３ないし図７でＣＴＩＮ（０..１）信号が信号「１１」へ動的に変化することがこれを示している。この信号「１１」は信号ＣＴ（０..１）としてメモリブロックＭＩＢ４０および機能ブロックＢＩＢ３０に与えられるものである。
【０１０３】
このようにワークステーションに新規アーキテクチャを採用したため、動作速度を高めると共に待機状態を低減することができ、全体的性能が著しく改善されたことを理解されたい。さらに、種々の形式のマイクロプロセッサを含む異なった構成のワークステーションで使用する機能ブロックを標準化すること、またマイクロチャンネルおよびメモリブロックを多重化することにより、製造、組立、およびサービスにかかるコストを著しく低減できる。
【０１０４】
この事実は特に、各機能ブロックが一チップ（好ましくはＨＣＭＯＳデバイスである）で与えられる本実施例のワークステーションにとって真である。各チップはすべてレジスタ論理回路等の必要なサブユニットを含む。これらチップは標準化されはするが、広範囲のシステム構成で使用できるものである。なぜならばこれらは中央処理ユニットの形式、動作周波数、ダイナミックＲＡＭメモリ空間等の構成化に必要なデータに対して十分なレジスタ空間を含んでいるからである。
【０１０５】
一例を挙げれば、チップは簡単にワークステーションのシステムボードに設置できる２０８ピン使用のＡＳＩＣパッケージで与えることができる。
【０１０６】
当業者には本発明が例示した特定の実施例に限定されないことは明白であろう。また「ワークステーション」という用語は特定の形式のコンピューターに限定されず、任意のデータ処理システムを含む最も広義に解すべきものである。
【図面の簡単な説明】
【図１】本発明によるワークステーションの一実施例の全体図で、ワークステーションの種々の機能ブロックおよびそれらの相互接続を示す。
【図２】図３ないし図７の配置を示す図である。
【図３】種々の機能ブロックを相互に接続するに使用されるホストＰ／Ｍバスの詳細を示す図の一部である。
【図４】種々の機能ブロックを相互に接続するに使用されるホストＰ／Ｍバスの詳細を示す図の他の一部である。
【図５】種々の機能ブロックを相互に接続するに使用されるホストＰ／Ｍバスの詳細を示す図の他の一部である。
【図６】種々の機能ブロックを相互に接続するに使用されるホストＰ／Ｍバスの詳細を示す図の他の一部である。
【図７】種々の機能ブロックを相互に接続するに使用されるホストＰ／Ｍバスの詳細を示す図の他の一部である。
【図８】機能ブロックＢＩＢのブロック線図である。
【図９】図１０ないし図１３の配置を示す図である。
【図１０】機能ブロックＢＩＢの内部トランザクションバスの種々の線の詳細を示す図の一部である。
【図１１】機能ブロックＢＩＢの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図１２】機能ブロックＢＩＢの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図１３】  機能ブロックＢＩＢの内部トランザクションバスの種々の線の詳細を示す図の他の一部である。
【図１４】機能ブロックＢＩＢに使用するシンクロナイザのブロック線図の一部である。
【図１５】機能ブロックＢＩＢに使用するシンクロナイザのブロック線図の残りの一部である。
【図１６】図１４、図１５のシンクロナイザに使用するバッファの主要部設計を示す図である。
【図１７】単一書き込みサイクルについてワークステーションの動作を説明するためのタイミング図である。
【符号の説明】
１０  中央処理ユニット
１２  コプロセッサ
２０  ローカルバス
３０  バスインターフェースブロック
３２  マイクロチャンネルバス
４０  メモリインターフェースブロック
５０  周辺機器およびビデオグラフィックアクセスインターフェースブロック
【図１】
0003698324.tif 000002
【図２】
0003698324.tif 000003
【図３】
0003698324.tif 000004
【図４】
0003698324.tif 000005
【図５】
0003698324.tif 000006
【図６】
0003698324.tif 000007
【図７】
0003698324.tif 000008
【図８】
0003698324.tif 000009
【図９】
0003698324.tif 000010
【図１０】
0003698324.tif 000011
【図１１】
0003698324.tif 000012
【図１２】
0003698324.tif 000013
【図１３】
0003698324.tif 000014
【図１４】
0003698324.tif 000015
【図１５】
0003698324.tif 000016
【図１６】
0003698324.tif 000017
【図１７】
0003698324.tif 000018