JP4359618B2 - コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 - Google Patents

コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 Download PDF

Info

Publication number
JP4359618B2
JP4359618B2 JP2006528222A JP2006528222A JP4359618B2 JP 4359618 B2 JP4359618 B2 JP 4359618B2 JP 2006528222 A JP2006528222 A JP 2006528222A JP 2006528222 A JP2006528222 A JP 2006528222A JP 4359618 B2 JP4359618 B2 JP 4359618B2
Authority
JP
Japan
Prior art keywords
register
configuration
registers
index
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006528222A
Other languages
English (en)
Other versions
JP2007507045A (ja
Inventor
クァーチ,トゥアン
ダフタリ,レザ
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2007507045A publication Critical patent/JP2007507045A/ja
Application granted granted Critical
Publication of JP4359618B2 publication Critical patent/JP4359618B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Logic Circuits (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Description

以下に説明される本発明の実施例は、1つ以上のコンピューター・システムの集積回路部品を含む、コンピューター・システムの機能の設定に用いられる、ソフトウェア・アクセス可能なレジスターへのアクセスに関する。
コンピューター・システムは、一般に、Intel Corp.(カリフォルニア州、サンタクララ)によるPENTIUM(登録商標)プロセッサー等のプロセッサー、及び主記憶装置を含む、複数の基本的な集積回路(IC)部品を有する。多くの場合、システム・インターフェース部品(システム・チップセットとも称される)も用いられ、プロセッサーが画像用サブシステム、ネットワーク・インターフェース制御部、及び大容量記憶装置等の多くの他のIC部品及び周辺装置と通信できるようにする。各IC部品は、システムが総合的な目的を達成するよう支援するために、共に動作する特定の機能を実現するよう設計される。
上記の基本IC部品のうち、システム・チップセットは最も多くの数の異なる機能に対応する。なぜならシステム・チップセットは多くの場合、プロセッサーと他のIC部品の間だけでなく、周辺装置と主記憶装置の間の通信のブリッジとしても動作するからである。IC製造資源をより効率的に利用するために、単一のシステム・チップセットは異なる種類のプロセッサー、記憶装置、及び周辺装置の組合せに対応するよう、十分に柔軟に設計される。この柔軟性は、システム・チップセットを、複数の内部、ソフトウェア・アクセス可能なレジスター(コンフィグレーション・レジスターとも称される)に応じてコンフィグレーション及び機能が設定される、設定可能な、内部ハードウェアと共に設計することにより達成できる。与えられたコンピューター・システムの電源投入後、システム・チップセット内の(及びプロセッサー及び記憶装置等の他の基本IC部品内の)コンフィグレーション・レジスターは、一般的にオペレーティング・システム・プログラムの制御下で、所望の値を書き込まれる。
Intel Corp.の82443BXホスト・ブリッジ/コントローラー・チップセットの場合、コンフィグレーション・レジスターの設定(コンフィグレーション空間の設定とも称される)は、以下の通りで良い。2つの制御レジスター、つまりコンフィグレーション・アドレス・レジスター(CONFADD、16進数のアドレスCF8により称される場合もある)及びコンフィグレーション・データ・レジスター(CONFDATA、16進数のアドレスCFCにより称される場合もある)が、ホスト/中央演算処理装置(CPU)I/Oアドレス空間からアクセス可能である。何れのコンフィグレーション・レジスターへのアクセスも、最初にCONFADDへアクセスし、そして選択されたレジスターを(選択されたレジスターを「指す」ようにCONFADDを適切に書き込むことにより)識別する。次に、選択されたレジスターの現在の値を有するCONFDATAへのアクセスが実行され、新しい値を書き込む。選択されたレジスターは、従って、適切に更新される。別のコンフィグレーション・レジスターを設定するために、同様の2段階のアクセス動作が繰り返される。つまり、最初に(CONFADDを書き込むことにより)次のレジスターを指し、そして次に(新しい値をCONFDATAに書き込むことにより)更新を要求する。
コンピューター・システムの基本IC部品、特にシステム・チップセット内のコンフィグレーション・レジスターの数は、将来のコンピューター・アーキテクチャに向けて有意に増加する傾向がある事が分かっている。例えば、(複数のプロセッサー、他のIC部品、及び周辺装置との)ポイント・ツー・ポイント接続のシステム相互接続に対応するチップセットでは、各システムの初期化時に変更及び/又は設定する数百のレジスターがあって良い。更に、これらのレジスターは、将来においてより幅広くなり、より多くのコンフィグレーション・データが設定される必要があるだろう。最終的に、多くの場合、一般にコンフィグレーション・レジスターのアクセスのために定義される、バス・プロトコル及びバス周期は、メモリー・アクセスを目的とした場合に比べ、比較的遅い。例えば、これは高速な設定プロセスの必要性が認識されていないからである。これらの要因は共に、将来のコンピューター・システムにおいて初期化プロセスを有意に減速させることが予想される。
本発明の実施例は、例として図示され、添付の図により制限されるものではない。図中の同様の参照符号は同様の要素を示す。本願明細書における「単一」表記の本発明の実施例は、必ずしも同一の実施例ではなく、少なくとも1つであることを意味する。
図1は、コンピューター・システムの初期化プロセスを加速する一連のコンフィグレーション・レジスターへのアクセス方法のフローチャートを示す。図1は、「受信機」、例えば設定のためのコンフィグレーション・レジスター及び関連するハードウェアが存在するシステム・チップセット部品により実行される動作を示す。一方、図2は、「送信機」、例えば設定されたホスト/CPUの観点から、コンフィグレーション・レジスターへのアクセス方法を示す。図1では、動作は、アドレス・レジスターへのアクセスが行われたとうい表示の受信から開始する(動作104)。アドレス・レジスターは、例えば、上述の16進数アドレスCF8にあるCONFADDであって良い。アクセスが行われ、一連のコンフィグレーション・レジスターのうち所与のコンフィグレーション・レジスターを指す所与のインデックス値が書き込まれて良い。また、アドレス・レジスターからインデックス値を読み出しても良い。何れの場合も、動作はブロック108へ進む
ブロック108では、本願明細書ではデータ・レジスターと称する別のレジスターへのアクセスが行われたという表示が受信される。例えば、このアクセスは、所与のコンフィグレーション・レジスターの内容の部分である所与の内容値の書き込みで良い。次に、動作は、一連のコンフィグレーション・レジスターのうち別のコンフィグレーション・レジスターを指すようインデックス値を変更する(ブロック112)。これはアドレス・レジスターへの別のアクセスを待たずに実行される。言い換えると、インデックスは自動的に別のコンフィグレーション・レジスターを指すように変更される。これは、それぞれ次のコンフィグレーション・レジスター毎にアドレス・レジスターへ別にアクセスすることを回避するので、コンフィグレーション・レジスターを設定するプロセス全体の加速を助ける。集積回路(IC)部品のこの動作モードは、本願明細書では特別又はブロック・モード動作とも呼ばれる。
上述のプロセスは複数ある。第1に所与のインデックス及び内容値の1つ又は両方は、アドレス及びデータ・レジスターへそれぞれ書き込まれる時に、符号化されて良い。以下の例は、図4のコンピューター・システムと関連している。図4では、インデックス値はアドレス・レジスターの複数のフィールドの組合せから抽出又は導出される。更に、例えば、自動インデックス付けを経由して一連のレジスターを設定するために、予めブロック・モード動作に入っている場合のみ、インデックス変数は自動的に変更されて良い。通常モード及びブロック・モードのプロセスの例は、図2に示される。更に別の変形では、インデックス変数の変更は、一連のレジスターが昇順又は降順アドレスに従って連続的に設定されるよう、固定のインクリメント又はデクリメントであって良い。最後に、インデックス変数は、アドレス・レジスターから分離した論理構造(例えば、カウンター又はレジスター)により実現されて良い。他の変形も可能である。
上述の連続する2つ以上のコンフィグレーション・レジスターへのアクセス方法は、続いて、図1に示されるように、データ・レジスターへの別のアクセスが行われたという表示を受信する(ブロック114)。次に、ブロック114における更なる表示の受信に応じて、及びアドレス・レジスターへの更に別のアクセスを受信する前に、インデックス変数は一連のコンフィグレーション・レジスターのうち更に別のコンフィグレーション・レジスターを指すよう変更される(ブロック118)。ブロック114及び118における動作は、更なるデータ・レジスターへのアクセスが受信された場合、一連のコンフィグレーション・レジスターのうち更に別のコンフィグレーション・レジスターを指すよう、繰り返されて良い。
留意すべきは、上記のプロセスは、(データ・レジスターの内容に基づき)選択されたコンフィグレーション・レジスターに実際に書き込まれる新たな内容値を含む設定に適することである。更に、上記の動作はアドレス又はデータ・レジスターの何れかへのアクセスが行われたという表示を受信するが、これは例えば、特定の種類のバス・イベント(例えば、アドレス及び/又はデータ・レジスターを目的とした特定のバス・トランザクション)の検出だけでなく、例えばブロック104に関連して、アドレス・レジスターに実際に新しいインデックス値が書き込まれた事を検出することも含まれると理解されるべきである。同様に、ブロック108では、データ・レジスターへのアクセスが行われたという表示の受信は、データ・レジスターを目的とした特定のバス・イベントが検出されること、又は新しい内容値がデータ・レジスターに書き込まれたことであって良い。レジスターへのアクセスが行われたという表示を受信する他の方法が用いられても良い。
図2は、送信機(例えばホスト/CPU)の観点から、コンフィグレーション・レジスターの設定方法のフローチャートを示す。実際には2つの異なるプロセスが示され、これらはブロック・モードが有効か否かに依存して(ブロック202)、一方又は他方のプロセスが実行されて良い。この例では、コンフィグレーション・レジスターの同一のセットが両方のプロセスで設定される。図2の左側に示されるプロセスでは(通常モードの動作)、インデックス値01、02、03の3つのコンフィグレーション・レジスターが、ブロック204から224に従って設定される。このプロセスで留意すべき点は、2段階の動作が各レジスターに対し行われることである。例えば、インデックス値01のレジスターを設定するために、ブロック204及び208は、続けて以下の動作を行う。つまり、最初にインデックス値がアドレス・レジスター(本実施例では16進数アドレスCF8)に書き込まれ、次にデータ・レジスター(16進数アドレスCFC)のコンフィグレーション・データ又は内容値を読み出す又は書き込む。
図2の左側のプロセスと対比すると、右側のプロセスは、基本的に本実施例においてブロック212及び220に記述された動作を除去し、それらを次の連続するインデックスに自動インクリメントで置き換えることによる(ブロック210及び218)、自動インデックス付けを用いている。設定されるべきコンフィグレーション・レジスターが比較的多数の場合、アドレス・レジスターCF8への書き込み動作全体を除去することにより、時間が有意に節約される。
留意すべき点は、図2に示される方法に対応するIC部品は、コンフィグレーション・レジスターの設定動作の2つのモードを有して良いことである。1つはブロック・モードであり、図2の右側のフローに例示される。他方は通常モードであり、同図の左側に示される。IC部品は、従って、ブロック・モード動作を有効又は無効に設定できるよう、ソフトウェア・アクセス可能な更なるレジスターと共に設計されて良い。これはコンフィグレーション・レジスターの異なるグループが、異なるモードに設定されることを許可し、有意に時間を節約する。例えば、比較的大きい、レジスターの最初のグループは、ブロック・モードにおいて連続的に設定される。IC部品は、次に通常モードに戻り、(最初のグループと連続的に続いていない)次のグループの最初のレジスターへジャンプする。この機能は図3に示される。図3では、最初に、インデックス又はアドレス1−6を有するグループは、ブロック・モードで設定される。次にIC部品は通常モードなり、アドレス21のレジスターを設定する。続いて、ブロック・モードは、アドレス54−59のレジスターを設定する。そして次に、通常モードになり、アドレス104の単独のレジスターを設定する。続いて、ブロック・モードになり、レジスター174−180を連続的に設定する。
図4は、コンフィグレーション・レジスターの自動インデックス付けを可能にするIC部品の部分の論理図である。IC部品はシステム・チップセット、プロセッサー、又はコンピューター・システムの他の基本IC部品であって良い。複数のコンフィグレーション・レジスター304は、IC部品、例えばIC部品のコア・ロジックと共にオンチップで(図示されない)提供される。これらレジスター304のそれぞれは、マルチプレクサー・ロジック308の出力によりインデックス付けされて良い。一旦インデックス付け又は選択されると、選択されたレジスター(図では「データ」と称される場合もある)の一部又は全ては、ハードウェア制御信号CFCリード・コマンドの制御下で、データ・レジスター(CFC、図示されない)へ転送される。また、データは、ハードウェア制御信号CFCライト・コマンドの制御下で、選択されたレジスターに書き込まれて良い。CFCライト及びリード・コマンドは、要求が(例えば、IC部品の外部から)受信され、データ・レジスター(CFC)をそれぞれ書き込み及び読み出しすることを示す、信号の例である。
マルチプレクサー・ロジック308は、2つの入力を有して良い。第1の入力は、カウンター312からインデックス値を受信して良い。同時に、第2の入力は、本実施例では、予めインデックス値が書き込まれたアドレス・レジスター(CF8)から直接導出されたインデックス値を受信して良い。マルチプレクサー・ロジック308の出力は、カウンター312からのインデックス値とアドレス・レジスター(CF8)から取得されたインデックス値の間から、IC部品の動作モードを指示するブロック・モード・イネーブル制御信号に従い選択される。
カウンター312により提供されるインデックス値は、例えばカウンター312を自動的にインクリメント又はデクリメントすることにより、変更できる。インクリメント又はデクリメント信号は検出ロジック316により提供されて良い。
運用では、IC部品が通常モードにある場合、コンフィグレーション・レジスター304に提供されインデックスは、CF8の内容がソフトウェアによって書き込まれている場合、CF8の内容から導出されて良い。しかしながら、ブロック・モードが有効となっている場合、インデックスはカウンター312から取得される。ブロック・モード・イネーブル信号のアサートは、カウンター312にCF8から取得した値をロード可能にする。カウンター312は、検出ロジック316の指示に従い自動的にインクリメントされるインデックス値を続て提供する。検出ロジック316が、コンフィグレーション・レジスターへのアクセス要求を(例えば、IC部品の外部から)受信している場合、及び特にCFCライト又はリード・コマンドを検出している場合はいつでも、カウンター312は次のコンフィグレーション・レジスターを指すようインクリメントされる。自動インデックス付け機能を実現する他の論理設計を用いることもできる。
図5は、チップセット部品のコンフィグレーション・レジスターが自動インデックス付けにより設定できる、コンピューター・システムのブロック図である。本実施例のチップセット部品は、I/Oハブ416と称される。I/Oハブ416は、一方ではプロセッサーと主記憶装置404との間のブリッジとして、また他方では1つ以上のI/O要素408、412の間のブリッジとして動作する。本実施例では、I/O要素408は、ネットワーク・インターフェース制御部であり、要素412は画像制御部/サブシステムである。I/Oハブ416は、更に別の要素(図示されない)と通信するために用いられる追加ポートを備えて良い。
本実施例では、4つのプロセッサーと主記憶装置の組404が示される。この組は一般に1つ以上存在できる。これらプロセッサーと主記憶装置の各組は、互いに通信できるよう、図の通り独立な、高速データの、ポイント・ツー・ポイント接続により結合されている。ポイント・ツー・ポイント接続は、1つ以上の「レーン」を有して良く、各レーンは、関連するI/Oバッファ回路(図示されない)と共に、プリント基板上の単一の経路で構成され、主に2つのプロセッサーと主記憶装置の組404の間の間接的な通信に用いられて良い。更にポイント・ツー・ポイント接続はまた、I/Oハブ416とIC部品408、412を通信できるよう結合するために用いられる。ポイント・ツー・ポイント接続は、PCI Express Base Specification 1.0a(2003年4月15日)に準拠して動作するよう設計されて良い。
コンフィグレーション・レジスターのセット424、及びアドレス及びデータ・レジスターの対420はI/Oハブ416に設けられる。例えば、コンフィグレーション・アドレス・レジスター(CF8)は、ポート番号、機能番号、及びレジスター番号のフィールドで定義されて良い。これらのフィールドの内容は、共に、あるものは符号化の形式を通じて、コンフィグレーション・レジスター424の選択された1つに書き込まれる。この選択されたレジスター424の内容は、コンフィグレーション・データ・レジスター(CFC)に反映される。
少なくともコンフィグレーション・レジスター424の一部は、I/Oハブ416により実現されているブリッジの片側で受信されたトランザクション要求が、どのようにブリッジの反対側に転送されるかを示して良い。レジスター424は、例えばデバイス識別子、ベンダー識別子、タイマー、メモリー制御、及びタイミング、エラー状態、メモ帳等を含む、他の機能を設定するよう設計されて良い。更に、図示されないが、I/Oハブ416は、上述の自動インデックス付け機能を実現するために必要な、図4に示された論理図のような、論理回路を有しても良い。
図5のシステムを用いて、ブロック・モードでレジスター424を設定する方法を以下に説明する。最初に、レジスター424の1つを指すインデックス変数へのアクセスを目的とした、所定の種類のバス・イベントが検出される。例えば、インデックス変数は、コンフィグレーション・アドレス・レジスター(CF8)に反映されて良く、CF8は、システムのホストの中央演算処理装置(CPU)のI/Oアドレス空間に割り付けられ、どのプロセッサーと記憶装置の組404によってもアクセス可能なようにする。I/Oハブ416のロジックは、CF8へのアクセスを目的としたバス・イベントについて、接続405又は407の何れかを監視するよう設計できる。
そのようなバス・イベントを検出すると、ロジックは、インデックス変数が指すレジスター424の1つを更新することを目的としたバス・イベントが続いて起こることを期待する。このバス・イベントは、CFCを対象とし、選択された/インデックス付けされたコンフィグレーション・レジスター424を目的とした又はそれから引き出された内容値を読み出す又は書き込むトランザクションであって良い。次に、I/Oハブ416はブロック・モードであるので、後のバス・イベントが検出された場合はいつでも、論理回路は、インデックス変数へのアクセスを目的とした別のバス・イベントを待たずに、インデックス変数をコンフィグレーション・レジスター424の別の1つを指すように変更する。留意すべき点は、インデックス変数のこの変更は、アドレス・レジスター(CF8)が続けて読み出される場合、CF8に反映されて良い。更に、インデックス変数が指すコンフィグレーション・レジスターの現在の内容は、続けてデータ・レジスター(CFC)の読み出しがある場合、CFCに反映されて良い。ブロック・モードが有効である限り、論理回路はインデックス変数を(コンフィグレーション・レジスターの別の1つを指すよう)、データ・レジスターへのアクセスを目的とするバス・イベントが検出される毎に、アドレス・レジスター(CF8)を更新するバス・イベントを要求せずに、変更し続けて良い。
纏めると、インデックスを自動的に変更することによりコンフィグレーション・レジスターへアクセスする方法及び装置の種々の実施例が説明された。本願明細書では、本発明は特定の実施例を参照して説明された。しかしながら、請求項に定義される本発明の広範な精神及び範囲から逸脱することなく、種々の変形及び変更が成されて良いことは明らかである。例えば、図5は、I/Oハブ416内に存在し、「フロントサイド」接続405、407を経由してアクセスされるコンフィグレーション及び制御レジスター424、420を示すが、他にもプロセッサーと記憶装置の組404内又はIC部品408、412内に存在して良く、そしてプラットフォーム管理システム416を経由して低速バス(図示されない)を通じてアクセスされても良い。本願明細書及び図は、従って、限定的ではなく、説明的意味であると見なされる。
コンピューター・システムの初期化プロセスを加速する一連のコンフィグレーション・レジスターへのアクセス方法のフローチャートを示す。 「送信機」、例えば設定されたホスト/CPUから見た、コンフィグレーション・レジスターへの2つの異なるアクセス方法を示す。 ブロック・モードにおいて個別に設定されて良いコンフィグレーション・レジスターの3つのグループを示す。 コンフィグレーション・レジスターの自動インデックス付けを可能にするIC部品の部分の論理図である。 チップセット部品のコンフィグレーション・レジスターが自動インデックス付けにより設定できる、コンピューター・システムのブロック図である。

Claims (24)

  1. コンフィグレーション・レジスターのアクセス方法であって、コンピューター・システムの集積回路(IC)部品により実行され、
    a)前記IC部品のコンフィグレーション・レジスターを指すインデックス変数を格納する、前記IC部品内にある第1の制御レジスターへのアクセスが行われたことを検出する段階、及び次に、
    b)前記インデックス変数が指すコンフィグレーション・レジスターの内容の一部を格納する、前記IC部品の第2の制御レジスターへのアクセスが行われたことを検出する段階、及び次に、
    c)b)に応じて、及び前記第1の制御レジスターへの別のアクセスが行われるのを待たずに、前記IC部品の別のコンフィグレーション・レジスターを指すよう、前記インデックス変数を変更する段階
    を有する、方法。
  2. 前記第1の制御レジスターへのアクセスは、所与のコンフィグレーション・レジスターを指す所与のインデックス値の書き込みであり、
    及び前記第2の制御レジスターへのアクセスは、前記所与のコンフィグレーション・レジスターの内容の一部である所与の内容値の書き込みである、請求項1記載の方法。
  3. 前記所与のインデックス及び内容値の1つは、前記第1及び第2の制御レジスターへそれぞれ書き込まれるときに符号化される、請求項2記載の方法。
  4. 前記所与のインデックス及び内容値の両方は、前記第1及び第2の制御レジスターへそれぞれ書き込まれるときに符号化される、請求項3記載の方法。
  5. c)の後に、
    d)前記第2の制御レジスターへ別のアクセスが行われたことを検出する段階、及び次に
    e)d)に応じて、及び前記第1の制御レジスターへの更に別のアクセスが行われたことを検出する前に、前記インデックス変数を更に別のコンフィグレーション・レジスターを指すよう、変更する段階、及び次に、
    d)からe)を更に別のコンフィグレーション・レジスターを指すよう繰り返す段階
    を更に有する、請求項2記載の方法。
  6. c)において、前記インデックス変数は、自動インデックス付けを通じて、コンフィグレーション・レジスターを設定するために前記IC部品が特別のモード動作に入った場合のみ変更される、請求項1記載の方法。
  7. コンピューター・システムにより実行される、前記システムの集積回路(IC)部品の複数のコンフィグレーション・レジスターの設定方法であって、
    a)前記IC部品を、b)からe)に従って前記複数のコンフィグレーション・レジスターが設定される第1の動作モードにる段階、
    b)前記IC部品内の第1の制御レジスターに、前記コンフィグレーション・レジスターの選択された1つにアクセスさせるよう、書き込む段階、及び次に、
    c)前記IC部品内の第2の制御レジスターに、前記コンフィグレーション・レジスターの前記選択された1つの内容値を書き込む段階、及び次に、
    d)再び前記第1の制御レジスターに書き込まずに、前記第2の制御レジスターに、前記コンフィグレーション・レジスターの別の選択された1つの更なる内容値を書き込む段階、及び次に、
    e)前記コンフィグレーション・レジスターの全てが設定されるまで、d)を繰り返す段階
    を有する、方法。
  8. f)前記第1の動作モードを無効にし、及び次に、
    g)前記第1の制御レジスターに、更なるコンフィグレーション・レジスターの選択された1つにアクセスさせるよう、書き込み、及び次に、
    h)前記第2の制御レジスターに、前記更なるコンフィグレーション・レジスターの前記選択された1つの内容値を書き込み、及び次に、
    前記更なるコンフィグレーション・レジスターの全てが設定されるまでg)からh)を繰り返す
    ことにより前記更なる複数のコンフィグレーション・レジスターを設定する段階を更に有する請求項7記載の方法。
  9. 前記更なる複数のコンフィグレーション・レジスターは連続的に設定される、請求項8記載の方法。
  10. 集積回路(IC)部品であって、
    複数のコンフィグレーション・レジスター、
    カウンターを自動的にインクリメント又はデクリメントすることにより変更できる、第1のインデックス値を提供するカウンター、
    前記第1のインデックス値を受信する第1の入力、第2のインデックス値を受信する第2の入力、前記複数のコンフィグレーション・レジスターをインデックス付けするよう結合された出力を有し、前記カウンターを自動的にインクリメント又はデクリメントすることにより前記コンフィグレーション・レジスターがインデックス付けされる前記IC部品の動作モードを示す制御信号を受信する、マルチプレクサー・ロジック、及び
    コンフィグレーション・レジスターへアクセスする要求が前記IC部品の外部から受信されたことを示す第1のハードウェア制御信号を受信する入力、及び前記カウンターへインクリメント又はデクリメント信号を提供する出力を有する、検出ロジック
    を有する、部品。
  11. 前記第1のハードウェア制御信号は、前記IC部品のコンフィグレーション・データ・レジスターを書き込む要求を受信したことを示し、前記検出ロジックは、前記コンフィグレーション・レジスターを読み出す要求を受信したことを示す第2のハードウェア制御信号、アサートされている前記第1及び第2のハードウェア制御信号の何れか1つに応じてアサートされる前記インクリメント又はデクリメント信号を受信する入力を更に有する、請求項10記載のIC部品。
  12. 前記カウンターは、前記IC部品の外部から受信された前記IC部品のコンフィグレーション・アドレス・レジスターへの書き込み要求から取得された前記第1のインデックス値を読み込む更なる入力を有する、請求項10記載のIC部品。
  13. コンピューター・システムであって、
    第1のプロセッサー及び主記憶装置の組、
    画像用サブシステム、及び
    第1のポイント・ツー・ポイント接続を経由して前記第1の組に通信できるよう結合され、そして第2のポイント・ツー・ポイント接続を経由して前記画像用サブシステムに通信できるよう結合されるI/Oハブ、を有し、
    前記I/Oハブは、前記第1の組と前記画像用サブシステム要素の間でブリッジとして動作
    前記I/Oハブは、複数のコンフィグレーション・レジスターを有し、一部のコンフィグレーション・レジスターの内容は、前記ブリッジの片側で受信されたトランザクション要求が、どのようにブリッジの別の側へ転送されるかを示し、及び
    前記I/Oハブは、
    第1のインデックス値を提供するカウンター、
    カウンターを自動的にインクリメント又はデクリメントすることにより前記コンフィグレーション・レジスターがインデックス付けされるモードである前記I/Oハブの動作モードを示す制御信号を受信し、前記第1のインデックス値を受信する第1の入力、第2のインデックス値を受信する第2の入力と、前記複数のコンフィグレーション・レジスターをインデックス付けするために結合された出力とを更に有するマルチプレクサー・ロジック、及び
    前記I/Oハブの外部から受信された、コンフィグレーション・レジスターへアクセスする要求を示す第1のハードウェア制御信号を受信する入力、前記カウンターにインクリメント又はデクリメント信号を提供する出力を有する検出ロジック
    を更に有する、システム。
  14. 第3のポイント・ツー・ポイント接続を経由して前記I/Oハブに、及び第4のポイント・ツー・ポイント接続を経由して前記第1の組に通信可能なように結合された、第2のプロセッサーと主記憶装置の組を更に有し、そして前記I/Oハブは、前記第2の組と前記画像用サブシステムの間で更にブリッジとして動作する、請求項13記載のシステム。
  15. 第5のポイント・ツー・ポイント接続を経由して前記I/Oハブに通信可能なように結合されたネットワーク・インターフェース制御部を更に有する、請求項14記載のシステム。
  16. 前記I/Oハブは、共に前記コンフィグレーション・レジスターの選択された1つを指すポート番号、機能番号、及びレジスター番号を有するコンフィグレーション・アドレス・レジスター、及び前記コンフィグレーション・レジスターの選択された1つの内容の一部を格納するコンフィグレーション・データ・レジスターを更に有する、請求項13記載のシステム。
  17. ソフトウェア・アクセス可能なレジスターの設定方法であって、中央演算処理装置により実行され、
    a)コンピューター・システム内で、前記システムの複数のソフトウェア・アクセス可能なレジスターの1つを指すインデックス変数にアクセスすることを目的とする第1のバス・イベント、及び前記インデックス変数が指すソフトウェア・アクセス可能なレジスターの内容にアクセスすることを目的とする第2のバス・イベントを検出する段階、及び次に
    b)前記ソフトウェア・アクセス可能なレジスターのいくつかを設定するために、ブロック・モードに変更する段階、及び次に
    c)前記システム内で、前記インデックス変数が指す複数のソフトウェア・アクセス可能なレジスターの1つを更新することを目的とする第3のバス・イベントを検出する段階、及び次に
    d)c)に応じて、及び前記インデックス変数にアクセスすることを目的とする別のバス・イベントを待たずに、前記インデックス変数を前記複数のソフトウェア・アクセス可能なレジスターの別の1つを指すよう変更する段階
    を有する、方法。
  18. 前記第1のバス・イベントは、所与のインデックス値を前記システムの第1の制御レジスターに書き込み、前記所与のインデックス値は前記複数のソフトウェア・アクセス可能なレジスターの所与の1つを指し、
    及び前記第2のバス・イベントは所与の内容値を前記システムの第2の制御レジスターに書き込み、前記システムはそして前記所与の内容値を所与の前記ソフトウェア・アクセス可能なレジスターに書き込む、
    請求項17記載の方法。
  19. 前記所与のインデックス及び内容値は、前記第1及び第2の制御レジスターにそれぞれ書き込まれる時に符号化される、請求項18記載の方法。
  20. d)の後に、
    e)前記複数のソフトウェア・アクセス可能なレジスターの前記別の1つを更新する第4のバス・イベントを検出する段階、及び次に、
    f)e)に応じて、及び前記インデックス変数を更新する更に別のバス・イベントを検出する前に、前記インデックス変数を前記複数のソフトウェア・アクセス可能なレジスターの更に別の1つを指すよう変更する段階、
    を更に有する、請求項17記載の方法。
  21. 前記第1及び第2のレジスターは、前記システムのホストCPU I/Oアドレス空間に割り付けられる、請求項18記載の方法。
  22. 製品であって、
    機械によりアクセスされる
    a)複数のコンフィグレーション・レジスター以下のb)からd)に従い設定されるブロック・モード動作、及び次に、
    b)前記コンフィグレーション・レジスターの1つを指す第1の制御レジスターにアクセスするバス・トランザクション、及び次に、
    c)前記コンフィグレーション・レジスターの1つの内容を格納する第2の制御レジスターにアクセスする別のバス・トランザクション、及び次に、
    d)前記第1の制御レジスターにアクセスする更なるバス・トランザクションを有さずに、それぞれが第2の制御レジスターにアクセスする複数の更なるバス・トランザクション
    を開始するデータを有する、機械アクセス可能な媒体
    を有する、製品。
  23. 前記媒体は、機械によりアクセスされると、前記ブロック・モードから通常モ―ドへの復帰を生じるデータを更に有し、前記通常モードでは、更なるコンフィグレーション・レジスターは、前記第1の制御レジスターにアクセスするバス・トランザクションを、そして次に前記第2の制御レジスターにアクセスする別のバス・トランザクションを開始することにより設定される、請求項22記載の製品。
  24. 前記データは、前記第1及び第2の制御レジスターをホスト/CPU I/Oアドレス空間へ割り付けられるよう処理する、請求項23記載の製品。
JP2006528222A 2003-09-25 2004-09-23 コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 Expired - Fee Related JP4359618B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/671,973 US7219167B2 (en) 2003-09-25 2003-09-25 Accessing configuration registers by automatically changing an index
PCT/US2004/031399 WO2005031563A2 (en) 2003-09-25 2004-09-23 Accessing configuration registers by automatically changing an index

Publications (2)

Publication Number Publication Date
JP2007507045A JP2007507045A (ja) 2007-03-22
JP4359618B2 true JP4359618B2 (ja) 2009-11-04

Family

ID=34393467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006528222A Expired - Fee Related JP4359618B2 (ja) 2003-09-25 2004-09-23 コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品

Country Status (6)

Country Link
US (1) US7219167B2 (ja)
EP (1) EP1668491A2 (ja)
JP (1) JP4359618B2 (ja)
CN (1) CN101189577B (ja)
TW (1) TWI245222B (ja)
WO (1) WO2005031563A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519802B2 (en) * 2004-05-05 2009-04-14 Hewlett-Packard Development Company, L.P. System and method for configuring a computer system
DE602005005021T2 (de) * 2005-04-22 2009-04-23 Infineon Technologies Ag System und Verfahren zum Zusammenbau und Zerlegung von Datenpaketen
JP4660362B2 (ja) * 2005-11-25 2011-03-30 株式会社日立製作所 計算機システム
US7624222B2 (en) * 2006-10-06 2009-11-24 International Business Machines Corporation South bridge system and method
WO2013101165A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Register error protection through binary translation
US20170270062A1 (en) * 2016-03-21 2017-09-21 Intel Corporation In-band retimer register access
US10198394B2 (en) * 2016-05-24 2019-02-05 Intel Corporation Reduced pin count interface
US20220206879A1 (en) * 2020-12-30 2022-06-30 Heena Bhatia PCIe Race Condition secure by Trait Claims and Address Space by using Portable Stimulus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021498A (en) 1994-04-06 2000-02-01 Advanced Micro Devices, Inc. Power management unit including a programmable index register for accessing configuration registers
US5655148A (en) * 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
JP3458532B2 (ja) * 1995-06-02 2003-10-20 株式会社デンソー 車両用交流発電機の整流装置
KR100223844B1 (ko) * 1996-12-27 1999-10-15 구본준 옵션 자동 설정 회로
US6553439B1 (en) * 1999-08-30 2003-04-22 Intel Corporation Remote configuration access for integrated circuit devices
US6407960B1 (en) * 2000-09-01 2002-06-18 Advanced Micro Devices Arrangement for programming selected device registers during initialization from an external memory
US7036005B2 (en) 2001-12-31 2006-04-25 Intel Corporation Method and apparatus for modifying the contents of revision identification register
US6697076B1 (en) * 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping

Also Published As

Publication number Publication date
CN101189577A (zh) 2008-05-28
EP1668491A2 (en) 2006-06-14
US20050086463A1 (en) 2005-04-21
CN101189577B (zh) 2012-03-21
US7219167B2 (en) 2007-05-15
TW200517957A (en) 2005-06-01
WO2005031563A2 (en) 2005-04-07
WO2005031563A3 (en) 2006-05-18
TWI245222B (en) 2005-12-11
JP2007507045A (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
KR100262677B1 (ko) Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드
US7107382B2 (en) Virtual peripheral component interconnect multiple-function device
KR100909119B1 (ko) 집적 dma 엔진을 사용하는 고성능 휘발성 디스크드라이브 메모리 액세스 장치 및 방법
US5878237A (en) Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses
US5675794A (en) Method and apparatus for configuring multiple agents in a computer system
US5826093A (en) Dual function disk drive integrated circuit for master mode and slave mode operations
US6292859B1 (en) Automatic selection of an upgrade controller in an expansion slot of a computer system motherboard having an existing on-board controller
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
US6611912B1 (en) Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard
US20080133787A1 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
US20060253694A1 (en) Peripheral device with hardware linked list
JP2001142842A (ja) Dmaハンドシェークプロトコル
US5764996A (en) Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
JP2009043256A (ja) 記憶装置のアクセス方法及び装置
US5859987A (en) Method and apparatus for providing multiple configuration reset modes for an intelligent bridge
JP4359618B2 (ja) コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品
US6021483A (en) PCI-to-PCI bridges with a timer register for storing a delayed transaction latency
US5933613A (en) Computer system and inter-bus control circuit
KR20010108428A (ko) 데이터 트랜잭션 액세스 시스템 및 방법
US6081861A (en) PCI migration support of ISA adapters
CN114281726B (zh) 用于soc芯片的系统架构及外设通信方法
JPH0973429A (ja) コンピュータシステム及びバス間制御回路
EP0869441A2 (en) Bus-to-bus bridge
JPH1021182A (ja) 割り込み処理方式および制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090224

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090402

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090810

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees