JP4799222B2 - 情報処理装置、情報処理システムおよび初期化方法 - Google Patents

情報処理装置、情報処理システムおよび初期化方法 Download PDF

Info

Publication number
JP4799222B2
JP4799222B2 JP2006061124A JP2006061124A JP4799222B2 JP 4799222 B2 JP4799222 B2 JP 4799222B2 JP 2006061124 A JP2006061124 A JP 2006061124A JP 2006061124 A JP2006061124 A JP 2006061124A JP 4799222 B2 JP4799222 B2 JP 4799222B2
Authority
JP
Japan
Prior art keywords
bridge
pci
processor system
peripheral device
information processing
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
JP2006061124A
Other languages
English (en)
Other versions
JP2007241526A (ja
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.)
Sony Interactive Entertainment Inc
Sony Corp
Original Assignee
Sony Interactive Entertainment Inc
Sony Corp
Sony Computer Entertainment Inc
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 Sony Interactive Entertainment Inc, Sony Corp, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2006061124A priority Critical patent/JP4799222B2/ja
Publication of JP2007241526A publication Critical patent/JP2007241526A/ja
Application granted granted Critical
Publication of JP4799222B2 publication Critical patent/JP4799222B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)
  • Stored Programmes (AREA)

Description

この発明は、プロセッサシステムがブリッジを介して周辺デバイスと接続可能な情報処理装置および情報処理システム、ならびに初期化方法に関する。
パーソナルコンピュータやサーバには、PCI(Peripheral Component Interconnect)バスを介して各種の周辺デバイスが接続され、情報処理システムが構成される。プロセッサの入出力バスと、周辺デバイスの入出力バスであるPCIバスとは規格が異なるため、通常、ブリッジを介してプロセッサと周辺デバイスとが接続される。
情報処理システムの機能拡張や性能強化を図るために、グラフィックプロセッサや高速なメモリデバイスをPCIデバイスとして接続することがあり、より多くの周辺デバイスをPCIバスで接続できるようにすることが要請されている。そのため、ブリッジの先にPCIスイッチを多段接続して、PCIデバイスのネットワークを構成することもある。
情報処理システムの電源を常時オンにせずに使用時にだけ電源を投入して利用する場合、ブートコードをフラッシュメモリなどからロードしてシステムを起動するのが普通である。フラッシュメモリからのブートコードの読み込みには時間がかかり、システムの起動が遅くなるという問題があった。
本発明はこうした課題に鑑みてなされたものであり、その目的は、システムの起動を高速化することのできる情報処理装置および情報処理システム、ならびに初期化方法を提供することにある。
上記課題を解決するために、本発明のある態様の初期化方法は、プロセッサシステムと周辺デバイスとがブリッジにより相互に接続された情報処理システムの初期化方法であって、前記情報処理システムの外部に接続されたシステムコントローラが前記プロセッサシステムと前記ブリッジの双方の制御レジスタにアクセスして前記プロセッサシステムと前記ブリッジの間の入出力インタフェースを初期化する間に、前記システムコントローラが前記ブリッジに接続された前記周辺デバイスを初期化する。
この態様によると、プロセッサシステムとブリッジの間の入出力インタフェースを初期化する間に、並行してブリッジに接続された周辺デバイスを初期化するため、情報処理システムの初期化に要する時間を短縮することができる。
前記プロセッサシステムが、前記ブリッジを介して、前記システムコントローラによる初期化が完了した前記周辺デバイスからブートコードを読み込んで起動するステップをさらに含んでもよい。これによれば、プロセッサシステムは、ブリッジを介して、既に初期化が完了した周辺デバイスからブートコードを読み込むため、ブリッジを介した周辺デバイスへのパスの初期化をスキップして、ブートコードのロードを直ちに開始することができ、システムが早く起動する。また、高速な周辺デバイスを利用することにより、フラッシュメモリなどからブートコードを読み込むよりも高速にブートコードの読み取りが可能である。
前記システムコントローラが前記周辺デバイスを初期化したときに得られる前記周辺デバイスの初期化情報を、前記システムコントローラと前記プロセッサシステムの双方がアクセス可能な前記ブリッジ内に設けられた共有メモリに書き込むステップと、前記プロセッサシステムが自らは前記周辺デバイスの初期化を行うことなく、前記周辺デバイスの初期化情報を前記共有メモリから取得するステップとを含んでもよい。これによれば、プロセッサシステムは自ら周辺デバイスを初期化しなくても、周辺デバイスの初期化情報を得ることができ、システムの起動後直ちに、周辺デバイスに対応したドライバにより周辺デバイスにアクセスすることができる。
本発明の別の態様は、情報処理システムである。この情報処理システムは、プロセッサシステムと、前記プロセッサシステムとデータをやりとりする周辺デバイスと、前記プロセッサシステムの入出力バスと前記周辺デバイスの入出力バスを相互接続するブリッジとを含む。前記プロセッサシステムと前記ブリッジの双方にアクセス可能なシステムコントローラにより、前記プロセッサシステムと前記ブリッジの双方の制御レジスタがアクセスされて前記プロセッサシステムと前記ブリッジの間の入出力インタフェースが初期化される間に、前記ブリッジに接続された前記周辺デバイスが前記システムコントローラにより初期化される。
本発明のさらに別の態様は、情報処理装置である。この装置は、プロセッサシステムと、前記プロセッサシステムの入出力バスと周辺デバイスの入出力バスを相互接続するブリッジとを含む。前記プロセッサシステムと前記ブリッジの双方にアクセス可能なシステムコントローラにより、前記プロセッサシステムと前記ブリッジの双方の制御レジスタがアクセスされて前記プロセッサシステムと前記ブリッジの間の入出力インタフェースが初期化される間に、前記ブリッジに接続された周辺デバイスが前記システムコントローラにより初期化される。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、システムの起動を高速化することができる。
図1は、実施の形態に係る情報処理システムの構成図である。情報処理システムは、プロセッサシステム10と各種の周辺(ペリフェラル)デバイスとがブリッジ100を介して接続されて構成される。
プロセッサシステム10は、メインプロセッサ、メモリ、入出力インタフェースなどを含むホストシステムである。プロセッサシステム10は、一例として複数のプロセッサを含むマルチプロセッサシステムであってもよい。
ブリッジ100は、プロセッサシステム10のホストバス40と、各種周辺デバイスの入出力バスとを「橋渡し」することで、プロセッサシステム10と各種周辺デバイスとを相互接続する。プロセッサシステム10のホストバス40と、周辺デバイスの入出力バスとは、バスの規格が異なるため、ブリッジ100は、2つのバスの間でプロトコルの変換を行い、プロセッサシステム10と周辺デバイスとがやりとりするデータのフォーマットを各バスの仕様に合わせる。
ここでは、周辺デバイスの接続インタフェースとして、PCIバスを用いる。ここで、PCIバスは、PCI、PCI−X、PCI Express(商標または登録商標)のいずれの仕様によるものでもよい。PCIバスで接続された周辺デバイスを以下、「PCIデバイス」という。
ブリッジ100の上流ポートにはプロセッサシステム10がホストバス40経由でつながれるが、ブリッジ100の下流ポートにはPCIデバイスが直接つながれてもよく、下流ポートにPCIスイッチがつながれて、PCIスイッチの先にPCIデバイスが接続されてもよい。ここで、PCIスイッチは、各ポートにPCIデバイスを接続してネットワークを構成し、接続されたPCIデバイス間でやりとりされるPCIパケットの経路制御を行うものである。
PCIスイッチをカスケード接続して、多段のPCIスイッチからなるネットワークを構成してもよい。このようにPCIスイッチを多段接続し、その末端にPCIデバイスを接続すると、ブリッジ100をルート(根)とし、リーフ(葉)にはPCIデバイスが接続されたPCIデバイスのツリー(木)構造が形成される。以下、このPCIデバイスのツリー構造を「PCIデバイスツリー」という。
図1には、PCIデバイスツリーの一例が示されている。ブリッジ100の第1の下流ポートには、PCIバス50を介して第1段目のPCIスイッチ200aが接続され、第2の下流ポートには、PCIバス50を介して第1のPCIデバイス220aが接続されている。さらに第1段目のPCIスイッチ200aの第1の下流ポートには、PCIバス50を介して第2のPCIデバイス220bが接続され、第2の下流ポートには、PCIバス50を介して第2段目のPCIスイッチ200bが接続されている。第2段目のPCIスイッチ200bの下流ポートにはさらにPCIデバイスまたはPCIスイッチが接続される。以下、PCIデバイス220a、220bなどを総称するときは、PCIデバイス220という。
図1のPCIデバイスツリーにおいて、第1のPCIデバイス220aはメモリデバイスであり、以下、「PCIメモリデバイス220a」と呼ぶ。PCIメモリデバイス220aは高速な記憶デバイスであり、ブートROM212が接続されている。ブートROM212には、電源投入時にプロセッサシステム10を起動させるためのブートコードが記憶されている。
システムコントローラ20は、当該情報処理システムの電源投入やシステム初期化などを制御するマイクロコンピュータであり、プロセッサシステム10とブリッジ100にSPI(Serial Peripheral Interface)30で接続されている。システムコントローラ20は、当該情報処理システムの電源がオフの状態でも非常に低い消費電力で常時稼働している。
システムコントローラ20には、各種のPCIデバイスのドライバの一部が実装されており、システムコントローラ20は、ブリッジ100の下流にある複数のPCIデバイス220の初期化を行うことができる。
プロセッサシステム10のブートコードは、ブリッジ100の先に接続されたPCIメモリデバイス220aのブートROM212に格納されているため、システムコントローラ20は、プロセッサシステム10がブートROM212からブートコードをロードできるように、PCIメモリデバイス220aへのデータパスをあらかじめ初期化しておく。
当該情報処理システムの電源投入後、システムコントローラ20は、プロセッサシステム10とブリッジ100の制御レジスタにアクセスし、ホストバス40を初期化する。
ホストバス40の初期化には、特定の信号パターンをバスに流すことによるキャリブレーションが必要であるため、一定の時間を要する。そこで、システムコントローラ20は、ホストバス40の初期化が行われている間に、同時にブリッジ100内部の初期化と、ブリッジ100の下流に接続されたPCIデバイス220の初期化を行う。
バスのキャリブレーションとは、高速信号をパラレル伝送する際、各ピンのスキューを少しずつずらしてスキューが最小となるポイントを探し、送信側で各ピンのタイミングを調整することである。ここで、各ピン間に生じるスキューとは、ピン毎に、コントローラとDRAMチップ間の伝送においてタイミングに違いが生じる現象のことである。
システムコントローラ20は、ブリッジ100の下流に接続された複数のPCIデバイス220の中から特定のPCIメモリデバイス220aを見つけ、そのPCIメモリデバイス220aを初期化することで、プロセッサシステム10を起動するためのブートコードが格納されているアドレス(以下、「ブートアドレス」という)を取得し、そのアドレスをプロセッサシステム10に与える。
プロセッサシステム10は、ホストバス40の初期化が終わると、ブリッジ100を介してPCIメモリデバイス220aにアクセスし、システムコントローラ20から通知されたブートアドレスからブートコードを読み出す。
ブリッジ100は、システムコントローラ20とプロセッサシステム10の双方からアクセス可能なメモリ領域として共有メモリ110をもち、システムコントローラ20とプロセッサシステム10は、共有メモリ110を利用してデータをやりとりすることができる。
システムコントローラ20は、PCIデバイスツリーを初期化した際に取得したコンフィグレーションレジスタの内容などのPCIデバイスの初期化情報をブリッジ100の共有メモリ110に書き込む。ブートが完了したプロセッサシステム10上で動作するPCIドライバは、ブリッジ100の共有メモリ110からPCIデバイスの初期化情報を読み取る。
ここで、共有メモリ110に記憶されるPCIデバイスの初期化情報は、PCIの仕様で定められているコンフィグレーションレジスタの内容であり、具体的には、PCIメモリ空間のベースアドレス、デバイスID、ベンダID、クラス、バス番号などである。
システムコントローラ20がPCIデバイスツリーを初期化しているため、プロセッサシステム10上のPCIドライバは、自らはPCIデバイスツリーを初期化する必要がなく、システムコントローラ20からPCIデバイスの初期化情報を取得することができる。プロセッサシステム10上のPCIドライバは、必要に応じてアドレスマップの再構築を行う。また、プロセッサシステム10は、個々のPCIデバイスに対応するデバイスドライバにより、個々のPCIデバイスに特有の初期設定などの追加処理を行う。
図2は、ブリッジ100の機能構成図である。同図は機能に着目したブロック図を描いており、これらの機能ブロックはハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現することができる。
ブリッジ100は、上流のホストバス40と下流のPCIバス50a〜50dを橋渡してパケットを転送するために、ホストバスとPCIバス間のプロトコル変換とパケットの経路制御を行う。
ブリッジ100は、プロセッサシステム10からホストバス40経由で入力されたパケットをルーティングして、PCIバス50a〜50d(総称するときはPCIバス50という)経由でPCIスイッチ200/PCIデバイス220へ転送する。また、ブリッジ100は、PCIスイッチ200/PCIデバイス220からPCIバス50経由で入力されたパケットをルーティングして、ホストバス40経由でプロセッサシステム10へ転送するか、あるいは、PCIバス50経由で他のPCIスイッチ200/PCIデバイス220へ転送する。
ブリッジ100の上流(アップストリーム)ポート102は、ホストバス40を介してプロセッサシステム10と接続され、下流(ダウンストリーム)ポート104a〜104dは、PCIバス50a〜50dを介してPCIスイッチ200/PCIデバイス220と接続される。
上流ポート102に接続されたホスト−PCIブリッジ120は、プロセッサシステム10からホストバス40を経由して入力されたパケットのデータフォーマットを物理層からデータリンク層、トランザクション層へと変換した上で、トランザクション層においてパケットのプロトコルをホストバスのプロトコルからPCIバスのプロトコルに変換する。ホスト−PCIブリッジ120は、PCIバスのプロトコルに変換されたパケットをスイッチルーティング回路140に渡す。
スイッチルーティング回路140には、PCI−PCIブリッジ130a〜130d(総称するときは、PCI−PCIブリッジ130という)が接続され、これらはそれぞれ下流ポート104a〜104d(総称するときは下流ポート104という)に接続されている。スイッチルーティング回路140は、ホスト−PCIブリッジ120から与えられたパケットのヘッダに含まれる宛先アドレスにもとづいてパケットの経路選択を行い、パケットを転送すべきポートを決め、パケットを転送的のPCI−PCIブリッジ130に渡す。
PCI−PCIブリッジ130は、スイッチルーティング回路140から与えられたパケットをトランザクション層からデータリンク層、物理層へと変換し、下流ボート104を経由してPCIスイッチ200またはPCIデバイス220に転送する。
このようにして、プロセッサシステム10から入力されたパケットは、ルーティングの結果、宛先のPCIスイッチ200またはPCIデバイス220に転送される。
以上、上流ポート102から入力されたパケットのフローを説明した。下流ポート104から入力されたパケットのフローは次のようになる。
PCI−PCIブリッジ130は、PCIスイッチ200/PCIデバイス220からPCIバス50を経由して入力されたパケットのデータフォーマットを物理層からデータリンク層、トランザクション層へと変換してスイッチルーティング回路140に渡す。
スイッチルーティング回路140は、PCI−PCIブリッジ130から与えられたパケットのヘッダに含まれる宛先アドレスにもとづいてパケットの経路選択を行い、パケットを転送すべきポートを決め、パケットを転送先であるホスト−PCIブリッジ120または他のPCI−PCIブリッジ130に渡す。
転送先がホスト−PCIブリッジ120である場合、ホスト−PCIブリッジ120は、スイッチルーティング回路140から与えられたPCIパケットのプロトコルをPCIバスのプロトコルからホストバスのプロトコルに変換した上で、パケットのデータフォーマットをトランザクション層からデータリンク層、物理層へと変換し、上流ポート102に出力する。
転送先が他のPCI−PCIブリッジ130である場合、そのPCI−PCIブリッジ130は、スイッチルーティング回路140から与えられたパケットをトランザクション層からデータリンク層、物理層へと変換し、下流ポート104に出力する。
このようにして、PCIスイッチ200/PCIデバイス220から入力されたパケットは、ルーティングの結果、宛先であるプロセッサシステム10または他のPCIスイッチ200/PCIデバイス220に転送される。
さらに、ブリッジ100は、システムコントローラ20とプロセッサシステム10がアクセスできる共有メモリ110をもつ。一例として、プロセッサシステム10はホストバス40を介して共有メモリ110にアクセス可能であり、システムコントローラ20はSPI30を介して共有メモリ110にアクセス可能である。
システムコントローラ20は、PCIデバイス220の初期化情報を共有メモリ110に書き込み、プロセッサシステム10は、共有メモリ110からPCIデバイス220の初期化情報を読み取る。
図3は、PCIスイッチ200の機能構成図である。PCIスイッチ200は、PCIデバイスツリーのルート以外の中間段に設置され、入力側のPCIバスと出力側のPCIバスを中継してパケットを転送するためにパケットの経路制御を行う。
PCIスイッチ200の上流ポート102は、PCIバス50を介してブリッジ100/PCIスイッチ200と接続され、下流ポート104a〜104dは、PCIバス50a〜50dを介して次段のPCIスイッチ200/PCIデバイス220と接続される。
上流ポート102に接続されたPCI−PCIブリッジ130eは、ブリッジ100またはPCIスイッチ200からPCIバス50eを経由して入力されたパケットのデータフォーマットを物理層からデータリンク層、トランザクション層へと変換してスイッチルーティング回路140に渡し、スイッチルーティング回路140から渡されたパケットのデータフォーマットをトランザクション層からデータリンク層、物理層へと変換し、上流ポート102に出力する。
図1のブリッジ100では、上流ポート102がホストバス40に接続されているため、ホスト−PCIブリッジ120においてホストバスからPCIバスへのプロトコル変換が必要であったが、図2のPCIスイッチ200では、上流ポート102がPCIバス50に接続されているため、PCI−PCIブリッジ130eにおいて異なるバス間のプロトコル変換は不要である。それ以外のパケットの経路制御と転送に係る構成は図2のブリッジ100と同じであるから、図2のブリッジ100と同じ構成には同一の符号を付して説明を省略する。
なお、PCIスイッチ200には、ブリッジ100とは違って、共有メモリ110は設けられない。
図4は、実施の形態に係る情報処理システムの初期化手順を説明する図である。縦軸に時間をとり、システムコントローラ20、プロセッサシステム10、ブリッジ100、PCIメモリデバイス220の各構成の処理が時系列で示されている。
システムコントローラ20が情報処理システムの電源をオンにする(SA10)。これにより、プロセッサシステム10、ブリッジ100、PCIメモリデバイス220aの各装置に電力が供給され、内部初期化が行われる(SB10、SC10、SD10)。
システムコントローラ20は、プロセッサシステム10とブリッジ100を初期設定し、ブートコードを読み出すブートアドレスを設定する(SA12)。
システムコントローラ20は、プロセッサシステム10とブリッジ100の制御レジスタにアクセスしてホストバス40の初期化を行う(SA14)。これにより、プロセッサシステム10とブリッジ100においてホストバス40の初期化が開始される(SB12、SC12)。
システムコントローラ20は、ホストバス40の初期化(SA14)と並行して、PCIバスの初期化(SA16)を行う。PCIバスの初期化は、システムコントローラ20がブリッジ100の内部制御レジスタにアクセスすることにより行われる。
ブリッジ100は、PCIデバイスツリー内のPCIデバイス220を探索して初期化設定を行うための特別なPCIリード(Read)/ライト(Write)命令であるコンフィグレーションリード/ライト命令を発行する(SC14)。
PCIデバイス220の初期化は、PCIデバイス220に対してコンフィグレーションリード/ライトを発行し、各PCIデバイス220がもつコンフィグレーション空間を操作することにより行われる。コンフィグレーションリード/ライトは、ブリッジ100に実装された内部制御レジスタにアドレスやデータを読み書きすることで発生する。システムコントローラ20は、ブリッジ100に実装された制御レジスタをあらかじめ知っており、ブリッジ100が定める方法にしたがってPCIデバイスツリーの初期化を行う。
コンフィグレーションリード/ライト命令は、PCIデバイスツリーのアドレスマップが定まる前に発行されるため、バス番号、デバイス番号、および機能番号を組み合わせた識別番号を用いてPCIデバイス220を特定し、特定されたPCIデバイス220にアクセスする。システムコントローラ20は、コンフィグレーションリードによって、PCIデバイス220の探索を行い、各PCIデバイス220が要求するメモリ領域の大きさを読み出す。次に、システムコントローラ20は、コンフィグレーションライトによって、各PCIデバイス220にPCIメモリ空間のベースアドレスを書き込み、PCIデバイス220毎にアドレスを割り当てる。
システムコントローラ20は、PCIデバイスツリー内のすべてのPCIデバイス220を見つけ、それぞれが要求するアドレス範囲にもとづいて、各PCIデバイス220のアドレス空間が重複しないようにアドレスオフセットを設定する。このようにして、PCIメモリ空間に各PCIデバイス220のアドレス領域が形成される。これがPCIデバイスのアドレスマップである。
PCIメモリデバイス220aは、ブリッジ100からのコンフィグレーションリード命令を受けて、バス番号とPCIメモリ空間におけるベースアドレスを決定する(SD12)。ブリッジ100は、PCIメモリデバイス220aからベースアドレスなどの初期化情報を取得し、取得した初期化情報をコンフィグレーションレジスタに設定する。
プロセッサシステム10およびブリッジ100においてホストバスの初期化処理が完了すると(SB14、SC16)、システムコントローラ20は、情報処理システムの初期化処理を完了し、プロセッサシステム10にブートを指示する(SA18)。
ここまでの処理(同図の点線よりも上の処理)は、システムコントローラ20が主導する形で行われ、これ以降の処理(同図の点線よりも下の処理)は、プロセッサシステム10が主導する形で行われる。
プロセッサシステム10は、システムコントローラ20から通知されたブートアドレスからブートコードを読み出すための命令をブリッジ100に送る(SB16)。ブリッジ100は、PCIメモリデバイス220aに対してブートアドレスのデータをリードする命令を発行する(SC18)。PCIメモリデバイス220aは、ブートROM212からブートコードをリードし、取得したブートコードをブリッジ100に渡す(SD14)。ブリッジ100は、PCIメモリデバイス220aから取得したブートコードをプロセッサシステム10に渡す。これにより、プロセッサシステム10におけるブートコードの読み出しが終わり、プロセッサシステム10は、ブートコードを実行し、システムを起動する(SB18)。
プロセッサシステム10は、システムコントローラ20からのこれ以降のプロセッサシステム10に対するアクセスを禁止する(SB20)。ブリッジ100は、これ以降、システムコントローラ20がSPI30経由で共有メモリ110以外にアクセスしてくるのを禁止する(SC20)。ブリッジ100は、システムコントローラ20が共有メモリ110にアクセスすることは許容する。
システムコントローラ20は、プロセッサシステム10からの要求に応じて、PCIデバイスの初期化情報をブリッジ100の共有メモリ110に書き込むことで、プロセッサシステム10にPCIデバイスの初期化情報を供給する(SA20)。
プロセッサシステム10は、システムコントローラ20と共有メモリ110を介したデータ通信を行い、システムコントローラ20からPCIデバイスの初期化情報を受け取る(SB22)。
プロセッサシステム10は、PCIデバイスの初期化情報をチェックし、PCIデバイスの初期化をスキップする。もっとも、必要に応じてPCIデバイスの初期化を再度行ってもよい。PCIデバイスの初期化情報により、PCIデバイスツリー内にあるすべてのPCIデバイス220のベースアドレスやデバイスIDが明らかとなっており、プロセッサシステム10は、各PCIデバイス220に対応するデバイスドライバを起動して、各PCIデバイス220に固有の初期化をそれぞれのデバイスドライバに行わせる(SB24)。
以上説明したように、本実施の形態の情報処理システムによれば、プロセッサシステム10がブートする前に、システムコントローラ20があらかじめブリッジ100に接続されたPCIデバイスを初期化しておくことで、プロセッサシステム10は、PCIバスで接続された高速なメモリデバイスからブートコードをロードすることが可能となり、ブートの高速化を図ることができる。
システムコントローラ20を低消費電力で常時稼働させておけば、情報処理システムの電源は落としていても、システムを高速に立ち上げることができるため、利便性を犠牲にすることなく消費電力コストを抑えることができる。特にプロセッサシステム10がマルチプロセッサシステムである場合や、ブリッジ100を介して多数のPCIデバイス220が接続されている場合には、消費電力が大きくなるため、常時稼働でなく、使用時にのみ電源を投入してシステムを起動することで、消費電力コストを大幅に下げることができる。
従来のシステムでは、プロセッサシステム10のオペレーティングシステムがブートしてから、PCIドライバがブリッジ100にツリー構造で接続された複数のPCIデバイスを探索し、各PCIデバイスのベースアドレスを決めて、PCIメモリ空間のアドレスマップを構築する。それに対して、本実施の形態の情報処理システムでは、プロセッサシステム10のオペレーティングシステムがブートする前に、既にシステムコントローラ20がPCIデバイスの初期化を完了し、PCIデバイスのアドレスマップが構築されている。そのため、プロセッサシステム10のオペレーティングシステムに含まれるPCIドライバがブリッジ100に接続されたPCIデバイスを探索して初期化する必要はない。
また、本実施の形態によれば、プロセッサシステム10とシステムコントローラ20の双方がアクセス可能な共有メモリ110がブリッジ100に設けられる。システムコントローラ20がPCIバスの初期化の際に取得したPCIデバイスの初期化情報を共有メモリに書き込んでおけば、プロセッサシステム10は、ブート後に共有メモリからPCIデバイスの初期化情報を取得して、PCIデバイスに対応したドライバを起動してPCIデバイスに直ちにアクセスすることができる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記の説明では、周辺デバイスを接続するためのインタフェースとしてPCIを例に挙げて説明したが、本発明は、周辺デバイスがPCI以外のインタフェースで接続される場合にも適用できることはいうまでもない。
実施の形態に係る情報処理システムの構成図である。 図1のブリッジの機能構成図である。 図1のPCIスイッチの機能構成図である。 実施の形態に係る情報処理システムの初期化手順を説明する図である。
符号の説明
10 プロセッサシステム、 20 システムコントローラ、 30 SPI、 40 ホストバス、 50 PCIバス、 100 ブリッジ、 110 共有メモリ、 120 ホスト−PCIブリッジ、 130 PCI−PCIブリッジ、 140 スイッチルーティング回路、 200 PCIスイッチ、 212 ブートROM、 220a PCIメモリデバイス、 220b PCIデバイス。

Claims (7)

  1. プロセッサシステムと周辺デバイスとがブリッジにより相互に接続された情報処理システムの初期化方法であって、
    前記情報処理システムの外部に接続されたシステムコントローラが前記プロセッサシステムと前記ブリッジの双方の制御レジスタにアクセスして前記プロセッサシステムと前記ブリッジの間の入出力インタフェースを初期化する間に、前記システムコントローラが前記ブリッジに接続された前記周辺デバイスを初期化することを特徴とする初期化方法。
  2. 前記プロセッサシステムが、前記ブリッジを介して、前記システムコントローラによる初期化が完了した前記周辺デバイスからブートコードを読み込んで起動するステップをさらに含むことを特徴とする請求項1に記載の初期化方法。
  3. 前記システムコントローラが前記周辺デバイスを初期化したときに得られる前記周辺デバイスの初期化情報を、前記システムコントローラと前記プロセッサシステムの双方がアクセス可能な前記ブリッジ内に設けられた共有メモリに書き込むステップと、
    前記プロセッサシステムが自らは前記周辺デバイスの初期化を行うことなく、前記周辺デバイスの初期化情報を前記共有メモリから取得するステップとを含むことを特徴とする請求項2に記載の初期化方法。
  4. プロセッサシステムと、
    前記プロセッサシステムの入出力バスと周辺デバイスの入出力バスを相互接続するブリッジとを含み、
    前記プロセッサシステムと前記ブリッジの双方にアクセス可能なシステムコントローラにより、前記プロセッサシステムと前記ブリッジの双方の制御レジスタがアクセスされて前記プロセッサシステムと前記ブリッジの間の入出力インタフェースが初期化される間に、前記ブリッジに接続された周辺デバイスが前記システムコントローラにより初期化されることを特徴とする情報処理装置。
  5. 前記周辺デバイスには、前記プロセッサシステムが起動するためのブートコードを記憶するメモリ領域が設けられ、
    前記プロセッサシステムは、前記ブリッジを介して、前記システムコントローラによる初期化が完了した前記周辺デバイスから前記ブートコードを読み込んで起動することを特徴とする請求項4に記載の情報処理装置。
  6. 前記ブリッジには、前記システムコントローラと前記プロセッサシステムがアクセス可能な共有メモリが設けられ、
    前記システムコントローラは、前記周辺デバイスを初期化したときに得られる前記周辺デバイスの初期化情報を前記共有メモリに書き込み、
    前記プロセッサシステムは、自らは前記周辺デバイスの初期化を行うことなく、前記周辺デバイスの初期化情報を前記共有メモリから読み出して利用することを特徴とする請求項5に記載の情報処理装置。
  7. プロセッサシステムと、
    前記プロセッサシステムとデータをやりとりする周辺デバイスと、
    前記プロセッサシステムの入出力バスと前記周辺デバイスの入出力バスを相互接続するブリッジとを含み、
    前記プロセッサシステムと前記ブリッジの双方にアクセス可能なシステムコントローラにより、前記プロセッサシステムと前記ブリッジの双方の制御レジスタがアクセスされて前記プロセッサシステムと前記ブリッジの間の入出力インタフェースが初期化される間に、前記ブリッジに接続された前記周辺デバイスが前記システムコントローラにより初期化されることを特徴とする情報処理システム。
JP2006061124A 2006-03-07 2006-03-07 情報処理装置、情報処理システムおよび初期化方法 Expired - Fee Related JP4799222B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006061124A JP4799222B2 (ja) 2006-03-07 2006-03-07 情報処理装置、情報処理システムおよび初期化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006061124A JP4799222B2 (ja) 2006-03-07 2006-03-07 情報処理装置、情報処理システムおよび初期化方法

Publications (2)

Publication Number Publication Date
JP2007241526A JP2007241526A (ja) 2007-09-20
JP4799222B2 true JP4799222B2 (ja) 2011-10-26

Family

ID=38587028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006061124A Expired - Fee Related JP4799222B2 (ja) 2006-03-07 2006-03-07 情報処理装置、情報処理システムおよび初期化方法

Country Status (1)

Country Link
JP (1) JP4799222B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101397377B1 (ko) * 2008-02-26 2014-05-19 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 호스트 열거 프로세스 수행 방법 및 장치
JP5360607B2 (ja) * 2008-05-16 2013-12-04 日本電気株式会社 Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
JP6525555B2 (ja) 2014-11-04 2019-06-05 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
KR102654610B1 (ko) * 2015-10-06 2024-04-03 자일링크스 인코포레이티드 멀티스테이지 부트 이미지 로딩 및 프로그램가능 로직 디바이스들의 구성

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307649A (ja) * 1997-05-07 1998-11-17 Toshiba Corp コンピュータシステムおよびその初期化方法
JP3698959B2 (ja) * 2000-06-09 2005-09-21 エヌイーシーコンピュータテクノ株式会社 情報処理装置

Also Published As

Publication number Publication date
JP2007241526A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4799222B2 (ja) 情報処理装置、情報処理システムおよび初期化方法
JP5440507B2 (ja) マルチルートpciエクスプレススイッチ、その起動方法、及び、マルチルートpciマネージャプログラム
US7752346B2 (en) Universal routing in PCI-Express fabrics
US8135873B2 (en) Information processing device for performing information exchange between a PCI express bus and a non-PCI express bus interface
US8995302B1 (en) Method and apparatus for translated routing in an interconnect switch
EP2257880B1 (en) System and method for transforming pcie sr-iov functions to appear as legacy functions
CN100483373C (zh) Pvdm(分组语音数据模块)通用总线协议
JP6753412B2 (ja) コンピュータ、デバイス割当管理方法及びプログラム
JP3476174B2 (ja) ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
CN115203101A (zh) PCIe装置及其操作方法
JP2009110032A (ja) ブリッジ、情報処理装置、情報処理システムおよびグローバルアドレス管理方法
JP2001333137A (ja) 自主動作通信制御装置及び自主動作通信制御方法
US7895388B2 (en) Bus control device
TWI245222B (en) Accessing configuration registers by automatically changing an index
JP4257358B2 (ja) バス制御方法および装置
JP4116805B2 (ja) 内部バス試験装置及び内部バス試験方法
JP2011113163A (ja) Ioアクセス通信システムにおけるエンドポイント間通信制御装置および方法
EP1365544B1 (en) Bridge element enabled module and method
US7596651B2 (en) Multi-character adapter card
JP6597925B1 (ja) 情報処理システム
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JPH08305658A (ja) I/oバス
JPH1145209A (ja) プログラム転送システム
JP2005100210A (ja) バス構成回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101214

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110720

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: 20110726

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: 20110802

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

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4799222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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