[go: up one dir, main page]

JP3588139B2 - Interface control device - Google Patents

Interface control device Download PDF

Info

Publication number
JP3588139B2
JP3588139B2 JP06815794A JP6815794A JP3588139B2 JP 3588139 B2 JP3588139 B2 JP 3588139B2 JP 06815794 A JP06815794 A JP 06815794A JP 6815794 A JP6815794 A JP 6815794A JP 3588139 B2 JP3588139 B2 JP 3588139B2
Authority
JP
Japan
Prior art keywords
base address
interface module
configuration base
interface
communication bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP06815794A
Other languages
Japanese (ja)
Other versions
JPH076120A (en
Inventor
イー.シャリフ ライアン
モスリー ジェラルド
ジアン チェン ジャック
チャン ウェン−フェン
アバス フェイザル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPH076120A publication Critical patent/JPH076120A/en
Application granted granted Critical
Publication of JP3588139B2 publication Critical patent/JP3588139B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Small-Scale Networks (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、パーソナルコンピュータ用の増設カード(add−on card) に関し、より詳細には、外部イーサネットネットワークにATバスを接続するための、International Business Machines (IBM) AT 互換パーソナルコンピュータ用の増設インタフェースカードに関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
IBM ATパーソナルコンピュータとAT互換パーソナルコンピュータは、内部通信用にAT標準化バスシステムを使用する。ATバスは、一般的には、8 及び16ビットシステムの場合にはIndustry Standard Architecture (ISA)バスと呼ばれ、32ビットシステムの場合にはExtended Industry Standard Architecture (EISA)と呼ばれる。このATバスの規格は、”AT Bus Design”, Edward Solari (Annabooks, 1990)に詳細に説明されており、この文献の主題が本明細書に引例として組み入れられている。ATバスとは、例えば中央処理装置(CPU) メモリや様々な入出力(I/O) 装置用インタフェースのようなコンピュータの様々な機能単位の間のインタフェースである。ATバスは、システムクロックと、記憶装置と、読取り書込みアクセスと、I/O 読取り書込みサイクルと、データバス方向と、データ及び割込み要求と、スピーカドライバと、を制御するために必要なロジックを与える。上記記憶装置は、ハードディスクと、フロッピーディスクと、電気的消去可能プログラム可能読出し専用メモリ(EEPROM)と、ランダムアクセスメモリ(RAM) と、を含む。上記I/O 装置は、プリンタと、モデムと、イーサネット通信ネットワークと、を含む。
【0003】
パーソナルコンピュータは、電子モジュールを保持し相互接続するためのモジュールカードラック(module card rack)を収容するハウジングを有する。このハウジングが開かれている時に、電子モジュールが上記ラックの中に挿入され、ハウジングの開口の反対側のコンピュータハウジングの末端に配置されたマザーボードに接続される。このマザーボードは、ATバスと電源と接地とを含むコンピュータ内モジュールの間の電気的相互接続を与える。ユーザは、コンピュータハウジングに対してコンピュータモジュールを取り付け又は取り外しすることによって、そのパーソナルコンピュータの能力を変化させることが可能である。例えば、RAM(Random Access Memory) モジュールを上記ハウジング内に挿入することによって、記憶容量を増大させることが可能である。
【0004】
ATバスに接続され且つ記憶装置を有する各装置は、CPU がその記憶装置に対する読取り又は書込みを命令することが可能であるように、その各装置が使用するメモリ空間を定義するメモリ基底アドレス(ベースアドレス)(base address)も持たなければならない。こうした読取り書込み命令に対して1つの装置のみが応答するように、各々の記憶装置は固有のメモリ基底アドレスを有することが必要である。ATバス規格は、特定のメモリアドレスを特定の装置に割り当てる。更に明確に言えば、ハードディスク駆動装置とフロッピーディスク駆動装置とRAM メモリとは各々に固有のメモリ基底アドレス範囲を割り当てられる。従って、あらゆるパーソナルコンピュータは、こうしたアドレスを、ハードディスク駆動装置とフロッピーディスク駆動装置とRAM メモリとの通信のために使用する。これとは対照的に、新たな装置がそのパーソナルコンピュータに接続される時には、その新たな装置のメモリ基底アドレスは、他の装置に既に割り当てられているアドレスの1つであってはならないが、未だ割り当てられていないアドレス範囲内の任意のアドレスであってよい。しかし、各々に固有の記憶装置とそれに対応する固有のメモリ基底アドレスとを有する複数の装置が付加される時には、2つ以上の装置が同一のメモリ基底アドレスを有する可能性がある。この事態が生じる場合には、システム電源投入時の初期設定ルーチン中に、CPU が、2つ以上の別々の装置に対応するアドレスを送り出す。これらの2つ以上の別々の装置は各々にアドレス命令に応答し、これらの装置全てがメモリの読取り又はメモリへの書込みを行おうとする。こうした多重応答は、そのバスのデータ部分上でのコンフリクトを生じさせる。場合によっては、例えばシステム起動時又は読取り中に、読み取られるデータがシステム期待値と異なる可能性があるので、CPU がバス上に上記コンフリクトを検出する可能性がある。
【0005】
現行のシステムでは、増設カードの1つのタイプは、ATバスとイーサネットネットワークシステムとの間をインタフェースするためのイーサネットインタフェースモジュールである。イーサネットの規格は、Institute of Electrical and Electronics Engineers, Inc. によって1989年に発行された”Information Processing Systems − Local Area Networks − Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications”, International Standard ISO, 8902−3: 1989, ANSI/IEEE Std 802.3 − 1988で詳細に説明され、この主題は本明細書に引例として組み入れられている。更に、現行のシステムでは、メモリアドレスのコンフリクトが検出される時に、そのシステムの電源を切り、コンフリクトを生じさせていると推測される増設カードをシステムから取り外し、そのモジュール上に備えられている何らかの手段によってそのカードの構成を変更し、その後で、その増設カードをシステム内に再び取り付け、システム電源を投入し、そのモジュールの動作を再テストすることが必要である。(基底アドレスを変更するために現行のシステムで使用される手段は、可動ジャンパ又はスイッチである。) CPUは再びその初期設定ルーチンを行い、別のメモリ基底アドレスのコンフリクトが検出されると、そのメモリのコンフリクトが取り除かれるまで、モジュールの取り外しとメモリ基底アドレスの物理的変更との過程が反復される。メモリのコンフリクトが検出されない時には、CPU はその初期設定ルーチンを実行し続ける。
【0006】
ATバスに接続される複数のI/O インタフェース装置は、各々にI/O 基底アドレスを有する。これらのI/O インタフェース装置は、そのI/O 基底アドレスをバス上に検出すると、バス上の命令に応答する。上記メモリ基底アドレスの場合と同様に、各々のI/O インタフェース装置が固有のI/O 基底アドレスを有することが必要である。メモリアドレスと同様に、ATバス規格は、I/O アドレス範囲を特定の装置に割り当てる。従って、これらのI/O アドレスは、これらの装置によってだけ使用される。しかし、他の装置がATバスに付け加えられる時に、その各々の装置はその装置に固有のI/O アドレスを持たなければならない。しかし、メモリ基底アドレスの場合と同様に、これらの装置は、事前に割り当てられたアドレスを持たない。従って、ATバス規格は、これらの新たな装置にI/O アドレス範囲を割り当てる。
【0007】
しかし、新たな装置がATバスに接続される時には、CPU がその初期設定ルーチンを実行し終わるまで、システムは、ATバス上の2つ以上の装置が同一のI/O 基底アドレスを使用しているかどうかを知ることはない。従って、CPU が、同一のアドレスを使用するATバス上の2つ以上の装置に対して1つのI/O バスアドレスを送る時に、これらの2つ以上の装置全部が応答し、ATバス上にコンフリクトを生じさせる。
【0008】
EEPROMに基づく構成を有する現行のシステムは、ジャンパ又はスイッチに基づく設計によってアドレスコンフリクトを解消する方法に相応する方法によって、I/O 基底アドレスにおけるコンフリクトを解決する。詳細に説明すると、EEPROMに基づく構成を有するイーサネットモジュールの場合には、コンピュータユーザが先ず最初にコンピュータの電源をオンにする。CPU の初期設定ルーチン中に、I/O メモリアドレスのコンフリクトが検出されると、ユーザは、第1のコンピュータから当該モジュールを取り外し、I/O 基底アドレスコンフリクトを起こしていない第2のシステムの中にそのモジュールを挿入しなければならない。その後で、ユーザは、そのモジュールのEEPROMを書き直すことによって、そのモジュールのI/O アドレスを変更することが可能である。その後で、最初の構成が既に変更された上記モジュールが、当初のシステムの中に再び取り付けられることが可能である。
【0009】
アドレスコンフリクトを解消するための上記方法は、面倒であり、高コストであり、オペレーターエラーを被り易い。その作業は、第1のコンピュータからモジュールを取り外すことと、そのモジュールを第2のコンピュータの中に挿入することと、その第2のコンピュータの電源をオンし第2のシステム内でそのモジュールを再構成することと、そのモジュールを第2のシステムから取り外すことと、そのモジュールを第1のシステムの中に再挿入して再テストすることと、全てのコンフリクトが除去されるまでこの作業を繰り返すことと、を必要とする。これらのステップの各々は、その遂行のために労力を必要とし、従って、時間浪費的である。セットアップとテストと手直しとのための追加時間が、そのモジュールのコストを増大させる。更に、上記の多数のステップが、手直し中にエラーが生じる可能性と、上記2つのコンピュータシステム内でのモジュールの取り外しと取り付けの繰り返しによってモジュール又はコンピュータに損傷を与える可能性と、を増大させる。
【0010】
増設モジュールのメモリアドレスとI/O アドレスとをジャンパ無しで変更することと、その変更におけるステップを自動化しそのステップ数を減少させることと、が求められている。
【0011】
【課題を解決するための手段及び作用】
簡略的に説明すると、本発明の実施例の1つは、アドレス指定可能インタフェースモジュール用のインタフェース制御装置である。このインタフェースモジュールは、他のアドレス指定可能インタフェースモジュールと共に通信バスを介して中央処理装置に結合されるように適合させられている。各々のインタフェースモジュールは、中央処理装置によって通信バス上に与えられる各インタフェースモジュールに固有の基底アドレスと、上記インタフェースモジュールから通信バスへのデータの読取りのための、中央処理装置によって通信バス上に与えられる読取り命令、又は、通信バスから上記インタフェースモジュールへのデータの書込みのための、中央処理装置によって通信バス上に与えられる書込み命令と、に応答するように適合させられている。上記インタフェース制御装置は、対応するインタフェースモジュールがそれに応答しなければならない固有のアドレスを決定するための、記憶された構成基底アドレスを有する。更に、このインタフェース制御装置は、対応するインタフェースモジュールによる応答のための固有のアドレスの決定時に、対応するインタフェースモジュールによる使用のための変更された構成アドレスを含む基底アドレスを復号する復号器も有する。このインタフェース制御装置は、記憶された構成基底アドレスが他のインタフェースモジュールのいずれか1つのための固有のアドレスと同一である時に、記憶された構成基底アドレスを自動的に変更する回路を含む。この回路は、記憶された構成基底アドレスを異なった構成アドレスに変更するために、通信バス上の予め決められたアドレスと読取り命令とに対して応答する第2の回路を含む。1つの特定の実装例では、上記第1の回路は、構成基底アドレスによって表される値を増分調節するためのカウンタを含む。
【0012】
簡略的に説明すると、本発明の実施例の1つは、同じバスに接続された第2のモジュールとのコンフリクトを除去するために、そのバスに接続された第1のモジュールの第1の識別コードを、開始命令に応答して、適応的に調節するための方法である。第1の識別コードが1つのレジスタ内に格納される。命令された識別コードが上記バスを通して受け取られる。記憶された第1の識別コードが、上記バスを通して受け取られた上記命令された識別コードと比較される。第1の識別コードと命令された識別コードとの間の一致に応答して、データが上記バスを通して送り出される。期待データが発生させられる。送り出されたデータは、そのデータの期待値と比較され、送り出されたデータがこの期待データと一致しない場合には、その結果が不一致として識別される。上記レジスタ内の記憶された第1の識別コードが、この識別された不一致に応答して変更される。第1のモジュールが第1の識別コードによって一意に識別されるように、送り出されたデートと期待データとの間に不一致が識別されなくなるまで、上記の過程が逐次的に反復される。
【0013】
上記バスがIBM ATバスであり、識別コードが入出力基底アドレスであり、且つ、開始命令がハードウェアリセット命令であることが好ましい。
【0014】
同じバスに接続された第2のモジュールとのコンフリクトを回避するために、そのバスに接続された第1のモジュールの第1の識別コードを開始命令に応答して適応的に調節するための回路が提供される。この回路は、第1の識別コードを記憶するための手段と、この記憶手段内の第1の識別コードを命令された識別コードと比較するための手段と、第1の識別コードと命令された識別コードとの間の一致に応答してデータを送り出すための手段と、第1のモジュールと第2のモジュールの両方が第1の識別コードと命令された識別コードとの間の一致に応答してデータを送り出すかどうかを検出するための、及び、この一致が無い時にコンフリクト信号を発生させるための手段と、上記コンフリクト信号に応答して、第1の識別コードと命令された識別コードとの間の一致が生じる時に第1のモジュールと第2のモジュールとが両方ともデータを送り出すことがないように、第1の識別コードを変更するための手段と、を有する。
【0015】
特定の実施例では、インタフェースモジュールが、Industry Standard Architecture (ISA)バスとイーサネットネットワークとの間でデータを転送する。ISA バスは、アドレスの第1のグループ及び第2のグループとリセット命令とを、中央処理装置(CPU) から上記インタフェースモジュールに転送し、上記インタフェースモジュールからCPU にデータを転送する。このインタフェースモジュールは、可適応の識別コードを有する。このインタフェースモジュールは、可適応の識別アドレスを記憶するためのレジスタを含む。CPU からの可適応識別アドレスとアドレスの第1のグループとを復号するために、復号器がこのレジスタに結合される。バッファメモリがこの復号器とISA バスとに結合される。復号されたアドレスの第1のグループの中の選択されたアドレスが可適応識別アドレスを含む時に、このバッファメモリが、復号されたアドレスの第1のグループに応答して、ISA バスにデータを送り出すか、又は、ISA バスからデータを受け取る。CPU からのアドレスの第2のグループとリセット命令とに応答して、カウンタが、上記レジスタ内に記憶された可適応識別アドレスを変更する。
【0016】
【実施例】
図1は、本発明の原理によるイーサネットとATバスとの間を通信するためのイーサネットインタフェースモジュールを使用するコンピュータを示す機能ブロック図である。コンピュータ10は、ATバス14に接続された中央処理装置(CPU) モジュール12を有する。このCPU 12は、Intel Corporation, Santa Clara, Californiaによって製造される486 タイプのマイクロプロセッサチップから構成されることが好ましい。上記のように、ATバス14は、IBM ATパーソナルコンピュータとAT互換パーソナルコンピュータとで使用される標準バスである。ATバス14は、ハードディスク16とフロッピーディスク18とランダムアクセスメモリ(RAM)20 とを含む複数の記憶装置にも接続される。幾つかの記憶装置が示されているが、本発明はこれらの装置全てを必要とするわけではない。プリンタインタフェースモジュール22が、ATバス14と、コンピュータ10の外部にあるプリンタ23と、に接続される。キーボードインタフェースモジュール24が、ATバス14とキーボード25とに接続される。キーボード25は、ユーザによって選択された命令をコンピュータ10に与える。イーサネットインタフェース(I/F) モジュール26は、ATバス14とイーサネットネットワーク27との間の通信のためのインタフェースを与える。或いは、インタフェースモジュール26は、他のバスに対してインタフェースしてもよい。上記のように、イーサネットは、典型的にはローカルエリアネットワーク(Local Area Network)(LAN) のために使用される標準化された通信ネットワークである。イーサネットインタフェースモジュール26は、1つのモジュール上にパッケージ化されることが好ましい。
【0017】
IBM ATコンピュータの場合の電源投入シーケンスは、当業で公知である。簡略的に説明すると、電源投入時に、そのコンピュータ10内の各モジュールに初期設定ルーチンを開始するように命じるために、CPU 12が、コンピュータ10内の全モジュールに対してハードウェアリセットを送り出す。CPU 12は、そのCPU モジュール上に配置されたプログラム可能読出し専用メモリ(PROM)から、基本入出力システム(BIOS)のための命令を読み取る。BIOSからの複数の初期設定ルーチンを実行した後に、CPU 12は、上記メモリからユーティリティプログラムを読み取る。このユーティリティプログラムは、上記記憶装置の1つ(好ましくはハードディスク16)の中に前もって格納され、ATバス14に接続されると見込まれるモジュールを識別し、これらのモジュールと、ATバスに対するこれらのモジュールのインタフェースとに対して、初期設定ルーチンと診断ルーチンとを実行する。
【0018】
図2は、図1に示されるコンピュータのためのイーサネットインタフェースモジュール26の機能ブロック図である。イーサネットインタフェース制御信号が、CPU 12からATバス14を通してライン102 上をインタフェース制御装置32に送られ、一方、これとは逆方向に、インタフェース制御装置32からATバス14ヘライン102 上を送られる。CPU 12は、ATバス14とシステムアドレスバス116 とを通して、ブートプログラム可能読出し専用メモリ(boot programmable read−only memory)(PROM) 34 とインタフェース制御装置32とにシステムアドレス命令を与える。イーサネットインタフェースモジュールのアドレスは、そのモジュールを識別するための識別コードとして機能する。そのイーサネットインタフェースモジュール 26 のアドレスに合致する命令アドレスを受け取ると、モジュール26は要求された機能に応答する。ブートPROM 34 は、イーサネットインタフェースモジュール26用の立上げプログラムを含む。このブートPROM 34 は、例えばハードディスク16又はフロッピーディスク18を持たない無ディスクのシステム(diskless system) で使用されることが可能であり、この場合には、ドライバプログラムがイーサネット 27 からロードされる。インタフェース制御装置32は、ATバス14とイーサネット 27 との間をインタフェースするための制御回路を与える。インタフェース制御装置32は、ブートPROM 34 を使用可能にしてその出力を制御するために、ライン114 を通してPROM制御信号を与える。ブートPROM 34 は、バス110 を通して、インタフェース制御装置32にデータを与える。
【0019】
CPU 12は、第1の方向においては、ATバス14とそれに続いてシステムデータバス106 とを通して、16ビットATバス14の場合には、システムデータバス高位(ハイ)バイトトランシーバ(system data bus high byte transceiver)40 とシステムデータバス低位(ロウ)バイトトランシーバ(system data bus low byte transceiver)42との両方にシステムデータを与え、8 ビットATバス14の場合には、システムデータバス低位バイトトランシーバ42だけにシステムデータを与える。これに加えて、システムテータバス106 を通して命令と状態の転送が行われる。これとは逆に、CPU 12は、第2の方向において、システムデータバス106 とそれに続いてATバス14とを通して、16ビットATバス14の場合には、システムデータバス高位バイトトランシーバ40とシステムデータバス低位バイトトランシーバ42との両方からシステムデータを受け取るか、又は、8 ビットATバス14の場合には、システムデータバス低位バイトトランシーバ42だけからシステムデータを受け取る。システムデータバス高位バイトトランシーバ40は、選択的に、バス108 を通して、インタフェース制御装置32にデータを与えるか、又は、これとは逆方向に、インタフェース制御装置32からデータを受け取る。インタフェース制御装置32は、システムデータバス高位バイトトランシーバ40を通したデータ伝送を制御するために、ライン104 を通してトランシーバ制御信号を与える。同様に、システムデータバス低位バイトトランシーバ42は、選択的に、バス110 を通して、インタフェース制御装置32にデータを与えるか、又は、これとは逆方向に、インタフェース制御装置32からデータを受け取る。インタフェース制御装置32は、システムデータバス低位バイトトランシーバ42を通したデータ伝送を制御するために、ライン112 を通してトランシーバ制御信号を与える。
【0020】
クロック118 がライン238 を通してインタフェース制御装置32にクロック信号を与える。インタフェース制御装置32は、ライン143 を通して発光ダイオード(LED)144に制御信号を与え、これらの発光ダイオード144 は、イーサネットインタフェースモジュール26の状態の視覚的表示をもたらす。例えば、LED 144 は、受信、送信、衝突、リンクテストパス(link test pass)を表示することが可能である。IDメモリ36が、インタフェース制御装置32からのライン120 を通してのIDメモリ制御信号に応答して、ライン122 を通してインタフェース制御装置32に無ジャンパの形態識別情報とノード識別情報とを与える。ブートPROM構成では、IDメモリ36が、ブートPROMアドレスのための記憶域を与える。IDメモリ36が電気的消去可能プログラム可能読出し専用メモリ(EEPROM)であることが好ましい。別の実施例では、形態識別とノード識別とが、バス108 、110 に直接的にこのデータを与えるID PROM 内に格納されてもよい。インタフェース制御装置32は、バッファ制御信号142 とバッファ記憶装置バスアドレス信号140 とをバッファ記憶装置138 に供給し、スタティックランダムアクセスメモリ(SRAM)であることが好ましいこのバッファ記憶装置138 は、ATバス14とイーサネット27との間のデータバス136 を通して転送されるデータのためのメモリ記憶域を与える。SRAM 138は、典型的には8 キロバイトまたは32キロバイトである。
【0021】
コネクタインタフェース30は、イーサネットインタフェースモジュール26をイーサネット27に電気的に接続するための幾つかのタイプの機械式コネクタを有する。更に具体的に言えば、イーサネットインタフェースモジュール26は、AUI インタフェース用にはAttachment Unit Interface (AUI) コネクタ128 を有し、同軸ラインを通しての信号通信用には同軸トランシーバインタフェース130 を有し、ツイストペアインタフェース用にはツイストペアコネクタ134 を有する。インタフェース制御装置32は、AUI コネクタ128 と同軸トランシーバインタフェース130 との両方に対してライン124 を通して伝送対信号(transmit pair signal)を与える。AUI コネクタ128 と同軸トランシーバインタフェース130 の各々は、ライン126 を通してインタフェース制御装置32に受信/衝突対信号(receive/collision pairs signals) を与える。インタフェース制御装置32とツイストペアコネクタ134 は、ライン132 を通して差分対信号(differential pairs signals)を送ることによって、互いに通信し合う。
【0022】
図3は、図2に示されたインタフェース制御装置の機能ブロック図である。インタフェース制御装置32は、5つの機能ブロック、即ち、システムインタフェース146 と、バッファ制御装置152 と、制御及び状態レジスタ150 と、送信回路154 と、受信回路156 と、を有する。
【0023】
システムインタフェース146 は、上記のようにライン102 、104 、108 、110,112 、114 、116 上の信号を使用してATバス14と通信する。システムインタフェース146 は、ATバス14とイーサネット27との間での通信中にデータを保持するためのバッファレジスタ148 を有する。システムインタフェース146 はバッファ制御装置152 と双方向に通信し、このバッファ制御装置152 は、バッファ制御装置152 と、バッファレジスタ148 、IDメモリ36、SRAM 138、受信回路156 、及び送信回路154 と、の間のデータ転送を制御する。制御及び状態レジスタ150 は、システムインタフェース146 とバッファ制御装置152 と送信回路154 と受信回路156 とから制御及び状態情報を受け取り、システムインタフェース146 とバッファ制御装置152 とに制御及び状態情報を送る。
【0024】
送信回路154 は、符号器160 内でのバッファ制御装置152 からのデータの符号化を制御するための送信回路制御装置158 を有する。符号化されたデータは、パルス整形回路及びフィルタ162 によって処理され、その後で、送信回路増幅器166 内で増幅され、コネクタインタフェース30に供給される(図2を参照されたい)。これとは逆に、受信回路156 は、コネクタインタフェース30からのデータ信号を受け取り、受信回路増幅器174 内で増幅する。増幅されたデータ信号は、受信回路スライサ172 内で処理され、その後で復号器170 によって復号される。その後で、復号されたデータ信号が受信回路制御装置168 に送られ、更に、バッファ制御装置152 に送られる。衝突回路(collision circuit)164が、復号器170 からの復号信号と符号器160 からの符号化信号とを処理することによって、イーサネット27上での受信と送信との間の衝突を解消する。
【0025】
図4は、図1に示されたコンピュータ10のためのイーサネットインタフェースモジュール26の具体的な実現例の機能ブロック図である。
【0026】
CPU 12は、ATバス14を介して、イーサネットインタフェースモジュール26と、ATバス14上のその他のモジュールとにシステムアドレス(System Address)(SYSADDRESS)信号を送る。更に明確に言えば、イーサネットインタフェースモジュール26上では、SYSADDRESS信号が、ブートPROM 34 のアドレス入力とインタフェース制御装置32のアドレス入力とに対してライン116 を通して供給される。CPU 12は、メモリアドレス空間とI/O アドレス空間とを定義するためにこれらのシステムアドレス命令を送り出す。このアドレス指定は、図9〜12と共に下記で詳細に説明される。更に、ATバス14は、イーサネットインタフェース制御信号ライン102(図2)の一部分であるライン176 を通して、ブートPROM 34 の出力イネーブル(Output Enable)(OEバー) 入力とインタフェース制御装置32との両方にシステムメモリ読取り(System Memory Read)(SMEMRバー) 命令を与える。(信号名称の上線(バー)の取り決めは、その信号が低状態(low state) でアサートされることを表している)。SMEMR バー命令は、ATバス14からのアクティブ低(アクティブロウ)(active low)信号であり、この信号は、現在のバスサイクルがメモリ読取り動作であることを示し、且つATバス14を通してイーサネットインタフェースモジュール26が上記記憶装置からデータを出力することを要求する。ここでは命令がアクティブ高低信号として説明されるが、本発明はこれに限定されない。イーサネットインタフェースモジュール26は、アクティブ低信号又はアクティブ高(アクティブハイ)(active high) 信号のどちらの場合にも設計されることが可能である。
【0027】
更に、CPU 12は、システムデータ(System Data)(SYSDATA)バス106 を通して全てのデータと命令と状態との転送を可能にし、又は、ATバス14を通して全てのデータと命令と状態をイーサネットインタフェースモジュール26に送るよう他の装置に命令する。更に明確に言えば、システムデータバス高位バイトトランシーバ40とシステムデータバス低位バイトトランシーバ42との両方の第1の双方向入力/出力端子に至るSYSDATA バスライン106 が、ATバス14に接続される。CPU 12がシステムデータバス高位バイトトランシーバ40を通るデータフロー方向を制御し、一方、インタフェース制御装置32がシステムデータバス低位バイトトランシーバ42を通るデータフロー方向を制御するということを除いて、システムデータバス高位バイトトランシーバ40とシステムデータバス低位バイトトランシーバ42との両方が同一の仕方で動作する。システムデータバス高位バイトトランシーバ40は、CPU 12からの入出力読取り(Input/Output Read)(IOR バー) 命令を、ATバス14とライン178 とを経由して、このトランシーバの方向制御(DIR) 入力端子を介して受け取る。このDIR 端子上のアクティブ高信号は、書込み動作のために、システムデータバス106 からバッファシステムデータ(BSD) バス180 (バス108 、110 を含む (図2))へデータを転送するように、システムデータバス高位バイトトランシーバ40を切り替える。このバッファシステムデータ(BSD) バス180 は、イーサネットインタフェースモジュール26上の内部データバスである。DIR 入力端子上のアクティブ低信号は、読取り動作のために、BSD バスからシステムデータバスに逆方向にデータを転送するように、トランシーバ40を切り替える。IOR バー命令は、CPU 12からのアクティブ低信号であり、この信号は、現在バスサイクルがI/O 読取り動作であることを示し、且つATバス14のシステムデータバス106 上にイーサネットインタフェースモジュール26がデータを出力することを要求する。
【0028】
バッファシステムデータバス( BSD<15:0> ) 180 は、ブートPROM 34 と、システムデータバス高位バイトトランシーバ40と、システムデータバス低位バイトトランシーバ42と、制御装置チップ32とを相互接続する。(ここで使用される信号ライン上のビットを定義する取り決めは、コロンで分けられた<>記号でビット数を囲むことである。例えば、BSD <15:0>は、BSD バスのビット15−0を表す。)システムデータバストランシーバ40、42は、74ALS245トライステートバストランシーバ(tri−state bus tranceiver)であることが好ましい。ジャンパバッファ38、39の出力も、システムデータバス高位バイトトランシーバ40とシステムデータバス低位バイトトランシーバ42の第2の双方向入出力端子へのBSD バス<15:0> 180上に与えられる。
【0029】
インタフェース制御装置32は、システムデータバス高位バイトトランシーバ40のイネーブル(Enable)(EN バー) 入力へライン182 を通してイネーブルデータ高位バイト(Enable Data High Byte)(ENHBバー) 命令を与える。イネーブルデータ高位バイト信号は、システムデータバス高位バイトトランシーバ40をイネーブル又はディスエーブルにするアクティブ低信号である。更に明確に言えば、イネーブルデータ高位バイト命令は、バッファシステムデータバス180 からSYSDATA バス106 を切り離すために、システムデータバス高位バイトトランシーバ40をディスエーブルにする。
【0030】
イーサネットインタフェースモジュール26によるシステムデータフローの制御のために、システムデータバス低位バイトトランシーバ42が同様の仕方で制御される。しかし、システムデータバス低位バイトトランシーバ42に対する両方の制御信号は、インタフェース制御装置32によって与えられる。更に詳細に説明すると、ライン184 上のイネーブルデータ低位バイト(Enable Data Low Byte)(ENLB バー) 信号によってシステムデータバス低位バイトトランシーバ42をイネーブルにすることによって、及び、ライン186 上に低位バイト方向(Low Byte Direction)(LBDIRバー) 信号を送ることによってバッファシステムデータバス180 からシステムデータバス106 へのデータフローの方向を制御することによって、イーサネットインタフェースモジュール26がシステムデータバス106 上にデータを出力する。
【0031】
下記で詳細に説明されるように、イーサネットインタフェースモジュール26は、有ジャンパモード(jumper mode) と無ジャンパモード(jumperless mode) のどちらでも動作することが可能である。有ジャンパモードでは、イーサネットインタフェースモジュールの構成は、このモジュール上の物理的ワイヤである構成ジャンパ188 〜195 によって定義される。ジャンパ188 、192 はI/O 基底アドレスを定義し、ジャンパ189 、193 はメモリ基底アドレスを定義し、ジャンパ190 、194 はDMA (Direct Memory Access)アクノリッジ(Acknowledge)(DACK) を定義し、ジャンパ191 、195 は割込みを定義する。DACK信号はアクティブ低信号であり、この信号は、ホストシステムとイーサネットインタフェースバッファメモリとの間でデータを転送する用意が外部DMA 制御装置(図示されていない)に整っていることを示す。I/O 基底アドレスとメモリ基底アドレスと割込み信号は、図9 〜12と共に下記で定義される。構成ジャンパは、その一方の末端において、接地又は電圧源(VCC)(図示されていない) に接続され、その他方の末端において、構成ジャンパバッファ38、39の入力に接続される。或いは、その代わりに、構成ジャンパ192 〜195 は、上記の構成以外の構成を定義するために使用されてもよい。EEPROMとID PROM のどちらが初期パラメタを格納するのかということと、その動作が有ジャンパ動作と無ジャンパ動作のどちらであるかということを定義する1組のモードジャンパ235 が、インタフェース制御装置32に与えられる。
【0032】
有ジャンパモードでは、各々の構成ジャンパの論理レベルが、バッファシステムデータバス180 に与えられる。イーサネットインタフェースモジュール26が構成ジャンパの状態を読み取ることを求めると、インタフェース制御装置32は、ジャンパバッファ38のイネーブル(EN バー) 入力に対してライン196 を通して構成レジスタ1選択(Select Configuration Register 1) 命令(SEL12) を与え、ジャンパバッファ38は、これに応答して、構成ジャンパ信号をバッファシステムデータバス180 に与える。SEL 12命令は、無ジャンパモードでは使用されない。この代わりに、ジャンパバッファ39は、構成ジャンパバッファ39のイネーブル(EN バー) 入力にインタフェース制御装置32から与えられるライン198 上の構成レジスタ2選択(Select Configuration Register 2) 命令(SEL13) によってイネーブルにされる。下記で説明されるように、SEL13 命令は、シフトレジスタ/カウンタ48からの読取りを行うために無ジャンパモードで使用される。構成ジャンパバッファ38、39は、74LS244 トライステートバッファであることが好ましい。論理1レベルは、ライン196 上のSEL12 信号とライン198 上のSEL13 信号のどちらの場合にも、その対応するバッファ出力を高インピーダンス状態に切り替え、ジャンパされた入力をバスへの出力から切り離す。これとは逆に、論理0レベルは、SEL12 命令196 とSEL13 命令198 のどちらの場合にも、その対応するバッファ38、39を各々に切り替えて、構成ジャンパ188 〜195 に対応する信号をバッファシステムデータバス180 に与える。
【0033】
IDメモリ36は、イーサネットインタフェースモジュール26のための構成バイトを記憶する。IDメモリ36は、256 、512 又は1024ビットを各々に有するNational Semiconductor NMC93C06 、C26 又はC46 シリーズのような、直列EEPROMであることが好ましい。直列EEPROMは、インタフェース制御装置32からの3つの入力、即ち、直列データ入力と、直列データクロック又はシフトクロック(SK)と、チップ選択(chip select)(CS) とを有する。IDメモリ36は、単一出力である直列データ出力(DO)をライン206 を通してインタフェース制御装置32に与える。命令とアドレスと書込みデータとの全てが、IDメモリ36入力としてライン200 を通してIDメモリ36の入力端子に与えられる。直列EEPROMの読取りデータと状態情報とが、直列データ出力端子から出力される。インタフェース制御装置32は、チップ選択信号をライン202 を通してIDメモリ36に与える。直列EEPROMは、インタフェース制御装置32からのライン204 上のシフトクロック(SK)の低から高への遷移時に、データをシフトイン(shift−in)又はシフトアウト(shif−out)する。
【0034】
別の実施例では、ID PROM 208 が、ライン210 を通して、バッファシステムデータバス180 に対してデータを与え、バッファシステムデータバス180 からデータを受け取る。インタフェース制御装置32は、ID PROM 208 をイネーブルにするためにPROMチップ選択信号をライン212 上に与え、ID PROM 36をアドレスするために、ラッチされたアドレス信号をライン213 上に与える。
【0035】
(SRAM 138とも呼ばれる)バッファ記憶メモリ138 と任意の追加のバッファ記憶メモリ138’とが、そのメモリ内の記憶場所を選択するための、インタフェース制御装置32からのアドレス信号140 を受け取る。インタフェース制御装置32は、SRAM 138、138’上の各々のチップイネーブル入力端子にバッファチップ選択信号をライン224 、226 を通して与え、その選択されたチップをイネーブルにする。更に、インタフェース制御装置32は、SRAM 138、138’の両方に対して、ライン228 を通して書込みイネーブル(write enable)(WE バー) 信号を与え、ライン230 を通して出力イネーブル(output enable)(OEバー) 信号を与える。SRAM 138、138’とインタフェース制御装置32との間でバス232 を通してバッファデータが双方向に通信される。バッファデータのビット7〜0がSRAM 138に与えられる。バッファデータのビット15〜8 がSRAM 138’ に与えられる。
【0036】
インタフェース制御装置32とコネクタインタフェース30は、上記のライン124 、126 、132 を通して通信する。コネクタインタフェース30は、イーサネット27に結合される。インタフェース制御装置32は、ライン222 を通してATバス14にシステム要求を与え、ライン220 を通してATバス14からシステム制御信号を受け取る。ライン220 、222 はライン102 の一部分である(図2)。
【0037】
I/O 基底アドレスジャンパは、有ジャンパモードでI/O 基底アドレスを定義するための構成バイトのビット2〜0を置換するために、ライン216 に接続されることが可能である。同様に、メモリ基底アドレスジャンパは、メモリ基底アドレスのビット5〜3又は(下記で説明される)割込み要求のビット7〜6を置換するためにライン218 に接続されることが可能である。割込み要求0 は、インタフェース制御装置32にライン214 を通して与えられる。
【0038】
図5は、図4に示されたインタフェース制御装置のアドレス復号回路及び構成バイト処理回路の機能ブロック図である。
【0039】
ジャンパモード復号器44は、接地又は電圧源(VCC)(図示されていない) の何方かに選択的に接続されている(ライン235 として一括して示される)第1の入力と第2の入力とを有するモードジャンパ235 を有する。ジャンパモード復号器44の一方の出力は、ライン237 上の有ジャンパ/無ジャンパ(JP/JPLESS) 信号であり、この信号は、そのモジュールがジャンパワイヤの変更又は(下記で説明される)ソフトウェアの何方によって再構成されることになるかということをインタフェース制御装置32に対して示す。例えば、第2の入力235 を電圧源(VCC) に接続する時には、ライン237 上のJP/JPLESS 信号は、そのモジュールが無ジャンパモードで動作していることを示す論理1である。これとは逆に、第1の入力235 を接地に接続する時には、JP/JPLESS 信号は、そのモジュールが有ジャンパモードで動作していることを示す論理0である。
【0040】
IDメモリ36からのライン206 上の直列データ出力は、インタフェース制御装置32内のデータ選択マルチプレクサ(MUX)46 の第1の入力とシフトレジスタ/カウンタ48との両方に与えられる。シフトレジスタ/カウンタ48は、ビット7〜0を有する8ビット直列入力/並列出力シフトレジスタを含む。ビット2〜0(I/O SEL <2:0> とも呼ばれる)は、I/O 基底アドレスを定義する。ビット5〜3(MSEL <2:0>とも呼ばれる)はメモリ基底アドレスを定義する。ビット7〜6(IRQ <3:0> とも呼ばれる)は割込みライン構成を定義する。これらのビットの復号を下記で詳細に説明する。シフトレジスタ/カウンタ48は、下記で説明するように、ビット2〜0用のカウンタとしても機能する。
【0041】
データ選択MUX 46は、BSD バス180 に与えられるデータを選択的に制御する。更に、シフトレジスタ/カウンタ48のビット7〜0は、データ選択MUX 46の第2の入力に接続される。インタフェース制御装置32の内部バスであり且つシステムインタフェース146 と制御及び状態レジスタ150 とバッファ制御装置152 と送信回路154 と受信回路156 と(図3)を相互接続するバスである、システムデータ出力高/低バス(System Data Output High/Low bus)(SDOHL <7:0>)信号が、データ選択MUX 46の第3の入力に与えられる。
【0042】
データ選択MUX 46によって与えられる信号は、制御論理回路58によって制御される。図6は、データ選択MUX 46によってバッファシステムデータバスに与えられるデータを制御するための制御論理回路の略図である。ライン237 上の有ジャンパ/無ジャンパ(JP/JPLESS) 信号がジャンパモード復号器44によって制御論理回路58の第1の入力に与えられる。バッファレジスタ148 (図3)の読取りアドレス13に対するREAD 13 命令が、制御論理回路58の第2の入力に与えられる。JP/JPLESS 信号と READ 13とが、データ選択MUX 46に与えられるJPLSREAD 13 信号を発生させるために、制御論理回路58内で否定論理和 (NOR)をとられる。
【0043】
IDメモリ36からデータ出力を読み取るためのREAD 11 命令も、データ選択MUX 46に与えられる。表Iは、データ選択MUX 46用に選択された出力に関する真理値表を示す。

Figure 0003588139
【0044】
データ選択MUX 46の出力は、双方向トライステートバッファ50に接続される。双方向トライステートバッファ50の双方向入出力ポートが、上記の通りにバッファシステムデータバス(BSD <15:0>) 180に接続される。双方向トライステートバッファ50は、バッファシステムデータバス180 とインタフェース制御装置32との間のデータフローの方向を選択的に制御する。双方向トライステートバッファ50からの単一方向出力が、システムデータ入力低(System Data Input Low)(SDAIL <6:5> ) 信号とSDAIL <7> とによって別々にフリップフロップ52とフリップフロップ54とに接続される。双方向トライステートバッファ50内のデータフローの方向は、制御論理回路56によって制御される。
【0045】
図7は、双方向トライステートバッファを制御するための制御論理回路の略図である。図6に示されるように、制御論理回路58は、SEL 13信号を発生させるために、JP/JPLESS 信号と READ 13信号との論理積(AND) をとり、このSEL 13信号は、構成ジャンパバッファ39と制御論理回路56とに与えられる。次に図7を見ると,SEL 13信号が、Tri Out 信号を発生させるために、システム最下位ビット(System Least Significant Bit)(SYSLSB ) 信号の反転と否定論理積(NAND)され、Tri Out 信号は、第1の論理状態(例えば論理「1」)においてインタフェース制御装置32からBSD バス180 へデータが流れることを命令し、一方、これとは逆に、第2の論理状態(例えば論理「0」)においてBSD バス180 からインタフェース制御装置32へデータが流れることを命令する。SYS LSB 信号は内部FIFO又はレジスタ(図示されていない)によって与えられ、修飾子である。従って、データ選択MUX 46は、IDメモリ36か、シフトレジスタ/カウンタ48か、SDOHL バスかのいずれかからBSD ライン180 上にデータを出力するように選択される。
【0046】
ライン236 上のハードウェアリセット(Hardware Reset)信号と、ライン237 上のJP/JPLESS 信号と、20 MHzクロックとが、無ジャンパ状態機械(jumperless state machine)60の第1と第2と第3の入力に与えられる。イーサネットインタフェースモジュール26は、クロック118 (図2)からのライン238 上の20 MHzクロック信号に基づいて動作する。無ジャンパ状態機械60の第1の出力信号であるイネーブルカウンタ(Enable Counter)(EN CNTR) 信号が、シフトレジスタ/カウンタ48にシフトレジスタ又はカウンタのどちらとして動作するかを命令するために、ライン244 上をシフトレジスタ/カウンタ48に与えられる。これに加えて、シフトレジスタクロック(shift register clock)(SRCLK) 信号も、シフトレジスタ/カウンタ48内でデータをシフトイン(shift in)するために与えられる。無ジャンパ状態機械60は、その第2の出力からハードウェア被制御データイン(hardware controlled data in)(HARD DI)信号をライン239 を通してIDメモリ制御MUX 62に与え、IDメモリ制御MUX 62は、IDメモリ36にライン200 を通して選択的にHARD DI 信号を与える。無ジャンパ状態機械60は、その第3の出力からハードウェア被制御シフトクロック(hardware controlled shift clock)(HARD SK)信号をライン241 を通してIDメモリ制御MUX 62に与え、IDメモリ制御MUX 62は、IDメモリ36にライン204 を通して選択的にHARD SK 信号を与える。無ジャンパ状態機械60は、その第4の出力からハードウェア被制御チップ選択(hardware controlled chip select)(HARD CS)信号をライン242 を通してIDメモリ制御MUX 62に与え、IDメモリ制御MUX 62は、IDメモリ36にライン202 を通して選択的にHARD CS 信号を与える。無ジャンパ状態機械60は、その第5の出力からMUX ハードウェア選択(MUX hardware select)(MUXHW)信号をライン243 を通してIDメモリMUX 制御回路69に与える。
【0047】
図8は、図5に示されたIDメモリMUX 制御回路の略図である。MUXHW 制御信号がライン243 上をIDメモリMUX 制御回路69に与えられ、IDメモリMUX 制御回路69では、このMUXHW 信号が、SEL MUX 信号を形成するために、反転されてJP/JPLESS 信号と論理積される。再び図5を参照すると、無ジャンパ状態機械60からIDメモリ36への信号と、フリップフロップ52、54からの信号との何方か一方を選択するように、SEL MUX 信号がライン246 上をIDメモリ制御MUX 62に与えられる。
【0048】
ソフトウェア被制御チップ選択信号と、ソフトウェア被制御シフトクロック信号と、ソフトウェア被制御データイン信号とが、フリップフロップ52、54に与えられる。特に、SDAIL <6:5> とSDAIL <7> とが、上記のようにバッファシステムデータバス180 からフリップフロップ52、54に別々に与えられる。更に、WRITE 10 信号とWRITE 11 信号とがフリップフロップ52、54に別々に与えられる。
【0049】
シフトレジスタ/カウンタ48のビット2〜0は、復号器選択MUX 64の第1の入力にI/OSEL <2:0>として接続される。シフトレジスタ/カウンタ48のビット5〜3は、復号器選択MUX 64の第2の入力に信号MSEL <2:0>として与えられる。ジャンパによって定義されるI/OSEL <2:0>命令は、ライン216 を通して、復号器選択MUX 64の第3の入力に与えられる。復号器選択MUX 64の第4の入力は、双方向トライステートバッファ72に接続される。双方向トライステートバッファ72の双方向ポートは、ジャンパによって定義されるMSEL <2:0>命令を入力として搬送するか又は割込み要求(IRQ <3:0>) 信号を出力として搬送する信号ラインに接続される。双方向トライステートバッファ72への入力は、割込み要求復号器70の第1の出力である。割込み要求復号器70の第2の出力は、割込み要求0である。シフトレジスタ/カウンタ48のビット7〜6も、割込み要求復号器70の2つの入力に与えられる。双方向トライステートバッファ72は、ジャンパ復号器44からのライン237 上のJP/JPLESS 命令によって制御される。復号器選択MUX 64の出力は、メモリアドレス復号器66とI/O アドレス復号器68とに接続される。メモリアドレス復号器66の出力とI/O アドレス復号器68の出力は、SRAM 138 (図3)に接続される。復号器選択MUX 64は、ジャンパ復号器44からのJP/JPLESS 命令によっても制御される。復号器選択MUX 64は、論理1のJP/JPLESS 命令又は論理0のJP/JPLESS 命令に各々に応答して、シフトレジスタ/カウンタ48又はジャンパからMSEL <2:0>を出力することと、I/OSEL <2:0>を出力することとの間で切り替えられる。
【0050】
次に、上記で定義されたハードウェアに関して、イーサネットインタフェースモジュール26の動作を、図9 〜12を参照して説明する。図9は、システム電源投入時、又は、System Hardware Reset 命令が送り出される他のいずれかの時点における、IDメモリからシフトレジスタ/カウンタへの構成バイトの読み取りと、メモリアドレスのコンフリクトの解消とのフローチャートである。システム電源投入時(ステップ300 )に、CPU 12は、イーサネットインタフェースモジュール26を含むATバス14上の各モジュールに対して、System Hardware Reset 命令を開始命令又は初期設定命令として送り出す。リセット後に、CPU 12は、最初のATバス所有者となる。更に、例えば、キーボード25上のコントロール(Ctrl)キーとALT キーと削除(Del) キーとを3つ同時にユーザが押すことによって、通常のシステム動作中にHardware Reset命令が送り出されることも可能である。以下の説明は、典型的な目的のためにシステム電源投入時に送り出されるハードウェアリセットに関して、システムの動作を説明する。しかし、本発明はこれに限定されない。
【0051】
ハードウェアリセット時に、ジャンパ復号器44(図5)からのJP/JPLESS 信号が示すシステム構成が有ジャンパシステム構成と無ジャンパシステム構成との何方であるかを、無ジャンバ状態機械60が判定する。無ジャンパモジュールとしてのイーサネットインタフェースモジュール26の動作を、先ず最初に次で説明する。
【0052】
システムが無ジャンパシステムである場合には、無ジャンバ状態機械60(図5)が、ライン202 (図4)上のChip Select 信号を高状態にセットすることによってIDメモリ制御MUX 62にIDメモリ36を選択するように命令する。ライン204 上のShift Clock 命令(図4)が、直列データ出力206 上をIDメモリ36からシフトレジスタ/カウンタ48にデータをシフトするようにセットされる。更に、シフトレジスタ/カウンタ48にシフトレジスタとして動作することとIDメモリ36からの直列データ出力206 をクロックイン(clock in)することとを命令するために、無ジャンバ状態機械60が、ライン244 (図5)を通してシフトレジスタ/カウンタ48に命令を送る。
【0053】
IDメモリ36の位置Ox11から構成バイトを読み取って、それをシフトレジスタ/カウンタ48内にロードするために、無ジャンバ状態機械60は適切な信号を発生させる(ステップ 302)。上記のように、ビット5〜3はメモリ基底アドレスを決定する(ステップ 304)。図10は、ATバス用のメモリ基底アドレスのマップである。メモリアドレスは0(00 0000 Hex)〜16384 K (FF FFFF Hex)の範囲内である。実際にはアドレスは16384 K マイナス1であるが、説明を分かり易くするために、この−1は、接尾辞「K 」を有するアドレスから省かれる。このアドレス範囲内で、複数の部分範囲(subrange)がプラットフォームメモリとBI0Sとのために割り当てられるか又は確保される。アドレス 0 (00 0000 Hex)− 512 K (06 FFFF Hex)が、プラットフォームメモリ用に確保された位置である。アドレス 512 K (07 0000 Hex)− 640K (09 FFFF Hex) が、プラットフォームメモリ用のアドレス範囲である。アドレス範囲 100000 (Hex) − FD FFFF (Hex)が、スロットメモリ用に確保される。このアドレス範囲内に、イーサネットインタフェースモジュール26がC4000−DFFFF のアドレス範囲を有することが好ましい。基底アドレスビットに割り当てられるアドレスが次の表IIに示されている。
Figure 0003588139
【0054】
再び図9を参照すると、この図に示されるように、イーサネットインタフェースモジュール26は、IDメモリ36から構成バイトをロードする。IDメモリ36から構成バイトを読み取る過程は、システム電源投入時に開始し、上記のシステムBIOS立ち上げ時の初期設定と検査とに並行している。構成バイトの並行読取りは、BIOSが有効ブートROM を求めてROM 位置を走査することを可能にする。システムが適正に立ち上がる場合(ステップ 306)には、ブートROM 初期設定コードがそのリソースを初期化し、所望の割込みベクトルを置換し(ステップ 307)、システムコントロールをシステムBIOSに戻し、その初期設定を完了する(ステップ 308)。
【0055】
一方、システムが適正に立ち上がらない場合には、コンピュータ10内のイーサネットインタフェースモジュール26と別の増設モジュールとの間でメモリアドレスのコンフリクトがあると見なされる(ステップ 306)。メモリコンフリクトがある場合には、システム電源投入中にCPU 12が停止する。このコンフリクトを解消するために、イーサネットインタフェースモジュール26が、コンピュータ10から取り外され(ステップ 310)、第2のコンピュータシステム内にインストールされる(ステップ 312)。この第2のシステムは、メモリ基底アドレスのコンフリクトの可能性を低減させることによってイーサネットインタフェースモジュール26が適正に動作するかどうかを判定するために使用される。この第2のシステムは、第1のシステムと同一の基本構成を有するが、増設モジュールを全く含まないことが好ましく、これによって、イーサネットインタフェースモジュール26と増設モジュールとの間のメモリコンフリクトを排除する。これに加えて、無ジャッパモードでは、下記で説明されるように、異なるメモリ基底アドレスによってIDメモリ36を再プログラムするために第2のシステムが使用される。イーサネットインタフェースモジュール26を第2のシステム内に挿入した後に、第2のシステムが電源投入される。第2のシステムが適正に立ち上がった場合(ステップ 314)には、イーサネットインタフェースモジュール26は作動中であり、第1のシステムでの問題点はメモリコンフリクトであったと見なされる。従って、このコンフリクトを排除するために、イーサネットインタフェースモジュール26のメモリ基底アドレス位置を再割当てすることが必要である(ステップ 316)。
【0056】
有ジャンパモードでは、ジャンパワイヤを物理的に付加又は変更することによってイーサネットインタフェースモジュール26のメモリ基底構成ジャンパ189 (図4)を変更することによって、メモリ基底アドレス位置が再割当てされる。これとは対照的に、無ジャンパモードでは、好ましくはIDメモリ36のアドレス 0X 13において構成バイトを再プログラムすることによって、メモリ基底アドレス位置が変更される。例えば、構成バイトのビット5〜3内に最初に格納されたイーサネットインタフェースモジュール26のメモリ基底アドレス位置が000 であるとすると、この値000 に対応するアドレス範囲は、上記の表IIに示されるように、範囲 0XC4000 (Hex)− 00XC7FFF (Hex)である。アドレスコンフリクトがある場合には、この範囲内のアドレスに応答することによって、イーサネットインタフェースモジュール26とATバス14上の第2の増設モジュールとの両方が作動する。イーサネットインタフェースモジュール26のメモリ基底アドレスは、構成バイトのビット5〜3を変更することによって再割当てされる。例えば、000 から001 にビット5〜3を増分することによって、これに対応してメモリ基底アドレス範囲が、表IIに示されるような 0XC8000 (Hex) − 0XCBFFF (Hex)の範囲に増分する。
【0057】
IDメモリ36を再プログラムするために、CPU 12は最初に、構成バイトの現在状態を知るために、その構成バイトを読み取らなければならない。CPU 12は、IDメモリ36のメモリ位置 0X13 における構成バイトのアドレスのためのメモリ読取りの要求を送り出す。CPU 12は、データアドレスと要求命令をシステムデータバスを通してIDメモリ36に通信するために、I/O 読取り(IORバー) 信号をシステムデータバストランシーバ40に送る。インタフェース制御装置32は、IDメモリ36にアドレスとシフト選択命令とシフトクロック命令とを与えるために、システムデータバス180 からフリップフロップ52、54にデータを供給するようにインタフェース制御装置32の双方向トライステートバッファ50(図5)に命令する。IDメモリ36は、そのデータ出力ポートから、要求された構成バイトをデータ選択MUX 46に供給し、データ選択MUX 46は、バッファシステムデータバス180 上にそのデータを出力するように、イーサネットインタフェースモジール26によって命令される。インタフェース制御装置32は、バッファシステムデータバス180 からATバス14を経由してシステムデータバス106 とCPU 12とにデータを供給することをシステムデータバストランシーバ40に命令し、更にシステムデータバストランシーバ40をディスエーブルにする。その後で、CPU 12は構成バイトのビット5〜3を増分し、それによって新たなメモリ基底アドレスを発生させ、更にその後で、上記の仕方で、位置0X13においてIDメモリ36の中にその新たな構成バイトを書き込むことをイーサネットインタフェースモジュール26に命令する。CPU 12によるIDメモリ36からの構成バイトの読取りと同様の仕方で、CPU は、システムデータバス106 を通してIDメモリ36に適切な命令を与えることによって、増分された構成バイトを上記0X13メモリ位置に書き込むことを、イーサネットインタフェースモジュール26に命令する。
【0058】
再び図9を参照すると、この図に示されるように、新たなメモリ基底アドレスを有する構成バイトによってイーサネットインタフェースモジュール26が再プログラムされ終わった後に、そのイーサネットインタフェースモジュール26が第1のコンピュータシステム内にインストールされ(ステップ 317)、この第1のシステムが、ステップ 300を繰り返すことによって再び立ち上げられる。この第1のシステムはその立上げルーチンを完了し、ステップ 302に関して上記で説明された通りに、IDメモリ36からシフトレジスタ/カウンタ48の中に構成バイトをロードする。復号器66、68を使用するインタフェース制御装置32は、その構成バイトをステップ 304において復号する。そのシステムがステップ 306で適正に立ち上がる場合には、ステップ 316で行われたメモリ位置の再割り当てが適正であり、イーサネットインタフェースモジュール26は上記で説明したようにステップ 307に進む。一方、再構成されたイーサネットインタフェースモジュールがステップ 306で適正に立ち上がらない場合には、第1のシステムからそのイーサネットインタフェースモジュールを取り外し(ステップ 310)、第2のシステムでそのモジュールをテストする(ステップ 312)という過程が繰り返される。
【0059】
第2のシステムがステップ 314で適正に立ち上がらない場合には、ステップ 316で説明した通りに、そのメモリの構成バイトが再構成される(ステップ 318)。ステップ 314で第2のシステムの立ち上げが再び試みられる。或いは、ステップ 318でメモリ位置を再構成する代わりに、イーサネットインタフェースモジュールが別のシステムに挿入され(ステップ 320)、この別のシステムが、ステップ 314に関して上記で説明したように、再び立ち上げられることも可能である。
【0060】
全てのメモリ基底アドレスコンフリクトを除去するためにイーサネットインタフェースモジュール26が再構成された後で、I/O 基底アドレスのコンフリクトがあるかどうかが判定される。概要を説明すると、そのシステムが立ち上がった時に、全てのメモリ基底アドレスコンフリクトが上記のように解消されているならば、そのシステムは、イーサネットインタフェースモジュール26上の幾つかの予め決められたレジスタ位置から内容を読み取ることと、これらの内容をその期待値と比較することとによって、I/O 基底アドレスを検査する。別の実施例では、イーサネットインタフェースモジュールはブートメモリを含まない。この実施例では、コンフリクトが発生する可能性があるメモリがイーサネットインタフェースモジュール上にないので、メモリコンフリクトを解消することは不必要である。上記比較が一致を示す場合には、I/O 基底アドレスコンフリクトは存在しない。一方、システムは、上記比較が一致を示さない場合にはコンフリクトがあると見なす。この時には、システムは、予め決められたレジスタ位置からダミー読取り(dummy read)を行う。これに応答して、イーサネットインタフェースモジュール26はそのI/O 基底アドレスを増分する。システムは、新たなアドレスにおけるレジスタ位置の内容を読み取って比較し、再びコンフリクトがあるかどうかを判定する。コンフリクトが検出されなくなるまで、システムはこの過程を繰り返す。
【0061】
次に、ATバス14に関するI/O アドレス基底を示す図11を参照して、I/O アドレス指定を説明する。このI/O アドレスは、0 (0000 Hex)から 64 K (FFFF Hex)の範囲である。このアドレス範囲内では、各々の1 K 範囲は2つの部分範囲に分けられる。第1の部分範囲はメモリの下位の256 バイトであり、割込み制御装置やDMA 制御装置のようなI/O プラットフォームリソース用に確保される。第2の部分範囲は残りの上位の768 バイトであり、これらのバイトは汎用I/O 従属モジュール用に使用可能である。
【0062】
下記で説明される通りの好ましい実施例では、イーサネットインタフェースモジュール26は、上記第2の部分範囲内にある 0x260 (Hex)〜 0x3FF (Hex)のI/O アドレス範囲を有する。上記のように、構成バイトのビット2〜0(I/OSEL <2:0>とも呼ばれる)は、I/O 基底アドレスを決定する。表III は、 0x260 (Hex)〜 0x3FF (Hex)のアドレス範囲内の構成バイトに関するI/O アドレス復号を示す。
Figure 0003588139
【0063】
次に図12を参照すると、この図では、I/O 基底アドレスコンフリクトルーチンの過程を説明している。この段階では、メモリ基底アドレスコンフリクトは、図9〜10において上記で説明したように、既に解消され終わっていると見なされる。(或いは、イーサネットインタフェースモジュールがブートメモリを持たない別の実施例では、上記のようにメモリコンフリクトを解消することは不必要である。)コンピュータが立ち上げられ、図9のステップ300 に関して上記で説明されたように初期設定ルーチンを行う(ステップ 330)。インタフェース制御装置32は、図9に関して上記で説明されたステップ302 と同様の仕方で、IDメモリ36からシフトレジスタ/カウンタ48の中に構成バイトをロードする(ステップ 332)。この読取りの完了時に、シフトレジスタ/カウンタ48は、無シャンパ状態機械60によってカウンタモードにセットされる。このモードでは、イーサネットインタフェースモジュール26のI/O 基底アドレスを決定する構成バイトのビット2〜0だけが、カウンタによって増分される。構成バイトの残りのバイトは無変更のままに保たれる。インタフェース制御装置32は、図9のステップ 304に関して説明された仕方と同様の仕方で、その構成バイトをI/O 基底アドレスとメモリ基底アドレスと割込みの形に復号する(ステップ 334)。これに加えて、イーサネットインタフェースモジュール26内のレジスタ中の「汚染ビット(dirty bit) 」が、その特殊セルのレジスタ/カウンタモードの監視のために割り当てられる。その後で、CPU 12が初期範囲内でメモリから読み取る(ステップ 336)。更に明確に言えば、CPU 12は、インタフェース制御装置32の8つのレジスタの内容を読み取るために、そのI/O プログラムに入る。各レジスタが8バイトを有することが好ましい。8つのレジスタの読み取りは、単に一例として示したにすぎない。本発明は、8つのレジスタだけを読み取ることには限定されない。コンフリクトがあるかどうかを判定するためにCPU 12によって読み取られるレジスタ位置内に記憶された同じ値を、ATバス14上の2つの異なる増設モジュールが偶然の一致から有することがないという所期の見込みを満たすように、ソフトウェアプログラマーは、必要に応じた数のレジスタを読み取ることが可能である。
【0064】
システム電源投入時に、インタフェース制御装置32の8つのレジスタが、ハードディスク16上に記録されたユーティリティプログラムの一部として、モジュール識別子又は「カンパニーコード(company code)」としても記憶される予め決められた値にセットされる。モジュール識別子は、当該モジュールをATバス14上の他のモジュールに対して一意に識別することが好ましい。このモジュール識別子は、イーサネットインタフェースモジュール26の最初の8つのレジスタの中に記憶された初期値であることが好ましい。これら8つのレジスタをCPU 12が読み取った後に、CPU 12はソフトウェアユーティリティを実行し、このソフトウェアユーティリティは、ハードディスク16からモジュール識別子を読み取り、この識別子を最初の8つのレジスタからの読取り値と比較する(ステップ 338)。CPU 12は、このモジュール識別子の値に上記読取り値が一致することを期待するので、これらの2つの値の間の差異をI/O 基底アドレスコンフリクトと解釈する。読取り値とモジュール識別子との間に一致がある時(ステップ 340)には、CPU 12は、この一致を、イーサネットインタフェースモジュール26とATバス14上の他のモジュールとの間にI/O 基底アドレスコンフリクトが存在しないことと解釈すると共に、イーサネットインタフェースモジュール26のための固有のI/O 基底アドレスをそのCPU 12が発見したと解釈する(ステップ 342)。
【0065】
一方、CPU 12によって読み取られた上記8つのレジスタの内容が予想値と相違する場合( ステップ 340) には、システムは、この不一致を、I/O 基底アドレスのコンフリクトと解釈するか、又は、イーサネットインタフェースモジュール26が、そのCPU 12が読み取ったばかりのI/O アドレスにはないということと解釈する。システムは、ATバス14上に与えられるデータを無視することによってイーサネットモジュール26の存在を無視するが、ソフトウェアユーティリティは、予め決められたメモリ位置からの読取りを試みることによって続行する(ステップ 344)。この予め決められたメモリ位置は、アドレス 0X12 (Hex) にあることが好ましい。CPU 12が幾つかタイプの記憶装置に書込みを行おうとする場合に、イーサネットインタフェースモジュール26が、コンフリクトを生じるアドレス指定によって物理的に損傷を与えられる可能性があるので、読取りが好ましい。シフトレジスタ/カウンタ48がカウンタモード用にセットされ、且つ、何が実際に読み取られているかということをCPU 12が関知しないので、この読取りは、「ダミー読取り(dummy raed)」である。カウンタモードでは、ダミー読取りが行われる毎に、シフトレジスタ/カウンタ48がビット2〜0の値を1ずつ増分し、それによって、I/O 基底アドレスを、表III に定義されているようなその次のアドレス範囲にジャンプさせる。初期I/O 基底アドレス範囲は、値 111を有する構成バイトのビット2〜0によって定義される 0X300 (Hex) 〜 0X31F (Hex)に設定されることが好ましい。メモリ位置 0X12 からの読取りによってカウンタが増分される時に、構成バイトのビット2〜0が、0X260 (Hex) 〜 0X27F (Hex)の新たなアドレス範囲に対応する 000の値に変化する。ユーティリティプログラムは、シフトレジスタ/カウンタ48がその次の基底I/O アドレスにカウントアップ(count up)する毎に、適正なモジュール識別子を求めてインタフェース制御装置32を読み取る。このことは、コンフリクトを起こさないI/O 基底アドレスにイーサネットインタフェースモジュール26がそのモジュール自体を動的に再構成することを可能にする。しかし、7回目の増分の後で、ビット2〜0は値 111に戻る。8回目の上記メモリ読取りの後では、システム内にはイーサネットインタフェースモジュール26が存在しないか、又は、I/O 基底アドレスは全て使用不可能である。CPU 12は、読み取られているメモリの範囲内にモジュール位置があるかどうかを判定する(ステップ 346)。モジュール位置が上記メモリ範囲内にない場合には、その構成バイトの値は増分(又はカウント)されず、システムはI/O 基底アドレスを増分し(ステップ 353)、その増分されたアドレスにおけるレジスタを読み取り(ステップ 348)、読取り値を期待値と比較するためにステップ 338にループバック(loop back) する。ステップ 340で一致が得られない時には、CPU 12はステップ 344にループバックする。一致が得られた時には、CPU 12はステップ 342にループバックする。CPU 12は、予め決められたアドレスに書込み命令を送り、インタフェース制御装置32がシフトレジスタ/カウンタ48をカウントモードにセットして、ユーザモード(user mode) に切り替え、必要に応じてユーザがシステム側からIDメモリにアクセスすることを可能にする。
【0066】
一方、イーサネットインタフェースモジュールのアドレスがステップ 346で読み取られたメモリの範囲内にある場合には、CPU 12が、それが上記範囲の最後の増分であるかどうかを判定し(ステップ 350)、そうであるならば、I/O 基底アドレス範囲スロットは全て使用不可能であるか、又は、システム内にはイーサネットインタフェースモジュール26がインストールされていない(ステップ 354)。一方、メモリ読取りがそのメモリ範囲の最終メモリ増分でない場合には、制御装置チップ32は、シフトレジスタ/カウンタ48のビット2〜0を増加させることによって、イーサネットインタフェースモジュール26のI/O 基底アドレスを増分する(ステップ 352)。CPU はI/O 基底アドレスを増分し(ステップ 353)、その後で、その増分されたI/O 基底アドレスにおいて8つのレジスタから読み取る(ステップ 348)。CPU 12は、ステップ 338における読取り値と期待値との比較にループバックする。
【0067】
アドレス0X12への不慮の書込みからシフトレジスタ/カウンタ48内の構成バイトを誤って変更してしまうことを防止するために、ソフトウェア機能抑止が備えられる。データリンクレジスタ内のI/O 基底アンロックビット(I/O base unlock bit) を0にセットすることによって、シフトレジスタ/カウンタ48が、システムハードウェアリセットが再び送り出されるまで、ディスエーブルにされる。このリセット命令によって、上記アンロックビットが1にセットされ、コンフリクトを起こさないI/O 基底アドレスにイーサネットインタフェースモジュール26がそのモジュール自体を動的に再構成することを可能にする。
【0068】
I/O アドレスのコンフリクトが解消されると、上記ソフトウェアは初期設定ルーチンを続行することが可能である。イーサネットインタフェースモジュール26は、所謂「汚染ビット」をセット/リセットすることによって、シフトレジスタ/カウンタ48をレジスタモードに設定し直す。その直後に、上記ユーティリティプログラムは、シフトレジスタ/カウンタ48から新たな構成バイトを読み取って、新たな基底アドレスによってIDメモリ36内に格納された構成バイトを再プログラムすることが可能である。
【0069】
さて、I/O アドレスプログラムを終了した後に、割込みを説明する。上記のように、ビット7〜6は、割込みライン構成だけに使用される。割込み信号は、CPU 12による割込みサービスを増設カードが要求することを可能にする。これらのビットは、イーサネットインタフェースモジュール26のホストインタフェース側で使用可能な4つの割込みラインのいずれか1つを選択するようにプログラム可能である。ユーザは、システムユーザに使用可能な4つのシステム割込みライン(割込み0〜3)の任意のセットに対して上記割込みラインを接続する任意選択権を有する。上記ユーティリティは割込み構成をテストし、コンフリクトがある場合には、その次の使用可能な割込みオプションによってIDメモリ36を再プログラムし、システムを再立ち上げし、構成を再テストする。
【0070】
次表IVは割込みビット定義のリストである。
Figure 0003588139
【0071】
メモリ基底アドレスのコンフリクトと、I/O 基底アドレスのコンフリクトと、割込みのコンフリクトとを解消するためにIDメモリ36が再プログラムされた後には、構成バイトの更に別の再プログラミングは不要である。こうして構成されたコンピュータ10を引き続いて使用する際には、コンフリクトは発生しないだろう。
【0072】
以上のように本発明が説明され、その好ましい実施例が説明されたが、他の変更と応用とが当業者にとって見い出されることが予想される。従って、本明細書の特許請求の範囲によってのみ本発明が限定されることが意図されている。
【0073】
【発明の効果】
以上説明したように、本発明によれば、増設モジュールのメモリアドレスとI/Oアドレスとがジャンパ無しで変更されるとともに、その変更におけるステップが自動化され、ステップ数も減少する、という効果がある。
【図面の簡単な説明】
【図1】本発明の原理によるコンピュータを示す説明図である。
【図2】図1に示されたコンピュータのためのイーサネットインタフェースモジュールの機能ブロック図である。
【図3】図2に示されたインタフェース制御装置の機能ブロック図である。
【図4】図1に示されたコンピュータのためのイーサネットインタフェースモジュールの特定の実施例の機能ブロック図である。
【図5】図4に示されたインタフェース制御装置のアドレス復号回路と構成バイト処理回路との機能ブロック図である。
【図6】データ選択MUX によってバッファシステムデータバスに与えられるデータを制御するための制御論理回路の略図である。
【図7】双方向トライステートバッファを制御するための制御論理回路の略図である。
【図8】図5に示されるIDメモリMUX 制御回路の略図である。
【図9】システム電源投入時における、又はSystem Hardware Reset 命令が送り出されるその他の時点における、IDメモリからシフトレジスタ/カウンタへの構成バイトの読取りと、ブートメモリのコンフリクトの解消とのフローチャートである。
【図10】ATバス用のメモリ基底アドレスのマップである。
【図11】ATバス用のI/D 基底アドレスのマップである。
【図12】図4に示されたイーサネットインタフェースモジュールのI/O 基底アドレスを再構成する際に使用される手順を示すフローチャートである。
【符号の説明】
10…コンピュータ
12…中央処理装置モジュール
14…ATバス
16…ハードディスク
18…フロッピーディスク
20…ランダムアクセスメモリ
22…キーボードインタフェースモジュール
26…イーサネットインタフェース(I/F) モジュール
27…イーサネットネットワーク
32…インタフェース制御装置[0001]
[Industrial applications]
The present invention relates to an add-on card for a personal computer, and more particularly, to an additional interface card for an International Business Machines (IBM) AT compatible personal computer for connecting an AT bus to an external Ethernet network. About.
[0002]
Problems to be solved by the prior art and the invention
IBM AT personal computers and AT compatible personal computers use an AT standardized bus system for internal communication. The AT bus is generally referred to as an Industry Standard Architecture (ISA) bus for 8- and 16-bit systems, and an Extended Industry Standard Architecture (EISA) for 32-bit systems. The AT bus standard is described in detail in "AT Bus Design", Edward Solari (Annbooks, 1990), the subject matter of which is incorporated herein by reference. An AT bus is an interface between various functional units of a computer, such as a central processing unit (CPU) memory and various input / output (I / O) device interfaces. The AT bus provides the necessary logic to control the system clock, storage, read / write access, I / O read / write cycles, data bus direction, data and interrupt requests, and speaker driver. . The storage device includes a hard disk, a floppy disk, an electrically erasable programmable read only memory (EEPROM), and a random access memory (RAM). The I / O device includes a printer, a modem, and an Ethernet communication network.
[0003]
A personal computer has a housing that houses a module card rack for holding and interconnecting electronic modules. When the housing is open, an electronic module is inserted into the rack and connected to a motherboard located at the end of the computer housing opposite the housing opening. This motherboard provides the electrical interconnection between the modules in the computer including the AT bus and power and ground. The user can change the capabilities of the personal computer by attaching or removing a computer module to or from the computer housing. For example, by inserting a RAM (Random Access Memory) module into the housing, the storage capacity can be increased.
[0004]
Each device connected to the AT bus and having a storage device has a memory base address (base) that defines the memory space used by that device so that the CPU can command a read or write to the storage device. (Base address). Each storage device must have a unique memory base address so that only one device responds to such a read / write instruction. The AT bus standard assigns specific memory addresses to specific devices. More specifically, the hard disk drive, floppy disk drive and RAM memory are each assigned a unique memory base address range. Therefore, all personal computers use these addresses for communication between the hard disk drive, the floppy disk drive and the RAM memory. In contrast, when a new device is connected to the personal computer, the memory base address of the new device must not be one of the addresses already assigned to other devices, It may be any address in the address range that has not yet been assigned. However, when more than one device is added, each with its own storage device and its corresponding unique memory base address, two or more devices may have the same memory base address. If this occurs, the CPU sends out addresses corresponding to two or more separate devices during an initialization routine at system power-up. The two or more separate devices each respond to an address command, and all of these devices attempt to read or write to memory. These multiple responses cause a conflict on the data portion of the bus. In some cases, the CPU may detect the conflict on the bus because, for example, during system startup or during reading, the data to be read may be different from the system expected values.
[0005]
In current systems, one type of add-on card is an Ethernet interface module for interfacing between an AT bus and an Ethernet network system. The Ethernet standard is Institute of Electrical and Electronics Engineers, Inc. It was issued in 1989 by the "Information Processing Systems - Local Area Networks - Part 3: Carrier sense multiple access with collision detection (CSMA / CD) access method and physical layer specifications", International Standard ISO, 8902-3: 1989, ANSI / IEEE Std 802.3-1988, the subject matter of which is incorporated herein by reference. Further, in the current system, when a memory address conflict is detected, the power of the system is turned off, an add-on card that is presumed to be causing the conflict is removed from the system, and any memory provided on the module is removed. It is necessary to change the configuration of the card by means, after which the expansion card is reinstalled in the system, the system is powered on, and the operation of the module is retested. (The means used in current systems to change the base address is a moveable jumper or switch.) The CPU again performs its initialization routine, and if a conflict with another memory base address is detected, The process of removing the module and physically changing the memory base address is repeated until the memory conflict is eliminated. When no memory conflict is detected, the CPU continues to execute its initialization routine.
[0006]
A plurality of I / O interface devices connected to the AT bus each have an I / O base address. When these I / O interface devices detect their I / O base address on the bus, they respond to instructions on the bus. As with the memory base addresses described above, each I / O interface device must have a unique I / O base address. Like memory addresses, the AT bus standard assigns I / O address ranges to specific devices. Therefore, these I / O addresses are used only by these devices. However, as other devices are added to the AT bus, each of those devices must have its own I / O address. However, as with the memory base address, these devices do not have pre-assigned addresses. Thus, the AT bus standard assigns I / O address ranges to these new devices.
[0007]
However, when a new device is connected to the AT bus, until the CPU has executed its initialization routine, the system will allow two or more devices on the AT bus to use the same I / O base address. I do not know if they are. Thus, when the CPU sends one I / O bus address to two or more devices on the AT bus that use the same address, all of these two or more devices respond and the Creates a conflict.
[0008]
Current systems with EEPROM-based configurations resolve conflicts in the I / O base address in a way that corresponds to how address conflicts are resolved by jumper or switch based designs. More specifically, in the case of an Ethernet module having an EEPROM-based configuration, a computer user first turns on the computer. If a conflict in the I / O memory address is detected during the initialization routine of the CPU, the user removes the module from the first computer and removes the module from the second system that has not caused an I / O base address conflict. You must insert that module into Thereafter, the user can change the I / O address of the module by rewriting the EEPROM of the module. Thereafter, the module whose original configuration has already been changed can be reinstalled in the original system.
[0009]
The above method for resolving address conflicts is cumbersome, expensive, and prone to operator error. The tasks include removing the module from the first computer, inserting the module into the second computer, turning on the second computer and re-installing the module in the second system. Configuring, removing the module from the second system, reinserting the module into the first system and retesting, and repeating this process until all conflicts are eliminated. And need. Each of these steps requires effort to perform, and is therefore time consuming. The additional time for setup, test, and rework increases the cost of the module. Furthermore, the numerous steps described above increase the likelihood of errors during rework and the possibility of damaging the module or the computer by repeated removal and installation of the module in the two computer systems.
[0010]
There is a need for changing the memory address and I / O address of an extension module without jumpers, and for automating the steps in the change to reduce the number of steps.
[0011]
Means and Action for Solving the Problems
Briefly, one embodiment of the present invention is an interface controller for an addressable interface module. This interface module is adapted to be coupled to a central processing unit via a communication bus with other addressable interface modules. Each interface module has a base address unique to each interface module provided on the communication bus by the central processing unit, and a base address on the communication bus for reading data from the interface module to the communication bus. And a write command provided by the central processing unit on the communication bus for writing data from the communication bus to the interface module. The interface controller has a stored configuration base address for determining a unique address to which the corresponding interface module must respond. In addition, the interface controller also has a decoder for decoding a base address including a modified configuration address for use by the corresponding interface module when determining a unique address for a response by the corresponding interface module. The interface controller includes circuitry for automatically changing the stored configuration base address when the stored configuration base address is the same as the unique address for any one of the other interface modules. The circuit includes a second circuit responsive to a predetermined address on the communication bus and a read command to change the stored configuration base address to a different configuration address. In one particular implementation, the first circuit includes a counter for incrementally adjusting a value represented by a configuration base address.
[0012]
Briefly, one embodiment of the present invention provides for the first identification of a first module connected to a bus to eliminate conflicts with a second module connected to the same bus. A method for adaptively adjusting a code in response to a start command. The first identification code is stored in one register. A commanded identification code is received over the bus. A stored first identification code is compared to the commanded identification code received over the bus. Data is sent out over the bus in response to a match between the first identification code and the commanded identification code. Expected data is generated. The sent data is compared to the expected value of the data, and if the sent data does not match the expected data, the result is identified as a mismatch. The first identification code stored in the register is changed in response to the identified mismatch. The above process is sequentially repeated until no discrepancy is identified between the sent date and the expected data so that the first module is uniquely identified by the first identification code.
[0013]
Preferably, the bus is an IBM AT bus, the identification code is an input / output base address, and the start command is a hardware reset command.
[0014]
Circuit for adaptively adjusting a first identification code of a first module connected to the bus in response to a start command to avoid a conflict with a second module connected to the same bus Is provided. The circuit includes means for storing the first identification code, means for comparing the first identification code in the storage means with the commanded identification code, and the commanded first identification code. Means for sending data in response to a match between the identification code, and wherein both the first module and the second module are responsive to the match between the first identification code and the commanded identification code. Means for detecting whether or not data is sent out, and for generating a conflict signal when there is no match, in response to the conflict signal, determining whether the first identification code and the commanded identification code correspond to each other. Means for changing the first identification code such that neither the first module nor the second module sends out data when a match between them occurs.
[0015]
In certain embodiments, an interface module transfers data between an Industry Standard Architecture (ISA) bus and an Ethernet network. The ISA bus transfers first and second groups of addresses and reset instructions from the central processing unit (CPU) to the interface module, and transfers data from the interface module to the CPU. This interface module has an adaptive identification code. The interface module includes a register for storing an applicable identification address. A decoder is coupled to this register for decoding the adaptive identification address from the CPU and the first group of addresses. A buffer memory is coupled to the decoder and the ISA bus. The buffer memory sends data to the ISA bus in response to the first group of decoded addresses when a selected address in the first group of decoded addresses includes an adaptive identification address. Or receive data from the ISA bus. In response to the second group of addresses from the CPU and the reset instruction, the counter changes the adaptive identification address stored in the register.
[0016]
【Example】
FIG. 1 is a functional block diagram illustrating a computer using an Ethernet interface module for communicating between an Ethernet and an AT bus according to the principles of the present invention. The computer 10 has a central processing unit (CPU) module 12 connected to an AT bus 14. The CPU 12 preferably comprises a 486-type microprocessor chip manufactured by Intel Corporation, Santa Clara, California. As described above, the AT bus 14 is a standard bus used by IBM AT personal computers and AT compatible personal computers. The AT bus 14 is also connected to a plurality of storage devices including a hard disk 16, a floppy disk 18, and a random access memory (RAM) 20. Although some storage devices are shown, the invention does not require all of these devices. A printer interface module 22 is connected to the AT bus 14 and a printer 23 outside the computer 10. A keyboard interface module 24 is connected to the AT bus 14 and the keyboard 25. Keyboard 25 provides computer 10 with instructions selected by the user. The Ethernet interface (I / F) module 26 provides an interface for communication between the AT bus 14 and the Ethernet network 27. Alternatively, the interface module 26 may interface with another bus. As mentioned above, Ethernet is a standardized communication network typically used for Local Area Network (LAN). The Ethernet interface module 26 is preferably packaged on one module.
[0017]
Power-up sequences for IBM AT computers are well known in the art. Briefly, at power up, CPU 12 sends a hardware reset to all modules in computer 10 to instruct each module in computer 10 to begin an initialization routine. CPU 12 reads instructions for a basic input / output system (BIOS) from a programmable read-only memory (PROM) located on the CPU module. After executing a plurality of initialization routines from the BIOS, the CPU 12 reads a utility program from the memory. The utility program identifies in advance one of the storage devices (preferably the hard disk 16) and the modules that are expected to be connected to the AT bus 14 and identifies these modules and these modules to the AT bus. An initialization routine and a diagnostic routine are executed with respect to the interface.
[0018]
FIG. 2 is a functional block diagram of the Ethernet interface module 26 for the computer shown in FIG. An Ethernet interface control signal is sent from the CPU 12 over the AT bus 14 over the line 102 to the interface controller 32, while the interface controller 32 is sent over the line 102 to the AT bus 14 in the opposite direction. CPU 12 provides system address instructions to boot programmable read-only memory (PROM) 34 and interface controller 32 via AT bus 14 and system address bus 116. The address of the Ethernet interface module functions as an identification code for identifying the module. Upon receiving an instruction address that matches the address of the Ethernet interface module 26, the module 26 responds to the requested function. The boot PROM 34 includes a startup program for the Ethernet interface module 26. This boot PROM 34 can be used, for example, in a diskless system without the hard disk 16 or the floppy disk 18, in which case the driver program is loaded from the Ethernet 27. The interface controller 32 provides a control circuit for interfacing between the AT bus 14 and the Ethernet 27. Interface controller 32 provides a PROM control signal over line 114 to enable boot PROM 34 and control its output. The boot PROM 34 supplies data to the interface controller 32 via the bus 110.
[0019]
In the first direction, the CPU 12 passes through the AT bus 14 and subsequently the system data bus 106, and in the case of the 16-bit AT bus 14, the system data bus high byte transceiver (system data bus high byte). The system data is supplied to both a transceiver 40 and a system data bus low byte transceiver 42, and in the case of the 8-bit AT bus 14, only the system data bus low byte transceiver 42 is provided. Give system data. In addition, instructions and states are transferred through the system data bus 106. Conversely, the CPU 12 communicates in the second direction through the system data bus 106 followed by the AT bus 14 and, in the case of the 16-bit AT bus 14, the system data bus high byte transceiver 40 and the system data bus. It receives system data from both the bus low byte transceiver 42 or, in the case of the 8-bit AT bus 14, system data only from the system data bus low byte transceiver 42. System data bus high byte transceiver 40 optionally provides data to interface controller 32 over bus 108 or receives data from interface controller 32 in the opposite direction. Interface controller 32 provides a transceiver control signal over line 104 to control data transmission through system data bus high byte transceiver 40. Similarly, system data bus low byte transceiver 42 optionally provides data to interface controller 32 over bus 110 or receives data from interface controller 32 in the opposite direction. Interface controller 32 provides a transceiver control signal over line 112 to control data transmission through system data bus low byte transceiver 42.
[0020]
Clock 118 provides a clock signal to interface controller 32 via line 238. Interface controller 32 provides control signals to light emitting diodes (LEDs) 144 via lines 143, which provide a visual indication of the status of Ethernet interface module 26. For example, the LED 144 can indicate a receive, transmit, collision, and link test pass. ID memory 36 provides jumperless form identification and node identification information to interface controller 32 via line 122 in response to an ID memory control signal from interface controller 32 via line 120. In the boot PROM configuration, ID memory 36 provides storage for the boot PROM address. Preferably, the ID memory 36 is an electrically erasable programmable read only memory (EEPROM). In another embodiment, the form identification and node identification may be stored in an ID PROM that provides this data directly to buses 108,110. The interface controller 32 supplies a buffer control signal 142 and a buffer storage bus address signal 140 to the buffer storage 138, which is preferably a static random access memory (SRAM). To provide memory storage for data transferred over data bus 136 between Ethernet and Ethernet 27. SRAM 138 is typically 8 kilobytes or 32 kilobytes.
[0021]
Connector interface 30 has several types of mechanical connectors for electrically connecting Ethernet interface module 26 to Ethernet 27. More specifically, the Ethernet interface module 26 has an Attachment Unit Interface (AUI) connector 128 for an AUI interface, has a coaxial transceiver interface 130 for signal communication through a coaxial line, and has a coaxial transceiver interface 130 for a twisted pair interface. Has a twisted pair connector 134. The interface controller 32 provides a transmit pair signal via line 124 for both the AUI connector 128 and the coaxial transceiver interface 130. Each of the AUI connector 128 and the coaxial transceiver interface 130 provide receive / collision pair signals to the interface controller 32 via line 126. Interface controller 32 and twisted pair connector 134 communicate with each other by sending differential pairs signals over line 132.
[0022]
FIG. 3 is a functional block diagram of the interface control device shown in FIG. The interface controller 32 has five functional blocks, namely, a system interface 146, a buffer controller 152, a control and status register 150, a transmission circuit 154, and a reception circuit 156.
[0023]
System interface 146 communicates with AT bus 14 using the signals on lines 102, 104, 108, 110, 112, 114, 116 as described above. The system interface 146 has a buffer register 148 for holding data during communication between the AT bus 14 and the Ethernet 27. The system interface 146 communicates bi-directionally with the buffer controller 152, which communicates with the buffer controller 152 and the buffer register 148, the ID memory 36, the SRAM 138, the receiving circuit 156, and the transmitting circuit 154. Controls data transfer between The control and status register 150 receives control and status information from the system interface 146, the buffer controller 152, the transmitting circuit 154 and the receiving circuit 156, and sends control and status information to the system interface 146 and the buffer controller 152.
[0024]
The transmission circuit 154 includes a transmission circuit control device 158 for controlling the encoding of data from the buffer control device 152 in the encoder 160. The encoded data is processed by a pulse shaping circuit and filter 162 before being amplified in a transmit circuit amplifier 166 and provided to the connector interface 30 (see FIG. 2). Conversely, receiving circuit 156 receives the data signal from connector interface 30 and amplifies it in receiving circuit amplifier 174. The amplified data signal is processed in the receiver circuit slicer 172 and then decoded by the decoder 170. Thereafter, the decoded data signal is sent to the receiving circuit controller 168 and further sent to the buffer controller 152. Collision circuit 164 resolves collisions between reception and transmission on Ethernet 27 by processing the decoded signal from decoder 170 and the encoded signal from encoder 160.
[0025]
FIG. 4 is a functional block diagram of a specific implementation of the Ethernet interface module 26 for the computer 10 shown in FIG.
[0026]
The CPU 12 sends a system address (SYSADDRESS) signal to the Ethernet interface module 26 and other modules on the AT bus 14 via the AT bus 14. More specifically, on the Ethernet interface module 26, a SYSADDRESS signal is provided via line 116 to the address input of the boot PROM 34 and the address input of the interface controller 32. CPU 12 issues these system address instructions to define a memory address space and an I / O address space. This addressing is described in detail below in conjunction with FIGS. In addition, the AT bus 14 provides a system connection to both the output enable (OE) input of the boot PROM 34 and the interface controller 32 via line 176 which is part of the Ethernet interface control signal line 102 (FIG. 2). Provide a System Memory Read (SMEMR bar) command. (The overscore (bar) convention for a signal name indicates that the signal is asserted in a low state). The SMEMR bar instruction is an active low signal from the AT bus 14 that indicates that the current bus cycle is a memory read operation and that the Ethernet interface module 26 requests output of data from the storage device. Although the instruction is described herein as an active high / low signal, the invention is not so limited. The Ethernet interface module 26 can be designed for either an active low signal or an active high signal.
[0027]
Further, the CPU 12 enables the transfer of all data, instructions, and states through a system data (SYSDATA) bus 106 or the transfer of all data, instructions, and states through the AT bus 14 to the Ethernet interface module 26. Command other devices to send to More specifically, the SYSDATA bus line 106 leading to the first bidirectional input / output terminals of both the system data bus high byte transceiver 40 and the system data bus low byte transceiver 42 is connected to the AT bus 14. System data bus except that CPU 12 controls the direction of data flow through system data bus high byte transceiver 40 while interface controller 32 controls the direction of data flow through system data bus low byte transceiver 42. Both the high byte transceiver 40 and the system data bus low byte transceiver 42 operate in the same manner. The system data bus high byte transceiver 40 sends an Input / Output Read (IOR) command from the CPU 12 via the AT bus 14 and line 178 to the transceiver's direction control (DIR) input. Receive via terminal. The active high signal on the DIR terminal causes the system to transfer data from system data bus 106 to buffered system data (BSD) bus 180 (including buses 108 and 110 (FIG. 2)) for a write operation. The data bus high byte transceiver 40 is switched. The buffer system data (BSD) bus 180 is an internal data bus on the Ethernet interface module 26. An active low signal on the DIR input switches the transceiver 40 to transfer data in the reverse direction from the BSD bus to the system data bus for a read operation. The IOR bar instruction is an active low signal from the CPU 12, which indicates that the current bus cycle is an I / O read operation, and the Ethernet interface module 26 on the system data bus 106 of the AT bus 14 Request to output data.
[0028]
A buffer system data bus (BSD <15: 0>) 180 interconnects the boot PROM 34, the system data bus high byte transceiver 40, the system data bus low byte transceiver 42, and the controller chip 32. (The convention used to define the bits on a signal line, as used herein, is to enclose the number of bits with a colon-separated <> symbol. For example, BSD <15: 0> may be bits 15- 0.) The system data bus transceivers 40, 42 are preferably 74-ALS245 tri-state bus transceivers. The outputs of jumper buffers 38, 39 are also provided on the BSD bus <15: 0> 180 to the second bidirectional I / O terminals of system data bus high byte transceiver 40 and system data bus low byte transceiver 42.
[0029]
The interface controller 32 provides an Enable Data High Byte (ENNB) command via line 182 to the Enable (EN) input of the system data bus high byte transceiver 40. The enable data high byte signal is an active low signal that enables or disables the system data bus high byte transceiver 40. More specifically, the enable data high byte instruction disables the system data bus high byte transceiver 40 to disconnect the SYSDATA bus 106 from the buffer system data bus 180.
[0030]
For control of system data flow by the Ethernet interface module 26, the system data bus low byte transceiver 42 is controlled in a similar manner. However, both control signals for the system data bus low byte transceiver 42 are provided by the interface controller 32. More specifically, the enable data low byte (ENLB bar) signal on line 184 enables the system data bus low byte transceiver 42 and the low byte direction on line 186 (ENLB bar). The Ethernet interface module 26 outputs data on the system data bus 106 by controlling the direction of data flow from the buffer system data bus 180 to the system data bus 106 by sending a Low Byte Direction (LBDIR bar) signal. .
[0031]
As will be described in more detail below, the Ethernet interface module 26 can operate in either a jumper mode or a jumperless mode. In jumper mode, the configuration of the Ethernet interface module is defined by configuration jumpers 188-195, which are the physical wires on this module. Jumpers 188 and 192 define I / O base addresses, jumpers 189 and 193 define memory base addresses, jumpers 190 and 194 define DMA (Direct Memory Access) acknowledge (Acknowledgment) (DACK), and jumper 191. , 195 define an interrupt. The DACK signal is an active low signal, indicating that an external DMA controller (not shown) is ready to transfer data between the host system and the Ethernet interface buffer memory. The I / O base address, memory base address, and interrupt signal are defined below in conjunction with FIGS. The configuration jumper is connected at one end to a ground or voltage source (VCC) (not shown) and at the other end to the inputs of the configuration jumper buffers 38,39. Alternatively, configuration jumpers 192-195 may be used to define configurations other than those described above. A set of mode jumpers 235 that define which of the EEPROM and the ID PROM store the initial parameters and whether the operation is a jumper operation or a jumperless operation is provided to the interface controller 32. Can be
[0032]
In the jumper mode, the logic level of each configuration jumper is provided on the buffer system data bus 180. When the Ethernet interface module 26 requests to read the state of the configuration jumper, the interface controller 32 sends a Select Configuration Register 1 command (line 196) to the enable (EN) input of the jumper buffer 38 via line 196. SEL12), and jumper buffer 38 in response provides a configuration jumper signal to buffer system data bus 180. The SEL12 instruction is not used in no jumper mode. Alternatively, the jumper buffer 39 is enabled by a Select Configuration Register 2 instruction (SEL13) on line 198 provided by the interface controller 32 to the enable (EN) input of the configuration jumper buffer 39. You. As described below, the SEL13 instruction is used in a jumperless mode to read from shift register / counter 48. The configuration jumper buffers 38, 39 are preferably 74LS244 tri-state buffers. A logic one level switches the corresponding buffered output to a high impedance state and disconnects the jumped input from the output to the bus in both cases of the SEL12 signal on line 196 and the SEL13 signal on line 198. Conversely, a logic 0 level switches the corresponding buffers 38, 39 to either of the SEL12 instruction 196 and the SEL13 instruction 198 to output signals corresponding to the configuration jumpers 188-195 to the buffer system. To the data bus 180.
[0033]
The ID memory 36 stores configuration bytes for the Ethernet interface module 26. The ID memory 36 is preferably a serial EEPROM, such as the National Semiconductor NMC93C06, C26 or C46 series having 256, 512 or 1024 bits, respectively. The serial EEPROM has three inputs from the interface controller 32: a serial data input, a serial data clock or shift clock (SK), and a chip select (CS). The ID memory 36 provides a single output, the serial data output (DO), to the interface controller 32 via line 206. All of the instructions, addresses and write data are provided as inputs to the ID memory 36 via line 200 to the input terminals of the ID memory 36. Data read from the serial EEPROM and status information are output from a serial data output terminal. Interface controller 32 provides a chip select signal to ID memory 36 via line 202. The serial EEPROM shift-in or shift-out the data upon a low-to-high transition of the shift clock (SK) on line 204 from the interface controller 32.
[0034]
In another embodiment, ID PROM 208 provides data to and receives data from buffer system data bus 180 via line 210. Interface controller 32 provides a PROM chip select signal on line 212 to enable ID PROM 208 and a latched address signal on line 213 to address ID PROM 36.
[0035]
Buffer storage memory 138 (also referred to as SRAM 138) and any additional buffer storage memory 138 'receive an address signal 140 from interface controller 32 to select a storage location in that memory. The interface controller 32 provides a buffer chip select signal through lines 224, 226 to each chip enable input terminal on the SRAM 138, 138 'to enable the selected chip. In addition, interface controller 32 provides a write enable (WE bar) signal via line 228 and an output enable (OE bar) signal via line 230 for both SRAMs 138, 138 '. give. Buffer data is bidirectionally communicated between the SRAMs 138, 138 'and the interface controller 32 via the bus 232. Bits 7-0 of the buffer data are provided to SRAM 138. Bits 15-8 of the buffer data are provided to SRAM 138 '.
[0036]
Interface controller 32 and connector interface 30 communicate over lines 124, 126, 132 described above. Connector interface 30 is coupled to Ethernet 27. Interface controller 32 provides system requests to AT bus 14 via line 222 and receives system control signals from AT bus 14 via line 220. Lines 220 and 222 are part of line 102 (FIG. 2).
[0037]
An I / O base address jumper can be connected to line 216 to replace bits 2-0 of the configuration byte to define the I / O base address in jumper mode. Similarly, a memory base address jumper can be connected to line 218 to replace bits 5-3 of the memory base address or bits 7-6 of the interrupt request (described below). Interrupt request 0 is provided to interface controller 32 via line 214.
[0038]
FIG. 5 is a functional block diagram of the address decoding circuit and the constituent byte processing circuit of the interface control device shown in FIG.
[0039]
Jumper mode decoder 44 has first and second inputs (shown collectively as line 235) selectively connected to either ground or a voltage source (VCC) (not shown). And a mode jumper 235 having One output of the jumper mode decoder 44 is a jumper / no jumper (JP / JPLESS) signal on line 237, which signal indicates that the module has a jumper wire change or software (described below). This indicates to the interface control device 32 which of the two will be reconfigured. For example, when connecting the second input 235 to a voltage source (VCC), the JP / JPLES signal on line 237 is a logic one indicating that the module is operating in jumperless mode. Conversely, when connecting the first input 235 to ground, the JP / JPLESS signal is a logic 0 indicating that the module is operating in jumper mode.
[0040]
The serial data output on line 206 from the ID memory 36 is provided to both a first input of a data select multiplexer (MUX) 46 in the interface controller 32 and to the shift register / counter 48. Shift register / counter 48 includes an 8-bit serial input / parallel output shift register having bits 7-0. Bits 2-0 (also called I / O SEL <2: 0>) define the I / O base address. Bits 5-3 (also called MSEL <2: 0>) define the memory base address. Bits 7-6 (also called IRQ <3: 0>) define the interrupt line configuration. The decoding of these bits is described in detail below. The shift register / counter 48 also functions as a counter for bits 2 to 0, as described below.
[0041]
Data selection MUX 46 selectively controls data supplied to BSD bus 180. Further, bits 7-0 of shift register / counter 48 are connected to a second input of data select MUX 46. The system data output high / lower bus, which is an internal bus of the interface controller 32 and interconnects the system interface 146, the control and status register 150, the buffer controller 152, the transmitting circuit 154, and the receiving circuit 156 (FIG. 3). A System Data Output High / Low bus (SDOHL <7: 0>) signal is provided to a third input of the data select MUX 46.
[0042]
The signals provided by data select MUX 46 are controlled by control logic 58. FIG. 6 is a schematic diagram of control logic for controlling the data provided by the data selection MUX 46 to the buffer system data bus. A jumper / jumperless (JP / JPLESS) signal on line 237 is provided by jumper mode decoder 44 to a first input of control logic 58. READ 13 for read address 13 of buffer register 148 (FIG. 3) An instruction is provided to a second input of control logic 58. JP / JPLESS signal and READ 13 Is the JPLS provided to the data selection MUX 46 A NOR operation is performed in the control logic circuit 58 to generate the READ 13 signal.
[0043]
A READ 11 instruction for reading the data output from the ID memory 36 is also provided to the data selection MUX 46. Table I shows a truth table for the outputs selected for data selection MUX 46.
Figure 0003588139
[0044]
The output of the data selection MUX 46 is connected to a bidirectional tri-state buffer 50. The bidirectional input / output port of the bidirectional tristate buffer 50 is connected to the buffer system data bus (BSD <15: 0>) 180 as described above. The bidirectional tri-state buffer 50 selectively controls the direction of data flow between the buffer system data bus 180 and the interface controller 32. The unidirectional output from the bi-directional tri-state buffer 50 is separated by the system data input low (System Data Input Low) (SDAIL <6: 5>) signal and the SDAIL <7> into flip-flops 52 and 54, respectively. Connected to. The direction of the data flow in the bidirectional tri-state buffer 50 is controlled by the control logic 56.
[0045]
FIG. 7 is a schematic diagram of a control logic circuit for controlling a bidirectional tristate buffer. As shown in FIG. 6, the control logic circuit 58 includes the SEL 13 To generate the signal, the JP / JPLESS signal and READ 13 The logical product (AND) with the signal is calculated, and this SEL 13 The signal is provided to configuration jumper buffer 39 and control logic 56. Next, referring to FIG. The signal is Tri In order to generate the Out signal, a system least significant bit (System Least Significant Bit) (SYS LSB ) The signal is inverted and NANDed, and Tri The Out signal commands data to flow from the interface controller 32 to the BSD bus 180 in a first logic state (eg, logic “1”), while, conversely, a second logic state (eg, logic “1”). ("0") instructs data to flow from the BSD bus 180 to the interface controller 32. SYS LSB The signal is provided by an internal FIFO or register (not shown) and is a qualifier. Accordingly, the data selection MUX 46 is selected to output data on the BSD line 180 from either the ID memory 36, shift register / counter 48, or SDOHL bus.
[0046]
The hardware reset signal on line 236, the JP / JPLESS signal on line 237, and the 20 MHz clock are used to control the first, second, and third of the jumperless state machine 60. Given to the input. Ethernet interface module 26 operates based on a 20 MHz clock signal on line 238 from clock 118 (FIG. 2). The first output signal of the jumperless state machine 60, the Enable Counter (EN CNTR) signal, is used to instruct the shift register / counter 48 to operate as a shift register or counter. The upper part is given to the shift register / counter 48. In addition, a shift register clock (SRCLK) signal is also provided to shift data in shift register / counter 48. The jumperless state machine 60 provides a hardware controlled data in (HARD DI) signal from its second output to the ID memory control MUX 62 via line 239, and the ID memory control MUX 62 The memory 36 is selectively provided with a HARD DI signal via line 200. The jumperless state machine 60 provides a hardware controlled shift clock (HARD SK) signal from its third output to the ID memory control MUX 62 via line 241 and the ID memory control MUX 62 The memory 36 is selectively provided with a HARD SK signal via line 204. The jumperless state machine 60 provides a hardware controlled chip select (HARD CS) signal from its fourth output to the ID memory control MUX 62 via line 242, and the ID memory control MUX 62 The memory 36 is selectively provided with a HARD CS signal via line 202. Jumperless state machine 60 provides a MUX hardware select (MUXHW) signal from its fifth output to ID memory MUX control circuit 69 via line 243.
[0047]
FIG. 8 is a schematic diagram of the ID memory MUX control circuit shown in FIG. The MUXHW control signal is supplied on line 243 to the ID memory MUX control circuit 69, and the ID memory MUX control circuit 69 outputs the MUXHW signal to the SEL. It is inverted and ANDed with the JP / JPLESS signal to form the MUX signal. Referring again to FIG. 5, SEL is selected to select one of the signal from jumperless state machine 60 to ID memory 36 and the signal from flip-flops 52 and 54. A MUX signal is provided on line 246 to the ID memory control MUX 62.
[0048]
The software controlled chip selection signal, the software controlled shift clock signal, and the software controlled data-in signal are provided to flip-flops 52 and 54. In particular, SDAIL <6: 5> and SDAIL <7> are separately provided from buffer system data bus 180 to flip-flops 52 and 54 as described above. Further, the WRITE 10 signal and the WRITE 11 signal are separately provided to the flip-flops 52 and 54.
[0049]
Bits 2-0 of shift register / counter 48 are connected to the first input of decoder select MUX 64 as I / OSEL <2: 0>. Bits 5-3 of shift register / counter 48 are provided to the second input of decoder select MUX 64 as signals MSEL <2: 0>. The I / OSEL <2: 0> instruction defined by the jumper is provided on line 216 to the third input of the decoder select MUX 64. A fourth input of the decoder select MUX 64 is connected to a bi-directional tri-state buffer 72. The bidirectional port of the bidirectional tri-state buffer 72 may be connected to a signal line that carries an MSEL <2: 0> instruction defined by a jumper as input or carries an interrupt request (IRQ <3: 0>) signal as output. Connected. The input to the bidirectional tristate buffer 72 is the first output of the interrupt request decoder 70. The second output of interrupt request decoder 70 is interrupt request 0. Bits 7-6 of shift register / counter 48 are also provided to the two inputs of interrupt request decoder 70. The bidirectional tristate buffer 72 is controlled by a JP / JPLESS instruction on line 237 from jumper decoder 44. The output of the decoder selection MUX 64 is connected to a memory address decoder 66 and an I / O address decoder 68. The output of the memory address decoder 66 and the output of the I / O address decoder 68 are connected to an SRAM 138 (FIG. 3). The decoder selection MUX 64 is also controlled by a JP / JPLESS instruction from the jumper decoder 44. The decoder select MUX 64 outputs MSEL <2: 0> from the shift register / counter 48 or the jumper in response to a logical 1 JP / JPLESS instruction or a logical 0 JP / JPLESS instruction, respectively, / OSEL <2: 0> is output.
[0050]
Next, with respect to the hardware defined above, the operation of the Ethernet interface module 26 will be described with reference to FIGS. FIG. 9 is a flow chart of reading configuration bytes from the ID memory to the shift register / counter and resolving memory address conflicts at system power-up or at any other time a System Hardware Reset command is issued. It is. When the system power is turned on (step 300), the CPU 12 sends out a System Hardware Reset command as a start command or an initialization command to each module on the AT bus 14 including the Ethernet interface module 26. After reset, CPU 12 becomes the first AT bus owner. Further, for example, when a user simultaneously presses three control (Ctrl) keys, an ALT key, and a delete (Del) key on the keyboard 25, a Hardware Reset command can be transmitted during normal system operation. . The following description describes the operation of the system with respect to a hardware reset issued at system power up for typical purposes. However, the present invention is not limited to this.
[0051]
At the time of hardware reset, the jumperless state machine 60 determines whether the system configuration indicated by the JP / JPLESS signal from the jumper decoder 44 (FIG. 5) is a jumper system configuration or a jumperless system configuration. The operation of the Ethernet interface module 26 as a jumperless module will be described first first.
[0052]
If the system is a jumperless system, the jumperless state machine 60 (FIG. 5) stores the ID memory 36 in the ID memory control MUX 62 by setting the Chip Select signal on line 202 (FIG. 4) high. Command to select. The Shift Clock instruction on line 204 (FIG. 4) is set to shift data on serial data output 206 from ID memory 36 to shift register / counter 48. In addition, to instruct shift register / counter 48 to operate as a shift register and to clock in serial data output 206 from ID memory 36, a no-jumper state machine 60 provides line 244 ( An instruction is sent to the shift register / counter 48 through FIG. 5).
[0053]
To read the configuration byte from location Ox11 in ID memory 36 and load it into shift register / counter 48, jumperless state machine 60 generates the appropriate signal (step 302). As described above, bits 5-3 determine the memory base address (step 304). FIG. 10 is a map of the memory base address for the AT bus. The memory address is in the range of 0 (00 0000 Hex) to 16384 K (FF FFFF Hex). In practice, the address is 16384K minus one, but for clarity, this -1 is omitted from addresses with the suffix "K". Within this address range, a number of subranges are allocated or reserved for platform memory and BIOS. Address 0 (00 0000 Hex) -512 K (06 FFFF Hex) is a location reserved for platform memory. The address 512 K (07 0000 Hex) -640 K (09 FFFF Hex) is the address range for the platform memory. Address range 100000 (Hex)-FD FFFF (Hex) is reserved for slot memory. Preferably, within this address range, the Ethernet interface module 26 has an address range of C4000-DFFFF. The addresses assigned to the base address bits are shown in Table II below.
Figure 0003588139
[0054]
Referring again to FIG. 9, the Ethernet interface module 26 loads a configuration byte from the ID memory 36, as shown in this figure. The process of reading the configuration bytes from the ID memory 36 starts when the system power is turned on, and is in parallel with the above-described initialization and inspection when the system BIOS is started. Parallel reading of the configuration byte allows the BIOS to scan the ROM location for a valid boot ROM. If the system boots properly (step 306), the boot ROM initialization code initializes its resources, replaces the desired interrupt vector (step 307), returns system control to the system BIOS, and completes its initialization. (Step 308).
[0055]
On the other hand, if the system does not start up properly, it is determined that there is a memory address conflict between the Ethernet interface module 26 in the computer 10 and another extension module (step 306). If there is a memory conflict, the CPU 12 stops during system power-on. To resolve this conflict, the Ethernet interface module 26 is removed from the computer 10 (Step 310) and installed in the second computer system (Step 312). This second system is used to determine whether the Ethernet interface module 26 operates properly by reducing the possibility of memory base address conflicts. This second system has the same basic configuration as the first system, but preferably does not include any additional modules, thereby eliminating memory conflicts between the Ethernet interface module 26 and the additional modules. In addition, in the no-japper mode, a second system is used to reprogram the ID memory 36 with a different memory base address, as described below. After inserting the Ethernet interface module 26 into the second system, the second system is powered on. If the second system boots properly (step 314), the Ethernet interface module 26 is active and the problem with the first system is considered to be a memory conflict. Therefore, to eliminate this conflict, it is necessary to reassign the memory base address location of the Ethernet interface module 26 (step 316).
[0056]
In the jumper mode, the memory base address location is reassigned by changing the memory base configuration jumper 189 (FIG. 4) of the Ethernet interface module 26 by physically adding or changing jumper wires. In contrast, in jumperless mode, the memory base address location is changed, preferably by reprogramming the configuration byte at address 0X13 of ID memory 36. For example, if the memory base address location of the Ethernet interface module 26 initially stored in bits 5-3 of the configuration byte is 000, the address range corresponding to this value 000 is as shown in Table II above. The range is 0XC4000 (Hex)-00XC7FFF (Hex). If there is an address conflict, responding to an address within this range activates both the Ethernet interface module 26 and the second add-on module on the AT bus 14. The memory base address of the Ethernet interface module 26 is reassigned by changing bits 5-3 of the configuration byte. For example, incrementing bits 5 to 3 from 000 to 001 will correspondingly increase the memory base address range to the range 0XC8000 (Hex) -0XCBFFF (Hex) as shown in Table II.
[0057]
To reprogram the ID memory 36, the CPU 12 must first read the configuration byte to know its current state. CPU 12 issues a request for a memory read for the address of the configuration byte at memory location 0X13 of ID memory 36. CPU 12 sends an I / O read (IOR bar) signal to system data bus transceiver 40 to communicate the data address and the requested command to ID memory 36 over the system data bus. The interface controller 32 controls the interface controller 32 to supply data from the system data bus 180 to the flip-flops 52 and 54 in order to supply an address, a shift selection command, and a shift clock command to the ID memory 36. An instruction is given to the state buffer 50 (FIG. 5). The ID memory 36 supplies the requested configuration byte from its data output port to the data select MUX 46, which outputs the data on the buffer system data bus 180 to the Ethernet interface module. 26. The interface control unit 32 instructs the system data bus transceiver 40 to supply data from the buffer system data bus 180 to the system data bus 106 and the CPU 12 via the AT bus 14, and further controls the system data bus transceiver 40. Disable. Thereafter, CPU 12 increments bits 5-3 of the configuration byte, thereby generating a new memory base address, and thereafter, in the manner described above, stores the new configuration in ID memory 36 at location 0X13. It commands the Ethernet interface module 26 to write the byte. In a manner similar to the reading of configuration bytes from ID memory 36 by CPU 12, the CPU writes the incremented configuration bytes to the 0X13 memory location by providing appropriate instructions to ID memory 36 over system data bus 106. To the Ethernet interface module 26.
[0058]
Referring again to FIG. 9, after the Ethernet interface module 26 has been reprogrammed with the configuration byte having the new memory base address, as shown in this figure, the Ethernet interface module 26 is placed in the first computer system. Installed (step 317), the first system is restarted by repeating step 300. This first system completes its startup routine and loads the configuration byte from the ID memory 36 into the shift register / counter 48 as described above with respect to step 302. The interface controller 32 using the decoders 66, 68 decodes its constituent bytes in step 304. If the system boots up properly in step 306, the relocation of memory locations performed in step 316 is correct and the Ethernet interface module 26 proceeds to step 307 as described above. On the other hand, if the reconfigured Ethernet interface module does not properly start up in step 306, remove the Ethernet interface module from the first system (step 310) and test the module in the second system (step 312). ) Is repeated.
[0059]
If the second system does not boot properly at step 314, the configuration bytes of that memory are reconfigured as described at step 316 (step 318). At step 314, the startup of the second system is attempted again. Alternatively, instead of reconfiguring the memory locations in step 318, the Ethernet interface module is inserted into another system (step 320), and the other system is re-launched as described above with respect to step 314. Is also possible.
[0060]
After the Ethernet interface module 26 has been reconfigured to remove any memory base address conflicts, it is determined whether there is an I / O base address conflict. Briefly stated, when the system comes up, if all memory base address conflicts have been resolved as described above, the system will be able to start from some predetermined register locations on the Ethernet interface module 26. The I / O base address is checked by reading the contents and comparing these contents to their expected values. In another embodiment, the Ethernet interface module does not include boot memory. In this embodiment, it is unnecessary to resolve the memory conflict because there is no memory on the Ethernet interface module where a conflict may occur. If the comparison shows a match, there is no I / O base address conflict. On the other hand, the system considers a conflict if the comparison does not show a match. At this time, the system performs a dummy read from a predetermined register position. In response, Ethernet interface module 26 increments its I / O base address. The system reads and compares the contents of the register location at the new address to determine again if there is a conflict. The system repeats this process until no conflicts are detected.
[0061]
Next, I / O address designation will be described with reference to FIG. 11 showing an I / O address base for the AT bus 14. This I / O address ranges from 0 (0000 Hex) to 64 K (FFFF Hex). Within this address range, each 1 K range is divided into two sub-ranges. The first subrange is the lower 256 bytes of memory and is reserved for I / O platform resources such as interrupt controllers and DMA controllers. The second subrange is the remaining high-order 768 bytes, which are available for general purpose I / O dependent modules.
[0062]
In a preferred embodiment, as described below, the Ethernet interface module 26 has an I / O address range from 0x260 (Hex) to 0x3FF (Hex) that falls within the second subrange. As described above, bits 2-0 of the configuration byte (also called I / OSEL <2: 0>) determine the I / O base address. Table III shows the I / O address decoding for the constituent bytes in the address range from 0x260 (Hex) to 0x3FF (Hex).
Figure 0003588139
[0063]
Referring now to FIG. 12, this illustrates the process of an I / O base address conflict routine. At this stage, the memory base address conflict is deemed to have been resolved as described above in FIGS. (Alternatively, in another embodiment where the Ethernet interface module does not have a boot memory, it is not necessary to resolve the memory conflict as described above.) The computer is booted and described above with respect to step 300 of FIG. The initialization routine is performed as described above (step 330). Interface controller 32 loads the configuration byte from ID memory 36 into shift register / counter 48 in a manner similar to step 302 described above with respect to FIG. 9 (step 332). At the completion of this read, shift register / counter 48 is set to counter mode by non-champer state machine 60. In this mode, only bits 2-0 of the configuration byte that determine the I / O base address of the Ethernet interface module 26 are incremented by the counter. The remaining bytes of the configuration byte are left unchanged. Interface controller 32 decodes its constituent bytes into an I / O base address, a memory base address, and an interrupt in a manner similar to that described with respect to step 304 of FIG. 9 (step 334). In addition, a "dirty bit" in a register in the Ethernet interface module 26 is allocated for monitoring the register / counter mode of the special cell. Thereafter, CPU 12 reads from memory within the initial range (step 336). More specifically, CPU 12 enters its I / O program to read the contents of eight registers of interface controller 32. Preferably, each register has 8 bytes. Reading the eight registers is provided only as an example. The invention is not limited to reading only eight registers. The expected expectation that two different add-on modules on the AT bus 14 will not have the same value stored in the register location read by the CPU 12 to determine if there is a conflict from an accidental match. The software programmer can read as many registers as needed to satisfy
[0064]
When the system power is turned on, the eight registers of the interface control device 32 have predetermined values stored as a module identifier or “company code” as part of the utility program recorded on the hard disk 16. Is set to Preferably, the module identifier uniquely identifies the module with respect to other modules on the AT bus 14. This module identifier is preferably an initial value stored in the first eight registers of the Ethernet interface module 26. After these eight registers are read by CPU 12, CPU 12 executes a software utility, which reads the module identifier from hard disk 16 and compares the identifier with the readings from the first eight registers ( Step 338). CPU 12 expects the reading to match the value of this module identifier and interprets the difference between these two values as an I / O base address conflict. When there is a match between the reading and the module identifier (step 340), the CPU 12 determines this match between the Ethernet interface module 26 and other modules on the AT bus 14 by the I / O base address. It interprets that there is no conflict and that the CPU 12 has found a unique I / O base address for the Ethernet interface module 26 (step 342).
[0065]
On the other hand, if the contents of the eight registers read by the CPU 12 differ from the expected values (step 340), the system interprets the mismatch as a conflict of the I / O base address, or The interface module 26 interprets that the CPU 12 is not at the I / O address just read. The system ignores the presence of Ethernet module 26 by ignoring the data provided on AT bus 14, but the software utility continues by attempting to read from a predetermined memory location (step 344). This predetermined memory location is preferably at address 0X12 (Hex). If the CPU 12 attempts to write to some type of storage, a read is preferred because the Ethernet interface module 26 can be physically damaged by conflicting addressing. This read is a "dummy read" because the shift register / counter 48 is set for the counter mode and the CPU 12 does not know what is actually being read. In the counter mode, each time a dummy read is performed, the shift register / counter 48 increments the value of bits 2-0 by one, thereby changing the I / O base address to that value as defined in Table III. Jump to the next address range. The initial I / O base address range is preferably set to 0X300 (Hex) to 0X31F (Hex) defined by bits 2-0 of the configuration byte having the value 111. As the counter is incremented by reading from memory location 0X12, bits 2-0 of the configuration byte change to a value of 000 corresponding to the new address range of 0X260 (Hex) to 0X27F (Hex). The utility program reads the interface controller 32 for an appropriate module identifier each time the shift register / counter counts up to the next base I / O address. This allows the Ethernet interface module 26 to dynamically reconfigure itself to a conflict-free I / O base address. However, after the seventh increment, bits 2-0 return to value 111. After the eighth memory read, either no Ethernet interface module 26 is present in the system, or all I / O base addresses are unavailable. CPU 12 determines whether the module position is within the range of the memory being read (step 346). If the module location is not within the memory range, the value of the configuration byte is not incremented (or counted) and the system increments the I / O base address (step 353) and resets the register at the incremented address. Read (step 348) and loop back to step 338 to compare the reading to the expected value. If no match is obtained at step 340, CPU 12 loops back to step 344. When a match is obtained, the CPU 12 loops back to step 342. The CPU 12 sends a write command to a predetermined address, and the interface control device 32 sets the shift register / counter 48 to the count mode, switches to the user mode, and if necessary, the user To access the ID memory.
[0066]
On the other hand, if the address of the Ethernet interface module is within the range of the memory read in step 346, CPU 12 determines whether it is the last increment of the range (step 350). If so, either the I / O base address range slots are all unusable or the Ethernet interface module 26 is not installed in the system (step 354). On the other hand, if the memory read is not the last memory increment of the memory range, controller chip 32 increases the I / O base address of Ethernet interface module 26 by incrementing bits 2-0 of shift register / counter 48. Increment (step 352). The CPU increments the I / O base address (step 353), and then reads from the eight registers at the incremented I / O base address (step 348). CPU 12 loops back at step 338 to compare the reading with the expected value.
[0067]
Software function inhibition is provided to prevent accidental writing to address 0X12 from accidentally changing configuration bytes in shift register / counter 48. By setting the I / O base unlock bit in the data link register to 0, the shift register / counter 48 is disabled until a system hardware reset is issued again. . This reset instruction sets the unlock bit to one, allowing the Ethernet interface module 26 to dynamically reconfigure itself to a non-conflicting I / O base address.
[0068]
When the I / O address conflict is resolved, the software can continue with the initialization routine. The Ethernet interface module 26 resets the shift register / counter 48 to register mode by setting / resetting a so-called "dirty bit". Immediately thereafter, the utility program can read a new configuration byte from the shift register / counter 48 and reprogram the configuration byte stored in the ID memory 36 with the new base address.
[0069]
Now, an interrupt after the completion of the I / O address program will be described. As mentioned above, bits 7-6 are used only for interrupt line configuration. The interrupt signal enables the expansion card to request the interrupt service by the CPU 12. These bits are programmable to select any one of the four interrupt lines available on the host interface side of the Ethernet interface module 26. The user has the option to connect the interrupt line to any set of four system interrupt lines (interrupts 0-3) available to the system user. The utility tests the interrupt configuration and, if there is a conflict, reprograms the ID memory 36 with the next available interrupt option, restarts the system, and retests the configuration.
[0070]
Table IV below is a list of interrupt bit definitions.
Figure 0003588139
[0071]
After the ID memory 36 has been reprogrammed to resolve memory base address conflicts, I / O base address conflicts, and interrupt conflicts, no further reprogramming of the configuration bytes is required. No conflict will occur when the computer 10 thus configured is subsequently used.
[0072]
While the invention has been described and a preferred embodiment thereof has been described, it is anticipated that other modifications and applications will occur to those skilled in the art. It is therefore intended that the invention be limited only by the claims herein.
[0073]
【The invention's effect】
As described above, according to the present invention, the memory address and the I / O address of the extension module can be changed without a jumper, and the steps in the change can be automated, and the number of steps can be reduced. .
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing a computer according to the principle of the present invention.
FIG. 2 is a functional block diagram of an Ethernet interface module for the computer shown in FIG.
FIG. 3 is a functional block diagram of the interface control device shown in FIG. 2;
FIG. 4 is a functional block diagram of a particular embodiment of an Ethernet interface module for the computer shown in FIG.
FIG. 5 is a functional block diagram of an address decoding circuit and a constituent byte processing circuit of the interface control device shown in FIG. 4;
FIG. 6 is a schematic diagram of a control logic circuit for controlling data provided to a buffer system data bus by a data selection MUX.
FIG. 7 is a schematic diagram of control logic for controlling a bidirectional tristate buffer.
FIG. 8 is a schematic diagram of an ID memory MUX control circuit shown in FIG. 5;
FIG. 9 is a flowchart of reading configuration bytes from the ID memory to the shift register / counter and resolving conflicts in the boot memory at system power-up or at other times when the System Hardware Reset command is issued.
FIG. 10 is a map of a memory base address for an AT bus.
FIG. 11 is a map of an I / D base address for an AT bus.
FIG. 12 is a flowchart illustrating a procedure used when reconfiguring an I / O base address of the Ethernet interface module illustrated in FIG. 4;
[Explanation of symbols]
10 ... Computer
12 Central processing unit module
14 ... AT bus
16 ... Hard disk
18. Floppy disk
20: random access memory
22 ... Keyboard interface module
26 ... Ethernet interface (I / F) module
27 ... Ethernet network
32 ... Interface control device

Claims (21)

アドレス指定可能インタフェースモジュールのためのインタフェース制御装置であって、前記インタフェースモジュールが、他のアドレス指定可能インタフェースモジュールと共に通信バスを介して中央処理装置に結合されるように適合させられ、前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュールに固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって与えられる書込み命令と、に応答するように適合させられており、
前記インタフェース制御装置が、
対応する前記インタフェースモジュールがそれに応答しなければならない固有の構成基底アドレスを決定するための、記憶された構成基底アドレスと、
対応する前記インタフェースモジュールによる応答のための前記固有の構成基底アドレスの決定時に、対応する前記インタフェースモジュールによる使用のための変更された構成基底アドレスを含む前記構成基底アドレスを復号するための復号器と、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記記憶された構成基底アドレスが他のインタフェースモジュールのいずれかのための固有の構成基底アドレスと同一であると判断た時に、前記記憶された構成基底アドレスを自動的に変更するための変更手段と、を含み、
前記変更手段が、前記記憶された構成基底アドレスを異なった構成基底アドレスに変更するために、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令とに対して応答する手段、を含み、
前記インタフェース制御装置が、前記変更手段が前記構成基底アドレスを変更することを選択的にイネーブル又はディスエーブルにするためのモードセレクタと、前記変更手段がディスエーブルにされる時にその対応する前記インタフェースモジュールによる使用のための前記固有の構成基底アドレスを選択するためのジャンパ制御装置と、を含む、
インタフェース制御装置。
An interface controller for an addressable interface module, wherein said interface module is adapted to be coupled to a central processing unit via a communication bus with other addressable interface modules, the interface module comprising: A configuration base address unique to the interface module provided on the communication bus by the central processing unit, and a configuration base address on the communication bus by the central processing unit for reading data from the interface module to the communication bus. Or a write command provided by the central processing unit for writing data from the communication bus to the interface module.
The interface control device,
A stored configuration base address for determining a unique configuration base address to which the corresponding interface module must respond;
A decoder for decoding the configuration base address including a modified configuration base address for use by the corresponding interface module upon determining the unique configuration base address for a response by the corresponding interface module; ,
The central processing unit compares the value read from the interface module with a module identifier stored in a hard disk, and as a result of the comparison, based on the fact that the read value and the module identifier do not match, Changing means for automatically changing the stored configuration base address when it is determined that the stored configuration base address is the same as the unique configuration base address for any of the other interface modules. , Including
Means for responding to the configuration base address and the read command provided on the communication bus by the central processing unit to change the stored configuration base address to a different configuration base address. , Including
A mode selector for selectively enabling or disabling the changing means to change the configuration base address, the interface controller corresponding to the interface module when the changing means is disabled; A jumper controller for selecting said unique configuration base address for use by
Interface control unit.
前記インタフェース制御装置が単一の集積回路チップから構成される、請求項1に記載のインタフェース制御装置。2. The interface control device according to claim 1, wherein the interface control device comprises a single integrated circuit chip. 前記変更手段が、前記構成基底アドレスによって表される値を増分調節するためのカウンタを含む、請求項1に記載のインタフェース制御装置。2. The interface control device according to claim 1, wherein said changing means includes a counter for incrementally adjusting a value represented by said configuration base address. 前記インタフェース制御装置が、前記構成基底アドレスを最初に記憶するためのメモリを有し、前記カウンタが、増分調節の前に前記メモリから前記構成基底アドレスを受け取るために結合される、請求項3に記載のインタフェース制御装置。4. The method of claim 3, wherein the interface controller has a memory for initially storing the configuration base address, and wherein the counter is coupled to receive the configuration base address from the memory before incrementing. An interface controller as described. 前記メモリからの前記構成基底アドレスの読取りと、前記カウンタ内への前記構成基底アドレスに対応する信号のローディングと、を制御するための状態機械を有する、請求項4に記載のインタフェース制御装置。5. The interface controller of claim 4, further comprising a state machine for controlling reading of the configuration base address from the memory and loading a signal corresponding to the configuration base address into the counter. 前記記憶された構成基底アドレスが第1の基底アドレスと第2の基底アドレスとを含み、前記第1の基底アドレスが、変更される基底アドレスであり、前記第2のアドレスが、メモリアドレス空間用の基底アドレスであり、前記復号器が、前記インタフェース制御装置に対して別々の基底アドレスを与えるために前記第1の基底アドレスと前記第2の基底アドレスとの両方を復号するための手段を含む、請求項1に記載のインタフェース制御装置。The stored configuration base address includes a first base address and a second base address, wherein the first base address is a base address to be changed, and the second address is a memory address space. Wherein the decoder includes means for decoding both the first base address and the second base address to provide separate base addresses for the interface controller. The interface control device according to claim 1. 他のアドレス指定可能インタフェースモジュールと中央処理装置と共に通信ネットワークと通信バスとの間を結合するための、自動再構成可能なアドレス指定可能インタフェースモジュールであって、前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュールに固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって前記通信バス上に与えられる書込み命令と、に応答するように適合させられており、
前記自動再構成可能インタフェースモジュールが、
前記自動再構成可能インタフェースモジュールに固有の識別子データを記憶するためのメモリと、
前記自動再構成可能インタフェースモジュールがそれに対して応答しなければならない固有の構成基底アドレスを決定するための、構成基底アドレスを記憶するためのレジスタと、
前記レジスタに記憶された構成基底アドレスを異なった構成基底アドレスに変更するための、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令の1つとに応答する手段と、
前記自動再構成可能インタフェースモジュールによる応答のための前記固有の構成基底アドレスの決定時における前記インタフェースモジュールによる使用のために、前記手段によって変更された構成基底アドレスを復号するための復号器と、を含み、
前記自動再構成可能インタフェースモジュールが、前記中央処理装置による期待データとの比較のために前記通信バスに前記メモリから前記固有の識別子データを読み出すために、前記通信バス上の前記読取り命令の1つに応答し、
前記自動再構成可能インタフェースモジュールが、更に、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記記憶された構成基底アドレスが他のインタフェースモジュールのいずれかのための固有の構成基底アドレスと同一であると判断た時に、前記記憶された構成基底アドレスを自動的に変更するための変更手段と、
前記変更手段が前記構成基底アドレスを変更することを選択的にイネーブル又はディスエーブルにするためのモードセレクタと、前記変更手段がディスエーブルにされる時にその対応する前記インタフェースモジュールによる使用のための前記固有の構成基底アドレスを選択するためのジャンパ制御装置と、を含む、
自動再構成可能インタフェースモジュール。
An auto-reconfigurable addressable interface module for coupling between a communication network and a communication bus with other addressable interface modules and a central processing unit, wherein each of the interface modules comprises the central processing unit. A configuration base address unique to the interface module provided on the communication bus by a device, and a read command provided on the communication bus by the central processing unit for reading data from the interface module to the communication bus; Or a write command provided on the communication bus by the central processing unit for writing data from the communication bus to the interface module;
The automatic reconfigurable interface module comprises:
A memory for storing identifier data unique to the auto-reconfigurable interface module;
A register for storing a configuration base address for determining a unique configuration base address to which the auto-reconfigurable interface module has to respond;
Means for responding to the configuration base address provided on the communication bus by the central processing unit and one of the read instructions for changing the configuration base address stored in the register to a different configuration base address;
A decoder for decoding the configuration base address modified by said means for use by said interface module in determining said unique configuration base address for response by said auto-reconfigurable interface module. Including
One of the read instructions on the communication bus for the automatic reconfigurable interface module to read the unique identifier data from the memory to the communication bus for comparison with expected data by the central processing unit. Responds to
The automatic reconfigurable interface module further comprises:
The central processing unit compares the value read from the interface module with a module identifier stored in a hard disk, and as a result of the comparison, based on the fact that the read value and the module identifier do not match, Changing means for automatically changing the stored configuration base address when it is determined that the stored configuration base address is the same as the unique configuration base address for any of the other interface modules. ,
A mode selector for selectively enabling or disabling the changing means to change the configuration base address; and a mode selector for use by the corresponding interface module when the changing means is disabled. A jumper controller for selecting a unique configuration base address.
Automatically reconfigurable interface module.
前記自動再構成可能インタフェースモジュールが、前記通信バス上を送られるデータのための追加のメモリも有し、前記レジスタが、前記追加のメモリのための追加の基底アドレスを記憶し、前記復号器が、前記追加のメモリをアドレス指定するために、別々の基底アドレスの形に前記追加の基底アドレスを復号するための手段も含む、請求項7に記載の自動再構成可能インタフェースモジュール。The auto-reconfigurable interface module also has an additional memory for data sent on the communication bus, the register stores an additional base address for the additional memory, and the decoder 8. The automatic reconfigurable interface module according to claim 7, further comprising means for decoding said additional base address in the form of a separate base address to address said additional memory. 前記自動再構成可能インタフェースモジュールが、前記通信バスと前記通信ネットワークとの間のインタフェースを与えるように適合させられている、請求項7に記載の自動再構成可能インタフェースモジュール。The auto-reconfigurable interface module according to claim 7, wherein the auto-reconfigurable interface module is adapted to provide an interface between the communication bus and the communication network. 前記自動再構成可能インタフェースモジュールが、ローカルエリアネットワークにインタフェースするように適合させられている、請求項9に記載の自動再構成可能インタフェースモジュール。The auto-reconfigurable interface module according to claim 9, wherein the auto-reconfigurable interface module is adapted to interface with a local area network. 前記自動再構成可能インタフェースモジュールが、イーサネットネットワークにインタフェースするように適合させられている、請求項10に記載の自動再構成可能インタフェースモジュール。The auto-reconfigurable interface module according to claim 10, wherein the auto-reconfigurable interface module is adapted to interface with an Ethernet network. 前記自動再構成可能インタフェースモジュールが、AT通信バスに結合するように適合させられている、請求項7に記載の自動再構成可能インタフェースモジュール。The auto-reconfigurable interface module according to claim 7, wherein the auto-reconfigurable interface module is adapted to couple to an AT communication bus. 前記通信バスとの通信を制御するための、前記通信バスに結合されたシステムインタフェースと、
前記自動再構成可能インタフェースモジュールと前記通信バス又は前記通信ネットワークとの間で通信されるデータを記憶するためのバッファメモリと、
前記バッファメモリからのデータ転送を制御するためのバッファ制御装置と、
前記バッファ制御装置からの命令に応答して前記通信ネットワークへのデータを処理及び供給するための送信回路と、
前記通信ネットワークからのデータを受信して処理するための受信回路と、
を更に含む、請求項7に記載の自動再構成可能インタフェースモジュール。
A system interface coupled to the communication bus for controlling communication with the communication bus;
A buffer memory for storing data communicated between the auto-reconfigurable interface module and the communication bus or the communication network;
A buffer control device for controlling data transfer from the buffer memory;
A transmission circuit for processing and supplying data to the communication network in response to a command from the buffer control device;
A receiving circuit for receiving and processing data from the communication network;
The auto-reconfigurable interface module according to claim 7, further comprising:
通信バスと、前記通信バスに各々に結合された複数のアドレス指定可能インタフェースモジュールと、前記通信バスに結合された中央処理装置と、を含むマイクロプロセッサシステムであって、
前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュール各々に固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって与えられる書込み命令と、に応答するように適合させられ、前記インタフェースモジュールの少なくとも1つが、自動再構成可能インタフェースモジュールを含み、
前記自動再構成可能インタフェースモジュールが、
前記自動再構成可能インタフェースモジュールに固有の識別子データを記憶するためのメモリと、
前記自動再構成可能インタフェースモジュールがそれに対して応答しなければならない固有の構成基底アドレスを決定するための、構成基底アドレスを記憶するためのレジスタと、
前記レジスタに記憶された構成基底アドレスを異なった構成基底アドレスに変更するための、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令の1つとに応答する手段と、
前記自動再構成可能インタフェースモジュールによる応答のための前記固有の構成基底アドレスの決定時における前記自動再構成可能インタフェースモジュールによる使用のために、前記手段によって変更された構成基底アドレスを復号するための復号器と、を含み、
前記自動再構成可能インタフェースモジュールが、前記中央処理装置による期待データとの比較のために前記通信バスに前記メモリから前記固有の識別子データを読み出すために、前記通信バス上の前記読取り命令に応答し、
前記自動再構成可能インタフェースモジュールが、更に、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記記憶された構成基底アドレスが他のインタフェースモジュールのいずれかのための固有の構成基底アドレスと同一であると判断た時に、前記記憶された構成基底アドレスを自動的に変更するための変更手段と、
前記変更手段が前記構成基底アドレスを変更することを選択的にイネーブル又はディスエーブルにするためのモードセレクタと、前記変更手段がディスエーブルにされる時にその対応する前記インタフェースモジュールによる使用のための前記固有の構成基底アドレスを選択するためのジャンパ制御装置と、を含む、
マイクロプロセッサシステム。
A microprocessor system comprising: a communication bus; a plurality of addressable interface modules each coupled to the communication bus; and a central processing unit coupled to the communication bus.
A central processing unit for each of the interface modules to provide a configuration base address unique to each of the interface modules provided on the communication bus by the central processing unit, and to read data from the interface module to the communication bus; And a read command provided on the communication bus by the central processing unit for writing data from the communication bus to the interface module. At least one of the modules includes an auto-reconfigurable interface module;
The automatic reconfigurable interface module comprises:
A memory for storing identifier data unique to the auto-reconfigurable interface module;
A register for storing a configuration base address for determining a unique configuration base address to which the auto-reconfigurable interface module has to respond;
Means for responding to the configuration base address provided on the communication bus by the central processing unit and one of the read instructions for changing the configuration base address stored in the register to a different configuration base address;
Decoding for decoding the configuration base address modified by the means for use by the auto-reconfigurable interface module in determining the unique configuration base address for a response by the auto-reconfigurable interface module; And a vessel,
The auto-reconfigurable interface module is responsive to the read command on the communication bus to read the unique identifier data from the memory to the communication bus for comparison with expected data by the central processing unit. ,
The automatic reconfigurable interface module further comprises:
The central processing unit compares the value read from the interface module with a module identifier stored in a hard disk, and as a result of the comparison, based on the fact that the read value and the module identifier do not match, Changing means for automatically changing the stored configuration base address when it is determined that the stored configuration base address is the same as the unique configuration base address for any of the other interface modules. ,
A mode selector for selectively enabling or disabling the changing means to change the configuration base address; and a mode selector for use by the corresponding interface module when the changing means is disabled. A jumper controller for selecting a unique configuration base address.
Microprocessor system.
前記自動再構成可能インタフェースモジュールが、
前記中央処理装置と前記自動再構成可能インタフェースモジュールとの間で前記通信バス上にデータを通過させるために結合されたデータバスと、
前記中央処理装置から前記自動再構成可能インタフェースモジュールへ前記通信バス上にアドレス信号を通過させるために結合されたアドレスバスと、
を含む、請求項14に記載のマイクロプロセッサシステム。
The automatic reconfigurable interface module comprises:
A data bus coupled to pass data over the communication bus between the central processing unit and the auto-reconfigurable interface module;
An address bus coupled to pass address signals on the communication bus from the central processing unit to the auto-reconfigurable interface module;
The microprocessor system according to claim 14, comprising:
前記自動再構成可能インタフェースモジュールが、前記通信バス上を通過させられるデータのための追加のメモリを含み、前記レジスタが、前記追加メモリのメモリ空間のための基底を設定するための追加の基底アドレスを記憶し、前記復号器が更に、前記追加メモリをアドレス指定するために別の基底アドレスの形に前記追加の基底アドレスを復号するように適合させられている、請求項14に記載のマイクロプロセッサシステム。The automatic reconfigurable interface module includes an additional memory for data passed over the communication bus, and the register has an additional base address for setting a base for a memory space of the additional memory. 15. The microprocessor of claim 14, wherein the decoder is further adapted to decode the additional base address into another base address to address the additional memory. system. インタフェース制御装置を有するアドレス指定可能インタフェースモジュールのための固有の構成基底アドレスを自動的に発生させるための方法であって、前記アドレス指定可能インタフェースモジュールが、他のアドレス指定可能インタフェースモジュールと共に通信バスを介して中央処理装置に結合されるように適合させられており、前記インタフェースモジュールの各々が、前記中央処理装置によって前記通信バス上に与えられる前記インタフェースモジュールに固有の構成基底アドレスと、前記インタフェースモジュールから前記通信バスへのデータ読取りのための、前記中央処理装置によって前記通信バス上に与えられる読取り命令、又は、前記通信バスから前記インタフェースモジュールへのデータ書込みのための、前記中央処理装置によって与えられる書込み命令と、に応答するように適合させられており、前記方法が、
前記インタフェース制御装置内に構成基底アドレスを記憶する段階と、
前記中央処理装置が、前記インタフェースモジュールから読取った値とハードディスクに記憶されているモジュール識別子とを比較し、該比較の結果、前記読取った値と前記モジュール識別子とが不一致であることに基づき、前記インタフェース制御装置を有する前記インタフェースモジュールのための前記固有の構成基底アドレスが他のインタフェースモジュールの構成基底アドレスと同一であると判断た時に、前記中央処理装置によって前記通信バス上に与えられる構成基底アドレスと前記読取り命令の1つとに応答して、前記段階で記憶された構成基底アドレスを異なった構成基底アドレスに変更する段階と、
前記インタフェースモジュールによる応答のために前記固有の構成基底アドレスを決定する際に、前記インタフェース制御装置を有する前記インタフェースモジュールによる使用のために、該変更された構成基底アドレスを復号する段階と、を含み、
前記インタフェースモジュールが、モード制御装置と無ジャンパ制御装置とを含む前記インタフェース制御装置を有し、前記方法が更に、
前記モード制御装置の制御を受けて、前記構成基底アドレスの変更を選択的にイネーブル又はディスエーブルにする段階と、
前記変更がディスエーブルにされる時に、前記ジャンパ制御装置の制御を受けて、前記固有の構成基底アドレスを選択する段階と、
を含む方法。
A method for automatically generating a unique configuration base address for an addressable interface module having an interface controller, said addressable interface module including a communication bus with other addressable interface modules. Each of the interface modules is configured to be coupled to the central processing unit via a central processing unit, the configuration base address being unique to the interface module provided on the communication bus by the central processing unit, and the interface module. A read command provided on the communication bus by the central processing unit for reading data from the communication bus to the communication bus, or the central processing unit for writing data from the communication bus to the interface module. A write command given by the apparatus, and is adapted to respond to said method,
Storing a configuration base address in the interface controller;
The central processing unit compares the value read from the interface module with a module identifier stored in a hard disk, and as a result of the comparison, based on the fact that the read value and the module identifier do not match, A configuration base provided on the communication bus by the central processing unit when it determines that the unique configuration base address for the interface module having the interface controller is the same as the configuration base address of the other interface module. Changing the configuration base address stored in the step to a different configuration base address in response to the address and one of the read instructions;
Decoding the modified configuration base address for use by the interface module having the interface controller in determining the unique configuration base address for a response by the interface module. ,
The interface module includes the interface controller including a mode controller and a jumperless controller, and the method further includes:
Selectively enabling or disabling the change of the configuration base address under the control of the mode control device;
Selecting the unique configuration base address under the control of the jumper controller when the change is disabled;
A method that includes
前記記憶された構成基底アドレスを変更する前記段階が更に、前記構成基底アドレスによって表される値をカウンタ内で増分調節する増分調節段階も含む、請求項17に記載の方法。18. The method of claim 17, wherein the step of changing the stored configuration base address further comprises an increment adjustment step of incrementing a value represented by the configuration base address in a counter. 前記インタフェース制御装置がメモリを有し、前記方法が、
前記メモリ内に前記構成基底アドレスを最初に格納する段階と、
前記増分調節段階の前に前記メモリからの前記構成基底アドレスを前記カウンタ内に受け取る段階と、
を更に含む、請求項18に記載の方法。
The interface controller has a memory, and the method comprises:
First storing the configuration base address in the memory;
Receiving the configuration base address from the memory into the counter prior to the incrementing step;
19. The method of claim 18, further comprising:
前記インタフェース制御装置を有する前記インタフェース制御装置が状態機械を含み、前記方法が更に、前記カウンタが前記増分調節を行う時に、前記構成基底アドレスに対応する信号を前記カウンタに与えることによって、前記メモリからの前記構成基底アドレスの読取りを制御するために前記状態機械を使用する制御段階も含む、請求項19に記載の方法。The interface controller having the interface controller includes a state machine, and the method further comprises providing a signal corresponding to the configuration base address to the counter when the counter performs the incremental adjustment, from the memory. 20. The method of claim 19, further comprising the step of using the state machine to control reading of the configuration base address of the device. 前記記憶された構成基底アドレスが、第1の基底アドレスと第2の基底アドレスとを含み、前記第1の基底アドレスが、変更される基底アドレスであり、前記方法が更に、別の基底アドレスを与えるために前記第1の基底アドレスと前記第2の基底アドレスとを両方とも復号する段階も含む、請求項17に記載の方法。The stored configuration base address includes a first base address and a second base address, the first base address is a base address to be changed, and the method further comprises: The method of claim 17, further comprising decoding both the first base address and the second base address to provide.
JP06815794A 1993-03-12 1994-03-14 Interface control device Expired - Fee Related JP3588139B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3118093A 1993-03-12 1993-03-12
US11951193A 1993-09-10 1993-09-10
US031180 1993-09-10
US119511 1993-09-10

