(57)【特許請求の範囲】
【請求項１】
アクセサリ（６５）のメモリ内の資源について事前の情報をもたず、該アクセサリの装置ドライバをロードすることが出来ないホスト（６０）とメモリ（１００，  １１０）を有する前記アクセサリ（６５）との間の通信を、ホスト（６０）のファームウエアをアップグレードすることなく可能とするインターフェース機構であって、
前記インターフェース機構は、
（ａ）前記アクセサリのＲＯＭ（８０）からロードされ、前記アクセサリメモリ（１１０）内の第１のメモリロケーション（１３５）に記憶され、前記ホスト（６０）の前記ファームウエアによって利用される１つあるいはもっと多数の第１のオフセット値（１９０，  １９５，  ２００，  ２０５）、及び
（ｂ）前記１つあるいはもっと多数の第１のオフセット値（１９０，  １９５，  ２００，  ２０５）によって少なくとも部分的には同定されるアクセサリメモリ（１１０）内のオフセットロケーション（１９１，  １９６，  ２０１，  ２０６）にあって、前記ホスト（６０）に利用可能な、１つあるいはもっと多数の前記資源（１４０，１７０，１７５，１８０，  １８５）
を設けたことを特徴とするインターフェース機構。
【請求項２】
前記アクセサリのＲＯＭ（８０）からロードされ、前記アクセサリメモリ（１００）内の第２のメモリロケーション（１６０）に記憶され、前記ホスト（６０）のファームウエアによって利用される第２のオフセット値（１３０）をさらに含み、前記第２のオフセット値は前記アクセサリメモリ（１１０）内の前記第１のメモリロケーション（１３５）のオフセットを示すことを特徴とする請求項１記載のインターフェース機構。
【請求項３】
前記アクセサリメモリ（１００）内の第３のメモリロケーション（１５５）に記憶されたベースアドレス（１２５）を含み、前記ベースアドレスは前記第１のメモリロケーション（１３５）及び１つあるいはもっと多数の資源（１４０，  １７０，  １７５，１８０，  １８５）を同定するために前記第１及び第２のオフセット値を参照する前記アクセサリメモリ（１１０）の開始参照ロケーションを定義することを特徴とする請求項２記載のインターフェース機構。
【請求項４】
前記第２のメモリロケーション（１６０）及び第３のメモリロケーション（１５５）はＰＣＩローカルバス規格に適合したアクセサリ（６５）の構成アドレス空間（１００）に含まれることを特徴とする請求項３記載のインターフェース機構。
【請求項５】
前記第２のオフセット値（１３０）は前記構成アドレス空間（１００）のクラスコードフィールド（１３２）内に記憶されることを特徴とする請求項４記載のインターフェース機構。
【請求項６】
前記ホストの利用可能な前記１つあるいはもっと多数の資源（１４０，  １７０，  １７５，  １８０，  １８５）は前記ホストによる読出し、書込みあるいは読出し／書込みが可能なメモリロケーションを含むことを特徴とする請求項１記載のインターフェース機構。
【請求項７】
前記ホスト（６０）は周辺装置であることを特徴とする請求項１記載のインターフェース機構。
【請求項８】
アクセサリ（６５）のメモリ内の資源について事前の情報をもたず、該アクセサリの装置ドライバをロードすることが出来ない周辺装置（６０）とアクセサリ（６５）との間のＰＣＩローカルバスに用いるオフセット機構であって、
（ａ）前記アクセサリ（６５）上の構成アドレス空間（１００）の第１のレジスタ（１５５）に記憶され、アクセサリ資源（１３５，  １４０，  １７０，  １７５，  １８０，  １８５）の参照ロケーションを示すベースアドレス（１２５）と、
（ｂ）前記構成アドレス空間（１００）内の第２のレジスタ（１６０）に記憶され、前記ベースアドレス（１２５）に対する前記アクセサリ資源（１３５，  １４０，  １７０，  １７５，  １８０，  １８５）内の第３のレジスタ（１３５）のオフセットを示す第１のオフセット値（１３０）と、
（ｃ）前記第３のレジスタ（１３５）に記憶され、前記ベースアドレス（１２５）に対する１つあるいはもっと多数のアクセサリ資源（１４０，  １７０，  １７５，  １８０，  １８５）のオフセット（１９１，  １９６，  ２０１，  ２０６）を示す１つあるいはもっと多数の第２のオフセット値（１９０，  １９５，  ２００，  ２０５）であって、前記１つあるいはもっと多数のアクセサリ資源は前記周辺装置（６０）によって共用可能な第２のオフセット値と
を備え、
前記第１のオフセット値（１３０）と前記１つあるいはもっと多数の第２のオフセット値（１９０，１９５，２００，２０５）は、最初に前記アクセサリ（６５）のＲＯＭ（８０）からロードされ、前記周辺装置（６０）のファームウエアによって、前記周辺装置（６０）の前記ファームウエアをアップグレードすることなく利用されることを特徴とするオフセット機構。
【請求項９】
ホスト（６０）とアクセサリ（６５）との間の通信を、前記ホスト（６０）のファームウエアをアップグレードすることなく可能とする方法であって、
前記アクセサリ（６５）のＲＯＭ（８０）から１つあるいはもっと多数の第１のオフセット値（１９０，  １９５，  ２００，  ２０５）をロードし、
前記アクセサリ（６５）の第１のメモリロケーション（１３５）から前記１つあるいはもっと多数の第１のオフセット値（１９０，  １９５，  ２００，  ２０５）を読出し、
前記１つあるいはもっと多数の第１のオフセット値は前記アクセサリ内の１つあるいはもっと多数のメモリ資源（１４０，  １７０，  １７５，  １８０，  １８５）のオフセット（１９１，１９６，２０１，２０６）を示し、
それによってアクセサリ（６５）のメモリ内の資源について事前の情報をもたず、該アクセサリの装置ドライバをロードすることが出来ない前記ホスト（６０）に前記アクセサリ内の前記１つあるいはもっと多数のメモリ資源へ、前記ホスト（６０）の前記ファームウエアを経由して、アクセスが提供されることを特徴とする方法。
【請求項１０】
さらに、前記１つあるいはもっと多数の第１のオフセット値（１９０，  １９５，  ２００，  ２０５）の読出しに先だって前記アクセサリ（６５）の第２のメモリロケーション（１６０）から第２のオフセット値（１３０）を読み出し、前記第２のオフセット値は前記アクセサリ（６５）の前記第１のメモリロケーション（１３５）のオフセットを示すことを特徴とする請求項９記載の方法。
【請求項１１】
さらに、前記アクセサリ（６５）の第３のメモリロケーション（１５５）からベースアドレス（１２５）を読み出し、前記ベースアドレスは前記アクセサリ内の前記第１のメモリロケーション（１３５）及び１つあるいはもっと多数の資源（１３５，１４０，  １７０，  １７５，  １８０，  １８５）を同定するために前記第１のオフセット値（１９１，  １９６，  ２０１，  ２０６）及び第２のオフセット値（１３０）を参照するベース参照ロケーションを示すことを特徴とする請求項１０記載の方法。
【請求項１２】
前記第２のメモリロケーション（１６０）及び第３のメモリロケーション（１５５）はＰＣＩローカルバス規格に適合した前記アクセサリ（６５）の構成アドレス空間（１００）内に設けられることを特徴とする請求項１１記載の方法。
【発明の詳細な説明】
【０００１】
【発明の分野】
本発明は一般的にはプリンタ等のコンピュータ周辺機器に関し、特に周辺機器と付属部品との通信を可能とするローカルバスインターフェースに関する。
【０００２】
【発明の背景】
周辺部品インターフェース（ＰＣＩ）はコンピュータ関連装置の入出力機能のための好適なインターフェースとして急速に普及しつつある。ＰＣＩローカルバス規格は外部装置をデータ処理機器の既存の内部バス構造に相互接続するための信号レベル、プロトコル及び回路構成を詳細に定義する工業規格である。ＰＣＩローカルバス規格、リビジョン２．１（１９９５年６月１日）を参照されたい。
【０００３】
ＰＣＩインターフェースは一般的にはホストコンピュータ上のアプリケーションを外部装置あるいは通信装置に相互接続するために設けられる。通常、入出力（Ｉ／Ｏ）カードがホストに“アクセサリ”として接続され、ＰＣＩ規格はＩ／Ｏカードとホストを相互接続する機構を提供する。Ｉ／Ｏカードはホストとの通信に用いられ、少なくともその一部がホストのプロセッサによってアクセス可能であるメモリを有する（すなわちカードの共通メモリスペースがホストとカードによって共用される）。
【０００４】
ホストとアクセサリとの間での情報交換を可能にする一般的な機構には、両方のプロセッサ（ホストのプロセッサとアクセサリのプロセッサ）による読出し及び書込みの可能な共用メモリが用いられ、さらに（ｉ）両プロセッサによる相互割込みを可能にし、（ｉｉ）他のプロセッサが割込みを行なったかどうかを判定し、（ｉｉｉ）割込みをクリアする割込みレジスタが用いられる。この機構をＰＣＩローカルバスに用いる場合、（ホストの使用する）共用メモリと割込みレジスタはホストに利用可能なアクセサリ資源の一部となる。
【０００５】
ホストとアクセサリとの間の相互接続を容易にするために、ＰＣＩはホストが特に指定されたレジスタクラスコード及び／またはＰＣＩ構成スペースの装置ＩＤフィールドを用いてどのようなタイプのアクセサリが設置されているかを判定することを可能にする機構を提供する。このような機能についてはＰＣＩ規格に詳細に説明されている。しかし、設置されたアクセサリを同定するこのＰＣＩ機構は自由度が高いとはいえない。これは、ホストアプリケーションをそのアクセサリによってホストに利用可能となる資源（すなわちメモリレジスタ）のロケーションに関して事前に完全な知識を持つように設計しなければならないためである。たとえば、従わなければならないレジスタレベルのプログラミングインターフェースを完全に定義するＰＣＩ  ＩＤＥ規格に適合する装置によって、“ＩＤＥ”コントローラクラスが用いられる。つまり、ホストはアクセサリの使用に先だってレジスタ割り当てに関する事前の知識を持ってなければならず、また、ホストは共通メモリスペースにおけるアクセサリ資源のアドレス構成を知っていなければならない。
【０００６】
また、ＰＣＩローカルバス規格はアクセサリ内資源のブロックをホストマイクロプロセッサのメモリスペースにマップする機構を定義している。しかし、ブロック内の各資源のロケーションはアクセサリの設計者によって固定されている。
【０００７】
図１はアクセサリのＰＣＩ構成アドレス空間１０及びＰＣＩメモリアドレス空間１５の例を示すブロック図である。ＰＣＩ構成アドレス空間１０は構成空間レジスタ２０を含み、図にはベースアドレスレジスタ０のみを示す（参照符号２５で示す）。ベースアドレスレジスタ０にはアクセサリ内資源３０の常駐するＰＣＩメモリアドレス空間１５内の共通メモリの領域を指示する値が保持される。図示する例では、アクセサリ内資源３０内のカードレジスタブロック３５、割込み状態レジスタ４０、割込みクリアレジスタ４５及び割込みセットレジスタ５０の４つのメモリレジスタ（資源）を示す。しかし、これら４つの資源が実際にアクセサリ内資源３０のメモリスペースのどこに配置されているかについての表示は存在しないことを指摘しておく。これは、当該技術分野では通常、資源は設置されるアクセサリのタイプ及び設計に基づいて固定される。すなわち、このような資源の物理アドレスロケーションはアクセサリの任意の設計基準に基づいて固定される。従って、ホストはレジスタにアクセスし、アクセサリを適正に利用するためにはこの資源アドレス情報を事前に知っていなければならない。
【０００８】
ホストが従来と同様に汎用コンピュータである場合、アクセサリ資源に関するこのような事前の知識は通常問題となることはなかった。これは、アクセサリの開発者（すなわち製造者）が一般的にはホスト上でアクセサリとのインターフェースを実行する装置ドライバを開発するためである。開発者はアクセサリ資源情報を装置ドライバにハードコードする。アクセサリに変更が加えられる場合、開発者は単にその装置ドライバを更新し、ユーザがホストにそれをロードし直すように配付するだけである。同様に、開発者が装置ドライバを他のアクセサリとコンパチブルにしたい場合、その既知の固定された資源が他のアクセサリに照らして判定され、装置ドライバにハードコードされ、更新用にユーザに配付される。従って、特定のアクセサリのために汎用ホストコンピュータ上で装置ドライバを更新することは一般的ではなかった。
【０００９】
しかし、近年ではＰＣＩローカルバスインターフェースはホストコンピュータのアクセサリへの接続のみならず周辺装置とそのアクセサリとの接続にも用いられている。たとえば、プリンタ装置の中にはＰＣＩを用いてプリンタと（プリンタ内のディスクドライバあるいはネットワークカード等の）アクセサリをインターフェースするものがある。この意味で、周辺装置（すなわちプリンタ）がアクセサリのホストであり、従来技術ではアクセサリを適正に使用するためには周辺装置がアクセサリの所定の資源構成を知っていることが必要である。しかし、このことは汎用ホストコンピュータとアクセサリとの場合よりも周辺装置とアクセサリとの関係において問題になる。これは、周辺装置は汎用コンピュータでないためである。周辺装置の機能はあらかじめ決まっており、また限られたものである。
【００１０】
通常、周辺装置はアクセサリの構成を理解している更新された装置ドライバをロードできるようには設計されていない。アクセサリの構成は周辺装置自体のオペレーティングシステムにハードコードして、動作に先だってそれぞれのアクセサリ内資源のアドレス構成が周辺装置にわかるようにしておかなければならない。たとえば、周辺装置は（ｉ）付属装置の各リビジョンを同定し、（ｉｉ）そのアクセサリを使用するためには自己の内部ドライバを用いなければならない。そのためには複数のファームウエアセグメントでアクセサリのさまざまなバージョンに対応しなければならない。その結果、周辺機器コードの開発は時間のかかる複雑なものとなり、更新されたコードをさらに試験することが必要になる。概して、アクセサリの変更（更新）あるいはアクセサリの追加による周辺装置の拡張が必要な場合、周辺装置自体のオペレーティングシステムの装置ドライバを更新するための多大な処理が必要になる。そのためには、通常周辺装置のファームウエアをアップグレードするか、あるいはリードオンリーメモリ（ＲＯＭ）を交換する必要があり、いずれの場合にもコストと時間がかかり、煩雑である。
【００１１】
従って、本発明の目的は周辺装置とそのアクセサリのための改良されたＰＣＩローカルバスを提供することである。
【００１２】
【発明の概要】
一実施例における本発明の原理によれば、（プリンタ等の）周辺装置はアクセサリ上のオフセット機構を用いてアクセサリ上の共用可能な資源を発見する。このオフセット機構はアクセサリの第１のメモリロケーションに記憶された１つあるいはもっと多数のオフセット値を有する。１つあるいはもっと多数のオフセット値はアクセサリメモリ内の１つあるいはもっと多数の資源を示す。この１つあるいはもっと多数のアクセサリ資源は周辺装置によって共用可能である。
【００１３】
アクセサリの第２のメモリロケーションに他のオフセット値が記憶される。この他のオフセット値はアクセサリの第１のメモリロケーションを判定するためのオフセットを表わす。さらに、アクセサリの他のメモリロケーションにベースアドレスが記憶され、周辺装置にマップされた第１のメモリ及びアクセサリ資源を発見するための一般的な参照ポイントとなる。
【００１４】
一実施例において、本発明のオフセット機構はＰＣＩローカルバス仕様の改良機能として実施される。たとえば、第１のメモリロケーションはアクセサリのＰＣＩで定義されたメモリアドレス空間内に設けられ、第２のメモリロケーションとベースアドレスはいずれもアクセサリのＰＣＩで定義された構成アドレス空間内に設けられる。本発明には、周辺装置がアクセサリ上の資源をその資源がアクセサリのどこにあるかを事前に知っていなくともその資源を発見することを可能とするという利点がある。
【００１５】
本発明の他の特徴、利点及び機能は以下の説明からより明確になるであろう。
【００１６】
【発明の好適実施例の説明】
図１は従来のＰＣＩ構成空間ヘッダ１０及びメモリアドレス空間１５のブロック図であり、従来技術と本発明との相違を明確にするために示すものである。背景において述べたように、従来のＰＣＩバスはアクセサリ内資源３５，  ４０，  ４５及び５０については固定されたロケーションを用いるが、これによってプリンタ等の周辺装置におけるＰＣＩの使用態様には大きな制約が課される。
【００１７】
図２はＩ／Ｏカード（アクセサリ）６５を有し、本発明のオフセット機構を用いたレーザプリンタ６０のブロック図である。しかし、プリンタ６０は本発明を用いた周辺装置の一例に過ぎない。従って、当業者にはホストコンピュータ一般あるいはインクジェットプリンタ、ファクシミリ機、複写機等の他の周辺装置に本発明を適用可能であることは明らかであろう。プリンタ６０は従来技術と同様にプロセッサ９５、リードオンリーメモリ（ＲＯＭ）７０及びランダムアクセスメモリ（ＲＡＭ）７５を含む。ＲＯＭ  ７０に記憶されたファームウエア７５によって本発明のオフセット機構の方法の実施が容易になる。メモリアドレス指定可能空間９０は物理的なＲＡＭ  ８５を超えて伸長するが、プロセッサ９５によってアドレス指定可能な仮想領域である。ＲＯＭ  ７０、ＲＡＭ８５及びメモリアドレス指定可能空間９０の順序は例として示すものに過ぎず、他の構成も使用可能であることを指摘しておく。
【００１８】
Ｉ／Ｏカード６５はプリンタ６０に用いるアクセサリカードを代表するものである。通常、このようなカードはプリンタ６０内の接続スロットに摺動可能に挿入され、それとインターフェースされる。Ｉ／Ｏカード６５は従来のＰＣＩ規格で定義された構成アドレス空間１００及びカード内資源１１０を含む。通常、これらはＩ／Ｏカード６５上の従来と同様の専用集積回路（ＡＳＩＣ）に組み込まれる。本発明はプロトコルに違反することなくこれらＰＣＩ機能を補完して本発明の利点を実現するものである。
【００１９】
一般的には、本発明はＲＯＭ  ７０内のファームウエア７５を用いてＩ／Ｏカード６５の構成アドレス空間１００をメモリアドレス指定可能領域９０の領域１１５に現われるようにマップするものである。同様に、カード内資源１１０はメモリアドレス指定可能領域９０のベースアドレス１２５から始まる領域１２０に現われるようにマップされる。このようなマッピングによってプロセッサ９５はメモリアドレス指定可能領域９０の領域１１５及び１２０をアドレス指定したとき構成アドレス空間１００及びカード内資源１１０をそれぞれ仮想アドレス指定することができる。これらの領域がマップされると、プロセッサ９５は構成アドレス空間１００及びカード内資源１１０内の共用可能な資源に対する情報の読出し、書込み及び管理を行なうことができる。
【００２０】
より詳細には、プロセッサ９５はファームウエア７５を実行してベースアドレス１２５を構成アドレス空間１００内のベースアドレスレジスタ０（図２には示さないが、図１及び図３を参照されたい）に記憶し、それによってカード内資源１１０を参照領域１２０にマップする。さらに、オフセットレジスタ１３５の（ベースアドレス１２５に対する）オフセットロケーションを同定するオフセット値１３０が取り込まれる。一実施例では、オフセット値１３０は構成アドレス空間１００のクラスコードフィールド１３２から取り込まれる。オフセット値の保持には他のフィールドを使用することも可能であるが、クラスコードフィールド１３２は良好に機能する。これは、そのＰＣＩに定義されたサイズが２４ビットであり、最初の１６ビットのみを用いてクラスコードが定義されるためである。従って、本発明によれば残りの８ビットを用いて従来のＰＣＩプロトコルに干渉することなくオフセット値１３０をロードすることができる。
【００２１】
オフセットレジスタ１３５はさらにＩ／Ｏカード６５のＡＳＩＣ内の他の資源（レジスタ）１４０の（ベースアドレス１２５に対する）オフセット値を保持する。このようなオフセット値によって本発明ではアクセサリ内資源を自由に活用することが可能である。従って、プリンタ６０はこのような資源の正確なアドレス構成を事前に知らなくてもＩ／Ｏカード６５の資源を利用することができる。この機構を用いることによって、プリンタ６０はプリンタに見える必要なアクセサリ内資源のオフセット値を発見することができる。従って、周辺装置（６０）の導入後に周辺装置ファームウエアをアップグレードすることなくアクセサリ（Ｉ／Ｏカード６５）の新たなバージョンを販売することができる。
【００２２】
図３のブロック図は（ＰＣＩローカルバス規格に従って構成された）構成空間ヘッダ１００を用いてアクセサリ内資源（カード内資源）１１０の相対ロケーションを同定するための本発明のオフセット機構を示す。カード内資源１１０はプリンタ６０のメモリアドレス指定可能領域９０にマップされるものとして示されている。構成アドレス空間１００はベースアドレスレジスタ０（参照符号１５５）等の構成空間レジスタ１５０及びインターフェースレジスタ１６０を含む。ベースアドレスレジスタ０（１５５）は従来と同様なＰＣＩレジスタであり、ベースアドレス１２５を保持する。インターフェースレジスタ１６０は従来と同様な他のＰＣＩレジスタである。一実施例において、インターフェースレジスタ１６０は実際にはＰＣＩクラスコードレジスタ（図２の１３２）の一部である。インターフェースレジスタ１６０はベースアドレス１２５に対するオフセットレジスタ１３５のオフセットロケーションを示すオフセット値１３０を保持する。従って、オフセットレジスタ１３５のロケーションはベースアドレス１２５にオフセット値１３０を加えることによって判定することができる。オフセットレジスタ１３５は別の独自のレジスタとして示しているが、本発明によればこのレジスタはカード内資源１１０内の任意の指定された共用可能なレジスタとすることができる。オフセット値１３０はＩ／Ｏカード６５の初期設定時にＩ／Ｏカード６５に対応するＲＯＭ  ８０（図２）からインターフェースレジスタ１６０にロードされる。
【００２３】
オフセットレジスタ１３５は領域１９０，  １９５，  ２００及び２０５に論理的に分割され、これらの領域はそれぞれプリンタ６０と共用される他のアクセサリ内資源のロケーションのオフセット値１９１，  １９６，  ２０１及び２０６を含む。オフセット値１９１，  １９６，  ２０１及び２０６はこのカードの初期設定時にＲＯＭ  ８０からオフセットレジスタ１３５の対応するロケーション１９０，  １９５，  ２００及び２０５にロードされる。これらの値はＩ／Ｏカード６５上のプロセッサ、あるいはこのカードの基本的なハードウエア（すなわちＡＳＩＣ）初期設定ルーチンによってＲＯＭ  ８０からロードすることができる。
【００２４】
図３の例では、共用可能な資源（レジスタ）はカードレジスタブロック（ＣＲＢ）１７０、割込み状態レジスタ１７５、割込みクリアレジスタ１８０及び割込みセットレジスタ１８５等の適宜の名称を付したレジスタである。資源の実際のロケーションはベースアドレス１２５にＣＲＢオフセット１９０、割込み状態オフセット１９５、割込みクリアオフセット２００及び割込みセットオフセット２０５に定義するオフセット値をそれぞれ加えることによって判定される。さまざまなオフセット値とアクセサリ内資源のロケーションとの間の関係は図３の方向矢印によって示されている。アクセサリ内資源はオフセットレジスタ１３５の値がオフセットの順序を適切に反映していれば任意の順序とすることができる。
【００２５】
本発明の利点は、このオフセット機構を用いることによって、アクセサリカード（Ｉ／Ｏカード６５）の開発者がその資源に関する適当なオフセット情報を有するアクセサリを確立して、任意の装置特にプリンタ６０等の任意の周辺装置がその情報にアクセスしてそのアクセサリ内資源の構成を事前に知ることなく一般的なＰＣＩローカルバス規格インターフェースを確立することを可能にすることである。従って、周辺装置の導入後に周辺装置ファームウエアをアップグレードすることなくアクセサリの新たなバージョンを販売することができる。さらに、ハードウエア設計者はアクセサリの古いバージョンとのアドレスのコンパチビリティを心配することなく利用可能な最良のＰＣＩ  ＡＳＩＣを使用することができ、新たなハードウエアは固定されたアドレス構成に適合するよう変更する必要がなく、ハードウエア／ファームウエアの相互作用が低減され、アクセサリの開発速度が上がる。さらに、ユーザは周辺装置内のファームエアをアップグレードすることなく周辺装置の新たなアクセサリを購入することができ、その結果周辺装置のダウンタイムが短縮され、ユーザの満足度が上がる。最後に、新たなアクセサリを支援するための周辺装置ファームエアのアップグレードを必要としないため、ファームエア開発サイクルが短縮され、試験サイクルが速くなり、ユーザ側での故障も低減される。
【００２６】
以上、アクセサリ内資源オフセット機構の好適な実施例を説明した。当業者には、本発明は当該技術に存在するさまざまなソフトウエア、ファームウエア及び／またはハードウエア要素のうちの任意のものを用いて容易に実施されることが理解されよう。さらに、本発明を具体的実施例を参照して説明したが、本発明の精神と範囲から逸脱することなく他の代替的実施例及び方法あるいは変更形態に用いることができることは明らかである。
【図面の簡単な説明】
【図１】従来のＰＣＩ構成空間ヘッダ及びメモリアドレス空間のブロック図であり、アクセサリ内資源の固定されたロケーションを示す。
【図２】Ｉ／Ｏカードアクセサリを有し、本発明のオフセット機構を用いたレーザプリンタのブロック図である。
【図３】ＰＣＩ構成空間ヘッダを用いてアクセサリの相対的ロケーションを同定するための本発明のオフセット機構のブロック図である。
【符号の説明】
１０：ＰＣＩ構成アドレス空間
１５：ＰＣＩメモリアドレス空間
２０：構成空間レジスタ
２５：ベースアドレスレジスタ
３０：アクセサリ内資源
３５：カードレジスタブロック
４０：割込み状態レジスタ
４５：割込みクリアレジスタ
５０：割込みセットレジスタ
６０：レーザプリンタ
６５：Ｉ／Ｏカード（アクセサリ）
７０：ＲＯＭ
７５，  ８５：ＲＡＭ
９０：メモリアドレス指定可能空間
９５：プロセッサ
１００：構成アドレス空間
１１５：メモリアドレス指定可能領域９０の領域
１２０：メモリアドレス指定可能領域９０の領域
１２５：ベースアドレス
１３０：オフセット値
１３２：クラスコードフィールド
１３５：オフセットレジスタ
１４０：Ｉ／Ｏカード６５のＡＳＩＣ内の他の資源（レジスタ）
１５０：構成空間レジスタ
１５５：ベースアドレスレジスタ０
１６０：インターフェースレジスタ
１９０，  １９５，  ２００，  ２０５：オフセットレジスタ１３５の領域
１９１，  １９６，  ２０１，  ２０６：オフセット値
１７０：カードレジスタブロック（ＣＲＢ）
１７５：割込み状態レジスタ
１８０：割込みクリアレジスタ
１８５：割込みセットレジスタ
１９０：ＣＲＢオフセット
１９５：割込み状態オフセット
２００：割込みクリアオフセット
２０５：割込みセットオフセット
【図１】
0003549410.tif 000002
【図２】
0003549410.tif 000003
【図３】
0003549410.tif 000004