(57)【特許請求の範囲】
【請求項１】
ホストプロセッサによって直接アクセス可能であるレジスタを有するデータ処理システムにおけるレジスタブロックのレジスタへホストプロセッサがアクセスするための方法であって、
レジスタブロックにおいて、
ホストプロセッサによって読出されねばならないレジスタを第１のグループにグルーピングするステップと、
ホストプロセッサによって書込まれねばならないレジスタを第２のグループにグルーピングするステップと、
ホストプロセッサによって読出しおよび書込みの両方が行なわれねばならないレジスタを第３のグループにグルーピングするステップと、
第１のグループにおけるレジスタにアドレス範囲の第１の末端に対応する連続アドレスを割当てるステップと、
第２のグループにおけるレジスタに、アドレス範囲の第１の末端に対して反対側の第２の末端に対応する連続アドレスを割当てるステップと、
第３のグループにおけるレジスタに、第１のグループのアドレスと第２のグループのアドレスとの間の連続アドレスを割当てるステップと、
ホストプロセッサにおいて、
第１のグループにおけるレジスタに単一のバースト読出転送でアクセスするステップと、
第２のグループにおけるレジスタに単一のバースト書込転送でアクセスするステップと、
第１および第３のグループにおけるレジスタに単一のバースト読出転送でアクセスするステップと、
第２および第３のグループにおけるレジスタに単一のバースト書込転送でアクセスするステップとを含む、方法。
【請求項２】
データ処理システムであって、
ホストプロセッサと、
ホストプロセッサによってアクセス可能である多数のレジスタを含むレジスタブロックとを含み、レジスタブロックは、
ホストプロセッサによって読出されねばならないレジスタをグルーピングした第１のレジスタグループと、
ホストプロセッサによって書込まれねばならないレジスタをグルーピングした第２のレジスタグループとを含み、
レジスタブロックは、ホストプロセッサが第１のレジスタグループにおけるレジスタに単一のバースト読出転送でアクセスすることを可能にするよう構成され、
レジスタブロックは、ホストプロセッサが第２のレジスタグループにおけるレジスタに単一のバースト書込転送でアクセスすることを可能にするよう構成され、
レジスタブロックは、ホストプロセッサによって読出しおよび書込みの両方が行なわれねばならないレジスタをグルーピングした第３のレジスタグループを含み、レジスタブロックは、ホストプロセッサが第１および第３のレジスタグループにおけるレジスタに単一のバースト読出転送でアクセスし、かつ第２および第３のレジスタグループにおけるレジスタに単一のバースト書込転送でアクセスすることを可能にするよう構成される、データ処理システム。
【請求項３】
第３のレジスタグループにおけるレジスタは、第１のレジスタグループのアドレスと第２のレジスタグループのアドレスとの間の連続アドレスを割当てられる、請求項２に記載のデータ処理システム。
【請求項４】
ホストプロセッサのレジスタブロックへのアクセスを提供するＰＣＩインターフェイスをさらに含む、請求項３に記載のデータ処理システム。
【請求項５】
レジスタブロックは、ホストプロセッサが単一のＰＣＩバースト読出トランザクションで第１のレジスタグループのレジスタにアクセスすることを可能にするよう構成される、請求項４に記載のデータ処理システム。
【請求項６】
レジスタブロックは、ホストプロセッサが単一のＰＣＩバースト書込トランザクションで第２のレジスタグループのレジスタにアクセスすることを可能にするよう構成される、請求項４に記載のデータ処理システム。
【請求項７】
レジスタブロックは、ホストプロセッサが単一のＰＣＩバースト読出トランザクションで第１および第３のレジスタグループのレジスタにアクセスすることを可能にするよう構成される、請求項４に記載のデータ処理システム。
【請求項８】
レジスタブロックは、ホストプロセッサが単一のＰＣＩバースト書込トランザクションで第２および第３のレジスタグループのレジスタにアクセスすることを可能にするよう構成される、請求項４に記載のデータ処理システム。
【請求項９】
第１のレジスタグループは、ホストプロセッサによる読出アクセスのみを必要とするレジスタを含み、第２のレジスタグループは、ホストプロセッサによる書込アクセスのみを必要とするレジスタを含み、第３のレジスタグループは、ホストプロセッサによる読出および書込アクセスの両方を必要とするレジスタを含む、請求項２に記載のデータ処理システム。
【請求項１０】
ホストにＰＣＩインターフェイスを介してレジスタブロックのレジスタへアクセスさせる方法であって、
レジスタブロックにおいて、
ホストによってアクセスされねばならないレジスタをグループにグルーピングするステップを含み、
グルーピングするステップは、
ホストによって読出されねばならないレジスタを第１のグループにグルーピングするステップと、
ホストによって書込まれねばならないレジスタを第２のグループにグルーピングするステップと、
ホストによって読出しおよび書込みの両方が行なわれねばならないレジスタを第３のグループにグルーピングするステップとを含み、
方法は、
ホストにおいて、
単一のＰＣＩバーストトランザクションを用いて、グループのすべてのレジスタにアクセスを行なうステップをさらに含み、
アクセスを行なうステップは、
単一のＰＣＩバースト読出トランザクションを用いて、第１のグループのすべてのレジスタにアクセスを行ない、かつ単一のＰＣＩバースト書込トランザクションを用いて、第２のグループのすべてのレジスタにアクセスを行なうステップと、
単一のＰＣＩバースト読出トランザクションを用いて、第１および第３のグループのすべてのレジスタにアクセスを行なうステップとをさらに含む、方法。
【請求項１１】
ホストにおいて、単一のＰＣＩバースト書込トランザクションを用いて、第２および第３のグループのすべてのレジスタにアクセスを行なうステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
レジスタブロックにおいて、ホストに、単一のＰＣＩバースト読出トランザクションで、第１および第３のグループのレジスタへの読出アクセスを許可するステップと、
その後に、ホストに、単一のＰＣＩバースト書込トランザクションで、第３のグループのレジスタへの書込アクセスを許可するステップとをさらに含む、請求項１１に記載の方法。
【請求項１３】
ホストは、単一のＰＣＩバースト書込トランザクションで、第２および第３のグループのレジスタへの書込アクセスを許可される、請求項１２に記載の方法。
【請求項１４】
第１のグループはホストプロセッサによる読出アクセスのみを必要とするレジスタを含み、第２のグループはホストプロセッサによる書込アクセスのみを必要とするレジスタを含み、第３のグループはホストプロセッサによる読出および書込アクセスの両方を必要とするレジスタを含む、請求項１０に記載の方法。
【発明の詳細な説明】
【０００１】
発明の分野
この発明はデータ処理に関し、より特定的には、レジスタへの最適なアクセスが得られるようレジスタを構成することに関する。
【０００２】
背景技術
ＣＰＵとメモリサブシステムとを含むコンピュータシステムにおいて、ネットワークコントローラはＰＣＩバスを介してＣＰＵおよびメモリと通信する。特定的には、ＣＰＵはさまざまな制御およびステータスビットを、ネットワークコントローラ内の多数のレジスタに書込みかつこれらから読出して、フレーム送信および受信を開始および完了させて、ネットワークコントローラのステータスを確認し、かつその機能を制御する。
【０００３】
ネットワークコントローラ内のレジスタへのＰＣＩバスを介した直接アクセスは、ＣＰＵの動作を実質的に遅延させる。したがって、そのようなアクセスのＣＰＵ性能への影響を減じるようレジスタを構成することが望ましい。
【０００４】
発明の開示
この発明は、ホストプロセッサのレジスタへのアクセスを最適化するための、データ処理システムにおけるレジスタ構成の新規な方法を提案する。ホストプロセッサによってデータの読出しのためにのみ頻繁にアクセスされるレジスタは、第１のグループに組み合わされ得る。このグループのレジスタは、レジスタアドレスの第１の末端に対応する連続アドレスを割当てられる。ホストプロセッサによってデータの書込みのためにのみ頻繁にアクセスされるレジスタは、第２のグループに組み合わされ得る。このグループのレジスタには、レジスタアドレス範囲の第１の末端に対して反対側である第２の末端に対応する連続アドレスが割当てられる。
【０００５】
さらに、ホストコンピュータによって読出しおよび書込みの両方のために頻繁にアクセスされねばならないレジスタは、第３のグループに組み合わされ得る。第３のグループのレジスタは、第１のグループのアドレスと第２のグループのアドレスの間の連続アドレスを割当てられる。
【０００６】
この発明の１つの局面にしたがうと、データ処理システムは、ホストプロセッサと、ホストプロセッサがアクセス可能である多数のレジスタを含むレジスタブロックとを含む。レジスタブロックは、ホストプロセッサによって頻繁に読出されねばならないレジスタを組合せた第１のレジスタグループと、ホストプロセッサによって頻繁に書込まれねばならないレジスタを組合せた第２のレジスタグループとを含む。レジスタブロックはまた、ホストプロセッサによって頻繁に読出しおよび書込みの両方が行なわれなければならないレジスタを組合せた第３のレジスタグループをも含む。
【０００７】
たとえば、第１のレジスタグループは、システムの通常の動作の間にホストプロセッサによる読出アクセスしか必要としないレジスタを含み得、第２のレジスタグループはシステムの通常の動作の間にホストプロセッサによる書込アクセスしか必要としないレジスタを含み得、第３のレジスタグループはホストプロセッサによる読出および書込アクセスの両方を必要とするレジスタを含み得る。
【０００８】
この発明の別の局面によると、ホストプロセッサはＰＣＩインターフェイスを介してレジスタブロックにアクセスし得る。レジスタブロック内のレジスタの構成は、ホストコンピュータが単一のＰＣＩバースト読出トランザクションで第１のレジスタグループにアクセスし、かつ単一のＰＣＩバースト書込トランザクションで第２のレジスタグループにアクセスすることを可能にする。
【０００９】
さらに、この発明はホストコンピュータが単一のＰＣＩバースト読出トランザクションで第１および第３のレジスタグループにアクセスし、かつ単一のＰＣＩバースト書込トランザクションで第２および第３のレジスタグループにアクセスすることを可能にする。
【００１０】
たとえば、ホストは単一のバースト読出転送で第１および第３のグループのレジスタに読出アクセスを行ない得る。次いで、ホストは単一のバースト書込転送で第２および第３のグループのレジスタに書込アクセスを行ない得る。
【００１１】
この発明のさらに別の目的や利点は、以下の詳細な説明により、当業者においては容易に明らかとなるであろうが、発明の実行において企図されるベストモードの例示としてのみ、この発明の好ましい実施例のみが示され説明されている。認識されるように、この発明は他のおよび異なった実施例が可能であり、そのいくつもの細部が、すべてこの発明から逸脱することなく、さまざまな明白な点で変更が可能である。したがって、図面と説明とは例示的な性質であって、限定的なものではないと理解されるべきである。
【００１２】
発明を実行するためのベストモード
この発明は一般的にデータ処理の分野に適用可能であるが、この発明を実施するためのベストモードは、イーサネット（Ｒ）（ＩＥＥＥ８０２．３）ネットワークなどの、パケット交換ネットワークにおけるネットワークインターフェイスの実現化に一部基づく。
【００１３】
図１は、この発明の実施例にしたがったイーサネット（Ｒ）ネットワークのメディアにアクセスする、例示的なネットワークインターフェイス１０のブロック図である。
【００１４】
好ましくは単一チップ３２ビットイーサネット（Ｒ）コントローラであるネットワークインターフェイス１０は、たとえば周辺装置相互接続（ＰＣＩ）ローカルバスなどのコンピュータのローカルバス１２と、イーサネット（Ｒ）ベースのメディア５０との間にインターフェイスを提供する。参照番号５０は、実際のネットワークメディア、またはこれに代えて、ネットワークメディアに結合された物理層トランシーバへの信号経路（たとえばメディア独立インターフェイス（ＭＩＩ））を識別する。
【００１５】
ネットワークインターフェイス１０は、ＰＣＩバスインターフェイスユニット１６、メモリ制御ユニット１８、ネットワークインターフェイス部２０、デスクリプタ管理ユニット２２、ならびに、レジスタ制御およびステータスユニット２４を含む。ネットワークインターフェイス部２０は、ＩＥＥＥ８０２．３準拠および全二重通信可能メディアアクセス制御（ＭＡＣ）コア２６、外部１０Ｍｂ／ｓ、１００Ｍｂ／ｓ、または１０００Ｍｂ／ｓトランシーバを接続するためのメディア独立インターフェイス（ＭＩＩ）ポート２８、外部アドレス検出インターフェイス（ＥＡＤＩ）ポート３０、およびネットワークポートマネージャユニット３２を含む。ネットワークインターフェイス１０はまた、外部ＥＥＰＲＯＭの読出および書込のためのＥＥＰＲＯＭインターフェイス３４、ＬＥＤ制御３６、ＩＥＥＥ１１４９．１準拠ＪＴＡＧバウンダリスキャンテストアクセスポートインターフェイス３８、クロック生成ユニット４０、および拡張バスインターフェイス４２を含む。拡張バスインターフェイス４２は、フレーム記憶のための外部または内部データメモリ（図１には示さず）へ、かつスタートアップの間のブートＲＯＭ用途の不揮発性（たとえばＥＰＲＯＭまたはフラッシュメモリ）記憶装置へインターフェイスする。
【００１６】
ＰＣＩローカルバス規格（改訂２．２）準拠のＰＣＩバスインターフェイスユニット１６は、ホストコンピュータメモリからＰＣＩバス１２を介してデータフレームを受取る。ＰＣＩバスインターフェイスユニット１６は、デスクリプタ管理ユニット２２の制御下で、ホストコンピュータからの転送をＰＣＩバス１２を介して受取る。たとえば、ＰＣＩバスインターフェイスユニット１６から受取られた送信データはメモリ制御ユニット１８に送られて、そのデータメモリに記憶される。次いで、メモリ制御ユニット１８は送信データをデータメモリから検索し、それを最終的なネットワークへの送信のためにＭＡＣ２６に送る。同様に、ネットワーク５０からの受信データはＭＡＣ２６によって処理され、メモリ制御ユニット１８に送られてデータメモリに記憶される。次いで、メモリ制御ユニット１８は受信データをデータメモリから検索し、それをＰＣＩバス１２を介したホストコンピュータへの転送のためにＰＣＩバスインターフェイスユニット１６に送る。
【００１７】
デスクリプタ管理ユニット２２は、ＰＣＩバスインターフェイスユニット１６を介したホストコンピュータからの、およびホストコンピュータへのデータ転送を管理する。ホストコンピュータのメモリに含まれているデータ構造は、データバッファのサイズおよび場所と、さまざまな制御およびステータス情報とを特定する。デスクリプタ管理ユニット２２はメモリ制御ユニット１８とインターフェイスして制御情報を送信データストリームに挿入し、かつ受信データストリームからステータス情報を検索する。
【００１８】
ネットワークインターフェイス部２０は、メディア５０を介してリンクパートナー内の対応の自動ネゴシエーション機能ユニット（たとえば集中型ハブ、リピータ、ワークステーション、またはスイッチ）と通信することにより自動ネゴシエーション機能を行なうネットワークポートマネージャ３２を含む。
【００１９】
ネットワークインターフェイス１０はまた、Magic Packet技術およびＰＣＩバスパワー管理インターフェイス規格プロトコルへの準拠を含む、Microsoft OnNowおよびＡＣＰＩ規格にしたがって、ネットワークメディア５０上の予め定められたパターンを検出することにより、ネットワークメディア５０を介したホストコンピュータの遠隔起動（すなわち、電源投入）を可能にするパワー管理ユニット４４を含む。
【００２０】
ネットワークインターフェイス１０はまた、ＭＩＢカウンタユニット４６を含むが、これはフレーム送受信についての情報をＭＡＣ２６から受取り、ネットワーク管理のために必要な統計を維持する。これらの統計は、ホストコンピュータによりＰＣＩバスインターフェイスユニット１６を介してアクセスされる。
【００２１】
図２を参照すると、ネットワークインタフェイス１０はレジスタ論理ブロック１００を含み、これはホストＣＰＵにアクセス可能であるネットワークインターフェイス１０のトップレベルレジスタを管理する。レジスタ論理ブロック１００はレジスタインターフェイス１０４を介してＰＣＩバスインターフェイスユニット１６に結合され、レジスタへの読出および書込アクセスを可能にする。ＰＣＩバスインターフェイスユニット１６はホストＣＰＵ１０２によるレジスタへの読出および書込アクセスを認識し、レジスタアドレス信号と書込および読出信号とをレジスタ論理ブロック１００に送る。レジスタアドレス信号はＰＣＩバス１２からアクセスされるべきレジスタを識別する。書込および読出信号は、書込または読出アクセス動作が行なわれているかどうかを識別する。アクセスされたレジスタに書込まれている、またはここから読出されているデータは、ＰＣＩバス１２およびレジスタインターフェイス１０４内のデータバスを介して転送される。
【００２２】
たとえば、レジスタ論理ブロック１００は、デコーダと、コマンドレジスタｃｍｄ０〜ｃｍｄ３、ステータスレジスタｓｔａｔ０，ｓｔａｔ１、割込みレジスタｉｎｔ０，ｉｎｔ１および割込みイネーブルレジスタｉｎｔｅｎ０，ｉｎｔｅｎなどの、多数のグローバスレジスタとを含み得る。デコーダはＰＣＩバスインターフェイスユニット１６を介してアクセスされるレジスタのアドレスをデコードし、選択されたレジスタへのアクセスを提供する。
【００２３】
コマンドレジスタは、ネットワークインターフェイス１０のさまざまなブロックによってコマンドとして解釈された制御ビットを含み得る。たとえば、コマンドレジスタは、ネットワークインターフェイス１０に装着されたＥＥＰＲＯＭの読出を行なうようネットワークインタフェイス１０に命令するＥＥＰＲＯＭ読出コマンド、フレーム送信および受信動作を可能にする送信開始および受信開始コマンド、受信されるべきフレームの最後のバイトがローディングされたことを示す送信フレーム終了コマンドなどの、コマンドを含み得る。
【００２４】
ステータスレジスタは、あるネットワークインターフェイス動作の状態を示すためのステータスビットを含み得る。たとえば、ステータスレジスタは現在および次の送信および受信ステータスを示すステータスビットを含み得る。
【００２５】
割込みレジスタは、さまざまな送信および受信割込み事象に対応する割り込みステータスビットを含み得る。送信割込み事象の中には、送信デスクリプタが処理されたときにアサートされる送信デスクリプタ割込み、送信バッファ内のいくつかのバイトが空いた場合にアサートされる空きバイト割込み、送信フレームが成功してネットワークに送信されたかまたはエラー条件などで中止されたかのいずれかを示す送信フレーム完了割込みなどが含まれる。受信割込み事象は、受信フレームの全体が処理されたことを示す受信フレーム完了割込み、ネットワークアダプタが受信データをシステムメモリに転送しようとしても使用できる受信デスクリプタがない場合にアサートされるデスクリプタ無し割込みなどが含まれる。割込みビットはＰＣＩバスインターフェイスユニット１６に送られて、割込み要求出力ＩＮＴＡ／を活性化させる。
【００２６】
割込みイネーブルレジスタは、割込みレジスタ内の割込みステータスビットに関連する割込みイネーブルビットを含み得る。割込みイネーブルルビットは、対応の割込みステータスビットに応答して割り込み要求出力ＩＮＴＡ／の活性化を可能にするよう、予め定められた状態に設定される。
【００２７】
ＰＣＩバスを介したネットワークインターフェイス内のレジスタへの直接アクセスは、ＣＰＵの動作を実質的に遅延させる。そのようなアクセスのＣＰＵ性能への影響を減じるために、この発明はレジスタブロック１００内のレジスタの新規な構成を提案する。レジスタは、ＣＰＵが最適にアクセスできるよう構成される。特定的には、レジスタブロック１００内のレジスタのアドレスが、ＰＣＩホストによるそのレジスタへの書込または読出アクセスの頻度にしたがって割当てられる。
【００２８】
たとえば、ＣＰＵ１０２によって頻繁に読出されねばならないレジスタは、併せてグループ化されて、ネットワークインターフェイス１０において採用されるレジスタアドレス範囲の一方の末端に対応する、連続アドレスを割当てられる。ＣＰＵ１０２によって頻繁に書込まれねばならないレジスタは、併せてグループ化されてレジスタアドレス範囲の反対側の末端に対応する連続アドレスを割当てられる。ＣＰＵ１０２によって頻繁に読出および書込の両方が行なわれねばならないレジスタは併せてグループ化されて、第１のグループのアドレスと第２のグループのアドレスの間の連続アドレスを割当てられる。
【００２９】
図３は、レジスタブロック１００のレジスタアドレス範囲を示す例示的なレジスタマッピングテーブルを示す。たとえば、ネットワークインターフェイス１０の通常の動作の間に、ＣＰＵ１０２はステータスレジスタｓｔａｔ０およびｓｔａｔ１に読出アクセスのみを行なって、ステータス情報を読み出す。これらのレジスタへの書込アクセスは必要ではない。したがって、ステータスレジスタｓｔａｔ０およびｓｔａｔ１は併せてグループ化されて、レジスタアドレス範囲の下位の末端に対応するアドレスを割当てられる。たとえば、ステータスレジスタｓｔａｔ０およびｓｔａｔ１はそれぞれ１６進法でのアドレス３０および３４を割当てられ得る。
【００３０】
ネットワークインターフェイス１０の通常の動作の間に、コマンドレジスタおよび割り込みイネーブルレジスタはＣＰＵ１０２によってデータ書込のためにのみアクセスされる。ＣＰＵ１０２によるこれらのレジスタへの読出アクセスは必要ではない。よって、コマンドレジスタと割込みイネーブルレジスタは併せてグループ化されて、レジスタアドレス範囲の高位の末端に対応するアドレスを割当てられる。たとえば、コマンドレジスタｃｍｄ３，ｃｍｄ２，ｃｍｄ１およびｃｍｄ０はそれぞれ１６進法でアドレス５４、５０、４ｃ、および４８を割当てられ得る。割込みイネーブルレジスタｉｎｔｅｎ１およびｉｎｔｅｎ０もまた、それぞれ１６進法でアドレス４４および４０を割当てられる。
【００３１】
ＣＰＵ１０２は、読出アクセスを割込みレジスタｉｎｔ０およびｉｎｔ１に対して行ない、割込み事象を示す割込みステータスビットを読出す。割込みレジスタｉｎｔ０およびｉｎｔ１の読出しの後で、ＣＰＵ１０２はこれらのレジスタへの書込アクセスを行なって、割込みステータスビットをクリアする。よって、割込みレジスタｉｎｔ０およびｉｎｔ１は頻繁にＣＰＵ１０２により読出および書込を行なわれなければならない。したがって、これらのレジスタはグループ化されてステータスレジスタを組合せたグループに割当てられた下位のアドレスと、コマンドおよび割込みイネーブルレジスタを組合せたグループに割当てられた上位のレジスタとの間のアドレスを割当てられる。たとえば、割込みレジスタｉｎｔ０およびｉｎｔ１はそれぞれ１６進法のアドレス３８および３ｃを割当てられ得る。
【００３２】
レジスタは、ネットワークインターフェイス１０の状態またはレジスタ内のどのビットの値を変化させることもなく、レジスタへの読出アクセスを提供するよう設計される。
【００３３】
この発明のレジスタ構成は、ＣＰＵ１２０が単一のバースト転送を用いて連続アドレスを有するレジスタのグループにアクセスすることを可能にする。特定的には、ＣＰＵ１０２によって読出のみを行なわれるべき第１のグループのレジスタは、ＰＣＩバス１２を介して単一のバースト読出転送によってアクセスされ得る。ＣＰＵ１０２によって書込みのみを行なわれるべき第２のグループは、ＰＣＩバス１２を介して単一のバースト読出転送によってアクセスされる。
【００３４】
さらに、ＣＰＵ１０２によって読出および書込みされるべき第３のグループのレジスタは、第１のグループへのバースト読出転送が行なわれている間に読出のためにアクセスされ、第２のグループへのバースト書込転送が行なわれている間に書込のためにアクセスされる。
【００３５】
たとえば、割込み要求ピンＩＮＴＡ／の活性化に応答して、ＣＰＵ１０２はＰＣＩバスを介して単一のバースト読出転送を用いて連続アドレスを有するｓｔａｔ０，ｓｔａｔ１，ｉｎｔ０およびｉｎｔ１レジスタを読み出す。次いで、ＣＰＵ１０２は、ｉｎｔ０およびｉｎｔ１レジスタへ、およびもし必要であれば、ｉｎｔｅｎ０，ｉｎｔｅｎ１，ｃｍｄ０，ｃｍｄ１，ｃｍｄ２およびｃｍｄ３レジスタへ、ＰＣＩバス１２を介して単一のバースト書込転送を用いて書込アクセスを行なう。
【００３６】
ここまで、ネットワークインターフェイス１２におけるレジスタへのホストＣＰＵの最適化を可能にし、そのようなアクセスのＣＰＵ性能への影響を減じるための、レジスタ構成が説明されてきた。ＣＰＵによって頻繁に読出されねばならないレジスタは第１のグループに組合され、レジスタアドレス範囲の一方の末端に対応する連続アドレスを割り当てられる。ＣＰＵによって頻繁に書込まれねばならないレジスタは第２のグループに組合され、レジスタアドレス範囲の反対側の末端に対応する連続アドレスを割当てられる。ＣＰＵによって頻繁に読出しおよび書込みの両方が行なわれねばならないレジスタは、第３のグループに組合されて、第１のグループのアドレスと第２のグループのアドレスとの間の連続アドレスを割当てられる。
【００３７】
こうして、ホストＣＰＵはＰＣＩバスを介して単一のバースト読出トランザクションで第１および第３のグループのレジスタに読出アクセスを行ない、単一のＰＣＩバースト書込転送で第２および第３のグループのレジスタに書込アクセスを行なうことができる。単一のＰＣＩバーストトランザクションでの連続アドレスを有するレジスタへのアクセスは、各レジスタへの個々のＰＣＩアクセスよりも速く行なわれるので、この発明はコンピュータシステムの性能を実質的に向上させる。
【００３８】
当業者においては、この発明が、発明の概念の精神および範囲の中に多数の変更を認めることが認識されるであろう。たとえば、レジスタアドレスはいくつもの異なった態様で構成されてもよい。
【００３９】
以上、この発明の好ましい実施例と考えられるものが説明されたが、この中でさまざまな変更が可能であり、この発明はさまざまな形および実施例で実現することができ、いくつもの用途に適用され得るものであるが、その中の一部のみがここで説明されたことを理解されたい。発明の真の範囲に含まれるそのような変更および展開例のすべては、前掲の特許請求の範囲によって主張されることが意図される。
【図面の簡単な説明】
【図１】  この発明を実現し得る例示的なネットワークインターフェイスのブロック図である。
【図２】  この発明のレジスタアクセス方式を示すブロック図である。
【図３】  この発明の例示的なレジスタアドレス範囲を示すブロック図である。
【図１】
0004512303.tif 000002
【図２】
0004512303.tif 000003
【図３】
0004512303.tif 000004