Publications (2)

Publication Number Publication Date
JPH076120A JPH076120A (en) 1995-01-10
JP3588139B2 true JP3588139B2 (en) 2004-11-10

Family

ID=26706922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06815794A Expired - Fee Related JP3588139B2 (en) 1993-03-12 1994-03-14 Interface control device

Country Status (2)

Country Link
JP (1) JP3588139B2 (en)
KR (1) KR100276496B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016098027A (en) * 2014-11-25 2016-05-30 富士フイルム株式会社 Wrap around case

Also Published As

Publication number Publication date
KR940022289A (en) 1994-10-20
JPH076120A (en) 1995-01-10
KR100276496B1 (en) 2000-12-15

Similar Documents

Publication Publication Date Title
US5491804A (en) Method and apparatus for automatic initialization of pluggable option cards
CA1335843C (en) Programmable option select
KR100264632B1 (en) Add-in board with programmable configuration registers for pci bus computers
KR100262677B1 (en) ADD-IN Board With Enable/Disable Expansion ROM for PCI BUS Computer
US5628027A (en) Method of determining the configuration of devices installed on a computer bus
EP0992000B1 (en) Bus interface system and method
EP0698240B1 (en) Apparatus and method for automatic recognition and configuration of a peripheral device
US5446869A (en) Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card
US5729767A (en) System and method for accessing peripheral devices on a non-functional controller
US5586268A (en) Multiple peripheral adapter device driver architecture
US7890690B2 (en) System and method for dual-ported flash memory
WO1994019750A1 (en) System and method for computer interface board identification
US5590374A (en) Method and apparatus for employing a dummy read command to automatically assign a unique memory address to an interface card
US6748515B1 (en) Programmable vendor identification circuitry and associated method
CA2092631C (en) Physical partitioning of logically continuous bus
CN114020681B (en) Method, device and system for distributing logical drive letter, electronic equipment and storage medium
US5537663A (en) System for determining configuration of devices installed on a computer bus by comparing response time of data lines to read from I/O address when undriven
US20030023793A1 (en) Method and apparatus for in-system programming through a common connection point of programmable logic devices on multiple circuit boards of a system
US6128718A (en) Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size
EP0104545A2 (en) Input and output port control unit
JP3588139B2 (en) Interface control device
CN101189577A (en) Access configuration registers by automatically changing index
US20090119420A1 (en) Apparatus and method for scaleable expanders in systems management
JP3305474B2 (en) Activation device for information processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040812

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080820

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090820

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100820

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees