JP3790713B2 - 共用バス上の装置に対するトランザクションの選択的宛先設定 - Google Patents
共用バス上の装置に対するトランザクションの選択的宛先設定 Download PDFInfo
- Publication number
- JP3790713B2 JP3790713B2 JP2002074576A JP2002074576A JP3790713B2 JP 3790713 B2 JP3790713 B2 JP 3790713B2 JP 2002074576 A JP2002074576 A JP 2002074576A JP 2002074576 A JP2002074576 A JP 2002074576A JP 3790713 B2 JP3790713 B2 JP 3790713B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- controller
- destination
- signal
- agent
- 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.)
- Expired - Lifetime
Links
Images
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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
本発明は、一般にはデータ処理システムの分野に関し、より詳細には、共用バス上のトランザクションをバス上の選択された宛先に送達するデータ処理システムに関する。
【0002】
【従来の技術】
データ処理システムの分野では、標準化周辺バスの使用がよく知られている。このようなバスの一般的に普及しているものとして、米国97221オレゴン州ポートランド ウエスト・ドライブ サウス・ウェスト5440 スイート217のPCI Special Interest Groupから入手可能な「PCI Local Bus Specification 改訂2.2版」で指定されているPCI(Peripheral Components Interface)バスがある。PCIバスに接続された装置は、すべて共通の共用アドレス空間にマップされる。どのバス・マスタまたはトランザクション開始側でも、共用アドレス空間の宛先の部分を読取りまたは書込みするだけで、どの宛先装置にでもアクセスすることができる。宛先装置がトランザクションの開始側を判断することができないため、PCIトランザクションは匿名であると言える。PCIの共用性と匿名性は、CPUまたはCPUの集合がバス・エージェントの1つであり、コンピュータ・システムの周辺装置が他のバス・エージェントである従来のPCI環境にとって、一般的に望ましい属性である。
【0003】
図1を参照すると、従来の技術の典型的なデータ処理システム100が図示されている。データ処理システム100は、各プロセッサがシステム・バス103に接続された1つまたは複数のプロセッサ102を含む。プロセッサ102は、システム・バス103を介してシステム・メモリ104にアクセスすることができる。さらに、システム・バス103と周辺バス107との間にバス・ブリッジ/バス・アービタ106が接続されている。本明細書では、周辺バス107は一般にはPCIローカル・バス仕様改訂2.2版に準拠しているものとする。周辺バス107には、1つまたは複数の周辺装置またはアダプタ108が接続されている。周辺装置108は、たとえば、ハード・ディスク・アダプタ、グラフィックス・アダプタ、オーディオ・アダプタ、高速ネットワーク・アダプタなど、任意の数の装置を含むことができる。バス107のアドレス空間は、周辺装置108間で分割されている。一般には、周辺バス107に結合された各周辺装置108は、バス上で発生するすべてのトランザクションを「見る」ことができる。具体的には、バス107上のすべての装置108は、同じデータ、アドレス、および制御信号を受け取る。したがって、バス107は共用バスであると言うことができる。さらに、バス107のデータ、アドレス、および制御信号は一般に、トランザクションを開始した装置を示す情報を含まないため、バス107上のトランザクションは匿名である。
【0004】
共用の匿名バスは従来のマイクロプロセッサ・ベース設計の環境には適合していたが、PCIベースのマルチプロセッサ環境では望ましくない場合がある。本開示では、PCIベースの多重処理システムとは、CPUが単一のPCIバスに接続されているコンピュータ・システムを指す。この環境では、選択されたプロセッサを他のプロセッサから分離または安全保護することが望ましいと考えられる。さらに、マルチプロセッサ・システムでは、プロセッサ間または1つもしくは複数のプロセッサと選択された周辺装置との間での「非公開の会話」が可能なことが望ましい場合がある。現在実施されているPCI標準の共用アドレス空間と匿名トランザクションでは、このような非公開または安全なトランザクションができないようになっている。したがって、他の装置が実質的に通信を見ることができないように、共用PCIバス上の個々の装置が非公開に通信することができるようにするシステムおよび方法を実現することが強く望まれるであろう。さらに、実現されたシステムが既存のPCI準拠装置の変更を必要とせず、PCI仕様自体の変更または修正も必要としないことが望ましいであろう。また、実現された解決策が、既存のハードウェアの複雑な変更または大規模な変更を必要としないことが望ましいであろう。
【0005】
【発明が解決しようとする課題】
主として、所望のバス・エージェントをバスから実質的に分離するようにバス信号が選択的に修正されるシステムによって、上記の問題に対処する。
【0006】
【課題を解決するための手段】
バス信号の選択的修正は、許可および禁止されたバス・トランザクション開始側/宛先の対を示す記憶テーブル(許可テーブル)によって判断することができる。この許可テーブルは、プログラマブル・ロジック・アレイや特定用途向け集積回路などの専用装置に配置することができる。さらに、許可テーブルは、バス・アービタに統合することもできる。許可テーブルは、好ましい実施形態では動的に修正することができ、各バス・エージェントに固有の1ビット信号を与えるために使用することができる。この許可信号によって、対応するバス・エージェントが現行バス・マスタからトランザクションを受け取ることを許可されているかどうかを示すことができる。この許可ビットは、各バス・エージェントに関連づけられた外部ゲート回路に発送することができる。ゲート回路は、1つまたは複数のバス制御信号を受け取ることができ、許可ビットの状態に応じて制御信号を修正することができる。バスがPCIバスである一実施形態では、ゲート回路は、各バス・エージェントのFRAME#信号やGNT#信号などのバス制御信号を受け取ることができる。対応する許可信号がイナクティブまたはデアサートされ、それによって禁止開始側/宛先対を示している場合、FRAME#信号と、場合によってはGNT#信号が、バス・エージェントから分離され、ゲート回路はバス・エージェントのFRAME#ピンとGNT#ピンをVCCに維持し、それによってバス・エージェントがバス・トランザクションを認識しないようにする。
【0007】
【発明の実施の形態】
本発明は、一般には、PCIバス上のエージェントが互いに秘密に通信することができ、トランザクションがバス上の選択された宛先にのみ送達されるシステムを企図する。トランザクションの選択的宛先設定の使用は、複数のプロセッサが共通の周辺バスに結合されたシステムで特に有用である。本発明は、データ処理システムにあまり複雑でない回路を組み込むことによって、共用バス上の選択された開始側と宛先との間で安全な通信を行うことができる。さらに、本発明は、このような選択的に宛先設定されたトランザクションを実現するのに必要なハードウェアの適切な実現により、トランザクションの開始側とそれらのトランザクションを見ることを許可された宛先との関係を動的に変更することができる。
【0008】
図面を参照すると、図3には、本発明を実施するのに適合したシステムまたはデータ処理装置の組合せ300の選択された機構が図示されている。図の組合せ300の実施形態は、本明細書でローカルPCIバス303と呼ぶPCIバスを介して互いに接続された、複数のマイクロプロセッサ・ベースのデータ処理システム301a、301b、301c、301d、301e、および301f(本明細書では、総称して、またはまとめて、データ処理システム301と呼ぶ)を含むPCIベースのマルチプロセッサ・システムである。バス・ブリッジ304によって、PCIバックプレーン305と呼ぶ第2のPCIバスに接続される。一実施形態では、PCIバックプレーン305は、データ処理システム301のセットによって共用される周辺装置を接続するのに適合したバスを設ける。組合せ300は、たとえば、グラフィックス・アダプタを介してPCIバックプレーン305に接続された共用表示装置(図示せず)を含むことができる。
【0009】
図の組合せ300はさらに、ローカルPCIバス303へのアクセスを制御するアービタ302を含む。各データ処理システム301とバス・ブリッジ304は、ローカル・バス303の支配権を要求し、受け取ることができる。要求する装置は一般に、要求信号(REQ#)をアサートすることによってPCIローカル・バス303の支配権を獲得する。固有のREQ#信号が各システム301と、ローカルPCIバス303のマスタとなる可能性のある他のいずれかのシステムの専用とされる。REQ#信号のセットがアービタ302に送られる。アービタ302は、バス・エージェントに対してローカルPCIバス303の支配権を認可するのに適合したアービトレーション論理回路を含む。アービタ302は典型的には、各バス・エージェントに固有の認可信号(GNT#)を送る。アービトレーション論理回路は、着信REQ#信号の状態に基づいてGNT#信号の1つをアサートするように構成されている。単一のREQ#信号がアサートされた場合、アービタ302は、次の利用可能なバス・サイクルでそれに対応するエージェントにローカルPCIバス303の支配権を認可する。同時に複数のREQ#信号がアサートされた場合、アービタ302は、何らかの形の選択アルゴリズムまたは公平性アルゴリズムに基づいてそれらのアサートされた信号のうちから選択するように構成されている。アービタ302は、たとえば、最も古い未処理の要求を持つエージェントに支配権を認可する。他の実施形態では、支配権の認可は、バス・アービトレーションの分野で周知のいくつかの優先順位付けアルゴリズムのいずれかに従って優先順位付けすることができる。
【0010】
図の実施形態では、アービタ302はさらに、本明細書で許可論理回路と呼ぶ、許可情報を生成する役割を果たす図の論理回路を含む。この許可情報を認可信号GNT#と共に使用して、ローカルPCIバス303上のエージェントにトランザクションを受け取る選択的許可を与える。選択的許可は、開始側エージェント(バス・マスタ)の識別情報に基づく。図2に、アービタ302と、(参照番号301aによって識別された)開始側バス・エージェントと、開始側バス・エージェントによって生成されたトランザクションの宛先となる可能性のある他のバス・エージェント301との間で受渡しされる信号を示す。前述のように、各開始側バス・マスタ301は、PCI仕様の要求に従い、PCI仕様に準拠して、固有のREQ#信号をアービタ302に送り、固有のGNT#信号をアービタ302から受け取る。しかし、本発明によると、アービタ302は、PCIトランザクションの宛先となる可能性のある各バス・エージェント301に、固有の信号である許可信号を送る。この許可信号のセットは、ローカルPCIバス303上のバス・エージェント301にトランザクションを選択的に配信することができるようにする構造を備える。一実施形態では、各許可信号は、対応するバス・エージェントが現行バス・マスタからトランザクションを受け取ることを許可されているかどうかを示す単一ビット(単一線)信号である。特定の許可信号がデアサートされた場合、その許可信号に関連づけられたバス・エージェント301をローカルPCIバス303から切り離し、それによってバス上で発生したトランザクションを見ることができないようにする。本発明は、一実施形態では、バス・エージェントが選択されたPCI制御信号のアサートを見ることができないようにすることによって、バス・エージェントがトランザクションを見ることができないようにする。PCI準拠装置が新たなPCIトランザクションの開始を示す適切な制御信号を受け取らない場合、その装置は実質的にそのトランザクションを認識することができなくなる。言い換えると、トランザクションを開始するバス・エージェントの識別情報に基づいてPCI制御信号を適切なバス・エージェントに対して選択的にゲート制御することによって、トランザクションをその所望のバス・エージェントに選択的に配信することができ、安全に他のエージェントに知らせないようにすることができる。このようにして、PCIベースのマルチプロセッサ・システムは、好ましくは構成装置のPCIインタフェースに変更を加えずに、または取外し可能PCI装置の場合はPCIコネクタを変更することなく、安全なトランザクションを組み込むことができる。
【0011】
図4を参照すると、図3のデータ処理システム301として使用するのに適合したシステムの選択された要素のブロック図が図示されている。図の実施形態では、各データ処理システム301は、内蔵システム・オン・チップ設計によって実現されている。このような実施形態の1つでは、データ処理システム301は、中央処理装置(CPU)402と、統合メモリ管理装置(MMU)404と、専用命令キャッシュ(Iキャッシュ)406と、データ・キャッシュ(Dキャッシュ)408とを含むコア401を備える。コア401は、5段階パイプラインCPUがMMU、16KBの命令キャッシュ、および8KBのデータ・キャッシュと統合された、IBMコーポレーションのPowerPC(登録商標)405B3 Embedded Coreなどの縮小命令セット(RISC)設計によって実現することができる。
【0012】
コア401は、DRAMコントローラ412、周辺装置コントローラ414、バス・マスタ・コントローラ416、およびPCIインタフェース418を含む様々な統合装置が接続されたローカル・バス410と通信する。システム301のローカル・バス410は、バス・ブリッジ420を介して周辺バス420に接続されている。周辺バスによって、コア401は、1つまたは複数のシリアル・ポート(UART)430、1組の汎用入出力(GPIO)ポート432、I2Cインタフェース434、システム301が外部接続ネットワークと通信することができるようにするEthernet(登録商標)ポート436を含む様々な統合周辺装置と通信することができる。システム401はさらに、割込みコントローラ428と、オンチップ(SRAM)424と、重要なコードおよびデータへの単一サイクル・アクセスを可能にする対応するコントローラ426とを含む。IBMコーポレーションのPowerPC(登録商標)405GP Embedded Processorは、図のデータ処理システム301の実施形態として使用するのに適合した装置である。この実施形態では、データ処理システム301は低電力(<1.1W)で高パフォーマンスを示し、温度の影響を受けやすい環境における高密度用途に適合した単一パッケージ構成の高集積組込型プロセッサ装置であることが、当業者ならわかるであろう。
【0013】
図5を参照すると、選択された宛先へのPCIトランザクションの配信を可能にする本発明の機構を示すために、図3に図示したデータ処理システム301の組合せ300の選択された要素のブロック図が示されている。図の実施形態では、組合せ300は、バス・エージェント502a、502b、502c、および502d(総称して、またはまとめてバス・エージェント502と呼ぶ)と通信する許可コントローラ501を含むものとして図示されている。バス・エージェント502は、図3のローカルPCIバス303に接続され、PCIトランザクションの開始または受領が可能な任意の装置である。したがって、バス・エージェント502は、図3に示すデータ処理システム301の1つおよびバス・ブリッジ304か、またはバス303に接続され、バス・アドレス空間の一部が割り当てられた他の任意の周辺装置とすることができる。許可コントローラ501は、バス・アービタ302に統合するか、または独立型集積回路として実現することができる。独立型実施形態では、許可コントローラ501は、フィールド・プログラマブル・ゲート・アレイ(FPGA)またはその他の適合する特定用途向け集積回路(ASIC)を含むことができる。
【0014】
許可コントローラ501は、アービタ302が発生したGNT#信号を受け取る。許可コントローラ501は、これらの標準PCI信号から、それに続くバス・トランザクションの開始側を識別することができる。共用バス上のトランザクションを選択された宛先だけに送達することを実現するために、許可コントローラ501の一実施形態は、各開始側ごとに許可されたバス・エージェント宛先を示すプログラマブル・テーブルを含む。次に図6を参照すると、許可コントローラ501で使用するのに適合した許可テーブル602(入出力メモリ許可テーブル602とも呼ぶ)の一実施形態が図示されている。図の実施形態では、許可テーブル602は、行と列のセットとして配列された記憶素子(メモリ)の配列を含む。許可テーブル602の各行は、バス・トランザクションの可能な開始側に対応し、各列はトランザクションの可能な宛先に対応する。許可テーブル602の各行と列の交差部に許可ビットがある。許可ビットは、その許可ビットの列アドレスに対応するバス・エージェントが、許可ビットの行アドレスに対応するバス・エージェントによって開始されたトランザクションを受け取ることを許可されているかどうかを示す。図の実施形態では、論理1許可ビットが、対応する宛先装置が対応する開始側からトランザクションを受け取ることを許可されていることを示す。許可テーブル602によって、許可された開始側/宛先対が示されるため、許可コントローラ501は各バス・エージェントからREQ#信号を受け取る必要がない。特定のトランザクションの許可された宛先は、開始側(GNT#信号から判断される)と許可テーブル内の情報によってのみ判断され、それによって許可コントローラの論理回路が大幅に簡素化される。
【0015】
好ましい実施形態では、許可された開始側/宛先対は、ユーザがプログラム式に修正することができる。一実施形態では、許可コントローラ501、具体的には許可テーブル602には、PCIバス上のアドレス空間が割り当てられ、それによって割当テーブルの動的な修正が可能になっている。ユーザは、許可テーブル602への適切な書込みによって、バス上のエージェント502を、所望の開始側のみからのトランザクションを認識するようにプログラム式に構成することができる。所望のセキュリティ・レベルを維持するために、信用マスタをトランザクションの唯一の許可された開始側として許可コントローラにアクセスすることができるように電源投入時に許可テーブルをプログラムするなどによって、許可コントローラ501へのアクセスを信用マスタ装置にのみ制限することができる。あるいは、許可コントローラ501をプライベート・バスを介して専用の管理プロセッサまたはサービス・プロセッサに接続することによって、許可テーブルのセキュリティを維持することができる。
【0016】
許可テーブル602を対称的にプログラムする必要はない。言い換えると、第1のバス・エージェントが第2のバス・エージェントからトランザクションを受け取る場合に、第2のバス・エージェントを第1のバス・エージェントからトランザクションを受け取るようにプログラムする必要はない。実施態様によっては、一致許可ビット(すなわち、宛先と開始側が同じバス・エージェントである許可ビット)を論理「1」にプログラムする必要がある場合もある。
【0017】
アービタ302が要求バス・エージェントにバスを認可すると、アービタはそのバス・エージェントに対応するGNT#信号をアサートする。アサートされたGNT#信号によって、いずれのバス・エージェントがトランザクションの開始側になろうとしているかが許可コントローラ501に示される。次に許可コントローラ501は、アサートされたGNT#信号を使用して、バス支配権が認められたバス・エージェント(すなわち開始側バス・エージェント)に対応する、許可テーブル602の行を選択する。一実施形態では、許可コントローラ501は、許可テーブル602内の各列に対応するビットを有する許可出力レジスタ604を含む。アービタがGNT#信号をアサートすると、アサートされたGNT#信号によって、許可テーブル602の対応する行が選択される。PCI遊休サイクル中に許可テーブルの行が選択された場合、選択された行の内容が許可出力レジスタ604に転送される。したがって、許可出力レジスタ604は、開始バス・エージェントからのトランザクションを認識することを許可された宛先に対応するビット位置に、1つまたは複数の論理1を保持することができ、開始バス・エージェントからのトランザクションを認識することを許可されていない宛先に対応するビット位置には1つまたは複数の論理0を保持することができる。
【0018】
図7および図8を参照すると、各許可ビットが、トランザクションの宛先となり得る各バス・エージェント502に関連づけられた対応するゲート回路702(そのうちの1つが図7で参照番号702aによって識別されている)に入力を提供する、本発明の一実施形態が図示されている。各ゲート回路702は、それに対応するバス・エージェント502の外部にあるハードウェアとして実現されることが好ましい。このようにすることで、バス・エージェント自体は、本発明により適切に機能するようにハードウェアまたはソフトウェアの変更を必要としない。各ゲート回路702は、それに対応するバス・エージェント502として同一のプリント回路板に装着することができる。各バス・エージェント502が単一の回路板に装着される一実施形態では、様々なゲート回路702を、対応するバス・エージェント502に近接して装着されることが好ましい1つまたは複数の個別チップで実現することができる。
【0019】
図8に示すゲート回路702の実施形態は、バス制御信号(PCI FRAME#信号など)およびバス・エージェント502に対応するGNT#信号を受け取り、バス・エージェント502に関連づけられた許可ビットの状態に基づいて修正するように構成されている。具体的には、許可ビットは第1のパス・トランジスタ802および第2のパス・トランジスタ804と、第1および第2のトライステート・ドライバ806および808に制御入力を提供する。第1のパス・トランジスタ802は、開始側バス・エージェントが生成したFRAME#信号をゲート制御し、第2のパス・トランジスタ804はアービタ302からの適切なGNT#信号をゲート制御する。許可ビットがアサート(論理「1」)されると、ドライバ806および808の出力がトライステートになり、トランジスタ802および804が、それぞれFRAME#信号およびGNT#信号と宛先バス・エージェント502上のFRAME#ピンおよびGNT#ピンとの間に低インピーダンス経路を設ける。許可ビットがデアサートされると、パス・トランジスタは、FRAME#信号およびGNT#信号がバス・エージェント502から分離されるように有効に開回路制御される。この場合、バス・エージェント502のFRAME#ピンおよびGNT#ピンはそれぞれ、VCCに接続された入力端子を有するドライバ806および808によって論理HIGHに維持される。
【0020】
ゲート回路702は、(許可コントローラ501からの許可ビットに基づいて)トランザクションを受け取ることを許可されていないバス・エージェントがトランザクションを認識するのを実質的に防ぐように保証する。PCI準拠装置は、トランザクションを検知するにはFRAME#信号のマイナスの遷移を検出しなければならないため、論理「0」許可ビットに対応するバス・エージェントはバス上のトランザクションを認識しない。開始側が、開始側が通信することを禁止されている宛先装置のアドレス空間に対応するアドレスを有するトランザクションを送った場合、宛先側はそのトランザクションを検出せず、開始側は最終的にアボートする。このようにして、選択された装置をバスから分離するこの方法は、バス・アドレス・マッピングとは独立している。
【0021】
許可コントローラがバス・アービタ302の内蔵構成要素である実施形態では、ゲート回路702を簡略化することができる。この実施形態では、アービタ302は、許可ビットを使用して、ゲート回路702によるGNT#信号のローカルな変更が不要になるようにして適切なGNT#のアサートを防ぐことができる。したがって、ゲート回路702は、FRAME#信号を修正するだけで済み、パス・トランジスタ804およびドライバ808を省くことによって簡略化することができる。
【0022】
本発明の応用分野の1つには、障害バス・エージェントを使用禁止にすることが含まれる。特定のバス・エージェントが誤動作していると判断された場合、その障害バス・エージェントに関連づけられたすべての許可ビットを論理「0」に設定することによって、その障害バス・エージェントをトランザクションの宛先として全面的に禁止することができる。許可コントローラがアービタと統合されている一実施形態では、特定のバス・エージェントが許可された宛先を持たない場合にはそのバス・エージェントにバスの支配権を決して認可してはならないことを認識するように、アービタを構成することができる。このようにして、アービタは、障害装置がバス・サイクルを消費するのを防ぐことによってバスの処理容量が失われないようにすることができる。
【0023】
本発明は、「パイプライン」PCIバス認可を実現する特定のシステムに作用を及ぼし得る。「パイプライン」バス認可は、アービタが、現行の開始側がバスを解放する前に新しいバス・エージェントに許可を与える場合に発生する。認可されたにもかかわらず、新しいバス・エージェントは、PCIバス上の遊休サイクルを待ってからトランザクションを開始しなければならない。実際に、アービタは、新しいバス・エージェントがそのトランザクションを実際に開始する前の任意の時点で新しいバス・エージェントから認可を取り消して、別のエージェントに認可を与えることさえ可能である。
【0024】
具体的には、許可コントローラがPCIバス・アービタと統合されている場合、アービタ論理回路の好ましい実施形態は、現在切り離されている(すなわちその許可ビットによりトランザクション受け取ることを禁止されている)バス・エージェントに対するバス認可をアービタがパイプライン化するを防ぐ。分離されたバス・エージェントは常にFRAME#のHIGH(デアサート)を観察するため、パイプライン化されたGNT#を受け取る分離エージェントは、(分離された装置がHIGHの(デアサートされた)PCIバス信号IRDY#も観察する場合)偽の「バス遊休」条件を検知する可能性がある。このような状況では、分離された装置がトランザクションを開始し、そのトランザクションが誤って現行バス活動を妨害することになる。
【0025】
本発明の一実施形態におけるGNT#信号は、許可コントローラがPCIバス・アービタとは分離されているかまたは十分に統合されておらず、PCIバス・アービタがバス認可をパイプライン化することがわかっているときにのみ、必要である。この場合、GNT#信号をFRAME#信号とともに分離することによって、許可コントローラは、分離されたバス・エージェントがそのエージェントが分離されている期間中はバス認可を決して認識しないように保証する。しかし、許可コントローラがアービタと十分に統合されている場合は、アービタ論理回路に簡単な変更を加えるだけで、分離されたバス・エージェントがパイプライン化された認可を受け取らないように保証される。
【0026】
図9を参照すると、本発明の一実施形態の動作を示すタイミング図が示されている。CLK、FRAME#、およびIRDY#信号は、標準PCIバス信号である。PERMISSIONおよびMODFRAME#信号は、特定の宛先装置専用である。CLK信号がLOWからHIGHに移行する(サイクルの開始を合図する)ときにFRAME#およびIRDY#信号がHIGHになっている遊休サイクルが図示されている。この遊休サイクルの前に、宛先のPERMISSION信号がHIGHであった(宛先がこの移行を観察することを許可されていた)ため、グローバルFRAME#信号の後にMODFRAME#信号が続いていた。遊休サイクル時に、許可コントローラは、宛先が現行バス認可を保持している開始側からのトランザクションを観察する許可を持っていないことを認識し、PERMISSION信号をLOWにする。しかし、許可信号がLOWに移行した後、MODFRAME#信号(宛先のFRAME#ピンに接続されている信号)がFRAME#から分離され、論理HIGHに保たれ、それによって宛先がバスから分離される。分離サイクルとして指定されたサイクル中に、アクティブPCIサイクルがトリガされる(このサイクルの始めでFRAME#がLOWでIRDY#がHIGHである)が、分離された装置はトランザクションを認識せず、トランザクションに反応しないことに留意されたい。トランザクションの終わりで、バスは遊休状態(FRAME#がHIGHでIRDY#がHIGH)に戻る。この時点で、宛先がトランザクションを受け取ることを許可されている開始側に対するバス認可に応答して許可信号が再びHIGHになる。許可信号がHIGHになると、MODFRAME#信号がFRAME#信号を追跡し、宛先が「アクティブ」になり、したがってトランザクションを認識して応答することができる。
【0027】
本発明は、1つのバス・エージェントにつき複数の許可信号を含むように拡張することができる。複数の許可信号を使用して、第1のタイプのバス・トランザクションに許可された開始側/宛先対の第1のセットを割り当て、第2のタイプのバス・トランザクションに許可された開始側/宛先対の第2のセットを割り当てることができるので有利である。たとえば、PCIバスの場合、許可コントローラ501は、入出力メモリ・トランザクションのための許可された開始側/宛先対を示す許可信号情報(すなわち許可ビット)を持つ第1の許可テーブルと、構成トランザクションのための許可された開始側/宛先対を示す許可信号情報を持つ第2の許可テーブルとを含むことができる。具体的には、構成許可を判断するための別個の許可テーブルを含む(または前述の許可テーブル602内の各セルに第2のビットを追加する)ことが望ましい場合がある。一実施形態では、この第2のテーブルを使用して、「タイプ0」PCI構成トランザクションのための許可された宛先/開始側対を示すことができる(これに対して、PCI間ブリッジ「タイプ1」構成トランザクション向けの「タイプ1」構成トランザクションは、前述の許可テーブルとGNT#信号ゲート回路を使用して許可/禁止することができる)。
【0028】
図10を参照すると、図の許可コントローラ501の実施形態は、前述のような入出力/メモリ許可テーブル602と、構成許可テーブル603とを含む。入出力/メモリ許可テーブル602と同様に、構成許可テーブル603は、可能性のある各開始側に対応するGNT#信号(そのうちの1つの信号のみが図示されている)をアービタから受け取る。アサートされたGNT#信号によって、対応する許可テーブル603内の値のセット(たとえば1行の値)が選択され、選択された値のセット中の各ビットはバス/エージェント宛先に対応する。選択された値のセットの各ビットによって、対応する開始側/宛先対がタイプ0構成トランザクションのために許可されているかどうかが示される。選択された値のセットは、構成許可テーブル603から出力され、1つまたは複数のPCI制御信号を受け取る論理ブロック605に送ることができる。論理ブロック605は、構成許可テーブル603(および入出力/メモリ許可テーブル602)から出力された許可情報を適切なPCI装置に対してゲート制御する手段となる。たとえば、論理ブロック605は非遊休サイクル中に許可信号トランザクションを禁止することができる。
【0029】
したがって、図10に示す許可コントローラ501は、各宛先装置ごとに1対の許可信号を生成する。第1の許可信号は、対応する宛先が現行開始側から入出力/メモリ・トランザクションを受け取ることを許可されているかどうかを示し、第2の許可信号は、宛先が開始側から構成トランザクションを受け取ることができるかどうかを示す。このようにして、図10に示す本発明の実施形態では、ユーザは入出力/メモリ・トランザクションのために許可された開始側/宛先対と構成トランザクションのために許可された開始側/宛先対とを区別することができる。
【0030】
許可コントローラ501が発生した第1の許可信号(入出力/メモリ許可信号)は、前述のように対応する装置のPCI FRAME#信号のためのゲート信号の機能を果たすのに対し、第2の許可信号(構成許可信号)は、対応する装置のIDSEL信号のためのゲート信号の機能を果たす。このゲート制御を行うために、構成許可信号はIDSELゲート回路703に供給される。
【0031】
次に図11を参照すると、図のIDSELゲート回路703の実施形態は、前述のゲート回路702とほぼ類似している。ゲート回路703は、バス・エージェントに対応するIDSEL信号を受け取り、それをバス・エージェントに関連づけられた構成許可信号の状態に基づいて修正する。具体的には、構成許可信号は、パス・トランジスタ803とトライステート・ドライバ805に制御入力を提供する。パス・トランジスタ803は、開始側バス・エージェントが発生したIDSEL信号をゲート制御する。構成許可ビットがアサート(論理「1」)されると、ドライバ805の出力がトライステートになり、トランジスタ803がIDSEL信号と宛先バス・エージェント502上のIDSELピンとの間に低インピーダンス経路を設ける。許可ビットがデアサートされると、パス・トランジスタ803は実質的に開回路になり、それによってIDSEL信号がバス・エージェント502から分離される。この場合、接地に接続された入力端子を有するアクティブになったドライバ805によってバス・エージェント502のIDSELピンが論理LOWに保たれる。
【0032】
本発明はPCIバスなどの共用バスを介した選択的かつ安全なトランザクション・ルーティングを可能にするシステムおよび方法を企図していることが、本開示の便宜を受ける当業者なら、わかるであろう。詳細な説明と図面に示し、説明した本発明の態様は、単に現在のところ好ましい例であると受け取るべきであることを理解されたい。特許請求の範囲は、開示の好ましい実施形態のあらゆる変形態様を含むものと広く解釈されることを意図している。
【0033】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0034】
(1)バスに接続された1組のバス・エージェントと、
前記バスに接続され、各前記バス・エージェントからバス要求信号を受け取り、それに応答して、いずれのバス・エージェントにバス・トランザクションを開始するための前記バスの支配権を認可するかを示す開始バス認可信号を各前記バス・エージェントに送るように構成されたバス・アービタと、
前記バス・アービタから前記バス認可信号のうちの少なくとも1つのバス認可信号を受け取り、それに応答して第1の許可信号を生成するように構成された許可コントローラであって、前記第1の許可信号の状態が、対応するバス・エージェントが開始側バス・エージェントから第1のタイプのバス・トランザクションの宛先として禁止されていることを示す許可コントローラとを含むデータ処理システム。
(2)前記許可コントローラが、所与の開始側/宛先対のための前記許可信号がアサートされるかどうかを制御するように動的に変更可能である、(1)に記載のシステム。
(3)前記許可コントローラが許可テーブルを含む記憶域を含み、前記許可テーブルの内容がバス・エージェント開始側とバス・エージェント宛先との許可された組合せを示す、(1)に記載のシステム。
(4)前記許可テーブルが可能性のある各開始側バス・エージェントとそれに関連づけられた認可信号に対応する行と、可能性のある各宛先バス・エージェントに対応する列とを含み、前記テーブル内の各ビットによって対応する開始側/宛先対が許可されているかどうかが示される、(3)に記載のシステム。
(5)前記許可コントローラが許可出力レジスタをさらに含み、前記許可コントローラがアサートされた前記認可信号に対応する許可テーブル行の内容を前記許可出力レジスタに転送するように構成された、(4)に記載のシステム。
(6)前記許可コントローラが、少なくとも1つの前記バス認可信号に応答する第2の許可信号を生成するようにさらに構成され、前記第2の許可信号の状態が、対応するバス・エージェントが前記開始側バス・エージェントからの第2のタイプのバス・トランザクションの宛先として禁止されていることを示す、(1)に記載のシステム。
(7)少なくとも1つの宛先バス・エージェントに関連づけられたゲート論理回路をさらに含み、前記ゲート論理回路が前記許可コントローラからの前記宛先バス・エージェントに対応する前記許可信号と、前記開始側バス・エージェントからのバス制御信号とを受け取るように構成され、前記許可信号がアサートされると前記ゲート論理回路が前記宛先バス・エージェントの制御ピンを前記バス制御信号から分離する、(1)に記載のシステム。
(8)前記ゲート論理回路が前記許可信号によって制御されるパス・トランジスタを含み、前記許可信号がアサートされると前記パス・トランジスタが前記制御信号と前記宛先バス・エージェントとの間に低インピーダンス経路を含む、(7)に記載のシステム。
(9)前記ゲート論理回路が、前記バス・エージェント宛先装置の制御ピンに接続された出力端子を有して、前記バス制御信号が前記宛先バス・エージェントから分離されるとライン・ドライバが前記制御ピンを所定の状態に駆動するように前記許可信号によって制御されるライン・ドライバをさらに含む、前記(8)に記載のシステム。
(10)前記ゲート論理回路が前記宛先装置に関連づけられた前記認可信号を受け取り、前記許可信号の状態に応じて前記宛先装置から前記認可信号を分離するようにさらに構成された、(7)に記載のシステム。
(11)前記許可コントローラが前記アービタの統合部分を含む、(1)に記載のシステム。
(12)データ処理システムにおいてバスに接続するのに適合した許可コントローラであって、バス・アービタによって生成される、複数の認可信号を受け取るように構成され、前記認可信号が、対応するバス・エージェントのセットのうちのいずれのバス・エージェントが前記バスの支配権を認可されているかを示し、前記認可信号に応答し、対応するバス・エージェントが認可された前記バス・エージェントによって開始されたトランザクションの宛先として許可されているかどうかを示す少なくとも1つの許可信号を生成するようにさらに構成された許可制御論理回路を含む許可コントローラ。
(13)前記コントローラが、選択された開始側/宛先対に対応する前記許可信号の状態を修正するように動的に変更することができる、(12)に記載のコントローラ。
(14)前記コントローラが選択されたバス・エージェントによってのみ変更可能である、(13)に記載のコントローラ。
(15)前記データ処理システムに電源投入されると選択された前記バス・エージェントが判断される、(14)に記載のコントローラ。
(16)前記コントローラが許可テーブルを含む記憶域を含み、前記許可テーブルの内容がバス・エージェント開始側とバス・エージェント宛先との許可された組合せを示す、(12)に記載のコントローラ。
(17)前記許可テーブルが可能性のある各開始側バス・エージェントとそれに関連づけられた認可信号に対応する行と、可能性のある各宛先バス・エージェントに対応する列とを含み、前記テーブル内の各ビットによって対応する開始側/宛先対が許可されているかどうかが示される、(16)に記載のコントローラ。
(18)許可出力レジスタをさらに含み、前記コントローラが、アサートされた前記認可信号に対応する前記許可テーブル行の内容を前記許可出力レジスタに転送するように構成された、(17)に記載のコントローラ。
(19)データ処理システムの共用バス上のバス・エージェントを選択的に宛先設定する方法であって、
前記共用バスに接続された複数のバス・エージェントのうちのいずれのバス・エージェントが前記バスの支配権を認可されているかを示す複数の認可信号に応答して、対応するバス・エージェントが認可された前記バス・エージェントによって開始されたトランザクションの宛先として禁止されていることを示す少なくとも1つの許可信号をアサートするステップと、
少なくとも1つの前記許可信号のアサートに応答して、対応するバス・エージェントが認可された前記マスタによって開始されたバス・トランザクションを検出するのを防ぐステップとを含む方法。
(20)前記コントローラが許可テーブルを含む記憶域を含み、前記許可テーブルの内容がバス・エージェント開始側とバス・エージェント宛先との許可された組合せを示す、(19)に記載の方法。
(21)前記許可テーブルが可能性のある各開始側バス・エージェントとそれに関連づけられた認可信号に対応する行と、可能性のある各宛先バス・エージェントに対応する列とを含み、前記テーブル内の各ビットによって対応する開始側/宛先対が許可されているかどうかが示される、(20)に記載の方法。
(22)許可出力レジスタをさらに含み、前記コントローラがアサートされた前記認可信号に対応する前記許可テーブル行の内容を前記許可出力レジスタに転送するように構成された、(21)に記載の方法。
【図面の簡単な説明】
【図1】従来の技術によるデータ処理システムの選択された要素を示すブロック図である。
【図2】本発明の一実施形態によるデータ処理システムの選択された構成要素を示すブロック図である。
【図3】単一のPCIバスに複数のプロセッサが接続された本発明の一実施形態によるデータ処理システムの選択された構成要素を示すブロック図である。
【図4】図3のデータ処理システムにおいて使用するのに適したプロセッサの選択された機構を示すブロック図である。
【図5】本発明の一実施形態によるデータ処理システムの選択された構成要素と信号を示す図である。
【図6】本発明の一実施形態による許可テーブルとレジスタを示す図である。
【図7】対応するバス・エージェントに関連づけられたゲート回路を強調したシステムの選択された機構を示すブロック図である。
【図8】図7のゲート回路の一実施形態を示す回路図である。
【図9】本発明の動作を示すタイミング図である。
【図10】複数のタイプのトランザクションを選択的に許可/禁止する、1つの宛先につき複数の許可信号を含むように拡張された本発明の一実施形態を示すブロック図である。
【図11】図10に図示した実施形態において使用するのに適したゲート回路を示す回路図である。
【符号の説明】
301 データ処理システム
303 ローカルPCIバス
304 バス・ブリッジ
305 PCIバックプレーン
401 コア
402 中央処理装置
404 統合メモリ管理装置
406 命令キャッシュ
408 データ・キャッシュ
412 DRAMコントローラ
414 周辺装置コントローラ
416 バス・マスタ・コントローラ
418 PCIインタフェース
420 ブリッジ
424 SRAM
426 SRAMコントローラ
428 割込みコントローラ
430 シリアル・ポート
432 汎用入出力ポート
434 I2Cインタフェース
436 Ethernet(登録商標)ポート
501 許可コントローラ
502 バス・エージェント
602 許可テーブル
603 構成許可テーブル
605 論理ブロック
702 ゲート回路
703 ゲート回路
Claims (15)
- データ処理システムにおいてバスに接続するのに適合した許可コントローラであって、バス・アービタによって生成されるバス認可信号のうちの少なくとも1つを受け取るように構成され、前記認可信号は、バス・エージェントのセットのうちのいずれのバス・エージェントにバス・トランザクションを開始するための前記バスの支配権が認可されているかを示し、受け取った前記認可信号に応答して、前記トランザクションの宛先となる可能性のあるバス・エージェント夫々に対応する許可信号を送るように構成され、前記許可信号の夫々は、対応するバス・エージェントがバス支配権を認可されたバス・エージェントからのバス・トランザクションの宛先として許可されているか又は禁止されているかを表し、禁止されている事を表す許可信号を受け取ったバス・エージェントは、前記バスから切離されて前記バス・トランザクションを見ることができないようになる、許可コントローラ。
- 前記コントローラが、許可テーブルを含む記憶域を含み、前記許可テーブルの内容はバス・エージェント開始側とバス・エージェント宛先との組合せが許可されているか又は禁止されているかを示す、請求項1に記載のコントローラ。
- 前記許可テーブルの各行はバス・トランザクションの可能な開始側に対応し、各列はトランザクションの可能な宛先に対応し、前記テーブル内の各ビットによって対応する開始側/宛先対が許可されているか又は禁止されているかが示される、請求項2に記載のコントローラ。
- 前記許可テーブルがプログラム可能である、請求項2または3に記載のコントローラ。
- 前記許可テーブルが電源投入時にプログラムされる、請求項4記載のコントローラ。
- 許可出力レジスタをさらに含み、前記コントローラが、アサートされた前記認可信号に対応する前記許可テーブル行の内容を前記許可出力レジスタに転送するように構成された、請求項2〜5のいずれか1項に記載のコントローラ。
- バスに接続された1組のバス・エージェントと、
前記バスに接続され、各前記バス・エージェントからバス要求信号を受け取り、それに応答して、前記認可信号を各前記バス・エージェントに送るように構成されたバス・アービタと、
請求項1〜6のいずれか1項記載の許可コントローラとを含むデータ処理システム。 - 前記許可コントローラが前記アービタと統合されている、請求項7に記載のシステム。
- 少なくとも1つの宛先バス・エージェントに関連づけられたゲート論理回路をさらに含み、前記ゲート論理回路が前記許可コントローラからの前記宛先バス・エージェントに対応する前記許可信号と、前記開始側バス・エージェントからのバス制御信号とを受け取るように構成され、前記許可信号が前記宛先バス・エージェントが宛先として禁止されていることを表す場合には、前記ゲート論理回路が前記宛先バス・エージェントの制御ピンを前記バス制御信号から分離する、請求項7または8記載のシステム。
- 前記ゲート論理回路が前記許可信号によって制御されるパス・トランジスタを含み、前記許可信号が前記宛先バス・エージェントが宛先として許可されていることを表す場合には前記パス・トランジスタが前記バス制御信号と前記宛先バス・エージェントとの間に低インピーダンス経路を設ける、請求項9に記載のシステム。
- 前記ゲート論理回路が、前記パス・トランジスタのゲートに接続され及び前記許可信号によって制御されるライン・ドライバをさらに含む、請求項9又は10記載のシステム。
- データ処理システムの共用バス上のバス・エージェントを選択的に宛先設定する方法であって、
前記共用バスに接続された複数のバス・エージェントのうちのいずれのバス・エージェントが前記バスの支配権を認可されているかを示す認可信号のうちの少なくとも1つに応答して、対応するバス・エージェントがバスの支配権を認可された前記バス・エージェントによって開始されたトランザクションの宛先として許可されているか又は禁止されているかを示す許可信号を送信するステップと、
少なくとも1つの前記許可信号に応答して、対応するバス・エージェントが認可された前記マスタによって開始されたバス・トランザクションを検出するか又は検出するのを防ぐステップとを含む方法。 - 前記データ処理システムが、前記許可信号を送信するコントローラを含み、
前記コントローラは許可テーブルを含む記憶域を含み、前記許可テーブルの内容がバス・エージェント開始側とバス・エージェント宛先との組合せが許可されているか又は禁止されているかを示す、請求項12に記載の方法。 - 前記許可テーブルの各行はバス・トランザクションの可能な開始側に対応し、各列はトランザクションの可能な宛先に対応し、前記テーブル内の各ビットによって対応する開始側/宛先対が許可されているか又は禁止されているかが示される、請求項13に記載の方法。
- 前記データ処理システムが、許可出力レジスタをさらに含み、前記コントローラがアサートされた前記認可信号に対応する前記許可テーブル行の内容を前記許可出力レジスタに転送するように構成された、請求項13または14に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/817089 | 2001-03-26 | ||
US09/817,089 US6662251B2 (en) | 2001-03-26 | 2001-03-26 | Selective targeting of transactions to devices on a shared bus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002351822A JP2002351822A (ja) | 2002-12-06 |
JP3790713B2 true JP3790713B2 (ja) | 2006-06-28 |
Family
ID=25222324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002074576A Expired - Lifetime JP3790713B2 (ja) | 2001-03-26 | 2002-03-18 | 共用バス上の装置に対するトランザクションの選択的宛先設定 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6662251B2 (ja) |
JP (1) | JP3790713B2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7216362B1 (en) * | 2001-05-10 | 2007-05-08 | Advanced Micro Devices, Inc. | Enhanced security and manageability using secure storage in a personal computer system |
TW510992B (en) * | 2001-05-11 | 2002-11-21 | Realtek Semiconductor Corp | PCI device and method with shared expansion memory interface |
EP1440377A1 (en) * | 2001-10-16 | 2004-07-28 | Koninklijke Philips Electronics N.V. | A computer system with a communication bus |
US7277972B2 (en) | 2002-03-08 | 2007-10-02 | Freescale Semiconductor, Inc. | Data processing system with peripheral access protection and method therefor |
US7266786B2 (en) | 2002-11-05 | 2007-09-04 | Sonics, Inc. | Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems |
US7434264B2 (en) * | 2003-03-07 | 2008-10-07 | Freescale Semiconductor, Inc. | Data processing system with peripheral access protection and method therefor |
US7404019B2 (en) * | 2003-03-07 | 2008-07-22 | Freescale Semiconductor, Inc. | Method and apparatus for endianness control in a data processing system |
US7149829B2 (en) | 2003-04-18 | 2006-12-12 | Sonics, Inc. | Various methods and apparatuses for arbitration among blocks of functionality |
US7444668B2 (en) * | 2003-05-29 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for determining access permission |
US7296105B2 (en) * | 2003-10-03 | 2007-11-13 | Sonics, Inc. | Method and apparatus for configuring an interconnect to implement arbitration |
TWI226552B (en) * | 2003-11-20 | 2005-01-11 | Rdc Semiconductor Co Ltd | Bus integrating system |
US7039747B1 (en) * | 2003-12-18 | 2006-05-02 | Cisco Technology, Inc. | Selective smart discards with prefetchable and controlled-prefetchable address space |
US7054966B2 (en) * | 2004-06-14 | 2006-05-30 | General Electric Company | Data processing system |
US8145816B2 (en) * | 2004-09-15 | 2012-03-27 | Intel Corporation | System and method for deadlock free bus protection of resources during search execution |
US7739436B2 (en) * | 2004-11-01 | 2010-06-15 | Sonics, Inc. | Method and apparatus for round robin resource arbitration with a fast request to grant response |
KR100684318B1 (ko) * | 2004-11-30 | 2007-02-16 | 한국전자통신연구원 | 휴대단말의 슬립모드 구동방법 및 휴대단말의 슬립모드를위한 기지국의 통신방법 |
US7492723B2 (en) * | 2005-07-07 | 2009-02-17 | International Business Machines Corporation | Mechanism to virtualize all address spaces in shared I/O fabrics |
US7496045B2 (en) * | 2005-07-28 | 2009-02-24 | International Business Machines Corporation | Broadcast of shared I/O fabric error messages in a multi-host environment to all affected root nodes |
US7631050B2 (en) * | 2005-10-27 | 2009-12-08 | International Business Machines Corporation | Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment |
US7474623B2 (en) | 2005-10-27 | 2009-01-06 | International Business Machines Corporation | Method of routing I/O adapter error messages in a multi-host environment |
US7395367B2 (en) * | 2005-10-27 | 2008-07-01 | International Business Machines Corporation | Method using a master node to control I/O fabric configuration in a multi-host environment |
US7430630B2 (en) * | 2005-10-27 | 2008-09-30 | International Business Machines Corporation | Routing mechanism in PCI multi-host topologies using destination ID field |
US7363404B2 (en) * | 2005-10-27 | 2008-04-22 | International Business Machines Corporation | Creation and management of destination ID routing structures in multi-host PCI topologies |
US20070136458A1 (en) * | 2005-12-12 | 2007-06-14 | Boyd William T | Creation and management of ATPT in switches of multi-host PCI topologies |
US20070165596A1 (en) * | 2006-01-18 | 2007-07-19 | Boyd William T | Creation and management of routing table for PCI bus address based routing with integrated DID |
US7707465B2 (en) * | 2006-01-26 | 2010-04-27 | International Business Machines Corporation | Routing of shared I/O fabric error messages in a multi-host environment to a master control root node |
US7865897B2 (en) * | 2006-02-03 | 2011-01-04 | Freescale Semiconductor, Inc. | Selective transaction request processing at an interconnect during a lockout |
US7380046B2 (en) | 2006-02-07 | 2008-05-27 | International Business Machines Corporation | Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system |
US7484029B2 (en) * | 2006-02-09 | 2009-01-27 | International Business Machines Corporation | Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters |
US20080137676A1 (en) * | 2006-12-06 | 2008-06-12 | William T Boyd | Bus/device/function translation within and routing of communications packets in a pci switched-fabric in a multi-host environment environment utilizing a root switch |
US7571273B2 (en) * | 2006-12-06 | 2009-08-04 | International Business Machines Corporation | Bus/device/function translation within and routing of communications packets in a PCI switched-fabric in a multi-host environment utilizing multiple root switches |
US8229723B2 (en) * | 2007-12-07 | 2012-07-24 | Sonics, Inc. | Performance software instrumentation and analysis for electronic design automation |
TWI337517B (en) * | 2008-03-04 | 2011-02-11 | Inventec Corp | Trace carrier |
US8073820B2 (en) | 2008-04-07 | 2011-12-06 | Sonics, Inc. | Method and system for a database to monitor and analyze performance of an electronic design |
US8032329B2 (en) * | 2008-09-04 | 2011-10-04 | Sonics, Inc. | Method and system to monitor, debug, and analyze performance of an electronic design |
EP2249217B1 (de) * | 2009-05-08 | 2013-04-24 | Siemens Aktiengesellschaft | Automatisierungsgerät und Automatisierungssystem |
US8972995B2 (en) | 2010-08-06 | 2015-03-03 | Sonics, Inc. | Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DD266436B3 (de) * | 1987-12-11 | 1993-02-04 | Jenoptik Jena Gmbh | Systembuserweiterung zur kopplung multimasterfaehiger mehrrechnersysteme |
US5454082A (en) * | 1991-09-18 | 1995-09-26 | Ncr Corporation | System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus |
GB9719047D0 (en) * | 1997-09-08 | 1997-11-12 | Sgs Thomson Microelectronics | Arbitration system |
US6473825B1 (en) * | 2000-01-12 | 2002-10-29 | Trw Inc. | Apparatus and method for controlling secure communications between peripheral components on computer buses connected by a bridge circuit |
-
2001
- 2001-03-26 US US09/817,089 patent/US6662251B2/en not_active Expired - Lifetime
-
2002
- 2002-03-18 JP JP2002074576A patent/JP3790713B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002351822A (ja) | 2002-12-06 |
US20020138677A1 (en) | 2002-09-26 |
US6662251B2 (en) | 2003-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3790713B2 (ja) | 共用バス上の装置に対するトランザクションの選択的宛先設定 | |
US7949863B2 (en) | Inter-port communication in a multi-port memory device | |
US5548730A (en) | Intelligent bus bridge for input/output subsystems in a computer system | |
US6272582B1 (en) | PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device | |
US6775727B2 (en) | System and method for controlling bus arbitration during cache memory burst cycles | |
US20030110306A1 (en) | Method and system for use of a field programmable gate array (FPGA) cell for controlling access to on-chip functions of a system on a chip (SOC) integrated circuit | |
US8725919B1 (en) | Device configuration for multiprocessor systems | |
US11366940B2 (en) | Secure-aware bus system | |
US11119704B2 (en) | System, apparatus and method for sharing a flash device among multiple masters of a computing platform | |
US9104472B2 (en) | Write transaction interpretation for interrupt assertion | |
US8943238B2 (en) | Operations using direct memory access | |
JP4642531B2 (ja) | データ要求のアービトレーション | |
US8756356B2 (en) | Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size | |
CN101356515B (zh) | 连接到多端口存储器的微处理器 | |
US7895388B2 (en) | Bus control device | |
US20040010644A1 (en) | System and method for providing improved bus utilization via target directed completion | |
JP2004062910A (ja) | マルチコアプロセッサにセマフォを具現化し、共通資源へのアクセスを制御する方法 | |
US5933648A (en) | Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input | |
US20020178317A1 (en) | System and method for defining private functions of a multi-function peripheral device | |
US11829310B2 (en) | Direct memory access (DMA) controller, electronic device using the DMA controller and method of operating the DMA controller | |
JP5146796B2 (ja) | ホストコントローラ | |
US20220121589A1 (en) | Direct memory access (DMA) controller, electronic device using the DMA controller and method of operating the DMA controller | |
JP2005182536A (ja) | バスブリッジ回路 | |
JP2002312083A (ja) | クロックラン機能制御装置 | |
JP2000172627A (ja) | 割込み制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041027 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041027 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20041027 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050311 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050311 |
|
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: 20060314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060314 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20060314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060403 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3790713 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |