JP2003508850A - ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換 - Google Patents
ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換Info
- Publication number
- JP2003508850A JP2003508850A JP2001520657A JP2001520657A JP2003508850A JP 2003508850 A JP2003508850 A JP 2003508850A JP 2001520657 A JP2001520657 A JP 2001520657A JP 2001520657 A JP2001520657 A JP 2001520657A JP 2003508850 A JP2003508850 A JP 2003508850A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- address
- memory
- agp
- transaction
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
示が米国特許商標局の特許ファイルまたは記録中に見出されるとき、それが何人
によって複製されることに対しても異議はないが、そうでない場合は、その著作
権に対するすべての権利を何であれ留保する。
本発明は、連続する論理アドレス空間を不連続かもしれないアドレス空間に再マ
ップすることなど、ブリッジでの入出力(I/O)アドレス変換に関する。
の大きな連続するビューとともに示された場合により効率的に動作する。これに
より、このような装置が、注目するデータを含むメモリの広い領域にランダム・
アクセスを行うことが可能となる。メモリの連続するビューは、ディスプレイ装
置にシーンをレンダリングするために、テクスチャ・マップ全体を取り出さなけ
ればならないことが多いグラフィックス・カードにとって特に重要である。本願
では、大規模な連続するアドレス空間を認識する、I/O周辺装置がその中で動
作するアドレス空間を「仮想アドレス空間」と呼ぶ。
モリとは異なるアドレス空間を利用するので、周辺装置によって供給される仮想
アドレスを、対応するメイン・メモリ内の不連続かもしれないアドレスにマップ
する「アドレス変換」と呼ばれるプロセスが必要である。
図1は、グラフィックス・アドレスの物理アドレスへの変換を示す、汎用コンピ
ュータ・システム100の高レベルブロック図である。コンピュータ・システム
100は、1つまたは複数のプロセッサ105および110などの処理手段、チ
ップセット120、メイン・メモリ125、メモリ・バス124、アクセラレー
テッド・グラフィックス・ポート(AGP)バス130、およびPCIバス14
0を含む。この例では、メイン・メモリは、グラフィックス・アクセラレータ1
35などの周辺装置によって使用される仮想アドレスを、メイン・メモリ125
中の物理アドレスにマップするためのエントリを含むグラフィックス・アドレス
再配置テーブル(GART)を含む。
・バス124の間のブリッジング機能を提供する。ブリッジング機能の一部とし
て、チップセット120は、インバウンド読取りおよび書込みトランザクション
(例えば、グラフィックス・アクセラレータ135から発信された読取りおよび
書込みトランザクション)中に含まれるグラフィックス・アドレスを、GART
126を用いて、対応するメイン・メモリ125中の物理アドレスに変換する。
したがって、図1に従って構成されたコンピュータ・システムでは、テクスチャ
・マップなどのグラフィックス・データの処理は、メイン・メモリ125に複数
のアクセスを必要とする。まず、チップセット120は、実行されるトランザク
ション中で指定されたグラフィックス・アドレスに対応するGART126から
エントリを取り出さなければならない。次いで、所望の物理アドレスがチップセ
ット120によって決定された後、チップセット120は、トランザクションに
よって指定されたデータを読み書きするために、メイン・メモリ125に第2の
アクセスを実行しなければならない。
Pがビデオ・サブシステムを分離し、したがってI/O帯域幅を介する競合がP
CIほどではないことである。しかし、上述の説明より、AGPトランザクショ
ンの変換が現在処理されている方式に関連するいくつかの非効率が存在すること
は明らかであろう。まず、動的ランダム・アクセス・メモリ(DRAM)から一
般に構成されるメイン・メモリ125へのアクセスは、例えば静的ランダム・ア
クセス・メモリ(SRAM)へのアクセスと比較して相対的に低速である。第2
に、アドレス変換のためのメイン・メモリ125アクセスは、プロセッサ105
または110から発信され、システム・バス115を介して受け取られるアクセ
ス要求、またはPCIバス140上で受け取られるアクセス要求などの他のアク
セス要求と競合しなければならない。その結果、AGP変換は競合するトラフィ
ックによってスローダウンする。最後に、変換ユニット(図示せず)が複数のタ
イプのトラフィック、例えばシステム・バス・トラフィック、PCIトラフィッ
ク、およびAGPトラフィックを処理する場合、様々なタイプのインバウンド・
トランザクションおよびアウトバウンド・トランザクションの間の変換ユニット
についての競合をアービトレーション論理が解決することが必要となるので、こ
の状況はさらに悪化する。
換論理の単純な実装を提供する、I/Oアドレスを変換するための技法を提供す
ることが望ましい。加えて、システム・バス・トラフィックまたは他のI/O装
置からのトラフィックなどの他のタイプのトラフィックから分離する装置中で、
必要なI/Oアドレス変換を実行することが有利である。
装置を説明する。I/O拡張ブリッジは、第1インターフェース・ユニット、第
2インターフェース・ユニット、およびアドレス変換ユニットを含む。第1イン
ターフェース・ユニットは、1つまたは複数のI/Oポートを介して、システム
・メモリとI/Oコントローラに結合するように構成される。第1インターフェ
ース・ユニットは、コンピュータ・システムのメイン・メモリとの間で、1つま
たは複数のI/Oポートを介してデータを転送できる。第2インターフェース・
ユニットは、周辺装置との間で、バスを介してデータを転送するための、バス制
御信号およびアドレスを供給する。アドレス変換ユニットは、第1インターフェ
ース・ユニットおよび第2インターフェース・ユニットに結合される。アドレス
変換ユニットは、コンピュータ・システムのメイン・メモリ内のページの物理ア
ドレスを含むローカル・メモリにアクセスすることによって、第2インターフェ
ースで受け取ったトランザクションに関連するアドレスを変換する。
ろう。
一の参照番号は、類似の要素を指す。
する。本発明の実施形態は、I/O拡張ブリッジなどのI/O変換装置をシステ
ム・バス・トランザクションなどの他のタイプのトラフィックから分離すること
によって、I/Oトランザクションの実行をスピードアップする、I/Oアドレ
スを変換するための技法を提供することを試みる。本発明の一特徴によれば、G
ARTは、メモリ・バスを通らずに、ローカルSRAM中に格納することができ
る。インターフェースはローカルであり、かつ、GARTエントリを取り出すた
めのアクセスが他のタイプのトラフィックと競合する必要がないので、トランザ
クションをより高速に完了することができ、変換装置の実装を単純にすることが
できる。
定の細部を説明する。しかし、本発明をこれらの特定の細部の一部を用いずに実
施できることは当業者には明らかであろう。他の場合には、周知の構造および装
置をブロック図形式で示す。
ドウェア構成要素によって実行することができ、あるいは、汎用プロセスもしく
は特殊目的プロセッサ、または命令によってプログラムされた論理回路にこのス
テップを実行させるために使用することのできるマシン実行可能命令で実施する
ことができる。あるいは、このステップは、ハードウェアおよびソフトウェアの
組み合わせによって実行することもできる。
のトランザクションを変換するための、様々なグラフィックス拡張ブリッジ(G
XB)にとってローカルにアクセス可能なアクセラレーテッド・グラフィックス
・ポート(AGP)およびグラフィックス・アドレス再配置テーブル(GART
)に関連して説明するが、本明細書で説明する方法および装置は、他のタイプの
I/OトランザクションおよびI/O拡張ブリッジ、あるいはI/Oバスの装置
がメイン・メモリの連続するビューを必要とする他のタイプのバスにも等しく適
用することができる。例えば、本明細書で説明する技法は、VESAローカル・
バス(VLB)および/または周辺構成要素相互接続(PCI)バスに関係する
トランザクションに関連して有用であると考えられる。
本願全体を通して使用する、いくつかの用語を簡潔に説明する。
またはチャネルを指す。装置をその上に2つだけ有するバスは、本明細書で使用
する「ポート」と見ることもあるが、バスという用語は、このようなポートも包
含するものとする。
、一般に、コンピュータ・システムのバスの階層中の最高レベルのバスを指す。
このバスは、一般にシステム・チップセットによって使用され、コンピュータ・
システムの1つまたは複数のプロセッサに情報が送受信される。
ロセッサに接続するバスを指す。重要なことであるが、一部のコンピュータ・シ
ステムでは、プロセッサ・バスおよびメモリ・バスは、同じバスとすることがで
きる。
び/またはコンピュータ・システムのプロセッサに様々なタイプの周辺装置を接
続するために使用される高速入出力(I/O)バスである。例えば、ビデオ・カ
ード、ディスク記憶装置、高速ネットワーク・インターフェース、パフォーマン
ス・クリティカルな他の周辺装置は、一般にこの種類のバスに結合される。共通
ローカルI/Oバスは、VESAローカル・バス(VLB)、周辺構成要素相互
接続(PCI)バス、およびアクセラレーテッド・グラフィックス・ポート(A
GP)バスを含む。やはり、この開示では、I/OポートまたはAGPなどの、
3つ以上の装置が共用するために設計されたバスと、2つだけの装置が使用する
ために設計されたポートのどちらもバスとする。
ィックスおよびビデオ・イメージの高速で高品質な表示の目的で設計されている
、Accelerated Graphics Port Interface
Specification,Revision2.0,May 4,199
8およびそれに続く改訂に記載されている高性能バス仕様である。
Pセマンティクスを有するPCIトランザクションを指す。
続し、一方のバスの装置が他のバスの装置と通信できるようにすると共にその逆
をも可能にするために、チップセットで具体化された論理および回路を指す。一
例として、コンピュータ・システムで見つかる1つの共通ブリッジは、PCI−
ISAブリッジであり、一般にシステム・チップセットの一部である。PCIバ
スは、PCI拡張ブリッジ(PXB)と呼ばれる、プロセッサ・バスへのブリッ
ジも有することができる。
ーズおよびデータ・フェーズを含む。トランザクションは、一般に、開始アドレ
ス、トランザクション・タイプ、および転送すべきデータ量の表示を含む。
って、「インバウンド・トランザクション」は、一般に、ビデオ・カード、ディ
スク記憶装置、または高速ネットワーク・インターフェースなどの周辺装置によ
って、コンピュータ・システムに向けて送られる読取り要求または書込み要求を
指し、「アウトバウンド・トランザクション」は、一般に、コンピュータ・シス
テムによって周辺装置に向けて送られる読取り要求または書込み要求を指す。
関連して一般に有用であると考えられる。本発明のこの広範な態様を説明する目
的で、次に、本発明の一実施形態を実現することのできる例示的コンピュータ・
システム・アーキテクチャを、図2を参照しながら説明する。図2は、本発明の
一実施形態による方法の1つまたは複数のステップを実行することができ、本発
明による一実施形態による装置がその中に常駐することができる汎用コンピュー
タ・システム200を示す。コンピュータ・システム200は、1つまたは複数
のプロセッサ205および210、チップセット220、メイン・メモリ225
、メモリ・バス224、およびローカルI/Oバス230などの処理手段を含む
。この実施形態によれば、チップセット220は、アドレス変換テーブル226
を含む。アドレス変換テーブルは、周辺装置235から受け取った仮想アドレス
を、メイン・メモリ225中の物理アドレスに変換するエントリ(図示せず)を
含む。以下でさらに説明するように、チップセット220は、様々なチップセッ
ト機能、例えばシステム・バス・アービトレーション、I/Oアドレス変換など
を配置させることのできる1つまたは複数の集積回路を含むことができる。この
例では、チップセット220は、ローカルI/Oバス230とシステム・バス2
15およびローカルI/Oバス230とメモリ・バス224の双方の間でブリッ
ジとして働く。そのブリッジ動作の一部として、チップセット220は、ローカ
ル・アドレス変換テーブル226にアクセスして、周辺装置235によって利用
される連続するI/Oアドレス空間を、メイン・メモリ225の物理アドレス空
間にマップする。重要なことであるが、以下でさらに説明するように、アドレス
変換テーブル226をチップセット220にローカルに(例えば専用オンチップ
またはオフチップSRAM中に)配置することによって、周辺装置235からの
インバウンド・トランザクションをより効率的に実行することができる。
ラフィックス・アドレス空間などのグラフィックス・アドレス空間から、メイン
・メモリ225の物理アドレス空間にアドレス変換を実行するために特に有用で
あると考えられる。図3は、本発明の一実施形態による、改善された仮想アドレ
ス変換技法を実装することのできる汎用コンピュータ・システム300を示す高
レベル・ブロック図である。コンピュータ・システム300は、1つまたは複数
のプロセッサ305および310、チップセット320、メイン・メモリ225
、メモリ・バス324、アクセラレーテッド・グラフィックス・ポート(AGP
)バス330、およびPCIバス340などの処理手段を含む。図の実施形態で
は、チップセット320はグラフィックス・アドレス再配置テーブル(GART
)326を含む。GART326は、グラフィックス・アクセラレータ335か
ら受け取った仮想アドレスをメイン・メモリ325の物理アドレスに変換するた
めの情報を含むGARTエントリ(以下で説明する)を含む。
ン・メモリ325中で見つけられるのではなく、チップセット320にローカル
にアクセス可能となる。チップセット320は、AGPバス330、PCIバス
340、およびメモリ・バス324との間のブリッジング機能を果たしている。
ブリッジング機能の一部として、チップセット320は、インバウンド読取りお
よび書込みトランザクション(例えば、グラフィックス・アクセラレータ335
から発信された読取りおよび書込みトランザクション)中に含まれるグラフィッ
クス・アドレスを、ローカルGART326を用いて、対応するメイン・メモリ
325中の物理アドレスに変換する。図2を参照して上記で説明したのと同様に
、チップセット320中にGART326を位置付けることによって、グラフィ
ックス・アクセラレータ335などの、周辺装置からのインバウンド・トランザ
クションをより効率的に処理し、実行することができる。重要なことであるが、
メイン・メモリ325(例えばDRAM)からデータを取り出すのにおよそ30
0〜500ナノ秒が必要であるのに対して、ローカルSRAMからの取出しは、
約30ナノ秒以下で実行することができる。
チップセット実装を、図4を参照しながら説明する。図4は、本発明の一実施形
態による、複数のユニット(例えばチップ)間の機能の例示的割り振りを示す。
この例では、チップセット320は、システム・アドレス・コントローラ(SA
C)415、システム・データ・コントローラ(SDC)420、PCI拡張ブ
リッジ(PXB)425、グラフィックス拡張ブリッジ(GXB)410、およ
び静的RAM(SRAM)405を含む。
)に接続される。SACは、システム・バス315アクセスを翻訳し、適切なI
/Oポートまたはメイン・メモリ325に向けて送ることを担当する。SACは
、インバウンド・トラフィックに対して経路指定エージェントとしても働き、イ
ンバウンド・トラフィックをピアI/Oポート412または427、メイン・メ
モリ325、またはシステム・バス315に向けて送る。
モリ・バス324およびSAC415によってメイン・メモリ325にも接続す
る。システム・バス315からメイン・メモリ325に、I/Oポート412ま
たは427の一方からメモリに、あるいはピア・ツー・ピアでI/Oポート41
2または427に転送される場合でも、すべての転送に関するデータはSDCを
通過する。SAC415とSDC420の間の接続により、システム・バス31
5へ、ならびにI/Oポート412または427への同時データ転送が可能とな
り、それによって各システム・エージェントに対する利用可能な帯域幅を最大に
することができる。代替方法実施形態では、SAC420およびSDCの機能は
、単一のシステム・メモリおよびI/Oコントローラ421に組み合わせること
ができ、または追加の集積回路を介して分散させることもできる。
の間のバス・プロトコル・ブリッジング機能を提供する。単一のPXB425は
、一般に、1つのI/Oポート427に接続し、2つの33Mhz、32ビット
PCIバスを形成する。あるいは、PXB425は、単一の64ビットPCIバ
スをサポートすることもできる。コンピュータ・システムは、複数のPXBを含
むことができる(一般には1〜4個)。
コル・ブリッジング機能を提供することによって、I/Oポート412、例えば
2つのF16バスと、AGPバス330の間のブリッジを形成する。このように
して、GXB410は、コンピュータ・システムに高性能な専用グラフィックス
・ポートを加える。複数のGXBをコンピュータ・システム中でインスタンス化
して、複数の多重グラフィックス・ポート・ワークステーションを形成すること
ができる。GXB410の主要機能は、I/Oポート412とAGPバス330
の間のブリッジを形成することである。簡単に言えば、GXB410は、I/O
ポート412からアウトバウンド・トランザクションを受諾し、内部にそれを格
納し、次いで適切な信号プロトコルを使用して、AGPバス330に対してそれ
を送ることによってこのことを行う。逆に言えば、GXB410は、AGPバス
330に発行されたインバウンド・トランザクションを受諾し、それをこの場合
も内部に格納し、インバウンド・トランザクションに関連するグラフィックス・
アドレスに変換し、変換後インバウンド・トランザクションをI/Oポート41
2に発行する。以下にさらに詳細に説明するように、GXB410は、オンチッ
プまたはオフチップSRAM405中に格納されたGART326にアクセスす
ることによってアドレス変換を実行する。図4のチップセット・アーキテクチャ
により、いくつかの利点が達成される。第1に、GXB410はシステム・バス
315および関連するシステム・トラフィックから分離し、それによってGXB
410のリソースについての競合の源がなくなり、関連するアービトレーション
論理の必要がなくなる。第2に、GART326はGXB410中に常駐するの
で、アドレス変換処理はメイン・メモリトラフィックとは干渉せず、メモリ・バ
ス324はより効率的に使用される。加えて、GART326にアクセスするロ
ーカルSRAMは、GXB410がメモリ・バス324を介して進まなければな
らない場合よりも約10倍高速になる。したがって、最終結果として、AGPバ
ス330上のトランザクションを処理するためのプロトコル・ブリッジが改善さ
れる。この改善されたプロトコル・ブリッジは、前述の、現在のブリッジング技
法よりも単純であり、高速であり、かつ効率的である。GXB410の例示的な
内部区分化を以下で説明する。
ちの1つまたは複数を単一の集積回路(IC)上に統合できることを企図する。
加えて、代替実施形態では、GXB410構成要素のうちの1つまたは複数を、
単一の集積回路上のプロセッサおよび/またはメモリで統合することもできる。
5Aを参照しながら説明する。図5Aは、本発明の一実施形態によるグラフィッ
クス拡張ブリッジの機能単位間の高レベル相互接続を示す概略ブロック図である
。この例では、GXB410は、AGPバス・インターフェース・ユニット50
5、データ・バッファ・ユニット510、トランザクション・キュー・ユニット
515、GARTユニット520、およびI/Oポート・インターフェース・ユ
ニット525を含む。AGPバス・インターフェース・ユニット505は、66
Mhz、32−ビットPCIバスに基づくことができる。実際には、実装を容易
にするために、AGPバス・インターフェース・ユニット505を、コアPCI
バスと、AGP機能を追加する増分論理にさらに分割することができる。AGP
側では、AGPバス・インターフェース・ユニット505は、インバウンド・ト
ランザクションとアウトバウンド・トランザクションとの間でAGPバス330
所有権を管理するためのアービトレーション論理(図示せず)を含む。加えて、
バス制御信号およびアドレスが、AGPバス・インターフェース・ユニット50
5によって供給され、AGPバス330を介したAGPデータ転送が可能となる
。AGPバス・インターフェース・ユニット505は、必要などんなイントラ・
ストリーム記録も実行し、かつ、トランザクションを処理するためにトランザク
ション・キュー・ユニット515中で十分なリソースが利用可能となるまでトラ
ンザクションを保持するために、内部トランザクション・キューおよびデータ・
バッファ(図示せず)を維持することもできる。
15は、インバウンド・トランザクションおよびアウトバウンド・トランザクシ
ョンについての、1つまたは複数の内部トランザクション・キューを実装する。
様々なデータ・バッファリングの必要をサポートするために、GXB410中に
バッファ・スペースも実装することができる。例えば、データ・バッファ・ユニ
ット510は、GXB410内にデータを一時的に格納するためのデータ・バッ
ファを含むことができる。このデータ・バッファは、各指示でのトランザクショ
ン・タイプごとに別々のバッファとして実装することができ、または共通バッフ
ァとして実装することができる。
6はメイン・メモリ125中に格納される。したがって、そのような実装では、
GART機能はメイン・メモリ125の近くで実行される。それとは対照的に、
本実施形態によれば、GART機能は、GARTユニット520によってGXB
410内で実行される。一実施形態によれば、GARTユニットは、プッシュ・
モデルを実装し、有効なトランザクションがトランザクション・キューの1つに
あるときはいつでも、トランザクションを変換する。これに関して、GARTユ
ニット520は、トランザクション・キューからインバウンド・トランザクショ
ンを受諾し、必要に応じてそのトランザクションを変換することを担当する。こ
こで示す実施形態では、GARTユニット520は、GART326を含むロー
カル・オフチップSRAM405に結合される。あるいは、GART326は、
オンチップSRAM中に格納することもできる。GARTユニット520は、S
RAM405の内容をプログラムすることも担当する。SRAM405は、無効
として初期化するか、またはどんなアクセスが開始する前にもプログラムすべき
である。例えば新しいアプリケーションが開始するごとに動的にSRAM405
をプログラムするように、GARTユニット520に指示することができる。プ
ログラミングは、システム・バス315からプログラミング・アクセス要求を発
行することによって達成することができる。
Oポートを介する要求およびデータ転送を使用可能にすることによって、1つま
たは複数のI/Oポートに対するインターフェースを提供する。例えば、一実施
形態によれば、I/Oポート・インターフェース・ユニット525は、2つのF
16バスとインターフェースをとる。I/Oポート・インターフェース・ユニッ
ト525は、可用性およびストリーム優先度に基づいてトランザクション・キュ
ー・ユニット515中に維持されるインバウンド・トランザクション・キューか
らトランザクションを削除し、適切なI/Oポート412を通じてトランザクシ
ョンを送信する。要求が書込みである場合、データがデータ・バッファ・ユニッ
ト510の中の適切なバッファから読み取られ、送信もされる。アウトバウンド
・トランザクションについては、トランザクション・キュー・ユニット515中
の適切なアウトバウンド・トランザクション・キューにエントリが加えられる。
必要な場合、アウトバウンド・トランザクションに関連するデータは、データ・
バッファ・ユニット510中の適切なバッファに送られる。
区分される。しかし、様々な他の代替方法実施形態を企図することができる。例
えば、一実施形態によれば、関係するデータ・バッファおよびトランザクション
は、グループ化することができる。したがって、本明細書で開示される事柄は、
GXB機能の特定の区分化に基づく実施形態に本発明を限定するものとして解釈
すべきではない。
り詳細なビューを示す概略ブロック図である。この例によれば、AGP仕様の精
神において、高および低AGPおよびPCIストリームが、I/Oポート・イン
ターフェース・ユニット525まで、別々の構造として維持される。トランザク
ション・キュー・ユニット515は、AGP低優先度キュー560、AGP高優
先度キュー565、PCIインバウンド・キュー570、SACインバウンド制
御論理580、SACアウトバウンド制御論理585、PCIアウトバウンド・
キュー590を含む。AGPバス・インターフェース・ユニット505は、AG
Pバス330からインバウンドAGPトランザクションを受け取り、それを適切
なキュー560、565、または570に加える。例えば、AGPバス330か
らのインバウンドPCIトランザクションは、AGPバス・インターフェース・
ユニット505によってPCIインバウンド・キュー570に発送される。
ンド・トランザクションを受け取り、それをPCIアウトバウンド・キュー59
0上に待ち行列化する。PCIアウトバウンド・キュー590は、AGPバス・
インターフェース・ユニット505によってアンロードされる。重要なことであ
るが、アウトバウンド・トランザクションはアドレス変換を必要としないので、
GARTユニット520を介して進む必要がない。
ニット530、実行ユニット535、および書戻しユニット540を含む。アー
ビトレーション・ユニット530は、(1)AGPおよびPCIアクセスと、構
成制御ユニット595から来るSRAMアクセス(プログラミング・アクセス)
との間のアービトレーション、(2)SRAMアドレス(GART索引)の生成
という2つの主要な機能を実行する。アービトレーション・ユニット530のア
ービトレーション機能は、トランザクション・キュー560、565、および5
70の先頭のトランザクションのうちのどのトランザクションを次に変換するか
を決定するものである。トランザクション・キュー560、565、および57
0中のインバウンド・トランザクションに関連する仮想アドレス(一実施形態で
は40ビット幅である)は、SRAM 405に直接供給するには広過ぎる。し
たがって、アービトレーション・ユニット530のSRAMアドレス生成関数(
GART指標生成関数)は、アービトレーションを得たトランザクションの仮想
アドレスに基づいてSRAMアドレスを決定する。次いで、アービトレーション
・ユニット530は、SRAMオペレーションのための適切な制御信号(例えば
書込みまたは読取り)をアサートすべき実行ユニット535と通信することがで
きる。このようにして、実行ユニット535は、アドレスをさらに処理する必要
がなく、直ちにSRAMサイクルを発行することができる。あるいは、アービト
レーション・ユニット530は、SRAMアドレスで実行ユニット535を提供
することもでき、実行ユニット535は、全パケットをアセンブルし、それをS
RAM405に発行することができる。
クロックごとに、アービトレーション・ユニット530は、変換すべき次のトラ
ンザクションについてのアドレスを供給し、次のトランザクションの可用性を実
行ユニット535に通信することができるべきである。
ートし、デアサートすることによって、様々なSRAMオペレーションを開始し
、制御する。代替実施形態では、実行ユニット535は、アービトレーション・
ユニット530からの着信SRAMアドレスを処理し、それをSRAM405に
送ることによってそれを実行することを含む実行ステージを実行することができ
る。実行ユニット535がGARTエントリを受け取ったとき、アドレス変換を
実行するためにGARTエントリを使用し、またはそれを廃棄する。GARTエ
ントリに対応するインバウンド・トランザクション・アドレスがGARTアパー
チャ内にある場合、GARTエントリを使用してアドレス変換が実行される。し
かし、インバウンド・トランザクション・アドレスがGARTアパーチャの外に
ある場合(例えば物理アドレスである場合)、GARTエントリは飛ばされ、変
換は実行されない。代替実施形態では、実行ユニット535は、古い変換を保持
し、または変換索引バッファを使用して、アドレス変換を行うことができる。い
ずれにしても、「変換後アドレス」、例えば元のインバウンド・トランザクショ
ン・アドレスまたは物理アドレスは、書戻しユニット540に供給される。
よって供給された情報を使用し、構成制御ユニット595は、データをフォーマ
ットしてそれを正しい宛先(例えばトランザクション・キュー・ユニット515
の中のキューのエントリ)に発送する。例えば、ここで示す実施形態によれば、
書戻しユニット540は、インバウンド・トランザクションの仮想アドレスを、
実行ユニットによって供給される変換後アドレスで上書きすることを担当する。
ベルの流れ図である。この例では、ステップ610で、トランザクションを受け
取る。その後、ステップ620で、トランザクション・タイプに基づいて、アド
レス変換を実行するかどうかの決定を行う。トランザクションがインバウンド・
トランザクション(例えば、AGPバス330から受け取ったトランザクション
)である場合、トランザクション処理はステップ630に進む。そうでない場合
、トランザクションがアウトバウンド・トランザクション(例えば1つまたは複
数のI/Oポート412から受け取ったトランザクション)である場合、処理は
ステップ640に進む。ステップ630で変換処理を実行する。便宜上、GAR
TエントリをSRAM410から予測的に取り出すことができるが、すべてのイ
ンバウンド・トランザクションが変換されるわけではない。例えば、AGP範囲
外の仮想アドレス(例えばGARTアパーチャ)を指定するインバウンド・トラ
ンザクションは、変換されないことになる。ステップ640では、アウトバウン
ド・トランザクションは変換処理を迂回する。最後に、ステップ650では、適
切なバスのトランザクションを実行する(例えば、1つまたは複数のI/Oポー
ト412に対してインバウンド・トランザクションを実行し、AGPバス330
に対してアウトバウンド・トランザクションを実行する)。
け取ったAGPトランザクションおよびPCIトランザクションの両方を処理し
、下位互換性のレベルを提供するように構成される。GXB410を通過する処
理は、PCI、低優先度AGP、および高優先度AGPストリームのそれぞれに
対して非常に類似している。したがって、例示的なPCIトランザクションの処
理だけを本明細書で説明する。
ン処理を示す流れ図である。ここで説明する例では、ステップ710で、PCI
サイクルは、AGPバス330上で動作してPCIトランザクションをGXB4
10に送り、その後にPCIトランザクションに関連するデータが続く。ステッ
プ720では、PCIトランザクションをPCIインバウンド・バッファ570
中にバッファリングする。アービトレーションを得ると、以下でさらに詳細に説
明するように、PCIトランザクションに関連する仮想アドレスをメイン・メモ
リ325中の物理アドレスに変換する(ステップ730)。PCIトランザクシ
ョンの仮想アドレスは、ステップ740で、変換後アドレスで上書きされる。G
ARTエントリの検索の予測的な性質のために、変換を実行すべきでないとき、
変換後アドレスを仮想アドレスと同じにすることができる。いずれにしても、ス
テップ750で、トランザクションを適切なI/Oポート412に対して実行す
ることができるまで、変換後PCIトランザクションをSACインバウンド・バ
ッファ580中にバッファリングする。最後に、I/Oポート412に対して書
込みサイクルを実行することによって、変換後PCIトランザクションを実行す
る。
必要はない。このことをさらに示すために、次に、アウトバウンドPCI書込み
トランザクションに関連する処理を図8を参照しながら説明する。この例によれ
ば、I/Oポート412に対して書込み要求を実行し、PCI要求が受け取られ
、SACアウトバウンド制御論理585に発送される(ステップ810および8
20)。PCI要求に関連するデータは、データ・バッファ・ユニット510に
転送される。ステップ840では、アービトレーション時間スロットを得ると、
AGPバス330に対して書込みサイクルを実行することによって、アウトバウ
ンドPCI書込みトランザクションを実行する。アウトバウンドPCI書込みト
ランザクションが首尾よく完了した後に、書込み完了表示を供給することができ
る(ステップ850および860)。
クス(仮想)を概念的に示す。簡潔には、この例では、仮想アドレス915は、
AGPアドレス920およびオフセット925を含む。仮想アドレス915は、
例えばグラフィックス・アクセラレータ335が利用する、連続する論理アドレ
ス空間中のアドレスを表す。AGPアドレス920、その一部、またはAGPア
ドレス920から導出される他の情報は、GART905からの適切なエントリ
を取り出すために使用される。GARTエントリ内に含まれる情報は、仮想アド
レス915に対応する物理アドレスを含むメイン・メモリ325中の物理ページ
を識別する。GARTエントリで識別される物理ページは、仮想アドレス915
からのオフセット925と共に組み合わされ、メイン・メモリ・アドレス930
が形成される。
るページ・サイズをサポートする。仮想アドレス915の変換は、対応する物理
アドレスがその中に常駐するページ・サイズに依存する。一実施形態では、GA
RTアパーチャ内にあるすべてのページに対して固定ページ・サイズ(例えば4
Kバイトまたは4Mバイト)が使用され、ページ・サイズの表示は、システム・
ブート中にGXB410中の制御レジスタ中に格納される。現在、AGPプログ
ラミング・モデルは、GARTエントリに対して4Kバイト・ページを用いて設
計される。より大きなページ・サイズ(例えば2Mバイト、4Mバイトなど)を
使用可能にすることによって、GXB410は、高性能コンピュータ・システム
と互換となる。
イズであるが、代替実施形態では、GARTアパーチャは、異なるサイズのペー
ジを同時に含むことができる。この実施形態では、以下で説明するように、アド
レス変換を動的に制御する必要がある。
照するために利用することができる、例示的な仮想アドレス・フォーマットを示
す。この実施形態によれば、仮想アドレス915は40ビット幅である。AGP
アドレス1020は28ビットを有し、オフセット1025は12ビットを有す
る。
照するために利用することができる、例示的な仮想アドレス・フォーマットを示
す。この実施形態によれば、仮想アドレス915はやはり40ビット幅である。
しかし、AGPアドレス1021は18ビットに減少し、オフセット1025は
22ビットに増加する。様々な他のページ・サイズも収容できるものとする。
ートするための、例示的なGARTエントリ・フォーマット1105を示す。こ
の例では、エントリ1105は32ビット幅で、パリティ・ビット1115、コ
ヒーレンス・ビット1120、有効ビット1125、新しいページ・アドレス1
130、および予約済み領域1110を含む。各エントリは、1つの4Kバイト
・ページをカバーする。256kエントリ、または4Kバイト・ページについて
の合計1GBの変換可能スペースを保持するのに1メガバイトで十分である。
パリティ・ビット1115はハードウェアで生成することができ、パリティ・ビ
ット1115を含む1の合計数が、偶数または奇数になるように計算することが
できる。
クがシステム・バス315とコヒーレントである必要があるかどうかを示す。コ
ヒーレンスは以下でさらに論じる。
含むかどうかを示す。データがこのエントリに関して有効であることを有効ビッ
ト1125が示す場合、アドレス変換のためにこのエントリを使用することがで
きる。
の新しいページ・アドレス1130は、所望の物理アドレスを含むメイン・メモ
リ325中の4Kバイト物理ページの開始アドレスを含む。
ートするための、例示的なGARTエントリ・フォーマットを示す。この例では
、上記と同様に、エントリ1106は32ビット幅で、パリティ・ビット111
6、コヒーレンス・ビット1121、有効ビット1126、新しいページ・アド
レス1131、および予約済み領域1111および1136を含む。各エントリ
は、4Mバイト・ページをカバーする。
をカバーし、パリティ・ビット1116を含む1の合計数が、偶数または奇数に
なるように計算することができる。
クがシステム・バス315とコヒーレントである必要があるかどうかを示す。コ
ヒーレンスは以下でさらに論じる。
を含むかどうかを示す。データがこのエントリに関して有効であることを有効ビ
ット1126が示す場合、アドレス変換のためにこのエントリを使用することが
できる。
の新しいページ・アドレス1131は、所望の物理アドレスを含むメイン・メモ
リ325中の4Mバイト物理ページの開始アドレスを含む。
び図11Bの例で示したものとは異なるものとすることができる。やはり、代替
実施形態では、エントリ・フォーマットは、宛先ページ・サイズ(例えば4Kバ
イトまたは4Mバイト)を示すためのページ・モードビットも含むことができ、
アドレス変換プロセスの動的制御を実現することができる。このようにして複数
の異なるページ・サイズを同時にサポートすることができる。
らのトラフィックは、システム・バス325とコヒーレントにしたいこともあり
、そうでないこともある。一実施形態によれば、コヒーレンスはページごとに選
択可能である。この開示では、「コヒーレンス」とは、1つまたは複数のプロセ
ッサ305および310がアドレスに関するキャッシュをスヌープすることがで
きるように、そのアドレスがシステム・バス325上に出現することを意味する
。テクスチャ・マップまたは他のイメージ・データが、プロセッサによって、書
込み結合(WC)とマークされた場合、そのデータはコヒーレントではない。プ
ロセッサのWCバッファ中でヒットする、システム・バス325に対するアドレ
スはスヌープされない。あるいは、アプリケーションは、メイン・メモリ325
中のデータがプロセッサによって使用されなかった(例えば、データがディスク
から来た)ことを認識し、システム・バス325帯域幅を使用せずにデータを取
り出すようにグラフィックス・カードに要求し、したがって強制的にアクセスを
非コヒーレントにすることができる。
ついて、アドレスがコヒーレントであるかどうかを判定するGARTエントリご
とのビットが存在する。AGP範囲外のAGPタイプ・アクセスについて、情報
(例えば1ビット・コヒーレンス標識)をGXB410の構成レジスタから読み
取り、コヒーレンスを判定することができる。重要なことであるが、コヒーレン
スまたは非コヒーレンスは、AGPプロトコルを使用するアクセスだけに当ては
まる。PCIプロトコルを使用するアクセスは、変換テーブルにヒットするかど
うかに関わらず、常にコヒーレントに行われる。
した。しかし、本発明のより広範な精神および範囲から逸脱することなく、それ
に対して様々な修正形態および変更を行えることは明らかであろう。したがって
、この明細書および図面は、限定的な意味ではなく、例示的な意味とみなすべき
である。
る。
ある。
図である。
ル相互接続を示す単純化したブロック図である。
示す単純化したブロック図である。
図である。
示す流れ図である。
を示す流れ図である。
概念的に示す図である。
利用することができる例示的仮想アドレス・フォーマットを示す図である。
の例示的GARTエントリ・フォーマットを示す図である。
Claims (19)
- 【請求項1】 1つまたは複数のI/Oポートを介してシステム・メモリお
よびI/Oコントローラに結合するように構成され、1つまたは複数のI/Oポ
ートを介してコンピュータ・システムのメイン・メモリとの間でデータ転送を可
能にする第1インターフェース・ユニットと、 バスを介して周辺装置との間でのデータ転送を可能にするためにバス制御信号
およびアドレスを供給する第2インターフェース・ユニットと、 第1インターフェース・ユニットおよび第2インターフェース・ユニットと結
合され、コンピュータ・システムのメイン・メモリ内のページの物理アドレスを
含むローカル・メモリにアクセスすることによって、第2インターフェースで受
け取ったトランザクションに関連するアドレスを変換するアドレス変換ユニット
とを備える入出力(I/O)拡張ブリッジ。 - 【請求項2】 バスがアクセラレーテッド・グラフィックス・ポート(AG
P)バスを備える請求項1に記載のI/O拡張ブリッジ。 - 【請求項3】 ローカル・メモリが、その中にグラフィックス・アドレス再
配置テーブル(GART)を含む請求項2に記載のI/O拡張ブリッジ。 - 【請求項4】 ローカル・メモリがオンチップのスタティック・ランダム・
アクセス・メモリ(SRAM)を備える請求項3に記載のI/O拡張ブリッジ。 - 【請求項5】 ローカル・メモリがオフチップのスタティック・ランダム・
アクセス・メモリ(SRAM)を備える請求項3に記載のI/O拡張ブリッジ。 - 【請求項6】 メイン・メモリ内のページにそれぞれ関連し、ページ内のア
ドレスをコンピュータ・システムのプロセッサ・バスでスヌープすべきか否かを
識別する表示を含む複数のエントリをGARTが含む請求項3に記載のI/O拡
張ブリッジ。 - 【請求項7】 アドレス変換ユニットが、第1フォーマットまたは第2フォ
ーマットに従うGART内のエントリを解釈することによって、複数のページ・
サイズをサポートする請求項3に記載のI/O拡張ブリッジ。 - 【請求項8】 複数のページ・サイズが、4Kバイト・ページ、2Mバイト
・ページ、および4Mバイト・ページのうち2つ以上を含む請求項7に記載のI
/O拡張ブリッジ。 - 【請求項9】 1つまたは複数のI/Oポートを介してシステム・メモリお
よびI/Oコントローラに結合するように構成され、1つまたは複数のI/Oポ
ートを介してコンピュータ・システムのメイン・メモリとの間でデータ転送を可
能にする第1インターフェース・ユニットと、 バス制御信号およびアドレスを供給し、AGPバスを介して周辺装置との間で
データ転送を可能にするアクセラレーテッド・グラフィックス・ポート(AGP
)インターフェース・ユニットと、 第1インターフェース・ユニットおよびAGPインターフェース・ユニットと
結合され、グラフィックス・アドレス再配置テーブル(GART)を含むオフチ
ップのスタティック・ランダム・アクセス・メモリ(SRAM)にアクセスする
ことによって、AGPバスで受け取ったインバウンドAGPトランザクションに
関連するグラフィックス・アドレスを変換し、GARTが、コンピュータ・シス
テムのメイン・メモリ内のページの物理アドレスを含むアドレス変換ユニットと
を備えるグラフィックス拡張ブリッジ。 - 【請求項10】 メイン・メモリ内のページにそれぞれ関連し、ページ内の
アドレスをコンピュータ・システムのプロセッサ・バスでスヌープすべきか否か
を識別する表示を含む複数のエントリをGARTが含む請求項9に記載のグラフ
ィックス拡張ブリッジ。 - 【請求項11】 アドレス変換ユニットが、第1フォーマットまたは第2フ
ォーマットに従うGART内のエントリを解釈することによって複数のページ・
サイズをサポートする請求項9に記載のI/O拡張ブリッジ。 - 【請求項12】 複数のページ・サイズが、4Kバイトおよび4Mバイトを
含む請求項11に記載のI/O拡張ブリッジ。 - 【請求項13】 1つまたは複数の入出力(I/O)ポートと、アクセラレ
ーテッド・グラフィックス・ポート(AGP)バスとの間のバス・プロトコル・
ブリッジング機能を提供し、ローカル・メモリ内に格納されたグラフィックス・
アドレス再配置テーブル(GART)に基づいて、インバウンド・トランザクシ
ョンに関連する仮想アドレスを、コンピュータ・システムのメイン・メモリ内の
物理アドレスに変換するように構成されたブリッジング手段と、 コンピュータ・システムのブリッジング手段に結合され、システム・バスおよ
びメモリ・バスに結合するように構成された、ブリッジング手段のためにメイン
・メモリとの間でのデータ転送を実行するコントローラ手段と を備えるチップセット。 - 【請求項14】 1つまたは複数の入出力(I/O)ポートと、アクセラレ
ーテッド・グラフィックス・ポート(AGP)バスとの間でのバス・プロトコル
・ブリッジング機能を提供し、ローカル・メモリ内に格納されたグラフィックス
・アドレス再配置テーブル(GART)に基づいて、インバウンド・トランザク
ションに関連する仮想アドレスを、コンピュータ・システムのメイン・メモリ内
の物理アドレスに変換するように構成されたグラフィックス拡張ブリッジと、 グラフィックス拡張ブリッジに結合され、コンピュータ・システムのシステム
・バスおよびメモリ・バスに結合するように構成され、グラフィックス拡張ブリ
ッジのためにメイン・メモリとの間でのデータ転送を実行するように構成された
システム・メモリおよびI/Oコントローラとを備えるチップセット。 - 【請求項15】 ブリッジが、ローカルI/OバスでI/Oトランザクショ
ンを受け取るステップと、 I/Oトランザクションに関連するアドレスおよびオフセットを決定するステ
ップと、 ブリッジに直接結合されたローカル・メモリ内に格納されているアドレス変換
テーブルからアドレスに基づいてエントリを取り出すステップと、 エントリおよびオフセットに基づいて、コンピュータ・システムのメイン・メ
モリ内の位置を識別する物理アドレスを形成するステップと を含むブリッジ内で入出力(I/O)トランザクションを変換する方法。 - 【請求項16】 ローカルI/Oバスが、アクセラレーテッド・グラフィッ
クス・ポート(AGP)バスを備え、ブリッジがローカルI/OバスでI/Oト
ランザクションを受け取るステップが、ブリッジがAGPバスでAGPトランザ
クションを受け取るステップを含む請求項15に記載の方法。 - 【請求項17】 ローカル・メモリが、静的ランダム・アクセス・メモリ(
SRAM)を備える請求項15に記載の方法。 - 【請求項18】 前記位置が、メイン・メモリ内の4Kバイト・ページまた
は4Mバイト・ページ内に常駐するかどうかを判定するステップと、 前記判定するステップの結果に基づいてエントリを解釈するステップとをさら
に含む請求項15に記載の方法。 - 【請求項19】 物理アドレスへのアクセスをコヒーレントにすべきか、そ
れとも非コヒーレントにすべきかを決定するステップをさらに含む請求項15に
記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/385,209 | 1999-08-30 | ||
US09/385,209 US6457068B1 (en) | 1999-08-30 | 1999-08-30 | Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation |
PCT/US2000/022833 WO2001016772A1 (en) | 1999-08-30 | 2000-08-18 | Input/output (i/o) address translation in a bridge proximate to a local i/o bus |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003508850A true JP2003508850A (ja) | 2003-03-04 |
JP2003508850A5 JP2003508850A5 (ja) | 2007-08-16 |
JP4607405B2 JP4607405B2 (ja) | 2011-01-05 |
Family
ID=23520487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001520657A Expired - Fee Related JP4607405B2 (ja) | 1999-08-30 | 2000-08-18 | ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換 |
Country Status (10)
Country | Link |
---|---|
US (2) | US6457068B1 (ja) |
EP (1) | EP1208443B1 (ja) |
JP (1) | JP4607405B2 (ja) |
KR (1) | KR100432470B1 (ja) |
CN (1) | CN1213374C (ja) |
AU (1) | AU6789800A (ja) |
DE (1) | DE60026539T2 (ja) |
HK (1) | HK1043222B (ja) |
TW (1) | TW552515B (ja) |
WO (1) | WO2001016772A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007519102A (ja) * | 2003-12-24 | 2007-07-12 | インテル・コーポレーション | グラフィックスメモリ・スイッチ |
JP2007257637A (ja) * | 2006-03-23 | 2007-10-04 | Internatl Business Mach Corp <Ibm> | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
JP2011118732A (ja) * | 2009-12-04 | 2011-06-16 | Yokogawa Electric Corp | I/oノード |
JP2016051420A (ja) * | 2014-09-02 | 2016-04-11 | 株式会社メガチップス | バスブリッジ及びバスブリッジ群 |
JP2017151622A (ja) * | 2016-02-23 | 2017-08-31 | 富士通株式会社 | 情報処理装置、演算処理装置及び情報処理装置の制御方法 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457068B1 (en) * | 1999-08-30 | 2002-09-24 | Intel Corporation | Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation |
US6785759B1 (en) * | 2000-05-10 | 2004-08-31 | International Business Machines Corporation | System and method for sharing I/O address translation caching across multiple host bridges |
US6789154B1 (en) * | 2000-05-26 | 2004-09-07 | Ati International, Srl | Apparatus and method for transmitting data |
US6748512B2 (en) * | 2000-12-08 | 2004-06-08 | Intel Corporation | Method and apparatus for mapping address space of integrated programmable devices within host system memory |
US7009618B1 (en) * | 2001-07-13 | 2006-03-07 | Advanced Micro Devices, Inc. | Integrated I/O Remapping mechanism |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
JP2004087867A (ja) * | 2002-08-28 | 2004-03-18 | Renesas Technology Corp | 半導体集積回路装置 |
US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
GB0301448D0 (en) * | 2003-01-22 | 2003-02-19 | Falanx Microsystems As | Microprocessor systems |
US6874042B2 (en) * | 2003-03-11 | 2005-03-29 | Dell Products L.P. | System and method for using a switch to route peripheral and graphics data on an interconnect |
US7073010B2 (en) * | 2003-12-02 | 2006-07-04 | Super Talent Electronics, Inc. | USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint |
US7296139B1 (en) | 2004-01-30 | 2007-11-13 | Nvidia Corporation | In-memory table structure for virtual address translation system with translation units of variable range size |
US7278008B1 (en) | 2004-01-30 | 2007-10-02 | Nvidia Corporation | Virtual address translation system with caching of variable-range translation clusters |
US7334108B1 (en) | 2004-01-30 | 2008-02-19 | Nvidia Corporation | Multi-client virtual address translation system with translation units of variable-range size |
US7496706B2 (en) * | 2004-06-30 | 2009-02-24 | Intel Corporation | Message signaled interrupt redirection table |
CN100345136C (zh) * | 2004-06-30 | 2007-10-24 | 中国科学院计算技术研究所 | 使64位处理器兼容32位桥接芯片的系统及转换装置 |
US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US7469312B2 (en) * | 2005-02-24 | 2008-12-23 | International Business Machines Corporation | Computer system bus bridge |
US20060190655A1 (en) * | 2005-02-24 | 2006-08-24 | International Business Machines Corporation | Apparatus and method for transaction tag mapping between bus domains |
US7339591B2 (en) * | 2005-03-10 | 2008-03-04 | Microsoft Corporation | Method to manage graphics address remap table (GART) translations in a secure system |
US7370137B2 (en) * | 2005-06-06 | 2008-05-06 | Intel Corporation | Inter-domain data mover for a memory-to-memory copy engine |
US20070005865A1 (en) * | 2005-06-29 | 2007-01-04 | Spry Bryan L | Enforcing global ordering using an inter-queue ordering mechanism |
US20080028181A1 (en) * | 2006-07-31 | 2008-01-31 | Nvidia Corporation | Dedicated mechanism for page mapping in a gpu |
WO2008033963A2 (en) * | 2006-09-12 | 2008-03-20 | Boa Technology, Inc. | Closure system for braces, protective wear and similar articles |
US20080259556A1 (en) * | 2007-04-20 | 2008-10-23 | Tracy Mark S | Modular graphics expansion system |
US20090157949A1 (en) * | 2007-12-18 | 2009-06-18 | Leibowitz Robert N | Address translation between a memory controller and an external memory device |
US7904693B2 (en) * | 2008-02-01 | 2011-03-08 | International Business Machines Corporation | Full virtualization of resources across an IP interconnect using page frame table |
US7900016B2 (en) * | 2008-02-01 | 2011-03-01 | International Business Machines Corporation | Full virtualization of resources across an IP interconnect |
CN101414970B (zh) * | 2008-11-26 | 2011-11-30 | 中兴通讯股份有限公司 | Ioc模块分配方法及io交换器 |
US8291415B2 (en) * | 2008-12-31 | 2012-10-16 | Intel Corporation | Paging instruction for a virtualization engine to local storage |
US8793439B2 (en) * | 2010-03-18 | 2014-07-29 | Oracle International Corporation | Accelerating memory operations using virtualization information |
US9477634B2 (en) * | 2010-06-04 | 2016-10-25 | Intersil Americas LLC | I2C address translation |
CN102880587B (zh) * | 2012-10-09 | 2014-12-24 | 无锡江南计算技术研究所 | 基于嵌入式加速核心的独立显卡架构 |
CN103092797B (zh) * | 2012-12-13 | 2016-02-03 | 中国航空无线电电子研究所 | 离散量接口同步控制装置、离散量采集及输出控制方法 |
US10372663B2 (en) * | 2017-07-25 | 2019-08-06 | Qualcomm Incorporated | Short address mode for communicating waveform |
CN109413122B (zh) * | 2017-08-16 | 2022-05-13 | 深圳市中兴微电子技术有限公司 | 一种数据处理方法、网络处理器及计算机存储介质 |
TWI720345B (zh) * | 2018-09-20 | 2021-03-01 | 威盛電子股份有限公司 | 多核心系統的內連線結構 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173386A (ja) * | 1997-05-13 | 1999-03-16 | Compaq Computer Corp | 周辺要素接続バスを備えたコンピュータ・システム |
US5905509A (en) * | 1997-09-30 | 1999-05-18 | Compaq Computer Corp. | Accelerated Graphics Port two level Gart cache having distributed first level caches |
JPH11167524A (ja) * | 1997-09-09 | 1999-06-22 | Compaq Computer Corp | コンピュータ・システム |
JPH11167523A (ja) * | 1997-09-09 | 1999-06-22 | Compaq Computer Corp | コンピュータ・システム |
WO1999034293A1 (en) * | 1997-12-30 | 1999-07-08 | Micron Technology, Inc. | Accelerated graphics port for multiple memory controller computer system |
WO1999041671A1 (en) * | 1998-02-13 | 1999-08-19 | Intel Corporation | Accessing a messaging unit from a secondary bus |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01181163A (ja) | 1988-01-13 | 1989-07-19 | Seiko Instr & Electron Ltd | 図形表示システム |
US5072369A (en) | 1989-04-07 | 1991-12-10 | Tektronix, Inc. | Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates |
US5335329A (en) | 1991-07-18 | 1994-08-02 | Texas Microsystems, Inc. | Apparatus for providing DMA functionality to devices located in a bus expansion chassis |
WO1994016391A1 (en) | 1992-12-31 | 1994-07-21 | Intel Corporation | Bus to bus interface with address translation |
US5479627A (en) * | 1993-09-08 | 1995-12-26 | Sun Microsystems, Inc. | Virtual address to physical address translation cache that supports multiple page sizes |
US5606683A (en) * | 1994-01-28 | 1997-02-25 | Quantum Effect Design, Inc. | Structure and method for virtual-to-physical address translation in a translation lookaside buffer |
EP0674269B1 (en) * | 1994-03-24 | 2001-12-19 | Hewlett-Packard Company, A Delaware Corporation | Translation mechanism for input/output addresses |
US6029224A (en) * | 1995-06-07 | 2000-02-22 | Lucent Technologies Inc. | Self-contained memory apparatus having diverse types of memory and distributed control |
US5937436A (en) * | 1996-07-01 | 1999-08-10 | Sun Microsystems, Inc | Network interface circuit including an address translation unit and flush control circuit and method for checking for invalid address translations |
US5983332A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture |
US5857080A (en) | 1996-09-10 | 1999-01-05 | Lsi Logic Corporation | Apparatus and method for address translation in bus bridge devices |
US6141701A (en) * | 1997-03-13 | 2000-10-31 | Whitney; Mark M. | System for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities |
US6249853B1 (en) * | 1997-06-25 | 2001-06-19 | Micron Electronics, Inc. | GART and PTES defined by configuration registers |
US6195734B1 (en) * | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US5999743A (en) * | 1997-09-09 | 1999-12-07 | Compaq Computer Corporation | System and method for dynamically allocating accelerated graphics port memory space |
US5914727A (en) | 1997-09-09 | 1999-06-22 | Compaq Computer Corp. | Valid flag for disabling allocation of accelerated graphics port memory space |
US5949436A (en) * | 1997-09-30 | 1999-09-07 | Compaq Computer Corporation | Accelerated graphics port multiple entry gart cache allocation system and method |
US6130680A (en) * | 1997-12-01 | 2000-10-10 | Intel Corporation | Method and apparatus for multi-level demand caching of textures in a graphics display device |
US6252612B1 (en) * | 1997-12-30 | 2001-06-26 | Micron Electronics, Inc. | Accelerated graphics port for multiple memory controller computer system |
US6199145B1 (en) * | 1998-02-27 | 2001-03-06 | Intel Corporation | Configurable page closing method and apparatus for multi-port host bridges |
US6145030A (en) * | 1998-03-27 | 2000-11-07 | Intel Corporation | System for managing input/output address accesses at a bridge/memory controller |
US6192455B1 (en) * | 1998-03-30 | 2001-02-20 | Intel Corporation | Apparatus and method for preventing access to SMRAM space through AGP addressing |
US6326973B1 (en) * | 1998-12-07 | 2001-12-04 | Compaq Computer Corporation | Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA) |
US6457068B1 (en) * | 1999-08-30 | 2002-09-24 | Intel Corporation | Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation |
-
1999
- 1999-08-30 US US09/385,209 patent/US6457068B1/en not_active Expired - Lifetime
-
2000
- 2000-08-18 WO PCT/US2000/022833 patent/WO2001016772A1/en active IP Right Grant
- 2000-08-18 EP EP00955748A patent/EP1208443B1/en not_active Expired - Lifetime
- 2000-08-18 KR KR10-2002-7002786A patent/KR100432470B1/ko not_active IP Right Cessation
- 2000-08-18 CN CNB008147264A patent/CN1213374C/zh not_active Expired - Fee Related
- 2000-08-18 DE DE60026539T patent/DE60026539T2/de not_active Expired - Lifetime
- 2000-08-18 AU AU67898/00A patent/AU6789800A/en not_active Abandoned
- 2000-08-18 JP JP2001520657A patent/JP4607405B2/ja not_active Expired - Fee Related
- 2000-09-15 TW TW089117607A patent/TW552515B/zh not_active IP Right Cessation
-
2002
- 2002-05-09 US US10/142,706 patent/US6618770B2/en not_active Expired - Fee Related
- 2002-07-03 HK HK02104993.7A patent/HK1043222B/zh not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1173386A (ja) * | 1997-05-13 | 1999-03-16 | Compaq Computer Corp | 周辺要素接続バスを備えたコンピュータ・システム |
JPH11167524A (ja) * | 1997-09-09 | 1999-06-22 | Compaq Computer Corp | コンピュータ・システム |
JPH11167523A (ja) * | 1997-09-09 | 1999-06-22 | Compaq Computer Corp | コンピュータ・システム |
US5905509A (en) * | 1997-09-30 | 1999-05-18 | Compaq Computer Corp. | Accelerated Graphics Port two level Gart cache having distributed first level caches |
WO1999034293A1 (en) * | 1997-12-30 | 1999-07-08 | Micron Technology, Inc. | Accelerated graphics port for multiple memory controller computer system |
WO1999041671A1 (en) * | 1998-02-13 | 1999-08-19 | Intel Corporation | Accessing a messaging unit from a secondary bus |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007519102A (ja) * | 2003-12-24 | 2007-07-12 | インテル・コーポレーション | グラフィックスメモリ・スイッチ |
JP2007257637A (ja) * | 2006-03-23 | 2007-10-04 | Internatl Business Mach Corp <Ibm> | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
JP2011118732A (ja) * | 2009-12-04 | 2011-06-16 | Yokogawa Electric Corp | I/oノード |
JP2016051420A (ja) * | 2014-09-02 | 2016-04-11 | 株式会社メガチップス | バスブリッジ及びバスブリッジ群 |
JP2017151622A (ja) * | 2016-02-23 | 2017-08-31 | 富士通株式会社 | 情報処理装置、演算処理装置及び情報処理装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20020064280A (ko) | 2002-08-07 |
US6618770B2 (en) | 2003-09-09 |
KR100432470B1 (ko) | 2004-05-20 |
HK1043222A1 (en) | 2002-09-06 |
US20020129187A1 (en) | 2002-09-12 |
CN1213374C (zh) | 2005-08-03 |
CN1382277A (zh) | 2002-11-27 |
HK1043222B (zh) | 2006-06-30 |
JP4607405B2 (ja) | 2011-01-05 |
AU6789800A (en) | 2001-03-26 |
US6457068B1 (en) | 2002-09-24 |
EP1208443A1 (en) | 2002-05-29 |
EP1208443B1 (en) | 2006-03-08 |
TW552515B (en) | 2003-09-11 |
DE60026539D1 (de) | 2006-05-04 |
WO2001016772A1 (en) | 2001-03-08 |
DE60026539T2 (de) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4607405B2 (ja) | ローカルi/oバスに近接するブリッジでの入出力(i/o)アドレス変換 | |
US6434639B1 (en) | System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation | |
US6385705B1 (en) | Circuit and method for maintaining order of memory access requests initiated by devices in a multiprocessor system | |
JP4805314B2 (ja) | 入出力(i/o)仮想化動作のプロセッサへのオフロード | |
US6076139A (en) | Multimedia computer architecture with multi-channel concurrent memory access | |
US5864876A (en) | DMA device with local page table | |
US6813653B2 (en) | Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system | |
USRE37980E1 (en) | Bus-to-bus bridge in computer system, with fast burst memory range | |
US6928529B2 (en) | Data transfer between virtual addresses | |
US5936640A (en) | Accelerated graphics port memory mapped status and control registers | |
US6330630B1 (en) | Computer system having improved data transfer across a bus bridge | |
US5964859A (en) | Allocatable post and prefetch buffers for bus bridges | |
US20090077320A1 (en) | Direct access of cache lock set data without backing memory | |
JP2001517844A (ja) | マルチポートメモリを用いる知的データバスインタフェース | |
JP2002535763A (ja) | ダイナミック・ディスプレイ・メモリを実装するための方法および装置 | |
JPH11175454A (ja) | 自動直接メモリ・アクセス機能を備えたコンピュータ・システム | |
JPH11175455A (ja) | コンピュータ・システムにおける通信方法及び装置 | |
US6313845B1 (en) | Method and apparatus for transporting information to a graphic accelerator card | |
US7308557B2 (en) | Method and apparatus for invalidating entries within a translation control entry (TCE) cache | |
JP2001147858A (ja) | ハイブリッドコヒーレンスプロトコル | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
JP2001516089A (ja) | メモリ属性パレット | |
US6832274B2 (en) | Address translation | |
CN112559434B (zh) | 一种多核处理器及核间数据转发方法 | |
US6301648B1 (en) | Method and apparatus for processing memory accesses utilizing a TLB |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070626 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100406 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100706 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100806 |
|
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: 20100907 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101007 |
|
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: 20131015 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |