(57)【特許請求の範囲】
【請求項１】
ＡＧＰ適合デバイスと、ＡＧＰバスを通じて連絡するように構成された回路配置であって、
（ａ）ＰＣＩタイプ信号プロトコルを用いて、増速ＡＧＰ高速書込トランザクションのアドレス相を扱うように構成された第１の論理回路を含有する第１の回路ブロックであって、ＰＣＩ適合回路ブロックを有し、前記第１の論理回路が、前記ＡＧＰバスを通じる伝送のためにＡＧＰ高速書込アドレス情報を格納するように構成されたアドレスパスを含有している第１の回路ブロックと、
（ｂ）第２の論理回路を含有する第２の回路ブロックであって、前記第２の論理回路が、ＡＧＰタイプ信号プロトコルを用いて、前記増速ＡＧＰ高速書込トランザクションのデータ相を扱うように構成され、また、前記第２の論理回路が、前記ＡＧＰバスを通じる伝送のために増速ＡＧＰ高速書込データ情報を格納するように構成された増速データパスを含有している第２の回路ブロックと、
（ｃ）前記第１の論理回路に、前記第１の論理回路における前記アドレス相の開始の後に、前記第２の論理回路における前記増速ＡＧＰ高速書込トランザクションの前記データ相を開始させるために、前記第１の論理回路と前記第２の論理回路との間に結合されたコントロール信号パスと、を有する回路配置。
【請求項２】
前記増速データパスが、２ｘまたは４ｘ ＡＧＰ高速書込トランザクションのために高速書込データ情報を格納するように構成され、前記第１の論理回路が、さらに、ＰＣＩライトトランザクションのためにＰＣＩライトデータ情報を格納するように構成された非増速データパスを含有し，
前記第１の論理回路が、ＰＣＩライトトランザクションのアドレス相とデータ相との両方を扱うように構成されていることを特徴とする請求項１に記載の回路配置。
【請求項３】
前記第２の回路ブロックが、さらに、前記第２の回路ブロックの高周波ドメインポーション内に定められた伝送アウタループ回路を含有し、前記伝送アウタループ回路が、前記増速データパスに結合した１入力および１出力を含有している請求項２に記載の回路配置であって、さらに、
（ａ）１出力、および、前記アドレスパスおよび前記非増速データパスにそれぞれ結合された第１および第２の入力を含有する第１のマルチプレクサと、
（ｂ）前記ＡＧＰバスに結合された１出力、および、前記第１のマルチプレクサの前記出力および前記伝送アウタループ回路の前記出力にそれぞれ結合された第１および第２の入力を含有する第２のマルチプレクサと、を有することを特徴とする回路配置。
【請求項４】
前記第２の回路ブロックが、ＡＧＰ適合回路ブロックを有し、前記第２の論理回路が、さらに、前記ＡＧＰ適合デバイスによって開始されるＡＧＰタイプトランザクションを扱うように構成されていることを特徴とする請求項１に記載の回路配置。
【請求項５】
前記第２の回路ブロックが、単一ブロック増速ＡＧＰ高速書込トランザクションのみに対応するように構成されていることを特徴とする請求項１に記載の回路配置。
【請求項６】
前記第１の論理回路が、前記コントロール信号パスを通じて、前記第２の論理回路にアドレスバリッドコントロール信号およびトランスファサイズコントロール信号を伝送することによって、前記第２の論理回路において前記増速ＡＧＰ高速書込トランザクションの前記データ相を開始するように構成されていることを特徴とする請求項１に記載の回路配置。
【請求項７】
請求項１に記載の回路配置を有する集積回路デバイス。
【請求項８】
中央処理装置（ＣＰＵ）に、前記ＡＧＰバス、システムメモリ、ＰＣＩバスをインターフェースさせるのに用いるためのコアロジックを有することを特徴とする請求項７に記載の集積回路デバイス。
【請求項９】
請求項１に記載の回路配置を有する装置。
【請求項１０】
請求項１に記載の回路配置を決定する機能をコンピュータ上において実現するためのハードウェア決定プログラム。
【請求項１１】
請求項１０に記載のハードウェア決定プログラムが記録された記録媒体。
【請求項１２】
中央処理装置（ＣＰＵ）に、システムメモリをメモリバスを通じて、ＡＧＰ適合デバイスをＡＧＰバスを通じてインターフェースさせるように構成された回路配置であって、
（ａ）ＣＰＵバスを通じて前記ＣＰＵとインターフェースするように構成されたＣＰＵインターフェースと、
（ｂ）前記ＣＰＵインターフェースに結合され、かつ、前記メモリバスを通じて前記システムメモリとインターフェースするように構成されたメモリコントローラと、
（ｃ） 前記ＣＰＵインターフェースおよび前記メモリコントローラに結合されたＡＧＰコントローラであって、前記ＣＰＵインターフェースによって要求されたＡＧＰ高速書込トランザクションを扱うように、かつ、前記メモリコントローラとともにＡＧＰリードトランザクションおよびＡＧＰライトトランザクションを開始するように構成されたＡＧＰコントローラと、を有する回路配置において、前記ＡＧＰコントローラが、
（ｉ）前記ＣＰＵインターフェースによって要求されたＡＧＰ高速書込トランザクションを開始するように構成された第１の論理回路を含有するＰＣＩ回路ブロックであって、前記第１の論理回路が、アドレスパスおよび１ｘデータパスを含有し、前記アドレスパスが、ＰＣＩおよびＡＧＰ高速書込アドレス情報を格納するように構成され、前記データパスが、ＰＣＩライトデータ情報を格納するように構成されているＰＣＩ回路ブロックと、
（ｉｉ）ＡＧＰタイプ信号プロトコルに基づいてトランザクションを扱うように構成された第２の論理回路を含有するＡＧＰ回路ブロックであって、前記第２の論理回路が、２ｘ／４ｘ
ＡＧＰ高速書込データ情報を格納するように構成された２ｘ／４ｘデータパスを含有しているＡＧＰ回路ブロックと、を有し、
前記第１の論理回路が、さらに、ＰＣＩタイプ信号プロトコルを用いて前記ＡＧＰ高速書込トランザクションのアドレス相を扱うように、かつ、前記２ｘ／４ｘデータパスを用いて前記第２の論理回路による前記ＡＧＰ高速書込トランザクションのデータ相の操作を開始するように構成されている回路配置。
【請求項１３】
増速ＡＧＰ 高速書込トランザクションを扱う方法であって、
（ａ）ＰＣＩ適合回路ブロックを有する第１の回路ブロックの内部に定められた第１の論理回路において、ＰＣＩタイプ信号プロトコルを用いて、増速ＡＧＰ高速書込トランザクションのアドレス相を扱う過程であって、前記第１の論理回路が、ＡＧＰバスを通じる伝送のためにＡＧＰ高速書込アドレス情報を格納するように構成されたアドレスパスを含有している過程と、
（ｂ）ＡＧＰタイプ信号プロトコルを用いて、第２の回路ブロックの内部に定められた第２の論理回路における増速ＡＧＰ高速書込トランザクションのデータ相の操作を、前記第１の論理回路とともに、開始する過程であって、前記第２の論理回路が、ＡＧＰバスを通じる伝送のために増速ＡＧＰ高速書込データ情報を格納するように構成された増速データパスを含有している過程と、を有する方法。
【請求項１４】
前記増速データパスが、２ｘまたは４ｘ ＡＧＰ高速書込トランザクションのために高速書込データ情報を格納するように構成され、前記第１の論理回路が、さらに、ＰＣＩライトトランザクションのためにＰＣＩライトデータ情報を格納するように構成された非増速データパスを含有している請求項１３に記載の方法であって、さらに、前記第１の論理回路の内部において、ＰＣＩライトトランザクションの前記アドレス相と前記データ相との両方を扱う過程を有する方法。
【請求項１５】
前記第２の回路ブロックが、ＡＧＰ適合回路ブロックを有している請求項１３に記載の方法であって、さらに、前記第２の回路ブロックを用いて、ＡＧＰ適合デバイスによって開始されるＡＧＰタイプトランザクションを扱う過程を有する方法。
【請求項１６】
前記第２の回路ブロックが、単一ブロック増速ＡＧＰ高速書込トランザクションのみに対応するように構成されていることを特徴とする請求項１３に記載の方法。
【請求項１７】
前記データ相の操作を開始する過程が、前記第１の論理回路と前記第２の論理回路とを互いに結合させるコントロール信号パスを通じて、前記第２の論理回路にアドレスバリッドコントロール信号およびトランスファサイズコントロール信号を伝送する過程を含有することを特徴とする請求項１３に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、おおむね、エレクトロニックバスアーキテクチャ、および、それに類似の接続に関し、特に、Accelerated graphics port (AGP)コントローラを用いた高速書込トランザクションの対応に関するものである。
【０００２】
【従来の技術】
コンピュータおよび他の電子デバイスが、ますます増大する困難なタスクを扱うことを求められるにつれて、ますます高い性能要請が、そうしたデバイスに寄せられている。情報がそうしたデバイス間で伝送される速度が、電子システムの総合性能に重大な影響を持ち得るから、多くのデバイスにおいて特別の関心事は、例えば、互いに接続し合ったデバイス間の通信速度ないし「バンド幅」である。
【０００３】
コンピュータおよび他の電子デバイスの絶えず増加する通信要求に対応するために、いくつかの異なる接続標準が、過去何年もに渡って開発されてきた。例えば、Peripheral Component Interconnect (PCI)標準が、コンピュータの中央処理装置(CPU)に外部デバイスを接続するために開発された。PCI接続ないしバスは、CPUへのローカルバスに対するブリッジを介してCPUにインターフェースし、オーディオプロセッサ、ストレージコントローラ、グラフィックスコントローラ、ネットワークアダプタ等のPCI適合デバイスが、そのバスに結合される。
【０００４】
PCI標準は、それ以前の技術の上に重要な改良を演じたけれども、また、PCI標準が、より大きなバンド幅容量に対応するように改訂されたという事実にも関わらず、近年のコンピュータの増大する入力／出力要件は、それ以上の接続技術の開発を必要としている。
【０００５】
例えば、AGP標準が、CPUの介在を要せずに、グラフィックスアクセラレータないしコントローラ（AGP適合デバイスとして機能する）とシステムメモリとの間でグラフィカルデータを伝送するための特定の目的に用いられる高速接続を供給するために、PCI標準の拡張として開発されている。多くのグラフィカルアプリケーション、特に3Dアプリケーションは、他に比して高いメモリバンド幅要件を持ち、したがって、AGP適合接続ないしバスは、そのようなメモリ集約的なアプリケーションにおけるグラフィカルデータの伝送速度を上げる助けとなる。
【０００６】
PCI標準とAGP標準とに対応するために、コンピュータは、通例、CPU、システムメモリ、AGPバス、PCIバスの間にインターフェースを供給するための、コアロジックとしても知られているチップセットの使用に頼っている。AGPバスとの接続のために、コアロジックは、AGPタイプトランザクションとPCIタイプトランザクションとの両方を扱うために必要なAGPコントローラを含有している。AGPマスタ（例えば、グラフィックスコントローラ）は、AGPトランザクションとPCIトランザクションとのどちらを用いてもシステムメモリにデータを転送できるが、CPUは、PCIトランザクションを用いてしかAGPマスタにアクセスすることができず、それによって、AGPマスタは、PCIターゲットとしても動作することができる。
【０００７】
AGPバスが、特定の目的に用いられる直接接続であることを考えると、CPUは、通例、AGP適合デバイスとシステムメモリとの間のデータ転送に関わらない。その結果、多くの例において、メモリへのCPUアクセスと同様、PCI動作も、AGP動作と並列に生じることができる。
【０００８】
多くのグラフィックス動作は、しかしながら、依然として、CPUの関わりを必要とし、そして、そういうものとして、AGP標準の初期のインターフェース仕様、改訂1.0は、CPUが、2ステップ手続きによってAGP適合デバイスにデータを書き込むことを可能にしている。本来的に、CPUは、システムメモリにデータを書き込むことを要し、その後、AGP適合デバイスがそのシステムメモリからそのデータを読み出すことを（PCIトランザクションを通じて）命令する。
【０００９】
しかしながら、改訂2.0ではじめて、AGP仕様は、高速書込トランザクションのコンセプトに対応した。高速書込トランザクションによって、データが、システムメモリに書き込まれ、その後、そこから読み出されるということを要することなく、データは、CPUからAGP適合デバイスに直接転送される。AGP仕様の改訂2.0は、2x（ツーエックス）および
4x（フォーエックス）速度（即ち、AGPバスのクロック周波数の2倍および4倍）の高速書込トランザクションに対応している。
【００１０】
通常のPCIのライトトランザクションは、1x速度で行われ、PCIコヒレンシーとオーダリングルールに従う。しかしながら、AGP高速書込トランザクションでは、PCIバスプロトコルとAGPバスプロトコルとが組み合わせて用いられており、それによって、PCIタイプトランザクションが、トランザクションを開始するのに用いられ、データフローは、一般に、AGPタイププロトコルに基づいて行われる。したがって、コアロジックデザインにおけるAGPバスへのインターフェース（しばしば、AGPコントローラと呼ばれる）は、通常、PCIトランザクション操作回路とAGPトランザクション操作回路との両方を含有しなければならない。
【００１１】
しかしながら、コアロジックデザインのAGPコントローラにAGP高速書込対応をインプリメントすることは、前のコアロジックデザインを改変しようとするときに特に、問題を発生し得る。特に、集積回路が、ますます複雑になるにつれて、集積回路デザインの設計およびテストに伴う開発時間および開発経費も、上昇している。可能なときはいつでも、モジュールの「ビルディングブロック」アプローチが用いられ、それによって、デザインが、以前に開発され、テストされた回路ブロックから組み上げられる。デザインが、先在ブロックから組み立てられると、しばしば、創作する必要のあるカスタム回路の量が減少し、同時に、デザインが適切に機能することを実証するために要するテスト量も減少する。
【００１２】
しかしながら、AGP適合コアロジックデザインに、完全なAGP 2.0高速書込機能への対応を置くこと（例えば、2xあるいは4xあるいは「増速」AGP高速書込トランザクションに対応すること）は、従来、以前のコアロジック回路ブロックが、個々に再使用できるとわかっていなかったから、相当の量のカスタムデザインを必要としてきた。1例として、PCIターゲットあるいはPCIマスタとして機能する回路ブロックは、AGP
2.0コントローラインプリメンテーションにおいて役立つためには、通常、2xおよび4xデータフローを扱う回路を付加することを要する。そのような機能を付加することは、時間を費やし、また、費用のかかることであり、さらに、他の応用に、例えば標準的なPCIブロックとして、用いるためのデザインの転用可能性を縮小してしまう。さらに、AGPロジックは、高周波2x/4xアウタタイミングループ回路を必要とするから、PCI回路ブロック内に高速書込機能をインプリメントすることは、極めてタイミングクリティカルな高周波データパスに、さらなるデータパスを付け加えることになる。
【００１３】
他の1例として、AGP 2.0仕様は、増速高速書込トランザクションを介して、マルチブロック転送のコンセプトに対応している。この状況では、1ブロックは、4クロック周期に転送できるデータ量（通常、2x速度で32バイト、4x速度で64バイト）である。マルチブロックの増速高速書込転送では、スロットリングが、ブロック基準で実行され、それは、他のAGPトランザクションと同様であるが、PCIトランザクションとは相当に異なる。したがって、完全適応AGP
2.0コアロジックデザインに、マルチブロック転送のための対応をインプリメントするためには、AGPコントローラのPCI操作回路が、マルチブロックトランザクションをスロットリングできるということが必要とされる。さらに、マルチブロック転送が許可されるときにはいつでも、種々の例外的な状況、例えば、アボート状態、切断状態などを扱わなければならない。この機能の付加は、AGPコントローラ回路の複雑性を増加させ、したがって、以前のデザインの再使用を不可能にするために、開発時間および開発コストを増加させ、また、デザインの転用可能性を縮小させる。
【００１４】
したがって、AGPコントローラの従来技術には、これまで必要とされてきたよりも複雑性と努力とを相当に軽減しながら、高速書込機能に対応するという重大な要求が存在している。
【００１５】
【課題を解決するための手段】
本発明は、1つの見地において、増速（例えば、2xあるいは4x）AGP高速書込トランザクションを処理する間に用いるデータパスが、そのようなトランザクションのアドレス相を扱うために従来用いられているPCI回路ブロックの外部の回路ブロックの内部にインプリメントされている回路配置および方法を提供することによって、従来技術に伴うそれらの、そして、他の問題に取り組む。データパスをPCI回路ブロックの内部にインプリメントせずに、PCI回路ブロックと他の回路ブロックとの間にコントロールパスを定めることによって、トランザクションのアドレス相が、PCI回路ブロックにおいて開始されてしまった後、PCI回路ブロックが、他の回路ブロックにおける増速AGP高速書込トランザクションのデータ相を開始させることが可能になる。
【００１６】
このようにAGP高速書込機能を分配することによって、PCI回路ブロックのデザインは、相当に簡単になり、しばしば、先在する標準化されたPCI回路ブロックデザインを、ほとんど変更することなくAGP応用に再使用することを可能にする。その結果、本発明に適合するように構成されたPCI回路ブロックデザインは、従来のデザインよりも相当に転用可能性に富むことができる。さらに、PCI回路ブロックから、本発明に基づかなければAGPコントローラデザインに用いられる、しばしばタイミングクリティカルな高周波ドメイン回路にまで延びるパスを追加することを、しばしば回避できる。
【００１７】
本発明は、他の1つの見地において、AGP高速書込トランザクションを生成するために用いられる論理回路が、単一ブロック増速AGP高速書込トランザクションのみに対応するように設計されている、即ち、その論理回路が、多ブロック増速AGP高速書込トランザクションを生成することができない回路配置および方法を提供することによって、さらなる問題に取り組む。そのようにすることによって、AGPリード、AGPライト、PCIトランザクションのような他のトランザクションが、拡張された多ブロック増速AGP高速書込トランザクションによって遅延される恐れがほとんどなくなるから、AGPバス上でのトランザクションの混じり具合が、より一様になることがしばしばとなる。さらに、AGP高速書込トランザクションをインプリメントしている論理回路が、相当に簡単になり、それでもなお、従来のPCIライトトランザクションに優る、より高速性を備えることが可能である。多ブロック転送の排除は、特に、しばしば、種々のアボート状態に対する監視の必要性を排除し、したがって、AGP高速書込機能のインプリメントに要するゲートカウントを減少させる。さらに、現存するデザインは、多ブロックトランザクションも対応されている場合にそうであろうよりも相当に少ない変更しか必要としないから、しばしば、単一ブロックのみの機能は、従来のデザインよりも転用可能性に富む。
【００１８】
本発明を特徴付けるこれらの、そして、他の利点および観点は、併記の、本発明のさらなる一部を形成している請求項に規定されている。しかしながら、本発明およびその使用を通して達成される利点および目的をより良く理解するために、図面、および本発明の典型的な実施例が記述されている付随の記載事項を参照されたい。
【００１９】
【発明の実施の形態】
図面を参照すると、それぞれの図において、同じ番号が同じ部分を表わしている。図1は、マイクロプロセッサのような中央処理装置(CPU) 14に、システムメモリ、グラフィックスコントローラ18、PCIバス20をインターフェースさせるのに用いるためのチップセット即ちコアロジック12を含む装置10を図示している。装置10は、例えば、PCあるいはMacintoshをベースとしたコンピュータのようなパーソナルコンピュータであってもよい。もっとも、他の形のコンピュータ、例えば、ハンドヘルドコンピュータ、マルチユーザコンピュータ、サーバ、メインフレーム、ポータブルコンピュータ、あるいは、他の形の電子デバイスも、また、本発明に適合する装置と考えることができる。
【００２０】
コアロジック12は、しばしば「ノースブリッジ」と呼ばれ、通常、CPUバス24を通じてCPU
14に連絡を供給するためのCPUインターフェース22と、メモリバス28を通じてシステムメモリ16に連絡を供給するためのメモリインターフェース26とを含有している。AGPコントローラ30が、AGPバス32を通じて、コアロジックにグラフィックスコントローラ18をインターフェースさせている。グラフィックスコントローラ18は、通常、特定の目的に用いられるビデオメモリ34とインターフェースしており、CRT、LCDパネル、あるいは、他のディスプレイといったディスプレイ36を駆動するために利用される。さらに、コアロジック12は、また、PCIバス20（個々に図示されていない）へのインターフェースを供給するようにも構成されており、したがって、複数のアクセス可能なI/Oデバイス40（例えば、既知のPCIデバイスは他にもあるが、とりわけ、オーディオカード42、記憶デバイス44）に連絡を供給する。
【００２１】
用語「装置」は、コンピュータおよび他の電子デバイスのような種々のデータ処理システムのほかにも、個々の集積回路デバイスあるいはそれらの組み合わせを含む、そのようなシステム内部の種々の部品も包含すると考えることができることを認識されたい。さらに、装置内部には、1つ以上の回路配置が、通常、1つ以上の集積回路デバイス上にインプリメントされて、また、オプション的には、それらとインターフェースする付加的な個別部品を含んで、包含されていてもよい。その回路配置は、通常、集積回路デバイス上の回路配置のレイアウトを決定する、本明細書においてハードウェア決定プログラムと呼ぶ、1つ以上のコンピュータデータファイルを用いて、少なくとも部分的に設計され、製造されるということも認識されたい。そのプログラムは、通常、デザインツールによって既知の通りに生成され、その後、半導体ウェハに施される回路配置を決定するレイアウトマスクをつくるための製造工程中に用いられる。通常、そのプログラムは、VHDL,
verilog, EDIFなどのハードウェア決定言語(HDL)を用いて、あらかじめ定められたフォーマットで与えられる。したがって、本発明は、完全に機能している集積回路デバイスにインプリメントされた回路配置という状況において記述されてきたし、また、以下においても記述されるが、当業者には容易に理解されるように、本発明に適合する回路配置は、種々の形式のプログラム製品として流通可能であり、そして、本発明は、その流通を実際に遂行するために用いる信号保持媒体の特定のタイプに関係なく等しく当てはまる。信号保持媒体例には、揮発性および不揮発性メモリデバイス、とりわけ、フロッピディスク、ハードディスクドライブ、CD-ROM、DVDのような記録可能なタイプの媒体、および、デジタルおよびアナログの通信リンクのような伝送タイプ媒体が含まれるが、それらに限定されるわけではない。
【００２２】
AGPブロックへの2x/4x AGP高速書込データパスのインプリメンテーション
従来のAGPコントローラデザイン上への1改良には、増速AGP高速書込データパスが、アドレスおよび非増速データパスがインプリメントされているのと同じ回路ブロックにインプリメントされた場合がそうであるように、PCI回路ブロックではなくてAGP回路ブロックに増速AGP高速書込データパスをインプリメントすることが、含まれる。特に、上に検討したように、AGP回路ブロックへの増速AGP高速書込データパスのインプリメンテーションは、標準的なPCI回路ブロックに求められるカスタム化を相当に減少させ、それによって、本発明に適合するコアロジックデザインに用いるのに適したPCI回路ブロックを、他の応用、例えばPCIブリッジ回路のような非AGP応用、ノースブリッジ内でのPCIインターフェースコントローラ、埋め込みPCIバスのためのPCIインターフェースコントローラなどに用いるのに、より複雑性を少なくし、より転用性を高め、より受け入れ易くする。もう1つの利点は、極めてタイミングクリティカルな2x/4x伝送アウタタイミングループ回路に対するデータパスの数を減少できることである。
【００２３】
従来技術においてよく知られているように、「回路ブロック」とは、通常、多数のデザインにおける部品の再利用を促進する目的のために、個々の論理的な実体として開発され、テストされ、認められている回路デザインの部品のことを一般に言う。回路ブロックを用いる集積回路のデザインは、一般に、可能な限りに互いに多数の回路ブロックを組み立て、その後、それらの回路ブロックを互いに最も効果的なデザインにインターフェースするに必要な任意の「グルー・ロジック」を開発することによって実施される。先在回路ブロックの集合を利用することによって、開発者は、先在ブロックをインターフェースするのに、最小のカスタム化された回路しか作製する必要がないことがしばしばであるから、全てのブロックの機能をゼロから再現しなければならない場合よりも、開発コストおよび開発時間を、相当に軽減することができる。回路設計者は、また、先在ブロックに実行された以前の認証およびテスト結果に依拠して、デザイン中の各々の、そして、全ての回路ブロックの内部状況の全てをテストする必要性を除外できることもしばしばである。
【００２４】
回路ブロック間への回路機能の分配は、任意ではなく、そういうものとして、増速AGP高速書込トランザクションの処理に用いる増速データパスが、そのようなトランザクションのアドレス相をインプリメントする回路ブロックと異なる回路ブロック内に存在しているAGPコントローラデザインは、回路部品間の任意の輪郭化に基づいてはいない。それどころか、概念の段階から、特定の回路ブロックに割り当てられる回路ブロックは、通常、デザイン、テスト、認証過程を通じて、明確に輪郭されている。
【００２５】
さらに、増速AGP高速書込トランザクションのコンセプトに関しては、AGP仕様の改訂2.0で、2xおよび4x速度の増速トランザクションが対応されている。しかしながら、AGP仕様の将来の改定では、本発明に適合するように扱うのに適した他の増速トランザクションが決められることが、予想される。したがって、本発明は、改訂2.0のAGP仕様に基づく応用のみに限定されるわけではない。
【００２６】
図2は、コアロジック12のCPUインターフェース22、メモリインターフェース26、AGPコントローラ30間のAGPトランザクションに関係する主アドレスパスおよび主データパスを図示している。図示されているインプリメンテーションにおけるAGPコントローラ30は、PCI回路ブロック50およびAGP回路ブロック52を有しており、それらは、それぞれ、AGPバス32を通じて結合するAGP適合デバイスに関係するPCIタイプ信号プロトコルおよびAGPタイプ信号プロトコルを扱う。
【００２７】
AGP改訂2.0仕様と合致して、PCIタイプトランザクションが、AGPコントローラ上でCPUによって開始されることを可能にするように、アドレスパス54が、CPUインターフェース22からPCI回路ブロック50に経路しており、データパス56が、CPUインターフェース22とPCI回路ブロック50との間に定められている。また、PCI回路ブロック50が、CPUインターフェース22およびメモリインターフェース26の各々上でPCIタイプトランザクションを開始させることを可能にするように、アドレスパス58が、PCI回路ブロック50からCPUインターフェース22およびメモリインターフェース26の各々に経路しており、データパス60が、PCI回路ブロック50とメモリインターフェース26との間に延びている。さらに、AGP回路ブロック52によって開始されるAGPタイプトランザクションを扱うために、アドレスパス62およびデータパス64が、AGP回路ブロック52とメモリインターフェース26との間に延びている。データパス56,
60, 64の各々は、両方向パスを用いてインプリメントしてもよいし、単方向パスのペアを用いてインプリメントしてもよい。
【００２８】
本発明に適合するように増速AGP高速書込データパスのインプリメンテーションに対応するために、CPUインターフェース22からAGP回路ブロック52に経路する追加データパス66が、AGP仕様によって決められている上述のアドレスパスおよびデータパスに加えて設けられている。増速（例えば、2xあるいは4x）AGP高速書込データが、増速AGP高速書込トランザクションを実行するようにAGP回路ブロックに書き込まれるのは、このデータパス（単方向であるが、他のインプリメンテーションでは両方向であることもある）を通してである。
【００２９】
次に、図3は、AGPコントローラ30をより詳細に図示しており、特に、回路ブロック50,
52の各々内に決められているアドレスパスおよびデータパスあるいはパスウェイと、各回路ブロックによって処理されるトランザクションを管理するのに利用されるステートマシンとを図示している。
【００３０】
特に、図3に示されているように、AGPトランザクションは、1つのAGPアドレスパス70および複数のAGPデータパス72-78を介して処理され、それらを通して、グラフィックスコントローラ（AGPバスを介して）とシステムメモリとの間で、アドレス情報およびデータ情報が渡される。AGP仕様の改訂2.0に合致して、個々のデータパス72,
74, 76, 78は、上位優先読み出し(HPR)データ、下位優先読み出し(LPR)データ、上位優先書き込み(HPW)データ、下位優先書き込み(LPW)データ用に定められている。
【００３１】
また、AGP仕様に決められているように、読み出されたデータが2xあるいは4x速度で処理されてもよいことを考慮して、データパス72,
74は、AGPコントローラデザインの高周波ドメインポーション82の内部に定められた伝送アウタタイミングループ（AGP 2xロジック80）につながれている。回路80の出力は、AGPバスへの接続用のマルチプレクサ84につながれる。
【００３２】
AGP高速書込トランザクションの如きPCIタイプトランザクションに関しては、PCIアドレスパス86が、PCI回路ブロック50の内部に定められており、アドレスパス86の出力は、マルチプレクサ84の他方の入力に出力するマルチプレクサ88の一方の入力につながれている。しかしながら、本発明に合致する、本明細書に記述のAGP高速書込データ操作をインプリメントするため、回路ブロック50を通して全てのライトデータを通すのではなくて、互いに分離したデータパス90および
92が、非増速（例えば、1x）PCIデータ、および、増速AGP高速書込データの如き増速（例えば、2xあるいは4x）PCIデータのために定められている。さらに、それらの互いに分離したデータパス90および
92は、それぞれ、回路ブロック50および52にインプリメントされている。データパス90の出力は、マルチプレクサ88の他方の入力につながれ、一方、データパス92の出力は、回路デザインの高周波ドメイン82内の回路80につながれている。
【００３３】
PCIライトデータは、全PCIデータと同様にAGP仕様の下で扱われるから、容易に察知されるように、回路ブロック50の内部のPCIアドレスパス86および1xデータパス90のインプレメンテーションは、本質的に、標準的なPCI回路ブロックに必要とされるのと同じデザインである。さらに、AGPバスを通じてのPCIライトトランザクションは、本質的に、PCIプロトコルに従うから、回路ブロック50の内部にインプレメントされたPCIステートマシン94も、本質的に、非AGPインプレメンテーションの場合と同じである。
【００３４】
通常、AGPインプレメンテーションの場合に回路ブロック50になされる必要のあってもよい、標準化されたPCI回路ブロックデザインからの唯一の変更は、PCIステートマシン94と回路ブロック52の内部にインプリメントされたAGPステートマシン98との間のコントロールパス96の追加である。追加のコントロールパスは、PCIステートマシンとAGPステートマシンとが、AGP高速書込トランザクション中に通信して、PCI回路ブロックによるアドレス相の開始に続く、そのトランザクションのデータ相を調整することを可能にする。
【００３５】
他のタイプのコントロール信号が、AGPコントローラ30におけるAGP高速書込トランザクションの動作を調整するために、ステートマシン94,
98間につながれてもよく、図4は、回路ブロック50, 52間の動作を調整するために用いられるアドレスバリッド(ADDR VALID)信号、トランスファサイズ(XFER
SIZE)信号、データエンド(DATA END)信号を含む、コントロール信号の典型的な1セットを図示している。図4は、例えば、2X増速AGP高速書込トランザクションの実行中のAGPアドレス／データバス(AGP
AD BUS)の状態を示しており、そこで、最初のクロックにおいて、アドレス情報が、PCI回路ブロック50によって、AGPバス上に置かれる。バスにアドレスを置くのと同時に、回路ブロック50が、回路ブロック52にAGP高速書込トランザクションのデータ相を次のクロック周期で開始してもよいことを通知するADDR
VALID信号を宣言する。この信号を宣言するのと同時に、そのトランザクションによって伝送されるデータ量が、XFER SIZE信号上に宣言される。したがって、最初のクロック周期に続いて、AGPステートマシンは、AGPバスに増速高速書込データ（データ
D1-D8によって表わされる）を置く用意ができる。DATA END信号が、それはいくつかのインプリメンテーションにおいて必要とされないこともあるが、トランザクションのデータ相が完結したことをPCIステートマシンに通知するために、データ相の最後のクロック周期中にAGPステートマシンによって宣言されてもよい。
【００３６】
容易に察知できるであろうが、本明細書で記述されるような（そして、図4に示されるような）増速AGP高速書込トランザクションの実行を調整するためのステートマシン94,
98のインプリメンテーションは、この開示の利益を得た当業者の能力の範囲内に十分にある。
【００３７】
したがって、回路ブロック50, 52の調整によって実行される増速AGP高速書込トランザクションは、本質的に、そのような高速書込トランザクションに対する標準的な態様で進行する。具体的には、アドレスが有効になり、PCIオーダリングルールがトランザクションを許可したときに、CPUが、書き込みを要求する。データは、アドレス相の後でAGPブロックに転送される。次に、PCIステートマシンが、その要求をアーバタに送り、アーバタが、そのPCI（書き込み）要求に対して、そのバスを承認すると、PCI回路ブロックが、1つのクロックにおいて、そのAGPバスにアドレスを置く。同じクロックにおいて、FRAME#および
IRDY#が、AGP仕様に記載されているように、AGPステートマシンによって宣言される。次のクロック周期において、AGPステートマシンが、データを伝送し、従来技術においてよく知られているように、ストローブ信号を調整する。容易に察知できるであろうが、FRAME#は、アドレス相中に、PCI回路ブロックかAGP回路ブロックかのいずれによって宣言されてもよい。
【００３８】
したがって、回路ブロック50, 52間への増速AGP高速書込トランザクションの機能の分割は、PCI回路ブロックを、より標準化に近く、また、より転用可能なデザインにすることがわかる。通常、非AGP応用に用いるためのPCI回路ブロックの標準的なインプリメンテーションが、いくつかの変更例で上述したように、高速書込トランザクションに対応しながらAGPインプリメンテーションとともに機能するようにできる。さらに、タイミングクリティカルな伝送アウタタイミングループへのパスの追加が回避され、それは、PCIブロックデザインの複雑性を減少させ、また、PCIブロックデザインが2x/4xであることを意識する必要性を回避させる。
【００３９】
排他的シングルブロック増速AGP高速書込トランザクションのインプリメンテーション
上述のAGP回路ブロック52は、AGP仕様の改訂2.0によって対応されている完全な高速書込プロトコルをインプリメントするために用いることができる。その他に、先在AGP回路デザインへの影響を最小にするために、回路ブロック52において高速書込プロトコルの一部だけに対応することが望ましいこともある。従来技術においてよく知られているように、AGP仕様の改訂2.0は、本明細書で増速AGP高速書込トランザクションと呼んでいる、2xあるいは4x速度のCPUからAGP適合デバイスへのPCIデータパスを採り入れている。そのようにすることは、同じ動作を2段階プロセスによって実行することを必要とし、それによって、CPUがメモリに書き込み、AGPがメモリから読み出すという、AGP仕様のより初期の改訂における、以前の要件を排除する。
【００４０】
AGP仕様の改訂2.0では、増速（例えば、2xあるいは4x）高速書込トランザクションは、在来のPCIデータ転送と異なる信号プロトコルに従う。その信号プロトコルは、AGP信号プロトコルとも異なるが、スロットリングは、AGP転送に共通であるブロック基準（即ち、2xモードで32バイトまで、4xモードで64バイトまで転送する4クロック転送）である。AGP高速書込のスロットリングは、PCI信号プロトコルとAGP信号プロトコルとの混合を必要とする。
【００４１】
AGP仕様の改訂2.0で完全高速書込プロトコルに対応するには、AGP適合デバイスは、次のスロットルポイントの前に、即ち、待機状態を挿入する前に、少なくとも1つのデータブロックを受信する必要がある。無制限の数のデータブロックが、AGP仕様の改訂2.0では、単一のAGP高速書込トランザクションにおいて、伝送可能である。
【００４２】
しかしながら、多データブロックのスロットリングに対応することは、他と比べて複雑であり、先在（即ち、改訂1.0適合）AGP回路ブロックデザインからの相当の改訂を必要とするということがわかっている。特に、多ブロック転送のための機能を加えることは、AGPステートマシンが、マスタアボート、ターゲットアボート、データ付き切断、データなし切断を含む、いくつかのアボート状態を検出することを必要とする。さらに、多ブロック増速AGP高速書込トランザクションは、AGPバスを通じての種々のタイプのAGPトランザクションとPCIトランザクションとの間にバンド幅を割り当てることに関する限り、問題を引き起こすと思われる。高速書込プロトコルは、トランザクションの長さに関する限りではPCI規則に従うから、単一の高速書込トランザクションが、他と比べて長時間の間、AGPバスに留まっていることができ、他のタイプのトランザクションをAGPバスを通じて実行させようとするのを本質的に行き詰まらせる。
【００４３】
さらに、いくつかのCPUアーキテクチャ（例えば、IBMおよびモトローラの開発したパワーPCアーキテクチャ）では、CPUデータバーストが、通常、64ビットデータからなる4クロックに制限され、それは、2xデータレートで4クロックのAGPデータ、あるいは、4xデータレートで2クロックのAGPデータで転送できることに注意されたい。その結果として、多くのCPUデザインにおいて任意のCPUバーストによって伝送できる最大データ量が、増速AGP高速書込トランザクションでは、多くても1データブロックに一致するということがわかっている。
【００４４】
したがって、図3のAGPステートマシン98のいくつかの実施例において、単一ブロック増速AGP高速書込トランザクションのみに対応する、即ち、増速AGP高速書込トランザクション当り、単一データブロック（4クロック）の転送のみに対応するのが望ましいこともある。
【００４５】
そのようにすることは、AGP仕様の改訂2.0で、連続高速書込動作において、2xモードでは秒当り約425メガバイト、4xモードでは秒当り約852メガバイトのスループットを与える。さらに、そのようにすることは、AGPバス上のトランザクションの混じり具合を、増速AGP高速書込トランザクションと、AGPリードやAGPライトやPCIトランザクションのような他のタイプのトランザクションとの間で均等にする。
【００４６】
もう1つの相当な利益は、コアロジックにおける高速書込のインプリメンテーションの単純さであり、それと同時に、それでもなお、在来のPCIライトトランザクションを越えて優に200％以上の改善を与えるということである。特に、多ブロック転送への対応を排除することによって、最早、AGPステートマシンは、そうでなければ多ブロック転送のためにモニタする必要のあるいくつかの信号、例えば、ターゲットアボート、マスタアボート、データ付き切断、データなし切断などの種々のアボート状態を検出するために用いられるDEVSEL#信号、TRDY#信号、
STOP#信号をモニタする必要がなくなる。その結果として、AGPステートマシン上の追加のゲートカウントが、大幅に減少でき、さらに、そのインプメンテーションは、現存するデザインの大幅な変更を伴うことなく簡単にインプリメントできる故に、より転用可能なものとなる。
【００４７】
例えば、図5は、単一ブロック増速高速書込転送のみに対応したAGPステートマシンを利用した2x増速AGP高速書込トランザクションの動作を図示している。そのステートマシンは、データフローを実行するのに、IRDY#信号およびFRAME#信号しか駆動する必要がない。図5に示されている他の信号、即ち、clock,
AGP AD BUS, C/BE#, AD_STBx, WBF#の各信号は、従来技術でよく知られているように駆動される。
【００４８】
コアロジックは、WBF#信号が宣言されなければ高速書込転送を開始することができるが、高速書込転送が開始されると、AGP適合デバイスは、次のスロットルポイントの前に、少なくとも1つのデータブロックを受信することを必要とされる。1ブロック転送のみを持つことによって、32バイトのデータが、2xモードの4クロックで伝送でき、64バイトが、4xモードの4クロックで伝送できる。100MHzの典型的なパワーPC
CPUが、秒当り800メガバイトのピークレートで書き込みを発すると仮定すると、高速書込トランザクションは、最も早い時点で宣言されたIRDY#で5クロック、最大遅延を持って宣言されたIRDY#で6クロックを超えないから、本実施例で記述したインプリメンテーションは、残りのAGPデータパス（例えば、AGPリードやAGPライト）がAGPバスの利用を適性に分担することを確保しながら、このレートのピーク高速書込トラフィックを維持することができる。
【００４９】
容易に察知されるであろうように、図5に図示されているタイミング図を生成するステートマシンおよび他の回路ロジックのインプリメンテーションは、この開示の利益を得た当業者の能力の範囲内に十分にある。
【００５０】
本発明の精神および範囲から逸脱することなく、図示されている実施例に対して、種々の変更をなすことができる。例えば、上述のように、回路ブロック52は、いくつかの実施例において、完全AGP高速書込プロトコルをインプリメントすることができる。さらに、他の実施例において、単一ブロック増速AGP高速書込転送のみへの対応は、回路ブロック50と52との間への本明細書で記述のデータパス機能の分配を行わずにインプリメントすることもできる。さらに、他のバーストデータ特性がCPUに伴っている例では、他のサイズのブロック（例えば、他のクロック周期数）が、本発明に適合する単一ブロックAGP高速書込トランザクションに用いられてもよい。
【００５１】
他の変更が、当業者には明らかである。したがって、本発明は、請求項にある。
【図面の簡単な説明】
【図１】本発明に適合する高速書込機能を持つAGPコントローラを調整するコアロジックを含有する装置のブロック図である。
【図２】図1のコアロジック内の主要AGPパスウェイを図示するブロック図である。
【図３】図1, 2のAGPコントローラのブロック図である。
【図４】図3のAGPコントローラを用いた高速書込転送中のPCIブロックとAGPブロックとの間のコントロール信号の典型的な宣言を図示するタイミング図である。
【図５】図3のAGPコントローラを用いた典型的な単一ブロック高速書込トランザクションを図示するタイミング図である。
【符号の説明】
12  コアロジック
14  CPU
16  システムメモリ
18  グラフィックスコントローラ
20  PCIバス
22  CPUインターフェース
24  CPUバス
26  メモリインターフェース
28  メモリバス
30  AGPコントローラ
32  AGPバス
50  PCI回路ブロック
52  AGP回路ブロック
70  AGPアドレスパス
72, 74, 76, 78   AGPデータパス
86  PCIアドレスパス
90  PCI 1x データパス
92  PCI 2x/4x データパス
96  コントロールパス
【図１】
0004159880.tif 000002
【図２】
0004159880.tif 000003
【図３】
0004159880.tif 000004
【図４】
0004159880.tif 000005
【図５】
0004159880.tif 000006