(57)【要約】【課題】  セカンダリバス側へのリセットタイミングに寄らず、プライマリバス側のプロトコル違反とはならないバスブリッジのリセット制御装置を提案する。【解決手段】  プライマリバスとセカンダリバスを接続するバスブリッジ内のリセット制御装置であって、バスブリッジは、少なくともプライマリバスコントローラと、セカンダリバスコントローラと、リセット制御装置を含み、リセット制御装置は、少なくともプライマリバスに接続されたシステムからのセカンダリリセット要因を認識する手段、プライマリバスコントローラとセカンダリバスコントローラの動作状態を認識する手段、バスブリッジ内部及びセカンダリシステムのリセットタイミングを決定する制御手段を有し、プライマリバスコントローラが動作中の場合は、プライマリバスコントローラがアイドル状態に遷移してから、リセット装置がセカンダリバスコントローラをリセットすることである。【選択図】  図４
2008059051.tif 000002
【特許請求の範囲】
【請求項１】
プライマリバスとセカンダリバスを接続するバスブリッジ内のリセット制御装置であって、前記バスブリッジは、少なくともプライマリバスコントローラと、セカンダリバスコントローラと、前記リセット制御装置を含み、前記リセット制御装置は、少なくとも前記プライマリバスに接続されたシステムからのセカンダリリセット要因を認識するセカンダリリセット要因認識手段、前記プライマリバスコントローラと前記セカンダリバスコントローラの動作状態を認識するバス状態認識手段、バスブリッジ内部及びセカンダリシステムのリセットタイミングを決定するリセットタイミング制御手段を有し、前記プライマリバスコントローラが動作中の場合は、前記プライマリバスコントローラがアイドル状態に遷移してから、前記リセット装置が前記セカンダリバスコントローラをリセットすることを特徴とするリセット制御装置。
【請求項２】
前記プライマリバスはPCIバスであり、前記セカンダリバスはPCIバスであり、前記バスブリッジはPCI-to-PCIブリッジであることを特徴とする請求項1記載のリセット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの一部を初期化するリセット制御装置に関し、特にプライマリバスとセカンダリバスを接続するバスブリッジ内のリセット制御装置に関するものである。
【背景技術】
【０００２】
従来、情報機器に組み込まれるコンピュータシステム、およびパーソナルコンピュータなどにおいて、システムを拡張する、または、バス速度、バス幅などを吸収する目的として、バスとバスとの間にバスブリッジを備えるものがある。
【０００３】
図2は、従来のバスブリッジのブロック図である。図2において、バスブリッジ20は、プライマリバスインタフェース21、セカンダリバスインタフェース22、バスアービタ23、コンフィグレーションレジスタ24、バッファ25、およびリセット制御回路28から構成される。
【０００４】
プライマリバスインタフェース21は、バースト転送可能なプライマリバスのインタフェースとして機能し、さらに、バッファ25を制御する。セカンダリバスインタフェース22は、バースト転送可能なセカンダリバスのインタフェースとして機能し、さらに、バッファ25を制御する。ここで、プライマリバス、およびセカンダリバスは、一例として、PCIバスとする。
【０００５】
バスアービタ23は、バスブリッジ20とセカンダリバスのマスタとの間で、セカンダリバスの使用権を調停する。ここで、マスタとは、バスのアドレス線をドライブしてデータの転送先となるデバイスを指定し、バスコマンドを送るデバイスを指す。また、あるひとつのデータ転送において、マスタとして唯一機能しているデバイスをイニシエータと呼ぶ。コンフィグレーションレジスタ24は、バスブリッジ20の基本的な動作が決定される設定情報を保持している。なお、設定情報については、PCI-to-PCIブリッジ仕様書などで記載されているフォーマットに基づく。
【０００６】
バッファ25は、さらにダウンストリームバッファ26とアップストリームバッファ27とから構成される。ダウンストリームバッファ26は、プライマリバスのイニシエータからセカンダリバスのターゲットに対して発生したバスサイクルのアドレス、バスコマンド、バイトイネーブルビット、およびデータなどを保持する。そして、バスブリッジ20が、セカンダリバスのイニシエータとしてバスサイクルを発生する際には、保持しているアドレス、バスコマンド、バイトイネーブルビット、およびデータなどをセカンダリバスにドライブする。ここで、ターゲットとは、アドレス、バスコマンドを受け取り、受け取ったアドレス、バスコマンドをデコードして応答するデバイスを指す。
【０００７】
アップストリームバッファ27は、セカンダリバスのイニシエータからプライマリバスのターゲットに対して発生したバスサイクルのアドレス、バスコマンド、バイトイネーブルビット、およびデータなどを保持する。そして、バスブリッジ20が、プライマリバスのイニシエータとしてバスサイクルを発生する際には、保持しているアドレス、バスコマンド、バイトイネーブルビット、およびデータなどをプライマリバスにドライブする。
【０００８】
リセット制御回路28は、外部からのリセット信号を認識して、バスブリッジ20の各ブロックをリセットする。外部からのリセット信号にはプライマリリセットとセカンダリリセットの2種類あり、プライマリリセットはバスブリッジ20の全体をリセットし、さらにセカンダリバス側のシステムに対してリセット信号s_rst_lを供給する。セカンダリリセットは、バスブリッジ20の中のセカンダリバスインタフェース22、バスアービタ23、バッファ25、コンフィグレーションレジスタ24のセカンダリ側レジスタをリセットし、さらにセカンダリバス側のシステムに対してリセット信号s_rst_lを供給する。一方、前記2種類のリセットはリセットコントロールレジスタの該当するビットに1をライトすることでも実現可能である。
【０００９】
従来例としては、例えば、機能拡張のためにコンピュータシステム本体と切り離し自在に接続される拡張ユニットの非接続を検知した際、コンピュータ本体と拡張ユニットとを相互接続するためのPCI-PCIブリッジのプライマリPCIブリッジ(コンピュータ本体側)に対する動作用クロックの供給を遮断するものがある（特許文献１参照）。
【特許文献１】特開2001-166847号公報
【非特許文献１】Intel, 21555 Non-Transparent PCI-to-PCI Bridge User Manual
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、セカンダリバスのイニシエータからプライマリバスのターゲットに対してバスサイクルを発生させている最中に、外部からセカンダリリセット要求が入力された場合、リセットのタイミングによっては、プライマリバスのプロトコル違反となる。プロトコル違反を回避するためには、コンフィグレーションレジスタ24の中にあるコマンドレジスタのマスタディセーブルビットに1をライトすることで、プライマリバスのバスサイクルが終了した後、次のバスサイクルを発生させないようにしてからセカンダリリセット要求を入力させる必要があった(例えば非特許文献1参照)。つまり、セカンダリリセットを行うために、プライマリバスからコンフィグレーションレジスタ24へのライトサイクルが必要であった。
【課題を解決するための手段】
【００１１】
本発明に係わるプライマリバスとセカンダリバスを接続するバスブリッジ内のリセット制御装置は、前記バスブリッジが、少なくともプライマリバスコントローラと、セカンダリバスコントローラと、前記リセット制御装置を含み、前記リセット制御装置は、少なくとも前記プライマリバスに接続されたシステムからのセカンダリリセット要因を認識するセカンダリリセット要因認識手段、前記プライマリバスコントローラと前記セカンダリバスコントローラの動作状態を認識するバス状態認識手段、バスブリッジ内部及びセカンダリシステムのリセットタイミングを決定するリセットタイミング制御手段を有し、前記プライマリバスコントローラが動作中の場合は、前記プライマリバスコントローラがアイドル状態に遷移してから、前記リセット装置が前記セカンダリバスコントローラをリセットすることを特徴とする。
【発明の効果】
【００１２】
本発明に係わるプライマリバスとセカンダリバスを接続するバスブリッジ内のリセット制御装置は、前記バスブリッジが、少なくともプライマリバスコントローラと、セカンダリバスコントローラと、前記リセット制御装置を含み、前記リセット制御装置は、少なくとも前記プライマリバスに接続されたシステムからのセカンダリリセット要因を認識するセカンダリリセット要因認識手段、前記プライマリバスコントローラと前記セカンダリバスコントローラの動作状態を認識するバス状態認識手段、バスブリッジ内部及びセカンダリシステムのリセットタイミングを決定するリセットタイミング制御手段を有し、前記プライマリバスコントローラが動作中の場合は、前記プライマリバスコントローラがアイドル状態に遷移してから、前記リセット装置が前記セカンダリバスコントローラをリセットすることを特徴とするので、セカンダリバス側へのリセットタイミングに寄らず、プライマリバス側のプロトコル違反とはならないという効果がある。
【発明を実施するための最良の形態】
【００１３】
（実施例１）
以下、本発明の実施の形態について、図面を参照しながら説明する。図1は、本発明の一実施の形態に係るリセット制御装置を含むバスブリッジの概略構成を示すブロック図である。図1において、101はDMAアクセラレータ102とNon-Transparent PCI-to-PCI Bridge(NTPPB)106の機能を持つPCIペリフェラルデバイスである。このPCIペリフェラルデバイス101は、DMAアクセラレータ102、プライマリPCIコントローラ103、セカンダリPCIコントローラ104、DMAアクセラレータ用PCIコントローラ105、NTPPB106で構成される。また、NTPPB106は、以下から構成される。
【００１４】
・プライマリPCIコントローラ103からダウンストリームバッファ111へのダウンストリーム・トランザクションや、プライマリPCIコントローラ103から内部レジスタ116へのアクセスや、プライマリPCIコントローラ103からDMAアクセラレータ102の内部のプライマリレジスタへのアクセスなどを行う、プライマリPCIターゲットI/F107。
【００１５】
・アップストリームバッファ112からプライマリPCIコントローラ103へのアップストリーム・トランザクションや、プライマリPCIコントローラ103のDMA制御などを行う、プライマリPCIマスタI/F108。
【００１６】
・セカンダリPCIコントローラ104からアップストリームバッファ112へのアップストリーム・トランザクションや、セカンダリPCIコントローラ104から内部レジスタ116へのアクセスや、プライマリPCIコントローラ103からDMAアクセラレータ102の内部のセカンダリレジスタへのアクセスなどを行う、セカンダリPCIターゲットI/F109。
【００１７】
・ダウンストリームバッファ111からセカンダリPCIコントローラ104へのダウンストリーム・トランザクションや、セカンダリPCIコントローラ104のDMA制御を行う、セカンダリPCIマスタI/F110。
【００１８】
・ダウンストリーム・トランザクション用データバッファである、ダウンストリームバッファ111。
【００１９】
・アップストリーム・トランザクション用データバッファである、アップストリームバッファ112。
【００２０】
・ダウンストリーム・トランザクションの順序制御や、ダウンストリーム・トランザクション・キューの管理などを行う、ダウンストリーム順序制御装置113。
【００２１】
・アップストリーム・トランザクションの順序制御や、アップストリーム・トランザクション・キューの管理などを行う、アップストリーム順序制御装置114。
【００２２】
・セカンダリ側から内部レジスタ(コントロール・ステータス・レジスタ(CSR))アクセスの順序制御を行う、CSRバッファ115。
【００２３】
・内部レジスタ116。
【００２４】
・プライマリリセット後にシリアルROMから内部レジスタ116のコンフィグレーションレジスタへのプリロードの制御や、シリアルROMへのデータの書き込み・消去を行う、SROMコントローラ117。
【００２５】
・プライマリPCIバス及びセカンダリPCIバスからのリセット入力や、内部レジスタ116のリセットコントロールレジスタへの書き込みにより、プライマリリセット、セカンダリリセットを生成する、リセットコントローラ。
【００２６】
・パワーマネジメント機能の制御を行う、電力制御装置。
【００２７】
・セカンダリPCIコントローラ104とDMAアクセラレータ用PCIコントローラ105のインタフェース信号をセレクトしてセカンダリPCIバスに接続する、セカンダリPCIバス信号セレクタ120。
【００２８】
また、バスブリッジ101内のリセット制御装置118の構成例を図4に示す。図4において、リセット制御装置118は、バスブリッジ101の外部からのセカンダリリセット要因(s_rst_in_l)を認識する、セカンダリリセット要因認識手段41、プライマリPCIコントローラ103とセカンダリPCIコントローラ104の動作状態(マスタ動作中、ターゲット動作中、アイドル状態など)を認識する、バス状態認識手段、バスブリッジ101内部のセカンダリリセット信号(internal_s_rst_l)とセカンダリシステム用リセット信号(s_rst_l)のアサート・ネゲートタイミングを制御する、リセットタイミング制御手段で構成される。
【００２９】
次に、図1のバスブリッジ101のセカンダリリセット動作について、図3のタイミングチャートを用いて説明する。図3は、セカンダリリセットとトランザクションの処理が重複した場合のタイミングチャートであり、図4のリセット制御回路118の動作タイミングを規定する。以下の説明において、ターゲット動作とは、プライマリ側からセカンダリ側に転送されるダウンストリーム・トランザクションおよびプライマリ側からのDMAアクセラレータ内部のプライマリレジスタアクセスが対象である。プライマリ側からの他のCSR、プライマリPCIコンフィグレーションレジスタ、プライマリPCIコントローラインターナルレジスタへのアクセスについては、セカンダリリセット中であっても通常にアクセスが行われる。CSRのレジスタによっては、セカンダリリセットによって値は初期化される。プライマリ側からのCSRリードとセカンダリリセットによるCSRの初期化が競合した場合は、不定値が読み出される。
【００３０】
図3に示すように、バスブリッジ101内部の各モジュールに接続されるセカンダリリセット信号(internal_s_rst_l)のリセット開始タイミングは、外部からのセカンダリリセット要求(s_rst_in_l)が入力されると同時にアサートされ、internal_s_rst_lの解除タイミングはプライマリPCIコントローラ103のマスタI/F部のクリアまで遅らせる。セカンダリ側へのリセット出力信号(s_rst_l)はinternal_s_rst_lがそのまま出力される。
【００３１】
図3の各タイミングでの動作は以下のようになる。
【００３２】
(1) セカンダリリセット開始時にアップストリーム・トランザクションのDMAが実行中の場合
PCIバス上の転送の切れ目を検出してプライマリPCIコントローラ103のマスタI/F部をクリアする。セカンダリリセット信号(internal_s_rst_l)のリセット解除はプライマリPCIコントローラ103のマスタI/F部のクリアまで遅らせる。
【００３３】
(2) セカンダリリセット開始時にダウンストリーム・トランザクションのターゲットI/Fが動作中の場合
応答を返して通常に転送を成立させるが、データは破棄する。リード時は不定値が読み出される。
【００３４】
(3) セカンダリリセット中にダウンストリーム・トランザクションのターゲットI/F動作が要求された場合
応答を返して通常に転送を成立させるが、データは破棄する。リード時は不定値が読み出される。
【００３５】
(4) ダウンストリーム・トランザクションのターゲットI/Fが動作中にセカンダリリセット要因が解除された場合
ターゲットI/F動作の終了までは応答のみ返してデータは破棄する。リード時は不定値が読み出される。セカンダリリセット信号(internal_s_rst_l)はセカンダリリセット要因の解除に伴って解除される。
【００３６】
(5) アップストリーム・トランザクションのDMAが実行中にセカンダリリセット要因が解除された場合
PCIバス上の転送の切れ目を検出してプライマリPCIコントローラ103のマスタI/F部をクリアする。セカンダリリセット信号(internal_s_rst_l)のリセット解除はプライマリPCIコントローラ103のマスタI/F部のクリアまで遅らせる。
【００３７】
(6) セカンダリリセット要因解除後にダウンストリーム・トランザクションのターゲットI/F動作が要求された場合トランザクションを通常に転送する。
【００３８】
以上述べたように、セカンダリリセット要因がアサートされても、プライマリPCIコントローラ103とセカンダリPCIコントローラ104の動作状態を判断し、プライマリPCIコントローラ103が動作中の場合は、プライマリPCIコントローラ103がアイドル状態に遷移してから、セカンダリリセットを行うことにより、プロトコル違反を回避することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明のリセット制御装置を含むバスブリッジのブロック図
【図２】従来のバスブリッジのブロック図
【図３】本発明のリセット制御装置を含むバスブリッジのタイミングチャート
【図４】本発明のリセット制御装置のブロック図
【符号の説明】
【００４０】
41  セカンダリリセット要因認識手段
42  バス状態認識手段
43  リセットタイミング制御手段
101  バスブリッジ
103  プライマリPCIコントローラ
104  セカンダリPCIコントローラ
107  プライマリPCIターゲットI/F
108  プライマリPCIマスタI/F
109  セカンダリPCIターゲットI/F
110  セカンダリPCIマスタI/F
118  リセットコントローラ
【図１】
2008059051.tif 000003
【図２】
2008059051.tif 000004
【図３】
2008059051.tif 000005
【図４】
2008059051.tif 000006