JPH11259381A - 計算機システムの初期化方法およびブリッジ回路 - Google Patents
計算機システムの初期化方法およびブリッジ回路Info
- Publication number
- JPH11259381A JPH11259381A JP10057721A JP5772198A JPH11259381A JP H11259381 A JPH11259381 A JP H11259381A JP 10057721 A JP10057721 A JP 10057721A JP 5772198 A JP5772198 A JP 5772198A JP H11259381 A JPH11259381 A JP H11259381A
- Authority
- JP
- Japan
- Prior art keywords
- data
- pci
- agent
- bus
- pci bus
- 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
Links
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】
【課題】PCIバスなどの計算機システムのシステムバ
スにおいて、従来のバス規格と互換性を保ちつつ信頼性
を向上させる。 【解決手段】PCIエージェント110,111がデー
タを送信する場合には当該データをPCIバス108の
ビット幅の大きさのデータ単位に分割して送信するが、
各データ単位の同一バス信号線に送出されるビット群に
対して排他的論理和演算を施して、垂直パリティを生成
する。この垂直パリティから構成される検査データ単位
をすべてのデータ単位の最後に送信する。受信したPC
Iエージェント110,111は受信したデータ単位と
検査データ単位からPCIバス108上を当該データが
正しく送信できたか検査する。
スにおいて、従来のバス規格と互換性を保ちつつ信頼性
を向上させる。 【解決手段】PCIエージェント110,111がデー
タを送信する場合には当該データをPCIバス108の
ビット幅の大きさのデータ単位に分割して送信するが、
各データ単位の同一バス信号線に送出されるビット群に
対して排他的論理和演算を施して、垂直パリティを生成
する。この垂直パリティから構成される検査データ単位
をすべてのデータ単位の最後に送信する。受信したPC
Iエージェント110,111は受信したデータ単位と
検査データ単位からPCIバス108上を当該データが
正しく送信できたか検査する。
Description
【0001】
【発明の属する技術分野】本発明は、計算機システムに
おける初期化方法およびシステムバス、特にPCIバスに
関する。
おける初期化方法およびシステムバス、特にPCIバスに
関する。
【0002】
【従来の技術】近年、計算機システムにおいて、マイク
ロプロセッサと周辺装置の間のデータ転送を行うシステ
ムバスの高速化が図られている。その中で、PCIバス
は、1992年に米Intel(R)社を中心に規格が策定さ
れた、代表的な高速システムバスである。PCIバス
は、PC(Personal Computer)用のシステムバスとして
規格が策定され、米Intel(R)社のマイクロプロセッ
サPentium(TM)がPC用マイクロプロセッサの主流
として普及したのを契機にPCの標準システムバスとし
ての地位を確立した。
ロプロセッサと周辺装置の間のデータ転送を行うシステ
ムバスの高速化が図られている。その中で、PCIバス
は、1992年に米Intel(R)社を中心に規格が策定さ
れた、代表的な高速システムバスである。PCIバス
は、PC(Personal Computer)用のシステムバスとして
規格が策定され、米Intel(R)社のマイクロプロセッ
サPentium(TM)がPC用マイクロプロセッサの主流
として普及したのを契機にPCの標準システムバスとし
ての地位を確立した。
【0003】近年、マイクロプロセッサの性能向上に伴
い、企業,官公庁等において、性能,信頼性が要求され
るデータベース,WWW(World Wide Web)サーバなど
の業務にハイエンドのPCが使用されるようになってき
た。このようなハイエンドPCを一般にPCサーバと呼
ぶ。これらPCサーバのシステムバスもPCIバスが標
準的に採用されている。
い、企業,官公庁等において、性能,信頼性が要求され
るデータベース,WWW(World Wide Web)サーバなど
の業務にハイエンドのPCが使用されるようになってき
た。このようなハイエンドPCを一般にPCサーバと呼
ぶ。これらPCサーバのシステムバスもPCIバスが標
準的に採用されている。
【0004】PCサーバは、PCと同じくPCIバスを
採用しているが、PCとは異なり高い信頼性が要求され
る。従来、データベース,WWWサーバに使用されてき
たUNIXサーバの内部バスは、図14に示すように、
データ線8ビットに対して1ビットのパリティが付加さ
れているものが多い。米SGI(R)社のUNIXサー
バChallengeに搭載されたPOWERpath−2や、米Sun Micr
osystems(R)社のSPARC center 2000に搭載
されたXDBusはその例である。一方、現在最も普及
している32ビットPCIバス規格では32ビットのア
ドレス,データ線であるA/D線とコマンド線である4
ビットのC/BE#線(PCIバス規格では、#は負論
理の信号線を表す)のあわせて36ビットに対して1ビ
ットのパリティ線PARが定義されており、同様の業務
に使用されるUNIXサーバのシステムバスに比べ信頼
性が低いといえる。
採用しているが、PCとは異なり高い信頼性が要求され
る。従来、データベース,WWWサーバに使用されてき
たUNIXサーバの内部バスは、図14に示すように、
データ線8ビットに対して1ビットのパリティが付加さ
れているものが多い。米SGI(R)社のUNIXサー
バChallengeに搭載されたPOWERpath−2や、米Sun Micr
osystems(R)社のSPARC center 2000に搭載
されたXDBusはその例である。一方、現在最も普及
している32ビットPCIバス規格では32ビットのア
ドレス,データ線であるA/D線とコマンド線である4
ビットのC/BE#線(PCIバス規格では、#は負論
理の信号線を表す)のあわせて36ビットに対して1ビ
ットのパリティ線PARが定義されており、同様の業務
に使用されるUNIXサーバのシステムバスに比べ信頼
性が低いといえる。
【0005】PCIバスに対してUNIXサーバの内部
バスと同様の方法によって信頼性を向上させることは、
信号線数の変更につながり、従来のPCIバス規格との
互換性の面から好ましくない。PCIバスの信号線数を
変更せずに、信頼性を向上させる方法として、垂直パリ
ティをバス上のデータに付加する方法が知られている。
以下、垂直パリティによる信頼性向上方法について説明
する。
バスと同様の方法によって信頼性を向上させることは、
信号線数の変更につながり、従来のPCIバス規格との
互換性の面から好ましくない。PCIバスの信号線数を
変更せずに、信頼性を向上させる方法として、垂直パリ
ティをバス上のデータに付加する方法が知られている。
以下、垂直パリティによる信頼性向上方法について説明
する。
【0006】図14に示すように、従来のPCIバスに
みられるパリティによるデータ保護は、同一バスサイク
ルにPCIバスに送出されたA/D線とC/BE#線の
ビット列に対して排他的論理和演算を施し、1ビットの
パリティを得ていた。このようなパリティを水平パリテ
ィと呼ぶ。PCIバス規格を逸脱できない以上、水平方
向のパリティを増やすことはできない。
みられるパリティによるデータ保護は、同一バスサイク
ルにPCIバスに送出されたA/D線とC/BE#線の
ビット列に対して排他的論理和演算を施し、1ビットの
パリティを得ていた。このようなパリティを水平パリテ
ィと呼ぶ。PCIバス規格を逸脱できない以上、水平方
向のパリティを増やすことはできない。
【0007】ところで、PCIバスに接続されたPCI
エージェントがPCIバスにデータを送出する際には、
PCIバス規格で定義された32ビットあるいは64ビ
ットの単位にデータを分割して転送する。
エージェントがPCIバスにデータを送出する際には、
PCIバス規格で定義された32ビットあるいは64ビ
ットの単位にデータを分割して転送する。
【0008】図15は、転送されるデータが、n個の3
2ビットデータ単位1501,1504,…,1507に分
割して転送されている状態を表している。ここで、デー
タ単位i(i=0,1,…,n−1)の各ビットをD
(i,j)(j=0,1,…,31)と表記する。また、こ
のデータ単位の転送時のC/BE#[0:3]線のビッ
ト列をB(i,j)(j=0,1,2,3)とすると、デ
ータ単位iの水平パリティP(i)は数1で与えられる。
2ビットデータ単位1501,1504,…,1507に分
割して転送されている状態を表している。ここで、デー
タ単位i(i=0,1,…,n−1)の各ビットをD
(i,j)(j=0,1,…,31)と表記する。また、こ
のデータ単位の転送時のC/BE#[0:3]線のビッ
ト列をB(i,j)(j=0,1,2,3)とすると、デ
ータ単位iの水平パリティP(i)は数1で与えられる。
【0009】
【数1】P(i)=D(i,0)+D(i,1)+…+D
(i,31)+B(i,0)+…+B(i,3) ただし、+は排他的論理和演算を表す。図15の点線で
囲まれた部分が水平パリティによるデータの保護単位で
ある。従来は、この水平パリティでのみデータを保護し
ていた。一方、複数のデータ単位にまたがって数2なる
パリティQ(j)を生成することができる。
(i,31)+B(i,0)+…+B(i,3) ただし、+は排他的論理和演算を表す。図15の点線で
囲まれた部分が水平パリティによるデータの保護単位で
ある。従来は、この水平パリティでのみデータを保護し
ていた。一方、複数のデータ単位にまたがって数2なる
パリティQ(j)を生成することができる。
【0010】
【数2】Q(j)=D(0,j)+D(1,j)+…+D(n
−1,j) このパリティQ(j)を垂直パリティという。垂直パリテ
ィQ(j)によって、j番信号線に送出されたビット列の
うち、1ビットのエラーを検出することができる。この
垂直パリティもデータ単位を形成する。このデータ単位
を検査データ単位と呼ぶことにする。
−1,j) このパリティQ(j)を垂直パリティという。垂直パリテ
ィQ(j)によって、j番信号線に送出されたビット列の
うち、1ビットのエラーを検出することができる。この
垂直パリティもデータ単位を形成する。このデータ単位
を検査データ単位と呼ぶことにする。
【0011】図16に示すようにPCIエージェント
は、予定のn個のデータ単位1501,1504,…,1
507をPCIバスに送出した後、この垂直パリティ1
608,…,1612により形成される検査データ単位
1601をPCIバスに送出すれば、受信側PCIエー
ジェントでデータが正しく転送されたか検査できる。こ
の場合、図16の点線で囲まれた部分が垂直パリティに
よるデータ保護単位である。
は、予定のn個のデータ単位1501,1504,…,1
507をPCIバスに送出した後、この垂直パリティ1
608,…,1612により形成される検査データ単位
1601をPCIバスに送出すれば、受信側PCIエー
ジェントでデータが正しく転送されたか検査できる。こ
の場合、図16の点線で囲まれた部分が垂直パリティに
よるデータ保護単位である。
【0012】垂直パリティによってPCIバスの信号線
の数は変わらず、検査データ単位はデータ単位の1つと
してPCIバスに送出されるため、バスプロトコルの変
更も必要ない。このように、垂直パリティによって、P
CIバス規格との互換性を保ちつつ、信頼性を向上させ
ることができる。このような垂直パリティによりバス上
のデータの信頼性を向上させる方法は、従来より知られ
ており、その例として、米国特許5,182,752号がある。
の数は変わらず、検査データ単位はデータ単位の1つと
してPCIバスに送出されるため、バスプロトコルの変
更も必要ない。このように、垂直パリティによって、P
CIバス規格との互換性を保ちつつ、信頼性を向上させ
ることができる。このような垂直パリティによりバス上
のデータの信頼性を向上させる方法は、従来より知られ
ており、その例として、米国特許5,182,752号がある。
【0013】
【発明が解決しようとする課題】前記「従来の技術」に
おいて述べたように、垂直パリティによりPCIバス上
のデータの信頼性を向上させることができるが、計算機
システムにおける実際の使用環境を考慮すると、本方法
がそのままPCIバスに適用できるわけではない。PC
あるいはPCサーバでは、さまざまなハードウェアベン
ダが周辺装置(エージェント)を提供している。そのた
め、PCIバス上で前記機能をサポートする周辺装置と
サポートしない周辺装置が混在することが当然のように
おこる。前記機能をサポートしない周辺装置に対して検
査データ単位を付加してデータを送出した場合、検査デ
ータ単位も通常のデータとして認識されるため、誤動作
がおこる。
おいて述べたように、垂直パリティによりPCIバス上
のデータの信頼性を向上させることができるが、計算機
システムにおける実際の使用環境を考慮すると、本方法
がそのままPCIバスに適用できるわけではない。PC
あるいはPCサーバでは、さまざまなハードウェアベン
ダが周辺装置(エージェント)を提供している。そのた
め、PCIバス上で前記機能をサポートする周辺装置と
サポートしない周辺装置が混在することが当然のように
おこる。前記機能をサポートしない周辺装置に対して検
査データ単位を付加してデータを送出した場合、検査デ
ータ単位も通常のデータとして認識されるため、誤動作
がおこる。
【0014】以上の理由から、実際の使用環境におい
て、垂直パリティにより信頼性を向上させる方法をその
ままPCIバスに適用するのは困難である。
て、垂直パリティにより信頼性を向上させる方法をその
ままPCIバスに適用するのは困難である。
【0015】
【課題を解決するための手段】そこで、本発明では、既
存のPCIバス規格の特徴の1つであるプラグアンドプ
レイ(Plug and Play)機能を利用して上記環境において
も、垂直パリティ付加方式を実現可能にする。
存のPCIバス規格の特徴の1つであるプラグアンドプ
レイ(Plug and Play)機能を利用して上記環境において
も、垂直パリティ付加方式を実現可能にする。
【0016】PCIバス規格では、計算機システムの初
期化プログラムが、電源投入,リセット時にPCIバス
に接続されたすべてのエージェントの検査を行い各種設
定を行うプラグアンドプレイ機能を持つ。そこで、本初
期化プログラムが初期化処理の一環として、各エージェ
ントに検査データ単位付加機能を持つかどうか検査し
て、当該PCIバスに接続されたエージェントのうち1
つでも本機能をサポートしない場合、本機能を不使用と
することで、従来のPCIバス規格と完全な互換性を保
つことができる。
期化プログラムが、電源投入,リセット時にPCIバス
に接続されたすべてのエージェントの検査を行い各種設
定を行うプラグアンドプレイ機能を持つ。そこで、本初
期化プログラムが初期化処理の一環として、各エージェ
ントに検査データ単位付加機能を持つかどうか検査し
て、当該PCIバスに接続されたエージェントのうち1
つでも本機能をサポートしない場合、本機能を不使用と
することで、従来のPCIバス規格と完全な互換性を保
つことができる。
【0017】本発明の計算機システムの初期化方法およ
びそのためのブリッジ回路においては、マイクロプロセ
ッサと、プログラム,データを格納するメモリと、メモ
リを制御するメモリコントローラと、電源投入時に初期
化を行う初期化プログラムを格納したブートROMと、
マイクロプロセッサとメモリコントローラとブートRO
Mが接続されるMPローカルバスと、周辺装置あるいは
周辺装置制御回路(以下、エージェントという)が接続
される単一あるいは複数のPCIバスと、上記MPロー
カルバスと上記システムバスを接続するMPブリッジ回
路から構成され、上記エージェントは上記PCIバスに
データを送出する際に、上記データをPCIバスのデー
タビット幅の大きさのデータ単位に分割し、上記データ
単位ずつPCIバスに送出し、上記複数のデータ単位の
同一バス信号線に送出されるビット列に対して排他的論
理和演算を行い、前記演算により得られた検査データ単
位を前記データの最後に付加して送出し、上記エージェ
ントは上記PCIバスからデータを受信する際に、上記
データと上記検査データ単位から上記データがPCIバ
ス上を正しく転送されたか検査する計算機システムにお
いて、計算機システムの初期化の際に、初期化プログラ
ムに従い前記マイクロプロセッサが上記PCIバスに接
続されたすべてのエージェントを検査し、少なくとも1
つのエージェントが上記検査データ単位の送出と検査機
能を持たないことが判明した場合には、上記の検査デー
タ単位の送出と検査機能を使用しないよう、上記機能を
持つエージェントに指示する。
びそのためのブリッジ回路においては、マイクロプロセ
ッサと、プログラム,データを格納するメモリと、メモ
リを制御するメモリコントローラと、電源投入時に初期
化を行う初期化プログラムを格納したブートROMと、
マイクロプロセッサとメモリコントローラとブートRO
Mが接続されるMPローカルバスと、周辺装置あるいは
周辺装置制御回路(以下、エージェントという)が接続
される単一あるいは複数のPCIバスと、上記MPロー
カルバスと上記システムバスを接続するMPブリッジ回
路から構成され、上記エージェントは上記PCIバスに
データを送出する際に、上記データをPCIバスのデー
タビット幅の大きさのデータ単位に分割し、上記データ
単位ずつPCIバスに送出し、上記複数のデータ単位の
同一バス信号線に送出されるビット列に対して排他的論
理和演算を行い、前記演算により得られた検査データ単
位を前記データの最後に付加して送出し、上記エージェ
ントは上記PCIバスからデータを受信する際に、上記
データと上記検査データ単位から上記データがPCIバ
ス上を正しく転送されたか検査する計算機システムにお
いて、計算機システムの初期化の際に、初期化プログラ
ムに従い前記マイクロプロセッサが上記PCIバスに接
続されたすべてのエージェントを検査し、少なくとも1
つのエージェントが上記検査データ単位の送出と検査機
能を持たないことが判明した場合には、上記の検査デー
タ単位の送出と検査機能を使用しないよう、上記機能を
持つエージェントに指示する。
【0018】
【発明の実施の形態】(実施例1)本実施例では、シス
テムバスとして32ビットPCIバスを採用した場合に
ついて説明する。図1は、本発明を適用した計算機シス
テムの構成図である。本計算機システム101には、本
計算機システム全体を制御するマイクロプロセッサ10
2とマイクロプロセッサ102のプログラム,データを
格納するメモリ103とそれを制御するメモリコントロー
ラ104,電源投入時あるいはリセット時に計算機シス
テム101を初期化する初期化プログラム105を格納
したブートROM106があり、これらを接続するMP
ローカルバス107がある。MPローカルバス107に
は、PCIバス108とMPローカルバス107を接続
し、PCIバス108を制御するMP−PCIブリッジ
回路109も接続される。
テムバスとして32ビットPCIバスを採用した場合に
ついて説明する。図1は、本発明を適用した計算機シス
テムの構成図である。本計算機システム101には、本
計算機システム全体を制御するマイクロプロセッサ10
2とマイクロプロセッサ102のプログラム,データを
格納するメモリ103とそれを制御するメモリコントロー
ラ104,電源投入時あるいはリセット時に計算機シス
テム101を初期化する初期化プログラム105を格納
したブートROM106があり、これらを接続するMP
ローカルバス107がある。MPローカルバス107に
は、PCIバス108とMPローカルバス107を接続
し、PCIバス108を制御するMP−PCIブリッジ
回路109も接続される。
【0019】PCIバス108には、周辺装置あるいは
その制御装置であるPCIエージェント110,111
が接続される。
その制御装置であるPCIエージェント110,111
が接続される。
【0020】初期化プログラム105は、電源投入ある
いはリセット時にマイクロプロセッサ102にロードさ
れ、計算機システムの初期化を行う。このとき、通常の
初期化以外に、PCIエージェント110,111が前
記検査データ単位の送出,検査機能を持つかどうか検査
する点を特徴とする。
いはリセット時にマイクロプロセッサ102にロードさ
れ、計算機システムの初期化を行う。このとき、通常の
初期化以外に、PCIエージェント110,111が前
記検査データ単位の送出,検査機能を持つかどうか検査
する点を特徴とする。
【0021】MP−PCIブリッジ回路109は、上記
検査データ単位の送出,検査機能の他に、PCIエージ
ェント110,111からメモリ103へデータを転送
する場合、検査データ単位を削除する機能を有し、PC
Iエージェント110,111は、検査データ単位の送出
と検査を行う。
検査データ単位の送出,検査機能の他に、PCIエージ
ェント110,111からメモリ103へデータを転送
する場合、検査データ単位を削除する機能を有し、PC
Iエージェント110,111は、検査データ単位の送出
と検査を行う。
【0022】図2は、MP−PCIブリッジ回路109
の構成図である。MP−PCIブリッジ回路109は、
MP−PCIブリッジ制御部201,MP側バッファメ
モリ202,PCI側バッファメモリ203,検査デー
タ(垂直パリティ)生成部204,検査データ(垂直パ
リティ)検査部205,コンフィグレーションレジスタ
206からなる。検査データ生成部204は、データを
PCIバス108へ送出する際に付加する検査データ単
位を生成する。検査データ単位の生成は、前記数2によ
る。また、検査データ検査部は、受信したデータと付加
された検査データ単位から、PCIバス上を正しくデー
タが転送されたか検査する。
の構成図である。MP−PCIブリッジ回路109は、
MP−PCIブリッジ制御部201,MP側バッファメ
モリ202,PCI側バッファメモリ203,検査デー
タ(垂直パリティ)生成部204,検査データ(垂直パ
リティ)検査部205,コンフィグレーションレジスタ
206からなる。検査データ生成部204は、データを
PCIバス108へ送出する際に付加する検査データ単
位を生成する。検査データ単位の生成は、前記数2によ
る。また、検査データ検査部は、受信したデータと付加
された検査データ単位から、PCIバス上を正しくデー
タが転送されたか検査する。
【0023】一般に、MPローカルバス107上では前
記検査データ単位を付加しない。従って、PCIエージ
ェント110,111がメモリ103へデータを転送す
る場合、MP−PCIブリッジ109は検査データ単位
を削除して当該データをメモリ103へ転送する。
記検査データ単位を付加しない。従って、PCIエージ
ェント110,111がメモリ103へデータを転送す
る場合、MP−PCIブリッジ109は検査データ単位
を削除して当該データをメモリ103へ転送する。
【0024】コンフィグレーションレジスタ206は、
PCIバス規格で定義されたレジスタである。PCIバ
ス規格では、初期化プログラムがシステム起動時にPC
Iバス接続されたPCIエージェント,ブリッジ回路な
どの設定をユーザの介在なしに行うプラグアンドプレイ
(Plug and Play)を特徴としている。そのため、ブリッ
ジ回路,PCIエージェントには、初期設定に用いる情
報を格納するコンフィグレーションレジスタを持ち、初
期化プログラムがその情報を収集し、設定する。本発明
に関する部分では、初期設定プログラム105が、前記
検査データ単位の付加,検査機能の使用,不使用もコン
フィグレーションレジスタ206に設定する。
PCIバス規格で定義されたレジスタである。PCIバ
ス規格では、初期化プログラムがシステム起動時にPC
Iバス接続されたPCIエージェント,ブリッジ回路な
どの設定をユーザの介在なしに行うプラグアンドプレイ
(Plug and Play)を特徴としている。そのため、ブリッ
ジ回路,PCIエージェントには、初期設定に用いる情
報を格納するコンフィグレーションレジスタを持ち、初
期化プログラムがその情報を収集し、設定する。本発明
に関する部分では、初期設定プログラム105が、前記
検査データ単位の付加,検査機能の使用,不使用もコン
フィグレーションレジスタ206に設定する。
【0025】図3に、PCIエージェント110の構成
を示す。PCIエージェント111の構成も同様であ
る。PCIエージェント110は、その主な機能を担う
主機能部301とPCIバス108の制御を行うPCI
バスインタフェース部302から構成される。PCIバ
スインタフェース部302は、PCIバスインタフェー
ス制御部303,PCI側バッファメモリ304,主機能
側バッファメモリ305,検査データ生成部306,検
査データ検査部307,コンフィグレーションレジスタ
308から構成される。PCIインタフェース部302
の機能は、MP−PCIブリッジ回路109と同様であ
る。
を示す。PCIエージェント111の構成も同様であ
る。PCIエージェント110は、その主な機能を担う
主機能部301とPCIバス108の制御を行うPCI
バスインタフェース部302から構成される。PCIバ
スインタフェース部302は、PCIバスインタフェー
ス制御部303,PCI側バッファメモリ304,主機能
側バッファメモリ305,検査データ生成部306,検
査データ検査部307,コンフィグレーションレジスタ
308から構成される。PCIインタフェース部302
の機能は、MP−PCIブリッジ回路109と同様であ
る。
【0026】計算機システム101の起動時の初期化の
フローチャートを図4に示す。
フローチャートを図4に示す。
【0027】ステップ401:電源投入あるいはリセッ
トによる起動がなされる。 ステップ402:ブートROM106に格納された初期
化プログラム105がマイクロプロセッサ102にロー
ドされる。 ステップ403:初期化プログラム105に従いマイク
ロプロセッサ102が初期化を開始する。
トによる起動がなされる。 ステップ402:ブートROM106に格納された初期
化プログラム105がマイクロプロセッサ102にロー
ドされる。 ステップ403:初期化プログラム105に従いマイク
ロプロセッサ102が初期化を開始する。
【0028】ステップ404:各PCIエージェント、
MP−PCIブリッジ回路109のコンフィグレーショ
ンレジスタ206,308を読み出して、情報を収集と
設定を行う。この時、本発明に関する部分では、当該P
CIエージェントが検査データの付加,検査機能をサポ
ートしているか検査する。詳細は図5に示す。
MP−PCIブリッジ回路109のコンフィグレーショ
ンレジスタ206,308を読み出して、情報を収集と
設定を行う。この時、本発明に関する部分では、当該P
CIエージェントが検査データの付加,検査機能をサポ
ートしているか検査する。詳細は図5に示す。
【0029】ステップ405:PCIバス109に接続
されたPCIエージェントの初期化がすべて完了した
か、判定する。 ステップ406:ステップ404,405の初期化の結
果、PCIバス108に接続されたすべてのPCIエー
ジェントが検査データ単位の付加,検査機能をサポート
しているか判定する。PCIエージェントのうち1つで
も前記機能をサポートしない場合、PCIバス109上
では本機能は使用しないで運転を開始するためである。
されたPCIエージェントの初期化がすべて完了した
か、判定する。 ステップ406:ステップ404,405の初期化の結
果、PCIバス108に接続されたすべてのPCIエー
ジェントが検査データ単位の付加,検査機能をサポート
しているか判定する。PCIエージェントのうち1つで
も前記機能をサポートしない場合、PCIバス109上
では本機能は使用しないで運転を開始するためである。
【0030】ステップ407:ステップ406でPCI
バス108に接続されたすべてのPCIエージェントが
検査データの付加,検査機能をサポートしていた場合、
マイクロプロセッサ102が、本機能の使用をPCIエ
ージェント110,111とMP−PCIブリッジに通
知する。通知の方法の一例としては、コンフィグレーシ
ョンレジスタ206,308の特定ビットを本機能の使
用,不使用を示すビットとし、本ビットを設定すること
で、通知する方法がある。
バス108に接続されたすべてのPCIエージェントが
検査データの付加,検査機能をサポートしていた場合、
マイクロプロセッサ102が、本機能の使用をPCIエ
ージェント110,111とMP−PCIブリッジに通
知する。通知の方法の一例としては、コンフィグレーシ
ョンレジスタ206,308の特定ビットを本機能の使
用,不使用を示すビットとし、本ビットを設定すること
で、通知する方法がある。
【0031】ステップ408:ステップ406でPCI
バス109に接続されたうち、少なくとも1つは検査デ
ータの付加,検査機能をサポートしていない場合、本機
能の不使用を通知する。通知の方法の一例としては、ス
テップ407で説明した、コンフィグレーションレジス
タ206,308への設定がある。
バス109に接続されたうち、少なくとも1つは検査デ
ータの付加,検査機能をサポートしていない場合、本機
能の不使用を通知する。通知の方法の一例としては、ス
テップ407で説明した、コンフィグレーションレジス
タ206,308への設定がある。
【0032】ステップ409:初期化の終了。
【0033】図5にステップ404の初期化の詳細を示
す。
す。
【0034】ステップ501:(ステップ403よりつ
づく) ステップ502:コンフィグレーションレジスタ308
を読み取り、運転に必要な設定を行う。
づく) ステップ502:コンフィグレーションレジスタ308
を読み取り、運転に必要な設定を行う。
【0035】ステップ503:PCIバス規格では、バ
スコマンドの発行はC/BE#[0:3]を用いる。C
/BE#[0:3]は4ビットあるため、16種類のコ
マンドが定義可能である。現在PCIバス規格で定義さ
れているコマンドは12種類であり、4種類は予約とな
っている。PCIバス規格では、上記12種類以外のコ
マンドを受信した場合、PCIエージェントは応答して
はならないと定められている。従って、前記4種類のう
ち1つを特殊コマンドとして割り当て、PCIエージェ
ントに送出する。本発明による検査データ単位の付加,
検査機能をサポートしたPCIエージェントは、この特
殊コマンドに対して応答するが、前記機能をサポートし
ないPCIエージェントは応答できない。このようにし
て、PCIバス108に接続されたPCIエージェント
が検査データ単位の付加,検査機能をサポートしている
か検査することができる。
スコマンドの発行はC/BE#[0:3]を用いる。C
/BE#[0:3]は4ビットあるため、16種類のコ
マンドが定義可能である。現在PCIバス規格で定義さ
れているコマンドは12種類であり、4種類は予約とな
っている。PCIバス規格では、上記12種類以外のコ
マンドを受信した場合、PCIエージェントは応答して
はならないと定められている。従って、前記4種類のう
ち1つを特殊コマンドとして割り当て、PCIエージェ
ントに送出する。本発明による検査データ単位の付加,
検査機能をサポートしたPCIエージェントは、この特
殊コマンドに対して応答するが、前記機能をサポートし
ないPCIエージェントは応答できない。このようにし
て、PCIバス108に接続されたPCIエージェント
が検査データ単位の付加,検査機能をサポートしている
か検査することができる。
【0036】ステップ504:当該PCIエージェント
からの前記特殊コマンドに対する応答があるか判定す
る。設定された時間内に応答があれば、ステップ505
へ、応答がなければステップ506へ処理を進める。
からの前記特殊コマンドに対する応答があるか判定す
る。設定された時間内に応答があれば、ステップ505
へ、応答がなければステップ506へ処理を進める。
【0037】ステップ505:応答があったため、当該
PCIエージェントが検査データ単位の付加機能をサポ
ートしていると判定する。
PCIエージェントが検査データ単位の付加機能をサポ
ートしていると判定する。
【0038】ステップ506:応答がなかったため、当
該PCIエージェントが検査データ単位の付加機能をサ
ポートしていないと判定する。
該PCIエージェントが検査データ単位の付加機能をサ
ポートしていないと判定する。
【0039】ステップ507:当該PCIエージェント
の初期化を完了させる。
の初期化を完了させる。
【0040】ステップ508:(ステップ405へつづ
く) 初期化の結果、検査データ単位の付加,検査機能を使用
する場合、PCIエージェント110,111がデータ
を送出するフローチャートを図6に示す。
く) 初期化の結果、検査データ単位の付加,検査機能を使用
する場合、PCIエージェント110,111がデータ
を送出するフローチャートを図6に示す。
【0041】ステップ601:データ転送に先立って、
PCIバス108の調停に参加し、バス権を獲得し、デ
ータ転送を開始する。
PCIバス108の調停に参加し、バス権を獲得し、デ
ータ転送を開始する。
【0042】ステップ602:PCIバスインタフェー
ス制御部303が転送されるデータを複数のn個のデー
タ単位に分割し、PCIバス108に送出。同時に検査
データ生成部で垂直パリティを計算する。詳細は図7に
示す。
ス制御部303が転送されるデータを複数のn個のデー
タ単位に分割し、PCIバス108に送出。同時に検査
データ生成部で垂直パリティを計算する。詳細は図7に
示す。
【0043】ステップ603:データ単位をすべて送出
すると、垂直パリティの計算は終了し、検査データ単位
が得られる。そして、この検査データ単位をPCIバス
108に送出する。
すると、垂直パリティの計算は終了し、検査データ単位
が得られる。そして、この検査データ単位をPCIバス
108に送出する。
【0044】ステップ604:PCIバスインタフェー
ス部303が受信側PCIエージェントからエラーの報
告があるか判定する。エラー報告があれば、転送をやり
直す。
ス部303が受信側PCIエージェントからエラーの報
告があるか判定する。エラー報告があれば、転送をやり
直す。
【0045】ステップ605:エラー報告がなければ、
バス権を解放する。
バス権を解放する。
【0046】ステップ606:データ転送の終了。
【0047】図7にステップ602の詳細を示す。
【0048】ステップ701:(ステップ601よりつ
づく) ステップ702:PCIバスインタフェース部303が
垂直パリティQ(j)(j=0,…,31)と転送済みデー
タ単位のカウント数iを初期化する。垂直パリティQ
(j)から検査データ単位が形成される。Q(j)(j=
0,…,31)は検査データ生成部306に、iはPC
Iバスインタフェース制御部303に保持される。
づく) ステップ702:PCIバスインタフェース部303が
垂直パリティQ(j)(j=0,…,31)と転送済みデー
タ単位のカウント数iを初期化する。垂直パリティQ
(j)から検査データ単位が形成される。Q(j)(j=
0,…,31)は検査データ生成部306に、iはPC
Iバスインタフェース制御部303に保持される。
【0049】ステップ703:データ単位iを送出す
る。以下、データ単位iのj番ビットをD(i,j)と表
記する。
る。以下、データ単位iのj番ビットをD(i,j)と表
記する。
【0050】ステップ704:検査データ生成部306
が垂直パリティを計算する。計算は数3に従って実行さ
れる。
が垂直パリティを計算する。計算は数3に従って実行さ
れる。
【0051】
【数3】Q(j)=Q(j)+D(i,j) ただし、+は排他的論理和演算を表し、上記計算は、す
べてのj(=0,…,31)について実行される。
べてのj(=0,…,31)について実行される。
【0052】ステップ705:カウント数iに1を加
算。
算。
【0053】ステップ706:カウント数iと転送予定
のデータ単位数nを比較して、予定のデータ単位をすべ
て転送したか判定する。すべて転送していない場合は、
次のデータ単位を転送する。
のデータ単位数nを比較して、予定のデータ単位をすべ
て転送したか判定する。すべて転送していない場合は、
次のデータ単位を転送する。
【0054】ステップ707:(ステップ603へつづ
く) データ受信時のPCIエージェント110のフローチャ
ートを図8に示す。
く) データ受信時のPCIエージェント110のフローチャ
ートを図8に示す。
【0055】ステップ801:(処理のはじまり) ステップ802:PCIインタフェース制御部303が
垂直パリティを初期化する。垂直パリティQ′(j)(j
=0,…,31)は検査データ検査部307に保持され
る。
垂直パリティを初期化する。垂直パリティQ′(j)(j
=0,…,31)は検査データ検査部307に保持され
る。
【0056】ステップ803:データ受信を開始する。
PCIバスインタフェース制御部303は受信データを
PCI側バッファメモリ304から主機能側バッファメ
モリ305と検査データ検査部307に転送される。以
下、受信データ単位のj番ビット(j=0,…,31)を
D′(j)と表記する。
PCIバスインタフェース制御部303は受信データを
PCI側バッファメモリ304から主機能側バッファメ
モリ305と検査データ検査部307に転送される。以
下、受信データ単位のj番ビット(j=0,…,31)を
D′(j)と表記する。
【0057】ステップ804:検査データ検査部307
が数4に従って垂直パリティを計算する。
が数4に従って垂直パリティを計算する。
【0058】
【数4】Q′(j)=Q′(j)+D′(j) ステップ805:データ転送が終了したか判定する。P
CIバス規格では、制御信号のアサート,ディアサート
により転送の終了を通知する方法が定義されており、本
実施例もそれに従う。
CIバス規格では、制御信号のアサート,ディアサート
により転送の終了を通知する方法が定義されており、本
実施例もそれに従う。
【0059】ステップ806:データの転送が終了する
と、ステップ804で計算したQ′(j)(j=0,…,3
1)が0かどうか判定する。Q′(j)はその計算方法か
ら、数5である。
と、ステップ804で計算したQ′(j)(j=0,…,3
1)が0かどうか判定する。Q′(j)はその計算方法か
ら、数5である。
【0060】
【数5】 Q′(j)=D(0,j)+D(1,j)+…+D(n−1,j)+Q(j) =Q(j)+Q(j) 排他的論理和演算の性質から、データが正しく転送され
ているならばQ′(j)=0である。従って、Q′(j)=
0かどうかすべてのjに関して判定すれば、エラーのチ
ェックが可能である。
ているならばQ′(j)=0である。従って、Q′(j)=
0かどうかすべてのjに関して判定すれば、エラーのチ
ェックが可能である。
【0061】ステップ807:少なくとも1つのjに関
してQ′(j)が0でない場合、エラーを送信元に報告す
る。PCIバス規格ではエラー報告用の信号線としてP
ERR#とSERR#が定義されている。PERR#
は、前記「従来の技術」で説明した水平パリティのエラ
ーを表す。SERR#は、システムの致命的なエラー、
あるいは回復不能なエラーの発生を表す。本発明におけ
る垂直パリティエラーの報告方法としては、既存のPC
Iバス規格との互換性を保つ方法が望ましい。例えば、
PERR#とSERR#を同時にアサートする方法等が
ある。
してQ′(j)が0でない場合、エラーを送信元に報告す
る。PCIバス規格ではエラー報告用の信号線としてP
ERR#とSERR#が定義されている。PERR#
は、前記「従来の技術」で説明した水平パリティのエラ
ーを表す。SERR#は、システムの致命的なエラー、
あるいは回復不能なエラーの発生を表す。本発明におけ
る垂直パリティエラーの報告方法としては、既存のPC
Iバス規格との互換性を保つ方法が望ましい。例えば、
PERR#とSERR#を同時にアサートする方法等が
ある。
【0062】ステップ808:データ受信の終了。
【0063】以上、PCIエージェント110,111
のデータ送信、受信時の手順を説明したが、MP−PC
Iブリッジ回路109のデータ送受信の手順も同様であ
る。
のデータ送信、受信時の手順を説明したが、MP−PC
Iブリッジ回路109のデータ送受信の手順も同様であ
る。
【0064】(実施例2)PCIバス規格では、PCI
バス間を接続するブリッジ回路を用いて、計算機システ
ムを拡張できる方法が規定されている。本実施例では、
32ビットPCIバスを例に、バスを拡張した計算機シ
ステムにおいて本発明を詳細に説明する。
バス間を接続するブリッジ回路を用いて、計算機システ
ムを拡張できる方法が規定されている。本実施例では、
32ビットPCIバスを例に、バスを拡張した計算機シ
ステムにおいて本発明を詳細に説明する。
【0065】図9に本実施例で説明する計算機システム
を示す。計算機システム901は、実施例1で説明した
計算機システムと同様に、マイクロプロセッサ102,
メモリ103,メモリコントローラ,初期化プログラム
105を格納するブートROM106,MPローカルバ
ス107,MP−PCIブリッジ回路109,1次PC
Iバス902,PCIエージェント110,111を持
つ。以下、PCIバスどうしを接続するブリッジ回路を
PCI−PCIブリッジ回路という。1次PCIバス9
02にPCI−PCIブリッジ903を接続し、さらに
2次PCIバス904を接続し、計算機システム901
を拡張する。そして、2次PCIバス904にはPCI
エージェント905,906が接続されている。1次P
CIバス902,2次PCIバス904には、なんら異
なる点はなく、区別するため、この名称を使用する。
を示す。計算機システム901は、実施例1で説明した
計算機システムと同様に、マイクロプロセッサ102,
メモリ103,メモリコントローラ,初期化プログラム
105を格納するブートROM106,MPローカルバ
ス107,MP−PCIブリッジ回路109,1次PC
Iバス902,PCIエージェント110,111を持
つ。以下、PCIバスどうしを接続するブリッジ回路を
PCI−PCIブリッジ回路という。1次PCIバス9
02にPCI−PCIブリッジ903を接続し、さらに
2次PCIバス904を接続し、計算機システム901
を拡張する。そして、2次PCIバス904にはPCI
エージェント905,906が接続されている。1次P
CIバス902,2次PCIバス904には、なんら異
なる点はなく、区別するため、この名称を使用する。
【0066】図10にPCI−PCIブリッジ回路90
3の構成図を示す。PCI−PCIブリッジ回路903
は、1次PCIバス902,2次PCIバス904間を
接続し、本PCI−PCIブリッジ回路903を制御す
るPCI−PCIブリッジ制御部1001,送受信デー
タを一時的に格納する1次PCI側バッファメモリ10
02,2次PCI側バッファメモリ1003,垂直パリ
ティを生成する垂直パリティ生成部1004,受信デー
タの垂直パリティを検査する垂直パリティ検査部100
5,設定情報を格納するコンフィグレーションレジスタ
1006から構成される。本PCI−PCIブリッジ回
路903は、1次PCIバス902と2次PCIバス9
03の間を転送されるデータを中継するが、いずれか一
方のPCIバスでのみ前記検査データ単位の付加,検査
機能を使用する場合、前記機能を使用するPCIバス側
から前記機能を使用しないPCIバス側へ転送されるデ
ータを中継するときには、検査データ単位を削除し、逆
に前記機能を使用しないPCIバス側から前記機能を使
用するPCIバス側に転送されるデータを中継するとき
には、中継するデータに検査データ単位を付加すること
を特徴とする。
3の構成図を示す。PCI−PCIブリッジ回路903
は、1次PCIバス902,2次PCIバス904間を
接続し、本PCI−PCIブリッジ回路903を制御す
るPCI−PCIブリッジ制御部1001,送受信デー
タを一時的に格納する1次PCI側バッファメモリ10
02,2次PCI側バッファメモリ1003,垂直パリ
ティを生成する垂直パリティ生成部1004,受信デー
タの垂直パリティを検査する垂直パリティ検査部100
5,設定情報を格納するコンフィグレーションレジスタ
1006から構成される。本PCI−PCIブリッジ回
路903は、1次PCIバス902と2次PCIバス9
03の間を転送されるデータを中継するが、いずれか一
方のPCIバスでのみ前記検査データ単位の付加,検査
機能を使用する場合、前記機能を使用するPCIバス側
から前記機能を使用しないPCIバス側へ転送されるデ
ータを中継するときには、検査データ単位を削除し、逆
に前記機能を使用しないPCIバス側から前記機能を使
用するPCIバス側に転送されるデータを中継するとき
には、中継するデータに検査データ単位を付加すること
を特徴とする。
【0067】以下、本計算機システムの初期化の手順を
図11のフローチャートを用いて説明する。
図11のフローチャートを用いて説明する。
【0068】ステップ1101:電源投入あるいは、リ
セットによる起動。
セットによる起動。
【0069】ステップ1102:図4のステップ402
と同様に、ブートROM106に格納された初期化プロ
グラム105をマイクロプロセッサ102にロードす
る。
と同様に、ブートROM106に格納された初期化プロ
グラム105をマイクロプロセッサ102にロードす
る。
【0070】ステップ1103:図4のステップ403
と同様に、初期化プログラム105に従いマイクロプロ
セッサ102がMP−PCIブリッジ回路107に初期
化の開始を指示する。
と同様に、初期化プログラム105に従いマイクロプロ
セッサ102がMP−PCIブリッジ回路107に初期
化の開始を指示する。
【0071】ステップ1104:図4,図5で説明した
手順に従い1次PCIバスの初期化を行う。
手順に従い1次PCIバスの初期化を行う。
【0072】ステップ1105:1次PCIバスの初期
化の終了後、1次PCIバス903にPCI−PCIブ
リッジ回路が接続されているか判定する。
化の終了後、1次PCIバス903にPCI−PCIブ
リッジ回路が接続されているか判定する。
【0073】ステップ1106:PCI−PCIブリッ
ジ回路903を検出した場合、さらに、2次PCIバス
904が接続されているため、ステップ1104と同様
の手順で2次PCIバス904の初期化を行う。このと
き、2次PCIバス上にPCI−PCIブリッジ回路を
検出した場合には、さらに3次PCIバスの初期化を行
う。
ジ回路903を検出した場合、さらに、2次PCIバス
904が接続されているため、ステップ1104と同様
の手順で2次PCIバス904の初期化を行う。このと
き、2次PCIバス上にPCI−PCIブリッジ回路を
検出した場合には、さらに3次PCIバスの初期化を行
う。
【0074】ステップ1107:初期化の終了。上記初
期化の手順では、各PCIバスごとに前記検査データ単
位の付加,検査機能の使用,不使用を決定することがで
きる。そのため、PCIエージェントのうち1つだけが
本機能をサポートしていない場合、当該PCIエージェ
ントの接続されたPCIバスのみで本機能を使用せず、
他のPCIバスでは本機能を使用することができる。
期化の手順では、各PCIバスごとに前記検査データ単
位の付加,検査機能の使用,不使用を決定することがで
きる。そのため、PCIエージェントのうち1つだけが
本機能をサポートしていない場合、当該PCIエージェ
ントの接続されたPCIバスのみで本機能を使用せず、
他のPCIバスでは本機能を使用することができる。
【0075】図11に示した初期化の結果、1次,2次
PCIバス902,904両方で前記検査データ単位の
付加,検査機能を使用する場合には、PCI−PCIブ
リッジ回路903は、そのままデータを中継すればよ
い。また、1次,2次PCIバス902,904の両方
で前記機能を使用しない場合も同様である。しかし、1
次,2次PCIバス902,904のいずれか一方での
み前記機能を使用する場合には、異なる制御が必要であ
る。以下、初期化の結果、1次PCIバス902では、
前記機能を使用し、2次PCIバス904では前記機能
を使用しない場合において、PCIエージェント110
がPCIエージェント905に対してデータを書き込む
ときのPCI−PCIブリッジ903の動作を図12を
用いて説明する。
PCIバス902,904両方で前記検査データ単位の
付加,検査機能を使用する場合には、PCI−PCIブ
リッジ回路903は、そのままデータを中継すればよ
い。また、1次,2次PCIバス902,904の両方
で前記機能を使用しない場合も同様である。しかし、1
次,2次PCIバス902,904のいずれか一方での
み前記機能を使用する場合には、異なる制御が必要であ
る。以下、初期化の結果、1次PCIバス902では、
前記機能を使用し、2次PCIバス904では前記機能
を使用しない場合において、PCIエージェント110
がPCIエージェント905に対してデータを書き込む
ときのPCI−PCIブリッジ903の動作を図12を
用いて説明する。
【0076】ステップ1201:PCIエージェント1
10が書き込み先アドレスと書き込みコマンドを発行す
る。
10が書き込み先アドレスと書き込みコマンドを発行す
る。
【0077】ステップ1202:PCI−PCIブリッ
ジ回路903は前記アドレスをデコードし、PCIエー
ジェント905に対するアクセスであることを判定する
と、本アドレス,書き込みコマンドを2次PCIバス9
04に送出する。
ジ回路903は前記アドレスをデコードし、PCIエー
ジェント905に対するアクセスであることを判定する
と、本アドレス,書き込みコマンドを2次PCIバス9
04に送出する。
【0078】ステップ1203:PCIエージェント1
10が発行したコマンドをデコードし、当該コマンドが
書き込みコマンドであることを判定する。このとき、検
査データ単位の付加,検査機能の使用,不使用の設定に
あわせて、データ中継時動作を決定する。初期設定の結
果、PCIエージェント110が送信するデータには検
査データ単位が付加されているが、2次PCIバス90
4では検査データ単位の付加,検査機能を使用しないた
め、当該データを中継するPCI−PCIブリッジ回路
903は、検査データ単位を削除して2次PCIバス9
04に送出しなくてはならない。以上のように、PCI
−PCIブリッジ回路903はデータ中継時に検査デー
タ単位を削除して2次PCIバス904にデータを送出
することを決定する。また、本ステップはステップ12
02と同時に実行可能である。
10が発行したコマンドをデコードし、当該コマンドが
書き込みコマンドであることを判定する。このとき、検
査データ単位の付加,検査機能の使用,不使用の設定に
あわせて、データ中継時動作を決定する。初期設定の結
果、PCIエージェント110が送信するデータには検
査データ単位が付加されているが、2次PCIバス90
4では検査データ単位の付加,検査機能を使用しないた
め、当該データを中継するPCI−PCIブリッジ回路
903は、検査データ単位を削除して2次PCIバス9
04に送出しなくてはならない。以上のように、PCI
−PCIブリッジ回路903はデータ中継時に検査デー
タ単位を削除して2次PCIバス904にデータを送出
することを決定する。また、本ステップはステップ12
02と同時に実行可能である。
【0079】ステップ1204:PCIエージェント1
10からデータが送信される。本データをPCI−PCI
ブリッジ回路903が受信する。受信時の手順は図8の
ステップ802からステップ805と同様に垂直パリテ
ィを計算しつつデータを受信する。
10からデータが送信される。本データをPCI−PCI
ブリッジ回路903が受信する。受信時の手順は図8の
ステップ802からステップ805と同様に垂直パリテ
ィを計算しつつデータを受信する。
【0080】ステップ1205:垂直パリティエラーか
どうか判定する。判定は図8のステップ806と同様で
ある。
どうか判定する。判定は図8のステップ806と同様で
ある。
【0081】ステップ1206:垂直パリティエラーの
場合、PCI−PCIブリッジ回路903は、送信元P
CIエージェント110にエラーを報告する。
場合、PCI−PCIブリッジ回路903は、送信元P
CIエージェント110にエラーを報告する。
【0082】ステップ1207:エラーが発見されなか
った場合、検査データ単位を削除して当該データを2次
PCIバス904へ送出する。ステップ1208:処理
の終了。
った場合、検査データ単位を削除して当該データを2次
PCIバス904へ送出する。ステップ1208:処理
の終了。
【0083】次にPCIエージェント110がPCIエ
ージェント905に対してデータを読み込むときのPC
I−PCIブリッジ903の動作を図13を用いて説明
する。
ージェント905に対してデータを読み込むときのPC
I−PCIブリッジ903の動作を図13を用いて説明
する。
【0084】ステップ1301:PCIエージェント1
10がPCIエージェント905に対して発行した読み
込みアドレスと読み込みコマンドをPCI−PCIブリ
ッジ回路903が受信する。
10がPCIエージェント905に対して発行した読み
込みアドレスと読み込みコマンドをPCI−PCIブリ
ッジ回路903が受信する。
【0085】ステップ1302:ステップ1202と同
様にアドレスをデコードし、PCIエージェント905
へのアクセスであることを判定すると、本アドレス,読
み込みコマンドを2次PCIバス904へ送出する。
様にアドレスをデコードし、PCIエージェント905
へのアクセスであることを判定すると、本アドレス,読
み込みコマンドを2次PCIバス904へ送出する。
【0086】ステップ1303:ステップ1203と同
様にデータ中継時の動作を決定する。この場合、データ
は2次PCIバス904から1次PCIバス110へ転
送されるため、PCI−PCIブリッジ回路903は、
当該データを1次PCIバス902へ送出する際に、検
査データ単位を付加することを決定する。また、本ステ
ップはステップ1302と同時に実行可能である。
様にデータ中継時の動作を決定する。この場合、データ
は2次PCIバス904から1次PCIバス110へ転
送されるため、PCI−PCIブリッジ回路903は、
当該データを1次PCIバス902へ送出する際に、検
査データ単位を付加することを決定する。また、本ステ
ップはステップ1302と同時に実行可能である。
【0087】ステップ1304:PCIエージェント9
04が送信したデータをPCI−PCIブリッジ回路9
03が受信する。受信の手順は、従来のPCI−PCI
ブリッジ回路と同様である。
04が送信したデータをPCI−PCIブリッジ回路9
03が受信する。受信の手順は、従来のPCI−PCI
ブリッジ回路と同様である。
【0088】ステップ1305:当該データを1次PC
Iバス側へ送出する。送出の手順は、図6,図7で説明
した手順と同様に、検査データ単位を計算しつつデータ
単位を送信し、すべてのデータ単位を送信すると検査デ
ータ単位を送信する。
Iバス側へ送出する。送出の手順は、図6,図7で説明
した手順と同様に、検査データ単位を計算しつつデータ
単位を送信し、すべてのデータ単位を送信すると検査デ
ータ単位を送信する。
【0089】ステップ1306:転送の終了。
【0090】以上、読み込み,書き込み時のPCI−P
CIブリッジ回路の動作を説明したが、PCIエージェ
ント110,111,905,906の動作は実施例1
と同様である。
CIブリッジ回路の動作を説明したが、PCIエージェ
ント110,111,905,906の動作は実施例1
と同様である。
【0091】
【発明の効果】以上、発明の実施の形態で詳細に説明し
たように、本発明により既存のシステムバス規格と互換
性を保ちつつ、送信側エージェントが転送されるデータ
に検査データ単位を付加し、受信側で検査することがで
き、信頼性を向上させることができる。
たように、本発明により既存のシステムバス規格と互換
性を保ちつつ、送信側エージェントが転送されるデータ
に検査データ単位を付加し、受信側で検査することがで
き、信頼性を向上させることができる。
【図1】本発明の一実施例のバスを用いた計算機システ
ムのブロック図。
ムのブロック図。
【図2】本発明によるMP−PCIブリッジ回路の詳細
を示したブロック図。
を示したブロック図。
【図3】本発明によるPCIエージェントの詳細を示し
たブロック図。
たブロック図。
【図4】図1の計算機システムの初期化処理のフローチ
ャート。
ャート。
【図5】図4のフローチャートのステップ404の詳細
を示したフローチャート。
を示したフローチャート。
【図6】PCIエージェントがデータを転送する処理の
フローチャート。
フローチャート。
【図7】図6のステップ602の詳細を示したフローチ
ャート。
ャート。
【図8】PCIエージェントのデータ受信処理のフロー
チャート。
チャート。
【図9】本発明を採用した計算機システムの他の実施例
を示すブロック図。
を示すブロック図。
【図10】本発明の実施例によるPCI−PCIブリッ
ジ回路の詳細を示したブロック図。
ジ回路の詳細を示したブロック図。
【図11】図9の計算機システムの初期化処理のフロー
チャート。
チャート。
【図12】一方のPCIエージェントから他方のPCI
エージェントに書き込みを行う処理のフローチャート。
エージェントに書き込みを行う処理のフローチャート。
【図13】一方のPCIエージェントから他方のPCI
エージェントに書き込みを行う際のPCI−PCIブリ
ッジ回路の処理フローチャート。
エージェントに書き込みを行う際のPCI−PCIブリ
ッジ回路の処理フローチャート。
【図14】従来のUNIXサーバとPCIバスのデータ
保護について比較した説明図。
保護について比較した説明図。
【図15】従来のPCIバスにおいて複数のデータ単位
を転送する状態を示した説明図。
を転送する状態を示した説明図。
【図16】転送されるデータ単位から検査データ単位を
生成してPCIバスに送出した状態を示した説明図。
生成してPCIバスに送出した状態を示した説明図。
101…計算機システム、102…マイクロプロセッ
サ、103…メモリ、104…メモリコントローラ、1
05…初期化プログラム、106…ブートROM、107
…MPローカルバス、108…PCIバス、109…M
P−PCIブリッジ回路、110…PCIエージェン
ト、111…PCIエージェント、201…MP−PC
Iブリッジ制御部、202…MP側バッファメモリ、2
03…PCI側バッファメモリ、204…垂直パリティ検
査部、205…垂直パリティ生成部、206…コンフィ
グレーションレジスタ。
サ、103…メモリ、104…メモリコントローラ、1
05…初期化プログラム、106…ブートROM、107
…MPローカルバス、108…PCIバス、109…M
P−PCIブリッジ回路、110…PCIエージェン
ト、111…PCIエージェント、201…MP−PC
Iブリッジ制御部、202…MP側バッファメモリ、2
03…PCI側バッファメモリ、204…垂直パリティ検
査部、205…垂直パリティ生成部、206…コンフィ
グレーションレジスタ。
Claims (6)
- 【請求項1】マイクロプロセッサと、プログラム,デー
タを格納するメモリと、メモリを制御するメモリコント
ローラと、電源投入時に初期化を行う初期化プログラム
を格納したブートROM(Read Only Memory)と、マイ
クロプロセッサとメモリコントローラとブートROMが
接続されるMP(Micro Processor)ローカルバスと、周
辺装置あるいは周辺装置制御回路(以下、エージェント
という)が接続される単一あるいは複数のPCI(Perip
heral Component Interconnect)バスと、上記MPロー
カルバスと上記システムバスを接続するMPブリッジ回
路から構成され、上記エージェントは上記PCIバスに
データを送出する際に、上記データをPCIバスのデー
タビット幅の大きさのデータ単位に分割し、上記データ
単位ずつPCIバスに送出し、上記複数のデータ単位の
同一バス信号線に送出されるビット列に対して排他的論
理和演算を行い、前記演算により得られた検査データ単
位を前記データの最後に付加して送出し、上記エージェ
ントは上記PCIバスからデータを受信する際に、上記
データと上記検査データ単位から上記データがPCIバ
ス上を正しく転送されたか検査する計算機システムにお
いて、計算機システムの初期化の際に、初期化プログラ
ムに従い前記マイクロプロセッサが上記PCIバスに接
続されたすべてのエージェントを検査し、少なくとも1
つのエージェントが上記検査データ単位の送出と検査機
能を持たないことが判明した場合には、上記の検査デー
タ単位の送出と検査機能を使用しないよう、上記機能を
持つエージェントに指示することを特徴とする計算機シ
ステムの初期化方法。 - 【請求項2】請求項1記載の計算機システムにおいて、
エージェントがメモリに検査データ単位を付加してデー
タを転送する際に、上記MPブリッジ回路が上記データ
を受信し、上記検査データ単位を削除してメモリへ上記
データを転送することを特徴とするMPブリッジ回路。 - 【請求項3】2つのPCIバスを接続するPCIバスブ
リッジ回路を請求項1記載の計算機システムのPCIバ
ス(以下、1次PCIバスという)に接続して、さらに
上記PCIバスブリッジ回路に新たなPCIバス(以
下、2次PCIバスという)を接続して拡張した計算機
システムにおいて、計算機システムの初期化の際に前記
マイクロプロセッサが上記2次PCIバスに接続された
すべてのエージェントを検査し、少なくとも1つのエー
ジェントが請求項1記載の検査データ単位の送出と検査
機能を持たないことが判明した場合には、請求項1記載
の検査データ単位の送出と検査機能を使用しないよう、
上記機能を持つエージェントに指示することを特徴とす
る計算機システムの初期化方法。 - 【請求項4】請求項1または3記載の計算機システムに
おいて、システムの初期化の結果、1次PCIバス,2
次PCIバスのいずれか一方でのみ請求項1記載の検査
データ単位の送出と検査機能を使用する場合、請求項1
記載の検査データ単位の送出と検査機能を使用するPC
Iバスに接続されたエージェントが、上記機能を使用し
ないPCIバスに接続したエージェントにデータを転送
する場合には、PCIバスブリッジ回路が上記データと
請求項1記載の検査データ単位の送出機能によって付加
された検査データ単位を受信,検査し、検査データ単位
を削除して上記機能を使用しないエージェントに上記デ
ータを転送し、上記機能を使用しないPCIバスに接続
されたエージェントから上記機能を使用するPCIバス
に接続されたエージェントにデータを転送する場合、P
CIバスブリッジ回路が上記データを受信し、請求項1
記載の検査データ単位を付加して上記機能を使用するP
CIバスに接続されたエージェントに転送することを特
徴とするPCIバスブリッジ回路。 - 【請求項5】請求項1または3記載の計算機システムに
おいて、受信したデータと検査データ単位から、PCI
バス上をデータが正しく転送されたか検査し、その結果
PCIバス上でデータが改変されたことを検出した場合、
上記データを送信したエージェントに対して転送の失敗
を報告することを特徴とするエージェント。 - 【請求項6】請求項1または3記載の計算機システムに
おいて、エージェントのデータ転送コマンドとして、請
求項1記載の検査データ単位を付加した転送を指示する
コマンドと、検査データ単位を付加しない転送を指示す
るコマンドを持ち、請求項1記載の検査データ単位の付
加,検査機能を持たないエージェントは、上記検査デー
タ単位を付加しない転送を指示するコマンドのみに応答
し、上記機能を持つエージェントと上記機能を持たない
エージェントが同一PCIバス上で共存することを特徴
とするPCIバス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10057721A JPH11259381A (ja) | 1998-03-10 | 1998-03-10 | 計算機システムの初期化方法およびブリッジ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10057721A JPH11259381A (ja) | 1998-03-10 | 1998-03-10 | 計算機システムの初期化方法およびブリッジ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11259381A true JPH11259381A (ja) | 1999-09-24 |
Family
ID=13063819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10057721A Pending JPH11259381A (ja) | 1998-03-10 | 1998-03-10 | 計算機システムの初期化方法およびブリッジ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11259381A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009525697A (ja) * | 2006-02-01 | 2009-07-09 | ジーイー・アビエイション・システムズ・エルエルシー | 線形トポロジに限定されたバスを他のトポロジに拡張可能にするシステム及び方法 |
-
1998
- 1998-03-10 JP JP10057721A patent/JPH11259381A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009525697A (ja) * | 2006-02-01 | 2009-07-09 | ジーイー・アビエイション・システムズ・エルエルシー | 線形トポロジに限定されたバスを他のトポロジに拡張可能にするシステム及び方法 |
US8542719B2 (en) | 2006-02-01 | 2013-09-24 | Ge Aviation Systems, Llc | System and method for making busses limited to a linear topology extensible to other topologies |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7260749B2 (en) | Hot plug interfaces and failure handling | |
US8135873B2 (en) | Information processing device for performing information exchange between a PCI express bus and a non-PCI express bus interface | |
US4939643A (en) | Fault tolerant digital data processor with improved bus protocol | |
KR100244836B1 (ko) | 컴퓨터시스템 및 다수의 기능카드 중 한개의 기능카드를 격리하는 방법 | |
US6418504B2 (en) | System and method for coupling peripheral buses through a serial bus using a split bridge implementation | |
US6760868B2 (en) | Diagnostic cage for testing redundant system controllers | |
US7526592B2 (en) | Interrupt control system and storage control system using the same | |
US8656069B2 (en) | Peripheral interface alert message for downstream device | |
US20050273534A1 (en) | High speed peripheral interconnect apparatus, method and system | |
JP2002342178A (ja) | バス・エラーに優先順位を付ける方法、コンピュータ・プログラムおよびデータ処理システム | |
US7522662B2 (en) | Electronic device including image forming apparatus | |
US6829670B1 (en) | Using consecutive block IDs to keep track of data transferred across a serially linked bridge | |
US6587813B1 (en) | PCI bus system testing and verification apparatus and method | |
US20030065868A1 (en) | Distributed peer-to-peer communication for interconnect busses of a computer system | |
JPH1055331A (ja) | プログラム可能な読み出し/書き込みアクセス信号とその方法 | |
US7168029B2 (en) | Method for testing a universal serial bus host controller | |
US5761461A (en) | Method and system for preventing peripheral component interconnect (PCI) peer-to-peer access across multiple PCI host bridges within a data processing system | |
JPH11259381A (ja) | 計算機システムの初期化方法およびブリッジ回路 | |
US20030212932A1 (en) | Remote diagnostic packets | |
US7702838B2 (en) | Method and apparatus for configuration space extension bus | |
US6880120B2 (en) | Sequence-based verification method and system | |
JPH0981502A (ja) | コンピュータシステム | |
JP2002358251A (ja) | Pciデバイスおよびそれを備えるpciバスシステムならびにデータ収集方法 | |
JP2005070993A (ja) | 転送モード異常検出機能を有する装置並びにストレージ制御装置および同装置用インターフェイスモジュール | |
JP2001290759A (ja) | バスブリッジ及びバスブリッジシステム |