(57)【特許請求の範囲】
【請求項１】
アドレス指定可能インタフェースモジュールのためのインタフェース制御装置であって、前記インタフェースモジュールが、他のアドレス指定可能インタフェースモジュールと共に通信バスを介して中央処理装置に結合されるように適合させられ、前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュールに固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって与えられる書込み命令と、に応答するように適合させられており、
前記インタフェース制御装置が、
対応する前記インタフェースモジュールがそれに応答しなければならない固有の構成基底アドレスを決定するための、記憶された構成基底アドレスと、
対応する前記インタフェースモジュールによる応答のための前記固有の構成基底アドレスの決定時に、対応する前記インタフェースモジュールによる使用のための変更された構成基底アドレスを含む前記構成基底アドレスを復号するための復号器と、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記記憶された構成基底アドレスが他のインタフェースモジュールのいずれかのための固有の構成基底アドレスと同一であると判断した時に、前記記憶された構成基底アドレスを自動的に変更するための変更手段と、を含み、
前記変更手段が、前記記憶された構成基底アドレスを異なった構成基底アドレスに変更するために、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令とに対して応答する手段、を含み、
前記インタフェース制御装置が、前記変更手段が前記構成基底アドレスを変更することを選択的にイネーブル又はディスエーブルにするためのモードセレクタと、前記変更手段がディスエーブルにされる時にその対応する前記インタフェースモジュールによる使用のための前記固有の構成基底アドレスを選択するためのジャンパ制御装置と、を含む、
インタフェース制御装置。
【請求項２】
前記インタフェース制御装置が単一の集積回路チップから構成される、請求項１に記載のインタフェース制御装置。
【請求項３】
前記変更手段が、前記構成基底アドレスによって表される値を増分調節するためのカウンタを含む、請求項１に記載のインタフェース制御装置。
【請求項４】
前記インタフェース制御装置が、前記構成基底アドレスを最初に記憶するためのメモリを有し、前記カウンタが、増分調節の前に前記メモリから前記構成基底アドレスを受け取るために結合される、請求項３に記載のインタフェース制御装置。
【請求項５】
前記メモリからの前記構成基底アドレスの読取りと、前記カウンタ内への前記構成基底アドレスに対応する信号のローディングと、を制御するための状態機械を有する、請求項４に記載のインタフェース制御装置。
【請求項６】
前記記憶された構成基底アドレスが第１の基底アドレスと第２の基底アドレスとを含み、前記第１の基底アドレスが、変更される基底アドレスであり、前記第２のアドレスが、メモリアドレス空間用の基底アドレスであり、前記復号器が、前記インタフェース制御装置に対して別々の基底アドレスを与えるために前記第１の基底アドレスと前記第２の基底アドレスとの両方を復号するための手段を含む、請求項１に記載のインタフェース制御装置。
【請求項７】
他のアドレス指定可能インタフェースモジュールと中央処理装置と共に通信ネットワークと通信バスとの間を結合するための、自動再構成可能なアドレス指定可能インタフェースモジュールであって、前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュールに固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって前記通信バス上に与えられる書込み命令と、に応答するように適合させられており、
前記自動再構成可能インタフェースモジュールが、
前記自動再構成可能インタフェースモジュールに固有の識別子データを記憶するためのメモリと、
前記自動再構成可能インタフェースモジュールがそれに対して応答しなければならない固有の構成基底アドレスを決定するための、構成基底アドレスを記憶するためのレジスタと、
前記レジスタに記憶された構成基底アドレスを異なった構成基底アドレスに変更するための、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令の１つとに応答する手段と、
前記自動再構成可能インタフェースモジュールによる応答のための前記固有の構成基底アドレスの決定時における前記インタフェースモジュールによる使用のために、前記手段によって変更された構成基底アドレスを復号するための復号器と、を含み、
前記自動再構成可能インタフェースモジュールが、前記中央処理装置による期待データとの比較のために前記通信バスに前記メモリから前記固有の識別子データを読み出すために、前記通信バス上の前記読取り命令の１つに応答し、
前記自動再構成可能インタフェースモジュールが、更に、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記記憶された構成基底アドレスが他のインタフェースモジュールのいずれかのための固有の構成基底アドレスと同一であると判断した時に、前記記憶された構成基底アドレスを自動的に変更するための変更手段と、
前記変更手段が前記構成基底アドレスを変更することを選択的にイネーブル又はディスエーブルにするためのモードセレクタと、前記変更手段がディスエーブルにされる時にその対応する前記インタフェースモジュールによる使用のための前記固有の構成基底アドレスを選択するためのジャンパ制御装置と、を含む、
自動再構成可能インタフェースモジュール。
【請求項８】
前記自動再構成可能インタフェースモジュールが、前記通信バス上を送られるデータのための追加のメモリも有し、前記レジスタが、前記追加のメモリのための追加の基底アドレスを記憶し、前記復号器が、前記追加のメモリをアドレス指定するために、別々の基底アドレスの形に前記追加の基底アドレスを復号するための手段も含む、請求項７に記載の自動再構成可能インタフェースモジュール。
【請求項９】
前記自動再構成可能インタフェースモジュールが、前記通信バスと前記通信ネットワークとの間のインタフェースを与えるように適合させられている、請求項７に記載の自動再構成可能インタフェースモジュール。
【請求項１０】
前記自動再構成可能インタフェースモジュールが、ローカルエリアネットワークにインタフェースするように適合させられている、請求項９に記載の自動再構成可能インタフェースモジュール。
【請求項１１】
前記自動再構成可能インタフェースモジュールが、イーサネットネットワークにインタフェースするように適合させられている、請求項１０に記載の自動再構成可能インタフェースモジュール。
【請求項１２】
前記自動再構成可能インタフェースモジュールが、ＡＴ通信バスに結合するように適合させられている、請求項７に記載の自動再構成可能インタフェースモジュール。
【請求項１３】
前記通信バスとの通信を制御するための、前記通信バスに結合されたシステムインタフェースと、
前記自動再構成可能インタフェースモジュールと前記通信バス又は前記通信ネットワークとの間で通信されるデータを記憶するためのバッファメモリと、
前記バッファメモリからのデータ転送を制御するためのバッファ制御装置と、
前記バッファ制御装置からの命令に応答して前記通信ネットワークへのデータを処理及び供給するための送信回路と、
前記通信ネットワークからのデータを受信して処理するための受信回路と、
を更に含む、請求項７に記載の自動再構成可能インタフェースモジュール。
【請求項１４】
通信バスと、前記通信バスに各々に結合された複数のアドレス指定可能インタフェースモジュールと、前記通信バスに結合された中央処理装置と、を含むマイクロプロセッサシステムであって、
前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュール各々に固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって与えられる書込み命令と、に応答するように適合させられ、前記インタフェースモジュールの少なくとも１つが、自動再構成可能インタフェースモジュールを含み、
前記自動再構成可能インタフェースモジュールが、
前記自動再構成可能インタフェースモジュールに固有の識別子データを記憶するためのメモリと、
前記自動再構成可能インタフェースモジュールがそれに対して応答しなければならない固有の構成基底アドレスを決定するための、構成基底アドレスを記憶するためのレジスタと、
前記レジスタに記憶された構成基底アドレスを異なった構成基底アドレスに変更するための、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令の１つとに応答する手段と、
前記自動再構成可能インタフェースモジュールによる応答のための前記固有の構成基底アドレスの決定時における前記自動再構成可能インタフェースモジュールによる使用のために、前記手段によって変更された構成基底アドレスを復号するための復号器と、を含み、
前記自動再構成可能インタフェースモジュールが、前記中央処理装置による期待データとの比較のために前記通信バスに前記メモリから前記固有の識別子データを読み出すために、前記通信バス上の前記読取り命令に応答し、
前記自動再構成可能インタフェースモジュールが、更に、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記記憶された構成基底アドレスが他のインタフェースモジュールのいずれかのための固有の構成基底アドレスと同一であると判断した時に、前記記憶された構成基底アドレスを自動的に変更するための変更手段と、
前記変更手段が前記構成基底アドレスを変更することを選択的にイネーブル又はディスエーブルにするためのモードセレクタと、前記変更手段がディスエーブルにされる時にその対応する前記インタフェースモジュールによる使用のための前記固有の構成基底アドレスを選択するためのジャンパ制御装置と、を含む、
マイクロプロセッサシステム。
【請求項１５】
前記自動再構成可能インタフェースモジュールが、
前記中央処理装置と前記自動再構成可能インタフェースモジュールとの間で前記通信バス上にデータを通過させるために結合されたデータバスと、
前記中央処理装置から前記自動再構成可能インタフェースモジュールへ前記通信バス上にアドレス信号を通過させるために結合されたアドレスバスと、
を含む、請求項１４に記載のマイクロプロセッサシステム。
【請求項１６】
前記自動再構成可能インタフェースモジュールが、前記通信バス上を通過させられるデータのための追加のメモリを含み、前記レジスタが、前記追加メモリのメモリ空間のための基底を設定するための追加の基底アドレスを記憶し、前記復号器が更に、前記追加メモリをアドレス指定するために別の基底アドレスの形に前記追加の基底アドレスを復号するように適合させられている、請求項１４に記載のマイクロプロセッサシステム。
【請求項１７】
インタフェース制御装置を有するアドレス指定可能インタフェースモジュールのための固有の構成基底アドレスを自動的に発生させるための方法であって、前記アドレス指定可能インタフェースモジュールが、他のアドレス指定可能インタフェースモジュールと共に通信バスを介して中央処理装置に結合されるように適合させられており、前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュールに固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって与えられる書込み命令と、に応答するように適合させられており、前記方法が、
前記インタフェース制御装置内に構成基底アドレスを記憶する段階と、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記インタフェース制御装置を有する前記インタフェースモジュールのための前記固有の構成基底アドレスが他のインタフェースモジュールの構成基底アドレスと同一であると判断した時に、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令の１つとに応答して、前記段階で記憶された構成基底アドレスを異なった構成基底アドレスに変更する段階と、
前記インタフェースモジュールによる応答のために前記固有の構成基底アドレスを決定する際に、前記インタフェース制御装置を有する前記インタフェースモジュールによる使用のために、該変更された構成基底アドレスを復号する段階と、を含み、
前記インタフェースモジュールが、モード制御装置と無ジャンパ制御装置とを含む前記インタフェース制御装置を有し、前記方法が更に、
前記モード制御装置の制御を受けて、前記構成基底アドレスの変更を選択的にイネーブル又はディスエーブルにする段階と、
前記変更がディスエーブルにされる時に、前記ジャンパ制御装置の制御を受けて、前記固有の構成基底アドレスを選択する段階と、
を含む方法。
【請求項１８】
前記記憶された構成基底アドレスを変更する前記段階が更に、前記構成基底アドレスによって表される値をカウンタ内で増分調節する増分調節段階も含む、請求項１７に記載の方法。
【請求項１９】
前記インタフェース制御装置がメモリを有し、前記方法が、
前記メモリ内に前記構成基底アドレスを最初に格納する段階と、
前記増分調節段階の前に前記メモリからの前記構成基底アドレスを前記カウンタ内に受け取る段階と、
を更に含む、請求項１８に記載の方法。
【請求項２０】
前記インタフェース制御装置を有する前記インタフェース制御装置が状態機械を含み、前記方法が更に、前記カウンタが前記増分調節を行う時に、前記構成基底アドレスに対応する信号を前記カウンタに与えることによって、前記メモリからの前記構成基底アドレスの読取りを制御するために前記状態機械を使用する制御段階も含む、請求項１９に記載の方法。
【請求項２１】
前記記憶された構成基底アドレスが、第１の基底アドレスと第２の基底アドレスとを含み、前記第１の基底アドレスが、変更される基底アドレスであり、前記方法が更に、別の基底アドレスを与えるために前記第１の基底アドレスと前記第２の基底アドレスとを両方とも復号する段階も含む、請求項１７に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、パーソナルコンピュータ用の増設カード（ａｄｄ−ｏｎ  ｃａｒｄ）  に関し、より詳細には、外部イーサネットネットワークにＡＴバスを接続するための、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  （ＩＢＭ）  ＡＴ    互換パーソナルコンピュータ用の増設インタフェースカードに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
ＩＢＭ  ＡＴパーソナルコンピュータとＡＴ互換パーソナルコンピュータは、内部通信用にＡＴ標準化バスシステムを使用する。ＡＴバスは、一般的には、８  及び１６ビットシステムの場合にはＩｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ  （ＩＳＡ）バスと呼ばれ、３２ビットシステムの場合にはＥｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ  （ＥＩＳＡ）と呼ばれる。このＡＴバスの規格は、”ＡＴ  Ｂｕｓ  Ｄｅｓｉｇｎ”，  Ｅｄｗａｒｄ  Ｓｏｌａｒｉ  （Ａｎｎａｂｏｏｋｓ，  １９９０）に詳細に説明されており、この文献の主題が本明細書に引例として組み入れられている。ＡＴバスとは、例えば中央処理装置（ＣＰＵ）  メモリや様々な入出力（Ｉ／Ｏ）  装置用インタフェースのようなコンピュータの様々な機能単位の間のインタフェースである。ＡＴバスは、システムクロックと、記憶装置と、読取り書込みアクセスと、Ｉ／Ｏ  読取り書込みサイクルと、データバス方向と、データ及び割込み要求と、スピーカドライバと、を制御するために必要なロジックを与える。上記記憶装置は、ハードディスクと、フロッピーディスクと、電気的消去可能プログラム可能読出し専用メモリ（ＥＥＰＲＯＭ）と、ランダムアクセスメモリ（ＲＡＭ）  と、を含む。上記Ｉ／Ｏ  装置は、プリンタと、モデムと、イーサネット通信ネットワークと、を含む。
【０００３】
パーソナルコンピュータは、電子モジュールを保持し相互接続するためのモジュールカードラック（ｍｏｄｕｌｅ  ｃａｒｄ  ｒａｃｋ）を収容するハウジングを有する。このハウジングが開かれている時に、電子モジュールが上記ラックの中に挿入され、ハウジングの開口の反対側のコンピュータハウジングの末端に配置されたマザーボードに接続される。このマザーボードは、ＡＴバスと電源と接地とを含むコンピュータ内モジュールの間の電気的相互接続を与える。ユーザは、コンピュータハウジングに対してコンピュータモジュールを取り付け又は取り外しすることによって、そのパーソナルコンピュータの能力を変化させることが可能である。例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）  モジュールを上記ハウジング内に挿入することによって、記憶容量を増大させることが可能である。
【０００４】
ＡＴバスに接続され且つ記憶装置を有する各装置は、ＣＰＵ  がその記憶装置に対する読取り又は書込みを命令することが可能であるように、その各装置が使用するメモリ空間を定義するメモリ基底アドレス（ベースアドレス）（ｂａｓｅ  ａｄｄｒｅｓｓ）も持たなければならない。こうした読取り書込み命令に対して１つの装置のみが応答するように、各々の記憶装置は固有のメモリ基底アドレスを有することが必要である。ＡＴバス規格は、特定のメモリアドレスを特定の装置に割り当てる。更に明確に言えば、ハードディスク駆動装置とフロッピーディスク駆動装置とＲＡＭ  メモリとは各々に固有のメモリ基底アドレス範囲を割り当てられる。従って、あらゆるパーソナルコンピュータは、こうしたアドレスを、ハードディスク駆動装置とフロッピーディスク駆動装置とＲＡＭ  メモリとの通信のために使用する。これとは対照的に、新たな装置がそのパーソナルコンピュータに接続される時には、その新たな装置のメモリ基底アドレスは、他の装置に既に割り当てられているアドレスの１つであってはならないが、未だ割り当てられていないアドレス範囲内の任意のアドレスであってよい。しかし、各々に固有の記憶装置とそれに対応する固有のメモリ基底アドレスとを有する複数の装置が付加される時には、２つ以上の装置が同一のメモリ基底アドレスを有する可能性がある。この事態が生じる場合には、システム電源投入時の初期設定ルーチン中に、ＣＰＵ  が、２つ以上の別々の装置に対応するアドレスを送り出す。これらの２つ以上の別々の装置は各々にアドレス命令に応答し、これらの装置全てがメモリの読取り又はメモリへの書込みを行おうとする。こうした多重応答は、そのバスのデータ部分上でのコンフリクトを生じさせる。場合によっては、例えばシステム起動時又は読取り中に、読み取られるデータがシステム期待値と異なる可能性があるので、ＣＰＵ  がバス上に上記コンフリクトを検出する可能性がある。
【０００５】
現行のシステムでは、増設カードの１つのタイプは、ＡＴバスとイーサネットネットワークシステムとの間をインタフェースするためのイーサネットインタフェースモジュールである。イーサネットの規格は、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ，  Ｉｎｃ．  によって１９８９年に発行された”Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  −  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ  −  Ｐａｒｔ  ３：    Ｃａｒｒｉｅｒ  ｓｅｎｓｅ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ  ｗｉｔｈ  ｃｏｌｌｉｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ  （ＣＳＭＡ／ＣＤ）  ａｃｃｅｓｓ  ｍｅｔｈｏｄ  ａｎｄ  ｐｈｙｓｉｃａｌ  ｌａｙｅｒ  ｓｐｅｃｉｆｉｃａｔｉｏｎｓ”，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  ＩＳＯ，  ８９０２−３：  １９８９，  ＡＮＳＩ／ＩＥＥＥ  Ｓｔｄ  ８０２．３  −  １９８８で詳細に説明され、この主題は本明細書に引例として組み入れられている。更に、現行のシステムでは、メモリアドレスのコンフリクトが検出される時に、そのシステムの電源を切り、コンフリクトを生じさせていると推測される増設カードをシステムから取り外し、そのモジュール上に備えられている何らかの手段によってそのカードの構成を変更し、その後で、その増設カードをシステム内に再び取り付け、システム電源を投入し、そのモジュールの動作を再テストすることが必要である。（基底アドレスを変更するために現行のシステムで使用される手段は、可動ジャンパ又はスイッチである。）  ＣＰＵは再びその初期設定ルーチンを行い、別のメモリ基底アドレスのコンフリクトが検出されると、そのメモリのコンフリクトが取り除かれるまで、モジュールの取り外しとメモリ基底アドレスの物理的変更との過程が反復される。メモリのコンフリクトが検出されない時には、ＣＰＵ  はその初期設定ルーチンを実行し続ける。
【０００６】
ＡＴバスに接続される複数のＩ／Ｏ  インタフェース装置は、各々にＩ／Ｏ  基底アドレスを有する。これらのＩ／Ｏ  インタフェース装置は、そのＩ／Ｏ  基底アドレスをバス上に検出すると、バス上の命令に応答する。上記メモリ基底アドレスの場合と同様に、各々のＩ／Ｏ  インタフェース装置が固有のＩ／Ｏ  基底アドレスを有することが必要である。メモリアドレスと同様に、ＡＴバス規格は、Ｉ／Ｏ  アドレス範囲を特定の装置に割り当てる。従って、これらのＩ／Ｏ  アドレスは、これらの装置によってだけ使用される。しかし、他の装置がＡＴバスに付け加えられる時に、その各々の装置はその装置に固有のＩ／Ｏ  アドレスを持たなければならない。しかし、メモリ基底アドレスの場合と同様に、これらの装置は、事前に割り当てられたアドレスを持たない。従って、ＡＴバス規格は、これらの新たな装置にＩ／Ｏ  アドレス範囲を割り当てる。
【０００７】
しかし、新たな装置がＡＴバスに接続される時には、ＣＰＵ  がその初期設定ルーチンを実行し終わるまで、システムは、ＡＴバス上の２つ以上の装置が同一のＩ／Ｏ  基底アドレスを使用しているかどうかを知ることはない。従って、ＣＰＵ  が、同一のアドレスを使用するＡＴバス上の２つ以上の装置に対して１つのＩ／Ｏ  バスアドレスを送る時に、これらの２つ以上の装置全部が応答し、ＡＴバス上にコンフリクトを生じさせる。
【０００８】
ＥＥＰＲＯＭに基づく構成を有する現行のシステムは、ジャンパ又はスイッチに基づく設計によってアドレスコンフリクトを解消する方法に相応する方法によって、Ｉ／Ｏ  基底アドレスにおけるコンフリクトを解決する。詳細に説明すると、ＥＥＰＲＯＭに基づく構成を有するイーサネットモジュールの場合には、コンピュータユーザが先ず最初にコンピュータの電源をオンにする。ＣＰＵ  の初期設定ルーチン中に、Ｉ／Ｏ  メモリアドレスのコンフリクトが検出されると、ユーザは、第１のコンピュータから当該モジュールを取り外し、Ｉ／Ｏ  基底アドレスコンフリクトを起こしていない第２のシステムの中にそのモジュールを挿入しなければならない。その後で、ユーザは、そのモジュールのＥＥＰＲＯＭを書き直すことによって、そのモジュールのＩ／Ｏ  アドレスを変更することが可能である。その後で、最初の構成が既に変更された上記モジュールが、当初のシステムの中に再び取り付けられることが可能である。
【０００９】
アドレスコンフリクトを解消するための上記方法は、面倒であり、高コストであり、オペレーターエラーを被り易い。その作業は、第１のコンピュータからモジュールを取り外すことと、そのモジュールを第２のコンピュータの中に挿入することと、その第２のコンピュータの電源をオンし第２のシステム内でそのモジュールを再構成することと、そのモジュールを第２のシステムから取り外すことと、そのモジュールを第１のシステムの中に再挿入して再テストすることと、全てのコンフリクトが除去されるまでこの作業を繰り返すことと、を必要とする。これらのステップの各々は、その遂行のために労力を必要とし、従って、時間浪費的である。セットアップとテストと手直しとのための追加時間が、そのモジュールのコストを増大させる。更に、上記の多数のステップが、手直し中にエラーが生じる可能性と、上記２つのコンピュータシステム内でのモジュールの取り外しと取り付けの繰り返しによってモジュール又はコンピュータに損傷を与える可能性と、を増大させる。
【００１０】
増設モジュールのメモリアドレスとＩ／Ｏ  アドレスとをジャンパ無しで変更することと、その変更におけるステップを自動化しそのステップ数を減少させることと、が求められている。
【００１１】
【課題を解決するための手段及び作用】
簡略的に説明すると、本発明の実施例の１つは、アドレス指定可能インタフェースモジュール用のインタフェース制御装置である。このインタフェースモジュールは、他のアドレス指定可能インタフェースモジュールと共に通信バスを介して中央処理装置に結合されるように適合させられている。各々のインタフェースモジュールは、中央処理装置によって通信バス上に与えられる各インタフェースモジュールに固有の基底アドレスと、上記インタフェースモジュールから通信バスへのデータの読取りのための、中央処理装置によって通信バス上に与えられる読取り命令、又は、通信バスから上記インタフェースモジュールへのデータの書込みのための、中央処理装置によって通信バス上に与えられる書込み命令と、に応答するように適合させられている。上記インタフェース制御装置は、対応するインタフェースモジュールがそれに応答しなければならない固有のアドレスを決定するための、記憶された構成基底アドレスを有する。更に、このインタフェース制御装置は、対応するインタフェースモジュールによる応答のための固有のアドレスの決定時に、対応するインタフェースモジュールによる使用のための変更された構成アドレスを含む基底アドレスを復号する復号器も有する。このインタフェース制御装置は、記憶された構成基底アドレスが他のインタフェースモジュールのいずれか１つのための固有のアドレスと同一である時に、記憶された構成基底アドレスを自動的に変更する回路を含む。この回路は、記憶された構成基底アドレスを異なった構成アドレスに変更するために、通信バス上の予め決められたアドレスと読取り命令とに対して応答する第２の回路を含む。１つの特定の実装例では、上記第１の回路は、構成基底アドレスによって表される値を増分調節するためのカウンタを含む。
【００１２】
簡略的に説明すると、本発明の実施例の１つは、同じバスに接続された第２のモジュールとのコンフリクトを除去するために、そのバスに接続された第１のモジュールの第１の識別コードを、開始命令に応答して、適応的に調節するための方法である。第１の識別コードが１つのレジスタ内に格納される。命令された識別コードが上記バスを通して受け取られる。記憶された第１の識別コードが、上記バスを通して受け取られた上記命令された識別コードと比較される。第１の識別コードと命令された識別コードとの間の一致に応答して、データが上記バスを通して送り出される。期待データが発生させられる。送り出されたデータは、そのデータの期待値と比較され、送り出されたデータがこの期待データと一致しない場合には、その結果が不一致として識別される。上記レジスタ内の記憶された第１の識別コードが、この識別された不一致に応答して変更される。第１のモジュールが第１の識別コードによって一意に識別されるように、送り出されたデートと期待データとの間に不一致が識別されなくなるまで、上記の過程が逐次的に反復される。
【００１３】
上記バスがＩＢＭ  ＡＴバスであり、識別コードが入出力基底アドレスであり、且つ、開始命令がハードウェアリセット命令であることが好ましい。
【００１４】
同じバスに接続された第２のモジュールとのコンフリクトを回避するために、そのバスに接続された第１のモジュールの第１の識別コードを開始命令に応答して適応的に調節するための回路が提供される。この回路は、第１の識別コードを記憶するための手段と、この記憶手段内の第１の識別コードを命令された識別コードと比較するための手段と、第１の識別コードと命令された識別コードとの間の一致に応答してデータを送り出すための手段と、第１のモジュールと第２のモジュールの両方が第１の識別コードと命令された識別コードとの間の一致に応答してデータを送り出すかどうかを検出するための、及び、この一致が無い時にコンフリクト信号を発生させるための手段と、上記コンフリクト信号に応答して、第１の識別コードと命令された識別コードとの間の一致が生じる時に第１のモジュールと第２のモジュールとが両方ともデータを送り出すことがないように、第１の識別コードを変更するための手段と、を有する。
【００１５】
特定の実施例では、インタフェースモジュールが、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ  （ＩＳＡ）バスとイーサネットネットワークとの間でデータを転送する。ＩＳＡ  バスは、アドレスの第１のグループ及び第２のグループとリセット命令とを、中央処理装置（ＣＰＵ）  から上記インタフェースモジュールに転送し、上記インタフェースモジュールからＣＰＵ  にデータを転送する。このインタフェースモジュールは、可適応の識別コードを有する。このインタフェースモジュールは、可適応の識別アドレスを記憶するためのレジスタを含む。ＣＰＵ  からの可適応識別アドレスとアドレスの第１のグループとを復号するために、復号器がこのレジスタに結合される。バッファメモリがこの復号器とＩＳＡ  バスとに結合される。復号されたアドレスの第１のグループの中の選択されたアドレスが可適応識別アドレスを含む時に、このバッファメモリが、復号されたアドレスの第１のグループに応答して、ＩＳＡ  バスにデータを送り出すか、又は、ＩＳＡ  バスからデータを受け取る。ＣＰＵ  からのアドレスの第２のグループとリセット命令とに応答して、カウンタが、上記レジスタ内に記憶された可適応識別アドレスを変更する。
【００１６】
【実施例】
図１は、本発明の原理によるイーサネットとＡＴバスとの間を通信するためのイーサネットインタフェースモジュールを使用するコンピュータを示す機能ブロック図である。コンピュータ１０は、ＡＴバス１４に接続された中央処理装置（ＣＰＵ）  モジュール１２を有する。このＣＰＵ  １２は、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ，  Ｓａｎｔａ  Ｃｌａｒａ，  Ｃａｌｉｆｏｒｎｉａによって製造される４８６  タイプのマイクロプロセッサチップから構成されることが好ましい。上記のように、ＡＴバス１４は、ＩＢＭ  ＡＴパーソナルコンピュータとＡＴ互換パーソナルコンピュータとで使用される標準バスである。ＡＴバス１４は、ハードディスク１６とフロッピーディスク１８とランダムアクセスメモリ（ＲＡＭ）２０  とを含む複数の記憶装置にも接続される。幾つかの記憶装置が示されているが、本発明はこれらの装置全てを必要とするわけではない。プリンタインタフェースモジュール２２が、ＡＴバス１４と、コンピュータ１０の外部にあるプリンタ２３と、に接続される。キーボードインタフェースモジュール２４が、ＡＴバス１４とキーボード２５とに接続される。キーボード２５は、ユーザによって選択された命令をコンピュータ１０に与える。イーサネットインタフェース（Ｉ／Ｆ）  モジュール２６は、ＡＴバス１４とイーサネットネットワーク２７との間の通信のためのインタフェースを与える。或いは、インタフェースモジュール２６は、他のバスに対してインタフェースしてもよい。上記のように、イーサネットは、典型的にはローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）（ＬＡＮ）  のために使用される標準化された通信ネットワークである。イーサネットインタフェースモジュール２６は、１つのモジュール上にパッケージ化されることが好ましい。
【００１７】
ＩＢＭ  ＡＴコンピュータの場合の電源投入シーケンスは、当業で公知である。簡略的に説明すると、電源投入時に、そのコンピュータ１０内の各モジュールに初期設定ルーチンを開始するように命じるために、ＣＰＵ  １２が、コンピュータ１０内の全モジュールに対してハードウェアリセットを送り出す。ＣＰＵ  １２は、そのＣＰＵ  モジュール上に配置されたプログラム可能読出し専用メモリ（ＰＲＯＭ）から、基本入出力システム（ＢＩＯＳ）のための命令を読み取る。ＢＩＯＳからの複数の初期設定ルーチンを実行した後に、ＣＰＵ  １２は、上記メモリからユーティリティプログラムを読み取る。このユーティリティプログラムは、上記記憶装置の１つ（好ましくはハードディスク１６）の中に前もって格納され、ＡＴバス１４に接続されると見込まれるモジュールを識別し、これらのモジュールと、ＡＴバスに対するこれらのモジュールのインタフェースとに対して、初期設定ルーチンと診断ルーチンとを実行する。
【００１８】
図２は、図１に示されるコンピュータのためのイーサネットインタフェースモジュール２６の機能ブロック図である。イーサネットインタフェース制御信号が、ＣＰＵ  １２からＡＴバス１４を通してライン１０２  上をインタフェース制御装置３２に送られ、一方、これとは逆方向に、インタフェース制御装置３２からＡＴバス１４ヘライン１０２  上を送られる。ＣＰＵ  １２は、ＡＴバス１４とシステムアドレスバス１１６  とを通して、ブートプログラム可能読出し専用メモリ（ｂｏｏｔ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）（ＰＲＯＭ）  ３４  とインタフェース制御装置３２とにシステムアドレス命令を与える。イーサネットインタフェースモジュールのアドレスは、そのモジュールを識別するための識別コードとして機能する。そのイーサネットインタフェースモジュール  ２６  のアドレスに合致する命令アドレスを受け取ると、モジュール２６は要求された機能に応答する。ブートＰＲＯＭ  ３４  は、イーサネットインタフェースモジュール２６用の立上げプログラムを含む。このブートＰＲＯＭ  ３４  は、例えばハードディスク１６又はフロッピーディスク１８を持たない無ディスクのシステム（ｄｉｓｋｌｅｓｓ  ｓｙｓｔｅｍ）  で使用されることが可能であり、この場合には、ドライバプログラムがイーサネット  ２７  からロードされる。インタフェース制御装置３２は、ＡＴバス１４とイーサネット  ２７  との間をインタフェースするための制御回路を与える。インタフェース制御装置３２は、ブートＰＲＯＭ  ３４  を使用可能にしてその出力を制御するために、ライン１１４  を通してＰＲＯＭ制御信号を与える。ブートＰＲＯＭ  ３４  は、バス１１０  を通して、インタフェース制御装置３２にデータを与える。
【００１９】
ＣＰＵ  １２は、第１の方向においては、ＡＴバス１４とそれに続いてシステムデータバス１０６  とを通して、１６ビットＡＴバス１４の場合には、システムデータバス高位（ハイ）バイトトランシーバ（ｓｙｓｔｅｍ  ｄａｔａ  ｂｕｓ  ｈｉｇｈ  ｂｙｔｅ  ｔｒａｎｓｃｅｉｖｅｒ）４０  とシステムデータバス低位（ロウ）バイトトランシーバ（ｓｙｓｔｅｍ  ｄａｔａ  ｂｕｓ  ｌｏｗ  ｂｙｔｅ  ｔｒａｎｓｃｅｉｖｅｒ）４２との両方にシステムデータを与え、８  ビットＡＴバス１４の場合には、システムデータバス低位バイトトランシーバ４２だけにシステムデータを与える。これに加えて、システムテータバス１０６  を通して命令と状態の転送が行われる。これとは逆に、ＣＰＵ  １２は、第２の方向において、システムデータバス１０６  とそれに続いてＡＴバス１４とを通して、１６ビットＡＴバス１４の場合には、システムデータバス高位バイトトランシーバ４０とシステムデータバス低位バイトトランシーバ４２との両方からシステムデータを受け取るか、又は、８  ビットＡＴバス１４の場合には、システムデータバス低位バイトトランシーバ４２だけからシステムデータを受け取る。システムデータバス高位バイトトランシーバ４０は、選択的に、バス１０８  を通して、インタフェース制御装置３２にデータを与えるか、又は、これとは逆方向に、インタフェース制御装置３２からデータを受け取る。インタフェース制御装置３２は、システムデータバス高位バイトトランシーバ４０を通したデータ伝送を制御するために、ライン１０４  を通してトランシーバ制御信号を与える。同様に、システムデータバス低位バイトトランシーバ４２は、選択的に、バス１１０  を通して、インタフェース制御装置３２にデータを与えるか、又は、これとは逆方向に、インタフェース制御装置３２からデータを受け取る。インタフェース制御装置３２は、システムデータバス低位バイトトランシーバ４２を通したデータ伝送を制御するために、ライン１１２  を通してトランシーバ制御信号を与える。
【００２０】
クロック１１８  がライン２３８  を通してインタフェース制御装置３２にクロック信号を与える。インタフェース制御装置３２は、ライン１４３  を通して発光ダイオード（ＬＥＤ）１４４に制御信号を与え、これらの発光ダイオード１４４  は、イーサネットインタフェースモジュール２６の状態の視覚的表示をもたらす。例えば、ＬＥＤ  １４４  は、受信、送信、衝突、リンクテストパス（ｌｉｎｋ  ｔｅｓｔ  ｐａｓｓ）を表示することが可能である。ＩＤメモリ３６が、インタフェース制御装置３２からのライン１２０  を通してのＩＤメモリ制御信号に応答して、ライン１２２  を通してインタフェース制御装置３２に無ジャンパの形態識別情報とノード識別情報とを与える。ブートＰＲＯＭ構成では、ＩＤメモリ３６が、ブートＰＲＯＭアドレスのための記憶域を与える。ＩＤメモリ３６が電気的消去可能プログラム可能読出し専用メモリ（ＥＥＰＲＯＭ）であることが好ましい。別の実施例では、形態識別とノード識別とが、バス１０８  、１１０  に直接的にこのデータを与えるＩＤ  ＰＲＯＭ  内に格納されてもよい。インタフェース制御装置３２は、バッファ制御信号１４２  とバッファ記憶装置バスアドレス信号１４０  とをバッファ記憶装置１３８  に供給し、スタティックランダムアクセスメモリ（ＳＲＡＭ）であることが好ましいこのバッファ記憶装置１３８  は、ＡＴバス１４とイーサネット２７との間のデータバス１３６  を通して転送されるデータのためのメモリ記憶域を与える。ＳＲＡＭ  １３８は、典型的には８  キロバイトまたは３２キロバイトである。
【００２１】
コネクタインタフェース３０は、イーサネットインタフェースモジュール２６をイーサネット２７に電気的に接続するための幾つかのタイプの機械式コネクタを有する。更に具体的に言えば、イーサネットインタフェースモジュール２６は、ＡＵＩ  インタフェース用にはＡｔｔａｃｈｍｅｎｔ  Ｕｎｉｔ  Ｉｎｔｅｒｆａｃｅ  （ＡＵＩ）  コネクタ１２８  を有し、同軸ラインを通しての信号通信用には同軸トランシーバインタフェース１３０  を有し、ツイストペアインタフェース用にはツイストペアコネクタ１３４  を有する。インタフェース制御装置３２は、ＡＵＩ  コネクタ１２８  と同軸トランシーバインタフェース１３０  との両方に対してライン１２４  を通して伝送対信号（ｔｒａｎｓｍｉｔ  ｐａｉｒ  ｓｉｇｎａｌ）を与える。ＡＵＩ  コネクタ１２８  と同軸トランシーバインタフェース１３０  の各々は、ライン１２６  を通してインタフェース制御装置３２に受信／衝突対信号（ｒｅｃｅｉｖｅ／ｃｏｌｌｉｓｉｏｎ  ｐａｉｒｓ  ｓｉｇｎａｌｓ）  を与える。インタフェース制御装置３２とツイストペアコネクタ１３４  は、ライン１３２  を通して差分対信号（ｄｉｆｆｅｒｅｎｔｉａｌ  ｐａｉｒｓ  ｓｉｇｎａｌｓ）を送ることによって、互いに通信し合う。
【００２２】
図３は、図２に示されたインタフェース制御装置の機能ブロック図である。インタフェース制御装置３２は、５つの機能ブロック、即ち、システムインタフェース１４６  と、バッファ制御装置１５２  と、制御及び状態レジスタ１５０  と、送信回路１５４  と、受信回路１５６  と、を有する。
【００２３】
システムインタフェース１４６  は、上記のようにライン１０２  、１０４  、１０８  、１１０，１１２  、１１４  、１１６  上の信号を使用してＡＴバス１４と通信する。システムインタフェース１４６  は、ＡＴバス１４とイーサネット２７との間での通信中にデータを保持するためのバッファレジスタ１４８  を有する。システムインタフェース１４６  はバッファ制御装置１５２  と双方向に通信し、このバッファ制御装置１５２  は、バッファ制御装置１５２  と、バッファレジスタ１４８  、ＩＤメモリ３６、ＳＲＡＭ  １３８、受信回路１５６  、及び送信回路１５４  と、の間のデータ転送を制御する。制御及び状態レジスタ１５０  は、システムインタフェース１４６  とバッファ制御装置１５２  と送信回路１５４  と受信回路１５６  とから制御及び状態情報を受け取り、システムインタフェース１４６  とバッファ制御装置１５２  とに制御及び状態情報を送る。
【００２４】
送信回路１５４  は、符号器１６０  内でのバッファ制御装置１５２  からのデータの符号化を制御するための送信回路制御装置１５８  を有する。符号化されたデータは、パルス整形回路及びフィルタ１６２  によって処理され、その後で、送信回路増幅器１６６  内で増幅され、コネクタインタフェース３０に供給される（図２を参照されたい）。これとは逆に、受信回路１５６  は、コネクタインタフェース３０からのデータ信号を受け取り、受信回路増幅器１７４  内で増幅する。増幅されたデータ信号は、受信回路スライサ１７２  内で処理され、その後で復号器１７０  によって復号される。その後で、復号されたデータ信号が受信回路制御装置１６８  に送られ、更に、バッファ制御装置１５２  に送られる。衝突回路（ｃｏｌｌｉｓｉｏｎ  ｃｉｒｃｕｉｔ）１６４が、復号器１７０  からの復号信号と符号器１６０  からの符号化信号とを処理することによって、イーサネット２７上での受信と送信との間の衝突を解消する。
【００２５】
図４は、図１に示されたコンピュータ１０のためのイーサネットインタフェースモジュール２６の具体的な実現例の機能ブロック図である。
【００２６】
ＣＰＵ  １２は、ＡＴバス１４を介して、イーサネットインタフェースモジュール２６と、ＡＴバス１４上のその他のモジュールとにシステムアドレス（Ｓｙｓｔｅｍ  Ａｄｄｒｅｓｓ）（ＳＹＳＡＤＤＲＥＳＳ）信号を送る。更に明確に言えば、イーサネットインタフェースモジュール２６上では、ＳＹＳＡＤＤＲＥＳＳ信号が、ブートＰＲＯＭ  ３４  のアドレス入力とインタフェース制御装置３２のアドレス入力とに対してライン１１６  を通して供給される。ＣＰＵ  １２は、メモリアドレス空間とＩ／Ｏ  アドレス空間とを定義するためにこれらのシステムアドレス命令を送り出す。このアドレス指定は、図９〜１２と共に下記で詳細に説明される。更に、ＡＴバス１４は、イーサネットインタフェース制御信号ライン１０２（図２）の一部分であるライン１７６  を通して、ブートＰＲＯＭ  ３４  の出力イネーブル（Ｏｕｔｐｕｔ  Ｅｎａｂｌｅ）（ＯＥバー）  入力とインタフェース制御装置３２との両方にシステムメモリ読取り（Ｓｙｓｔｅｍ  Ｍｅｍｏｒｙ  Ｒｅａｄ）（ＳＭＥＭＲバー）  命令を与える。（信号名称の上線（バー）の取り決めは、その信号が低状態（ｌｏｗ  ｓｔａｔｅ）  でアサートされることを表している）。ＳＭＥＭＲ  バー命令は、ＡＴバス１４からのアクティブ低（アクティブロウ）（ａｃｔｉｖｅ  ｌｏｗ）信号であり、この信号は、現在のバスサイクルがメモリ読取り動作であることを示し、且つＡＴバス１４を通してイーサネットインタフェースモジュール２６が上記記憶装置からデータを出力することを要求する。ここでは命令がアクティブ高低信号として説明されるが、本発明はこれに限定されない。イーサネットインタフェースモジュール２６は、アクティブ低信号又はアクティブ高（アクティブハイ）（ａｃｔｉｖｅ  ｈｉｇｈ）  信号のどちらの場合にも設計されることが可能である。
【００２７】
更に、ＣＰＵ  １２は、システムデータ（Ｓｙｓｔｅｍ  Ｄａｔａ）（ＳＹＳＤＡＴＡ）バス１０６  を通して全てのデータと命令と状態との転送を可能にし、又は、ＡＴバス１４を通して全てのデータと命令と状態をイーサネットインタフェースモジュール２６に送るよう他の装置に命令する。更に明確に言えば、システムデータバス高位バイトトランシーバ４０とシステムデータバス低位バイトトランシーバ４２との両方の第１の双方向入力／出力端子に至るＳＹＳＤＡＴＡ  バスライン１０６  が、ＡＴバス１４に接続される。ＣＰＵ  １２がシステムデータバス高位バイトトランシーバ４０を通るデータフロー方向を制御し、一方、インタフェース制御装置３２がシステムデータバス低位バイトトランシーバ４２を通るデータフロー方向を制御するということを除いて、システムデータバス高位バイトトランシーバ４０とシステムデータバス低位バイトトランシーバ４２との両方が同一の仕方で動作する。システムデータバス高位バイトトランシーバ４０は、ＣＰＵ  １２からの入出力読取り（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｒｅａｄ）（ＩＯＲ  バー）  命令を、ＡＴバス１４とライン１７８  とを経由して、このトランシーバの方向制御（ＤＩＲ）  入力端子を介して受け取る。このＤＩＲ  端子上のアクティブ高信号は、書込み動作のために、システムデータバス１０６  からバッファシステムデータ（ＢＳＤ）  バス１８０  （バス１０８  、１１０  を含む  （図２））へデータを転送するように、システムデータバス高位バイトトランシーバ４０を切り替える。このバッファシステムデータ（ＢＳＤ）  バス１８０  は、イーサネットインタフェースモジュール２６上の内部データバスである。ＤＩＲ  入力端子上のアクティブ低信号は、読取り動作のために、ＢＳＤ  バスからシステムデータバスに逆方向にデータを転送するように、トランシーバ４０を切り替える。ＩＯＲ  バー命令は、ＣＰＵ  １２からのアクティブ低信号であり、この信号は、現在バスサイクルがＩ／Ｏ  読取り動作であることを示し、且つＡＴバス１４のシステムデータバス１０６  上にイーサネットインタフェースモジュール２６がデータを出力することを要求する。
【００２８】
バッファシステムデータバス（  ＢＳＤ＜１５：０＞  ）  １８０  は、ブートＰＲＯＭ  ３４  と、システムデータバス高位バイトトランシーバ４０と、システムデータバス低位バイトトランシーバ４２と、制御装置チップ３２とを相互接続する。（ここで使用される信号ライン上のビットを定義する取り決めは、コロンで分けられた＜＞記号でビット数を囲むことである。例えば、ＢＳＤ  ＜１５：０＞は、ＢＳＤ  バスのビット１５−０を表す。）システムデータバストランシーバ４０、４２は、７４ＡＬＳ２４５トライステートバストランシーバ（ｔｒｉ−ｓｔａｔｅ  ｂｕｓ  ｔｒａｎｃｅｉｖｅｒ）であることが好ましい。ジャンパバッファ３８、３９の出力も、システムデータバス高位バイトトランシーバ４０とシステムデータバス低位バイトトランシーバ４２の第２の双方向入出力端子へのＢＳＤ  バス＜１５：０＞  １８０上に与えられる。
【００２９】
インタフェース制御装置３２は、システムデータバス高位バイトトランシーバ４０のイネーブル（Ｅｎａｂｌｅ）（ＥＮ  バー）  入力へライン１８２  を通してイネーブルデータ高位バイト（Ｅｎａｂｌｅ  Ｄａｔａ  Ｈｉｇｈ  Ｂｙｔｅ）（ＥＮＨＢバー）  命令を与える。イネーブルデータ高位バイト信号は、システムデータバス高位バイトトランシーバ４０をイネーブル又はディスエーブルにするアクティブ低信号である。更に明確に言えば、イネーブルデータ高位バイト命令は、バッファシステムデータバス１８０  からＳＹＳＤＡＴＡ  バス１０６  を切り離すために、システムデータバス高位バイトトランシーバ４０をディスエーブルにする。
【００３０】
イーサネットインタフェースモジュール２６によるシステムデータフローの制御のために、システムデータバス低位バイトトランシーバ４２が同様の仕方で制御される。しかし、システムデータバス低位バイトトランシーバ４２に対する両方の制御信号は、インタフェース制御装置３２によって与えられる。更に詳細に説明すると、ライン１８４  上のイネーブルデータ低位バイト（Ｅｎａｂｌｅ  Ｄａｔａ  Ｌｏｗ  Ｂｙｔｅ）（ＥＮＬＢ  バー）  信号によってシステムデータバス低位バイトトランシーバ４２をイネーブルにすることによって、及び、ライン１８６  上に低位バイト方向（Ｌｏｗ  Ｂｙｔｅ  Ｄｉｒｅｃｔｉｏｎ）（ＬＢＤＩＲバー）  信号を送ることによってバッファシステムデータバス１８０  からシステムデータバス１０６  へのデータフローの方向を制御することによって、イーサネットインタフェースモジュール２６がシステムデータバス１０６  上にデータを出力する。
【００３１】
下記で詳細に説明されるように、イーサネットインタフェースモジュール２６は、有ジャンパモード（ｊｕｍｐｅｒ  ｍｏｄｅ）  と無ジャンパモード（ｊｕｍｐｅｒｌｅｓｓ  ｍｏｄｅ）  のどちらでも動作することが可能である。有ジャンパモードでは、イーサネットインタフェースモジュールの構成は、このモジュール上の物理的ワイヤである構成ジャンパ１８８  〜１９５  によって定義される。ジャンパ１８８  、１９２  はＩ／Ｏ  基底アドレスを定義し、ジャンパ１８９  、１９３  はメモリ基底アドレスを定義し、ジャンパ１９０  、１９４  はＤＭＡ  （Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）アクノリッジ（Ａｃｋｎｏｗｌｅｄｇｅ）（ＤＡＣＫ）  を定義し、ジャンパ１９１  、１９５  は割込みを定義する。ＤＡＣＫ信号はアクティブ低信号であり、この信号は、ホストシステムとイーサネットインタフェースバッファメモリとの間でデータを転送する用意が外部ＤＭＡ  制御装置（図示されていない）に整っていることを示す。Ｉ／Ｏ  基底アドレスとメモリ基底アドレスと割込み信号は、図９  〜１２と共に下記で定義される。構成ジャンパは、その一方の末端において、接地又は電圧源（ＶＣＣ）（図示されていない）  に接続され、その他方の末端において、構成ジャンパバッファ３８、３９の入力に接続される。或いは、その代わりに、構成ジャンパ１９２  〜１９５  は、上記の構成以外の構成を定義するために使用されてもよい。ＥＥＰＲＯＭとＩＤ  ＰＲＯＭ  のどちらが初期パラメタを格納するのかということと、その動作が有ジャンパ動作と無ジャンパ動作のどちらであるかということを定義する１組のモードジャンパ２３５  が、インタフェース制御装置３２に与えられる。
【００３２】
有ジャンパモードでは、各々の構成ジャンパの論理レベルが、バッファシステムデータバス１８０  に与えられる。イーサネットインタフェースモジュール２６が構成ジャンパの状態を読み取ることを求めると、インタフェース制御装置３２は、ジャンパバッファ３８のイネーブル（ＥＮ  バー）  入力に対してライン１９６  を通して構成レジスタ１選択（Ｓｅｌｅｃｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｇｉｓｔｅｒ  １）  命令（ＳＥＬ１２）  を与え、ジャンパバッファ３８は、これに応答して、構成ジャンパ信号をバッファシステムデータバス１８０  に与える。ＳＥＬ  １２命令は、無ジャンパモードでは使用されない。この代わりに、ジャンパバッファ３９は、構成ジャンパバッファ３９のイネーブル（ＥＮ  バー）  入力にインタフェース制御装置３２から与えられるライン１９８  上の構成レジスタ２選択（Ｓｅｌｅｃｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｒｅｇｉｓｔｅｒ  ２）  命令（ＳＥＬ１３）  によってイネーブルにされる。下記で説明されるように、ＳＥＬ１３  命令は、シフトレジスタ／カウンタ４８からの読取りを行うために無ジャンパモードで使用される。構成ジャンパバッファ３８、３９は、７４ＬＳ２４４  トライステートバッファであることが好ましい。論理１レベルは、ライン１９６  上のＳＥＬ１２  信号とライン１９８  上のＳＥＬ１３  信号のどちらの場合にも、その対応するバッファ出力を高インピーダンス状態に切り替え、ジャンパされた入力をバスへの出力から切り離す。これとは逆に、論理０レベルは、ＳＥＬ１２  命令１９６  とＳＥＬ１３  命令１９８  のどちらの場合にも、その対応するバッファ３８、３９を各々に切り替えて、構成ジャンパ１８８  〜１９５  に対応する信号をバッファシステムデータバス１８０  に与える。
【００３３】
ＩＤメモリ３６は、イーサネットインタフェースモジュール２６のための構成バイトを記憶する。ＩＤメモリ３６は、２５６  、５１２  又は１０２４ビットを各々に有するＮａｔｉｏｎａｌ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ＮＭＣ９３Ｃ０６  、Ｃ２６  又はＣ４６  シリーズのような、直列ＥＥＰＲＯＭであることが好ましい。直列ＥＥＰＲＯＭは、インタフェース制御装置３２からの３つの入力、即ち、直列データ入力と、直列データクロック又はシフトクロック（ＳＫ）と、チップ選択（ｃｈｉｐ  ｓｅｌｅｃｔ）（ＣＳ）  とを有する。ＩＤメモリ３６は、単一出力である直列データ出力（ＤＯ）をライン２０６  を通してインタフェース制御装置３２に与える。命令とアドレスと書込みデータとの全てが、ＩＤメモリ３６入力としてライン２００  を通してＩＤメモリ３６の入力端子に与えられる。直列ＥＥＰＲＯＭの読取りデータと状態情報とが、直列データ出力端子から出力される。インタフェース制御装置３２は、チップ選択信号をライン２０２  を通してＩＤメモリ３６に与える。直列ＥＥＰＲＯＭは、インタフェース制御装置３２からのライン２０４  上のシフトクロック（ＳＫ）の低から高への遷移時に、データをシフトイン（ｓｈｉｆｔ−ｉｎ）又はシフトアウト（ｓｈｉｆ−ｏｕｔ）する。
【００３４】
別の実施例では、ＩＤ  ＰＲＯＭ  ２０８  が、ライン２１０  を通して、バッファシステムデータバス１８０  に対してデータを与え、バッファシステムデータバス１８０  からデータを受け取る。インタフェース制御装置３２は、ＩＤ  ＰＲＯＭ  ２０８  をイネーブルにするためにＰＲＯＭチップ選択信号をライン２１２  上に与え、ＩＤ  ＰＲＯＭ  ３６をアドレスするために、ラッチされたアドレス信号をライン２１３  上に与える。
【００３５】
（ＳＲＡＭ  １３８とも呼ばれる）バッファ記憶メモリ１３８  と任意の追加のバッファ記憶メモリ１３８’とが、そのメモリ内の記憶場所を選択するための、インタフェース制御装置３２からのアドレス信号１４０  を受け取る。インタフェース制御装置３２は、ＳＲＡＭ  １３８、１３８’上の各々のチップイネーブル入力端子にバッファチップ選択信号をライン２２４  、２２６  を通して与え、その選択されたチップをイネーブルにする。更に、インタフェース制御装置３２は、ＳＲＡＭ  １３８、１３８’の両方に対して、ライン２２８  を通して書込みイネーブル（ｗｒｉｔｅ  ｅｎａｂｌｅ）（ＷＥ  バー）  信号を与え、ライン２３０  を通して出力イネーブル（ｏｕｔｐｕｔ  ｅｎａｂｌｅ）（ＯＥバー）  信号を与える。ＳＲＡＭ  １３８、１３８’とインタフェース制御装置３２との間でバス２３２  を通してバッファデータが双方向に通信される。バッファデータのビット７〜０がＳＲＡＭ  １３８に与えられる。バッファデータのビット１５〜８  がＳＲＡＭ  １３８’  に与えられる。
【００３６】
インタフェース制御装置３２とコネクタインタフェース３０は、上記のライン１２４  、１２６  、１３２  を通して通信する。コネクタインタフェース３０は、イーサネット２７に結合される。インタフェース制御装置３２は、ライン２２２  を通してＡＴバス１４にシステム要求を与え、ライン２２０  を通してＡＴバス１４からシステム制御信号を受け取る。ライン２２０  、２２２  はライン１０２  の一部分である（図２）。
【００３７】
Ｉ／Ｏ  基底アドレスジャンパは、有ジャンパモードでＩ／Ｏ  基底アドレスを定義するための構成バイトのビット２〜０を置換するために、ライン２１６  に接続されることが可能である。同様に、メモリ基底アドレスジャンパは、メモリ基底アドレスのビット５〜３又は（下記で説明される）割込み要求のビット７〜６を置換するためにライン２１８  に接続されることが可能である。割込み要求０  は、インタフェース制御装置３２にライン２１４  を通して与えられる。
【００３８】
図５は、図４に示されたインタフェース制御装置のアドレス復号回路及び構成バイト処理回路の機能ブロック図である。
【００３９】
ジャンパモード復号器４４は、接地又は電圧源（ＶＣＣ）（図示されていない）  の何方かに選択的に接続されている（ライン２３５  として一括して示される）第１の入力と第２の入力とを有するモードジャンパ２３５  を有する。ジャンパモード復号器４４の一方の出力は、ライン２３７  上の有ジャンパ／無ジャンパ（ＪＰ／ＪＰＬＥＳＳ）  信号であり、この信号は、そのモジュールがジャンパワイヤの変更又は（下記で説明される）ソフトウェアの何方によって再構成されることになるかということをインタフェース制御装置３２に対して示す。例えば、第２の入力２３５  を電圧源（ＶＣＣ）  に接続する時には、ライン２３７  上のＪＰ／ＪＰＬＥＳＳ  信号は、そのモジュールが無ジャンパモードで動作していることを示す論理１である。これとは逆に、第１の入力２３５  を接地に接続する時には、ＪＰ／ＪＰＬＥＳＳ  信号は、そのモジュールが有ジャンパモードで動作していることを示す論理０である。
【００４０】
ＩＤメモリ３６からのライン２０６  上の直列データ出力は、インタフェース制御装置３２内のデータ選択マルチプレクサ（ＭＵＸ）４６  の第１の入力とシフトレジスタ／カウンタ４８との両方に与えられる。シフトレジスタ／カウンタ４８は、ビット７〜０を有する８ビット直列入力／並列出力シフトレジスタを含む。ビット２〜０（Ｉ／Ｏ  ＳＥＬ  ＜２：０＞  とも呼ばれる）は、Ｉ／Ｏ  基底アドレスを定義する。ビット５〜３（ＭＳＥＬ  ＜２：０＞とも呼ばれる）はメモリ基底アドレスを定義する。ビット７〜６（ＩＲＱ  ＜３：０＞  とも呼ばれる）は割込みライン構成を定義する。これらのビットの復号を下記で詳細に説明する。シフトレジスタ／カウンタ４８は、下記で説明するように、ビット２〜０用のカウンタとしても機能する。
【００４１】
データ選択ＭＵＸ  ４６は、ＢＳＤ  バス１８０  に与えられるデータを選択的に制御する。更に、シフトレジスタ／カウンタ４８のビット７〜０は、データ選択ＭＵＸ  ４６の第２の入力に接続される。インタフェース制御装置３２の内部バスであり且つシステムインタフェース１４６  と制御及び状態レジスタ１５０  とバッファ制御装置１５２  と送信回路１５４  と受信回路１５６  と（図３）を相互接続するバスである、システムデータ出力高／低バス（Ｓｙｓｔｅｍ  Ｄａｔａ  Ｏｕｔｐｕｔ  Ｈｉｇｈ／Ｌｏｗ  ｂｕｓ）（ＳＤＯＨＬ  ＜７：０＞）信号が、データ選択ＭＵＸ  ４６の第３の入力に与えられる。
【００４２】
データ選択ＭＵＸ  ４６によって与えられる信号は、制御論理回路５８によって制御される。図６は、データ選択ＭＵＸ  ４６によってバッファシステムデータバスに与えられるデータを制御するための制御論理回路の略図である。ライン２３７  上の有ジャンパ／無ジャンパ（ＪＰ／ＪＰＬＥＳＳ）  信号がジャンパモード復号器４４によって制御論理回路５８の第１の入力に与えられる。バッファレジスタ１４８  （図３）の読取りアドレス１３に対するＲＥＡＤ  １３  −  命令が、制御論理回路５８の第２の入力に与えられる。ＪＰ／ＪＰＬＥＳＳ  信号と  ＲＥＡＤ  １３−  とが、データ選択ＭＵＸ  ４６に与えられるＪＰＬＳ−  ＲＥＡＤ  １３  信号を発生させるために、制御論理回路５８内で否定論理和  （ＮＯＲ）をとられる。
【００４３】
ＩＤメモリ３６からデータ出力を読み取るためのＲＥＡＤ  １１  命令も、データ選択ＭＵＸ  ４６に与えられる。表Ｉは、データ選択ＭＵＸ  ４６用に選択された出力に関する真理値表を示す。
0003588139.tif 000002
【００４４】
データ選択ＭＵＸ  ４６の出力は、双方向トライステートバッファ５０に接続される。双方向トライステートバッファ５０の双方向入出力ポートが、上記の通りにバッファシステムデータバス（ＢＳＤ  ＜１５：０＞）  １８０に接続される。双方向トライステートバッファ５０は、バッファシステムデータバス１８０  とインタフェース制御装置３２との間のデータフローの方向を選択的に制御する。双方向トライステートバッファ５０からの単一方向出力が、システムデータ入力低（Ｓｙｓｔｅｍ  Ｄａｔａ  Ｉｎｐｕｔ  Ｌｏｗ）（ＳＤＡＩＬ  ＜６：５＞  ）  信号とＳＤＡＩＬ  ＜７＞  とによって別々にフリップフロップ５２とフリップフロップ５４とに接続される。双方向トライステートバッファ５０内のデータフローの方向は、制御論理回路５６によって制御される。
【００４５】
図７は、双方向トライステートバッファを制御するための制御論理回路の略図である。図６に示されるように、制御論理回路５８は、ＳＥＬ  １３−  信号を発生させるために、ＪＰ／ＪＰＬＥＳＳ  信号と  ＲＥＡＤ  １３−  信号との論理積（ＡＮＤ）  をとり、このＳＥＬ  １３−  信号は、構成ジャンパバッファ３９と制御論理回路５６とに与えられる。次に図７を見ると，ＳＥＬ  １３−  信号が、Ｔｒｉ  −  Ｏｕｔ  信号を発生させるために、システム最下位ビット（Ｓｙｓｔｅｍ  Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）（ＳＹＳ−  ＬＳＢ  −  ）  信号の反転と否定論理積（ＮＡＮＤ）され、Ｔｒｉ  −  Ｏｕｔ  信号は、第１の論理状態（例えば論理「１」）においてインタフェース制御装置３２からＢＳＤ  バス１８０  へデータが流れることを命令し、一方、これとは逆に、第２の論理状態（例えば論理「０」）においてＢＳＤ  バス１８０  からインタフェース制御装置３２へデータが流れることを命令する。ＳＹＳ  −  ＬＳＢ  −  信号は内部ＦＩＦＯ又はレジスタ（図示されていない）によって与えられ、修飾子である。従って、データ選択ＭＵＸ  ４６は、ＩＤメモリ３６か、シフトレジスタ／カウンタ４８か、ＳＤＯＨＬ  バスかのいずれかからＢＳＤ  ライン１８０  上にデータを出力するように選択される。
【００４６】
ライン２３６  上のハードウェアリセット（Ｈａｒｄｗａｒｅ  Ｒｅｓｅｔ）信号と、ライン２３７  上のＪＰ／ＪＰＬＥＳＳ  信号と、２０  ＭＨｚクロックとが、無ジャンパ状態機械（ｊｕｍｐｅｒｌｅｓｓ  ｓｔａｔｅ  ｍａｃｈｉｎｅ）６０の第１と第２と第３の入力に与えられる。イーサネットインタフェースモジュール２６は、クロック１１８  （図２）からのライン２３８  上の２０  ＭＨｚクロック信号に基づいて動作する。無ジャンパ状態機械６０の第１の出力信号であるイネーブルカウンタ（Ｅｎａｂｌｅ  Ｃｏｕｎｔｅｒ）（ＥＮ  ＣＮＴＲ）  信号が、シフトレジスタ／カウンタ４８にシフトレジスタ又はカウンタのどちらとして動作するかを命令するために、ライン２４４  上をシフトレジスタ／カウンタ４８に与えられる。これに加えて、シフトレジスタクロック（ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒ  ｃｌｏｃｋ）（ＳＲＣＬＫ）  信号も、シフトレジスタ／カウンタ４８内でデータをシフトイン（ｓｈｉｆｔ  ｉｎ）するために与えられる。無ジャンパ状態機械６０は、その第２の出力からハードウェア被制御データイン（ｈａｒｄｗａｒｅ  ｃｏｎｔｒｏｌｌｅｄ  ｄａｔａ  ｉｎ）（ＨＡＲＤ  ＤＩ）信号をライン２３９  を通してＩＤメモリ制御ＭＵＸ  ６２に与え、ＩＤメモリ制御ＭＵＸ  ６２は、ＩＤメモリ３６にライン２００  を通して選択的にＨＡＲＤ  ＤＩ  信号を与える。無ジャンパ状態機械６０は、その第３の出力からハードウェア被制御シフトクロック（ｈａｒｄｗａｒｅ  ｃｏｎｔｒｏｌｌｅｄ  ｓｈｉｆｔ  ｃｌｏｃｋ）（ＨＡＲＤ  ＳＫ）信号をライン２４１  を通してＩＤメモリ制御ＭＵＸ  ６２に与え、ＩＤメモリ制御ＭＵＸ  ６２は、ＩＤメモリ３６にライン２０４  を通して選択的にＨＡＲＤ  ＳＫ  信号を与える。無ジャンパ状態機械６０は、その第４の出力からハードウェア被制御チップ選択（ｈａｒｄｗａｒｅ  ｃｏｎｔｒｏｌｌｅｄ  ｃｈｉｐ  ｓｅｌｅｃｔ）（ＨＡＲＤ  ＣＳ）信号をライン２４２  を通してＩＤメモリ制御ＭＵＸ  ６２に与え、ＩＤメモリ制御ＭＵＸ  ６２は、ＩＤメモリ３６にライン２０２  を通して選択的にＨＡＲＤ  ＣＳ  信号を与える。無ジャンパ状態機械６０は、その第５の出力からＭＵＸ  ハードウェア選択（ＭＵＸ  ｈａｒｄｗａｒｅ  ｓｅｌｅｃｔ）（ＭＵＸＨＷ）信号をライン２４３  を通してＩＤメモリＭＵＸ  制御回路６９に与える。
【００４７】
図８は、図５に示されたＩＤメモリＭＵＸ  制御回路の略図である。ＭＵＸＨＷ  制御信号がライン２４３  上をＩＤメモリＭＵＸ  制御回路６９に与えられ、ＩＤメモリＭＵＸ  制御回路６９では、このＭＵＸＨＷ  信号が、ＳＥＬ  −  ＭＵＸ  信号を形成するために、反転されてＪＰ／ＪＰＬＥＳＳ  信号と論理積される。再び図５を参照すると、無ジャンパ状態機械６０からＩＤメモリ３６への信号と、フリップフロップ５２、５４からの信号との何方か一方を選択するように、ＳＥＬ  −  ＭＵＸ  信号がライン２４６  上をＩＤメモリ制御ＭＵＸ  ６２に与えられる。
【００４８】
ソフトウェア被制御チップ選択信号と、ソフトウェア被制御シフトクロック信号と、ソフトウェア被制御データイン信号とが、フリップフロップ５２、５４に与えられる。特に、ＳＤＡＩＬ  ＜６：５＞  とＳＤＡＩＬ  ＜７＞  とが、上記のようにバッファシステムデータバス１８０  からフリップフロップ５２、５４に別々に与えられる。更に、ＷＲＩＴＥ  １０    信号とＷＲＩＴＥ  １１    信号とがフリップフロップ５２、５４に別々に与えられる。
【００４９】
シフトレジスタ／カウンタ４８のビット２〜０は、復号器選択ＭＵＸ  ６４の第１の入力にＩ／ＯＳＥＬ  ＜２：０＞として接続される。シフトレジスタ／カウンタ４８のビット５〜３は、復号器選択ＭＵＸ  ６４の第２の入力に信号ＭＳＥＬ  ＜２：０＞として与えられる。ジャンパによって定義されるＩ／ＯＳＥＬ  ＜２：０＞命令は、ライン２１６  を通して、復号器選択ＭＵＸ  ６４の第３の入力に与えられる。復号器選択ＭＵＸ  ６４の第４の入力は、双方向トライステートバッファ７２に接続される。双方向トライステートバッファ７２の双方向ポートは、ジャンパによって定義されるＭＳＥＬ  ＜２：０＞命令を入力として搬送するか又は割込み要求（ＩＲＱ  ＜３：０＞）  信号を出力として搬送する信号ラインに接続される。双方向トライステートバッファ７２への入力は、割込み要求復号器７０の第１の出力である。割込み要求復号器７０の第２の出力は、割込み要求０である。シフトレジスタ／カウンタ４８のビット７〜６も、割込み要求復号器７０の２つの入力に与えられる。双方向トライステートバッファ７２は、ジャンパ復号器４４からのライン２３７  上のＪＰ／ＪＰＬＥＳＳ  命令によって制御される。復号器選択ＭＵＸ  ６４の出力は、メモリアドレス復号器６６とＩ／Ｏ  アドレス復号器６８とに接続される。メモリアドレス復号器６６の出力とＩ／Ｏ  アドレス復号器６８の出力は、ＳＲＡＭ  １３８  （図３）に接続される。復号器選択ＭＵＸ  ６４は、ジャンパ復号器４４からのＪＰ／ＪＰＬＥＳＳ  命令によっても制御される。復号器選択ＭＵＸ  ６４は、論理１のＪＰ／ＪＰＬＥＳＳ  命令又は論理０のＪＰ／ＪＰＬＥＳＳ  命令に各々に応答して、シフトレジスタ／カウンタ４８又はジャンパからＭＳＥＬ  ＜２：０＞を出力することと、Ｉ／ＯＳＥＬ  ＜２：０＞を出力することとの間で切り替えられる。
【００５０】
次に、上記で定義されたハードウェアに関して、イーサネットインタフェースモジュール２６の動作を、図９  〜１２を参照して説明する。図９は、システム電源投入時、又は、Ｓｙｓｔｅｍ  Ｈａｒｄｗａｒｅ  Ｒｅｓｅｔ  命令が送り出される他のいずれかの時点における、ＩＤメモリからシフトレジスタ／カウンタへの構成バイトの読み取りと、メモリアドレスのコンフリクトの解消とのフローチャートである。システム電源投入時（ステップ３００  ）に、ＣＰＵ  １２は、イーサネットインタフェースモジュール２６を含むＡＴバス１４上の各モジュールに対して、Ｓｙｓｔｅｍ  Ｈａｒｄｗａｒｅ  Ｒｅｓｅｔ  命令を開始命令又は初期設定命令として送り出す。リセット後に、ＣＰＵ  １２は、最初のＡＴバス所有者となる。更に、例えば、キーボード２５上のコントロール（Ｃｔｒｌ）キーとＡＬＴ  キーと削除（Ｄｅｌ）  キーとを３つ同時にユーザが押すことによって、通常のシステム動作中にＨａｒｄｗａｒｅ  Ｒｅｓｅｔ命令が送り出されることも可能である。以下の説明は、典型的な目的のためにシステム電源投入時に送り出されるハードウェアリセットに関して、システムの動作を説明する。しかし、本発明はこれに限定されない。
【００５１】
ハードウェアリセット時に、ジャンパ復号器４４（図５）からのＪＰ／ＪＰＬＥＳＳ  信号が示すシステム構成が有ジャンパシステム構成と無ジャンパシステム構成との何方であるかを、無ジャンバ状態機械６０が判定する。無ジャンパモジュールとしてのイーサネットインタフェースモジュール２６の動作を、先ず最初に次で説明する。
【００５２】
システムが無ジャンパシステムである場合には、無ジャンバ状態機械６０（図５）が、ライン２０２  （図４）上のＣｈｉｐ  Ｓｅｌｅｃｔ  信号を高状態にセットすることによってＩＤメモリ制御ＭＵＸ  ６２にＩＤメモリ３６を選択するように命令する。ライン２０４  上のＳｈｉｆｔ  Ｃｌｏｃｋ  命令（図４）が、直列データ出力２０６  上をＩＤメモリ３６からシフトレジスタ／カウンタ４８にデータをシフトするようにセットされる。更に、シフトレジスタ／カウンタ４８にシフトレジスタとして動作することとＩＤメモリ３６からの直列データ出力２０６  をクロックイン（ｃｌｏｃｋ  ｉｎ）することとを命令するために、無ジャンバ状態機械６０が、ライン２４４  （図５）を通してシフトレジスタ／カウンタ４８に命令を送る。
【００５３】
ＩＤメモリ３６の位置Ｏｘ１１から構成バイトを読み取って、それをシフトレジスタ／カウンタ４８内にロードするために、無ジャンバ状態機械６０は適切な信号を発生させる（ステップ  ３０２）。上記のように、ビット５〜３はメモリ基底アドレスを決定する（ステップ  ３０４）。図１０は、ＡＴバス用のメモリ基底アドレスのマップである。メモリアドレスは０（００  ００００  Ｈｅｘ）〜１６３８４  Ｋ  （ＦＦ  ＦＦＦＦ  Ｈｅｘ）の範囲内である。実際にはアドレスは１６３８４  Ｋ  マイナス１であるが、説明を分かり易くするために、この−１は、接尾辞「Ｋ  」を有するアドレスから省かれる。このアドレス範囲内で、複数の部分範囲（ｓｕｂｒａｎｇｅ）がプラットフォームメモリとＢＩ０Ｓとのために割り当てられるか又は確保される。アドレス  ０  （００  ００００  Ｈｅｘ）−  ５１２  Ｋ  （０６  ＦＦＦＦ  Ｈｅｘ）が、プラットフォームメモリ用に確保された位置である。アドレス  ５１２  Ｋ  （０７  ００００  Ｈｅｘ）−  ６４０Ｋ  （０９  ＦＦＦＦ  Ｈｅｘ）  が、プラットフォームメモリ用のアドレス範囲である。アドレス範囲  １０００００  （Ｈｅｘ）  −  ＦＤ  ＦＦＦＦ  （Ｈｅｘ）が、スロットメモリ用に確保される。このアドレス範囲内に、イーサネットインタフェースモジュール２６がＣ４０００−ＤＦＦＦＦ  のアドレス範囲を有することが好ましい。基底アドレスビットに割り当てられるアドレスが次の表ＩＩに示されている。
0003588139.tif 000003
【００５４】
再び図９を参照すると、この図に示されるように、イーサネットインタフェースモジュール２６は、ＩＤメモリ３６から構成バイトをロードする。ＩＤメモリ３６から構成バイトを読み取る過程は、システム電源投入時に開始し、上記のシステムＢＩＯＳ立ち上げ時の初期設定と検査とに並行している。構成バイトの並行読取りは、ＢＩＯＳが有効ブートＲＯＭ  を求めてＲＯＭ  位置を走査することを可能にする。システムが適正に立ち上がる場合（ステップ  ３０６）には、ブートＲＯＭ  初期設定コードがそのリソースを初期化し、所望の割込みベクトルを置換し（ステップ  ３０７）、システムコントロールをシステムＢＩＯＳに戻し、その初期設定を完了する（ステップ  ３０８）。
【００５５】
一方、システムが適正に立ち上がらない場合には、コンピュータ１０内のイーサネットインタフェースモジュール２６と別の増設モジュールとの間でメモリアドレスのコンフリクトがあると見なされる（ステップ  ３０６）。メモリコンフリクトがある場合には、システム電源投入中にＣＰＵ  １２が停止する。このコンフリクトを解消するために、イーサネットインタフェースモジュール２６が、コンピュータ１０から取り外され（ステップ  ３１０）、第２のコンピュータシステム内にインストールされる（ステップ  ３１２）。この第２のシステムは、メモリ基底アドレスのコンフリクトの可能性を低減させることによってイーサネットインタフェースモジュール２６が適正に動作するかどうかを判定するために使用される。この第２のシステムは、第１のシステムと同一の基本構成を有するが、増設モジュールを全く含まないことが好ましく、これによって、イーサネットインタフェースモジュール２６と増設モジュールとの間のメモリコンフリクトを排除する。これに加えて、無ジャッパモードでは、下記で説明されるように、異なるメモリ基底アドレスによってＩＤメモリ３６を再プログラムするために第２のシステムが使用される。イーサネットインタフェースモジュール２６を第２のシステム内に挿入した後に、第２のシステムが電源投入される。第２のシステムが適正に立ち上がった場合（ステップ  ３１４）には、イーサネットインタフェースモジュール２６は作動中であり、第１のシステムでの問題点はメモリコンフリクトであったと見なされる。従って、このコンフリクトを排除するために、イーサネットインタフェースモジュール２６のメモリ基底アドレス位置を再割当てすることが必要である（ステップ  ３１６）。
【００５６】
有ジャンパモードでは、ジャンパワイヤを物理的に付加又は変更することによってイーサネットインタフェースモジュール２６のメモリ基底構成ジャンパ１８９  （図４）を変更することによって、メモリ基底アドレス位置が再割当てされる。これとは対照的に、無ジャンパモードでは、好ましくはＩＤメモリ３６のアドレス  ０Ｘ  １３において構成バイトを再プログラムすることによって、メモリ基底アドレス位置が変更される。例えば、構成バイトのビット５〜３内に最初に格納されたイーサネットインタフェースモジュール２６のメモリ基底アドレス位置が０００  であるとすると、この値０００  に対応するアドレス範囲は、上記の表ＩＩに示されるように、範囲  ０ＸＣ４０００  （Ｈｅｘ）−  ００ＸＣ７ＦＦＦ  （Ｈｅｘ）である。アドレスコンフリクトがある場合には、この範囲内のアドレスに応答することによって、イーサネットインタフェースモジュール２６とＡＴバス１４上の第２の増設モジュールとの両方が作動する。イーサネットインタフェースモジュール２６のメモリ基底アドレスは、構成バイトのビット５〜３を変更することによって再割当てされる。例えば、０００  から００１  にビット５〜３を増分することによって、これに対応してメモリ基底アドレス範囲が、表ＩＩに示されるような  ０ＸＣ８０００  （Ｈｅｘ）  −  ０ＸＣＢＦＦＦ  （Ｈｅｘ）の範囲に増分する。
【００５７】
ＩＤメモリ３６を再プログラムするために、ＣＰＵ  １２は最初に、構成バイトの現在状態を知るために、その構成バイトを読み取らなければならない。ＣＰＵ  １２は、ＩＤメモリ３６のメモリ位置  ０Ｘ１３  における構成バイトのアドレスのためのメモリ読取りの要求を送り出す。ＣＰＵ  １２は、データアドレスと要求命令をシステムデータバスを通してＩＤメモリ３６に通信するために、Ｉ／Ｏ  読取り（ＩＯＲバー）  信号をシステムデータバストランシーバ４０に送る。インタフェース制御装置３２は、ＩＤメモリ３６にアドレスとシフト選択命令とシフトクロック命令とを与えるために、システムデータバス１８０  からフリップフロップ５２、５４にデータを供給するようにインタフェース制御装置３２の双方向トライステートバッファ５０（図５）に命令する。ＩＤメモリ３６は、そのデータ出力ポートから、要求された構成バイトをデータ選択ＭＵＸ  ４６に供給し、データ選択ＭＵＸ  ４６は、バッファシステムデータバス１８０  上にそのデータを出力するように、イーサネットインタフェースモジール２６によって命令される。インタフェース制御装置３２は、バッファシステムデータバス１８０  からＡＴバス１４を経由してシステムデータバス１０６  とＣＰＵ  １２とにデータを供給することをシステムデータバストランシーバ４０に命令し、更にシステムデータバストランシーバ４０をディスエーブルにする。その後で、ＣＰＵ  １２は構成バイトのビット５〜３を増分し、それによって新たなメモリ基底アドレスを発生させ、更にその後で、上記の仕方で、位置０Ｘ１３においてＩＤメモリ３６の中にその新たな構成バイトを書き込むことをイーサネットインタフェースモジュール２６に命令する。ＣＰＵ  １２によるＩＤメモリ３６からの構成バイトの読取りと同様の仕方で、ＣＰＵ  は、システムデータバス１０６  を通してＩＤメモリ３６に適切な命令を与えることによって、増分された構成バイトを上記０Ｘ１３メモリ位置に書き込むことを、イーサネットインタフェースモジュール２６に命令する。
【００５８】
再び図９を参照すると、この図に示されるように、新たなメモリ基底アドレスを有する構成バイトによってイーサネットインタフェースモジュール２６が再プログラムされ終わった後に、そのイーサネットインタフェースモジュール２６が第１のコンピュータシステム内にインストールされ（ステップ  ３１７）、この第１のシステムが、ステップ  ３００を繰り返すことによって再び立ち上げられる。この第１のシステムはその立上げルーチンを完了し、ステップ  ３０２に関して上記で説明された通りに、ＩＤメモリ３６からシフトレジスタ／カウンタ４８の中に構成バイトをロードする。復号器６６、６８を使用するインタフェース制御装置３２は、その構成バイトをステップ  ３０４において復号する。そのシステムがステップ  ３０６で適正に立ち上がる場合には、ステップ  ３１６で行われたメモリ位置の再割り当てが適正であり、イーサネットインタフェースモジュール２６は上記で説明したようにステップ  ３０７に進む。一方、再構成されたイーサネットインタフェースモジュールがステップ  ３０６で適正に立ち上がらない場合には、第１のシステムからそのイーサネットインタフェースモジュールを取り外し（ステップ  ３１０）、第２のシステムでそのモジュールをテストする（ステップ  ３１２）という過程が繰り返される。
【００５９】
第２のシステムがステップ  ３１４で適正に立ち上がらない場合には、ステップ  ３１６で説明した通りに、そのメモリの構成バイトが再構成される（ステップ  ３１８）。ステップ  ３１４で第２のシステムの立ち上げが再び試みられる。或いは、ステップ  ３１８でメモリ位置を再構成する代わりに、イーサネットインタフェースモジュールが別のシステムに挿入され（ステップ  ３２０）、この別のシステムが、ステップ  ３１４に関して上記で説明したように、再び立ち上げられることも可能である。
【００６０】
全てのメモリ基底アドレスコンフリクトを除去するためにイーサネットインタフェースモジュール２６が再構成された後で、Ｉ／Ｏ  基底アドレスのコンフリクトがあるかどうかが判定される。概要を説明すると、そのシステムが立ち上がった時に、全てのメモリ基底アドレスコンフリクトが上記のように解消されているならば、そのシステムは、イーサネットインタフェースモジュール２６上の幾つかの予め決められたレジスタ位置から内容を読み取ることと、これらの内容をその期待値と比較することとによって、Ｉ／Ｏ  基底アドレスを検査する。別の実施例では、イーサネットインタフェースモジュールはブートメモリを含まない。この実施例では、コンフリクトが発生する可能性があるメモリがイーサネットインタフェースモジュール上にないので、メモリコンフリクトを解消することは不必要である。上記比較が一致を示す場合には、Ｉ／Ｏ  基底アドレスコンフリクトは存在しない。一方、システムは、上記比較が一致を示さない場合にはコンフリクトがあると見なす。この時には、システムは、予め決められたレジスタ位置からダミー読取り（ｄｕｍｍｙ  ｒｅａｄ）を行う。これに応答して、イーサネットインタフェースモジュール２６はそのＩ／Ｏ  基底アドレスを増分する。システムは、新たなアドレスにおけるレジスタ位置の内容を読み取って比較し、再びコンフリクトがあるかどうかを判定する。コンフリクトが検出されなくなるまで、システムはこの過程を繰り返す。
【００６１】
次に、ＡＴバス１４に関するＩ／Ｏ  アドレス基底を示す図１１を参照して、Ｉ／Ｏ  アドレス指定を説明する。このＩ／Ｏ  アドレスは、０  （００００  Ｈｅｘ）から  ６４  Ｋ  （ＦＦＦＦ  Ｈｅｘ）の範囲である。このアドレス範囲内では、各々の１  Ｋ  範囲は２つの部分範囲に分けられる。第１の部分範囲はメモリの下位の２５６  バイトであり、割込み制御装置やＤＭＡ  制御装置のようなＩ／Ｏ  プラットフォームリソース用に確保される。第２の部分範囲は残りの上位の７６８  バイトであり、これらのバイトは汎用Ｉ／Ｏ  従属モジュール用に使用可能である。
【００６２】
下記で説明される通りの好ましい実施例では、イーサネットインタフェースモジュール２６は、上記第２の部分範囲内にある  ０ｘ２６０  （Ｈｅｘ）〜  ０ｘ３ＦＦ  （Ｈｅｘ）のＩ／Ｏ  アドレス範囲を有する。上記のように、構成バイトのビット２〜０（Ｉ／ＯＳＥＬ  ＜２：０＞とも呼ばれる）は、Ｉ／Ｏ  基底アドレスを決定する。表ＩＩＩ  は、  ０ｘ２６０  （Ｈｅｘ）〜  ０ｘ３ＦＦ  （Ｈｅｘ）のアドレス範囲内の構成バイトに関するＩ／Ｏ  アドレス復号を示す。
0003588139.tif 000004
【００６３】
次に図１２を参照すると、この図では、Ｉ／Ｏ  基底アドレスコンフリクトルーチンの過程を説明している。この段階では、メモリ基底アドレスコンフリクトは、図９〜１０において上記で説明したように、既に解消され終わっていると見なされる。（或いは、イーサネットインタフェースモジュールがブートメモリを持たない別の実施例では、上記のようにメモリコンフリクトを解消することは不必要である。）コンピュータが立ち上げられ、図９のステップ３００  に関して上記で説明されたように初期設定ルーチンを行う（ステップ  ３３０）。インタフェース制御装置３２は、図９に関して上記で説明されたステップ３０２  と同様の仕方で、ＩＤメモリ３６からシフトレジスタ／カウンタ４８の中に構成バイトをロードする（ステップ  ３３２）。この読取りの完了時に、シフトレジスタ／カウンタ４８は、無シャンパ状態機械６０によってカウンタモードにセットされる。このモードでは、イーサネットインタフェースモジュール２６のＩ／Ｏ  基底アドレスを決定する構成バイトのビット２〜０だけが、カウンタによって増分される。構成バイトの残りのバイトは無変更のままに保たれる。インタフェース制御装置３２は、図９のステップ  ３０４に関して説明された仕方と同様の仕方で、その構成バイトをＩ／Ｏ  基底アドレスとメモリ基底アドレスと割込みの形に復号する（ステップ  ３３４）。これに加えて、イーサネットインタフェースモジュール２６内のレジスタ中の「汚染ビット（ｄｉｒｔｙ  ｂｉｔ）  」が、その特殊セルのレジスタ／カウンタモードの監視のために割り当てられる。その後で、ＣＰＵ  １２が初期範囲内でメモリから読み取る（ステップ  ３３６）。更に明確に言えば、ＣＰＵ  １２は、インタフェース制御装置３２の８つのレジスタの内容を読み取るために、そのＩ／Ｏ  プログラムに入る。各レジスタが８バイトを有することが好ましい。８つのレジスタの読み取りは、単に一例として示したにすぎない。本発明は、８つのレジスタだけを読み取ることには限定されない。コンフリクトがあるかどうかを判定するためにＣＰＵ  １２によって読み取られるレジスタ位置内に記憶された同じ値を、ＡＴバス１４上の２つの異なる増設モジュールが偶然の一致から有することがないという所期の見込みを満たすように、ソフトウェアプログラマーは、必要に応じた数のレジスタを読み取ることが可能である。
【００６４】
システム電源投入時に、インタフェース制御装置３２の８つのレジスタが、ハードディスク１６上に記録されたユーティリティプログラムの一部として、モジュール識別子又は「カンパニーコード（ｃｏｍｐａｎｙ  ｃｏｄｅ）」としても記憶される予め決められた値にセットされる。モジュール識別子は、当該モジュールをＡＴバス１４上の他のモジュールに対して一意に識別することが好ましい。このモジュール識別子は、イーサネットインタフェースモジュール２６の最初の８つのレジスタの中に記憶された初期値であることが好ましい。これら８つのレジスタをＣＰＵ  １２が読み取った後に、ＣＰＵ  １２はソフトウェアユーティリティを実行し、このソフトウェアユーティリティは、ハードディスク１６からモジュール識別子を読み取り、この識別子を最初の８つのレジスタからの読取り値と比較する（ステップ  ３３８）。ＣＰＵ  １２は、このモジュール識別子の値に上記読取り値が一致することを期待するので、これらの２つの値の間の差異をＩ／Ｏ  基底アドレスコンフリクトと解釈する。読取り値とモジュール識別子との間に一致がある時（ステップ  ３４０）には、ＣＰＵ  １２は、この一致を、イーサネットインタフェースモジュール２６とＡＴバス１４上の他のモジュールとの間にＩ／Ｏ  基底アドレスコンフリクトが存在しないことと解釈すると共に、イーサネットインタフェースモジュール２６のための固有のＩ／Ｏ  基底アドレスをそのＣＰＵ  １２が発見したと解釈する（ステップ  ３４２）。
【００６５】
一方、ＣＰＵ  １２によって読み取られた上記８つのレジスタの内容が予想値と相違する場合（  ステップ  ３４０）  には、システムは、この不一致を、Ｉ／Ｏ  基底アドレスのコンフリクトと解釈するか、又は、イーサネットインタフェースモジュール２６が、そのＣＰＵ  １２が読み取ったばかりのＩ／Ｏ  アドレスにはないということと解釈する。システムは、ＡＴバス１４上に与えられるデータを無視することによってイーサネットモジュール２６の存在を無視するが、ソフトウェアユーティリティは、予め決められたメモリ位置からの読取りを試みることによって続行する（ステップ  ３４４）。この予め決められたメモリ位置は、アドレス  ０Ｘ１２  （Ｈｅｘ）  にあることが好ましい。ＣＰＵ  １２が幾つかタイプの記憶装置に書込みを行おうとする場合に、イーサネットインタフェースモジュール２６が、コンフリクトを生じるアドレス指定によって物理的に損傷を与えられる可能性があるので、読取りが好ましい。シフトレジスタ／カウンタ４８がカウンタモード用にセットされ、且つ、何が実際に読み取られているかということをＣＰＵ  １２が関知しないので、この読取りは、「ダミー読取り（ｄｕｍｍｙ  ｒａｅｄ）」である。カウンタモードでは、ダミー読取りが行われる毎に、シフトレジスタ／カウンタ４８がビット２〜０の値を１ずつ増分し、それによって、Ｉ／Ｏ  基底アドレスを、表ＩＩＩ  に定義されているようなその次のアドレス範囲にジャンプさせる。初期Ｉ／Ｏ  基底アドレス範囲は、値  １１１を有する構成バイトのビット２〜０によって定義される  ０Ｘ３００  （Ｈｅｘ）    〜  ０Ｘ３１Ｆ  （Ｈｅｘ）に設定されることが好ましい。メモリ位置  ０Ｘ１２  からの読取りによってカウンタが増分される時に、構成バイトのビット２〜０が、０Ｘ２６０  （Ｈｅｘ）  〜  ０Ｘ２７Ｆ  （Ｈｅｘ）の新たなアドレス範囲に対応する  ０００の値に変化する。ユーティリティプログラムは、シフトレジスタ／カウンタ４８がその次の基底Ｉ／Ｏ  アドレスにカウントアップ（ｃｏｕｎｔ  ｕｐ）する毎に、適正なモジュール識別子を求めてインタフェース制御装置３２を読み取る。このことは、コンフリクトを起こさないＩ／Ｏ  基底アドレスにイーサネットインタフェースモジュール２６がそのモジュール自体を動的に再構成することを可能にする。しかし、７回目の増分の後で、ビット２〜０は値  １１１に戻る。８回目の上記メモリ読取りの後では、システム内にはイーサネットインタフェースモジュール２６が存在しないか、又は、Ｉ／Ｏ  基底アドレスは全て使用不可能である。ＣＰＵ  １２は、読み取られているメモリの範囲内にモジュール位置があるかどうかを判定する（ステップ  ３４６）。モジュール位置が上記メモリ範囲内にない場合には、その構成バイトの値は増分（又はカウント）されず、システムはＩ／Ｏ  基底アドレスを増分し（ステップ  ３５３）、その増分されたアドレスにおけるレジスタを読み取り（ステップ  ３４８）、読取り値を期待値と比較するためにステップ  ３３８にループバック（ｌｏｏｐ  ｂａｃｋ）  する。ステップ  ３４０で一致が得られない時には、ＣＰＵ  １２はステップ  ３４４にループバックする。一致が得られた時には、ＣＰＵ  １２はステップ  ３４２にループバックする。ＣＰＵ  １２は、予め決められたアドレスに書込み命令を送り、インタフェース制御装置３２がシフトレジスタ／カウンタ４８をカウントモードにセットして、ユーザモード（ｕｓｅｒ  ｍｏｄｅ）  に切り替え、必要に応じてユーザがシステム側からＩＤメモリにアクセスすることを可能にする。
【００６６】
一方、イーサネットインタフェースモジュールのアドレスがステップ  ３４６で読み取られたメモリの範囲内にある場合には、ＣＰＵ  １２が、それが上記範囲の最後の増分であるかどうかを判定し（ステップ  ３５０）、そうであるならば、Ｉ／Ｏ  基底アドレス範囲スロットは全て使用不可能であるか、又は、システム内にはイーサネットインタフェースモジュール２６がインストールされていない（ステップ  ３５４）。一方、メモリ読取りがそのメモリ範囲の最終メモリ増分でない場合には、制御装置チップ３２は、シフトレジスタ／カウンタ４８のビット２〜０を増加させることによって、イーサネットインタフェースモジュール２６のＩ／Ｏ  基底アドレスを増分する（ステップ  ３５２）。ＣＰＵ  はＩ／Ｏ  基底アドレスを増分し（ステップ  ３５３）、その後で、その増分されたＩ／Ｏ  基底アドレスにおいて８つのレジスタから読み取る（ステップ  ３４８）。ＣＰＵ  １２は、ステップ  ３３８における読取り値と期待値との比較にループバックする。
【００６７】
アドレス０Ｘ１２への不慮の書込みからシフトレジスタ／カウンタ４８内の構成バイトを誤って変更してしまうことを防止するために、ソフトウェア機能抑止が備えられる。データリンクレジスタ内のＩ／Ｏ  基底アンロックビット（Ｉ／Ｏ  ｂａｓｅ  ｕｎｌｏｃｋ  ｂｉｔ）  を０にセットすることによって、シフトレジスタ／カウンタ４８が、システムハードウェアリセットが再び送り出されるまで、ディスエーブルにされる。このリセット命令によって、上記アンロックビットが１にセットされ、コンフリクトを起こさないＩ／Ｏ  基底アドレスにイーサネットインタフェースモジュール２６がそのモジュール自体を動的に再構成することを可能にする。
【００６８】
Ｉ／Ｏ  アドレスのコンフリクトが解消されると、上記ソフトウェアは初期設定ルーチンを続行することが可能である。イーサネットインタフェースモジュール２６は、所謂「汚染ビット」をセット／リセットすることによって、シフトレジスタ／カウンタ４８をレジスタモードに設定し直す。その直後に、上記ユーティリティプログラムは、シフトレジスタ／カウンタ４８から新たな構成バイトを読み取って、新たな基底アドレスによってＩＤメモリ３６内に格納された構成バイトを再プログラムすることが可能である。
【００６９】
さて、Ｉ／Ｏ  アドレスプログラムを終了した後に、割込みを説明する。上記のように、ビット７〜６は、割込みライン構成だけに使用される。割込み信号は、ＣＰＵ  １２による割込みサービスを増設カードが要求することを可能にする。これらのビットは、イーサネットインタフェースモジュール２６のホストインタフェース側で使用可能な４つの割込みラインのいずれか１つを選択するようにプログラム可能である。ユーザは、システムユーザに使用可能な４つのシステム割込みライン（割込み０〜３）の任意のセットに対して上記割込みラインを接続する任意選択権を有する。上記ユーティリティは割込み構成をテストし、コンフリクトがある場合には、その次の使用可能な割込みオプションによってＩＤメモリ３６を再プログラムし、システムを再立ち上げし、構成を再テストする。
【００７０】
次表ＩＶは割込みビット定義のリストである。
0003588139.tif 000005
【００７１】
メモリ基底アドレスのコンフリクトと、Ｉ／Ｏ  基底アドレスのコンフリクトと、割込みのコンフリクトとを解消するためにＩＤメモリ３６が再プログラムされた後には、構成バイトの更に別の再プログラミングは不要である。こうして構成されたコンピュータ１０を引き続いて使用する際には、コンフリクトは発生しないだろう。
【００７２】
以上のように本発明が説明され、その好ましい実施例が説明されたが、他の変更と応用とが当業者にとって見い出されることが予想される。従って、本明細書の特許請求の範囲によってのみ本発明が限定されることが意図されている。
【００７３】
【発明の効果】
以上説明したように、本発明によれば、増設モジュールのメモリアドレスとＩ／Ｏアドレスとがジャンパ無しで変更されるとともに、その変更におけるステップが自動化され、ステップ数も減少する、という効果がある。
【図面の簡単な説明】
【図１】本発明の原理によるコンピュータを示す説明図である。
【図２】図１に示されたコンピュータのためのイーサネットインタフェースモジュールの機能ブロック図である。
【図３】図２に示されたインタフェース制御装置の機能ブロック図である。
【図４】図１に示されたコンピュータのためのイーサネットインタフェースモジュールの特定の実施例の機能ブロック図である。
【図５】図４に示されたインタフェース制御装置のアドレス復号回路と構成バイト処理回路との機能ブロック図である。
【図６】データ選択ＭＵＸ  によってバッファシステムデータバスに与えられるデータを制御するための制御論理回路の略図である。
【図７】双方向トライステートバッファを制御するための制御論理回路の略図である。
【図８】図５に示されるＩＤメモリＭＵＸ  制御回路の略図である。
【図９】システム電源投入時における、又はＳｙｓｔｅｍ  Ｈａｒｄｗａｒｅ  Ｒｅｓｅｔ  命令が送り出されるその他の時点における、ＩＤメモリからシフトレジスタ／カウンタへの構成バイトの読取りと、ブートメモリのコンフリクトの解消とのフローチャートである。
【図１０】ＡＴバス用のメモリ基底アドレスのマップである。
【図１１】ＡＴバス用のＩ／Ｄ  基底アドレスのマップである。
【図１２】図４に示されたイーサネットインタフェースモジュールのＩ／Ｏ  基底アドレスを再構成する際に使用される手順を示すフローチャートである。
【符号の説明】
１０…コンピュータ
１２…中央処理装置モジュール
１４…ＡＴバス
１６…ハードディスク
１８…フロッピーディスク
２０…ランダムアクセスメモリ
２２…キーボードインタフェースモジュール
２６…イーサネットインタフェース（Ｉ／Ｆ）  モジュール
２７…イーサネットネットワーク
３２…インタフェース制御装置
【図１】
0003588139.tif 000006
【図２】
0003588139.tif 000007
【図３】
0003588139.tif 000008
【図４】
0003588139.tif 000009
【図５】
0003588139.tif 000010
【図６】
0003588139.tif 000011
【図７】
0003588139.tif 000012
【図８】
0003588139.tif 000013
【図９】
0003588139.tif 000014
【図１０】
0003588139.tif 000015
【図１１】
0003588139.tif 000016
【図１２】
0003588139.tif 000017