(57)【要約】【課題】  ＰＣＩバスシステムの階層が多くなると、リードアクセスの回数が増加し、読み出し時間が長くなる。また、リトライ応答とリードアクセスが繰り返されるので、ＰＣＩバスが占有されてしまい、他のデバイス間の通信を妨げてしまうという課題を解決する。【解決手段】  各レジスタに読み出し用と書き込み用の２つのアドレスを設定し、要求元デバイスがレジスタに格納されたデータを読み出すときは読み出し用アドレスでライトアクセスし、要求先デバイスはこのライトアクセスがあるとレジスタに格納されたデータを読み出して書き戻すようにした。また、アドレスを２つ用いないで、ライトアクセスと同時に送るデータを用いて読み出しか書き込みかを区別するようにした。リードアクセスを用いないので、読み出し時間が短くなり、またリトライ応答が発生しないので、ＰＣＩバスを占有することもなくなる。【選択図】                    図１
2008123413.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスのアクセス方法において、
各々のレジスタに書き込み用アドレスと読み出し用アドレスを付与し、
書き込みを行うときは、書き込み用アドレスを用いて書き込み対象のレジスタにライトアクセスを行い、
読み出しを行うときは、読み出し用アドレスを用いて読み出し対象のレジスタにライトアクセスを行い、そのレジスタに格納されている値を指定されたアドレスに書き戻すようにしたことを特徴とするＰＣＩバスのアクセス方法。
【請求項２】
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスのアクセス方法において、
書き込みを行うときは、ライトアクセスと共に送るデータの特定位置の値を第１の値に設定してライトアクセスを行い、
読み出しを行うときは、ライトアクセスと共に送るデータの特定位置の値を前記第１の値とは異なる値に設定してライトアクセスを行い、そのレジスタに格納されている値を指定されたアドレスに書き戻すようにしたことを特徴とするＰＣＩバスのアクセス方法。
【請求項３】
前記特定位置は最上位ビットであることを特徴とする請求項２記載のＰＣＩバスのアクセス方法。
【請求項４】
前記書き戻すアドレスを、ライトアクセスと共に送るデータに格納するようにしたことを特徴とする請求項１乃至請求項３いずれかに記載のＰＣＩバスのアクセス方法。
【請求項５】
書き戻すアドレスを、特定のレジスタに格納するようにしたことを特徴とする請求項１乃至請求項３いずれかに記載のＰＣＩバスのアクセス方法。
【請求項６】
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスシステムにおいて、
書き込み用アドレスを用いてライトアクセスを行って他のデバイス内のレジスタに値を書き込み、読み出し用アドレスを用いてライトアクセスを行って他のデバイス内のレジスタに格納されている値を読み出す要求元デバイスと、
書き込み用アドレスを用いて自身に内蔵されているレジスタにライトアクセスがあったときに、そのライトアクセスで送られてきた値を指定されたレジスタに書き込み、読み出し用アドレスを用いて自身に内蔵されているレジスタにライトアクセスがあったときに、そのレジスタに格納された値を指定されたアドレスに書き戻す要求先デバイスと、
を具備したことを特徴とするＰＣＩバスシステム。
【請求項７】
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスシステムにおいて、
ライトアクセスと共に送るデータの特定位置の値を第１の値にしてライトアクセスを行って他のデバイス内のレジスタにデータを書き込み、ライトアクセスと共に送るデータの前記特定位置の値を前記第１の値と異なる値にしてライトアクセスを行って他のデバイス内のレジスタに格納された値を読み出す要求元デバイスと、
ライトアクセスと共に送られるデータの特定位置の値が前記第１の値のときに、送られてきたデータを前記ライトアクセスのアドレスに対応するレジスタに書き込み、ライトアクセスと共に送られるデータの前記特定位置の値が前記第１の値でないときに、前記ライトアクセスのアドレスに対応するレジスタの値を指定されたアドレスに書き戻す要求先デバイスと、
を具備したことを特徴とするＰＣＩバスシステム。
【請求項８】
前記特定位置は最上位ビットであることを特徴とする請求項７記載のＰＣＩバスシステム。
【請求項９】
前記書き戻すアドレスを、ライトアクセスと共に送るデータに格納するようにしたことを特徴とする請求項６乃至請求項８いずれかに記載のＰＣＩバスシステム。
【請求項１０】
前記要求先デバイス内に、書き戻すアドレスを格納するレジスタを具備したことを特徴とする請求項６乃至請求項８いずれかに記載のＰＣＩバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パソコン等で使用されているＰＣＩバスを用いたシステムに関し、特に読み出し時のアクセス時間を短縮することができるＰＣＩバスシステムおよびそのアクセス方法に関するものである。
【背景技術】
【０００２】
ＰＣＩバスはプロセッサとＰＣＩデバイス間、あるいはＰＣＩデバイス相互間を接続するバスであり、パソコンでは標準的なバスとして用いられている。このようなＰＣＩバスの構成を図５に示す。ＰＣＩバスは階層構造になっており、階層間はＰＣＩブリッジ、あるいはＰＣＩデバイスで接続される。
【０００３】
図５において、ＰＣＩデバイス１０はＰＣＩバス１１に接続されている。このＰＣＩバス１１にはまたＰＣＩブリッジ１２ａ〜１２ｎおよびＰＣＩデバイス１３ａ〜１３ｎが接続されている。ＰＣＩバス１１とＰＣＩブリッジ１２ａ〜１２ｎ、ＰＣＩデバイス１３ａ〜１３ｎで第１の階層を形成している。
【０００４】
ＰＣＩブリッジ１２ａにはＰＣＩバス１４が接続されている。この図では省略しているが、ＰＣＩバス１４にはＰＣＩブリッジ、ＰＣＩデバイスが接続される。ＰＣＩバス１４とこれら図示しないＰＣＩブリッジ、ＰＣＩデバイスで第２の階層を形成している。以下同様に第３階層以下が形成されるが、この図では書略している。１５は最終段のＰＣＩブリッジであり、ＰＣＩバス１６が接続されている。このＰＣＩバス１６にはＰＣＩデバイス１７ａが接続されている。
【０００５】
図６に示すように、各ＰＣＩデバイスには設定値等を書き込む複数のレジスタ２０ａ〜２０ｎが内蔵されている。これらのレジスタ２０ａ〜２０ｎには固有のアドレスが付与されており、このアドレスに値を書き込むと対応するレジスタにこの値が格納され、同じアドレスを読み出すと各レジスタに格納された値を読み出すことができる。
【０００６】
図７にＰＣＩデバイス１０（要求元デバイス）が、ＰＣＩデバイス１７ａ（要求先デバイス）に内蔵されたレジスタから値を読み出すときの手順を示す。横実線は上からＰＣＩバス１１、１４、１６を表し、横点線はＰＣＩバス１４から同１６に至る途中のＰＣＩバスを表している。
【０００７】
ＰＣＩブリッジ１２ａは、ＰＣＩデバイス１０からのリードアクセスで指定されるアドレスを認識して、このリードアクセスをＰＣＩバス１４に伝搬させる。実線矢印３０はこのことを表している。また、ＰＣＩブリッジ１２ａはリードアクセスに対応するデータを持っていないので、ＰＣＩバス１１にリトライ応答を返す。点線矢印３１はリトライ応答がされたことを表している。
【０００８】
リトライ応答を受信したＰＣＩデバイス１０は、再度ＰＣＩデバイス１７ａ内のレジスタにリードアクセスを行う。ＰＣＩブリッジ１２ａはリトライ応答を返す。ＰＣＩデバイス１０が要求したデータを得るまで、この動作が繰り返される。
【０００９】
ＰＣＩデバイス１０によるＰＣＩデバイス１７ａへのリードアクセスは、次のＰＣＩバスへ伝搬される。実線矢印３２はこのことを表している。この場合も上記次のＰＣＩバスに接続されるＰＣＩブリッジはリードデータを保持していないので、リトライ応答を返す（点線矢印３３）。この伝搬とリトライ応答は、ＰＣＩデバイス１０が要求したデータを得るまで繰り返される。
【００１０】
ＰＣＩデバイス１０のリードアクセスを受信したＰＣＩブリッジ１５は、このリードアクセスをＰＣＩバス１６に伝搬させる（実線矢印３４）。ＰＣＩバス１６にはＰＣＩデバイス１７ａが接続されているのでこのリードアクセスは成立するが、ＰＣＩデバイス１７ａの読み出し準備ができるまで、リードアクセスとリトライ応答が繰り返される。
【００１１】
ＰＣＩデバイス１７ａのレジスタデータが得られると、このデータはＰＣＩバス１６から途中のＰＣＩバスを経て、ＰＣＩバス１４、ＰＣＩバス１１に伝えられる（実線矢印３５、３６、３７）。このようにして、ＰＣＩデバイス１０はＰＣＩデバイス１７ａのレジスタデータを得ることができる。なお、図７のリードレイテンシはＰＣＩデバイス１７ａにリードアクセスが入力されてから実際にデータが出てくるまでの時間、ｔαはデータが出てきてから次のリードアクセスまでの待ち時間である。
【００１２】
ＰＣＩデバイス内のレジスタにデータを書き込むときは、読み出しと同じアドレスを用いてライトアクセスを行う。ライトアクセスのときは、リトライ応答は発生しない。
【非特許文献１】ＰＣＩバス＆ＰＣＩ−Ｘバスの徹底研究  Ｐ１０６、Ｐ１０８  ＣＱ出版社
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、このようなＰＣＩバスのアクセスでは、階層が多くなると何度もリードアクセスを繰り返すので、リードに要する時間が長くなってしまうという課題があった。また、リードレイテンシに次のリードアクセスまでの待ち時間ｔαが加算されるので、リードに要する時間が長くなってしまうと言う課題があった。待ち時間ｔαを短くするためにはリードアクセスの間隔を短くすればよいが、そうするとリードアクセスとリトライ応答の回数が増加し、ＰＣＩバスを占有する時間が増えて、他のＰＣＩデバイス間の通信を阻害してしまうという課題もあった。
【００１４】
従って本発明の目的は、レジスタのリードアクセスをライトアクセスに置き換えることにより、ＰＣＩバスの使用効率を高め、かつ読み出しに要する時間を短縮することができるＰＣＩバスシステムおよびそのアクセス方法を提供することにある。
【課題を解決するための手段】
【００１５】
このような課題を解決するために、本発明のうち請求項１記載の発明は、
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスのアクセス方法において、
各々のレジスタに書き込み用アドレスと読み出し用アドレスを付与し、
書き込みを行うときは、書き込み用アドレスを用いて書き込み対象のレジスタにライトアクセスを行い、
読み出しを行うときは、読み出し用アドレスを用いて読み出し対象のレジスタにライトアクセスを行い、そのレジスタに格納されている値を指定されたアドレスに書き戻すようにしたものである。読み出し時間を短縮することができる。
【００１６】
請求項２記載の発明は、
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスのアクセス方法において、
書き込みを行うときは、ライトアクセスと共に送るデータの特定位置の値を第１の値に設定してライトアクセスを行い、
読み出しを行うときは、ライトアクセスと共に送るデータの特定位置の値を前記第１の値とは異なる値に設定してライトアクセスを行い、そのレジスタに格納されている値を指定されたアドレスに書き戻すようにしたものである。読み出し時間を短縮できる。
【００１７】
請求項３記載の発明は、請求項２記載の発明において、
前記特定位置を最上位ビットとしたものである。ビットシフトでデータが得られる。
【００１８】
請求項４記載の発明は、請求項１乃至請求項３いずれかに記載の発明において、
前記書き戻すアドレスを、ライトアクセスと共に送るデータに格納するようにしたものである。書き戻しアドレスの指定が簡単にできる。
【００１９】
請求項５記載の発明は、請求項１乃至請求項３いずれかに記載の発明において、
書き戻すアドレスを、特定のレジスタに格納するようにしたものである。同じアドレスに書き戻す場合、指定が簡単になる。
【００２０】
請求項６記載の発明は、
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスシステムにおいて、
書き込み用アドレスを用いてライトアクセスを行って他のデバイス内のレジスタに値を書き込み、読み出し用アドレスを用いてライトアクセスを行って他のデバイス内のレジスタに格納されている値を読み出す要求元デバイスと、
書き込み用アドレスを用いて自身に内蔵されているレジスタにライトアクセスがあったときに、そのライトアクセスで送られてきた値を指定されたレジスタに書き込み、読み出し用アドレスを用いて自身に内蔵されているレジスタにライトアクセスがあったときに、そのレジスタに格納された値を指定されたアドレスに書き戻す要求先デバイスと、
を具備したものである。読み出し時間を短縮できる。
【００２１】
請求項７記載の発明は、
ＰＣＩバスを介して複数のデバイスを接続し、これらのデバイス内に配置されたレジスタのそれぞれに異なるアドレスを付与して、このアドレスを用いてアクセスを行って他のデバイス内のレジスタに値を書き込み、またそのレジスタに格納された値を読み出すＰＣＩバスシステムにおいて、
ライトアクセスと共に送るデータの特定位置の値を第１の値にしてライトアクセスを行って他のデバイス内のレジスタにデータを書き込み、ライトアクセスと共に送るデータの前記特定位置の値を前記第１の値と異なる値にしてライトアクセスを行って他のデバイス内のレジスタに格納された値を読み出す要求元デバイスと、
ライトアクセスと共に送られるデータの特定位置の値が前記第１の値のときに、送られてきたデータを前記ライトアクセスのアドレスに対応するレジスタに書き込み、ライトアクセスと共に送られるデータの前記特定位置の値が前記第１の値でないときに、前記ライトアクセスのアドレスに対応するレジスタの値を指定されたアドレスに書き戻す要求先デバイスと、
を具備したものである。読み出し時間を短縮できる。
【００２２】
請求項８記載の発明は、請求項７記載の発明において、
前記特定位置として最上位ビットを用いるようにしたものである。ビットシフトでデータが得られる。
【００２３】
請求項９記載の発明は、請求項６乃至請求項８いずれかに記載の発明において、
前記書き戻すアドレスを、ライトアクセスと共に送るデータに格納するようにしたものである。書き戻しアドレスを簡単に指定できる。
【００２４】
請求項１０記載の発明は、請求項６乃至請求項８いずれかに記載の発明において、
前記要求先デバイス内に、書き戻すアドレスを格納するレジスタを具備するようにしたものである。書き戻しアドレスが同じの場合、指定が簡単になる。
【発明の効果】
【００２５】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２、３、４、５、６、７、８、９および１０の発明によれば、ＰＣＩバスシステムにおいて、レジスタ読み出し用アドレスと書き込み用アドレスの２つのアドレスを設定し、レジスタに格納されたデータを読み出すときに、要求元デバイスはリードアクセスを用いず読み出し用アドレスでライトアクセスし、要求先デバイスはレジスタに格納された値を読み出して要求元デバイスに書き戻すようにした。また、アドレスを２つ用いず、ライトアクセスと同時に送るデータを用いて、読み出しか書き込みかを区別するようにした。
【００２６】
ＰＣＩバスではリードアクセスよりライトアクセスの方が早いので、読み出し時間を短縮することができるという効果がある。この効果は、ＰＣＩバスの階層が多いほど、顕著になる。
【００２７】
また、ライトアクセスではリトライ応答が発生しないので、リトライ応答とリードアクセスが繰り返されてＰＣＩバスを占有し、他のデバイス間通信を妨げることもなくなるという効果もある。さらに、リードアクセスの待ち時間がなくなるので、読み出し時間を更に短縮することができるという効果もある。
【発明を実施するための最良の形態】
【００２８】
以下本発明を、図面を用いて詳細に説明する。図１は本発明に係るＰＣＩバスシステムの一実施例を示す構成図である。図１において、４０は書き込みあるいは読み出しを要求する要求元デバイス、４１は書き込みあるいは読み出し対象の要求先デバイスである。要求先デバイス４１は複数のレジスタ４２が内蔵されており、これらのレジスタ４２の各々には読み出し用アドレスと書き込み用アドレスの２つのアドレスが設定されている。
【００２９】
なお、要求先デバイス４１は、特定のアドレスに対するライトアクセスが入力されると、この特定のアドレスに対応するレジスタに指定された値を書き込むＰＣＩバスマスター機能を有している。また、要求元デバイス４０と要求先デバイス４１は、図５に示すような階層構造を有するＰＣＩバスで接続されているが、この図では記載を省略している。
【００３０】
要求元デバイス４０がレジスタ４２に値を書き込むときは、書き込み用アドレスを用いてレジスタ４２にライトアクセスする。レジスタ４２はライトアクセスで送られてくるデータに書き換えられる。書き込み用アドレスを用いる点を除くと、従来と同じ操作によってレジスタ４２にデータを書き込む。
【００３１】
要求元デバイス４０がレジスタ４２に格納されているデータを読み出すときは、リードアクセスを用いず、読み出し用アドレスを用いてライトアクセスを行う。要求先デバイス４１は、読み出し用アドレスを用いたライトアクセスが行われると、ライトアドレスの対象レジスタに格納されているデータを読み出し、要求元デバイス４０内のレジスタにライトアクセスする。すなわち、要求元デバイス４０にデータを書き戻す。この書き戻しにより、要求元デバイス４０はレジスタ４２に格納されているデータを知ることができる。
【００３２】
この実施例では、レジスタに格納されている値を読み出すためにリードアクセスを用いず、ライトアクセスを用いる点がポイントである。前述したように、リードアクセスではリトライ応答が発生するが、ライトアクセスではリトライ応答は発生しない。そのため、リードレイテンシ終了後に次のリードアクセスを待つ必要がなく、かつ何度もリトライしてＰＣＩバスを占有することがなくなる。
【００３３】
図２に、要求元デバイス４０が要求先デバイス４１内のレジスタに格納されたデータを読み出す手順を示す。なお、ＰＣＩバスは図５に示した構造とし、要求元デバイス４０をＰＣＩデバイス１０、要求先デバイス４１をＰＣＩデバイス１７ａとする。また、横実線はＰＣＩバス１１、１４、１６であり、横点線はＰＣＩバス１４から同１６に至る途中のＰＣＩバスを表している。
【００３４】
ＰＣＩデバイス１０は読み出し用アドレスを用いてＰＣＩデバイス１７ａ内のレジスタにライトアクセスする。このライトアクセスはＰＣＩバス１１に出力される。ＰＣＩブリッジ１２ａは、このライトアクセスをＰＣＩバス１４に伝搬させる。実線矢印５０はこの伝搬を表している。ライトアクセスなので、図７とは異なりリトライ応答は発生しない。このため、ＰＣＩデバイス１０は再度ライトアクセスすることはない。
【００３５】
ＰＣＩバス１４に伝搬したライトアクセスは、途中のＰＣＩブリッジを経由してＰＣＩバスを伝搬し、ＰＣＩブリッジ１５に至る。このときもライトアクセスなので、リトライ応答は発生しない。実線矢印５１はこの伝搬を表している。
【００３６】
ＰＣＩブリッジ１５はライトアクセスをＰＣＩバス１６に伝搬する（実線矢印５２）。これにより、ＰＣＩデバイス１７ａはライトアクセスを受け取る。ＰＣＩデバイス１７ａはライトアクセスのアドレスで指定されたレジスタから値を読み出し、ＰＣＩデバイス１０にこの値を書き戻すためにライトアクセスを行う（実線矢印５３）。このライトアクセスは逆順にＰＣＩブリッジを辿り（実線矢印５４、５５）、ＰＣＩデバイス１０に入力される。なお、読み出しレイテンシはＰＣＩデバイス１７ａがレジスタから値を読み出す時間である。
【００３７】
一般にＰＣＩバスではリードアクセスよりライトアクセスの方が早くなるので、リードアクセスの代わりにライトアクセスを用いることにより、応答時間を改善することができる。この効果は要求元から要求先に至るＰＣＩブリッジの段数が多くなるほど顕著になる。また、ライトアクセスではリトライ応答が発生しないので、何回も同じアクセスが発生することはない。従って、ＰＣＩバスの使用効率が低下することもなくなる。さらに、リードアクセスの待ち時間（図７のｔα）が不要になるので、その分応答時間が早くなる。
【００３８】
要求先デバイスであるＰＣＩデバイス１７ａがレジスタに格納されているデータを要求元デバイス（ＰＣＩデバイス１０）に書き戻すためには、書き戻し先のアドレスを知る必要がある。このアドレスは要求元デバイスが出力するライトアクセスと同時に送るデータに格納しておくようにしてもよく、また格納先アドレスを指定するためのレジスタを設け、予めこのレジスタに格納先アドレスを保存しておくようにしてもよい。
【００３９】
なお、レジスタに格納されているデータを読み出すときは、読み出し用アドレスを用いてライトアクセスするが、書き込み用アドレスを用いてリードアクセスすることにより、レジスタに格納されたデータを読み出せるようにしてもよい。このようにすると、従来のＰＣＩバスシステムとの互換性を図ることができる。
【００４０】
図１実施例では読み出し用アドレスと書き込み用アドレスの２つのアドレスを用いたが、アドレスを１つとし、ライトアクセスと同時に送るデータを用いて読み出しであるか書き込みであるかを区別するようにしてもよい。
【００４１】
図３にこのときに用いるデータ構造の一例を示す。図３（Ａ）はレジスタに書き込むときのデータ構造であり、最上位ビットを０とする。他のビット（＊部）には書き込むデータを格納する。同図（Ｂ）はレジスタからデータを読み出すときのデータ構造であり、最上位ビットを１とする。他のビット（＊部）は通常用いないが、この部分に書き戻しアドレスを格納するようにしてもよい。このようなデータ構造にすることにより、１ビット左シフトするだけで書き戻しアドレスを得ることができる。
【００４２】
図４にＰＣＩバスシステムの構成を示す。なお、この図でもＰＣＩバスの詳細な構造は記載を省略している。図４において、６０は要求元デバイス、６１は要求先デバイスである。要求先デバイス６１にはレジスタ６２が内蔵されている。このレジスタ６２は１つのアドレスを有している。
【００４３】
要求元デバイス６０がレジスタ６２にデータを書き込むときは、同時に送るデータの最上位ビットを０にし、残りのビットに書き込むデータを格納して、レジスタ６２にライトアクセスする。要求先デバイス６１は、ライトアクセスと同時に送られてきたデータの最上位ビットが０であると、最上位ビット以外を書き込みデータとしてレジスタ６２に書き込む。
【００４４】
要求元デバイス６０がレジスタ６２に格納されたデータを読み出すときは、同時に送るデータの最上位ビットを１にしてレジスタ６２にライトアクセスする。要求先デバイス６１は、ライトアクセスと同時に送られてきたデータの最上位ビットが１であると、レジスタ６２に格納されているデータを読み出し、要求元デバイス６０に書き戻す。
【００４５】
この実施例でも、レジスタ６２に格納されているデータを読み出すときにリードアクセスを用いないので、図１実施例と同じ理由で応答時間を早くすることができる。また、リトライ応答が発生しないので、ＰＣＩバスを占有して他のＰＣＩデバイスのアクセスを妨げることがなくなる。
【００４６】
なお、レジスタからデータを読み出すときは、ライトアクセスと同時に送るデータは最上位ビット以外は使用しない。この使用しない部分を使って書き戻しアドレスを指定するようにすることもできる。この場合、１ビット左シフトすることにより実アドレスを得ることができるので、全アドレス空間にアクセスすることができる。また、図１実施例と同じように、書き戻しアドレスを格納するレジスタを設けてもよい。
【００４７】
また、この実施例では最上位ビットで読み出し、書き込みを区別するようにしたが、任意のビット、あるいは２ビット以上のデータで区別するようにしてもよい。但し、最上位ビットまたは最下位ビットを用いると、１ビットのシフト演算で書き込みデータあるいは実アドレスを得ることができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施例を示す構成図である。
【図２】ＰＣＩバスのアクセスを示す図である。
【図３】本発明の他の実施例で用いるデータ構造を示す図である。
【図４】本発明の他の実施例の構成図である。
【図５】ＰＣＩバスの階層図である。
【図６】レジスタの構成図である。
【図７】従来のＰＣＩバスのアクセスを示す図である。
【符号の説明】
【００４９】
１０、１３ａ〜１３ｎ、１７ａ  ＰＣＩデバイス
１２ａ〜１２ｎ、１５  ＰＣＩブリッジ
４０、６０  要求元デバイス
４１、６１  要求先デバイス
４２、６２  レジスタ
【図１】
2008123413.tif 000003
【図２】
2008123413.tif 000004
【図３】
2008123413.tif 000005
【図４】
2008123413.tif 000006
【図５】
2008123413.tif 000007
【図６】
2008123413.tif 000008
【図７】
2008123413.tif 000009