(57)【特許請求の範囲】
【請求項１】
アドレスバス上のアドレスに従ってメモリへの相次ぐ書込みアクセスのためにデータバス上にデータをパックする装置であって、
前記アドレスバスの低位ビットに結合された入力をそれぞれ有するとともに前記相次ぐ書込みアクセスの各々のための低位アドレスビットを生ずる出力をそれぞれ有する複数のレジスタを含むタグメモリと、
前記タグメモリの複数のレジスタの出力にそれぞれ結合された複数の入力と、前記複数のレジスタの出力に基づいて前記相次ぐ書込みアクセスのどのバイトフィールドが有効であるかを示す信号を出力する出力とを有するデコーダと、
複数のデータレジスタを含む入力データメモリと、
データバスに結合されたデータ入力と、前記デコーダの出力に結合された制御入力と、前記入力データメモリに結合され相次ぐ転送の各々からのデータを前記入力データメモリのそれぞれの入力のビット位置に導く出力とを有する複数の操作回路と、
前記入力データメモリとは別個の複数のデータレジスタを含む出力データメモリと、
前記入力データメモリの複数のデータレジスタの１つである第１入力データレジスタの出力に結合された入力と、前記出力データメモリの複数のデータレジスタの１つである第１出力データレジスタの入力に結合された出力であって前記第１入力データレジスタの出力を出力する出力と、前記第１入力データレジスタの出力と前記入力データメモリの複数のデータレジスタの他の１つである第２入力データレジスタの出力とを加算して、該加算結果を前記出力データメモリの複数のデータレジスタの他の１つである第２出力データレジスタへ出力する加算器とを有するエンコーダ回路と、
前記出力データメモリの複数のデータレジスタそれぞれの出力のうちの１つを選択して出力するマルチプレクサと
を含む装置。
【請求項２】
前記タグメモリが四つのタグレジスタを含み、
前記入力データメモリが四つのデータレジスタを含み、
前記出力データメモリが四つのデータレジスタを含み、
前記マルチプレクサが前記出力データメモリの四つのデータレジスタの出力のうちの１つを選択して出力するものである
請求項１記載の装置。
【請求項３】
アドレスバス上のアドレスに従ってメモリへの書込みアクセスのためにデータバスからのデータをパックする装置であって、
書込みストローブ信号線と、
プラットフォーム指定信号線と、
前記アドレスバスの高位ビットに結合されたアドレス隣接性検出器と、
前記書込みストローブ信号線と前記プラットフォーム指定信号線と前記隣接性検出器の出力とにそれぞれ結合された複数の入力を有するとともに、前記複数の入力から取り込んだ信号に応じた各種の状態となり、該状態に応じた信号を出力する状態マシンと、
前記アドレスバスの低位ビットに結合された入力と前記状態マシンのそれぞれの第１のエネーブル出力に結合されたエネーブル入力とをそれぞれ有する複数のタグレジスタと、
前記複数のタグレジスタのデータ出力にそれぞれ結合された複数の入力を有するとともに、前記複数のタグレジスタのデータ出力に基づいて前記相次ぐ書込みアクセスのどのバイトフィールドが有効であるかを示す信号を出力するデコーダと、
前記データバスに結合されたデータ入力と前記デコーダの出力に結合された制御入力とを有する複数の操作回路と、
前記複数の操作回路の出力にそれぞれ結合された入力と前記状態マシンのそれぞれの第２のエネーブル出力に結合されたエネーブル入力とをそれぞれ有する複数の入力データレジスタと、
前記入力データレジスタとは別個の複数の出力データレジスタであって、前記状態マシンのそれぞれの第３のエネーブル出力に結合されたエネーブル入力をそれぞれ有する複数の出力データレジスタと、
前記複数の入力データレジスタの１つである第１入力データレジスタの出力に結合された入力と、前記複数の出力データレジスタの１つである第１出力データレジスタの入力に結合された出力であって前記第１入力データレジスタの出力を出力する出力と、前記第１入力データレジスタの出力と前記複数の入力データレジスタの他の１つである第２入力データレジスタの出力とを加算して、該加算結果を前記複数の出力データレジスタの他の１つである第２出力データレジスタへ出力する加算器とを有するエンコーダと、
前記複数の出力データレジスタの出力のうちの一つを選択して出力するマルチプレクサと
を含む装置。
【請求項４】
アドレスバス上のアドレスに従ってメモリへの相次ぐ書込みアクセスのためにデータバス上のデータをパックする装置であって、
第１の時点で第１の幅の複数の第１の入力データ項目を前記データバスから受けるとともに、前記第１の時点とは異なる第２の時点で第２の幅の複数の第２の入力データ項目を前記データバスから受ける手段であって、
前記アドレスバスの低位ビットに結合された入力をそれぞれ有するとともに前記相次ぐ書込みアクセスの各々のための低位アドレスビットを生ずる出力をそれぞれ有する複数のタグレジスタと、
前記複数のタグレジスタの出力それぞれに結合された複数の入力と、前記複数のタグレジスタの出力に基づいて前記相次ぐ書込みアクセスのどのバイトフィールドが有効であるかを示す信号を出力する出力とを有するデコーダ回路と、
データバスに結合されたデータ入力と、前記デコーダ回路の出力に結合された入力回路と、をそれぞれ有し、前記データ入力から各々入力されたデータを前記入力回路で入力した信号に応じたビット位置にして出力するする複数の操作回路と、
前記複数の操作回路の出力にそれぞれ結合された入力をそれぞれ有する複数の入力データレジスタと
を有する前記受ける手段と、
複数の前記第１の入力データ項目を加算して前記第１の幅よりも大きい幅の第１の出力データ項目にするとともに、複数の前記第２の入力データ項目を加算して前記第２の幅よりも大きい幅の第２の出力データ項目にし、前記第１および第２の出力データ項目の幅を等しくするエンコーダ付きのデータパッキング手段であって前記受ける手段とは別個の部分を有するデータパッキング手段と、
前記第１および第２の出力データ項目をメモリに書き込む手段と
を含み、
前記データパッキング手段は、
入力データレジスタとは別個の複数の出力データレジスタと、
前記複数の入力データレジスタの１つである第１入力データレジスタの出力に結合された入力と、前記複数の出力データレジスタの１つである第１出力データレジスタの入力に結合された出力であって前記第１入力データレジスタの出力を出力する出力と、前記第１入力データレジスタの出力と前記複数の入力データレジスタの他の１つである第２入力データレジスタの出力とを加算して、該加算結果を前記複数の出力データレジスタの他の１つである第２出力データレジスタへ出力する加算器とを有するエンコーダと、
前記複数の出力データレジスタの出力のうちの１つを選択して出力するマルチプレクサと
を含む装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明はコンピュータバスに関し、とくにバス帯域幅の最適化のための方法および装置に関する。
【０００２】
【従来の技術】
コンピュータバス構造およびバスプロトコルとしては種々のものが周知である。それら種々のバスの一つがＩＳＡバスである。ＩＳＡは工業標準アーキテクチュアであり、プラットフォーム資源接続用の８ビットスロットを提供するＰＣ型およびＸＴ型パーソナルコンピュータ用に開発され、また、プラットフォーム資源接続用の８ビットおよび１６ビットスロットを提供するＡＴ型パーソナルコンピュータ用に開発されたバス仕様である。プラットフォーム資源はユーザが容易に挿入および抜取りできるユーザアドオンカードを含む。８０８８型および８０２８６型マイクロプロセッサ利用のコンピュータシステムにもともと用いられていたＩＳＡバスは８０３８６型および８０４８６型マイクロプロセッサ利用のパーソナルコンピュータなどより高度のパーソナルコンピュータにも用いられている。これらマイクロプロセッサおよびそれらマイクロプロセッサ利用のパーソナルコンピュータシステムはカリフォルニア州サンタクララのインテル社やニューヨーク州アーモンクのＩＢＭ社など種々のメーカーから発売されている。
【０００３】
【発明が解決しようとする課題】
ＩＳＡバスは、データサイズ１６ビット、メモリアドレス空間１６メガバイト（ＭＢ）、バスクロック速度８メガヘルツ（ＭＨｚ）に制限され、低性能バスとして特定される。ＥＩＳＡバスなどの新型のシステムバスやＶＥＳＡバスやＰＣＩバスなどの種々のローカルバスがその後導入された。これら新型バスはＩＳＡバスよりもかなり高速であるので、システムマイクロプロセッサと高精細度画像ディスプレイや高速度キャッシュ動作可能なハードディスクドライブなどの高性能周辺装置との間のＩ／Ｏ信号授受の目的に有利である。しかし、ＰＣ型、ＸＴ型およびＡＴ型パーソナルコンピュータは、内部のマザーボードの交換、すなわち禁止的に高額の費用を要する選択となるマザーボードの交換なしには高性能化できないので、ＩＳＡバスはこれまでどおり広く使われ続けるものと見られる。それだけでなく、ＩＳＡ互換性はこれまで以上に組込みコンピュータシステムに求められている現状である。
【０００４】
システムバスとしてＩＳＡバスを用いたプラットフォームは高性能周辺装置、すなわちＩＳＡバスにプラグインされるユーザアドオンカードの形で入手可能な高性能周辺装置を十分に活用できない。この状況はマルチメディアの進展に伴ってとくに問題にされるに至っている。マルチメディア用のＩＳＡバスプラットフォームは、高精細度グラフィックスアクセレレータやマルチメディアアドオンカードなどの広帯域周辺装置とともに通常は高性能化しなければならない。ＩＳＡバスで構成するこれら高性能化したＩＳＡバスプラットフォームの性能は大ていの場合不十分である。
【０００５】
【課題を解決するための手段】
この発明はシステムバスメモリ書込みサイクル内にメモリ利用の効率を高めるダイナミックコンピュータバスを提供する。
一つの実施例においては、相続くワイヤアクセスの各々に対し低位アドレスビットを提供するための出力をタグメモリが備える。タグメモリに接続したデコーダは互いに連続した書込みアドレスのどのバイトフィールドが有効であるかを示す出力を有する。そのデコーダに接続した複数の操作回路が、互いに引続くデータ転送の各々から入力データメモリの各データエントリーのビット位置にデータを振り向ける出力を備える。一方、その入力データメモリに接続した符号化回路が出力データメモリへの出力を有し、その入力データメモリからの累進的に組み合わされたデータを出力データメモリの各データエントリーに振り向ける。上記出力データレジスタの出力に接続されたマルチプレクサは出力データメモリへのデータエントリーの選ばれた一つに供給すべき出力を生ずる。
【０００６】
もう一つの実施例では、第１のシステムバスメモリ書込みサイクル期間中に第１のデータをシステムバスに送り、その第１のデータは第１のレジスタの第１のセグメントおよび第２のレジスタの第１のセグメントに書き込む。また、第２のデータを第２のシステムバス書込みサイクル期間中にシステムバスに供給し上記周辺装置に送る。上記第２のデータが第１のデータのアドレスの隣接のアドレスを有し上記第２のシステムバス書込みサイクルがメモリ書込みサイクルの介在なく第１のシステムバスメモリ書込みサイクルに引き続いている場合は、第２のデータは第２のレジスタの第２のセグメントに書き込まれる。第２の出力レジスタの第１および第２のセグメントは第２のレジスタから供給される。
【０００７】
【実施例】
ユーザアドオンカード１４０および１５０に実動化されたダイナミック３２ビットコンピュータを含むＩＳＡバスプラットフォームの図解が図１に示してある。ホストバス１１０は高性能コンピュータバス、すなわちシステムプロセッサ１１２とある種の実動化における種々のプラットフォーム資源との接続を受ける高性能コンピュータバスに相当する。ホストバス１１０はメーカーによって種々のやり方で実動化される。図１の実施例では、ホストバス１１０は、プロセッサ１１２、ＤＲＡＭ１１４、および直接メモリアクセス（ＤＭＡ）コントローラ１１６からアクセス可能である。プロセッサ１１２はこのプラットフォームの主要プロセッサであり電源投入後およびシステムリセット後の最初のバス占有部材である。パーソナルコンピュータシステムでは、プロセッサ１１２はインテル社発売の８０８８、８０２８６、８０３８６、８０４８６およびペンティアムマイクロプロセッサなどＸ８６系プロセッサで構成する。ＤＲＡＭ１１４はプラットフォームメモリ資源である。ＤＭＡコントローラ１１６はＩ／Ｏ資源とＤＲＡＭ１１４などのメモリ資源との間のデータの直接転送を制御し、プロセッサ１１２、リフレッシュコントローラ１３８、慣用のユーザアドオンカード１２２、高性能ユーザアドオンカード１４０、１５０などシステムバス占有部材になり得る他のプラットフォーム資源との間のシステム占有仲裁を行う。
【０００８】
ＩＳＡバス１２０とホストバス１１０との間のインタフェース回路は制御インタフェース１３０、アドレスバッファ１３２、およびデータバッファ１３４を含む。制御インタフェース１３０はホストバス１１０の制御線プロトコルとＩＳＡバス１２０の制御線プロトコルとの間の翻訳を行う。アドレスバッファ１３２はホストバス１１０とＩＳＡバス１２０との間のアドレス信号線のバッファとして作用する。データバッファ１３４はホストバス１１０とＩＳＡバス１２０との間のデータ信号線のバッファとして作用する。
【０００９】
これら以外のプラットフォームコントローラには、割込みコントローラ１３６およびリフレッシュコントローラ１３８が含まれる。割込みコントローラ１３６はホストバス１１０およびＩＳＡバス１２０の割込み要求信号線をサポートする。リフレッシュコントローラ１３８はプラットフォーム内容およびバスメモリ内容のリフレッシュサイクルを実行し、システム占有が可能である。ＰＣ型およびＸＴ型コンピュータではリフレッシュコントローラはＤＭＡチャンネルＯサイクルであるが、ＡＴ型コンピュータでは図１に示すとおり個別の専用回路である。
【００１０】
ユーザアドオンカード１４０および１５０は、プラットフォームがＡＴ型プラットフォームであるか、ＸＴ型プラットフォームであるかに関わりなくアドオンカード１４０および１５０から見たＩＳＡバス１２０にダイナミック３２ビットバスキャラクタをそれぞれ示すパッキング回路（ＰＡＣ）１４２および１５２をそれぞれ含む。図示の実施例ではＰＡＣ１４２および１５２は同一の回路である。カード１４０および１５０の各々は集積回路または各デバイス１４４および１５４を実動化するひと組の集積回路を含む。デバイス１４４は例えばスーパーＶＧＡグラフィックスドライバを含み、デバイス１５４は例えば画像フレームバッファデバイスなどのマルチメディアデバイスを含む。メモリ１４９と関連づけてあるデバイス１４４はＰＡＣ１４２経由でＩＳＡバス１２０とインタフェースを形成する。メモリ１４９は２メガバイトＤＲＡＭまたはＶＲＡＭメモリなど適当な画像メモリであり、デバイス１４４の接続をバス１４６および仲裁回路１４８経由で受ける。デバイス１５４はＰＡＣ１５２経由でＩＳＡバス１２０とインタフェースを形成し、バス１５６および仲裁回路１４８経由でメモリ１４９に接続される。バス１５６の一部はアドオンカード１４０および１５０を互いに接続するケーブルである。
【００１１】
ＰＡＣ１４２および１５２によってＩＳＡバス１２０に伝えられるダイナミック３２ビットキャラクタによって、アドオンカード１４０および１５０の周辺装置機能が性能向上する。例えば、アドオンカード１４０が高精細度グラフィックスアクセレレータであってアドオンカード１５０がマルチメディア画像捕捉処理カードである場合は、デバイス１４４および１４５はメモリ１４９に頻繁にアクセスする必要がある。ＰＡＣ１４２および１５２がなければ、このアクセスは、バス１４６および１５６のバス幅がこの実施例において３２ビットであっても、ＡＴ型プラットフォームについては１６ビットアクセスであり、またＰＣ型またはＸＴ型プラットフォームについては８ビットアクセスである。デバイス１４４および１５４による頻繁なアクセス試行はメモリ１４９についてときどきコンテンションを生ずる。コンテンションは仲裁を要しそれが度重なると遅れや性能低下の原因となる。ＰＡＣ１４２および１５２は隣接する１６ビットアクセスおよび８ビットアクセスを３２ビットダブルワードにパックし、そのダブルワードをメモリ１４９に伝達する。その際には３２ビットメモリの全帯域幅を用いるので、アクセスの頻度およびコンテンションの可能性が減少する。すなわち、アドオンカード１４０および１５０による周辺装置の性能向上が実現できる。
【００１２】
ユーザアドオンカード１４０上のＰＡＣ１４２を図２に示す。ユーザアドオンカード１５０上のＰＡＣ１５２もこの実施例では同一である。ＰＡＣ１４２は図３Ａ、３Ｂ、３Ｅおよび３Ｆに示した隣接アドレス用ＩＳＡバス１２０にダイナミック３２ビットキャラクタを送る。アドレス隣接性はシステムアドレスビットＳＡ〔１９：２〕から把握する。同一のビット〔１９：２〕を有するアドレスは隣接していると判断する。
【００１３】
ＡＴ型コンピュータへのインストール時および他のカード回路１２８への１６ビットＩＳＡバス書込みサイクル期間中には、ＰＡＣ１４２は二つの隣接ワード（１６ビット）を上昇順にダブルワード（３２ビット）にパックする。図３Ａはアドレス系列ｂｂｂ００およびｂｂｂ１０についてのワード３００および３０１をダブルワード３０２にパックする様子を示し、図３Ｂは逆アドレス系列ｂｂｂ１０およびｂｂｂ００についてのワード３０４および３０５をダブルワード３０６にパックする様子を示す。アドレスに続けて示してあるビットはＢＨＥＮであり、システムバイトハイイネーブルビットは０である。
【００１４】
ＡＴ型コンピュータへのインストール時および８ビットＩＳＡバス書込みサイクル期間中には、ＰＡＣ１４２はバイパスモード（図示してない）で動作し、四つの各ダブルワード中に、４バイト、すなわち各バイトがそのダブルワードの中の適当な位置を占める４バイトを出力する。バイパスモードは状態マシン２００の設計を単純化し、状態マシン２００の実動化に必要なダイ区域の量を減らす。ＡＴ型プラットフォームでは８ビットＩＳＡバス書込みサイクルの使用頻度は比較的低いので、単純化に伴う性能劣化は少ない。しかし、必要があれば、ＰＡＣ１４２は二つの隣接ワードからの四つ以下のバイトを上昇順にダブルワードにパックするように設計できる。図３Ｃはアドレス系列ｂｂｂ００、ｂｂｂ０１、ｂｂｂ１０およびｂｂｂ１１についてのバイト３１０、３１１、３１２および３１３をダブルワード３１４にパックする様子を示し、同図においてＢＨＥＮはアドレスｂｂｂ００およびｂｂｂ１０については１、アドレスｂｂｂ０１およびｂｂｂ１１については０である。図３Ｄは逆アドレス系列ｂｂｂ１１、ｂｂｂ１０、ｂｂｂ０１およびｂｂｂ００についてのバイト３２０、３２１、３２２および３２３のパッキングの様子を示し、同図においてＢＨＥＮはアドレスｂｂｂ００およびｂｂｂ１０については１、アドレスｂｂｂ０１およびｂｂｂ１１については０である。上記以外の種々の隣接アドレス系列順列（図示してない）、すなわちｂｂｂ０１、ｂｂｂ００、ｂｂｂ１１およびｂｂｂ１０などの系列についてもパッキングを行う。
【００１５】
ＸＴ型またはＰＣ型コンピュータへのインストール時には、ＰＡＣ１４２は上昇順の互いに隣接する四つのバイトをダブルワードにパックする。図３Ｅはアドレス系列ｂｂｂ００、ｂｂｂ０１、ｂｂｂ１０およびｂｂｂ１１についてのバイト３３０、３３１、３３２および３３３でダブルワード３３４にパックする様子を示す。図４は逆アドレス系列ｂｂｂ１１、ｂｂｂ１０、ｂｂｂ０１およびｂｂｂ００についてのバイト３４０、３４１、３４２および３４３のパッキングの様子を示す。上記以外の種々の隣接アドレス系列順列（図示してない）、すなわちｂｂｂ０１、ｂｂｂ００、ｂｂｂ１１およびｂｂｂ１０などの系列についてもパッキングを行う。ＸＴ型またはＰＣ型プラットフォームについてはビットＢＨＥＮは定義しない。
【００１６】
ＰＡＣ１４２は、標準サイクルから抽出した種々の入力信号およびＩＳＡバス１２０上のバス制御信号を受ける状態マシン２００を含む。信号ＣＲ２Ｂ２ １は結線ずみプラットフォームに依存する信号であって、ＰＣ型またはＸＴ型プラットフォームについては 'ｂ１１、ＡＴ型プラットフォームについては 'ｂ０１、ＶＬ型プラットフォームについては 'ｂ１０、ＰＣＩ型プラットフォームについては 'ｂ００である。信号ＴＢＭＯＤＥはテキストモード信号であって、画像コントローラでビデオモード期間中にパッキングを２バイトに制限するのに有用である。信号ＷＳＴＲＯＢＥＮは下記のサイクル制御信号、すなわちメモリ書込みサイクルを一般的に示す信号ＭＥＭＷ、８ビットアドオンスレーブカードとの互換性のための第１のメガバイトメモリ書込みを示す信号ＳＭＥＭＷ、およびＩ／Ｏ書込みサイクルを示す信号ＩＯＷから抽出した書込みストローブエネーブル信号である。信号ＲＥＦＲＥＳＨはリフレッシュコントローラ１３８に駆動されてメモリリフレッシュサイクルを示す信号ＲＥＦＲＥＳＨである。信号ＣＬＯＣＫはＰＡＣ１４２のための５０メガヘルツクロックである。
【００１７】
ＰＡＣ１４２は非バス信号ＡＤＪＡＣＥＮＴを状態マシン２００に供給する隣接性検出回路２７０を含む。この検出回路２７０は現時点および先行のシステムアドレスＳＡのビット〔１９：２〕を比較し、それらビットが同一であるとき信号ＡＤＪＡＣＥＮＴを生ずる。状態マシン２００により書込みエネーブル信号が生ずると、隣接性検出回路２７０はラッチしたアドレスをその出力線ＷＡ〔１９：２〕に生じ、そのアドレスがＰＡＣ１４２の線ＣＤＡＴＡ ＯＵＴ〔３１：０〕上の３２ビットダブルワードのアドレスになる。次に、現時点のシステムアドレスＳＡ〔１９：２〕はラッチされ、ＷＲＥＮの次の発生の際に供給される次のダブルワードＣＤＡＴＡ ＯＵＴ〔３１：０〕のためのアドレスとなる。
【００１８】
ＰＡＣ１４２には四つのタグレジスタ２１０、２１１、２１２および２１３も含まれる。タグレジスタ２１０は、状態マシン２００による制御の下に信号ＢＨＥＮおよびＩＳＡバス１２０のシステムアドレス線ＳＡ〔１９：０〕の二つの最下位ビットである信号Ａ０およびＡ１からコピーしたパラメータＬＢＨＥＮ０、ＬＡ０およびＬＡ１０を格納する。タグレジスタ２１１は、状態マシン２００による制御の下に信号ＢＨＥＮ、Ａ０およびＡ１からコピーしたパラメータＬＢＨＥＮ１、ＬＡ１およびＬＡ１１を格納する。タグレジスタ２１２は、状態マシン２００による制御の下に信号ＢＨＥＮ、Ａ０およびＡ１からコピーしたパラメータＬＢＨＥＮ２、ＬＡ２およびＬＡ１２を格納する。タグレジスタ２１３は状態マシン２００による制御の下に信号ＢＨＥＮ、Ａ０およびＡ１からコピーしたパラメータＬＢＨＥＮ３、ＬＡ３およびＬＡ１３を格納する。状態マシン２００からのタグレジスタエネーブル信号ＴＲＥＮｘ、タグレジスタセット信号ＴＲＳｘおよびタグレジスタリセット信号ＴＲＲｘが、ｘ＝０、１、２、３について、タグレジスタ２１０、２１１、２１２および２１３をそれぞれ制御する。
【００１９】
タグレジスタ２１０、２１１、２１２および２１３にラッチされた値は、出力ＣＤＡＴＡ ＯＵＴ〔３１：０〕上のデータの正しい順序づけを確保するためのデータの書込み先であるビット位置を制御するデコーダ２０２に印加される。デコーダ２０２の出力は操作回路２１４、２１５、２１６および２１７への４つの有効ビットを有するバスである。操作回路２１４、２１５、２１６および２１７はプラットフォーム型信号ＣＲ２Ｂ２ １をも受ける。
【００２０】
操作回路２１４、２１５、２１６および２１７はデコーダ２０２からの有効ビットに応答して、信号ＣＤＡＴＡ ＩＮ〔３１：０〕によるエネーブルを受けた場合は四つの３２ビット入力データレジスタ２２０、２２１、２２２および２２３をロードする。入力データレジスタ２２０、２２１、２２２および２２３の各々はエネーブルされた状態でデコーダ２０２からの有効データを受けるための追加の４ビットを含む。ＣＤＡＴＡ ＩＮ〔３１：０〕においては、１６個の低位ビットは第１位データバイトＳＤ〔７：０〕と第２位データバイトＳＤ〔１５：８〕である。１６個の高位ビットＣＤＡＴＳＡ ＩＮ〔３１：１６〕は、ＥＩＳＡバスおよびＰＣＩバスの例で後に述べるとおり、省略、不使用または他目的への使用に振り向ける。ＡＴ型プラットフォームにおいては、操作回路２１４、２１５、２１６および２１７が信号ＣＲ２Ｂ２ １に応答し、ＣＤＡＴＡ ＩＮ〔３１：０〕の第１および第２順位のバイトをデコーダ２０２の有効ビット出力に応じて入力レジスタ２２０、２２１、２２２および２２３の下側１６ビット入力か上側１６ビット入力かのいずれかにそれぞれ振り向ける。ＰＣ型またはＸＴ型プラットフォームにおいては、操作回路２１４、２１５、２１６および２１７が信号ＣＲ２Ｂ２ １に応答し、第１位のバイトＣＤＡＴＡ ＩＮ〔３１：０〕を、デコーダ２０２の有効なビット出力に応じて、入力レジスタ２２０、２２１、２２２および２２３の第１位の８ビット入力、第２位の８ビット入力、第３位の８ビット入力または第４位の８ビット入力にそれぞれ振り向ける。
【００２１】
入力データレジスタエネーブル信号ＩＲＥＮｘおよび入力データレジスタリセット信号ＩＲＲｘは入力データレジスタ２２０、２２１、２２２および２２３の動作をｘ＝０、１、２、３についてそれぞれ制御する。
四つの出力データレジスタ２４０、２４１、２４２および２４３も備えてある。これらレジスタの各々は入力データレジスタ２２０、２２１、２２２および２２３の一つからのデータ３２ビットおよび有効４ビットを出力データレジスタエネーブル信号ＯＰＥＮｘ（ｘ＝０、１、２、３についてそれぞれ）による制御の下にエンコーダ２３４経由で受ける。
【００２２】
エンコーダ２３４はワイヤードＯＲ接続のグループである。エンコーダ２３４への第１の入力は入力データレジスタ２２０の出力、すなわち出力データレジスタ２４０の入力に向けられる入力データレジスタ２２０の出力である。エンコーダ２３４への第２の入力は入力データレジスタ２２１の出力、すなわちワイヤードＯＲ接続２３５における入力データレジスタ２２０の出力と組み合わされる入力レジスタ２２１の出力である。ワイヤードＯＲ接続２３５の出力は出力レジスタ２４１の入力に供給される。エンコーダ２３４への第３の入力は入力データレジスタ２２２の出力、すなわちワイヤードＯＲ接続２３６におけるワイヤードＯＲ接続２３５の出力と組み合わされる入力データレジスタ２２２の出力である。ワイヤードＯＲ接続２３６の出力は出力レジスタ２４２の入力に供給される。エンコーダ２３４への第４の入力は入力データレジスタ２２３の出力、すなわちワイヤードＯＲ接続２３７におけるワイヤードＯＲ接続２３６の出力と組み合わされるレジスタ２２３の出力である。ワイヤードＯＲ接続２３７の出力は出力レジスタ２４３の入力に供給される。
【００２３】
マルチプレクサ２５０は出力データレジスタ２４０、２４１、２４２および２４３の出力から選択した３２ビットデータ出力を信号ＣＤＡＴＡ ＯＵＴ〔３１：０〕として、また同様に選択した４つの有効ビット出力を信号ＢＥＮＯＵＴ〔３：０〕として供給する。マルチプレクサ２５０は状態マシン２００からの信号ＯＵＴにより制御される。この信号ＯＵＴが００のときは入力００が選択され、信号ＯＵＴが０１のときは入力０１が選択され、信号ＯＵＴが１０のときは入力１０が選択され、ＯＵＴが１１のときは入力１１が選択される。
【００２４】
種々の出力信号が状態マシン２００から供給される。信号ＷＦＥＮは書込みエネーブル信号である。これら種々のエネーブル信号、セット信号、およびリセット信号およびＯＵＴ信号は前に述べたとおりである。
図４は図２のＰＡＣを制御する状態マシン２００の種々の状態を示す状態図である。ＰＡＣ１４２はＡＴバス上で１６ビットバスサイクルと８ビットバスサイクルの両方を収容し、ＰＣバス上で８ビットバスサイクルを収容する。
【００２５】
ＰＡＣ  ＡＴバスサイクル
二つの隣接１６ビットワードのＡＴバス書込みバスサイクルの場合を考える。ＡＴ型バスは 'ｂ０１におけるビットサイクル信号ＣＲ２Ｂ２ １によりＰＡＣ１４２に表示される。書込みストローブエネーブル信号ＷＳＴＲＯＢＥＮ（図３ではＷＳＴと略称）がアサーションなしである限り、ＰＡＣは状態Ｓ０に留まる。状態Ｓ０が現在の状態であれば、タグレジスタ２１０−２１３のＬＡ１ビットはリセットされ、タグレジスタ２１０−２１３のＬＢＨＥＮビットはセットされ、入力データレジスタ２２０−２２３のビットはリセットされる。状態Ｓ０は表１に要約してある。
【００２６】
0004434324.tif 000002
【００２７】
状態マシン２００はＷＳＴＲＯＢＥＮのアサーションにより条件Ｃ０経由で状態Ｓ０から状態Ｓ０−１に変化し、バス書込みサイクルが最初のワード転送に向けてエネーブルされたことを示す。信号Ａ１、Ａ０およびＢＨＥＮの値がタグレジスタ２１０にラッチされ、線ＣＤＡＴＡ ＩＮ〔１５：０〕上にアサートされた第１のデータワードが、操作回路２１４により、ＬＡ１０、ＬＡ００、ＬＢＨＥＮ０デコード用のデコーダ２０２による制御の下に、入力データレジスタの或るビット位置に繰り入れられ、すなわち０００がビット位置〔１５：０〕をエネーブルし、１００がビット位置〔３１：１６〕をエネーブルする。デコーダ２０２からの繰入れデータおよび有効ビットは入力データレジスタ２２０にラッチされ、その出力はエンコーダ２３４経由で出力データレジスタ２４０に振り向けられ、そのレジスタにラッチされる。状態Ｓ０−１を表２に要約する。
【００２８】
0004434324.tif 000003
【００２９】
Ａ０およびＢＨＥＮが両方とも０であれば最初の転送はワード転送である。ＷＳＴＲＯＢＥＮが主張なしの場合は状態は条件Ｃ１経由でＳ１−０に変化する。第２の隣接ワードが利用可能な場合は、ＷＳＴＲＯＢＥＮは再びアサートされる。信号ＡＤＪＡＣＥＮＴがアサートされているので、状態は条件Ｃ１経由でＳ１−４に変化する。信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１１にラッチされ、線ＣＤＡＴＡ ＩＮ〔１５：０〕上にアサートされた第２のワードは、繰入れ回路２１５により、ＬＡ１１、ＬＡ０１、ＬＢＨＥＮ１デコード用のデコーダ２０２による制御の下に、次のとおり入力データレジスタ２２１の或るビット位置に繰り入れられる。すなわち、１００はビット位置〔３１：１６〕をエネーブルし、０００はビット位置〔１５：０〕をエネーブルする。デコーダ２０２からの繰入れデータおよび有効ビットは入力レジスタ２２１にラッチされ、その出力はエンコーダ２３４のワイヤードＯＲ２３５内の入力レジスタ２２０の出力と組み合わされ、その組合せ結果は出力データレジスタ２４１に振り向けられ、そこにラッチされる。状態Ｓ１−４を表３に要約する。
【００３０】
0004434324.tif 000004
【００３１】
Ａ０およびＢＨＥＮがともに０であってワードアドレスを表わしている場合は、状態は条件Ｃ２経由でＳ２−２に変化する。状態Ｓ２−２ではマルチプレクサ２５０が出力データレジスタ２４１を選択しその出力をＣＤＡＴＡ ＯＵＴとして生ずる。次に状態はＳ３に変わり、そのＳ３において書込みエネーブル信号ＷＲＥＮがアサートされる。ＷＲＥＮは図４ではＷＥＮと略示してあることに注意されたい。状態は次にＳ１２に変化し、その状態で遅延、すなわち余分の状態マシーンサイクルを同期確保のために追加する。次に状態マシン２００が状態Ｓ０に戻り、単一の３２ビットダブルワード内の隣接アドレスを有する二つのワードをその過程で出力線ＣＤＡＴＡ ＯＵＴ上に生ずる。
【００３２】
第２の転送と関連したＡ０またはＢＨＥＮは１であり、その第２の転送はバイト転送である。第２の転送のバイトが得られればＷＳＴＲＯＢＥＮを再びアサートする。信号ＡＤＪＡＣＥＮＴをアサートするので状態は条件Ｃ１経由でＳ１−４に変化する。信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１１にラッチされ、線ＣＤＡＴＡ ＩＮ〔７：０〕またはＣＤＡＴＡ ＩＮ〔１５：８〕の上でアサートされた第２の転送のバイトは繰入れ回路２１５によりＬＡ１１、ＬＡ０１、ＬＢＨＥＮ１デコード用のデコーダの制御の下に入力データレジスタ２２１の或るビット位置に次のように繰り入れられる。すなわち、００１はビット位置〔７：０〕をエネーブルし、０１０はビット位置〔１５：８〕をエネーブルし、１０１はビット位置〔２３：１６〕をエネーブルし、１１０はビット位置〔３１：２４〕をエネーブルする。デコーダ２０２からの繰入れデータおよび有効ビットは入力レジスタ２２１にラッチされ、その出力はエンコーダ２３４のワイヤードＯＲ２３５内の入力レジスタの出力と組み合わされ、その組合せ出力は出力データレジスタ２４１に導かれ、そのレジスタにラッチされる。状態Ｓ１−４は上記表３に要約されている。
【００３３】
第２の転送のＡ０またはＢＨＥＮは１であるので、状態マシン２００はＷＳＴのアサーションなしの期間中に状態Ｓ１１に入る。状態Ｓ１１では信号Ａ１、Ａ０およびＢＨＥＮはタグレジスタ２１０にラッチされ、線ＣＤＡＴＡ ＩＮ〔７：０〕またはＣＤＡＴＡ ＩＮ〔１５：８〕上でアサートされた第２の転送のバイトは繰入れ回路２１４によりＬＡ１０、ＬＡ００、ＬＢＨＥＮ０デコード用のデコーダ２０２の制御の下に入力データレジスタ２２０の適当なビット位置に次のように繰り入れられる。すなわち、００１はビット位置〔７：０〕をエネーブルし、０１０はビット位置〔１５：８〕をエネーブルし、１０１はビット位置〔２３：１６〕をエネーブルし、１１０はビット位置〔３１：２４〕をエネーブルする。繰入れデータおよび有効ビットは入力データレジスタ２２０にラッチされ、その出力はエンコーダ２３４経由で出力データレジスタ２４０に導かれ、そのレジスタにラッチされる。状態Ｓ１１は上述の表２に要約してある。
【００３４】
次に、状態はＳ１３に変化する。状態Ｓ１３ではマルチプレクサ２５０が出力データレジスタ２４０を選択し、その値をＣＤＡＴＡ ＯＵＴとして生ずる。次に、状態はＳ６に変化し、その状態Ｓ６では書込みエネーブル信号ＷＥＮがアサートされる。ここで状態はＳ７に変化し、その状態で遅延、すなわち余分の状態マシンサイクルを同期目的で加える。その段階で状態マシン２００は状態Ｓ０に復帰し、３２ビットダブルワード内の第１のワード転送とそれに続くバイト転送とをその過程で出力線ＣＤＡＴＡ ＯＵＴに生ずる。
【００３５】
二つの非隣接１６ビットワードのＡＴバス書込みバスサイクルの場合を次に考える。第１および第２のデータワードのアドレスビットＳＡ〔１９：２〕がアサートなしの信号ＡＤＪＡＣＥＮＴで表示したとおり非同一である場合にワードは非隣接という。状態マシン１２０は上述のとおり隣接アドレスを有するワード転送について状態Ｓ０、Ｓ０−１、Ｓ１−０経由で推移し、したがって、信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１０にラッチされ、第１のワードは入力データレジスタ２２０にラッチされてエンコーダ２３４経由で出力データレジスタ２４０にコピーされる。しかし、ＷＳＴＲＯＢＥＮが再びアサートされ、信号ＡＤＪＡＣＥＮＴがアサートされない場合は、状態は条件Ｃ１経由でＳ１−２に変化する。状態Ｓ１−２においては、マルチプレクサ２５０は出力データレジスタ２４０を選択し、その値をＣＤＡＴＡ ＯＵＴとして出力する。状態は次に条件Ｃ４経由でＳ４−１に変化し、そこで書込みエネーブル信号ＷＲＥＮがアサートされる。
【００３６】
第２の転送はＡ０およびＢＨＥＮが０のワード転送であるので状態はＳ８に変化する。状態Ｓ８においては、タグレジスタ２１１−２１３のＬＡ０ビットはセット、タグレジスタ２１１−２１３のＬＡ１ビットはリセット、タグレジスタ２１１−２１３のＬＢＨＥＮビットはセット、入力データレジスタ２２１−２２３のビットはリセットの状態にそれぞれある。第２のワードの信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１０にラッチされ、第２のワードそのものは入力データレジスタ２２０の適当なビット位置に繰り込まれる。この状態は非系列的転送第２データワードを第１のデータワードとして効果的に特徴づけし直す。状態８を表４に要約してある。
【００３７】
0004434324.tif 000005
【００３８】
状態マシン２００は、ＷＳＴＲＯＢＥＮのアサートなしの期間に、第１のワードを出力線ＣＤＡＴＡ ＯＵＴ上に表示するとともに第２のワードを次の第１のワードとして特徴づけし直して状態Ｓ１−０に戻る。
第２の転送が第２のデータワード関連のＡ０またはＢＨＥＮが１である場合に示されるとおりバイト転送である場合は、状態マシン２００は上述のとおり状態Ｓ１１、Ｓ１３、Ｓ６およびＳ７経由で遷移する。次に、状態マシン２００は、第１のワード転送と二つの３２ビットダブルワードにおける後続の非隣接バイト転送とを出力線ＣＤＡＴＡ ＯＵＴに表示して状態Ｓ０に戻る。
【００３９】
二つの互いに継続するバイト転送の場合を次に考える。図４に示した状態マシン２００の実施例はバイト転送をパックせず、二つの相続くバイト転送を両者が隣接アドレスおよび非隣接アドレスのいずれを有するかに考慮を払うことなく取扱う。第１のバイトについての状態Ｓ０およびＳ０−１経由の遷移ののち、状態はＷＴＲＯＢＥＮのアサートなしのときＳ１０に変化する。状態１０では出力データレジスタ２４０の内容がマルチプレクサ２５０に選択されＣＤＡＴＡ ＯＵＴとして供給される。次に状態はＳ６に変化し、そこでＷＲＥＮがアサートされる。状態はさらにＳ７に変化し、遅延の挿入を受ける。次に状態マシン２００は状態Ｓ０に戻り、３２ビットダブルワード信号ＣＤＡＴＡ ＯＵＴに第１のバイトを表示する。そうすると第２のバイトは第１のバイトとして扱われる。
【００４０】
ＰＡＣ，ＰＣおよびＡＴ  バスサイクル
四つの隣接バイトのＰＣまたはＸＴバス書込みバスサイクルの場合を考える。ＰＣ型またはＸＴ型バスを 'ｂ１１においてビットサイクル信号ＣＲ２Ｂ２ １によりＰＡＣ１４２に表示する。書込みストローブエネーブル信号ＷＳＲＯＢＥＮ（図３ではＷＳＴと略称）がアサートなしである限り、ＰＡＣは状態Ｓ０に留まる。状態Ｓ０が現在の状態である間は、タグレジスタ２１０−２１３のＬＡ０ビットはセット、タグレジスタ２１０−２１３のＬＡ１ビットはリセット、タグレジスタ２１０−２１３のＬＢＨＥＮビットはセット、入力データレジスタ２２０−２２３のビットはリセットの状態にそれぞれある。状態Ｓ０は上述の表１に要約してある。
【００４１】
状態マシン２００は、最初のデータバイトについてバス書込みサイクルがエネーブルされたことを表示するＷＳＴＲＯＢＥＮのアサーションにより条件Ｃ０経由で状態Ｓ０から状態Ｓ０−０に変化する。信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１０にラッチされ、線ＣＤＡＴＡ上にアサートされた第１のデータバイトはＬＡ１０、ＬＡ００およびＬＢＨＥＮ０をデコードするデコーダ２０２の制御の下に操作回路２１４により入力データレジスタ２２０のあるビット位置に次のとおり繰り込まれる。すなわち、００ｘ（ｘは「ドントケア」を意味する）はビット位置〔７：０〕を、０１ｘはビット位置〔１５：８〕を、１０ｘはビット位置〔１３：１６〕を、１１ｘはビット位置〔３１：２４〕をそれぞれエネーブルする。デコーダ２０２からの繰込みデータおよび有効ビットは入力データレジスタ２２０にラッチされ、その出力はエンコーダ２３４経由で出力データレジスタ２４０に導かれ、そこでラッチされる。状態Ｓ０−０は上述の表２に要約してある。ＷＳＴＲＯＢＥＮがアサートなしの期間に状態は条件Ｃ１経由でＳ１−０に変化する。
【００４２】
第２の隣接バイトが利用できる場合はＷＳＴＲＯＢＥＮが再びアサートされる。信号ＡＤＪＡＣＥＮＴもアサートされるので、状態は条件Ｃ１経由でＳ１−３に変化する。状態Ｓ１−３において、信号Ａ１、Ａ０およびＢＨＥＮの値がタグレジスタ２１１にラッチされ、線ＣＤＡＴＡ ＩＮ〔７：０〕上にアサートされた第２のバイトは、第１のバイトについて上に述べたとおりＬＡ１０、ＬＡ００およびＬＢＨＥＮ０デコード用のデコーダ２０２による制御の下に操作回路２１５により入力データレジスタ２２１のあるビット位置に繰り込まれる。デコーダ２０２からの繰込みデータおよび有効ビットは入力データレジスタ２２１にラッチされ、その出力はエンコーダ２３４のワイヤードＯＲ２３５内の入力レジスタの出力と組み合わされ、出力データレジスタ２４１に導かれ、そこでラッチされる。状態Ｓ１−３は上述の表３に要約してある。
【００４３】
ＷＳＴＲＯＢＥＮがアサートなしの場合は状態は条件Ｃ２経由でＳ２−０に変化する。第３のデータバイトが得られた場合は、ＷＳＴＲＯＢＥＮが再びアサートされ、状態は条件Ｃ２経由でＳ２−４に変化する。すなわち、この場合ＡＤＪＡＣＥＮＴがアサートされるからである。状態Ｓ２−４において、信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１２にラッチされ、線ＣＤＡＴＡ ＩＮ〔７：０〕上にアサートされた第３のバイトは、第１のバイトについて上述したとおりＬＡ１０、ＬＡ００およびＬＢＨＥＮ０デコード用のデコーダ２０２による制御の下に操作回路２１６により入力データレジスタ２２１のあるビット位置に繰り込まれる。デコーダ２０２からの繰込みデータおよび有効ビットは入力データレジスタ２２２にラッチされ、その出力はエンコーダ２３４のワイヤードＯＲ２３６内のワイヤードＯＲ２３５の出力と組み合わされ、出力データレジスタ２４２に導かれ、そこでラッチされる。状態Ｓ２−４は表５に要約してある。
【００４４】
0004434324.tif 000006
【００４５】
ＷＳＴＲＯＮＢＥＮがアサートなしの場合は、状態は条件Ｃ５経由でＳ５−０に変化する。第４のデータバイトが得られる場合は、ＡＪＡＣＥＮＴがアサートされているのでＷＳＴＲＯＢＥＮは再びアサートされ、状態はＣ５経由でＣ５−３に変化する。状態Ｓ５−３において、信号Ａ１、Ａ０およびＢＨＥＮの値はタグレジスタ２１３にラッチされ、線ＣＤＡＴＡ ＩＮ〔７：０〕上にアサートされた第４のバイトが、第１のバイトについて上述したとおり、ＬＡ１０、ＬＡ００およびＬＢＨＥＮ０デコード用のデコーダ２０２による制御の下に操作回路２１７により入力データレジスタのあるビット位置に繰り込まれる。デコーダ２０２からの繰込みデータおよび有効ビットは入力データレジスタ２２３にラッチされ、その出力はエンコーダ２３４のワイヤードＯＲ２３７内のワイヤードＯＲ２３６の出力と組み合わされ、出力データレジスタ２４３に導かれ、そこにラッチされる。状態Ｓ５−３を下掲の表６に要約する。
【００４６】
0004434324.tif 000007
【００４７】
次に状態はＳ９に変化する。状態Ｓ９において、マルチプレクサ２５０が出力データレジスタ２４３の出力をＣＤＡＴＡ ＯＵＴとして選択する。そうすると、状態はＳ６にさらに変化し、そのＳ６において書込みエネーブル信号ＷＲＥＮがエネーブルされる。そこで状態はさらにＳ７に変化し、状態マシン遅延の挿入に備える。ここで状態マシン２００は状態Ｓ０に戻り、その過程で四つの隣接バイトを単一の３２ビットダブルワードとして出力線ＣＤＡＴＡ ＯＵＴに表示する。
【００４８】
８ビットバスサイクル用の非隣接アドレスは信号ＡＤＪＡＣＥＮＴで表示される。第２のバイトが非隣接である場合は、状態マシン２００は状態Ｓ０、Ｓ０−０，Ｓ１−２ (第１のバイトとしてＣＤＡＴＡ ＯＵＴを出力）、Ｓ４−０ (ＷＲＥＮアサートずみ）、およびＳ４ (第２のバイトを第１のバイトとして特徴づけし直す）経由で遷移する。次に、状態マシン２００は状態Ｓ１−０に戻り、その過程で出力線ＣＤＡＴＡ ＯＵＴに単一の３２ビットダブルワード内の１バイトを表示し、第２のバイトを新しい第１のバイトとして特徴づけし直す。第３のバイトが非隣接バイトであれば、状態マシン２００は、状態Ｓ０、Ｓ０−０、Ｓ１−３、Ｓ２−３ (出力レジスタ２４１の出力を出力線ＣＤＡＴＡ ＯＵＴに発生）、Ｓ４−０ (ＷＲＥＮをアサート）、およびＳ８ (第３のバイトを第１のバイトとして特徴づけし直す）経由で遷移する。次に、状態マシン２００は状態Ｓ１−０に戻り、その過程で単一の３２ビットダブルワード内の隣接アドレスの２つのバイトを出力線ＣＤＡＴＡ ＯＵＴに発生し、第３の非隣接バイトを新しい第１のバイトとして特徴づけし直す。第４のバイトが非隣接の場合は、状態マシン２００は状態Ｓ０、Ｓ０−０、Ｓ１−３、Ｓ２−０、Ｓ２−４、Ｓ５−０、Ｓ５−２（出力レジスタ２４２の出力を出力線ＣＤＡＴＡ ＯＵＴに発生）、Ｓ４−０ (ＷＲＥＮをアサートする）およびＳ８ (第４のバイトを第１のバイトとして特徴づけし直す）経由で遷移する。次に状態マシン２００は状態Ｓ１−０に戻り、その過程で単一の３２ビットダブルワード内で隣接アドレスを有する三つのバイトを生じ、第４の非隣接バイトを新しい第１のバイトとして特徴づけし直す。
【００４９】
リフレッシュ  サイクル
メモリ１４９をＤＲＡＭで構成した場合は、ＰＡＣ１４２はリフレッシュサイクルを利用してメモリ１４９の書込みを行う。状態マシン２００が状態Ｓ１−０にあるとき（第１のデータワード受信のあとＷＳＴＲＯＢＥＮのアサートなし）８ビットまたは１６ビットバスサイクルでリフレッシュサイクルを開始する場合は、状態はＳ１−１に変化して出力レジスタ２４０内に格納ずみの第１のデータバイト／ワードを出力信号線ＣＤＡＴＡ ＯＵＴに発生し、次にＳ６に変化してＷＲＥＮをアサートし、次にＳ７に変化して遅延を挿入し、さらにＳ０に変化して新しいデータワードまたはバイトを受ける。このシーケンスはリフレッシュサイクル中にデータワードまたはデータバイトを単一の３２ビットダブルワードとして出力線ＣＤＡＴＡ ＯＵＴに生じる。
【００５０】
状態マシン２００が状態Ｓ２−０にあるとき（第２のデータバイト受信のあとＷＳＴＲＯＢＥＮのアサートなし）８ビットバスサイクル中にリフレッシュサイクルを開始する場合は、状態はＳ２−１に変化する。状態Ｓ２−１においては、第２の出力データレジスタ２４１の出力は出力線ＣＤＡＴＡ ＯＵＴにダブルワードの一部として第１および第２のバイトを生ずるように選ばれる。次に状態はＳ６に変化してＷＲＥＮをアサートし、次にＳ７に変化して遅延を挿入し、さらにＳ０に変化して新しいデータワードまたはデータバイトを受ける。このシーケンスは隣接アドレスを有する二つのデータバイトを単一の３２ビットダブルワードとしてリフレッシュサイクル中に出力線ＣＤＡＴＡ ＯＵＴに生ずる。
【００５１】
状態マシン２００が状態Ｓ５−０にあるとき（第３バイト受信のあとＷＳＴＲＯＢＥＮのアサートなし）８ビットバスサイクル期間中にリフレッシュサイクルを開始する場合は、状態はＳ５−１に変化する。この状態Ｓ５−１においては、第３の出力データレジスタ２４２の出力は、第１、第２および第３のデータバイトをダブルワードの一部として出力信号線ＣＤＡＴＡ ＯＵＴに生ずるように選ばれる。次に、状態はＳ６に戻ってＷＲＥＮをアサートし、次にＳ７に変化して遅延を挿入し、さらにＳ０に戻って新しいデータワードまたはデータバイトを受ける。このシーケンスで三つの隣接アドレス付きのデータバイトを単一の３２ビットダブルワードとしてリフレッシュサイクル中に出力線ＣＤＡＴＡ ＯＵＴに生ずる。
【００５２】
ＥＩＳＡおよびＰＣＩバスサイクル
ＰＡＣ１４２ (図２）は状態マシン２００を適当に変形することにより３２ビットＶＥＳＡおよびＰＣＩバスをもサポートする。この変形は図４において状態Ｓ０−２、すなわちその状態への遷移を点線で示した状態Ｓ０−２として示してある。ＣＲ２Ｂ２ １がＶＥＳＡ型プラットフォーム（１０）またはＰＣＩ型プラットフォーム（００）を示す場合は、ＷＳＴＲＯＢＥＮのアサーションにより状態はＳ０から条件Ｃ０経由でＳ０−２に変化する。信号Ａ１、Ａ０、ＢＨＥＮの値はタグレジスタ２１０にラッチされ、線ＣＤＡＴＡ ＩＮ〔３１：０〕上にアサートされたダブルワードは操作回路２１４により入力データレジスタ２２０の全ビット位置に繰り込まれる。有効ビットが全て位置づけられた繰込みデータは入力データレジスタ２２０にラッチされ、その出力はエンコーダ２３４経由で出力データレジスタ２４０に導かれ、そこにラッチされる。状態Ｓ０−２は上掲の表２に要約してある。状態はＷＴＲＯＢＥＮアサーションなしの場合は次にＳ１０に変化する。状態Ｓ１０では出力データレジスタ２４０の内容はマルチプレクサ２５０により選択され、ＣＤＡＴＡ ＯＵＴとして供給される。次に状態はＳ６に変化し、そこでＷＲＥＮがアサートされる。状態は次に遅延挿入のためのＳ７に変化する。状態マシン２００は次に状態Ｓ０に戻り、その過程で入力ダブルワードを出力線ＣＤＡＴＡ ＯＵＴ上に生ずる。
【００５３】
【発明の効果】
上述のとおり、この発明によると、システムバス書込みサイクル期間内のメモリ利用効率を高めて高性能化したダイナミックコンピュータバスが得られる。
種々の実施例につきこの発明を述べてきたが、これら実施例は例示であって、本発明の技術的範囲がこれら実施例に限定されるわけではない。多数の変形、改変、付加および改良がこれら実施例について可能である。それらおよびそれら以外の変形、改変、付加および改善は特許請求の範囲の各請求項に記載の発明の技術的範囲に含まれる。
【図面の簡単な説明】
【図１】ＩＳＡバスを含むコンピュータシステムの概略的ブロック図。
【図２】バスコントローラの概略図。
【図３】（Ａ）〜（Ｆ）は図２のバスコントローラの動作を示す図解図。
【図４】図２のバスコントローラ内の状態マシンの状態図。
【符号の説明】
１１０    ホストバス
１１２    プロセッサ
１１６    ＤＭＡ（直接メモリアクセス）コントローラ
１２０    ＩＳＡバス
１２２    ユーザアドオンカード
１３０    コントロールインタフェース
１３２    加算器バッファ
１３４    データバッファ
１３６    割込みコントローラ
１３８    リフレッシュコントローラ
１４０    高性能ユーザアドオンカード
１５０    高性能ユーザアドオンカード
２００    状態マシン
２０２    デコーダ
２１０−２１３    タグ
２２０−２２３    入力レジスタ
２４０−２４３    出力レジスタ
２５０    マルチプレクサ
【図１】
0004434324.tif 000008
【図２】
0004434324.tif 000009
【図３Ａ】
0004434324.tif 000010
【図３Ｂ】
0004434324.tif 000011
【図３Ｃ】
0004434324.tif 000012
【図３Ｄ】
0004434324.tif 000013
【図３Ｅ】
0004434324.tif 000014
【図３Ｆ】
0004434324.tif 000015
【図４】
0004434324.tif 000016