JPH11513150A - Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ - Google Patents

Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ

Info

Publication number
JPH11513150A
JPH11513150A JP9503391A JP50339197A JPH11513150A JP H11513150 A JPH11513150 A JP H11513150A JP 9503391 A JP9503391 A JP 9503391A JP 50339197 A JP50339197 A JP 50339197A JP H11513150 A JPH11513150 A JP H11513150A
Authority
JP
Japan
Prior art keywords
bus
pci
local
interrupt
interface
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.)
Pending
Application number
JP9503391A
Other languages
English (en)
Inventor
ガーバス,エリオット
サンクハゴウィット,ピーター
ゴールドシュミット,マーク
エスカンダリ,ニック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPH11513150A publication Critical patent/JPH11513150A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

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)

Abstract

(57)【要約】 高性能プロセッサをPCI間バス・ブリッジ(32)に統合する多機能装置(31)。本発明は、高性能プロセッサと、PCI間バス・ブリッジ(32)と、PCIバス・プロセッサ・アドレス変換装置(43a、43b)と、直接メモリ・アクセス(DMA)コントローラ(51a、51b)と、メモリ・コントローラ(47)と、二次PCIバス調停装置(53)と、集積回路間(I2C)バス・インタフェース装置(61)と、高度プログラム可能割込み(APIC)バス・インタフェース装置(63)と、メッセージ装置(45)とを、ローカル・メモリ(33)を使用する単一のシステムとして統合する。PCIバスは業界標準高性能短待ち時間システム・バスである。PCI間ブリッジ(32)は、2つの独立の32ビットPCIバス間の接続経路を形成し、PCI電気負荷制限を解消する能力を備える。ローカル・プロセッサ(34)を付加すると、PCIバス・ブリッジ(32)にインテリジェンスが与えられる。

Description

【発明の詳細な説明】 PCI間ブリッジを統合する入出力プロセッサ用アーキテクチャ 発明の背景 1.発明の分野 本発明は、コンピュータ・システム・アーキテクチャの分野に関する。詳細に は、本発明は、コンピュータ・システムおよびサーバ・システム内でインテリジ ェント入出力サブシステムを実施するインテリジェント・バス・ブリッジに関す る。 2.背景 高性能コンピュータ・システムは一般に、いくつかの別々の入出力サブシステ ムを含む。そのような入出力サブシステムは通常、ホスト・マイクロプロセッサ またはメイン・マイクロプロセッサと呼ばれるものとは別の、入出力機能を実行 するマイクロプロセッサを含む。たとえば、そのような入出力サブシステムは、 コンピュータ・システムに関する複雑な通信網インタフェース機能またはディス ク制御機能を実行することができる。 通常、入出力サブシステムは、構成要素バスを介した通信ができるように結合 された1組の特殊入出力装置を含む。そのような入出力サブシステム内のプロセ ッサは通常、コンピュータ・システム内の他のプロセッサによる動作に干渉せず にバスを介して入出力機能を実行する。バス上の入出力トランザクションをその ように分離することによって通常、そのようなコンピュータ・システム内のメイ ン・プロセッサまたはプロセッサの性能を向上させることができる。そのような アーキテクチャは、プロセッサおよび入出力サブシステムが入出力チャネルと呼 ばれるメインフレーム・コンピュータ・システムで広く使用されている。 マイクロプロセッサを使用するコンピュータ・システムが現れたため、より強 力なサーバ/クライアント・システムを可能にするより強力なマイクロプロセッ サに対する需要が増大している。この要件は、第1図に示したように複数のマイ クロプロセッサを単一のシステム11として組み合わせることによって部分的に 満たされている。より強力なサーバ/クライアント・システムを実施するために より多くの入出力装置が必要となるときに存在する他の問題は、入出力サブシス テムをコンピュータ・システムの他の要素に結合する標準構成要素バスによって 、電気負荷制限が課されることである。そのような電気負荷制限は、標準構成要 素バスに結合される構成要素の数に制限を課す。たとえば、従来技術のあるバス 標準では、システム構成要素相互接続バス上の各コネクタは1つの電気負荷しか 有することができない。そのような電気負荷制限によって、全負荷を加えられた バス上の信号品質は、信頼できる動作を行うのに十分なものとなる。 このため、いくつかの入出力サブシステムは、ローカル構成要素バスを介して 通信を行う多数の構成要素を必要とし、そのため標準構成要素バスの各コネクタ に課される電気負荷要件を超える恐れがあるので、入出力サブシステムは、コン ピュータ・システム内の他の構成要素バス19にローカル構成要素バス17を結 合し、かつネットワーク入出力カード21を通じてLANなどのネットワークに 接続され、あるいはSCSIコントローラ23を通じて記憶装置に接続される、 バス・ブリッジ回路13を含むこともできる。そのようなバス・ブリッジはマイ クロプロセッサ25と、メモリ27と、入出力サブシステムの構成要素とを他の 構成要素バスから電気的に絶縁する。そのようなバス・ブリッジ回路によって、 入出力サブシステムは、入出力機能を実施するのに必要な多数の構成要素を含む ことができ、同時に他の構成要素バス上の電気負荷要件が満たされる。 さらに、システム11内のマイクロプロセッサまたはプロセッサは通常、構成 要素バスに結合された他のバス・エージェントと競合する。そのようなバス競合 によって通常、入出力サブシステムのために入出力機能を実行する間マイクロプ ロセッサの性能が低下する。発明の概要 本発明は、高性能プロセッサをPCI間バス・ブリッジ(P2P)として統合 する多機能装置である。次に第2図を参照すると分かるように、本発明は、イン テル社(Intel Corporation)から市販されている80960 JFプロセッサ などの高性能プロセッサ(ローカル・プロセッサ)と、PCI間バス・ブリッジ 3 2と、PCIバス・プロセッサ・アドレス変換装置と、直接メモリ・アクセス( DMA)コントローラと、メモリ・コントローラと、二次PCIバス調停装置と 、集積回路(I2C)バス・インタフェース装置と、高度プログラム可能割込み (APIC)バス・インタフェース装置と、メッセージ装置を、ローカル・メモ リ33を使用する単一のシステム31として統合する。これは、インテリジェン ト入出力アプリケーションのニーズを満たし、インテリジェント入出力システム ・コストの削減を助ける統合プロセッサである。 PCIバスは業界標準(PCIローカル・バス仕様改訂版2.1)高性能短待 ち時間システム・バスである。PCI間ブリッジは、2つの独立の32ビットP CIバス間の接続経路を形成し、PCI電気負荷制限を解消する能力を備える。 ローカル・プロセッサを付加することによってPCIバス・ブリッジにインテリ ジェンスが与えられる。第3図で点線のボックス31を用いて示したローカル・ プロセッサおよびその他の機能ブロックは、下記ではP2Pプロセッサと呼ばれ るもののブロック図を示す。 P2Pプロセッサは多機能PCI装置である。機能0はPCI間ブリッジ装置 である。機能1はアドレス変換装置である。P2Pプロセッサは、一次PCIバ スを通じてアクセスできるPCI構成空間を含む。 好ましい実施形態では、ローカル・プロセッサ34は、Intel i960 マイクロプロセッサ・ファミリーのメンバーである80960 JFプロセッサ である。80960 JFプロセッサはP2Pにおける機能修正なしに実施され る。インテル社から市販されている1960 Jx Microprocess or User’s Manualに詳細が記載されている。ただし、本発明を 実施するのに必要なローカル・プロセッサに関するすべての情報は本明細書に記 載されている。 ローカル・プロセッサは、それ自体の32ビット・アドレス空間で動作し、P CIアドレス空間では動作しない。ローカル・プロセッサ上のメモリに関しては 下記のことが可能である。 ・PCIアドレス空間から見えるようにする。 ・ローカル・プロセッサ専用にする。 ・その両方を行う。 ローカル・プロセッサ・バス41 ローカル・プロセッサ・バスは、外部装置へのバス・アクセスを可能にするた めにP2Pプロセッサ入出力ピンに接続される。P2Pプロセッサは、ローカル ・バス調停をサポートする。 アドレス変換装置43aおよび43bならびにメッセージ装置45 アドレス変換装置によって、PCIトランザクションはローカル・プロセッサ およびローカル・メモリ33に直接アクセスすることができる。ローカル・プロ セッサ34は、両方のPCIバスに直接アクセスすることができる。アドレス変 換は、PCIアドレス空間とローカル・プロセッサ・アドレス空間との間のトラ ンザクションに対して行われる。アドレス変換は、2つのアドレス空間を自由に マップできるようにする、PCIインタフェースとローカル・プロセッサの両方 からアクセスできるプログラム可能なレジスタを通じて制御される。メッセージ 装置45は、PCIシステムとローカル・プロセッサとの間でデータを転送でき るようにし、それぞれのシステムに、割込みを介して、新しいデータが到着した ことを知らせる機構を備える。メッセージ装置を使用してメッセージを送受信す ることができる。 PCI間ブリッジ装置32 PCI間ブリッジ装置は2つの独立のPCIバスに接続される。このブリッジ によって、1つのPCIバス上のあるバス・トランザクションを他のPCIバス へ転送することができる。このブリッジでは、独立のクロックを含め、完全に独 立のPCIバス動作も可能である。専用データ待ち行列は、PCIバス上の高性 能帯域幅をサポートする。PCI64ビット二重アドレス・サイクル(DAC) アドレス指定がサポートされる。 PCIブリッジは、一次PCIバスを通じてアクセスできる専用PCI構成空 間を有する。 P2Pプロセッサ内のPCIブリッジは、PCI Special Interest Groupから刊 行されているPCI間ブリッジ・アーキテクチャ仕様改訂版1.0を完全に満た す。 専用PCI装置 P2Pプロセッサは設計上、二次PCIバスを使用することができ、しかもP CI構成ソフトウェアによって検出されるのを回避することができる専用PCI 装置を明示的にサポートする。PCI間ブリッジ32および二次アドレス変換装 置43bは協働して専用装置をPCI構成サイクルから隠し、これらの装置が専 用PCIアドレス空間を使用できるようにする。これらの装置は、通常のPCI 構成サイクルを通じて二次アドレス変換装置によって構成することができる。 統合メモリ・コントローラ47 統合メモリ・コントローラは、外部メモリ・システムを直接制御する。DRA M、SRAM、ROM、フラッシュ・メモリがサポートされる。統合メモリ・コ ントローラは、通常は外部ロジックを必要としない直接接続インタフェースをメ モリ33に与える。統合メモリ・コントローラは、プログラム可能チップ選択機 構と、待機状態生成装置と、バイト・パリティとを備える。 外部メモリは、PCIアドレス可能メモリまたは専用ローカル・プロセッサ・ メモリとして構成することができる。 DMAコントローラ51aおよび51b DMAコントローラによって、PCIバス・エージェントとローカル・メモリ との間の短待ち時間高スループット・データ転送が可能である。 データ転送に適応するために3つの別々のDMAチャネルがある。2つのチャ ネルは一次PCIバス・データ転送専用であり、1つのチャネルは二次PCIバ ス・データ転送専用である。DMAコントローラは、データ転送の連鎖および非 整列データ転送をサポートする。DMAコントローラは、ローカル・プロセッサ 34を通じてのみプログラムすることができる。 二次PCI調停装置53 二次PCI調停装置は二次PCIバスのPCI調停を行う。プログラム可能な 優先順位を有するフェアネス・アルゴリズムが実施される。6つのPCI要求・ 許可信号対が与えられる。調停装置をディスエーブルして外部調停を可能にする ことができる。 内部PCI調停装置55aおよび55bならびにローカル・バス調停装置57 P2Pプロセッサは、装置内の内部PCIバスへのアクセスを制御する2つの 内部調停装置を含む。一次内部PCI調停装置55aは一次ブリッジ・インタフ ェース、一次ATU、DMAチャネル0、DMAチャネル1の調停を行う。二次 内部PCI調停装置55bは二次ブリッジ・インタフェース、二次ATU、DM Aチャネル2の調停を行う。各内部PCI調停装置は、バス上の各装置が等しい 優先順位を有する固定ラウンドロビン調停方式を使用する。 P2Pプロセッサは、ローカル・バス所有権を制御する調停機構も必要とする 。ローカル・バス調停装置(LBAU)57は、あらゆるバス・マスタに、ロー カル・バスの制御を得る機会を与えるフェアネス・アルゴリズムを実施する。こ のアルゴリズムは、ラウンドロビン方式を優先順位付け機構と組み合わせる。 2Cバス・インタフェース装置612C(相互集積回路)バス・インタフェース装置によって、ローカル・プロ セッサは、I2Cバス上に存在するマスタ・スレーブ装置として働くことができ る。I2Cバスは、フィリップス社(Philips Corporation)によって開発された 、2ピン・インタフェースからなるシリアル・バスである。このバスによって、 P2Pプロセッサはシステム管理機能のために他のI2C周辺装置およびマイク ロコントローラとのインタフェースをとることができる。このバスは、廉価なシ ステムが状況・信頼性情報を入出力サブシステム上で外部装置へ中継するための 最小限のハードウェアを必要とする。 APICバス・インタフェース装置63 APICバス・インタフェース装置は、ソフトウェアにおける入出力APIC エミュレーションを可能にする、3線高度プログラム可能割込みコントローラ( APIC)バスとのインタフェースを備える。バス上で割込みメッセージを送信 することができ、EOIメッセージを受信することができる。 割込み経路指定機構67 ローカル・プロセッサ割込み入力とPCI割込み出力ピンのどちらかに経路指 定できる4つのPCI割込み入力が与えられる。用語および規約 参照符号 本明細書に記載したすべての数は、特に指定しないかぎり基数10である。本 文では、基数16の数は「nnnH」として表され、この場合「H」は16進数 を表す。2進数は下付き文字2を用いて示される。 フィールド データ構造内の保存フィールドとは、プロセッサが使用しないフィールドであ る。保存フィールドはソフトウェアによって使用することができるが、プロセッ サがそのようなフィールドを修正することはできない。 予約フィールドとは、処理系によって使用できるフィールドである。予約フィ ールドの初期値がソフトウェアから供給される場合、この値は零でなければなら ない。ソフトウェアが予約フィールドを修正してはならず、あるいは予約フィー ルド内の値に依存してはならない。 読取り専用フィールドを読み取って現在の値を返すことができる。読取り専用 フィールドへの書込みは、ノー・オペレーション動作とみなされ、その場合、現 在の値が変更されることも、あるいはエラー条件がもたらされることもない。 読取り/クリア・フィールドを読み取って現在の値を返すこともできる。読取 り/クリア・フィールドにデータ値0を書き込んでもこのフィールドは変更され ない。読取り/クリア・フィールドにデータ値1を書き込むと、このフィールド がクリアされる(値0にリセットされる)。たとえば、読取り/クリア・フィー ルドの値がF0Hであり、データ値55Hが書き込まれた場合、結果として得ら れるフィールドはA0Hである。 用語 P2Pアーキテクチャの議論を助けるために、下記の用語を使用する。 下流側 (構成後の)より大きな番号を有するPCIバスの部分、あるいはそ のようなPCIバスの方向 DWORD 32ビット・データ・ワード ホスト・プロセッサ P2Pプロセッサの上流側に位置するプロセッサ ローカル・バス ローカル・プロセッサ・バス ローカル・メモリ ローカル・バス上のメモリ・サブシステム 上流側 (構成後の)より小さな番号を有するPCIバスの部分、あるいはそ のようなPCIバスの方向図面の簡単な説明 第1図は、従来技術のPCI間ブリッジを使用したシステムを示すブロック図 である。 第2図は、本発明による、本発明のPCI間ブリッジをプロセッサと共に使用 するシステムを示すブロック図である。 第3図は、本発明のP2Pプロセッサを示すブロック図である。 第4図は、PCI間ブリッジの一次アドレス空間と二次アドレス空間との間で トランザクションが流れる方向を示す図である。 第5図は、PCI間ブリッジのブロック図である。 第6図は、一次ATUおよび二次ATUのブロック図である。 第7図は、DMAコネクタの様々なバスへの接続を示すブロック図である。 第8図は、メモリ・コントローラのブロック図である。 第9図は、ローカル・プロセッサとPPICとの間の接続を示すブロック図で ある。 第10図は、内部PCI調停装置の接続を示すブロック図である。 第11図は、I2Cバス・インタフェース装置およびそのローカル・バスとの インタフェースのブロック図である。発明の詳細な説明 次に、第3図に記載した機能ブロックに関して本発明を説明する。ローカル・プロセッサ 下記に、P2Pプロセッサ内のローカル・プロセッサとして使用される809 60 JFマイクロプロセッサについて説明する。すなわち、80960 JF プロセッサがどのように構成され、あるいはi960 Jx Microprocessor U ser's Manual中のこの部分の説明と、その他の点でどのように異なるかについて 説明する。 概要 80960 JFプロセッサは、P2Pプロセッサにおける機能変更なしで実 施され、すなわち内部ロジックは変更されない。80960 JFプロセッサの 詳細については、1960 Jx Microprocessor User's Manualを参照された い。 機能 80960 JFプロセッサの基本的な機能は下記のとおりである。 ・高性能命令実行コア ・4Kバイト2方向セット・アソシエーティブ命令キャッシュ ・2Kバイト直接マップ・データ・キャッシュ ・32個の32ビット整数レジスタ ・プログラム可能なバス・コントローラ ・1Kバイト内部データRAM ・最大で8つのローカル・レジスタ・セット用の記憶域を与えるローカル・レ ジスタ・キャッシュ ・高度割込みコントローラ ・2つの32ビット・タイマ 違い 下記に、P2Pプロセッサで使用されている80960 JFプロセッサに影 響を及ぼすシステム設計上の決定について説明する。 メモリ領域 P2Pプロセッサ周辺メモリ・マップ・レジスタは32ビット幅なので、メモ リ領域0および1を32ビット領域と指定しなければならない。したがって、P MCON0_1レジスタのバス幅ビットは、32ビット幅バスを示す102にセ ットしなければならない。 バス DMAアクセスの最適な性能を達成するために、ローカル・プロセッサ以外の ローカル・バス上のバス・マスタは、ローカル・プロセッサ・バス上で制限され ないバースト長を有することができる。しかし、アドレスは4ワードよりも長い バーストの場合には増分しない。これは、ローカル・バス上のメモリ・コントロ ーラがバースト内の各アクセスごとにアドレスを増分しなければならないことを 意味する。PCI間ブリッジ装置 概要 PCI間ブリッジ装置32は、電気PCI負荷10個という制限された物理制 約以上にPCIバスを拡張できるようにする装置である。このブリッジ装置は、 電気的には階層内の各バスが分離されたエンティティであるが、論理的には階層 内のすべてのバスが1つのバスである、階層バスの概念を使用する。PCIブリ ッジ装置はPCIバスの帯域幅を増加させず、PCI電気仕様で許容されるより も多くの入出力構成要素を必要とするアプリケーションに対してそのバスを拡張 できるようにするに過ぎない。 PCI間ブリッジ装置は、下記のものを備える。 ・両方向への並行動作をサポートする独立の32ビット一次PCIバスおよび 32ビット二次PCIバス ・ブリッジの二次側の別々のメモリ空間および入出力アドレス空間 ・上流側トランザクションと下流側トランザクションの両方用の2つの64バ イト・ポスティング・バッファ ・二次バス上のVGAパレット・スヌーピングおよびVGA互換アドレス指定 ・二次PCIインタフェースからの64ビット・アドレス・モード ・二次PCIバス上の専用PCI装置用の専用装置構成およびアドレス空間 ・一次インタフェースおよび二次インタフェース上で正復号を可能にする特殊 動作モード 動作理論 ブリッジ装置は、一次PCIバスと二次PCIバスとの間のアドレス・フィル タ装置として動作する。PCIは3つの別々のアドレス空間をサポートする。 ・4Gバイト・メモリ・アドレス空間 ・(16ビット・アドレス指定を用いる)64Kバイト入出力アドレス空間 ・独立の構成空間 PCI間ブリッジは、メモリ空間および入出力アドレス空間内の連続アドレス 範囲を用いてプログラムされ、その場合、これらのアドレス空間は二次PCIア ドレス空間になる。プログラム済み二次空間内のブリッジの一次側に存在するア ドレスは、一次側から二次側へ転送され、それに対して二次空間の外側のアドレ スはブリッジから無視される。ブリッジの二次側は、一次側とは逆に作用し、プ ログラム済み二次アドレス空間を無視し、第4図に示したように二次空間の外側 のアドレスを一側へ転送する。 PCIブリッジの一次インタフェースおよび二次インタフェースはそれぞれ、 PCI2.1適合マスタ装置およびターゲット装置を実施する。ブリッジの一方 の側で開始されたPCIトランザクションは、開始側バス・ブリッジ・インタフ ェースをターゲットとしてアドレスし、トランザクションは、マスタ装置として 動作するターゲット・バス・インタフェースによって完了する。ブリッジは、ど ちらの側のPCI装置に対しても透過的である。 P2PプロセッサのPCI間ブリッジ装置は最低で、PCI間ブリッジ・アー キテクチャ仕様改訂版1.0およびPCIローカル・バス仕様改訂版2.1に記 載された必要な特徴を満たす。下記で、ブリッジの機能について説明し、必要に 応じてPCI間ブリッジ仕様およびPCIバス仕様に言及する。 アーキテクチャの説明 PCI間ブリッジ装置は論理的には、下記のように4つの主要な構成要素に分 離することができる。 ・一次PCIインタフェース ・二次PCIインタフェース ・ポスティング・バッファ ・構成レジスタ 第5図のブリッジのブロック図は、これらの主要な機能装置を示す。 一次PCIインタフェース PCI間ブリッジ装置の一次PCIインタフェース71は、PCIバス・トラ ンザクションのターゲットと開始側のどちらかとして働くことができる。大部分 のシステムでは、一次インタフェースは、ホスト/PSIブリッジのPCI側、 通常はシステム階層内の最も小さな番号のPCIバスに接続される。一次インタ フェースは、PCI間ブリッジ・アーキテクチャ仕様改訂版1.0内で定義され た50本の必須信号ピンと、4本の任意選択割込みピンとからなる。 一次PCIインタフェースは、開始側(マスタ)PCI装置とターゲット(ス レーブ)PCI装置の両方を実装する。二次バス上でトランザクションが開始さ れると、PCIローカル・バス仕様改訂版2.1に記載された一次マスタ状態マ シンは、開始側装置である場合と同様にトランザクション(書込みまたは読取り )を完了する。一次PCIインタフェースは、二次バス上で完了する必要がある トランザクションのPCIターゲットとして、トランザクションを受け付け、要 求を二次側へ転送する。一次PCIインタフェースはターゲットとして、正復号 を使用して、ブリッジの下位層側からアドレスされたPCIトランザクションを クレームし、次いでトランザクションを二次マスタ・インタフェース上へ転送す る。 一次PCIインタフェースは、すべてのPCIコマンド解釈、アドレス復号、 エラー処理に責任を負う。 一次インタフェースおよび二次インタフェース、割込み経路指定ロジック(後 述)二次PCIバス調停(後述)に関するPCI構成は一次インタフェースを通 じて完了する。構成空間レジスタはこれらの機能をサポートする。 二次PCIインタフェース PCI間ブリッジ装置の二次PCIインタフェース73は一次インタフェース とほぼ同様に機能する。二次PCIインタフェースは、PCIマスタとPCIス レーブの両方を含み、システムによって使用される新しい1組のPCI電気負荷 を用いて「第2の」PCIバスを備えている。二次PCIインタフェースは49 本の必須ピンからなる。S_RST#は、二次側の入力に代わる出力である。 二次PCIインタフェースはスレーブ(ターゲット)として、ブリッジの二次 メモリ内にもあるいは入力アドレス空間内にも入らないPCIトランザクション をクレームし、ブリッジを介して一次側のマスタへ転送する責任を負う。二次P CIインタフェースはマスタ(開始側)として、ブリッジの一次側で開始された トランザクションを完了する責任を負う。二次PCIインタフェースは、ブリッ ジ・アドレス・レジスタの逆復号を使用し、一次アドレス空間内のアドレスをブ リッジを介して転送するに過ぎない。 二次PCIインタフェースは、二次バス上で専用PCI装置用の独立のアドレ ス空間も備え、その場合、構成時にローカル・プロセッサによって定義された一 連の一次アドレスは転送しない。 二次PCIインタフェースは特殊動作モードとして、それ自体の1組のメモリ ・レジスタおよび入出力アドレス・レジスタに基づいて正のアドレス復号を実行 する。この動作モードは、二次復号イネーブル・レジスタ(SDER)を通じて イネーブルされ、二次インタフェース上の標準ブリッジ・アドレス・レジスタの 逆復号をディスエーブルする副作用を有する。 ポスティング・バッファ ブリッジの対向側への読取りトランザクションおよび書込みトランザクション 時のPCIターゲットの調停および獲得時に生じる待ち時間を隠すために、PC I間ブリッジ装置は2つの64バイト・ポスティング・バッファ77および79 を実装する。ブリッジは、遅延トランザクションとポスト済みトランザクション の両方をサポートする。 遅延トランザクションでは、トランザクションを完了するのに必要な情報がラ ッチされ、トランザクションは再試行と共に終了する。ブリッジは次いで、開始 側に代わってトランザクションを実行する。開始側は、トランザクションを完了 するために、再試行と共に終了した最初のトランザクションを繰り返す必要があ る。 ポスト済みトランザクションでは、トランザクションは、ターゲット・バス上 で完了する前に開始側バス上で完了することができる。 遅延トランザクションおよびポスト済みトランザクションについては下記で詳 しく論じる。 ブリッジは、 ・一次インタフェースから二次インタフェースへ流れるデータ用の下流側ポス ティング・バッファ77と、 ・二次インタフェースから一次インタフェースへ流れるデータ用の上流側ポス ティング・バッファ79の2つのポスティング・バッファを使用する。 各バッファは、トランザクションに関する情報を維持する関連するアドレス/ 制御レジスタを有する。 構成レジスタ あらゆるPCI装置は、別々の構成アドレス空間および構成レジスタ81を備 えている。ブリッジ構成ヘッダ・フォーマットの最初の16バイトは、すべての PCI装置に必要な共通の構成レジスタを実装する。読取り専用ヘッダ・タイプ ・レジスタ内の値は、ヘッダ内の残りの48バイト用のフォーマットを定義し、 PCI間ブリッジの場合は01Hを返す。 一次バス上の装置は、タイプ0構成コマンドを用いた場合にのみPCI間ブリ ッジ構成空間にアクセスすることができる。二次PCIバス上の装置が、PCI 構成サイクルを用いてブリッジ構成空間にアクセスすることはできない。構成レ ジスタは、ブリッジの両側に関するすべての必要なアドレス復号情報、エラー条 件情報、状況情報を保持する。 アドレス復号 P2Pプロセッサは、P2Pプロセッサのブリッジ部分を介してどちらかの方 向へどのメモリ・アドレスおよび入出力アドレスを転送するかを決定するために 使用される3つの別々のアドレス範囲を与える。メモリ・トランザクション用に 与えられる2つのアドレス範囲と入出力トランザクション用に与えられる1つの アドレス範囲がある。ブリッジはベース・アドレス・レジスタおよび限界レジス タを使用して、アドレス範囲を設定する。アドレス範囲は、二次アドレスとみな される範囲内のアドレスと共に一次インタフェース上で正復号され、したがって ブリッジを介して下流側へ転送することができる。二次インタフェース上で、ア ドレス範囲は逆復号される。これは、プログラム済みアドレス範囲の外側のアド レスをブリッジを通じて上流側へ転送できることを意味する。 二次復号イネーブル・レジスタ(SDER)によって標準ブリッジ装置アドレ ス復号を修正することもできる。このレジスタ内のビットは、二次ブリッジ・イ ンタフェースによる正アドレス復号をイネーブルし、PCI間ブリッジによって 使用される基本逆アドレス復号をディスエーブルする。 入出力アドレス空間 PCI間ブリッジ装置は、PCI入出力トランザクションに関する1つのプロ グラム可能なアドレス範囲を設定する。ブリッジ構成空間内の入出力ベース・レ ジスタ(IOBR)および入出力限界レジスタ(IOLR)によって連続入出力 アドレス空間が定義される。IOBRの上位4ビットは入出力アドレスのAD[ 15:12]に対応し、下位12ビットは常に000Hであり、これによって入 出力アドレス空間のための4Kバイト整列が強制的に実行される。IOLRの上 位4ビットもAD[15:12]に対応し、下位12ビットはFFFHであり、 これによって4Kバイトの粒度が強制的に実行される。 ブリッジ装置は、IOBRおよびIOLRによって定義されたアドレス範囲内 (アドレス範囲自体を含む)のアドレスを有する入出力トランザクションを一次 インタフェースから二次インタフェースへ転送する。この場合、一次インタフェ ースはPCIターゲットとして働き、二次インタフェースはブリッジ入出力トラ ンザクションに関するPCI開始側として働く。 二次バス上に入出力読取りトランザクションまたは書込みトランザクションが 存在する場合、ブリッジ装置は、アドレスが、IOBRおよびIOLRによって 定義されたアドレス範囲の外側にある場合には、そのトランザクションを一次イ ンタフェースへ転送する。この場合、二次インタフェースはPCIターゲットと して働き、一次インタフェースはPCI開始側として働く。 P2Pプロセッサは入出力トランザクションに関する16ビット・アドレスし かサポートせず、したがって64Kバイトよりも大きなアドレスを有する入出力 トランザクションはどちらのインタフェースを介しても転送されない。ブリッジ は、これらのビットがIOBRおよびIOLRにない場合でもAD[31:16 ]=0000Hを仮定する。ブリッジ装置は、その場合でも入出力トランザクシ ョン時に全32ビット復号を実行し、PCIローカル・バス仕様ごとにAD[3 1:16]=0000Hであるかどうかを検査しなければならない。 ISAモード P2P装置のPCI間ブリッジ装置は、ブリッジ制御レジスタ(BCR)内に ISAモード・ビットを有し、従属PCIバス上のISA入出力カードのISA を認識する。ISAモードは、IOBRレジスタおよびIOLRレジスタによっ て定義されるアドレス範囲内の入出力アドレスにしか影響を与えない。ISAモ ード・ビットをセットすることによってISAモードがイネーブルされると、ブ リッジはフィルタを行い、自然に整列した各1Kバイト・ブロックの上位768 バイト(300H)内のアドレスを有する入出力トランザクションは転送しない 。逆に、二次バス上の入出力トランザクションはISAアドレスを逆復号し、し たがって、自然に整列した各IKバイト・ブロックの上位768バイト内のアド レスを有する入出力トランザクションを転送する。 メモリ・アドレス空間 PCI間ブリッジ装置は、メモリ・アドレスをメモリ・アクセスを下流側に二 次インタフェースへ転送する2つの別々のアドレス範囲をサポートする。メモリ ・ベース・レジスタ(MBR)およびメモリ限界レジスタ(MLR)は一方のア ドレス範囲を定義し、事前取り出し可能メモリ・ベース・レジスタ(PMBR) および事前取り出し可能限界レジスタ(PMLR)は他方のアドレス範囲を定義 する。事前取り出し可能なアドレス範囲は、どのメモリ空間が副作用なしに事前 に取り込めるかを判定するサイクルに使用される。両方のレジスタ対は、ブリッ ジがメモリ読取りトランザクション、メモリライン読取りトランザクション、メ モリ多重読取りトランザクション、メモリ書込みトランザクション、メモリ書込 み・無効化トランザクションをブリッジを介していつ転送するかを決定する。2 つのレジスタ対が重なり合う場合、両方のレジスタの和と、ブリッジ読取りトラ ンザクション応答よりも優先される事前取り出し可能な範囲との組合せである1 つのアドレス範囲が得られる。 MBRレジスタ、MLRレジスタ、PMBRレジスタ、PMLRレジスタの上 位12ビットは一次メモリ・アドレスまたは二次メモリ・アドレスのアドレス・ ビットAD[31:20]に対応する。復号のため、ブリッジは、両方のメモリ ・ベース・レジスタのAD[19:0]が00000Hであり、両方のメモリ限 界レジスタのAD[19:0]がFFFFFHであると仮定する。これにより、 ブリッジ装置によってサポートされるメモリ・アドレス範囲は1Mバイト境界上 に整列し、1Mバイトのサイズ粒度を有する。すべての4つのレジスタ内の下位 4ビットは読み取られるに過ぎず、読み取られると零を返す。 2つのレジスタ対(MBR−MLRおよびPMBR−PMLR)によって定義 されるアドレス範囲内に入る一次バス上に存在するPCIメモリ・トランザクシ ョン(非入出力)は、ブリッジを介して一次インタフェースから下流側の二次イ ンタフェースへ転送される。二次メモリ・インタフェースは常に、一次バス上の 一次スレーブ・インタフェースによってクレームされた二次バス上の同じPCI コマンド・タイプを使用する(メモリ書込み・無効化時のある種のケースを除く )。すべての二重アドレス・サイクル(64ビット・アドレスを有するPCIト ランザクション)が常に二次インタフェースによってクレームされる。 2つのレジスタ対(MBR−MLRおよびPMBR−PMLR)によって定義 されるアドレス範囲の外側にある二次バス上に存在するPCIメモリ・トランザ クションは、ブリッジを介して二次インタフェースから上流側の一次インタフェ ースへ転送される。二次インタフェースは、すべての二重アドレス・サイクルを 二次バスから一次バスへ転送する。二重アドレス・サイクルは、64ビット・ア ドレス空間の上位4Gバイトに制限される。 どちらかのインタフェース上のメモリ・トランザクションに対するブリッジ応 答は、ブリッジ構成空間の下記のレジスタ・ビットによって修正することができ る。 ・一次コマンド・レジスタ(PCMD)内のマスタ・イネーブル・ビット ・一次コマンド・レジスタ(PCMD)内のメモリ・イネーブル・ビット ・ブリッジ制御レジスタ(BCR)内のVGAイネーブル・ビット ・二次復号イネーブル・レジスタ(SDER)内の二次正メモリ復号イネーブ ル・ビット SDER内の二次正メモリ復号イネーブル・ビットは二次アドレス復号を修正 する。このビットは、二次バス上のメモリ・トランザクションをクレームし、ブ リッジを通じて転送するためのアドレス・ウィンドウを定義するアドレス範囲レ ジスタ対、二次メモリ・ベース・レジスタ(SMBR)、二次メモリ限界レジス タ(SMLR)をイネーブルする。復号およびトランザクション・クレーミング は、MBR/MLRアドレス対およびPMBR/PMLRアドレス対に関する一 次バス上の正復号と同様に動作する。二次正メモリ復号イネーブル・ビットはま た、MBR/MLRアドレス範囲およびPMBR/PMLRアドレス範囲の外側 のアドレスを有するメモリ・トランザクションをクレームする二次インタフェー ス上で実行される逆復号をディスエーブルする。逆復号が、MBR/MLRアド レス対およびPMBR/PMLRアドレス対のために一次インタフェース上で実 行されることはない。 64ビット・アドレス復号−二重アドレス・サイクル ブリッジ装置は、ブリッジ装置の二次インタフェース上の64ビット・アドレ ス指定に関する二重アドレス・サイクル・コマンドのみをサポートする。二重ア ドレス・サイクルにより、2つのPCIアドレス相、すなわち下位32ビット用 の第1のアドレス相および上位32ビット用の第2のアドレス相を使用すること によって64ビット・アドレス指定が可能になる。 ブリッジ装置は通常、MBR/MLRアドレス対およびPMBR/PMLRア ドレス対で定義されるアドレス範囲にかかわらずに、すべての二重アドレス・サ イクルを復号し、二次インタフェースから一次インタフェースへ転送する。二重 アドレス・サイクルは、SDER内の二次サブトラクティブ復号イネーブル・ビ ットがセットされている場合には転送されない。 ブリッジ装置は、サブトラクティブ復号タイミングを使用して(FRAME# がアサートされてから5番目のクロック上でDEVSEL#をアサートする)二 重アドレス・サイクルをクレームする。このため、二次PCIバス上の他のエー ジェントは、ブリッジ装置よりも前に二重アドレス・サイクルをクレームするこ とができる。 一次インタフェースは二重アドレス・サイクルを転送しない。 64ビット・アドレスの上位32ビットを保持し転送する機構は、二次・一次 データ経路に関連付けられた32ビット・アドレス・レジスタを付加することで ある。これらのレジスタは、二重アドレス・サイクルの第2のアドレス相中に送 信される64ビット・サイクルの上位32ビットを記憶する。また、マスタ状態 マシンおよびスレーブ状態マシンは、二重アドレス・サイクルおよびDACコマ ンドをサポートできなければならない。 二次インタフェース上のDACサイクルに対する応答は、ブリッジ構成空間か ら下記のレジスタ・ビットによって修正することができる。 ・一次コマンド・レジスタ(PCMD)内のマスタ・イネーブル・ビット ・一次コマンド・レジスタ(PCMD)内のメモリ・イネーブル・ビット PCMDレジスタ内のメモリ・イネーブル・ビットは、ブリッジが任意の種類 のメモリ・サイクル、すなわち32ビットまたは64ビットに応答できるように セットしなければならない。PCMD内のマスタ・イネーブル・ビットは、マス タPCIトランザクションへの一次インタフェースが可能となるようにセットし なければならない。 ブリッジ動作 P2Pプロセッサのブリッジ装置は、すべての種類のメモリ・コマンド、入出 力コマンド、構成コマンドをあるPCIインタフェースから他のPCIインタフ ェースへ転送することができる。表1は、PCI間ブリッジ装置およびその2つ のPCIインタフェースによってサポートされるPCIコマンドとサポートされ ないPCIコマンドを定義するものである。PCIコマンドは、どちらかのイン タフェース上でC/BE[3:0]#内でコード化される。2つの異なるインタ フェースのためのデッドロックを防止するために、ブリッジは、両方のインタフ ェース上でトランザクションが同時に行われるときには一次インタフェースを優 先する。 PCIインタフェース P2Pブリッジ装置は、一次PCIインタフェースと二次PCIインタフェー スとを有する。一次バス上でトランザクションが開始され、ブリッジによってク レームされると、一次インタフェースがPCIターゲット装置と働き、二次イン タフェース装置が二次バス上の真のPCIターゲットに対する開始側装置として 働く。一次バスは開始側バスであり、二次バスはターゲット・バスである。二次 バス上で開始されたトランザクションの場合はこのシーケンスが反転される。下 記にインタフェースを定義する。 一次インタフェース ブリッジ装置の一次PCIインタフェース71は、P2P装置がブリッジする 2つのPCIバスのうちのより小さな番号のPCIバスに接続されたインタフェ ースである。 一次PCIインタフェースはPCIローカル・バス仕様およびPCI間ブリッ ジ・アーキテクチャ仕様内で定義されたPCIマスタ・スレーブ装置の定義を満 たさなければならない。 二次インタフェース ブリッジ装置の二次PCIインタフェース73は、P2P装置がブリッジする 2つのPCIバスのうちのより大きな番号のPCIバスに接続されたインタフェ ースである。 二次PCIインタフェースはPCIローカル・バス仕様およびPCI間ブリッ ジ・アーキテクチャ仕様内で定義されたPCIマスタ・スレーブ装置の定義を満 たさなければならない。 ポスティング・バッファ PCI間ブリッジ装置は、遅延トランザクションとポスト済みトランザクショ ンの両方に使用される2つのポスティング・バッファを有する。下流側ポスティ ング・バッファ77は、一次インタフェースから二次インタフェースへのデータ 経路に存在する。上流側ポスティング・バッファ79は、二次インタフェースか ら一次インタフェースへのデータ経路に存在する。第5図は、一次インタフェー スと二次インタフェースとの間の2つのポスティング・バッファを示す。 下流側ポスティング・バッファは、 ・一次バスからのポスト済み書込み ・一次バスからの遅延書込み要求 ・二次バスに返される遅延読取り完了 ・二次バスに返される遅延書込み完了によって使用される。 上流側ポスティング・バッファは、 ・二次バスからのポスト済み書込み ・二次バスからの遅延書込み要求 ・一次バスに返される遅延読取り完了 ・一次バスに返される遅延書込み完了によって使用される。 書込みポスティングによって、ブリッジは、可能な全帯域幅を達成し、同時に 、ブリッジ内の伝達に関連する待ち時間とターゲット・バスを得ることに関連す る待ち時間を隠すことができる。2組のポスティング・バッファを同時に使用す ることができる。 ポスティング・バッファの構成 各バッファは、それぞれ4バイトの16個のエントリ(16個のDWORD) として構成された64バイトのデータを保持することができる。各バッファは、 ・最大64バイトの1つのポスト済み書込みトランザクション、または ・最大64バイトの1つの遅延完了トランザクション、または ・最大4バイトの1つの遅延書込みトランザクションを保持することができる 。 各ポスティング・バッファには、アドレス・レジスタならびに1組のタグ・ビ ットおよび有効ビットが関連付けられる。 このブリッジはまたポスティング・バッファの外部に1つの遅延読取り要求を 記憶することができる。 ポスティング・バッファの内部アドレス指定は、トランザクションが空のバッ ファに入ったときに、ただちに最上位に転送されるように循環的に行われる。デ ータをバッファ内のあるエントリから次のエントリへ移動させるためにPCIク ロックは必要とされない。 ポスティング・バッファ動作 両方のポスティング・バッファを使用して、ブリッジが全PCI帯域幅を達成 するのが助けられ、ブリッジを交差するあらゆるトランザクションに関して2つ のPCIバスを得るための待ち行列時間が隠される。バッファがトランザクショ ンをポストできるようにするには、EBCRレジスタ内のポスティング・ディス エーブル・ビットはクリアしなければならない。 ポスティング・バッファの性質のために、一次PCIから二次PCIインタフ ェースへおよび二次PCIインタフェースから一次PCIインタフェースへの並 行動作が可能になる。これは、対向するインタフェースへのトランザクションが 両方のPCIインタフェース上で同時に行うことができることを意味する。ブリ ッジに対するトランザクションが開始された瞬間から、ターゲット・インタフェ ースはターゲット・バスのマスタシップを得ようとする。このために使用される 機構は、一次インタフェースおよび二次インタフェース上で使用される標準PC I調停機構である。 ポスティング・バッファはデフォルト・リセット状態として無効とマーク付け される。その後に続くPCIリセット事象は、無効とマーク付けすることによっ てすべてのバッファを強制的にクリアする。 トランザクション順序付け規則 ブリッジは、複数のトランザクションを処理することができるので、デッドロ ック条件を回避し、スループットを向上させるには適切な順序付けを維持しなけ ればならない。表2は、複数のトランザクションに対する順序付け規則を含む。 第1の行は、受け付けられたトランザクションを含む。第1の列は、ラッチされ たばかりのトランザクションである。この表は、新しいトランザクションが、す でに受け付けられているトランザクションを転送することができる(可として示 される)か、それとも新しいトランザクションが、すでに受け付けられているト ランザクションを転送することができない(不可として示される)か、それとも 新しいトランザクションを受け付けるべきではないか(受け付けない)を示す。 受け付けられないトランザクションには再試行を通知すべきである。 レジスタ定義 PCI間ブリッジ構成レジスタについて下記で説明する。構成空間は、定義済 みフォーマットで構成された8ビット・レジスタと、16ビット・レジスタと、 24ビット・レジスタと、32ビット・レジスタとからなる。構成レジスタは、 ブリッジの一次側のタイプ0構成読取りおよび書込みならびにローカル・プロセ ッサ・ローカル動作を通じてアクセスされる。 PCIローカル・バス仕様およびPCI間ブリッジ・アーキテクチャ仕様で定 義されているレジスタ以外の各レジスタの機能、アクセス・タイプ(読取り/書 込み、読取り/クリア、読取り専用)、リセット・デフォルト条件について詳述 する。このようなレジスタの読取りまたは書込みを行うには、アクティブIDS ELまたはメモリ・マップ・ローカル・プロセッサ・アクセスを用いた一次側の タイプ0構成コマンドが必要である。最大3EHのオフセットを有するレジスタ のフォーマットはPCI間ブリッジ・アーキテクチャ仕様改訂版1.0で定義さ れており、したがって本明細書ではこのフォーマットについては詳述しない。3 EHを超えるオフセットを有するレジスタは、P2Pプロセッサの処理系特有の レジスタである。 ローカル・プロセッサがブリッジ構成空間にアクセスできるようにする追加要 件が存在する。タイプ0構成読取りコマンドおよびタイプ構成書込みコマンドか らのみ読み取られるいくつかのレジスタには、ローカル・プロセッサから書き込 むことができる。このため、ある種の構成レジスタは、PCI構成が開始する前 に初期設定しておくことができる。 ローカル・プロセッサは、ブリッジ構成空間をメモリ・マップ・レジスタとし て読取りおよび書込みを行う。表3に、レジスタと、PCI構成コマンドで使用 されるレジスタに関連するオフセットと、ローカル・プロセッサ・アドレス空間 中のレジスタのメモリ・マップ・アドレスを示す。 ブリッジの一次側のP_RST#信号のアサートは、ブリッジ構成空間内に含 まれるレジスタの大部分の状態に影響を与える。特に指摘しないかぎり、すべて のビットおよびレジスタは、一次リセット時に前述のデフォルト状態値に戻る。 二次S_RST#のリセット状態は、明示的に指摘しないかぎりレジスタの状態 には影響を与えない。 前述のように、ベンダIDレジスタないしブリッジ制御レジスタBCR内のビ ットはPCIローカル・バス仕様の定義を満たし、したがって本明細書でこのビ ットについて説明する必要はない。下記に、本発明によるPCI間ブリッジを実 施するためにPCIローカル・バス仕様に追加されるレジスタについて説明する 。追加されるレジスタは、表3に示したようにアドレス・オフセット40Hから 開始する。 拡張ブリッジ制御レジスタ−EBCR 拡張ブリッジ制御レジスタは、ブリッジが基本PCI間ブリッジ・アーキテク チャを介して実施する拡張機能を制御するために使用される。このレジスタは、 ブリッジの拡張機能用のイネーブル/ディスエーブル・ビットを有する。 一次ブリッジ割込み状況レジスタ−PBISR 一次ブリッジ割込み状況レジスタは、一次ブリッジ・インタフェース割込みの 送信元をローカル・プロセッサに知らせるために使用される。また、このレジス タはP2Pプロセッサの割込み装置への割込みの送信元をクリアするために書き 込まれる。このレジスタ内のすべてのビットは、PCIからの読取り専用および ローカル・バスからの読取り/クリアである。 ビット4:0は、一次状況レジスタのビット8およびビット14:11を(そ れぞれ)直接反映したものである(これらのビットは、ハードウェアによって同 時にセットされるが、独立にクリアする必要はない)。一次ブリッジ割込みを生 じさせた条件は、このレジスタ内の適切なビットに1を書き込むことによってク リアされる。 二次ブリッジ割込み状況レジスタ−SBISR 二次ブリッジ割込み状況レジスタは、二次ブリッジ・インタフェース割込みの 送信元をローカル・プロセッサに知らせるために使用される。また、このレジス タはP2Pプロセッサの割込み装置への割込みの送信元をクリアするときに書込 みを受ける。このレジスタ内のすべてのビットは、PCIからの読取り専用およ びローカル・バスからの読取り/クリアである。 ビット4:0は、二次状況レジスタのビット8およびビット14:11を(そ れぞれ)直接反映したものである(これらのビットは、ハードウェアによって同 時にセットされるが、独立にクリアする必要はない)。一次ブリッジ割込みを生 じさせた条件は、このレジスタ内の適切なビットに1を書き込むことによってク リアされる。 二次IDSEL選択レジスタ−SISR 二次IDSEL選択レジスタは、一次インタフェースから二次インタフェース へのタイプ1・タイプ0変換におけるS AD[20:16]の使用法を制御す る。デフォルト動作では、一次アドレスP AD[15:11]上での固有のコ ード化によって、タイプ1・タイプ0変換時に二次アドレス・バスS AD[3 1:16]上で1つのビットがアサートされる。これは、タイプ0構成コマンド がターゲットとする装置上でIDSELをアサートするために使用される。この レジスタにより、二次アドレス・ビットS AD[20:16]を使用して、タ イプ1・タイプ0変換時に、一次アドレスP AD[15:11](タイプ1構 成コマンドにおける装置番号)にかかわらずに、二次アドレス・ビットS AD [20:16]をすべて強制的に零にすることによって専用PCI装置を構成す ることができる。 S AD[20:16]内のアドレス・ビットを専用二次PCI装置に使用す る場合、ローカル・プロセッサは、ホストが階層PCIバスを構成しようと試み る前にSISRレジスタ内の対応するビットがセットされるようにしなければな らない。 二次調停制御レジスタ−SACR 二次調停制御レジスタ(SACR)は、二次PCIバスを使用する各装置の調 停優先順位を設定するために使用される。値を書き込むと調停が設定され、この レジスタを読み取るとプログラム済み値が返される。各装置には2ビット優先順 位が与えられる。この優先順位を表4eに示す。 SACRレジスタは、二次バス調停装置用の二次アービタ・イネーブル・ビッ トも含む。このビットをクリアすると、二次バス・アービタがディスエーブルさ れ、ブリッジがS_GNT0#上のS_REQ#をドライブしS_REQ0#上 のS_GNT#をサンプルする。デフォルト状態は、内部二次調停装置をイネー ブルするためのものである(二次アービタ・イネーブル・ビットがセットされる )。 PCI割込み経路指定選択レジスタ−PIRSR 下記に、PCI割込み経路指定選択レジスタについてPCIおよび周辺割込み コントローラ(PPIC)に関連して説明する。 二次入出力ベース・レジスタ−SIOBR 二次入出力ベース・レジスタ内のビットを使用するのは、正復号のために二次 PCIインタフェースをイネーブルするときである。二次入出力ベース・レジス タは、入出力トランザクションをいつブリッジの二次インタフェースから一次イ ンタフェースへ転送するかを決定するために使用される正復号済みアドレス範囲 の最下位アドレス(このアドレス自体を含む)を定義する。このレジスタは、二 次復号イネーブル・レジスタ(SDER)をセットする前に有効な値を用いてプ ログラムしておかなければならない。ブリッジは、レジスタの最下位4ビット内 の値0Hで示される16ビット・アドレス指定しかサポートしない。上位4ビッ トはアドレス範囲の最下位アドレスのS AD[15:12]を用いてプログラ ムされる。ベース・アドレスのS AD[11:0]は常に000Hであり、こ れによって二次入出力アドレス範囲は常に4Kバイト整列する。 ブリッジは、アドレス復号のために、S AD[31:16]、すなわち入出 力アドレスの上位16アドレス・ビットが零であると仮定する。ブリッジはこの 場合も、PCIローカル・バス仕様ごとにアドレスの全32ビットに対するアド レス復号を実行し、上位16ビットが0000Hに等しいかどうかを検査しなけ ればならない。 (SIOBRがSIOLRと共に定義する)正二次入出力アドレス範囲は、ブ リッジ制御レジスタ(BCR)内のISAイネーブル・ビットの状態の影響を受 けない。 二次入出力限界レジスタ−SIOLR 二次入出力限界レジスタ内のビットを使用するのは、正復号のために二次PC Iインタフェースをイネーブルするときである。二次入出力限界レジスタは、入 出力トランザクションをいつブリッジの二次インタフェースから一次インタフェ ースへ転送するかを決定するために使用される正復号済みアドレス範囲の上位ア ドレス(このアドレス自体を含む)を定義する。このレジスタは、ブリッジ・コ マンド・レジスタ内の入出力空間イネーブル・ビットおよび二次復号イネーブル ・レジスタ(SDER)内の二次正入出力復号イネーブル・ビットをセットする 前にSIOBR以上の有効な値を用いてプログラムしておかなければならない。 SIOBR内の値がSIOLR内の値よりも大きい場合、二次インタフェースか ら一次インタフェースへ転送される入出力サイクル(正復号済み)は不定である 。ブリッジは、レジスタの最下位4ビット内の値0Hで示される16ビット・ア ドレス指定しかサポートしない。上位4ビットはアドレス範囲の最上位アドレス のS_AD[15:12]を用いてプログラムされる。ベース・アドレスのS_ AD[11:0]は常にFFFHであり、これによって4Kバイト入出力範囲粒 度が強制的に実行される。 ブリッジは、アドレス復号のために、S_AD[31:16]、すなわち入出 力アドレスの上位16アドレス・ビットが零であると仮定する。ブリッジはこの 場合も、PCIローカル・バス仕様ごとにアドレスの全32ビットに対するアド レス復号を実行し、上位16ビットが0000Hに等しいかどうかを検査しなけ ればならない。 (SIOBRがSIOLRと共に定義する)二次入出力アドレス範囲が、ブリ ッジ制御レジスタのISAイネーブル・ビットによって修正されることはない。 3二次メモリ・ベース・レジスタ−SMBR 二次メモリ・ベース・レジスタ内のビットを使用するのは、正アドレス復号の ためにブリッジ装置の二次PCIインタフェースをイネーブルするときである。 このビットは、SDER内の専用アドレス空間イネーブル・ビットの二次PCI バス上の専用アドレス空間を定義するためにも使用される。二次入出力ベース・ レジスタは、トランザクションをいつ二次インタフェースから一次インタフェー スへ転送するかを決定するために使用されるメモリ・マップ・アドレス範囲の最 下位アドレス(このアドレス自体を含む)を定義する。二次メモリ・ベース・レ ジスタは、SDER内の二次正メモリ復号イネーブル・レジスタをセットする前 に有効な値を用いてプログラムしておかなければならない。上位12ビットは3 2ビット・アドレスのS_AD[31:20]に対応する。ブリッジは、アドレ ス復号のために、S_AD[19:0]、すなわちメモリ・ベース・アドレスの 下位20アドレス・ビットが零であると仮定する。これは、定義済みアドレス範 囲の最下位アドレスが1Mバイト境界上で整列することを意味する。 二次メモリ限界レジスタ−SMLR 二次メモリ限界レジスタ内のビットを使用するのは、正アドレス復号のために ブリッジ装置の二次インタフェースをイネーブルするときである。二次メモリ限 界レジスタは、トランザクションをいつ二次インタフェースから一次インタフェ ースへ転送するかを決定するために使用されるメモリ・マップ・アドレス範囲の 上位アドレス(このアドレス自体を含む)を定義する。二次メモリ限界レジスタ は、メモリ空間イネーブル・ビットおよび二次正メモリ復号イネーブル・ビット をセットする前にSMBR以上の有効な値にプログラムしておかなければならな い。メモリ空間イネーブル・ビットまたは二次メモリ・イネーブル・ビットがセ ットされた後にSMLR内の値がSMBR内の値以下である場合、二次側から一 次側への正復号済みメモリ・トランザクションは不確定である。上位12ビット は32ビット・アドレスのS_AD[31:20]に対応する。ブリッジは、ア ドレス復号のために、S_AD[19:0]、すなわち二次メモリ・ベース・ア ドレスの上位20アドレス・ビットがFFFFFHであると仮定する。これによ って、メモリ・アドレス範囲上で1Mバイト粒度が強制的に実行される。 二次復号イネーブル・レジスタ−SDER 二次復号イネーブル・レジスタは、ブリッジ装置の二次PCIインタフェース 上のアドレス復号機能を制御するために使用される。二次正入出力復号イネーブ ル・ビットをセットすると、ブリッジは、SIOBR/SIOLRアドレス対に よって定義されたアドレス範囲内のトランザクションを復号し、クレームし、ブ リッジ装置を通じて転送する。二次正メモリ復号イネーブル・ビットは二次正入 出力復号イネーブル・ビットと同じ機能を有するが、SMBR/SMLRアドレ ス範囲を用いて動作する。これらのビットのうちのどちらかをセットすると、二 次インタフェース上のすべての逆復号がディスエーブルされる。 二次サブトラクティブ復号イネーブル・ビットによって、一次インタフェース 上の標準バス拡張ブリッジをサポートするための二次インタフェース上のサブト ラクティブ・ブリッジ復号が可能になる。このビットでは、二次正入出力復号イ ネーブル・ビットと二次正メモリ復号イネーブル・ビットのどちらかがセットさ れた場合にのみ二次インタフェース上のサブトラクティブ復号がイネーブルされ る。 専用メモリ空間イネーブル・ビットによって、二次PCIバス上で専用メモリ 空間を作成することができる。このビットは、SMBR/SMLRレジスタと共 に使用される。このビットをセットした場合、SMBR/SMLRアドレス範囲 内のアドレスを有するトランザクションはブリッジから無視される。 アドレス変換装置 下記に、一次PCIバスおよび二次PCIバスとローカル・バスとの間のイン タフェースをとる機構について説明する。インタフェースの動作モード、セット アップ、処理系について説明する。 概要 P2Pプロセッサは、PCIバスとローカル・バスとの間のインタフェースを とる。このインタフェースは、2つのアドレス変換装置(ATU)43a/43 bとメッセージ装置45とからなる。ATUはインバウンド・アドレス変換とア ウトバウンド・アドレス変換の両方をサポートする。第1のアドレス変換装置を 一次ATU43aと呼ぶ。第1のアドレス変換装置は、一次PCIバスとローカ ル・バスとの間の直接アクセスを可能にする。第2のアドレス変換装置は、二次 ATU43bと呼ばれ、二次PCIバスとローカル・バスとの間の直接アクセス を可能にする。2つのATUをこのように使用すると、従来技術に勝る顕著な利 点が与えられる。 インバウンド・トランザクション時に、ATUは(PCIバス・マスタによっ て開始された)PCIアドレスをローカル・プロセッサ・アドレスに変換し、ロ ーカル・バス上でデータ転送を開始する。アウトバウンド・トランザクション時 には、ATUはローカル・プロセッサ・アドレスをPCIアドレスに変換し、そ れぞれのPCIバス上でデータ転送を開始する。 アドレス変換装置とメッセージ装置は共に、一次PCIバス上に単一のPCI 装置として現れる。これらの装置は集合的に、多機能P2Pプロセッサ内の第2 のPCI機能である。ATUおよびメッセージ装置のブロック図を第6図に示す 。 ATUおよびメッセージ装置の機能について下記に説明する。図のすべての装 置は、PCIインタフェース91またはローカル・バス・インタフェース93、 あるいはその両方から見えるメモリ・マップ・レジスタ・インタフェースを有す る。 ATUデータ・フロー 一次ATUおよび二次ATUは、P2Pプロセッサを通じて両方向からのトラ ンザクションをサポートする。一次ATUによって、一次PCIバス上のPCI マスタはローカル・バスへのトランザクションを開始することができ、ローカル ・プロセッサは一次PCIバスへのトランザクションを開始することができる。 二次ATUは同じ機能を実行するが、二次PCIバス上で二次PCIバス・マス タのために実行する。PCIバス上で開始されローカル・バスをターゲットとす るトランザクションをインバウンド・トランザクションと呼び、ローカル・バス 上で開始されPCIバスをターゲットとするトランザクションをアウトバウンド ・トランザクションと呼ぶ。 ATUアドレス変換 ATUはアドレス・ウィンドウ方式を実施して、どのアドレスをクレームし適 切なバスに変換するかを決定する。 一次ATUは、一次PCIバスとローカル・バスとの間のデータ経路を含む。 一次ATUをこのように接続すると、二次PCIバス上の資源を必要とせずにデ ータ転送を行うことができる。二次ATUは、二次PCIバスとローカル・バス との間のデータ経路を含む。二次ATUによって、二次PCIバス・マスタはロ ーカル・バスおよびメモリに直接アクセスすることができる。これらのトランザ クションは二次バス・マスタによって開始され、一次PCIバス上の帯域幅を必 要としない。 ATU装置は、複数のPCIサイクル・タイプを認識し生成することができる ようにする。表5は、インバウンドATUとアウトバウンドATUの両方によっ てサポートされるPCIコマンドを示す。インバウンドATUから見える動作の タイプは、トランザクションを開始する(一次バスと二次バスのどちらか上の) PCIマスタによって決定される。インバウンド・トランザクションのクレーム は、アドレスがプログラム済みインバウンド変換ウィンドウ内にあるかどうかに 依存する。アウトバウンドATUによって使用されるトランザクションのタイプ は、ローカル・アドレスおよび固定アウトバウンド・ウィンドウ方式によって決 定される。 2つのATUは共に、PCIローカル・バス仕様で指定された64ビット・ア ドレス指定拡張機能をサポートする。この64ビット・アドレス指定拡張機能は アウトバウンド・データ・トランザクション(すなわち、ローカル・プロセッサ によって開始されたデータ転送)専用である。 インバウンド・アドレス変換 ATUは、PCIバス・マスタがローカル・バスに直接アクセスできるように する機構を備える。これらのPCIバス・マスタはP2Pメモリ・マップ・レジ スタまたはローカル・メモリ空間の読取りまたは書込みを行うことができる。P CIバス・マスタがローカル・バスにアクセスするトランザクションをインバウ ンド・トランザクションと呼ぶ。 インバウンド変換では下記の2つのステップが使用される。 1.アドレス検出 ・インバウンドATU(一次または二次)に関して定義されたアドレス・ウィ ンドウ内に32ビットPCIアドレスがあるかどうかを判定する。 ・高速DEVSEL#タイミングを用いてPCIトランザクションをクレーム する。 2.アドレス変換 ・32ビットPCIアドレスを32ビット・ローカル・アドレスに変換する。 一次ATUはインバウンド・アドレス変換で下記のレジスタを使用する。 ・一次インバウンドATUベース・アドレス・レジスタ ・一次インバウンドATU限界レジスタ ・一次インバウンドATU変換値レジスタ 二次ATUはインバウンド・アドレス変換で下記のレジスタを使用する。 ・二次インバウンドATUベース・アドレス・レジスタ ・二次インバウンドATU限界レジスタ ・二次インバウンドATU変換値レジスタ 従来、一次インバウンドATUアドレスは一次PCIアドレスであり、二次イ ンバウンドATUアドレスは二次PCIアドレスである。ATUとブリッジの両 方によってアドレスをクレームできる場合、インバウンドATU PCIインタ フェースが優先される。 インバウンド・アドレス検出は、32ビットPCIアドレス、ベース・アドレ ス・レジスタ、限界レジスタから決定される。検出に関するアルゴリズムは下記 のとおりである。 もし(PCIアドレスおよび限界レジスタ==ベース・レジスタ)である場合 、PCIアドレスはインバウンドATUによってクレームされる。 着信32ビットPCIアドレスは、関連付けられたインバウンド限界レジスタ とビットごとにANDされる。この結果がベース・レジスタと合致した場合、イ ンバウンドPCI・アドレスは、インバウンド変換ウィンドウ内のアドレスとし て検出されATUによってクレームされる。 トランザクションがクレームされた後、IAQ内のアドレスを32ビット・ア ドレスから32ビット・ローカル・プロセッサ・アドレスに変換しなければなら ない。この変換に関するアルゴリズムは下記のとおりである。 ローカル・アドレス=(PCIアドレスおよび〜限界レジスタ)|値レジ スタ 着信32ビットPCIアドレスはまず、限界レジスタのビットごとの逆数とビ ットごとにANDされる。次いで、この結果が値レジスタとビットごとにORさ れ、得られた結果がローカル・アドレスである。この変換機構は、インバウンド 構成読取りおよび書込みを除くすべてのインバウンド・メモリ読取りコマンドお よびインバウンド・メモリ書込みコマンドに使用される。複数のPCIアドレス の同じ物理ローカル・アドレスへのアドレス・エイリアシングは、関連する限界 レジスタに合致する境界上にインバウンド値レジスタをプログラムすることによ って防止できるが、これは、アプリケーション・プログラミングを用いない限り 実行できない。 アウトバウンド・アドレス変換 ATUは、インバウンド変換用の機構を備えるだけでなく、ローカル・プロセ ッサによって開始されたサイクルをPCIバスに変換するのに必要なハードウェ アも備える。これはアウトバウンド・アドレス変換と呼ばれる。アウトバウンド ・トランザクションは、1つのPCIバス(一次または二次)をターゲットとす るプロセッサ読取りまたはプロセッサ書込みである。ATUローカル・バス・ス レーブ・インタフェースはローカル・プロセッサ・バス・サイクルをクレームし 、ローカル・プロセッサに代わってPCIバス上でこのサイクルを完了する。一 次ATUおよび二次ATUは下記の2つの異なるアウトバウンド変換モードをサ ポートする。 ・アドレス変換ウィンドウ ・直接アドレス指定ウィンドウ 拡張ROM変換装置 一次インバウンドATUは、拡張ROMを含むために使用される(ベース/限 界レジスタ対によって定義される)1つのアドレス範囲をサポートする。PCI ローカル・バス仕様には拡張ROMのフォーマットおよび使用法に関する詳細が 記載されている。 拡張ROMからの初期設定コードは、関連する装置を初期設定するために電源 投入シーケンス中に1度だけホスト・プロセッサによって実行される。このコー ドは、実行後に破棄することができる。 インバウンド一次ATUは、インバウンド変換ウィンドウと同様に働くインバ ウンド拡張ROMウィンドウをサポートする。拡張ROMウィンドウからの読取 りはローカル・バスおよびメモリ・コントローラへ転送される。アドレス変換ア ルゴリズムはインバウンド変換と同じである。8ビットと32ビットの2つの異 なるROM幅がサポートされる。ATUCRの拡張ROM幅ビットは、拡張RO Mの物理構成を反映するようにソフトウェアによってプログラムすべきである。 このビットは、ATUがどのように拡張ROMにアクセスするかを決定する(下 記参照)。 インバウンドATUは下記の機能を実行する。 ・一次ATUは拡張ROMウィンドウへの「ヒット」を検出する。 ・一次ATUは、ERTVRおよびERLRを使用して(IAQ内の)アドレ スを変換する。 ・インバウンドATUは、8ビット装置に適応するために、ローカル・バス上 で4つの別々の読取りを実行し、1つの32ビット値を一次PCIバスに返す。 各読取りは、バイト・イネーブル信号BE1:0#がバイト・アドレスとして使 用される8ビット・サイクルからなる。各読取りは、一次ATU内に含まれる( AD7:0バイト・レーン上の)パッキング・ハードウェアに1データ・バイト を返す。 ・P2Pメモリ・コントローラは、一次ATUからの各ローカル・バス要求に 応答して1回の読取りを実行する。このメモリ・コントローラは、8ビット装置 にアクセスするので、8ビット・サイクルを用いて8ビット読取りを実行する。 メモリ・コントローラは(バイト・イネーブル信号に基づいて)適切なバイト・ レーン上でデータを返す。 ・ATU内のパッキング・ハードウェアは、その4回のサイクルが完了したと きに(遅延読取りトランザクションからの)32ビット・ワード全体を一次PC Iバスに返す。パッキング・ハードウェアは、バイトが正しいレーンにあること を確認する貢任を負う。 一次PCIバスが要求したのが4バイトよりも少ない場合、一次ATUは、収 容するバイト読取りの数を調整する。アクセスがローカル・バスに整列しない場 合、読取りは整列境界まで行われる。 レジスタの定義 あらゆるPCI装置はそれ自体の別々の構成アドレス空間および構成レジスタ を備えている。PCIローカル・バス仕様改訂版2.1では、構成空間の長さが 256バイトであり、最初の64バイトが所定のヘッダ・フォーマットを満たす 必要がある。 一次ATUと二次ATUは共に、一次インタフェース上でタイプ0構成コマン ドを介してプログラムされる。二次ATUプログラミングは二次インバウンド構 成サイクルを通じて行うことができる。ATU・メッセージ装置構成空間は、P 2Pプロセッサ多機能PCI装置の機能番号1である。 ATU・メッセージ装置構成空間は、必要な64バイト・ヘッダ・フォーマッ トだけでなく、各装置の機能をサポートする拡張レジスタ空間を実施する。PC Iローカル・バス仕様は、構成レジスタ空間のアクセスおよびプログラミングに 関する詳細を含む。 構成空間は、所定のフォーマットで構成された8ビット・レジスタと、16ビ ット・レジスタと、24ビット・レジスタと、32ビット・レジスタとからなる 。表6に、PCI機能1構成アドレス空間内のすべてのレジスタを要約した。 各レジスタの機能、アクセス・タイプ(読取り/書込み、読取り/クリア、読 取り専用)、リセット・デフォルト条件について説明する。各レジスタごとのP CIレジスタ番号を表6に与える。前述のように、これらのレジスタの読取りま たは書込みを行うには、アクティブIDSELアクセスまたはメモリ・マップ・ ローカル・プロセッサ・アクセスを用いた一次バスまたは二次バス上のタイプ0 構成コマンドが必要である。 ATUベンダIDレジスタないしATU最大待ち時間レジスタ内のビットは、 PCIローカル・バス仕様の定義を満たし、したがって本明細書ではこれらのビ ットについては説明しない。 一次インバウンドATU限界レジスタ−PIALR 一次インバウンド・アドレス変換は、(一次PCIバスから発信され)PCI バスからローカル・バスへ行われるデータ転送に対して行われる。アドレス変換 ブロックはPCIアドレスをローカル・プロセッサ・アドレスに変換する。すべ てのデータ転送は直接変換され、したがってデータ転送を開始するバス・マスタ は、非整列転送を複数のデータ転送に分割する。バイト・イネーブル信号は、ど のデータ経路が有効かを指定する。 一次インバウンド変換ベース・アドレスは「一次インバウンドATUベース・ アドレス・レジスタ−PIABAR」で指定されている。ブロック・サイズ要件 を判定する際、一次変換限界レジスタは一次ベース・アドレス・レジスタにブロ ック・サイズ要件を与える。アドレス変換を実行するために使用される残りのレ ジスタについては上記で「インバウンド・アドレス変換」に関連して論じた。 ローカル・プロセッサ値レジスタ内のプログラム済み値は、ベース・アドレス ・レジスタに存在するプログラム済み値に自動的に整列しなければならない。限 界レジスタはマスクとして使用され、したがってローカル・プロセッサ値レジス タにプログラムされた下位アドレス・ビットは無効になる。PCIローカル・バ ス仕様には、ベース・アドレス・レジスタのプログラミングに関する他の情報が 含まれる。 一次インバウンドATU変換値レジスタ−PIATVR 一次インバウンドATU変換値レジスタ(PIATVR)は、一次PCIバス ・アドレスを変換するために使用されるローカル・アドレスを含む。変換済みア ドレスは、一次インバウンドATUアドレス変換の結果としてローカル・バス上 でドライブされる。 二次インバウンドATUベース・アドレス・レジスタ−SIABAR 二次インバウンドATUベース・アドレス・レジスタ(SIABAR)は、二 次インバウンド変換ウィンドウが始まるメモリ・アドレスのブロックを定義する 。インバウンドATUは、バス要求を復号し、変換済みアドレスを用いてローカ ル・バスへ転送し、ローカル・メモリにマップする。SIABARはベース・ア ドレスを定義し、必要なメモリのブロックのサイズを記述する。ベース・アドレ ス・レジスタの効果は、FFFF.FFFFHの値がSIABARに書き込まれ たときに、レジスタからの次に読取り時にSIABARではなく一次インバウン ドATU限界レジスタ(SIALR)からデータが返されることである。 ベース・アドレス・レジスタ内のプログラム済み値はアドレス整列に関するP CIプログラミング要件を満たさなければならない。PCIローカル・バス仕様 は、ベース・アドレス・レジスタのプログラミングに関する他の情報を含む。 二次インバウンドATU限界レジスタ−SIALR 二次インバウンド・アドレス変換は、二次PCIバスからローカル・バスへ行 われるデータ転送に対して行われる。アドレス変換ブロックは、PCIアドレス をローカル・プロセッサ・アドレスに変換する。すべてのデータ転送は直接変換 され、したがってデータ転送を開始するバス・マスタは、非整列転送を複数のデ ータ転送に分割する。バイト・イネーブル信号は、どのデータ経路が有効かを指 定する。 ブロック・サイズ要件を判定する際、二次限界レジスタは二次ベース・アドレ ス・レジスタにブロック・サイズ要件を与える。アドレス変換を実行するために 使用される残りのレジスタについては上記で「インバウンド・アドレス変換」に 関連して論じた。 ローカル・プロセッサ値レジスタ内のプログラム済み値は、ベース・アドレス ・レジスタに存在するプログラム済み値に自動的に整列しなければならない。限 界レジスタはマスクとして使用され、したがってローカル・プロセッサ値レジス タにプログラムされた下位アドレス・ビットは無効になる。 二次インバウンドATU変換値レジスタ−SIATVR 二次インバウンドATU変換値レジスタ(SIATVR)は、二次PCIバス ・アドレスをローカル・アドレスに変換するために使用されるローカル・アドレ スを含む。このアドレスは、二次インバウンドATUアドレス変換の結果として ローカル・バス上でドライブされる。 一次アウトバウンド・メモリ・ウィンドウ値レジスタ−POMW0VR 一次アウトバウンド・メモリ・ウィンドウ値レジスタ(POMWVR)は、ア ウトバウンド・トランザクションのためにローカル・アドレスを変換するために 使用される一次PCIアドレスを含む。このアドレスは、一次アウトバウンドA TUアドレス変換の結果として一次PCIバス上でドライブされる。 一次メモリ・ウィンドウ0はローカル・プロセッサ・アドレス8000.00 0Hから807F.FFFFHまでであり、8Mバイトの固定長を有する。 一次アウトバウンド入出力ウィンドウ値レジスタ−POIOWVR 一次アウトバウンド入出力ウィンドウ値レジスタ(POIOWVR)は一次P CI入出力読取りまたは一次PCI入出力書込みを含む。ATUはローカル・バ ス・アクセスをこの読取りまたは書込みに変換する。 一次入出力ウィンドウはローカル・アドレス8200.000Hから8200 FFFFHまでであり、64Kバイトの固定長を有する。 一次アウトバウンドDACウィンドウ値レジスタ−PODWVR 一次アウトバウンドDACウィンドウ値レジスタ(PODWVR)はローカル ・アドレスを変換するために使用される一次PCI DACアドレスを含む。こ のアドレスは、一次アウトバウンドATUアドレス変換の結果として一次PCI バス上でドライブされる。このレジスタは、一次アウトバウンド上位64ビット DACレジスタと共に使用される。 一次DACウィンドウはローカル・アドレス8080.000Hから80FF .FFFFHまでであり、8Mバイトの固定長を有する。 一次アウトバウンド上位64ビットDACレジスタ−POUDR 一次アウトバウンド上位64ビットDACレジスタ(POUDR)は、二重ア ドレス・サイクル中に使用されるアドレスの上位32ビットを定義する。これに よって、一次アウトバウンドATUは、64ビット・ホスト・アドレス空間内の 任意の場所を直接アドレス指定することができる。 二次アウトバウンド・メモリ・ウィンドウ値レジスタ−SOMWVR 二次アウトバウンド・メモリ・ウィンドウ値レジスタ(SOMWVR)は、ア ウトバウンド・トランザクションのためにローカル・アドレスを変換するために 使用される二次PCIアドレスを含む。このアドレスは、二次アウトバウンドA TUアドレス変換の結果として二次PCIバス上でドライブされる。 二次メモリ・ウィンドウはローカル・アドレス8100.000Hから817 F.FFFFHまでであり、8Mバイトの固定長を有する。 二次アウトバウンド入出力ウィンドウ値レジスタ−SOIOWVR 二次アウトバウンド入出力ウィンドウ値レジスタ(SOIOWVR)はローカ ル・アドレスを変換するために使用される二次PCI入出力アドレスを含む。こ のアドレスは、二次アウトバウンドATUアドレス変換の結果として二次PCI バス上でドライブされる。 ATUCR内の二次PCIブート・モード・ビットがセットされている場合、 このレジスタは、FE00.0000HないしFFFF.FFFFHの領域にア クセスするローカル・アドレスを変換するために使用される。このビットがクリ アされている場合、このレジスタは、二次入出力ウィンドウの8201.000 0Hないし8201.FFFFHにアクセスするローカル・アドレスを変換する ために使用される。 二次入出力ウィンドウはローカル・アドレス8201.0000Hから820 1.FFFFHまでであり、64Kバイトの固定長を有する。 拡張ROM限界レジスタ−ERLR 拡張ROM限界レジスタ(ERLR)は、一次ATUが拡張ROMアドレス空 間として定義するアドレスのブロック・サイズを定義する。このブロック・サイ ズは、ローカル・プロセッサからERLRに値を書き込むことによってプログラ ムされる。可能なプログラム済み値は2Kバイト(FFFF.F800H)から 16Mバイト(FF00.0000H)までの範囲である。 拡張ROM変換値レジスタ−ERTVR 拡張ROM変換値レジスタはローカル・アドレスを含む。一次ATUは一次P CIバス・アクセスをこのローカル・アドレスに変換する。このアドレスは、一 次拡張ROMアドレス変換の結果としてローカル・バス上でドライブされる。 ATU構成レジスタ−ATUCR ATU構成レジスタは、ドアベル・レジスタによって生成された割込みをイネ ーブルしディスエーブルする制御ビットを含む。このレジスタはまた、一次アウ トバウンド変換装置と二次アウトバウンド変換装置の両方からアウトバウンド・ アドレス変換を制御し、拡張ROM幅に関するビットを含む。 一次ATU割込み状況レジスタ−PATUISR 一次ATU割込み状況レジスタは、一次ATU割込みまたはドアベル割込みの 送信元をローカル・プロセッサに知らせるために使用される。また、このレジス タは、P2Pプロセッサの割込み装置への割込みの送信元をクリアするときに書 込みを受ける。このレジスタ内のすべてのビットは、PCIからの読取り専用お よびローカル・バスからの読取り/クリアである。 ビット4:0は、一次ATU状況レジスタのビット8およびビット14:11 を(それぞれ)直接反映したものである(これらのビットは、ハードウェアによ って同時にセットされるが、独立にクリアする必要はない)。ビット6:5は、 メモリ・コントローラに関連するエラーによってセットされる。ビット8はソフ トウェアBISTのためのビットであり、ビット10:9はメッセージ装置のた めのビットである。一次ATU割込みまたはドアベル割込みを生じさせた条件は 、このレジスタ内の適切なビットに1を書き込むことによってクリアされる。 二次ATU割込み状況レジスタ−SATUISR 二次ATU割込み状況レジスタは、二次ATU割込みの送信元をローカル・プ ロセッサに知らせるために使用される。また、このレジスタは、P2Pプロセッ サの割込み装置への割込みの送信元をクリアするときに書込みを受ける。このレ ジスタ内のすべてのビットは、PCIからの読取り専用およびローカル・バスか らの読取り/クリアである。 二次ATU割込みを生じさせた条件は、このレジスタ内の適切なビットに1を 書き込むことによってクリアされる。 二次ATUコマンド・レジスタ−SATUCMD 二次ATUコマンド・レジスタ内のビットはPCIローカル・バス仕様の定義 を満たし、たいていの場合、二次PCIバス上の装置の動作に影響を与える。 二次アウトバウンドDACウィンドウ値レジスタ−SODWVR 二次アウトバウンドDACウィンドウ値レジスタ(SODWVR)はローカル ・アドレスを変換するために使用される二次PCI DACアドレスを含む。こ のアドレスは、二次アウトバウンドATUアドレス変換の結果として二次PCI バス上でドライブされる。このレジスタは、二次アウトバウンド上位64ビット DACレジスタと共に使用される。 二次DACウィンドウはローカル・プロセッサ・アドレス8180.000H から81FF.FFFFHまでであり、8Mバイトの固定長を有する。 二次アウトバウンド上位64ビットDACレジスタ−SOUDR 二次アウトバウンド上位64ビットDACレジスタ(SOUDR)は、二重ア ドレス・サイクル中に使用されるアドレスの上位32ビットを定義する。これに よって、二次アウトバウンドATUは、64ビット・ホスト・アドレス空間内の 任意の場所を直接アドレス指定することができる。 一次アウトバウンド構成サイクル・アドレス・レジスタ−POCCAR 一次アウトバウンド構成サイクル・アドレス・レジスタは、32ビットPCI 構成サイクル・アドレスを保持するために使用される。ローカル・プロセッサは 、 一次アウトバウンド構成読取りまたは一次アウトバウンド構成書込みをイネーブ ルするPCI構成サイクル・アドレスを書き込む。ローカル・プロセッサは次い で、一次アウトバウンド構成サイクル・データ・レジスタへの読取りまたは書込 みを実行し、一次PCIバス上で構成サイクルを開始する。 二次アウトバウンド構成サイクル・アドレス・レジスタ−SOCCAR 二次アウトバウンド構成サイクル・アドレス・レジスタは、32ビットPCI 構成サイクル・アドレスを保持するために使用される。ローカル・プロセッサは 、二次アウトバウンド構成読取りまたは二次アウトバウンド構成書込みをイネー ブルするPCI構成サイクル・アドレスを書き込む。ローカル・プロセッサは次 いで、二次アウトバウンド構成サイクル・データ・レジスタへの読取りまたは書 込みを実行し、二次PCIバス上で構成サイクルを開始する。 一次アウトバウンド構成サイクル・データ・レジスタ−POCCDR 一次アウトバウンド構成サイクル・データ・レジスタは、一次PCIバス上で 構成読取りまたは構成書込みを開始するために使用される。このレジスタは物理 的なものではなく論理的なものであり、すなわちレジスタではなくアドレスであ る。ローカル・プロセッサはデータ・レジスタ・メモリ・マップ・アドレスを読 み取りあるいは書き込み、POCCARに存在するアドレスを用いてPCIバス 上で構成サイクルを開始する。構成書込みの場合、データはローカル・バスから ラッチされ、直接ATU ODQへ転送される。読取りの場合、データはATU IDQから直接ローカル・プロセッサに返され、実際にこのデータ・レジスタ (物理的には存在しない)に入力されることはない。 POCCDRはローカル・プロセッサ・アドレス空間から有用であるに過ぎず 、ATU構成空間内の予約値として現れる。 二次アウトバウンド構成サイクル・データ・レジスタ−SOCCDR 二次アウトバウンド構成サイクル・データ・レジスタは、二次PCIバス上で 構成読取りまたは構成書込みを開始するために使用される。このレジスタは物理 的なものではなく論理的なものであり、すなわちレジスタではなくアドレスであ る。ローカル・プロセッサはデータ・レジスタ・メモリ・マップ・アドレスを読 み取りあるいは書き込み、SOCCARに存在するアドレスを用いてPCIバス 上で構成サイクルを開始する。構成書込みの場合、データはローカル・バスから ラッチされ、直接ATU ODQへ転送される。読取りの場合、データはATU IDQから直接ローカル・プロセッサに返され、実際にこのデータ・レジスタ (物理的には存在しない)に入力されることはない。 SOCCDRはローカル・プロセッサ・アドレス空間から有用であるに過ぎず 、ATU構成空間内の予約値として現れる。メッセージ装置 下記に、P2Pプロセッサのメッセージ装置について説明する。メッセージ装 置は、前述の一次アドレス変換装置(PATU)に密に関係するものである。 概要 メッセージ装置は、PCIシステムとローカル・プロセッサとの間でデータを 転送し、割込みを通じて、新しいデータが到着したことをそれぞれのシステムに 知らせる機構を備える。メッセージ装置を使用してメッセージを送受信すること ができる。 メッセージ装置は、5つの異なるメッセージ機構を有する。各メッセージ機構 によって、ホスト・プロセッサまたは外部PCIエージェントとP2Pプロセッ サは、メッセージ転送および割込み生成を通じて通信することができる。5つの 機構とは、 ・メッセージ・レジスタ ・ドアベル・レジスタ ・循環待ち行列 ・インデックス・レジスタ ・APICレジスタ メッセージ・レジスタにより、P2Pプロセッサと外部PCIエージェントは 、4つの32ビット・メッセージ・レジスタのうちの1つのレジスタ内のメッセ ージを転送することによって通信することができる。この場合、メッセージは任 意の32ビット・データ値である。メッセージ・レジスタはメールボックス・レ ジスタの態様とドアベル・レジスタの態様を組み合わせる。メッセージ・レジス タへの書込みによって、任意選択で割込みを行うことができる。 ドアベル・レジスタによって、P2PプロセッサはPCI割込み信号をアサー トすることができ、外部PCIエージェントはローカル・プロセッサへの割込み を生成することができる。 循環待ち行列は、4つの循環待ち行列を使用するメッセージ転送方式をサポー トする。 インデックス・レジスタは、P2Pプロセッサ・ローカル・メモリの一部を使 用して大規模な1組のメッセージ・レジスタを実施するメッセージ転送方式をサ ポートする。 APICレジスタは、APICレジスタにアクセスするための外部PCIイン タフェースを与えることによってAPICバス・インタフェース装置をサポート する。 動作理論 メッセージ装置は5つの固有のメッセージ機構を有する。 メッセージ・レジスタは、メールボックス・レジスタとドアベル・レジスタを 組み合わせたものに類似している。 ドアベル・レジスタはハードウェア割込みとソフトウェア割込みの両方をサポ ートする。 ドアベル・レジスタは下記の2つの目的を有する。 ・割込みが書き込まれたときにそれを生成する。 ・他のメッセージ装置機構によって生成された割込みの状況を保持する。 メッセージ装置は、一次アドレス変換装置(PATU)内の一次インバウンド 変換ウィンドウの最初の4Kバイトを使用する。一次インバウンド変換ウィンド ウのアドレスは一次インバウンドATUベース・アドレス・レジスタに含まれる 。 表8は、メッセージ装置で使用されるメッセージ機構の要約である。 メッセージ・レジスタ メッセージは、メッセージ・レジスタを使用することによりP2Pプロセッサ によって送受信することができる。メッセージ・レジスタは、書込みを受けると 、ローカル・プロセッサとPCI割込み信号のどちらかに対する割込みを生成さ せることができる。インバウンド・メッセージはホスト・プロセッサによって送 信され、P2Pプロセッサによって受信される。アウトバウンド・メッセージは P2Pプロセッサによって送信され、ホスト・プロセッサによって受信される。 アウトバウンド・メッセージの割込み状況はアウトバウンド・ドアベル・レジ スタに記憶される。インバウンド・メッセージの割込み状況はインバウンド・ド アベル・レジスタに記憶される。 アウトバウンド・メッセージ ローカル・プロセッサによってアウトバウンド・ドアベル・レジスタに対する 書込みが行われたときに、P_INTA#割込み線、P_INTB#割込み線、 P_INTC#割込み線、P_INTD#割込み線のうちのどれかで割込みを生 成することができる。どの割込み線を使用するかは、ATU割込みピン・レジス タの値によって決定される。 PCI割込みはアウトバウンド・ドアベル・レジスタに記録される。この割込 みのために、アウトバウンド・ドアベル・レジスタ内のアウトバウンド・メッセ ージ・ビットがセットされる。これは読取り/クリア・ビットであり、メッセー ジ装置ハードウェアによってセットされソフトウェアによってクリアされる。 この割込みは、外部PCIエージェントがアウトバウンド・ドアベル・レジス タ内のアウトバウンド・メッセージ・ビットに値1を書き込みこのビットをクリ アしたときにクリアされる。 インバウンド・メッセージ 外部PCIエージェントによってインバウンド・メッセージ・レジスタに対す る書込みが行われたときに、ローカル・プロセッサへの割込みを生成することが できる。割込みは、インバウンド・ドアベル・マスク・レジスタ内のマスク・ビ ットによってマスクすることができる。 ローカル・プロセッサ割込みはアウトバウンド・ドアベル・レジスタに記録さ れる。この割込みのために、インバウンド・ドアベル・レジスタ内のインバウン ド・メッセージ・ビットがセットされる。これは読取り/クリア・ビットであり 、メッセージ装置ハードウェアによってセットされソフトウェアによってクリア される。 この割込みは、ローカル・プロセッサがインバウンド・ドアベル・レジスタ内 のインバウンド・メッセージ・ビットに値1を書き込んだときにクリアされる。 ドアベル・レジスタ インバウンド・ドアベル・レジスタとアウトバウンド・ドアベル・レジスタの 2つのドアベル・レジスタがある。インバウンド・ドアベル・レジスタによって 、外部PCIエージェントはローカル・プロセッサへの割込みを生成することが できる。アウトバウンド・ドアベル・レジスタによって、ローカル・プロセッサ はPCI割込みを生成することができる。2つのドアベル・レジスタは共に、ハ ードウェア生成割込みとソフトウェア生成割込みの組合せを保持する。これらの レジスタは他のメッセージ装置機構からの割込み状況を含み、また、ソフトウェ アが割込みが行われるように個別のビットをセットすることができるようにする 。 アウトバウンド・ドアベル ローカル・プロセッサによってアウトバウンド・ドアベル・レジスタに対する 書込みが行われたときに、P_INTA#割込みピン、P_INTB#割込みピ ン、P_INTC#割込みピン、P_INTD#割込みピンのうちのどれかで割 込みを生成することができる。ドアベル・レジスタ内の任意のビットに値1が書 き込まれた場合に割込みが生成される。どのビットに値0を書き込んでも、その ビットの値は変更されず、また、割込みが生成されることはない。アウトバウン ド・ドアベル・レジスタ内のビットがセットされた後、ローカル・プロセッサに よってそのビットをクリアすることはできない。 どのPCI割込みピンを使用するかは、ATU割込みピン・レジスタの値によ って決定される。 割込みは、アウトバウンド・ドアベル・マスク・レジスタ内のマスク・ビット によってマスクすることができる。特定のビットに対するマスク・ビットをセッ トした場合、そのビットに対する割込みは生成されない。アウトバウンド・ドア ベル・マスク・レジスタが影響を与えるのは割込みの生成だけであり、アウトバ ウンド・ドアベル・レジスタに書き込まれる値は影響を受けない。 割込みは、外部PCIエージェントが、セットされているアウトバウンド・ド アベル・レジスタ内のビットに値1を書き込んだときにクリアされる。どのビッ トに値0を書き込んでもそのビットの値は変化せず、また、割込みがクリアされ ることもない。 簡単に言えば、ローカル・プロセッサはアウトバウンド・ドアベル・レジスタ 内のビットをセットすることによって割込みを生成し、外部PCIエージェント は、やはり同じレジスタ内のビットをセットすることによって割込みをクリアす る。 インバウンド・ドアベル 外部PCIエージェントによってインバウンド・ドアベル・レジスタに対する 書込みが行われたときに、ローカル・プロセッサへの割込みが生成される。ドア ベル・レジスタ内の任意のビットに値1が書き込まれた場合に割込みが生成され る。どのビットに値0を書き込んでも、そのビットの値は変更されず、また、割 込みが生成されることはない。インバウンド・ドアベル・レジスタ内のビットが セットされた後、外部PCIエージェントによってそのビットをクリアすること はできない。 割込みは、インバウンド・ドアベル・マスク・レジスタ内のマスク・ビットに よってマスクすることができる。特定のビットに対するマスク・ビットをセット した場合、そのビットに対する割込みは生成されない。ドアベル・マスク・レジ スタが影響を与えるのは割込みの生成だけであり、インバウンド・ドアベル・レ ジスタに書き込まれる値は影響を受けない。 インバウンド・ドアベル・レジスタ内の1ビットはNMI割込み用に予約され る。この割込みをインバウンド・ドアベル・マスク・レジスタによってマスクす ることはできない。 割込みは、ローカル・プロセッサが、セットされているインバウンド・ドアベ ル・レジスタ内のビットに値1を書き込んだときにクリアされる。どのビットに 値0を書き込んでもそのビットの値は変化せず、また、割込みがクリアされるこ ともない。 循環待ち行列 メッセージ装置は4つの循環待ち行列を実施する。2つのインバウンド待ち行 列と2つのアウトバウンド待ち行列がある。この場合、インバウンドおよびアウ トバウンドはメッセージの流れの方向を指す。インバウンド・メッセージは、ロ ーカル・プロセッサが処理できるように他のプロセッサによってポストされた新 しいメッセージであり、あるいは他のプロセッサによって再使用できる空のメッ セージである。アウトバウンド・メッセージは、他のプロセッサが処理できるよ うにローカル・プロセッサによってポストされたポスト済みメッセージであり、 あるいはローカル・プロセッサによって再使用できる空のメッセージである。 4つの循環待ち行列はメッセージを下記のように転送するために使用される。 2つのインバウンド待ち行列はインバウンド・メッセージを処理するために使用 され、アウトバウンド待ち行列はアウトバウンド・メッセージを処理するために 使用される。一方のインバウンド待ち行列は空き待ち行列として指定され、イン バウンド空きメッセージを含む。他方のインバウンド待ち行列はポスト行列とし て指定され、インバウンド・ポスト済みメッセージを含む。同様に、一方のアウ トバウンド待ち行列は空き待ち行列として指定され、他方のインバウンド待ち行 列はポスト行列として指定される。二次PCIバス調停装置 下記に、二次PCIバス調停装置53について説明する。調停の動作モード、 セットアップ、処理系について後述する。 概要 PCIローカル・バスは、システム環境内のあらゆる個別のPCIバス用の中 央調停源を必要とする。PCIは従来型のタイム・スロット手法ではなく、アク セス・ベースの調停の概念を使用する。PCIバス上の各装置は、バス・マスタ として機能し、アクセスのためにバスを必要とするたびに、バスの調停を行う。 PCI調停では、簡単なREQ#・GNT#ハンドシェーク・プロトコルが使 用される。装置は、バスを必要とするとき、そのREQ#出力をアサートする。 調停装置53は、要求側エージェントのGNT#入力をアサートすることによっ て、そのエージェントがバスにアクセスできるようにする。PCI調停は「隠蔽 」調停方式であり、その場合、他の何らかのバス・マスタがバスを制御している 間、バックグラウンドで調停シーケンスが行われる。これは、バス調停のオーバ ヘッドのためにPCI帯域幅が消費されることがないという利点を有する。PC Iアービタに課される唯一の要件は、公正な調停アルゴリズムを実施しなければ ならないことである。選択した調停アルゴリズムでは、任意のある時間に個別の PCIバス上で1つのGNT#のみがアクティブでなければならない。 動作理論 二次バス・アービタ53は最大で6つの二次バス・マスタと、二次バス・イン タフェース自体をサポートする。各要求は、3つの有するレベルのうちの1つに プログラムすることも、あるいはディスエーブルすることもできる。メモリ・マ ップ制御レジスタは、アプリケーション・ソフトウェアによってプログラムされ 、各バス・マスタごとに優先順位を設定する。各優先順位はラウンドロビン式に 処理される。ラウンドロビンは、あらゆる装置がバスのマスタとしての順番を有 する機構として定義される。シーケンスは循環的に移動する。次の可能なバス・ マスタは現バス・マスタの直前にあり、前のバス・マスタは現バス・マスタのす ぐ後ろにある。 ラウンドロビン調停方式は、3つのラウンドロビン調停レベルをサポートする 。3つのレベルは低優先順位、中優先順位、高優先順位を定義する。ラウンドロ ビン機構を使用した場合、各優先順位ごとに勝者が存在する。公正の概念を実施 するために、1つ低い優先順位において各優先順位レベル(最高優先順位レベル を除く)の勝者ごとにスロットが予約される。その特定の調停シーケンス中にあ る優先順位レベルの勝者にバスが与えられない場合、その勝者は次に高い優先順 位レベルにプロモートされる。その勝者は、バスを得た後、事前にプログラムさ れた優先順位に戻る。このアルゴリズムは、このスロットを予約することによっ て、低優先順位要求を、優先順位機構を通じて、最高優先順位装置であり次のオ ープニングにおいてバスが与えられる点にプロモートすることによって、公正さ を確保する。 アービタは、REQ#−GNT#プロトコルを通じてバス上のすべての要求側 エージェントとのインタフェースをとる。バス・マスタは、そのREQ#出力を アサートし、そのGNT#入力がアサートされるのを待つ。エージェントには、 前のバス所有者がまだ制御を有している間にバスを与えることができる。アービ タは、次にどのPCI装置にバスを割り当てるかを決定することにのみ責任を負 う。個別の各PCI装置は、バスがいつ実際に解放されバス・アクセスを開始で きるようになるかを決定することに責任を負う。 二次バス・アービタ53は、カスタム調停アルゴリズムを実施できるようにプ ログラミング・インタフェースを通じてディスエーブルすることができる。ディ スエーブルすると、1組のREQ#−GNT#信号がP2P二次PCIインタフ ェース用の調停信号として働く。 優先順位機構 優先順位機構は、BIOSコードとアプリケーション・ソフトウェアのどちら かによってプログラムすることができる。個別のバス・マスタの優先順位によっ て、装置がラウンドロビン方式のどのレベルに置かれるかが決定される。この優 先順位によって、装置の開始優先順位または最低優先順位が決定される。アプリ ケーションが装置を低優先順位にプログラムした場合、その装置は、ローカル・ バスを得るまで、中優先順位までプロモートし、次いで高優先順位にプロモート することができる。装置は、ローカル・バスを得た後、プログラムされた優先順 位にリセットされ、調停を再開することができる。適切な二次PCIバス調停装 置を実施するのに必要な他の詳細は、本発明の当業者の能力の範囲内であるはず である。DMAコントローラ 下記に、本発明で使用される統合直接メモリ・アクセス(DMA)コントロー ラについて説明する。DMAコントローラの動作モード、セットアップ、外部イ ンタフェース、実施について下記に説明する。 概要 DMAコントローラは、短待ち時間で高スループットのデータ転送機能を備え る。DMAコントローラはPCIバスとローカル・プロセッサ・メモリとの間の データ・ブロック転送を最適化する。DMAは、33MHzで132Mバイトの 最大スループットをもたらすPCIバースト機能を備えるPCIバス上の開始側 である。 DMAコントローラ・ハードウェアは、データ転送を実行しプログラミング・ インタフェースをとる責任を負う。DMAコントローラは下記の特徴を有する。 ・3つの独立のチャネル ・P2Pメモリ・コントローラ・インタフェースの使用 ・ローカル・プロセッサ・インタフェース上の232アドレス指定範囲 ・PCI二重アドレス・サイクルDACを使用することによる一次PCIイン タフェースおよび二次PCIインタフェース上の264アドレス指定範囲 ・一次PCIバスおよび二次PCIバスとの独立のPCIインタフェース ・PCIバスとローカル・プロセッサ・ローカル・バスの両方の非整列データ 転送に対するハードウェア・サポート ・PCIバスとP2Pローカル・バスの両方に対する全132Mバイト/秒バ ースト・サポート ・PCIバスとの間の直接アドレス指定 ・ローカル・プロセッサからの完全なプログラム可能性 ・データ・ブロックを収集し散乱するための自動データ連鎖に対するサポート ・DMAチャネル0上の外部装置に対するデマンド・モード・サポート 第7図は、DMAチャネルとPCIバスの接続を示す。 動作理論 DMAコントローラ51aおよび51bは、高スループットPCIメモリ間転 送の3つのチャネルを備える。チャネル0および1は一次PCIバスとローカル ・プロセッサ・ローカル・メモリとの間でデータ・ブロックを転送する。チャネ ル2は二次PCIバスとローカル・プロセッサ・ローカル・メモリとの間でデー タ・ブロックを転送する。チャネル0を除いてすべてのチャネルが同じである。 チャネル0はデマンド・モード転送に対する追加サポートを有する。各チャネル は、PCIバス・インタフェースとローカル・プロセッサ・ローカル・バス・イ ンタフェースとを有する。 各DMAチャネルは、PCIバスとローカル・プロセッサ・ローカル・バスの 両方に直接アドレス指定を使用する。各DMAチャネルは、PCIバスの全64 ビット・アドレス範囲との間のデータ転送をサポートする。これにはPCI D ACコマンドを使用した64ビット・アドレス指定が含まれる。チャネルは、6 4ビット・アドレス用の上位32アドレス・ビットを含む特殊レジスタを備える 。DMAチャネルは、32ビット・アドレス境界を交差するデータ転送をサポー トしない。 本発明で使用される適切なDMA機構を実施するのに必要な他の詳細は、本発 明の当業者の能力の範囲内である。メモリ・コントローラ 下記に、本発明で使用される統合メモリ・コントローラ47について説明する 。メモリ・コントローラの動作モード、セットアップ、外部インタフェース、実 施について下記に説明する。 概要 P2Pプロセッサはメイン・メモリ・コントローラ47を統合し、P2Pプロ セッサとメモリ・システム33との間の直接インタフェースをとる。メモリ・コ ントローラは下記のものをサポートする。 ・最大256Mバイトの32ビットDRAMまたは36ビット(32ビット・ メモリ・データと4パリティ・ビット)DRAM ・インタリーブDRAMまたは非インタリーブDRAM ・高速ページ・モード(FPM)DRAM ・拡張データ出力(FDO)DRAM ・バースト拡張データ出力(BEDO)DRAM ・SRAM/ROM用の2つの独立のメモリ・バンク ・最大16Mバイトの(1バンク当たり)8ビットSRAM/ROMまたは3 2ビットSRAM/ROM メモリ・コントローラはDRAMアレイに対する行アドレス・ストローブ(R AS#)信号、列アドレス・ストローブ(CAS#)信号、書込みイネーブル( WE#)信号、12ビット多重化アドレス(MA[11:0])信号を生成する 。インタリーブDRAMの場合、アドレスおよびデータをラッチするためにDR AMアドレス・ラッチ・イネーブル(DALE#)信号およびLEAF#信号が 与えられる。 メモリ・コントローラは、SRAMまたはROMまたはフラッシュ・メモリの 2つのバンクをサポートする。各バンクは64Kバイトないし16Mバイトのメ モリをサポートする。各バンクは8ビット幅メモリまたは32ビット幅メモリ向 けに独立に構成される。メモリ・コントローラによって、SRAM/ROMに対 するチップ・イネーブル(CE#)信号、メモリ書込みイネーブル(MWE#) 信号、増分バースト・アドレス信号が与えられる。 P2Pプロセッサに統合されたメモリ・コントローラの概要を第8図に与える 。 動作理論 メモリ・コントローラ47は最適には、ローカル・バス・マスタのバースト・ アクセス・プロトコルを、アドレス指定中のメモリによってサポートされるアク セス・プロトコルに変換する。アドレス・デコード101は、内部アドレス/デ ータ・バス41上で与えられたローカル・バス・アドレスを復号し、メモリ・コ ントローラに接続されたメモリ・アレイ33への適切なアドレス信号および制御 信号を生成する。ローカル・バス・マスタによって生成されるバースト・アクセ スは第1のアドレスを与える。メモリ・コントローラは、MA[11:0]ピン 上でメモリ・アレイに与えられる増分アドレスを与える。このアドレスはBLA ST#信号をアサートすることによって示されるローカル・バス・マスタによっ てサイクルが完了し、あるいは(DRAM読取りサイクルに関する)ローカル・ バス・パリティ・エラーが生じるまで増分される。単一のデータ転送サイクルの 最大バースト・サイズは2Kバイトである。ローカル・バス・マスタは、増分す るバースト・カウンタを追跡し、2Kバイト・アドレス境界に達したときにデー タ転送を終了する責任を負う。 MA[11:0]バス信号103上で与えられるアドレスは、アドレス指定さ れるメモリ・バンクのタイプに依存する。DRAMの場合、MA[11:0]信 号は多重化行アドレスおよび多重化列アドレスを与える。列アドレスが最も近い 2Kバイト境界に増分される。SRAMメモリ・バンクとFLASH/ROMメ モリ・バンクの両方では、MA[11:0]バス信号は、アドレス・フェーズ中 にAD[13:2]信号上で与えられるアドレスに基づくものとなる。バースト ・データの場合、バースト・カウンタ105はアドレスを最も近い2Kバイト境 界に増分する。 メモリ・コントローラは、メモリ・アレイに接続された信号を制御するために メモリ・コントローラ・レジスタ107内にプログラムされた待機状態の数を生 成する。また、WAIT#信号は、ローカル・バス・マスタを与え(ローカル・ プロセッサを除く)、待機状態生成装置109による追加待機状態がメモリ・ア クセス時に必要とされることを示す。 DRAMアレイに対してバイト幅データ・パリティ生成・検査装置111をイ ネーブルすることができる。パリティ検査によって、パリティ・エラーの検出時 にメモリ障害エラー信号が与えられる。障害のあるワード・アドレスはレジスタ に取り込まれる。 メモリ・コントローラは、外部RDYRCV#信号を返さないアドレス範囲を 検出するバス・モニタ113を備える。この機構は、不定アドレス範囲へのアク セスを検出するように設計される。待機状態生成装置は、エラーの検出時に、内 部LRDYRCV#を生成してバス・アクセスを完了し、任意選択でバス障害信 号を生成する。 本発明と共に使用するのに適したメモリ・コントローラを実施するのに必要な 他の詳細は、本発明の当業者には明らかなはずである。PCI周辺割込みコントローラ 次に、P2Pプロセッサ割込みコントローラ・サポートについて説明する。割 込みの動作モード、セットアップ、外部メモリ・インタフェース、実施について 下記に説明する。 概要 PCI周辺割込みコントローラ(PPIC)67は、ローカル・プロセッサと PCIバスの両方への割込みを生成する能力を備える。P2Pプロセッサは、ロ ーカル・プロセッサへの割込みを生成できるいくつかの周辺装置を含む。これら の装置には、 ・DMAチャネル0と、 ・一次ATUと、 ・DMAチャネル1と、 ・二次ATUと、 ・DMAチャネル2と ・I2Cバス・インタフェース装置と、 ・ブリッジ一次インタフェースと、 ・APICバス・インタフェース装置と、 ・ブリッジ二次インタフェースと、 ・メッセージ装置とが含まれる。 内部装置だけでなく外部装置もローカル・プロセッサへの割込みを生成する。 外部装置はXINT7:0#ピンおよびNMI#ピンを介して割込みを生成する 。 PCI/周辺装置割込みコントローラはPCI割込みを転送する能力を備える 。経路指定ロジックにより、ソフトウェアの制御下で、外部二次PCI割込みを インタセプトし、一次PCI割込みピンへ転送する能力がイネーブルされる。 i960 Jx Microprocessor User’s Manua lはさらに、ローカル・プロセッサ割込み機構および割込み優先順位機構につい て説明している。このユーザ・マニュアルでは、ローカル・プロセッサ割込みコ ントローラの様々な動作モードについても詳しく説明している。 動作理論 PCI/周辺装置割込みコントローラは、 ・内部周辺装置割込み制御と ・PCI割込み経路指定の2つの機能を有する。 周辺装置割込み制御機構は、所与の周辺装置に対するいくつかの割込み源を、 ローカル・プロセッサにドライブされる単一の割込みとして統合する。実行中の ソフトウェアに割込み源の知識を与えるために、割込み源を記述するメモリ・マ ップ状況レジスタがある。すべての周辺装置割込みは、それぞれの周辺装置制御 レジスタから個別にイネーブルされる。 PCI割込み経路指定機構によって、ホスト・ソフトウェア(またはローカル ・プロセッサ・ソフトウェア)はPCI割込みをローカル・プロセッサまたはP_ INTA#出力ピン、P_INTB#出力ピン、P_INTC#出力ピン、P_ INTD#出力ピンに経路指定することができる。この経路指定機構は、一次 PCIブリッジ構成空間またはP2Pプロセッサ・ローカル・バスからアクセス できるメモリ・マップ・レジスタを通じて制御される。 ローカル・プロセッサ割込み ローカル・プロセッサ上の割込みコントローラは、外部割込み要求を検出する ために8本の外部割込みピンと1本のマスク不能割込みピンとを有する。8本の 外部ピンは、専用モード、拡張モード、混合モードの3つのモードのうちの1つ 向けに構成することができる。専用モードでは、ピンを個別に割込みベクトルに マップすることができる。拡張モードでは、ピンを、割込みベクトルを表すこと のできるビット・フィールドとして解釈することができる。このモードでは、割 込みピンを用いて最大で240個のベクトルを直接要求することができる。混合 モードでは、5本のピンは、拡張モードで動作し、32個の異なる割込みを要求 することができ、3本のピンは専用モードで動作する。 ローカル・プロセッサの9本の割込みピンは下記の定義およびプログラミング ・オプションを有する。 XINT7:0# 外部割込み(入力)−これらのピンによって割込みが要求 される。ピンは、専用、拡張、混合の3つのモードを構成することができるソフ トウェアである。各ピンは、エッジ検出入力またはレベル検出入力としてプログ ラムすることができる。また、3本のピンに対するデバウンシング・モードをプ ログラムの制御下で選択することができる。 NMI#マスク不能割込み(入力)−マスク不能割込み事象を生じさせる。N MIは、認識される最高優先順位割込みである。NMI#ピンはエッジ活動化入 力である。NMI#に対するデバウンシング・モードをプログラムの制御下で選 択することができる。このピンは内部同期する。 P2Pプロセッサを正しく動作させるには、ローカル・プロセッサ外部割込み ピンを直接モード動作専用、レベル対応割込み、高速サンプリング・モード向け にプログラムしなければならない。これは、ローカル・プロセッサ・メモリ・マ ップ・レジスタ空間内の割込み制御レジスタ(ICON)を通じて行われる。i 960 Jx Microprocessor User’s Manualに は、ローカル・プロセッサ割込みコントローラのプログラミングに関する詳細が 記載されている。 P2P割込み機構の使用は、ローカル・プロセッサ割込みコントローラの構成 とPCI割込み経路指定選択レジスタ内のXINT選択ビットに依存する。表9 に、ローカル・プロセッサ割込みコントローラによってイネーブルされる動作モ ードおよび機能が記載され、表10にXINT選択ビットの使用法が記載されて いる。 動作ブロック PCI/周辺装置割込みコントローラはローカル・プロセッサに接続すること ができる。このような接続を図9に示す。 PCI割込み経路指定 MUX121によって、4つのPCI割込み入力をローカル・プロセッサ割込 み入力とPCI割込み出力ピンのどちらかに経路指定することができる。割込み 入力の経路指定は、表10に示したようにPCI割込み経路指定選択レジスタ内 のXINT選択ビットによって制御される。 前述のように、ローカル・プロセッサのXINT0#ないしXINT3#は、 PCI割込みを受け付けるためにレベルに対応するようにプログラムしなければ ならない。また、ローカル・プロセッサ入力の外部のロジックは、XINT選択 ビットがセットされたときにイナクティブ・レベル(「1」)をドライブしなけ ればならない。 内部周辺装置割込み経路指定 ローカル・プロセッサ上のXINT6#割込み入力、XINT7#割込み入力 、NMI#割込み入力は、複数の内部割込み源から入力を受信する。これらの3 つの入力のそれぞれの前に、それぞれの異なる割込み源の必要な多重化を行う1 つの内部ラッチがある。アプリケーション・ソフトウェアは、対応する割込みラ ッチを読み取ることによって、どの周辺装置が割込みを行ったかを判定すること ができる。割込みの厳密な原因に関する詳細は、周辺装置から状況を読み取るこ とによって決定することができる。 ローカル・プロセッサのXINT6#割込み入力は外部ピンおよび3つのDM Aチャネルから割込みを受信する。各DMAチャネル割込み入力ピンはDMA転 送割込みの終わりまたはDMA連鎖割込みの終わりのためのものである。XIN T6割込みラッチ123はDMAチャネルと外部XINT6#ピンからの割込み 入力を受け付ける。これらの割込み源のいずれかからの有効な割込みはラッチ内 のビットをセットし、ローカル・プロセッサXINT6#入力にレベル対応割込 みを出力する。割込みラッチは、プロセッサ割込み入力へのアクティブ・ロー入 力がラッチ内に存在するかぎり、引き続きそれをドライブすべきである。XIN T6割込みラッチはXINT6割込み状況レジスタを通じて読み取られる。XI NT6割込みラッチは、内部周辺装置にある割込み源をクリアすることによって クリアされる。 XINT6割込みラッチへの入力をドライブする装置割込み源は表11に詳し く記載されている。 ローカル・プロセッサ上のXINT7#割込み入力ピンは外部ピン、APIC バス・インタフェース装置、I2Cバス・インタフェース装置、一次ATU、メ ッセージ装置から割込みを受信する。XINT7割込みラッチ125は上記の4 つの装置のそれぞれならびに外部XINT7#ピンからの1つの割込み入力を受 け付ける。これらの割込み源のいずれかからの有効な割込みはラッチ内のビット をセットし、ローカル・プロセッサXINT7#入力にレベル対応割込みを出力 する。割込みラッチは、プロセッサ割込み入力へのアクティブ・ロー入力がラッ チ内に存在するかぎり、引き続きそれをドライブすべきである。XINT7割込 みラッチはXINT7割込み状況レジスタを通じて読み取られる。XINT7割 込みラッチは、内部周辺装置にある割込み源をクリアすることによってクリアさ れる。 XINT7割込みラッチへの入力をドライブする装置割込み源は表12に詳し く記載されている。 ローカル・プロセッサ上のマスク不能割込み(NMI)入力ピンは、外部ピン 、一次ATUおよび二次ATU、一次ブリッジ・インタフェースおよび二次ブリ ッジ・インタフェース、ローカル・プロセッサ、3つのDMAチャネルのそれぞ れから割込みを受信する。この8つの割込みのそれぞれは、周辺装置内のエラー 状態を表す。NMI割込みラッチ127は上記の8つの割込み源のそれぞれおよ び外部NMI#ピンからの割込み入力のうちの1つを受け付ける。これらの割込 み源のいずれかからの有効な割込みは、ラッチ内のビットをセットし、エッジ・ トリガ割込みをローカル・プロセッサNMI#入力に出力する。NMI割込みラ ッチはNMI割込み状況レジスタを通じて読み取られる。NMI割込みラッチは 、 内部周辺装置にある割込み源をクリアすることによってクリアされる。 入力をNMI割込みラッチにドライブする装置割込み源は表13に記載されて いる。 PCI割込み経路指定選択レジスタ、XINT6割込み状況レジスタ、XIN T7割込み状況レジスタ、NMI割込み状況レジスタについて下記に説明する。 P2Pプロセッサ外部割込みインタフェース P2Pプロセッサの外部割込み入力インタフェースは下記のピンからなる。 PCIアウトバウンド・ドアベル割込み P2Pプロセッサは、一次PCI割込みピンのいずれかの上で割込みを生成す る機能を有する。これは、一次ATU内のドアベル・ポート・レジスタ内のビッ トをセットすることによって行われる。ビット0ないし3はそれぞれ、P_IN TA#ないしP_INTD#に対応する。レジスタ内のビットをセットすると、 対応するPCI割込みが生成される。 レジスタの定義 PCI/周辺装置割込みコントローラには、 ・PCI割込み経路指定選択レジスタ ・XINT6割込み状況レジスタ ・XINT7割込み状況レジスタ ・NMI割込み状況レジスタの4つの制御レジスタおよび状況レジスタがある 。 各レジスタは32ビット・レジスタであり、ローカル・プロセッサ・メモリ空 間にメモリ・マップされる。 すべてのレジスタはP2Pメモリ・マップ・レジスタとみなすことができ、内 部メモリ・バスを通じてアクセスすることができる。PCI割込み経路指定選択 レジスタには内部メモリ・バスからアクセスすることができ、かつPCI構成レ ジスタ空間を通じてアクセスすることができる(機能#0)。 PCI割込み経路指定選択レジスタ−PIRSR PCI割込み経路指定選択レジスタ(PIRSR)は外部入力ピンの経路指定 を判定する。入力ピンは、一次PCI割込みとローカル・プロセッサ割込みのど ちらかに経路指定される4つの二次PCI割込み入力からなる。PCI割込みピ ンは、「レベル対応」割込みピンとして定義され、ローにアサートされる。割込 みピンのアサートおよびディアサートは、PCIとも、あるいはプロセッサ・ク ロックとも同期しない。 二次PCI割込み入力を一次PCI割込みピンに経路指定する場合、ローカル ・プロセッサXINT3:0#入力をイナクティブにセットしなければならない 。 XINT6割込み状況レジスタ−X6ISR XINT6割込み状況レジスタ(X6ISR)は現在の未処理XINT6割込 みを示す。XINT6割込み源は、XINT6割込みラッチまたは外部XINT 6#入力ピンを通じて接続された内部周辺装置てよい。XINT6#入力上で生 成できる割込みについては、上記で内部周辺装置割込み経路指定に関連して説明 した。 X6ISRは、XINT6#入力上の割込み源を判定しその割込みをクリアす るためにアプリケーション・ソフトウェアによって使用される。このレジスタ内 のすべてのビットは読取り専用ビットとして定義される。このレジスタ内のビッ トは、割込み源(表11に示した状況レジスタ源)がクリアされたときにクリア される。X6ISRはXINT6割込みラッチへの入力の現在の状態を反映する 。 P2P周辺装置の非同期性のために、アプリケーション・ソフトウェアがX6 ISRレジスタを読み取る際に複数の割込みをアクティブにすることができる。 アプリケーション・ソフトウェアはこの複数の割込み状態を適切に処理しなけれ ばならない。また、アプリケーション・ソフトウェアはそれに続いて、X6IS Rレジスタを読み取り、前の割込みに関する割込み処理時に追加割込みが行われ たかどうかを判定することができる。X6ISRレジスタからのすべての割込み はローカル・プロセッサ内では同じ優先順位レベルにある(1960 Jx M icroprocessor User’s Manualに割込み優先順位機 構の設定が記載されている)。 表15はX6ISRの定義の詳細を示す。 XINT7割込み状況レジスタ−X7ISR XINT7割込み状況レジスタ(X7ISR)は現在の未処理XINT7割込 みを示す。XINT7割込み源は、XINT7割込みラッチまたは外部XINT 7#入力ピンを通じて接続された内部周辺装置でよい。 X7ISRは、XINT7#入力上の割込み源を判定し、その割込みをクリア するためにアプリケーション・ソフトウェアによって使用される。このレジスタ 内のすべてのビットは読取り専用ビットとして定義される。このレジスタ内のビ ットは、割込み源(表12に示した状況レジスタ源)がクリアされたときにクリ アされる。X7ISRはXINT7割込みラッチへの入力の現在の状態を反映す る。 P2P周辺装置の非同期性のために、アプリケーション・ソフトウェアがX7 ISRレジスタを読み取る際に複数の割込みをアクティブにすることができる。 アプリケーション・ソフトウェアはこの複数の割込み状態を適切に処理しなけれ ばならない。また、アプリケーション・ソフトウェアはそれに続いて、X7IS Rレジスタを読み取り、前の割込みに関する割込み処理時に追加割込みが行われ たかどうかを判定することができる。X7ISRレジスタからのすべての割込み はローカル・プロセッサ内では同じ優先順位レベルにある。 表16はX7ISRの定義の詳細を示す。 NMI割込み状況レジスタ−NISR NMI割込み状況レジスタ(NISR)は現在の未処理NMI割込みを示す。 NMI割込み源は、NMI割込みラッチまたは外部NMI#入力ピンを通じて接 続された内部周辺装置でよい。 NMI割込み状況レジスタは、NMI#入力上の割込みの割込み源を判定し、 その割込みをクリアするためにアプリケーション・ソフトウェアによって使用さ れる。NISR内のすべてのビットは読取り専用である。このレジスタ内のビッ トは、割込み源(表13に示した状況レジスタ源)がクリアされたときにクリア される。NISRはNMI割込みラッチへの入力の現在の状態を反映する。 P2P周辺装置の非同期性のために、アプリケーション・ソフトウェアがNI SRレジスタを読み取る際に複数の割込みをアクティブにすることができる。ア プリケーション・ソフトウェアはこの複数の割込み状態を適切に処理しなければ ならない。また、アプリケーション・ソフトウェアはそれに続いて、NISRレ ジスタを読み取り、前の割込みに関する割込み処理時に追加割込みが行われたか どうかを判定することができる。NISRレジスタからのすべての割込みはロー カル・プロセッサ内では同じ優先順位レベルにある。 表17は、NMI割込み状況レジスタを読み取るためのビット定義を示す。 内部調停 下記に、P2Pプロセッサの内部調停について説明する。これには、内部ロー カル・バスに関する調停と、プロセッサ内の各PCIインタフェースに関する調 停とが含まれる。調停の動作モード、セットアップ、外部メモリ・インタフェー ス、実働化について下記に説明する。 ローカル・バス調停 P2Pプロセッサには、ローカル・バス所有権を制御する調停機構が必要であ る。ローカル・バスに接続されるバス・マスタは、3つのDMAチャネルと、一 次PCIアドレス変換装置と、二次PCIアドレス変換装置と、ローカル・プロ セッサと、外部バス・マスタとからなる。 ローカル・バス調停装置(LBAU)57は、ローカル・バスの制御を得る機 会をあらゆるバス・マスタに与えるフェアネス・アルゴリズムを実施する。この アルゴリズムは、ラウンドロビン方式と優先順位付け機構と組み合わせる。好ま しい実施形態では、実施時に、アプリケーションが各ローカル・バス・マスタに 独立に優先順位を割り当てられるようにすべきである。 ローカル・バス調停装置は、バス・マスタにローカル・バスを許可する責任を 負う。すべてのバス・マスタは、内部GNT#信号を失った後、自分自身をバス ・マスタとしてローカル・バスから除去するロジックを含む。バス・マスタがロ ーカル・バスを制御する時間の量を制限し、他のバス・マスタがローカル・バス を要求している場合にバス・マスタがいつ所有権を放棄しなければならないかを 示すプログラム可能な12ビット・カウンタがある。 HOLD/HOLDAを制御する外部ロジックを追加することによって外部バ ス・マスタをローカル・バス上で使用することができる。P2Pプロセッサは、 1つの外部バス・マスタがフェアネス・アルゴリズムに参加することを許可する 。ローカル・バス上で複数の外部バス・マスタを使用する場合、すべての外部装 置を1つの装置として扱う(HOLDを検出しHOLDAをドライブする)外部 ロジックが必要である。 ローカル・バス調停装置はローカル・プロセッサ・バックオフ装置を制御する 。この装置は、ローカル・プロセッサがローカル・バスから「バックオフ」でき るようにし、デッドロック状況を防止する。バックオフ状態の間、プロセッサは 待機状態に保持される(L_RDYRCV#イナクティブ)。内部バッファは多 重化アドレス/データ・バスを三状態にし、それによって他のローカル・バス・ マスタ(ATU、DMAなど)がバスを制御できるようにし、したがってインバ ウンド・トランザクションによって使用されている資源をアウトバウンド・トラ ンザクションが必要とする状況を防止する。また、バックオフ装置はすべてのア ウトバウンド・プロセッサ読取り時にローカル・バスの性能を最適化する。 P2Pプロセッサは、ローカル・バス調停装置だけでなく、2つのローカルP CI調停装置も含む。ローカル一次調停装置55aは内部一次PCIバスへのア クセスを制御する。一次PCIバスに関する調停は、一次ATUとDMAチャネ ル0および1とPCI間ブリッジ装置の一次インタフェースとの間で行われる。 ローカル二次調停55b装置は内部二次PCIバスへのアクセスを制御する。二 次PCIバスに関する調停は、二次ATUとDMAチャネル2とPCI間ブリッ ジ装置の二次インタフェースとの間で行われる。2つのローカルPCI調停装置 は共に同様に機能する。調停装置は、複数のバス・マスタがローカル・バスを制 御できるように設計することが好ましい。バス・マスタがローカル・バスを要求 すると、ローカル・バス調停装置はまず、HOLD要求信号をアサートすること によってローカル・プロセッサからローカル・バスの制御を得なければならない 。ローカル・プロセッサは、HOLDA信号をアサートし、プロセッサ信号ピン を三状態モードにすることによって調停ロジックにバスを許可すべきである。調 停 ロジックは次いで、それぞれの内部GNT#信号を返すことによって他のバス・ マスタにローカル・バスを許可すべきである。 内部PCIバス調停 P2Pプロセッサは、装置内の内部PCIバスへのアクセスを制御する2つの 内部調停装置を含む。第10図は、これらの内部調停装置とそれらが制御する資 源の図を示す。 一次内部PCI調停装置は、 ・一次ブリッジ・インタフェース ・一次ATU ・DMAチャネル0 ・DMAチャネル1の各内部装置に関する調停を行う。 二次内部PCI調停装置は、 ・二次ブリッジ・インタフェース ・二次ATU ・DMAチャネル2の各内部装置に関する調停を行う。 各内部PCI調停装置は、バス上の各装置が等しい優先順位を有する固定ラウ ンドロビン調停方式を使用する。 固定ラウンドロビン調停は下記のように解釈される。 ・リセット後、調停のトークンは各内部PCI調停装置内の装置#1に属する 。 ・調停は、装置がアービタに内部REQ#をアサートするあらゆるクロックで 実行される。 ・トークン(すなわち、バス)の次の所有者は現所有者に最も近い装置番号に なる(あるいはバスがアイドル状態の場合は最後の装置番号)。たとえば、装置 #3が現所有者であり装置#4および装置#1がバスを要求している場合、装置 #4がバスを得る。 ・トークンは、アービタが内部バス・マスタへの内部許可信号を活動化したと きに転送される。これはアービタの許可信号である。内部バス・マスタへの実際 の出力はこの場合も、外部GNT#入力を用いてマスクされる。 動作理論 内部PCIバス上の各装置は、PCIバスをマスタ動作に使用することを要求 する。調停は、内部バスに接続された資源が要求(REQ#)を活動化するとき はいつでも行われる。許可は、ラウンドロビン方式で次の資源に与えられる。内 部PCIバスの許可は外部PCIバスの状態と関連付けられている。外部要求ピ ン(P_REQ#またはS_REQ#)の状態は、各内部PCIバス上の要求ピ ンの論理ORを直接反映するものである。 内部PCIバス・マスタは任意のときに内部PCIアービタから内部GNT# を受信することができる(隠蔽調停)。内部バス・マスタはこの場合も、FRA ME#、IRDY#、それらの内部GNT#入力を連続的に監視し、アクセスが 開始される前にバス所有権が維持されるようにする。FRAME#およびIRD Y#はハイでなければならず、許可入力は、マスタがFRAME#をローにドラ イブしてサイクルを開始するクロック・サイクルを定義する立上りクロック・エ ッジ上でローでなければならない。内部PCI調停装置は外部許可信号(P_G NT#およびS_GNT#)を監視し、外部許可信号が真であることにのみ基づ いて内部許可を付与する。 内部PCIアービタは下記の状況の下で内部バス・マスタのGNT#を削除す る。 ・外部許可(P_GNT#およびS_GNT#)信号がイナクティブになった 。 ・内部アービタが内部バス・マスタ内部許可信号を非活動化した。 ・現バス所有者がそのREQ#出力を削除した。各バス・マスタ許可入力は、 外部許可と内部PCIバス調停装置内部からの内部許可とのOR条件とみなすこ とができる。調停装置は、調停方式の勝者に基づいてバス・マスタへの内部許可 を活動化するが、バス・マスタの許可入力にドライブされる実際のGNT#信号 は、内部許可と外部許可入力とのOR条件から導かれる。 内部調停装置は、ある時間に1つの内部GNT#しかアクティブにならないよ うにする責任を負う。内部バス・マスタは、内部GNT#信号を失った後、最終 的にバス所有権を解放しなければならない。内部GNT#信号は、PCIローカ ル・バス仕様(調停信号プロトコル)におけるGNT#信号ディアサートに関す る規則に従う。内部PCIバス調停を実施するのに必要な他の詳細は、本発明の 当業者には明らかなはずである。2Cバス・インタフェース装置 下記に、P2PプロセッサのI2C(集積回路間)バス・インタフェース装置 について説明する。I2Cバス・インタフェース装置の動作モード、セットアッ プ、実施について下記に説明する。 概要 I2Cバス・インタフェース装置61によって、ローカル・プロセッサ34は I2Cバス上に存在するマスタ・スレーブ装置として働くことができる。I2Cバ スは、Philips Corporationによって開発され2つのピン・インタフェースから なるシリアル・バスである。SDAは入出力機能用のデータ・ピンであり、SC LはI2Cバスの参照および制御用のクロック・ピンである。 I2Cバスによって、P2Pプロセッサはシステム管理機能のために他のI2C 周辺装置およびマイクロコントローラとのインタフェースをとることができる。 シリアル・バスが、P2Pサブシステム上の状況情報および信頼性情報を外部装 置に中継するには廉価なシステム用の最小限のハードウェアが必要である。 I2Cバス・インタフェース装置は周辺装置であり、内部P2Pローカル・バ ス上に存在する。データは、バッファ付きインタフェースを介してI2Cバスか ら送受信される。制御情報および状況情報は、1組のローカル・プロセッサ・メ モリ・マップ・レジスタを通じて中継される。I2Cバス仕様にはI2Cバス動作 に関する完全な詳細が含まれる。 動作理論 I2Cバスは、2つのピン・インタフェースのみを使用したバス上のエージェ ント間での情報の転送に関する完全なシリアル・プロトコルを実施する。バス上 の各装置は固有の7ビット・アドレスによって認識され、送信機または受信機と して動作することができる。I2Cバスは、送信機および受信機だけでなく、マ スタ/スレーブ・モードでも機能する。 I2Cバス動作の一例として、バス上のマスタとして働くマイクロコントロー ラのケースを考える。マスタとしてのマイクロコントローラは、スレーブとして EEPROMにアドレスし、書込みデータを受信することができる。マイクロコ ン トローラはマスタ送信機であり、EEPROMはスレーブ受信機である。マイク ロコントローラがデータを読み取りたい場合、マイクロコントローラがマスタ受 信機になり、EEPROMはスレーブ送信機になる。どちらの場合でも、マスタ がトランザクションを開始し終了する。 I2Cバスはマルチマスタ・システムを可能にする。このことは、複数の装置 が同時にデータ転送の開始を試みることができることを意味する。I2Cバスは この状況を処理するために調停手順を定義する。2つ以上のマスタが同時にバス をドライブする場合、第1のマスタが1を生成し、他のマスタが零を生成したと きには第1のマスタが調停の敗者となる。これはSDA I2Cバス線およびS CL I2Cバス線のワイヤードAND演算に依存する。 I2Cバスのシリアル動作ではワイヤードANDバス構造が使用される。これ は、複数の装置がバス線を駆動し、調停、待機状態、エラー状態などの事象を互 いに知らせ合う方法である。たとえば、マスタは、データ転送時にクロック(S CL)線を駆動する際、クロックがハイであるあらゆる瞬間にビットを転送する 。スレーブが、マスタが要求している速度でデータを受け付け、あるいはドライ ブすることができない場合、クロック線をハイ状態間でローに保持し、実際上、 待機状態を挿入することができる。ワイヤードANDは装置の出力段上で実施さ れる。I2Cバス上のデータは最大速度400Kバイト/秒で転送することがで きる。 I2Cトランザクションはマスタとしてのローカル・プロセッサによって開始 され、あるいはスレーブとしてのプロセッサによって受信される。この両方の状 態の結果として、プロセッサはI2Cバスに対して読取りまたは書込み、あるい はその両方を行うことができる。 動作ブロック P2PプロセッサのI2Cバス・インタフェース装置はスレーブ周辺装置であ り、ローカル・バスに接続される。この装置はP2Pプロセッサ割込み機構を使 用して、I2Cバス上に活動が存在することをローカル・プロセッサに知らせる 。第11図は、I2Cバス・インタフェース装置とそのローカル・バスとのイン タフェースのブロック図を示す。 I2Cバス・インタフェース装置は、I2Cバスとの2線インタフェース61と 、ローカル・プロセッサとの間でデータを転送する8ビット・バッファ61aと 、1組の制御レジスタおよび状況レジスタ61bと、パラレル/シリアル変換用 のシフト・レジスタ61cとからなる。 I2C割込みはプロセッサ割込みXINT7#およびXINT7割込み状況レ ジスタ(X7ISR)を通じて通知される。I2Cバス・インタフェース装置は 、バッファ満杯、バッファ空状態、スレーブ・アドレス検出状態、調停喪失状態 、バス・エラー状態のいずれかが生じたときにX7ISRレジスタ内のビットを セットする。すべての割込み状態はローカル・プロセッサによって明示的にクリ アされる。 I2Cデータ・バッファ・レジスタ(IDBR)は8ビット・データ・バッフ ァであり、一方の側のI2Cバスのシフト・レジスタ・インタフェースからバイ ト・データを受信し、他方の側のP2Pプロセッサ・ローカル・バスからパラレ ル・データを受信する。シリアル・シフト・レジスタにユーザからアクセスする ことはできない。APICバス・インタフェース装置 下記に、ローカル・バスと3線APICバスとの間の通信用の機構を備えるA PICバス・インタフェース装置63について説明する。APICバス・インタ フェース装置は下記の2つの基本機能を備える。 ・APICバス上に割込みメッセージを送出し、かつメッセージが送信された ときに任意選択で割り込まれる能力をローカル・プロセッサに与える。その場合 、ローカル・プロセッサは、メッセージ送信の結果として得られる状況を読み取 りエラーがないかどうか検査することができる。 ・APICバスからEOIメッセージを受信し、任意選択でローカル・プロセ ッサに割り込み、EOIベクトルが使用可能であることをローカル・プロセッサ に知らせることもできる。 このインタフェースの動作モード、セットアップ、実施について下記に説明す る。 APICアーキテクチャの概要 APIC割込みアーキテクチャは、すべてのマルチプロセッサ仕様(MPS) 互換システムの割込みアーキテクチャとして指定されている。Intel Corporatio nから資料番号242016−003のMPS Version 1.1が市販されている。 APICアーキテクチャの主要な特徴を下記に示す。 1.APICは90MHz Pentium Processorや100MHz Pentium Proce ssorなどのIntel Architecture CPUのマルチプロセッサ割込み管理を行い、 すべてのプロセッサにわたる静的対称割込み分散と動的対称割込み分散の両方を 行う。 2.動的割込み分散には、割込みの最低優先順位プロセッサへの経路指定が含ま れる。 3.APICは、それぞれ、それ自体の1組の割込みを有することのできる、複 数の入出力サブシステムを含むシステムにおいて動作する。 4.APICはプロセッサ間割込みを行い、任意のプロセッサが、それ自体を含 め任意のプロセッサまたは1組のプロセッサに割り込めるようにする。 5.各APIC割込み入力ピンは、エッジ・トリガとレベル・トリガのどちらか としてソフトウェアによって個別にプログラムすることができる。割込みベクト ル情報および割込みステアリング情報はピンごとに指定することができる。 6.APICは、様々なシステム・アーキテクチャのモデルおよび用途モデルに 整合するようにソフトウェアによって調整できる命名/アドレス指定方式をサポ ートする。 7.APICは、NMI、INIT、システム管理割込み(SMI)に関係する システム全域プロセッサ制御機能をサポートする。 8.APICは8259A PICと共存し、PC互換性を維持する。 9.APICは各割込み入力ピンごとに、プログラム可能な割込み優先順位(ベ クトル)を与える。APICプログラミング・インタフェースは2つの32ビッ ト・メモリ位置からなるので、入出力APIC機能はP2Pプロセッサ内のロー カル・プロセッサによってエミュレートすることができる。 本発明と共に使用するのに適した入出力APICの実施面の具体的な詳細は、 本発明の当業者には明らかであるはずである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),UA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AT,AU ,AZ,BB,BG,BR,BY,CA,CH,CN, CZ,CZ,DE,DE,DK,DK,EE,EE,E S,FI,FI,GB,GE,HU,IL,IS,JP ,KE,KG,KP,KR,KZ,LK,LR,LS, LT,LU,LV,MD,MG,MK,MN,MW,M X,NO,NZ,PL,PT,RO,RU,SD,SE ,SG,SI,SK,SK,TJ,TM,TR,TT, UA,UG,US,UZ,VN (72)発明者 ゴールドシュミット,マーク アメリカ合衆国・85281・アリゾナ州・テ ンプ・ノース カレッジ アヴェニュ・ 925・133番 (72)発明者 エスカンダリ,ニック アメリカ合衆国・85226・アリゾナ州・チ ャンドラー・ノース フィア ストリー ト・1021

Claims (1)

  1. 【特許請求の範囲】 1.第1の外部バスを第2の外部バスに結合する集積回路であって、 a)前記第1の外部バスに結合された第1の内部バスと、 b)前記第2の外部バスに結合された第2の内部バスと、 c)前記第1の内部バスに結合された第1のバス・インタフェースと、前記第 2の内部バスに結合された第2のバス・インタフェースとを有し、前記第1の外 部バスと前記第2の外部バスとの間でトランザクションを転送できるようにする バス・ブリッジと、 d)外部供給源から受信したトランザクションと、前記第1のバス・インタフ ェースおよび前記第2のバス・インタフェースに入力されたトランザクションと を処理するために前記バス・ブリッジ手段に結合されたローカル・プロセッサ手 段と、 e)前記プロセッサ手段と外部メモリとの間でデータを転送するローカル・バ スと を備えることを特徴とする集積回路。 2.さらに、 a)インバウンド・トランザクションの場合は、前記第1の内部バス上のアド レスを前記ローカル・プロセッサ手段によって使用できるアドレスに変換し、ア ウトバウンド・トランザクションの場合は、前記ローカル・バス上のアドレスを 前記第1の外部バスに結合された装置によって使用できるアドレスに変換するよ うになされた、前記ローカル・バスおよび前記第1の内部バスに結合された第1 のアドレス変換回路と、 b)インバウンド・トランザクションの場合は、前記第2の内部バス上のアド レスを前記ローカル・プロセッサ手段によって使用できるアドレスに変換し、ア ウトバウンド・トランザクションの場合は、前記ローカル・バス上のアドレスを 前記第2の外部バスに結合された装置によって使用できるアドレスに変換するよ うになされた、前記ローカル・バスおよび前記第2の内部バスに結合された第2 のアドレス変換回路とを備えることを特徴とする請求項1に記載の集積回路。 3.さらに、 前記第1の内部バス上に新しいデータが置かれたときに、前記ローカル・プロ セッサ手段によって使用できる割込みを生成し、前記ローカル・プロセッサ手段 が、前記第1の外部バスに結合された装置によって使用できるデータを前記ロー カル・バス上に置いたときに、前記第1の内部バスの少なくとも1本の割込み線 上で割込みを生成するようになされた、前記第1のアドレス変換回路に結合され たメッセージ回路を備えることを特徴とする請求項2に記載の集積回路。 4.さらに、 前記第1の内部バスと前記ローカル・メモリとの間でデータ・ブロックを転送 するために前記ローカル・バスと前記第1の内部バスとに結合された第1のDM Aコントローラ手段と、 前記第2の内部バスと前記ローカル・メモリとの間でデータ・ブロックを転送 するために前記ローカル・バスと前記第2の内部バスとに結合された第2のDM Aコントローラ手段とを備えることを特徴とする請求項1に記載の集積回路。 5.さらに、 a)前記第1のバス・インタフェースと前記第1のアドレス変換回路との間で 前記第1の内部バスへのアクセスを制御する第1のバス調停手段と、 b)前記第2のバス・インタフェースと前記第2のアドレス変換回路との間で 前記第2の内部バスへのアクセスを制御する第2のバス調停手段とを備える請求 項2に記載の集積回路。 6.さらに、 前記ローカル・プロセッサと前記第1のアドレス変換回路と前記第2のアドレ ス変換回路との間で前記ローカル・バスへのアクセスを制御するローカル・バス 調停手段を備えることを特徴とする請求項2に記載の集積回路。 7.さらに、 前記ローカル・バス上のデータおよびアドレスを使用して前記外部メモリとの 間の書込みおよび読取りを制御するメモリ・コントローラ手段を備えることを特 徴とする請求項1に記載の集積回路。 8.さらに、 a)複数の割込み源を、前記ローカル・プロセッサ手段に入力される単一の割 込みに経路指定する周辺装置割込みコントローラ手段と、 b)前記複数の割込み源のうちのどれが前記単一の割込みを生じさせたかを定 義する状況レジスタとを備えることを特徴とする請求項1に記載の集積回路。 9.さらに、 a)前記集積回路を使用してシステムの管理に適した外部センサに結合される I2Cバスと、 b)前記ローカル・プロセッサ手段が、前記I2Cバス上に存在するマスタ・ スレーブ装置として働くことができるようにするI2Cインタフェース手段とを 備えることを特徴とする請求項1に記載の集積回路。 10.さらに、 a)外部プロセッサに結合されるAPICバスと、 b)前記外部プロセッサと前記ローカル・プロセッサとの間の通信をイネーブ ルするAPICインタフェース手段とを備えることを特徴とする請求項1に記載 の集積回路。 11.単一の集積回路に、一次PCIバスに結合された少なくとも1つのホス ト・プロセッサと、二次PCIバスに結合された少なくとも1つの周辺装置とを 含むシステムにおいて、 a)前記一次PCIバスに結合された第1の内部バスと、 b)前記二次PCIバスに結合された第2の内部バスと、 c)前記第1の内部バスに結合された第1のバス・インタフェースと、前記第 2の内部バスに結合された第2のバス・インタフェースとを有し、前記一次PC Iバスと前記二次PCIバスとの間でトランザクションを転送できるようにする バス・ブリッジと、 d)外部供給源から受信したトランザクションと、前記第1のバス・インタフ ェースおよび前記第2のバス・インタフェースに入力されたトランザクションと を処理するために前記バス・ブリッジ手段に結合されたローカル・プロセッサ手 段と、 e)前記プロセッサ手段と外部メモリとの間でデータを転送するローカル・バ スと を備えることを特徴とするシステム。 12.前記集積回路がさらに、 a)インバウンド・トランザクションの場合は、前記第1の内部バス上のアド レスを前記ローカル・プロセッサ手段によって使用できるアドレスに変換し、ア ウトバウンド・トランザクションの場合は、前記ローカル・バス上のアドレスを 前記一次PCIバスに結合された装置によって使用できるアドレスに変換するよ うにされた、前記ローカル・バスおよび前記第1の内部バスに結合された第1の アドレス変換回路と、 b)インバウンド・トランザクションの場合は、前記第2の内部バス上のアド レスを前記ローカル・プロセッサ手段によって使用できるアドレスに変換し、ア ウトバウンド・トランザクションの場合は、前記ローカル・バス上のアドレスを 前記二次PCIバスに結合された装置によって使用できるアドレスに変換するよ うになされた、前記ローカル・バスおよび前記第2の内部バスに結合された第2 のアドレス変換回路とを備えることを特徴とする請求項11に記載のシステム。 13.前記集積回路がさらに、 前記第1の内部バス上に新しいデータが置かれたときに、前記ローカル・プロ セッサ手段によって使用できる割込みを生成し、前記ローカル・プロセッサが、 前記一次PCIバスに結合された装置によって使用できるデータを前記ローカル ・バス上に置いたときに、前記第1の内部バスの少なくとも1本の割込み線上で 割込みを生成するようになされた、前記第1のアドレス変換回路に結合されたメ ッセージ回路を備えることを特徴とする請求項12に記載のシステム。 14.前記集積回路がさらに、 前記第1の内部バスと前記ローカル・メモリとの間でデータ・ブロックを転送 するために前記ローカル・バスと前記第1の内部バスとに結合された第1のDM Aコントローラ手段と、 前記第2の内部バスと前記ローカル・メモリとの間でデータ・ブロックを転送 するために前記ローカル・バスと前記第2の内部バスとに結合された第2のDM Aコントローラ手段とを備えることを特徴とする請求項11に記載のシステム。 15.前記集積回路がさらに、 a)前記第1のバス・インタフェースと前記第1のアドレス変換回路との間で 前記第1の内部バスへのアクセスを制御する第1のバス調停手段と、 b)前記第2のバス・インタフェースと前記第2のアドレス変換回路との間で 前記第2の内部バスへのアクセスを制御する第2のバス調停手段とを備える請求 項12に記載のシステム。 16.前記集積回路がさらに、 前記ローカル・プロセッサと前記第1のアドレス変換回路と前記第2のアドレ ス変換回路との間で前記ローカル・バスへのアクセスを制御するローカル・バス 調停手段を備えることを特徴とする請求項12に記載のシステム。 17.前記集積回路がさらに、 前記ローカル・バス上のデータおよびアドレスを使用して前記外部メモリとの 間の書込みおよび読取りを制御するメモリ・コントローラ手段を備えることを特 徴とする請求項11に記載のシステム。 18.前記集積回路がさらに、 a)複数の割込み源を、前記ローカル・プロセッサ手段に入力される単一の割 込みに経路指定する周辺装置割込みコントローラ手段と、 b)前記複数の割込み源のうちのどれが前記単一の割込みを生じさせたかを定 義する状況レジスタとを備えることを特徴とする請求項11に記載のシステム。 19.前記集積回路がさらに、 a)前記集積回路を使用してシステムの管理に適した外部センサに結合される I2Cバスと、 b)前記ローカル・プロセッサ手段が、前記I2Cバス上に存在するマスタ・ スレーブ装置として働くことができるようにするI2Cインタフェース手段とを 備えることを特徴とする請求項11に記載のシステム。 20.前記集積回路がさらに、 a)外部プロセッサに結合されるAPICバスと、 b)前記外部プロセッサと前記ローカル・プロセッサとの間の通信をイネーブ ルするAPICインタフェース手段とを備えることを特徴とする請求項11に記 載のシステム。 21.前記バス・ブリッジ手段がさらに、 a)前記第1のバス・インタフェースと前記第2のバス・インタフェースとの 間に結合された下流側ポスティング・バッファと、 b)前記第1のバス・インタフェースと前記第2のバス・インタフェースとの 間に結合された上流側ポスティング・バッファと、 c)前記第1のバス・インタフェースに結合された1組の構成レジスタとを備 えることを特徴とする請求項1に記載の集積回路。 22.前記ローカル・プロセッサ手段がマイクロプロセッサを備えることを特 徴とする請求項1に記載の集積回路。 23.前記バス・ブリッジ手段がさらに、 a)前記第1のバス・インタフェースと前記第2のバス・インタフェースとの 間に結合された下流側ポスティング・バッファと、 b)前記第1のバス・インタフェースと前記第2のバス・インタフェースとの 間に結合された上流側ポスティング・バッファと、 c)前記第1のバス・インタフェースに結合された1組の構成レジスタとを備 えることを特徴とする請求項11に記載のシステム。 24.前記ローカル・プロセッサ手段がマイクロプロセッサを備えることを特 徴とする請求項11に記載のシステム。 25.さらに、 a)前記第1のバス・インタフェースと前記第1のアドレス変換回路と前記第 1のDMAコントローラ手段との間で前記第1の内部バスへのアクセスを制御す る第1のバス調停手段と、 b)前記第2のバス・インタフェースと前記第2のアドレス変換回路と前記第 2のDMAコントローラ手段との間で前記第2の内部バスへのアクセスを制御す る第2のバス調停手段とを備えることを特徴とする請求項4に記載の集積回路。 26.前記集積回路がさらに、 a)前記第1のバス・インタフェースと前記第1のアドレス変換回路と前記第 1のDMAコントローラ手段との間で前記第1の内部バスへのアクセスを制御す る第1のバス調停手段と、 b)前記第2のバス・インタフェースと前記第2のアドレス変換回路と前記第 2のDMAコントローラ手段との間で前記第2の内部バスへのアクセスを制御す る第2のバス調停手段とを備えることを特徴とする請求項14に記載のシステム 。
JP9503391A 1995-06-15 1996-06-17 Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ Pending JPH11513150A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49065495A 1995-06-15 1995-06-15
US08/490,654 1995-06-15
PCT/US1996/010451 WO1997000480A1 (en) 1995-06-15 1996-06-17 Architecture for an i/o processor that integrates a pci to pci bridge

Publications (1)

Publication Number Publication Date
JPH11513150A true JPH11513150A (ja) 1999-11-09

Family

ID=23948953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9503391A Pending JPH11513150A (ja) 1995-06-15 1996-06-17 Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ

Country Status (9)

Country Link
US (1) US5884027A (ja)
EP (1) EP0834135B1 (ja)
JP (1) JPH11513150A (ja)
KR (1) KR100263277B1 (ja)
CN (1) CN1137442C (ja)
AU (1) AU6334496A (ja)
DE (1) DE69625597D1 (ja)
RU (1) RU2157000C2 (ja)
WO (1) WO1997000480A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139474A (ja) * 2004-11-11 2006-06-01 Mitsubishi Electric Corp バス転送装置

Families Citing this family (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US6021483A (en) * 1997-03-17 2000-02-01 International Business Machines Corporation PCI-to-PCI bridges with a timer register for storing a delayed transaction latency
US6119246A (en) * 1997-03-31 2000-09-12 International Business Machines Corporation Error collection coordination for software-readable and non-software readable fault isolation registers in a computer system
US6557121B1 (en) 1997-03-31 2003-04-29 International Business Machines Corporation Method and system for fault isolation for PCI bus errors
US6502208B1 (en) 1997-03-31 2002-12-31 International Business Machines Corporation Method and system for check stop error handling
US5951686A (en) * 1997-03-31 1999-09-14 International Business Machines Corporation Method and system for reboot recovery
US6065139A (en) * 1997-03-31 2000-05-16 International Business Machines Corporation Method and system for surveillance of computer system operations
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6247079B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6122758A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6324608B1 (en) * 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6272648B1 (en) * 1997-05-13 2001-08-07 Micron Electronics, Inc. System for communicating a software-generated pulse waveform between two servers in a network
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6148355A (en) 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6122746A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6073255A (en) 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US5987554A (en) 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6134668A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6134673A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6138250A (en) 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
EP0887740A1 (en) 1997-06-19 1998-12-30 Canon Kabushiki Kaisha Device and method for communication between computer buses
JP3288261B2 (ja) * 1997-06-19 2002-06-04 甲府日本電気株式会社 キャッシュシステム
JP3264319B2 (ja) * 1997-06-30 2002-03-11 日本電気株式会社 バスブリッジ
DE19733526A1 (de) * 1997-08-02 1999-02-04 Philips Patentverwaltung Kommunikationssystem mit einer Schnittstelle
US6065102A (en) * 1997-09-12 2000-05-16 Adaptec, Inc. Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types
US6023748A (en) * 1997-09-12 2000-02-08 Adaptec, Inc. Multiple client memory arbitration system capable of operating multiple configuration types
US6009541A (en) 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6138179A (en) 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6154835A (en) 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6065053A (en) 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6088816A (en) 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
EP0917066A3 (en) * 1997-11-14 2000-05-31 Compaq Computer Corporation Method and apparatus for concurrent data transfer in a PCI to PCI input output processor
US6178462B1 (en) * 1997-11-24 2001-01-23 International Business Machines Corporation Protocol for using a PCI interface for connecting networks
US6018810A (en) * 1997-12-12 2000-01-25 Compaq Computer Corporation Fault-tolerant interconnection means in a computer system
US6199127B1 (en) * 1997-12-24 2001-03-06 Intel Corporation Method and apparatus for throttling high priority memory accesses
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6065085A (en) * 1998-01-27 2000-05-16 Lsi Logic Corporation Bus bridge architecture for a data processing system capable of sharing processing load among a plurality of devices
US7007126B2 (en) * 1998-02-13 2006-02-28 Intel Corporation Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
EP0945807A1 (en) * 1998-03-27 1999-09-29 Hewlett-Packard Company Adress remapping for a bus
US6260093B1 (en) * 1998-03-31 2001-07-10 Lsi Logic Corporation Method and apparatus for arbitrating access to multiple buses in a data processing system
US6163835A (en) * 1998-07-06 2000-12-19 Motorola, Inc. Method and apparatus for transferring data over a processor interface bus
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US7734852B1 (en) * 1998-08-06 2010-06-08 Ahern Frank W Modular computer system
US6330632B1 (en) 1998-09-30 2001-12-11 Hewlett-Packard Company System for arbitrating access from multiple requestors to multiple shared resources over a shared communications link and giving preference for accessing idle shared resources
US6336158B1 (en) * 1998-10-30 2002-01-01 Intel Corporation Memory based I/O decode arrangement, and system and method using the same
US6247086B1 (en) * 1998-11-12 2001-06-12 Adaptec, Inc. PCI bridge for optimized command delivery
US6339808B1 (en) 1999-01-04 2002-01-15 Advanced Micro Devices, Inc. Address space conversion to retain software compatibility in new architectures
US6253304B1 (en) * 1999-01-04 2001-06-26 Advanced Micro Devices, Inc. Collation of interrupt control devices
US6360291B1 (en) * 1999-02-01 2002-03-19 Compaq Computer Corporation System and method for hiding peripheral devices in a computer system
US6301632B1 (en) * 1999-03-26 2001-10-09 Vlsi Technology, Inc. Direct memory access system and method to bridge PCI bus protocols and hitachi SH4 protocols
AU4482000A (en) 1999-04-23 2000-11-10 Sony Electronics Inc. Method of and apparatus for implementing and sending an asynchronous control mechanism packet
TW413756B (en) * 1999-04-23 2000-12-01 Via Tech Inc PCI bus compatible master and residing arbiter and arbitration method
US6253250B1 (en) * 1999-06-28 2001-06-26 Telocity, Incorporated Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation
GB2352064A (en) * 1999-07-13 2001-01-17 Thomson Training & Simulation Multi-processor system with PCI backplane
US6282626B1 (en) * 1999-07-15 2001-08-28 3Com Corporation No stall read access-method for hiding latency in processor memory accesses
US6687240B1 (en) * 1999-08-19 2004-02-03 International Business Machines Corporation Transaction routing system
US6625683B1 (en) * 1999-08-23 2003-09-23 Advanced Micro Devices, Inc. Automatic early PCI transaction retry
US6742074B2 (en) * 1999-08-31 2004-05-25 Micron Technology, Inc. Bus to system memory delayed read processing
US6510475B1 (en) * 1999-10-22 2003-01-21 Intel Corporation Data fetching control mechanism and method for fetching optimized data for bus devices behind host bridge
US6757762B1 (en) 1999-10-29 2004-06-29 Unisys Corporation Multi-mode processor bus bridge
KR100331633B1 (ko) * 1999-12-14 2002-04-09 이계안 무선 통신을 이용한 차량 속도 제어 장치 및 그 방법
US6611882B1 (en) * 1999-12-31 2003-08-26 Intel Corporation Inbound and outbound message passing between a host processor and I/O processor local memory
US6629157B1 (en) * 2000-01-04 2003-09-30 National Semiconductor Corporation System and method for virtualizing the configuration space of PCI devices in a processing system
US6636916B1 (en) 2000-02-14 2003-10-21 Hewlett-Packard Development Company, L.P. Assigning PCI device interrupts in a computer system
US6658545B1 (en) * 2000-02-16 2003-12-02 Lucent Technologies Inc. Passing internal bus data external to a completed system
US6732209B1 (en) * 2000-03-28 2004-05-04 Juniper Networks, Inc. Data rate division among a plurality of input queues
US6753885B2 (en) 2000-04-06 2004-06-22 Microsoft Corporation System and theme file format for creating visual styles
US20010048448A1 (en) 2000-04-06 2001-12-06 Raiz Gregory L. Focus state themeing
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
WO2001079962A2 (en) * 2000-04-13 2001-10-25 Stratus Technologies International, S.A.R.L. Fault-tolerant maintenance bus, protocol, and method for using the same
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6594719B1 (en) 2000-04-19 2003-07-15 Mobility Electronics Inc. Extended cardbus/pc card controller with split-bridge ™technology
US6970957B1 (en) * 2000-04-24 2005-11-29 Microsoft Corporation Dynamically configuring resources for cycle translation in a computer system
US7757272B1 (en) * 2000-06-14 2010-07-13 Verizon Corporate Services Group, Inc. Method and apparatus for dynamic mapping
US6407960B1 (en) * 2000-09-01 2002-06-18 Advanced Micro Devices Arrangement for programming selected device registers during initialization from an external memory
US6804737B2 (en) * 2000-12-26 2004-10-12 Lsi Logic Corporation Methods and systems for intelligent I/O controller with channel expandability via master/slave configuration
US6754749B1 (en) * 2001-01-22 2004-06-22 Sharewave, Inc. Multiple use integrated circuit for embedded systems
US6898740B2 (en) * 2001-01-25 2005-05-24 Hewlett-Packard Development Company, L.P. Computer system having configurable core logic chipset for connection to a fault-tolerant accelerated graphics port bus and peripheral component interconnect bus
US20020144037A1 (en) * 2001-03-29 2002-10-03 Bennett Joseph A. Data fetching mechanism and method for fetching data
US20020166004A1 (en) * 2001-05-02 2002-11-07 Kim Jason Seung-Min Method for implementing soft-DMA (software based direct memory access engine) for multiple processor systems
US6738887B2 (en) * 2001-07-17 2004-05-18 International Business Machines Corporation Method and system for concurrent updating of a microcontroller's program memory
JP4117123B2 (ja) * 2001-11-20 2008-07-16 株式会社日立製作所 コントローラ
US6883057B2 (en) * 2002-02-15 2005-04-19 International Business Machines Corporation Method and apparatus embedding PCI-to-PCI bridge functions in PCI devices using PCI configuration header type 0
US6968415B2 (en) * 2002-03-29 2005-11-22 International Business Machines Corporation Opaque memory region for I/O adapter transparent bridge
US6823421B2 (en) * 2002-04-19 2004-11-23 Intel Corporation Method, apparatus, and system for maintaining conflict-free memory address space for input/output memory subsystems
CN100353347C (zh) * 2002-11-25 2007-12-05 杭州士兰微电子股份有限公司 一种实现pci多功能卡的方法
US20040122973A1 (en) * 2002-12-19 2004-06-24 Advanced Micro Devices, Inc. System and method for programming hyper transport routing tables on multiprocessor systems
DE10259415A1 (de) * 2002-12-19 2004-07-08 Demag Ergotech Gmbh Technologie-Platine mit modularer SPS-Integration und Erweiterung
US6810443B2 (en) * 2002-12-31 2004-10-26 Intel Corporation Optical storage transfer performance
US8805981B2 (en) * 2003-03-25 2014-08-12 Advanced Micro Devices, Inc. Computing system fabric and routing configuration and description
US7107382B2 (en) * 2003-04-03 2006-09-12 Emulex Design & Manufacturing Corporation Virtual peripheral component interconnect multiple-function device
US7281076B2 (en) * 2003-04-30 2007-10-09 Hewlett-Packard Development Company, L.P. Form factor converter and tester in an open architecture modular computing system
US20040230866A1 (en) * 2003-04-30 2004-11-18 Hewlett-Packard Development Company, L.P. Test system for testing components of an open architecture modular computing system
US20040243757A1 (en) * 2003-05-29 2004-12-02 Oliver Brett Douglas Connecting PCI buses
US8041915B1 (en) 2003-06-11 2011-10-18 Globalfoundries Inc. Faster memory access in non-unified memory access systems
US7054774B2 (en) 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7644194B2 (en) * 2003-07-14 2010-01-05 Broadcom Corporation Method and system for addressing a plurality of Ethernet controllers integrated into a single chip which utilizes a single bus interface
US8805966B2 (en) 2003-07-28 2014-08-12 Limelight Networks, Inc. Rich content download
JP2005070993A (ja) * 2003-08-22 2005-03-17 Fujitsu Ltd 転送モード異常検出機能を有する装置並びにストレージ制御装置および同装置用インターフェイスモジュール
US7200687B2 (en) * 2003-09-25 2007-04-03 International Business Machines Coporation Location-based non-uniform allocation of memory resources in memory mapped input/output fabric
CA2541158A1 (en) 2003-10-03 2005-04-21 Limelight Networks, Inc. Rich content download
US7721254B2 (en) 2003-10-24 2010-05-18 Microsoft Corporation Programming interface for a computer platform
US7069389B2 (en) * 2003-11-26 2006-06-27 Microsoft Corporation Lazy flushing of translation lookaside buffers
US7039747B1 (en) * 2003-12-18 2006-05-02 Cisco Technology, Inc. Selective smart discards with prefetchable and controlled-prefetchable address space
US7363393B2 (en) * 2003-12-30 2008-04-22 Intel Corporation Chipset feature detection and configuration by an I/O device
US7162533B2 (en) * 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
US8146867B2 (en) * 2004-06-14 2012-04-03 Aeroastro, Inc. Modular spacecraft design architecture
KR100606163B1 (ko) * 2004-07-10 2006-08-01 삼성전자주식회사 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법
CN1645347B (zh) * 2004-11-15 2010-04-21 威盛电子股份有限公司 动态调整高速周边元件连接接口的根端口传输资料的方法
US9026744B2 (en) * 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
US7330941B2 (en) * 2005-03-23 2008-02-12 Qualcomm Incorporated Global modified indicator to reduce power consumption on cache miss
CN100505685C (zh) * 2005-08-09 2009-06-24 华为技术有限公司 通信网络中对网络地址/端口转换请求进行处理的方法
US20070073955A1 (en) * 2005-09-29 2007-03-29 Joseph Murray Multi-function PCI device
US20070088857A1 (en) * 2005-09-30 2007-04-19 Travis Schluessler Using sequestered memory for host software communications
US7917676B2 (en) 2006-03-10 2011-03-29 Qualcomm, Incorporated Efficient execution of memory barrier bus commands with order constrained memory accesses
US8726279B2 (en) * 2006-05-06 2014-05-13 Nvidia Corporation System for multi threaded multi processor sharing of asynchronous hardware units
US8290819B2 (en) * 2006-06-29 2012-10-16 Microsoft Corporation Electronic commerce transactions over a peer-to-peer communications channel
WO2011136796A1 (en) * 2010-04-30 2011-11-03 Hewlett-Packard Development Company, L.P. Management data transfer between processors
JP5483020B2 (ja) * 2010-10-13 2014-05-07 日本電気株式会社 通信制御装置、ネットワーク、及びネットワークシステム
RU2488161C1 (ru) * 2011-11-14 2013-07-20 Федеральное Государственное Бюджетное Образовательное Учреждение Высшего Профессионального Образования "Саратовский Государственный Университет Имени Н.Г. Чернышевского" Устройство перестановок и сдвигов битов данных в микропроцессорах
US9053248B2 (en) 2012-08-31 2015-06-09 Nxp B.V. SRAM handshake
US9244874B2 (en) 2013-06-14 2016-01-26 National Instruments Corporation Selectively transparent bridge for peripheral component interconnect express bus systems
US9389906B2 (en) 2013-12-23 2016-07-12 Intel Corporation Latency agnostic transaction buffer for request-grant protocols
US9965320B2 (en) * 2013-12-27 2018-05-08 Intel Corporation Processor with transactional capability and logging circuitry to report transactional operations
CN103823782B (zh) * 2014-03-06 2016-08-17 深圳市辰卓科技有限公司 一种iic桥接通讯方法、装置及系统
US10417172B2 (en) 2014-04-28 2019-09-17 Qualcomm Incorporated Sensors global bus
US9734121B2 (en) * 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus
US10163420B2 (en) 2014-10-10 2018-12-25 DimensionalMechanics, Inc. System, apparatus and methods for adaptive data transport and optimization of application execution
US10062354B2 (en) 2014-10-10 2018-08-28 DimensionalMechanics, Inc. System and methods for creating virtual environments
US9619674B2 (en) 2014-12-12 2017-04-11 International Business Machines Corporation Access and protection of I2C interfaces
CN105068951B (zh) * 2015-07-27 2018-05-08 中国科学院自动化研究所 一种具有非等时传输结构的片上系统总线
CN105389275B (zh) * 2015-11-17 2018-02-06 无锡江南计算技术研究所 基于AMBA架构的虚拟PCIe‑PCI桥接系统
CN105354167B (zh) * 2015-11-17 2018-01-19 无锡江南计算技术研究所 一种pci桥次级总线复位的缓冲排空方法
US20190321484A1 (en) 2016-11-22 2019-10-24 Hoffmann - La Roche Inc. Antibody drug conjugates
US10120829B2 (en) * 2016-11-23 2018-11-06 Infineon Technologies Austria Ag Bus device with programmable address
TWI611296B (zh) 2017-04-13 2018-01-11 慧榮科技股份有限公司 記憶體控制器與資料儲存裝置
EP3602311A4 (en) * 2017-06-20 2020-11-25 Hewlett-Packard Development Company, L.P. SIGNAL COMBINATOR
US10395722B2 (en) 2017-09-29 2019-08-27 Intel Corporation Reading from a mode register having different read and write timing
JP7326863B2 (ja) * 2019-05-17 2023-08-16 オムロン株式会社 転送装置、情報処理装置、および、データ転送方法
CN113778925A (zh) * 2021-09-28 2021-12-10 中国北方车辆研究所 通过cpci总线读写板外ram数据的方法及板外数据读写模块
CN114138702B (zh) 2022-01-29 2022-06-14 阿里云计算有限公司 计算系统、pci设备管理器及其初始化方法
CN116909639B (zh) * 2023-09-13 2023-12-12 珠海星云智联科技有限公司 一种挂载系统、方法、集群以及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4935894A (en) * 1987-08-31 1990-06-19 Motorola, Inc. Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information
WO1989007349A1 (en) * 1988-02-05 1989-08-10 Commodore-Amiga, Inc. Universal connector device
US4935868A (en) * 1988-11-28 1990-06-19 Ncr Corporation Multiple port bus interface controller with slave bus
SU1644151A1 (ru) * 1989-04-06 1991-04-23 Предприятие П/Я М-5308 Многоканальное устройство дл подключени абонентов к общей магистрали
SU1683023A1 (ru) * 1989-06-08 1991-10-07 Военная Акад.Им.Ф.Э.Дзержинского Многоканальное устройство дл управлени доступом к общей магистрали
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
US5353417A (en) * 1991-05-28 1994-10-04 International Business Machines Corp. Personal computer with bus interface controller coupled directly with local processor and input/output data buses and for anticipating memory control changes on arbitration for bus access
US5379384A (en) * 1992-06-05 1995-01-03 Intel Corporation Configuration data loopback in a bus bridge circuit
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5398244A (en) * 1993-07-16 1995-03-14 Intel Corporation Method and apparatus for reduced latency in hold bus cycles
US5548730A (en) * 1994-09-20 1996-08-20 Intel Corporation Intelligent bus bridge for input/output subsystems in a computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139474A (ja) * 2004-11-11 2006-06-01 Mitsubishi Electric Corp バス転送装置

Also Published As

Publication number Publication date
DE69625597D1 (de) 2003-02-06
KR19990022950A (ko) 1999-03-25
EP0834135A4 (en) 2001-09-12
RU2157000C2 (ru) 2000-09-27
US5884027A (en) 1999-03-16
EP0834135A1 (en) 1998-04-08
AU6334496A (en) 1997-01-15
WO1997000480A1 (en) 1997-01-03
CN1193393A (zh) 1998-09-16
CN1137442C (zh) 2004-02-04
EP0834135B1 (en) 2003-01-02
KR100263277B1 (ko) 2000-08-01

Similar Documents

Publication Publication Date Title
US5913045A (en) Programmable PCI interrupt routing mechanism
JPH11513150A (ja) Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ
CA2118995C (en) Arbitration logic for multiple bus computer system
US5450551A (en) System direct memory access (DMA) support logic for PCI based computer system
US5805842A (en) Apparatus, system and method for supporting DMA transfers on a multiplexed bus
US6094699A (en) Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
JP2571673B2 (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
US5774681A (en) Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge
US5781748A (en) Computer system utilizing two ISA busses coupled to a mezzanine bus
US5864688A (en) Apparatus and method for positively and subtractively decoding addresses on a bus
US6253304B1 (en) Collation of interrupt control devices
US6892266B2 (en) Multicore DSP device having coupled subsystem memory buses for global DMA access
JPH08339346A (ja) バスアービタ
US6339808B1 (en) Address space conversion to retain software compatibility in new architectures
WO1999041671A1 (en) Accessing a messaging unit from a secondary bus
JPH10198629A (ja) Pci−pci間のトランザクション通信方法及び装置
US5933613A (en) Computer system and inter-bus control circuit
US7006521B2 (en) External bus arbitration technique for multicore DSP device
US5937206A (en) System for converting states of DMA requests into first serial information and transmitting information to first bus whenever a state change of a request
US5850529A (en) Method and apparatus for detecting a resource lock on a PCI bus
US6199123B1 (en) Computer system for supporting increased PCI master devices without the requiring additional bridge chips
JP3531368B2 (ja) コンピュータシステム及びバス間制御回路
JPH0954748A (ja) コンピュータシステムおよびこのシステムに設けられるdmaコントローラ
JP5146796B2 (ja) ホストコントローラ
JPS63175964A (ja) 共有メモリ