JPH06348642A - マルチプル・バス・ネットワークの初期化方法及びその装置 - Google Patents
マルチプル・バス・ネットワークの初期化方法及びその装置Info
- Publication number
- JPH06348642A JPH06348642A JP6109229A JP10922994A JPH06348642A JP H06348642 A JPH06348642 A JP H06348642A JP 6109229 A JP6109229 A JP 6109229A JP 10922994 A JP10922994 A JP 10922994A JP H06348642 A JPH06348642 A JP H06348642A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- peripheral
- bridge
- pci
- buses
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 情報処理システムにおいて周辺装置をCPU
へ接続するためにマルチプル・バス・ネットワークの予
備マップを作成する装置及び方法を提供する。 【構成】 システムのコンフィギュレーション・プログ
ラムは予備マップを用いることによりマルチプル・バス
・ネットワーク内の周辺装置を構成するためにそれらを
位置付けする。マルチプル・バス・ネットワークの物理
的コンフィギュレーションが変更されても、プログラム
の書直しや変更をすることなく予備マップに対して対応
する変更を行うことができる。
へ接続するためにマルチプル・バス・ネットワークの予
備マップを作成する装置及び方法を提供する。 【構成】 システムのコンフィギュレーション・プログ
ラムは予備マップを用いることによりマルチプル・バス
・ネットワーク内の周辺装置を構成するためにそれらを
位置付けする。マルチプル・バス・ネットワークの物理
的コンフィギュレーションが変更されても、プログラム
の書直しや変更をすることなく予備マップに対して対応
する変更を行うことができる。
Description
【0001】
【産業上の利用分野】本発明は、広くは情報処理システ
ムに関し、特に情報処理システムにおけるマルチプル
(複数)・バス・ネットワークを初期化するための方法
及び装置に関する。
ムに関し、特に情報処理システムにおけるマルチプル
(複数)・バス・ネットワークを初期化するための方法
及び装置に関する。
【0002】
【従来の技術】一般的な情報処理システムにおいては、
通常、主要な構成要素としてそのシステム内の全ての通
信を管理し、そのシステムにより実行される全ての命令
を統制する中央演算処理装置(CPU)を備えている。
さらに情報処理システムは、通常、バスと呼ばれる物理
的接続装置である1又は複数のネットワークを備えてい
る。これらのネットワークは、CPUを任意の数の周辺
装置へ接続することにより、CPUがそれらの周辺装置
と通信することを可能にする。
通常、主要な構成要素としてそのシステム内の全ての通
信を管理し、そのシステムにより実行される全ての命令
を統制する中央演算処理装置(CPU)を備えている。
さらに情報処理システムは、通常、バスと呼ばれる物理
的接続装置である1又は複数のネットワークを備えてい
る。これらのネットワークは、CPUを任意の数の周辺
装置へ接続することにより、CPUがそれらの周辺装置
と通信することを可能にする。
【0003】マルチプル・バス・ネットワークにおい
て、CPUが特定の周辺装置と通信するためには、その
特定の周辺装置を接続するためのネットワーク内に適切
なバスを配置可能でなければならない。その後、CPU
は、通信しようとする適切な周辺装置をそのバス上に配
置可能でなければならない。
て、CPUが特定の周辺装置と通信するためには、その
特定の周辺装置を接続するためのネットワーク内に適切
なバスを配置可能でなければならない。その後、CPU
は、通信しようとする適切な周辺装置をそのバス上に配
置可能でなければならない。
【0004】従って、マルチプル・バスと周辺装置のネ
ットワークを含むコンピュータ・システムは、各バスと
周辺装置の場所を示す「アドレス・マップ」を作成しな
ければならない。このアドレス・マップは、一般的にコ
ンフィギュレーション(configuration)と呼ばれるシ
ステムの立上げ又は初期化段階の間に普通は作成され
る。
ットワークを含むコンピュータ・システムは、各バスと
周辺装置の場所を示す「アドレス・マップ」を作成しな
ければならない。このアドレス・マップは、一般的にコ
ンフィギュレーション(configuration)と呼ばれるシ
ステムの立上げ又は初期化段階の間に普通は作成され
る。
【0005】コンフィギュレーション(構成)の間、C
PUは、アドレス・マップを作成する情報処理システム
のメモリに記憶されたソフトウェアであるコンフィギュ
レーション・プログラムにアクセスする。このコンフィ
ギュレーション・プログラムにより、CPUは、各ブリ
ッジと周辺装置がシステム・メモリ内で必要とするメモ
リの量とネットワークにおけるそれらの場所を判断する
ために各周辺装置へアクセスできるようにするものであ
る。その後、CPUは各装置との間のバス・ツー・バス
(bus-to-bus)ブリッジ(インターフェース)のために
システム・メモリ内にメモリ・レジスタを確保する。各
装置に対してメモリ内に場所が設定された後、再びコン
フィギュレーション・プログラムにより、CPUはネッ
トワーク中の各周辺装置へアクセスし、そして各装置に
対して確保されたシステム・メモリ内のレジスタのそれ
ぞれのアドレスへ「書込む」ことができる。
PUは、アドレス・マップを作成する情報処理システム
のメモリに記憶されたソフトウェアであるコンフィギュ
レーション・プログラムにアクセスする。このコンフィ
ギュレーション・プログラムにより、CPUは、各ブリ
ッジと周辺装置がシステム・メモリ内で必要とするメモ
リの量とネットワークにおけるそれらの場所を判断する
ために各周辺装置へアクセスできるようにするものであ
る。その後、CPUは各装置との間のバス・ツー・バス
(bus-to-bus)ブリッジ(インターフェース)のために
システム・メモリ内にメモリ・レジスタを確保する。各
装置に対してメモリ内に場所が設定された後、再びコン
フィギュレーション・プログラムにより、CPUはネッ
トワーク中の各周辺装置へアクセスし、そして各装置に
対して確保されたシステム・メモリ内のレジスタのそれ
ぞれのアドレスへ「書込む」ことができる。
【0006】CPUとマルチプル・バス・ネットワーク
間の通常の通信中に、各周辺装置はシステム・メモリに
当該装置のために確保されたアドレスをデコードするこ
とにより又はエンコードすることによりCPUとの通信
を行うことができる。従って、ネットワーク内の各周辺
装置に対してメモリ場所を割当てることにより、コンフ
ィギュレーション・プログラムは、通常の通信において
用いられるネットワークのアドレス・マップを作成す
る。
間の通常の通信中に、各周辺装置はシステム・メモリに
当該装置のために確保されたアドレスをデコードするこ
とにより又はエンコードすることによりCPUとの通信
を行うことができる。従って、ネットワーク内の各周辺
装置に対してメモリ場所を割当てることにより、コンフ
ィギュレーション・プログラムは、通常の通信において
用いられるネットワークのアドレス・マップを作成す
る。
【0007】しかしながら、このアドレス・マップを作
成する方法には問題がある。なぜなら、コンフィギュレ
ーション・プログラムは、アドレス・マップが作成され
る前にネットワーク内の各ブリッジ及び周辺装置を配置
しかつアクセスできなければならないからである。すな
わち、アドレス・マップが作成される前であってもネッ
トワークの「予備マップ(preliminary map)」は存在し
なければならないということである。
成する方法には問題がある。なぜなら、コンフィギュレ
ーション・プログラムは、アドレス・マップが作成され
る前にネットワーク内の各ブリッジ及び周辺装置を配置
しかつアクセスできなければならないからである。すな
わち、アドレス・マップが作成される前であってもネッ
トワークの「予備マップ(preliminary map)」は存在し
なければならないということである。
【0008】この予備マップを作成するために用いられ
る公知の方法として、そのネットワークの特定の物理的
コンフィギュレーション(物理的構成)に対して予備マ
ップを作成するべく書かれた別のソフトウェア・プログ
ラムを利用する方法がある。このプログラムは、コンピ
ュータ・システムが立上げ時に初期化される度にその予
備マップを作成する。このようなプログラムを書くため
に、プログラマはネットワークを構成するバス及び周辺
装置の正確なかつ全体的な階層構成と同列構成を知らな
ければならない。
る公知の方法として、そのネットワークの特定の物理的
コンフィギュレーション(物理的構成)に対して予備マ
ップを作成するべく書かれた別のソフトウェア・プログ
ラムを利用する方法がある。このプログラムは、コンピ
ュータ・システムが立上げ時に初期化される度にその予
備マップを作成する。このようなプログラムを書くため
に、プログラマはネットワークを構成するバス及び周辺
装置の正確なかつ全体的な階層構成と同列構成を知らな
ければならない。
【0009】予備マップを作成するこの方法の問題は、
それが融通性がない点である。マルチプル・バス・ネッ
トワークを構成するバス及び装置の物理的コンフィギュ
レーションを変更したい場合はしばしばある。例えば、
システムの性能を強化するために、あるバスや周辺装置
を追加したいようなときである。
それが融通性がない点である。マルチプル・バス・ネッ
トワークを構成するバス及び装置の物理的コンフィギュ
レーションを変更したい場合はしばしばある。例えば、
システムの性能を強化するために、あるバスや周辺装置
を追加したいようなときである。
【0010】ところが、予備マップが、ネットワークの
1つの物理的構造用の特定のプログラムにより作成され
る方法では、バスの配置が変更される度にあるいはバス
や装置がシステムから取外される度に、このプログラム
を書直さなければならない。さらに、プログラマは、物
理的システム構成の変更に関する詳細な知識を有してい
なければならず、またシステム内の各バスの正確な場所
を知っていなければならない。まとめると、予備マップ
を作成するためにある物理的バス構成用に特別に書かれ
たプログラムを用いる方法は、ネットワークの物理的コ
ンフィギュレーションを変更する必要が後に生じた場合
には、煩雑でかつ時間のかかる方法であるといえる。
1つの物理的構造用の特定のプログラムにより作成され
る方法では、バスの配置が変更される度にあるいはバス
や装置がシステムから取外される度に、このプログラム
を書直さなければならない。さらに、プログラマは、物
理的システム構成の変更に関する詳細な知識を有してい
なければならず、またシステム内の各バスの正確な場所
を知っていなければならない。まとめると、予備マップ
を作成するためにある物理的バス構成用に特別に書かれ
たプログラムを用いる方法は、ネットワークの物理的コ
ンフィギュレーションを変更する必要が後に生じた場合
には、煩雑でかつ時間のかかる方法であるといえる。
【0011】予備マップを作成する別の方法としては、
ネットワーク内の各バス・ツー・バス・ブリッジへ予備
マップを実際に「配線」する方法がある。バス・ツー・
バス・ブリッジは、ネットワーク内で2つのバスを互い
に接続するために用いられるハードウェア装置である。
従って、システムが立上げ時に初期化されるとき、ネッ
トワーク全体の予備マップは既に存在しかつデフォール
トにより固定されている。
ネットワーク内の各バス・ツー・バス・ブリッジへ予備
マップを実際に「配線」する方法がある。バス・ツー・
バス・ブリッジは、ネットワーク内で2つのバスを互い
に接続するために用いられるハードウェア装置である。
従って、システムが立上げ時に初期化されるとき、ネッ
トワーク全体の予備マップは既に存在しかつデフォール
トにより固定されている。
【0012】この方法を用いる場合、融通性がない点で
はさらに大きな問題となる。実配線された予備マップを
用いるマルチプル・バス・ネットワークにおいては、ネ
ットワークの物理的コンフィギュレーションの変更が必
要となった場合に、マップ中のバス・ツー・バス・ブリ
ッジ及びバスの場所を与えるハードウェアをその度に交
換するか又は再配線しなければならない。
はさらに大きな問題となる。実配線された予備マップを
用いるマルチプル・バス・ネットワークにおいては、ネ
ットワークの物理的コンフィギュレーションの変更が必
要となった場合に、マップ中のバス・ツー・バス・ブリ
ッジ及びバスの場所を与えるハードウェアをその度に交
換するか又は再配線しなければならない。
【0013】
【発明が解決しようとする課題】以上のことから、本発
明の目的は、いずれの物理的ネットワーク構成にも特定
されないような、マルチプル・バス・ネットワーク内の
バスの予備マップを作成するための、マルチプル・バス
情報処理システムの初期化方法及び装置を提供すること
である。さらに本発明の目的は、マルチプル・バス情報
処理システムの物理的コンフィギュレーションの変更が
行われる場合に、マルチプル・バス・ネットワークのた
めの新しい別の予備マップを作成するための、システム
の初期化方法及び装置を提供することである。最後に本
発明の目的は、ネットワークへの新たなハードウェアの
追加もネットワークへの予備マップの実配線も必要とし
ないような、マルチプル・バス情報処理システムの初期
化方法及び装置を提供することである。
明の目的は、いずれの物理的ネットワーク構成にも特定
されないような、マルチプル・バス・ネットワーク内の
バスの予備マップを作成するための、マルチプル・バス
情報処理システムの初期化方法及び装置を提供すること
である。さらに本発明の目的は、マルチプル・バス情報
処理システムの物理的コンフィギュレーションの変更が
行われる場合に、マルチプル・バス・ネットワークのた
めの新しい別の予備マップを作成するための、システム
の初期化方法及び装置を提供することである。最後に本
発明の目的は、ネットワークへの新たなハードウェアの
追加もネットワークへの予備マップの実配線も必要とし
ないような、マルチプル・バス情報処理システムの初期
化方法及び装置を提供することである。
【0014】
【課題を解決するための手段】従って、本発明は、マル
チプル・バス・ネットワークの予備マップを作成するプ
ログラムを提供する。この予備マップは、作成された
後、マルチプル・バス・ネットワーク内の周辺装置を設
定すべくそれらの装置を配置するためにシステムのコン
フィギュレーション・プログラムにより用いられる。マ
ルチプル・バス・ネットワークの物理的コンフィギュレ
ーションがなんらかの方法で変更される場合、上記の予
備マップ作成プログラムは、プログラムの書直しや変更
を行うことなく予備マップの対応する変更を実行するこ
とができる。
チプル・バス・ネットワークの予備マップを作成するプ
ログラムを提供する。この予備マップは、作成された
後、マルチプル・バス・ネットワーク内の周辺装置を設
定すべくそれらの装置を配置するためにシステムのコン
フィギュレーション・プログラムにより用いられる。マ
ルチプル・バス・ネットワークの物理的コンフィギュレ
ーションがなんらかの方法で変更される場合、上記の予
備マップ作成プログラムは、プログラムの書直しや変更
を行うことなく予備マップの対応する変更を実行するこ
とができる。
【0015】
【実施例】図1乃至図3は、デュアル・バス情報処理シ
ステム10を示すブロック図であり、(i)システム・バ
ス16を介してシステム・バス装置14に接続されるプ
ロセッサ、キャッシュ及びメモリの複合体14と、(ii)
主PCI(Peripheral Component Interconnet)22を介
してシステム・バス装置の1つである主PCIホスト・
ブリッジ20へ接続される主PCI装置18から構成さ
れる。図1乃至図3に示されたプロセッサ、キャッシュ
及びメモリの複合体12、システム・バス装置14、主
PCI装置18、及び他の構成要素については、以下に
より詳細に記述する。
ステム10を示すブロック図であり、(i)システム・バ
ス16を介してシステム・バス装置14に接続されるプ
ロセッサ、キャッシュ及びメモリの複合体14と、(ii)
主PCI(Peripheral Component Interconnet)22を介
してシステム・バス装置の1つである主PCIホスト・
ブリッジ20へ接続される主PCI装置18から構成さ
れる。図1乃至図3に示されたプロセッサ、キャッシュ
及びメモリの複合体12、システム・バス装置14、主
PCI装置18、及び他の構成要素については、以下に
より詳細に記述する。
【0016】プロセッサ、キャッシュ及びメモリの複合
体12は、中央演算処理装置(CPU)24、自己検査
回路26、デュアルバスメモリ制御装置28、CPUキ
ャッシュ30、及びベースシステムメモリ32からな
る。好適例におけるCPU24は、Intel,In
c.からi486TMの製品名で市販されている32ビッ
トマイクロプロセッサであるが、システム10は他の形
のCPU、特に他のx86形のマイクロプロセッサを用
いても実施可能である。自己検査回路26は、CPU2
4の起動時の組込み検査(built-in-self-test:BIS
T)機能を与える。自己検査回路はまた、各システム・
バス装置14内に組込み可能ないずれの自己検査機能を
も制御する。
体12は、中央演算処理装置(CPU)24、自己検査
回路26、デュアルバスメモリ制御装置28、CPUキ
ャッシュ30、及びベースシステムメモリ32からな
る。好適例におけるCPU24は、Intel,In
c.からi486TMの製品名で市販されている32ビッ
トマイクロプロセッサであるが、システム10は他の形
のCPU、特に他のx86形のマイクロプロセッサを用
いても実施可能である。自己検査回路26は、CPU2
4の起動時の組込み検査(built-in-self-test:BIS
T)機能を与える。自己検査回路はまた、各システム・
バス装置14内に組込み可能ないずれの自己検査機能を
も制御する。
【0017】CPU24は、CPUローカル・バス34
により自己検査回路26及びメモリ制御装置28へ接続
される。メモリ制御装置28は、ベースシステムメモリ
・バス36によりベースシステムメモリ32へ接続され
る。メモリ制御装置28は、ベースシステムメモリ・バ
スを介してベースシステムメモリ32に対する読取り及
び書込み動作を制御する。これらの動作は、CPUロー
カル・バス34を介してCPU24により開始される
か、又はシステム・バス16を介してシステム・バス装
置14により開始される。メモリ制御装置は2つのバス
上の動作を管理することができるので、ベースシステム
メモリ・バス36及びCPUローカル・バス34を介す
る動作は同時に管理可能である。CPUローカル・バス
34、ベースシステムメモリ・バス36及びシステム・
バスは32ビット・バスであり、それぞれのバスは、こ
のようなバスにおいて通常そうであるように、データ情
報パス、アドレス情報パス及び制御情報パスからなる。
により自己検査回路26及びメモリ制御装置28へ接続
される。メモリ制御装置28は、ベースシステムメモリ
・バス36によりベースシステムメモリ32へ接続され
る。メモリ制御装置28は、ベースシステムメモリ・バ
スを介してベースシステムメモリ32に対する読取り及
び書込み動作を制御する。これらの動作は、CPUロー
カル・バス34を介してCPU24により開始される
か、又はシステム・バス16を介してシステム・バス装
置14により開始される。メモリ制御装置は2つのバス
上の動作を管理することができるので、ベースシステム
メモリ・バス36及びCPUローカル・バス34を介す
る動作は同時に管理可能である。CPUローカル・バス
34、ベースシステムメモリ・バス36及びシステム・
バスは32ビット・バスであり、それぞれのバスは、こ
のようなバスにおいて通常そうであるように、データ情
報パス、アドレス情報パス及び制御情報パスからなる。
【0018】ベースシステムメモリ32はシステムワイ
ド(全体的)な記憶能力を提供し、非インターリーブな
メモリ・カード又はインターリーブなメモリ・カードの
いずれによっても構成することができる。CPUキャッ
シュ30は、ベースシステムメモリ32又はシステム1
0の外に設置された拡張メモリのいずれかに入っている
情報を短期間記憶することができる。このような拡張メ
モリは、例えば、システムの周辺に接続されたI/O装
置に設置することができる。CPUキャッシュ30は、
ランダムアクセスメモリ(RAM、図示せず)を有して
おり、CPU24により頻繁にアクセスされるベースシ
ステムメモリ32のアドレス場所を一時的に記憶するた
めに用いられる。CPU24は、CPUキャッシュ30
内に記憶された情報に直接アクセスする。一方ベースシ
ステムメモリ32内に記憶された情報へのアクセスはメ
モリ制御装置28により処理されなければならない。
ド(全体的)な記憶能力を提供し、非インターリーブな
メモリ・カード又はインターリーブなメモリ・カードの
いずれによっても構成することができる。CPUキャッ
シュ30は、ベースシステムメモリ32又はシステム1
0の外に設置された拡張メモリのいずれかに入っている
情報を短期間記憶することができる。このような拡張メ
モリは、例えば、システムの周辺に接続されたI/O装
置に設置することができる。CPUキャッシュ30は、
ランダムアクセスメモリ(RAM、図示せず)を有して
おり、CPU24により頻繁にアクセスされるベースシ
ステムメモリ32のアドレス場所を一時的に記憶するた
めに用いられる。CPU24は、CPUキャッシュ30
内に記憶された情報に直接アクセスする。一方ベースシ
ステムメモリ32内に記憶された情報へのアクセスはメ
モリ制御装置28により処理されなければならない。
【0019】ベースシステムメモリ32への全てのアク
セスは、ベースシステムメモリ・バス36を介してメモ
リ制御装置28により制御される。メモリ制御装置はベ
ースシステムメモリ32へのシステムメモリ・サイクル
を開始する。このサイクルの間、CPU24又はシステ
ム・バス装置14の中の1つのいずれかが、メモリ制御
装置28を介してベースシステムメモリへのアクセスを
行う。CPU又はローカル・バスにより開始されたメモ
リ・サイクルの間、メモリ制御装置はシステム・バス上
に情報を送らない。しかしながら、メモリ制御装置が、
現在管理しているCPU動作がI/Oサイクルであると
判断した場合、メモリ制御装置は、システム・バス装置
14によるアクセスのためにシステム・バス16上へ情
報を伝送する。もしそのI/Oサイクルがシステム・バ
ス装置を目的とする場合、適切なシステム・バス装置が
デコード命令によりメモリ制御装置に対して応答する。
もしそのI/O動作が主PCI装置18を目的とする場
合、PCIホスト・ブリッジ20がデコード命令により
メモリ制御装置に対して応答し、適切な主PCI装置に
対してI/Oサイクルを送る。
セスは、ベースシステムメモリ・バス36を介してメモ
リ制御装置28により制御される。メモリ制御装置はベ
ースシステムメモリ32へのシステムメモリ・サイクル
を開始する。このサイクルの間、CPU24又はシステ
ム・バス装置14の中の1つのいずれかが、メモリ制御
装置28を介してベースシステムメモリへのアクセスを
行う。CPU又はローカル・バスにより開始されたメモ
リ・サイクルの間、メモリ制御装置はシステム・バス上
に情報を送らない。しかしながら、メモリ制御装置が、
現在管理しているCPU動作がI/Oサイクルであると
判断した場合、メモリ制御装置は、システム・バス装置
14によるアクセスのためにシステム・バス16上へ情
報を伝送する。もしそのI/Oサイクルがシステム・バ
ス装置を目的とする場合、適切なシステム・バス装置が
デコード命令によりメモリ制御装置に対して応答する。
もしそのI/O動作が主PCI装置18を目的とする場
合、PCIホスト・ブリッジ20がデコード命令により
メモリ制御装置に対して応答し、適切な主PCI装置に
対してI/Oサイクルを送る。
【0020】システム・クロック・モジュール38は、
システム・バス装置14のために1つのクロックを与
え、CPU24に対して一対のクロック信号を与える。
好適例では、システム・バスに与えられるクロック信号
は33MHzで動作する。CPU24に与えられる2つ
の信号は、それぞれ33MHz及び66MHzで動作す
る。CPU24は、内部では66MHzで動作するがC
PUローカル・バス34を介しては33MHzで通信す
るために、2つのクロック信号を必要とする。
システム・バス装置14のために1つのクロックを与
え、CPU24に対して一対のクロック信号を与える。
好適例では、システム・バスに与えられるクロック信号
は33MHzで動作する。CPU24に与えられる2つ
の信号は、それぞれ33MHz及び66MHzで動作す
る。CPU24は、内部では66MHzで動作するがC
PUローカル・バス34を介しては33MHzで通信す
るために、2つのクロック信号を必要とする。
【0021】プロセッサ、キャッシュ及びメモリの複合
体12とシステム・バス装置との間の通信は、メモリ制
御装置28により32ビットのシステム・バス16を介
して管理される。図1乃至図3の好適例に示すように、
システム・バスには、直接メモリアクセス(DMA)制
御装置40、システム調停制御ポイント(SACP)4
2、入出力(I/O)制御装置44、PCMCIA制御
装置46、及びパワー(電源)管理制御装置48もまた
接続されている。さらに細かいパワー管理制御が望まし
い場合は、パワー管理制御装置48にパワー管理マイク
ロ制御装置50を任意に接続してもよい。システム・バ
ス16上のDMA制御装置40とI/O制御装置44と
の中間にバッファ52が設けられている。しかしなが
ら、図1乃至図3のように、図示のもの以外の他のシス
テム・バス装置14をシステム・バス16に接続できる
ように考慮されている。
体12とシステム・バス装置との間の通信は、メモリ制
御装置28により32ビットのシステム・バス16を介
して管理される。図1乃至図3の好適例に示すように、
システム・バスには、直接メモリアクセス(DMA)制
御装置40、システム調停制御ポイント(SACP)4
2、入出力(I/O)制御装置44、PCMCIA制御
装置46、及びパワー(電源)管理制御装置48もまた
接続されている。さらに細かいパワー管理制御が望まし
い場合は、パワー管理制御装置48にパワー管理マイク
ロ制御装置50を任意に接続してもよい。システム・バ
ス16上のDMA制御装置40とI/O制御装置44と
の中間にバッファ52が設けられている。しかしなが
ら、図1乃至図3のように、図示のもの以外の他のシス
テム・バス装置14をシステム・バス16に接続できる
ように考慮されている。
【0022】PCMCIA制御装置46は、PCMCI
Aカード・スロット54に直接接続される。周辺I/O
装置56は、バッファ58によりPCMCIAカード・
スロット54へ接続される。アドレス・ラッチ57は、
バッファ58と周辺I/O装置56との中間に設けられ
る。周辺I/O装置56はI/O制御装置44により制
御される。I/O制御装置には、日時クロック60及び
RAMモジュール62が取付けられる。I/O制御装置
44は、マウス・ポート64、シリアル・ポート66、
パラレル・ポート68及びキーボード・ポート70を含
む様々なポートをサポートする。
Aカード・スロット54に直接接続される。周辺I/O
装置56は、バッファ58によりPCMCIAカード・
スロット54へ接続される。アドレス・ラッチ57は、
バッファ58と周辺I/O装置56との中間に設けられ
る。周辺I/O装置56はI/O制御装置44により制
御される。I/O制御装置には、日時クロック60及び
RAMモジュール62が取付けられる。I/O制御装置
44は、マウス・ポート64、シリアル・ポート66、
パラレル・ポート68及びキーボード・ポート70を含
む様々なポートをサポートする。
【0023】システム・バス16上のシステム・バス装
置14をサポートする以外に、システム10は第2の高
速高バンド幅のバスもまたサポートする。これは、好適
例では主PCIバス22である。主PCIバス22は、
PCIと呼ばれる新しいバス・アーキテクチャから構成
される。主PCIバス22は、高性能バスである。すな
わち、120メガバイト/秒に達する比較的短時間の大
量データ転送を実行することを意味する。PCIバスが
この高レベルの性能を得ている理由として、1つにはシ
ステム・バス14のような他の高速バスに直接連結可能
である点が挙げられ、それによってCPU24又は他の
システム・バス装置14と主PCIバス装置18との間
の高速データ転送が可能になる。実際、ある種のグラフ
ィック・チップ等のいくつかの高集積度の装置の動作
は、PCIバス22のような高性能バスを介してシステ
ム・バスへ直接連結されることを必要とする。
置14をサポートする以外に、システム10は第2の高
速高バンド幅のバスもまたサポートする。これは、好適
例では主PCIバス22である。主PCIバス22は、
PCIと呼ばれる新しいバス・アーキテクチャから構成
される。主PCIバス22は、高性能バスである。すな
わち、120メガバイト/秒に達する比較的短時間の大
量データ転送を実行することを意味する。PCIバスが
この高レベルの性能を得ている理由として、1つにはシ
ステム・バス14のような他の高速バスに直接連結可能
である点が挙げられ、それによってCPU24又は他の
システム・バス装置14と主PCIバス装置18との間
の高速データ転送が可能になる。実際、ある種のグラフ
ィック・チップ等のいくつかの高集積度の装置の動作
は、PCIバス22のような高性能バスを介してシステ
ム・バスへ直接連結されることを必要とする。
【0024】さらに、PCIバス・アーキテクチャは、
それに接続された周辺装置を動作させるためのいずれの
「グルー(付加的な)・ロジック(glue logic)」も必要
としない。他のバスについてのグルー・ロジックは、通
常、デコーダ、バッファ又はラッチ等の付加的ハードウ
ェア要素からなり、それらは周辺装置とバスとの中間に
設置されている。
それに接続された周辺装置を動作させるためのいずれの
「グルー(付加的な)・ロジック(glue logic)」も必要
としない。他のバスについてのグルー・ロジックは、通
常、デコーダ、バッファ又はラッチ等の付加的ハードウ
ェア要素からなり、それらは周辺装置とバスとの中間に
設置されている。
【0025】主PCIバスは、33MHzの同期クロッ
ク信号で動作し、PCIバス上を伝送されるデータのス
トリングは32ビット長である。32ビットのデータ・
ストリングはダブル・ワード(DWORD)と呼ばれ、それ
ぞれ8ビットのデータからなる4バイトに分割されてい
る。
ク信号で動作し、PCIバス上を伝送されるデータのス
トリングは32ビット長である。32ビットのデータ・
ストリングはダブル・ワード(DWORD)と呼ばれ、それ
ぞれ8ビットのデータからなる4バイトに分割されてい
る。
【0026】PCIバスにより運ばれるアドレス情報及
びデータ情報は、1つの信号の上に多重化されている。
多重化することによりアドレス・ラインとデータ・ライ
ンとを別にする必要性がなくなる。すなわちこのこと
は、他のバス・アーキテクチャに比べた場合、PCIバ
ス環境で必要な信号の数を低減させることになる。PC
Iバスのアーキテクチャで必要な信号の数は45乃至4
7であるが、非多重化バスでは通常この倍の数を必要と
する。従って、信号数が低減されるので、PCIバスに
接続される装置をサポートするために必要な接続ピンの
数もまた相当する数だけ低減される。このようにPCI
アーキテクチャは、特に高い集積度のデスクトップ型コ
ンピュータ・システムに適している。
びデータ情報は、1つの信号の上に多重化されている。
多重化することによりアドレス・ラインとデータ・ライ
ンとを別にする必要性がなくなる。すなわちこのこと
は、他のバス・アーキテクチャに比べた場合、PCIバ
ス環境で必要な信号の数を低減させることになる。PC
Iバスのアーキテクチャで必要な信号の数は45乃至4
7であるが、非多重化バスでは通常この倍の数を必要と
する。従って、信号数が低減されるので、PCIバスに
接続される装置をサポートするために必要な接続ピンの
数もまた相当する数だけ低減される。このようにPCI
アーキテクチャは、特に高い集積度のデスクトップ型コ
ンピュータ・システムに適している。
【0027】PCIバスの構造及び動作についてのさら
に詳細な記述については、例えば、「Peripheral Compo
nent Interconnect (PCI) Revision 2.0 Specificatio
n」,published April 30,1993、「Preliminary PCI Sys
tem Design Guide」, revision 0.6, published Novemb
er 1, 1992及び「Peripheral Component Interconnect
(PCI) Add-inn Board/Connector Addendum」, (Draft)
published 6 November, 1992、並びにPCI Special Inte
rest Groupによるものがある。
に詳細な記述については、例えば、「Peripheral Compo
nent Interconnect (PCI) Revision 2.0 Specificatio
n」,published April 30,1993、「Preliminary PCI Sys
tem Design Guide」, revision 0.6, published Novemb
er 1, 1992及び「Peripheral Component Interconnect
(PCI) Add-inn Board/Connector Addendum」, (Draft)
published 6 November, 1992、並びにPCI Special Inte
rest Groupによるものがある。
【0028】システム10の主PCI装置18は、主P
CIバス22を介して互いに通信し合う。主PCI装置
は、システム・バス16上に常駐するシステム・バス装
置の1つであるPCIホスト・ブリッジ20によりCP
U、キャッシュ及びメモリ複合体12と通信し、また、
システム・バス上に常駐する他のシステム・バス装置と
も通信する。このときPCIホスト・ブリッジ20は、
システム・バス16と主PCIバス22との間のインタ
ーフェースとして働き、これら2つのバスの間及びこれ
らのバス上に常駐する周辺装置間の効果的な通信手段を
提供する。
CIバス22を介して互いに通信し合う。主PCI装置
は、システム・バス16上に常駐するシステム・バス装
置の1つであるPCIホスト・ブリッジ20によりCP
U、キャッシュ及びメモリ複合体12と通信し、また、
システム・バス上に常駐する他のシステム・バス装置と
も通信する。このときPCIホスト・ブリッジ20は、
システム・バス16と主PCIバス22との間のインタ
ーフェースとして働き、これら2つのバスの間及びこれ
らのバス上に常駐する周辺装置間の効果的な通信手段を
提供する。
【0029】PCIホスト・ブリッジ20は、待ち時間
の短い相互接続機構を可能にし、これを介してCPU2
4又は他のシステム・バス装置14が主PCI装置18
又はこれに接続された装置に直接アクセスすることがで
きる。ブリッジ20はまた、主PCI装置又はこれに接
続された装置がベースシステムメモリ32に対して速や
かにかつ直接アクセスできる高性能パスを提供する。さ
らに、ホスト・ブリッジ20は、システム・バス16と
主PCIバス22との間のインターフェースを可能にす
るために必要な全てのハードウェアを設けており、それ
によってこれらのバス間でデータを転送することができ
る。
の短い相互接続機構を可能にし、これを介してCPU2
4又は他のシステム・バス装置14が主PCI装置18
又はこれに接続された装置に直接アクセスすることがで
きる。ブリッジ20はまた、主PCI装置又はこれに接
続された装置がベースシステムメモリ32に対して速や
かにかつ直接アクセスできる高性能パスを提供する。さ
らに、ホスト・ブリッジ20は、システム・バス16と
主PCIバス22との間のインターフェースを可能にす
るために必要な全てのハードウェアを設けており、それ
によってこれらのバス間でデータを転送することができ
る。
【0030】主PCIバス22は、PCI互換の様々な
装置をサポートすることができる。図1乃至図3のよう
に、これらの装置には、グラフィクス制御装置72、シ
リアルSCSI(small computer systems interface)
制御装置74、PCMCIA制御装置76、標準I/O
バス(例えば、ISA又はマイクロチャネル(MC−
A))ブリッジ78(ここでは拡張ブリッジとも称す
る)、及びPCI2次ブリッジ80が含まれる。しかし
ながらPCIバスに接続される図1乃至図3に示された
装置は、PCIバスを実現するシステムの一例にすぎ
ず、従って開示された構成の例であり、いずれにせよ本
発明を限定しようとするものではない。
装置をサポートすることができる。図1乃至図3のよう
に、これらの装置には、グラフィクス制御装置72、シ
リアルSCSI(small computer systems interface)
制御装置74、PCMCIA制御装置76、標準I/O
バス(例えば、ISA又はマイクロチャネル(MC−
A))ブリッジ78(ここでは拡張ブリッジとも称す
る)、及びPCI2次ブリッジ80が含まれる。しかし
ながらPCIバスに接続される図1乃至図3に示された
装置は、PCIバスを実現するシステムの一例にすぎ
ず、従って開示された構成の例であり、いずれにせよ本
発明を限定しようとするものではない。
【0031】グラフィクス制御装置72は、通常、VR
AM82の形でメモリ機能を備えることによりこの中に
ビデオ・フレームをバッファすることができ、そしてP
CIバス・アーキテクチャによりサポート可能な周知の
グラフィクス制御チップのいずれをも制御することがで
きる。SCSI制御装置74は、SCSIバスに接続さ
れたSCSI装置84と主PCIバス22との間のイン
ターフェースとして働き、そしてPCIバス・アーキテ
クチャによりサポート可能ないずれのSCSI装置をも
制御することができる。PCMCIA制御装置76は、
カード・スロット88に接続されかつこれを制御する。
AM82の形でメモリ機能を備えることによりこの中に
ビデオ・フレームをバッファすることができ、そしてP
CIバス・アーキテクチャによりサポート可能な周知の
グラフィクス制御チップのいずれをも制御することがで
きる。SCSI制御装置74は、SCSIバスに接続さ
れたSCSI装置84と主PCIバス22との間のイン
ターフェースとして働き、そしてPCIバス・アーキテ
クチャによりサポート可能ないずれのSCSI装置をも
制御することができる。PCMCIA制御装置76は、
カード・スロット88に接続されかつこれを制御する。
【0032】標準バス・ブリッジ78は、標準バス(例
えば、MC−AバスやISAバス)92に接続されたI
/O装置と主PCIバス22との間のインターフェース
として働く。標準バス・ブリッジ78のMC−Aバージ
ョンのアーキテクチャは、IBM社による後の出願の課
題である。
えば、MC−AバスやISAバス)92に接続されたI
/O装置と主PCIバス22との間のインターフェース
として働く。標準バス・ブリッジ78のMC−Aバージ
ョンのアーキテクチャは、IBM社による後の出願の課
題である。
【0033】2次PCI装置94は、2次PCIバス9
6を介してPCI2次ブリッジ80へ接続されている。
そして、オプションの2次PCI装置94を何台でも2
次PCIバス96に接続することが可能である。PCI
2次ブリッジ80は、2次PCIバス96に接続された
2次PCI装置94と主PCIバス22との間のインタ
ーフェースとして働く。
6を介してPCI2次ブリッジ80へ接続されている。
そして、オプションの2次PCI装置94を何台でも2
次PCIバス96に接続することが可能である。PCI
2次ブリッジ80は、2次PCIバス96に接続された
2次PCI装置94と主PCIバス22との間のインタ
ーフェースとして働く。
【0034】PCIバス・アーキテクチャと互換性のあ
る周辺装置であれば、何台でも主PCIバス22上に配
置することが可能であり、コンピュータ・システム10
全体の中に他のPCIバスは存在しない。すなわち、任
意の数のPCI周辺装置を、任意の数の2次PCIバス
をもつ主PCIバス22へ接続することができる。つま
り2次PCIバス96以外にも、別のそれぞれのPCI
2次ブリッジ80があってそれと同じ数だけPCI周辺
装置を主PCIバス22へ接続することができる。各2
次PCIバスもまた、PCIブリッジを介して任意の数
のPCIバスを接続することができ、そしてこれらの
「3次」PCIバスは、さらにこれらのバスに接続され
るPCIバスを種々の組合せにより設けることができ
る。同様に、各PCIバスは、任意の数のPCI装置を
接続することができる。2つのPCIバス間の各接続
は、ブリッジ80と同じPCIブリッジを介して行わな
ければならない。
る周辺装置であれば、何台でも主PCIバス22上に配
置することが可能であり、コンピュータ・システム10
全体の中に他のPCIバスは存在しない。すなわち、任
意の数のPCI周辺装置を、任意の数の2次PCIバス
をもつ主PCIバス22へ接続することができる。つま
り2次PCIバス96以外にも、別のそれぞれのPCI
2次ブリッジ80があってそれと同じ数だけPCI周辺
装置を主PCIバス22へ接続することができる。各2
次PCIバスもまた、PCIブリッジを介して任意の数
のPCIバスを接続することができ、そしてこれらの
「3次」PCIバスは、さらにこれらのバスに接続され
るPCIバスを種々の組合せにより設けることができ
る。同様に、各PCIバスは、任意の数のPCI装置を
接続することができる。2つのPCIバス間の各接続
は、ブリッジ80と同じPCIブリッジを介して行わな
ければならない。
【0035】さらに、PCIホスト・ブリッジ20と同
じ複数のブリッジをシステム・バス16により駆動可能
にすることができる。そして、これらのホスト・ブリッ
ジのそれぞれが任意の数のPCIバス、ブリッジ及び装
置をシステム10の設計者の要望する任意の配置により
接続することができる。従って、システム10の中のP
CIバス・アーキテクチャの部分は、種々の同列と階層
の組合せにより配置されたマルチプル・バスとPCI周
辺装置から構成することができる(以降、これをPCI
ネットワークと称する)。
じ複数のブリッジをシステム・バス16により駆動可能
にすることができる。そして、これらのホスト・ブリッ
ジのそれぞれが任意の数のPCIバス、ブリッジ及び装
置をシステム10の設計者の要望する任意の配置により
接続することができる。従って、システム10の中のP
CIバス・アーキテクチャの部分は、種々の同列と階層
の組合せにより配置されたマルチプル・バスとPCI周
辺装置から構成することができる(以降、これをPCI
ネットワークと称する)。
【0036】さらに、情報処理システム10の別の構成
では、システム・バス16を除くことによりホスト・ブ
リッジ20が主PCIバス22をCPUローカル・バス
34へ直接接続する。システム内に他のPCIホスト・
ブリッジがある場合には、それらもまたCPUローカル
・バス34へ直接接続される。この構成では、いずれの
システムバス装置14も、直接CPUローカル・バス3
4へ接続することができる。システム・バス16及びC
PUローカル・バス34とは、同じバス・アーキテクチ
ャを用いて動作するので、後述の本発明は、この別の実
施例においても図1乃至図3に示した好適例におけると
同様に機能する。
では、システム・バス16を除くことによりホスト・ブ
リッジ20が主PCIバス22をCPUローカル・バス
34へ直接接続する。システム内に他のPCIホスト・
ブリッジがある場合には、それらもまたCPUローカル
・バス34へ直接接続される。この構成では、いずれの
システムバス装置14も、直接CPUローカル・バス3
4へ接続することができる。システム・バス16及びC
PUローカル・バス34とは、同じバス・アーキテクチ
ャを用いて動作するので、後述の本発明は、この別の実
施例においても図1乃至図3に示した好適例におけると
同様に機能する。
【0037】同列組合せとは、PCIネットワークの同
じレベルにあるバス又はPCI装置のグループである。
例えば、グラフィクス制御装置72、標準バス・ブリッ
ジ78、及びSCSI制御装置74は、互いに同列であ
る。仮に主PCIバス22に接続された2次PCIバス
が1つのみ(80)ではなくいくつかある場合、それら
は、全て同列となる。
じレベルにあるバス又はPCI装置のグループである。
例えば、グラフィクス制御装置72、標準バス・ブリッ
ジ78、及びSCSI制御装置74は、互いに同列であ
る。仮に主PCIバス22に接続された2次PCIバス
が1つのみ(80)ではなくいくつかある場合、それら
は、全て同列となる。
【0038】PCIネットワークの階層組合せとは、単
に、主PCIバス22に接続される全てのPCIバスの
層のことである。例えば、2次PCIバス96は、PC
Iネットワークの階層の2次レベルにあるともいえる
し、あるいは、PCIブリッジ80の「背後」または
「下層」にあるともいえる。
に、主PCIバス22に接続される全てのPCIバスの
層のことである。例えば、2次PCIバス96は、PC
Iネットワークの階層の2次レベルにあるともいえる
し、あるいは、PCIブリッジ80の「背後」または
「下層」にあるともいえる。
【0039】本発明の好適例においては、コンピュータ
・システムのマルチプル・バス・ネットワークは、図1
乃至図3及び前述に示すようにPCIネットワークであ
る。しかしながら、本発明はPCIバス・アーキテクチ
ャに限定されるものではなく、システムの初期化中、シ
ステムが全体的なコンフィギュレーション・プログラム
により構成される前にバス・ネットワークの予備マップ
を作成しなければならないようないずれのマルチプル・
バス・コンピュータ・システムにも適用可能である。
・システムのマルチプル・バス・ネットワークは、図1
乃至図3及び前述に示すようにPCIネットワークであ
る。しかしながら、本発明はPCIバス・アーキテクチ
ャに限定されるものではなく、システムの初期化中、シ
ステムが全体的なコンフィギュレーション・プログラム
により構成される前にバス・ネットワークの予備マップ
を作成しなければならないようないずれのマルチプル・
バス・コンピュータ・システムにも適用可能である。
【0040】PCIバス・アーキテクチャにおいては、
各PCIブリッジ及びPCI周辺装置はコンフィギュレ
ーション空間を備えている。このコンフィギュレーショ
ン空間は、レジスタ空間の256バイトからなる。各周
辺装置及びブリッジのコンフィギュレーション空間は、
通常の通信中に用いるアドレス・マップを作成するため
に全体的なコンフィギュレーション・プログラムにより
利用されるデータを含む。従って、CPU24がコンフ
ィギュレーション・プログラムを実行するとき、CPU
は、システムを構成しかつアドレス・マップを作成する
ために各装置又はブリッジのコンフィギュレーション空
間に対してアクセスして読出し又は書込みを行わなけれ
ばならない。
各PCIブリッジ及びPCI周辺装置はコンフィギュレ
ーション空間を備えている。このコンフィギュレーショ
ン空間は、レジスタ空間の256バイトからなる。各周
辺装置及びブリッジのコンフィギュレーション空間は、
通常の通信中に用いるアドレス・マップを作成するため
に全体的なコンフィギュレーション・プログラムにより
利用されるデータを含む。従って、CPU24がコンフ
ィギュレーション・プログラムを実行するとき、CPU
は、システムを構成しかつアドレス・マップを作成する
ために各装置又はブリッジのコンフィギュレーション空
間に対してアクセスして読出し又は書込みを行わなけれ
ばならない。
【0041】PCIブリッジ・コンフィギュレーション
・ハードウェア 図4乃至図5は、PCIブリッジ80のコンフィギュレ
ーション・ハードウェアの機能ブロック図である。PC
Iブリッジ80は、コンフィギュレーション・アドレス
(CONFIG_AD)150及びコンフィギュレーシ
ョン・データ(CONFIG_DATA)(図示せず)
と呼ばれる2つの32ビットレジスタを備えている。こ
れら2つのレジスタは、特にコンフィギュレーションの
ために用いられる。CONFIG_AD150はラッチ
であり、つまり、データがこの中に書込まれるとリセッ
ト信号を受信するまではその内容を保持し続けるもので
ある。
・ハードウェア 図4乃至図5は、PCIブリッジ80のコンフィギュレ
ーション・ハードウェアの機能ブロック図である。PC
Iブリッジ80は、コンフィギュレーション・アドレス
(CONFIG_AD)150及びコンフィギュレーシ
ョン・データ(CONFIG_DATA)(図示せず)
と呼ばれる2つの32ビットレジスタを備えている。こ
れら2つのレジスタは、特にコンフィギュレーションの
ために用いられる。CONFIG_AD150はラッチ
であり、つまり、データがこの中に書込まれるとリセッ
ト信号を受信するまではその内容を保持し続けるもので
ある。
【0042】CONFIG_AD150及びCONFI
G_DATAは、入力ライン156を介して主PCIバ
ス22に接続される。CPU24は、主PCIバス22
と入力ライン156を通してCONFIG_AD150
とCONFIG_DATAへデータを転送する。CON
FIG_AD150は、CPU24が予備マップに基づ
いて構成しなければならない周辺装置又はブリッジの場
所、及び、アクセスされるべき装置のコンフィギュレー
ション空間があるバイトの場所を格納している。
G_DATAは、入力ライン156を介して主PCIバ
ス22に接続される。CPU24は、主PCIバス22
と入力ライン156を通してCONFIG_AD150
とCONFIG_DATAへデータを転送する。CON
FIG_AD150は、CPU24が予備マップに基づ
いて構成しなければならない周辺装置又はブリッジの場
所、及び、アクセスされるべき装置のコンフィギュレー
ション空間があるバイトの場所を格納している。
【0043】CONFIG_DATAは、CONFIG
_AD150により識別されるバイトにある装置又はブ
リッジのコンフィギュレーション空間の中に書込まれる
べきデータを格納している。CPU24が特定の装置又
はブリッジのコンフィギュレーション空間からデータを
読取るためにその装置又はブリッジにアクセスすると
き、CONFIG_DATAは、CPU24が読取るべ
きCONFIG_AD150により識別される特定のバ
イトに格納されているデータを受信することになる。
_AD150により識別されるバイトにある装置又はブ
リッジのコンフィギュレーション空間の中に書込まれる
べきデータを格納している。CPU24が特定の装置又
はブリッジのコンフィギュレーション空間からデータを
読取るためにその装置又はブリッジにアクセスすると
き、CONFIG_DATAは、CPU24が読取るべ
きCONFIG_AD150により識別される特定のバ
イトに格納されているデータを受信することになる。
【0044】CONFIG_AD150の最初の2つの
ビットは、ビット番号0と1のイネーブル・ビットであ
り、コンフィギュレーション空間アクセス(コンフィギ
ュレーション・サイクル)が、PCIブリッジ80の直
ぐ下の層のバス上で、すなわち好適例においてはPCI
バス96上で実行されるべきであることを示す。従っ
て、もしこれらのビットの値が「01」であれば、PC
Iブリッジ80はPCIバス96上でコンフィギュレー
ション・サイクルを実行する。
ビットは、ビット番号0と1のイネーブル・ビットであ
り、コンフィギュレーション空間アクセス(コンフィギ
ュレーション・サイクル)が、PCIブリッジ80の直
ぐ下の層のバス上で、すなわち好適例においてはPCI
バス96上で実行されるべきであることを示す。従っ
て、もしこれらのビットの値が「01」であれば、PC
Iブリッジ80はPCIバス96上でコンフィギュレー
ション・サイクルを実行する。
【0045】CONFIG_AD150の残りのビット
は、未使用のビット番号24乃至31を除いて4つの特
別なフィールドに分割されている。CONFIG_AD
150のビット番号16乃至23である第1のフィール
ドは、BUS#フィールドである。BUS#フィールド
は、アクセスされる装置が接続されているPCIネット
ワーク内のバスを識別する。
は、未使用のビット番号24乃至31を除いて4つの特
別なフィールドに分割されている。CONFIG_AD
150のビット番号16乃至23である第1のフィール
ドは、BUS#フィールドである。BUS#フィールド
は、アクセスされる装置が接続されているPCIネット
ワーク内のバスを識別する。
【0046】ビット番号11乃至15の第2のフィール
ドは、DEV#フィールドである。このフィールドは、
アクセスされる装置を識別する。
ドは、DEV#フィールドである。このフィールドは、
アクセスされる装置を識別する。
【0047】ビット番号8乃至10の第3のフィールド
は、FUN#フィールドである。このフィールドは、D
EV#2より特定される装置上で可能な1乃至8の機能
を選択するために用いられるコード化された値を識別す
る。
は、FUN#フィールドである。このフィールドは、D
EV#2より特定される装置上で可能な1乃至8の機能
を選択するために用いられるコード化された値を識別す
る。
【0048】ビット番号2乃至7の第4の最後のフィー
ルドは、REG#フィールドである。このフィールド
は、コンフィギュレーション・サイクルが目的とする装
置のコンフィギュレーション空間内のアクセスされるレ
ジスタを識別する。
ルドは、REG#フィールドである。このフィールド
は、コンフィギュレーション・サイクルが目的とする装
置のコンフィギュレーション空間内のアクセスされるレ
ジスタを識別する。
【0049】CONFIG_AD150は、複数の入力
ライン154a乃至154fを介してコンフィギュレー
ション・サイクル・デコード・ブロック(CONFIG
BLOK)152へ接続される。CONFIG_AD
150もまた、入力ライン156を介して主PCIバス
22へ接続される。CONFIG BLOCK152も
また、IDSELと示された入力ライン157により主
PCIバス22へ接続される。
ライン154a乃至154fを介してコンフィギュレー
ション・サイクル・デコード・ブロック(CONFIG
BLOK)152へ接続される。CONFIG_AD
150もまた、入力ライン156を介して主PCIバス
22へ接続される。CONFIG BLOCK152も
また、IDSELと示された入力ライン157により主
PCIバス22へ接続される。
【0050】入力ライン156はまた、PCIブリッジ
80内の他の3つのレジスタを主PCIバス22へ接続
する。すなわち、装置属性レジスタ(DEV_ATT
R)158、バス番号レジスタ(BUS_NO)16
0、及びサブバス番号レジスタ(SUB_BUS_N
O)162である。DEV_ATTR158、BUS_
NO160、及びSUB_BUS_NO162はまた、
それぞれライン164、166、及び168を介してC
ONFIG BLOCK152へも接続される。
80内の他の3つのレジスタを主PCIバス22へ接続
する。すなわち、装置属性レジスタ(DEV_ATT
R)158、バス番号レジスタ(BUS_NO)16
0、及びサブバス番号レジスタ(SUB_BUS_N
O)162である。DEV_ATTR158、BUS_
NO160、及びSUB_BUS_NO162はまた、
それぞれライン164、166、及び168を介してC
ONFIG BLOCK152へも接続される。
【0051】DEV_ATTR158は、その最下位ビ
ット(LSB)のみがコンフィギュレーションに用いら
れるので、少なくとも1つのビットをもつ。DEV_A
TTR158の唯一の目的は、DEV_ATTR158
が含まれる装置がPCIブリッジ又は周辺装置のいずれ
であるかを示すことである。DEV_ATTR158の
LSBは、PCIブリッジ80が、実際にPCIブリッ
ジであること示すときは常に1にセットされる。仮に、
DEV_ATTR158周辺装置内にあれば、常に0に
セットされる。
ット(LSB)のみがコンフィギュレーションに用いら
れるので、少なくとも1つのビットをもつ。DEV_A
TTR158の唯一の目的は、DEV_ATTR158
が含まれる装置がPCIブリッジ又は周辺装置のいずれ
であるかを示すことである。DEV_ATTR158の
LSBは、PCIブリッジ80が、実際にPCIブリッ
ジであること示すときは常に1にセットされる。仮に、
DEV_ATTR158周辺装置内にあれば、常に0に
セットされる。
【0052】BUS_NO160は、8ビット長であ
る。BUS_NO160は、PCIブリッジ80の直ぐ
下の層のバス、好適例では2次PCIバス96の識別番
号を格納している。
る。BUS_NO160は、PCIブリッジ80の直ぐ
下の層のバス、好適例では2次PCIバス96の識別番
号を格納している。
【0053】SUB_BUS_NO162もまた8ビッ
ト長である。SUB_BUS_NO162は、PCIブ
リッジ80の下にあるバスの中で最上位の識別番号をも
つバスの識別番号を格納している。好適例では、PCI
ブリッジ80の下に2次PCIバス96以外のバスが存
在しないので、これもまた2次PCIバス96である。
ト長である。SUB_BUS_NO162は、PCIブ
リッジ80の下にあるバスの中で最上位の識別番号をも
つバスの識別番号を格納している。好適例では、PCI
ブリッジ80の下に2次PCIバス96以外のバスが存
在しないので、これもまた2次PCIバス96である。
【0054】BUS_NO160及びSUB_BUS_
NO162に記憶された識別番号は、前述のPCIネッ
トワークの初期化のために必要な予備マップを提供す
る。これらの識別番号を得るために用いられる本発明に
よる方法を以下に詳述する。
NO162に記憶された識別番号は、前述のPCIネッ
トワークの初期化のために必要な予備マップを提供す
る。これらの識別番号を得るために用いられる本発明に
よる方法を以下に詳述する。
【0055】PCIブリッジ80はまた、他に2つの機
能ブロックを備えている。すなわち、PCIバス・アド
レス・デコード・ブロック(DECODE BLOC
K)170とPCIバス・サイクル変換ブロック(TR
ANS BLOCK)172である。DECODE B
LOCK170及びTRANS BLOCK172は、
ライン174を介して主PCIバス22へ接続される。
TRANS BLOCK172もまた、ライン156を
介して主PCIバスへ接続される。
能ブロックを備えている。すなわち、PCIバス・アド
レス・デコード・ブロック(DECODE BLOC
K)170とPCIバス・サイクル変換ブロック(TR
ANS BLOCK)172である。DECODE B
LOCK170及びTRANS BLOCK172は、
ライン174を介して主PCIバス22へ接続される。
TRANS BLOCK172もまた、ライン156を
介して主PCIバスへ接続される。
【0056】DECODE BLOCK170は、CF
G_RD及びCFG_WRでそれぞれ示される出力ライ
ン176及び178を介してCONFIG BLOCK
152へ接続される。DECODE BLOCK170
はさらに、出力ライン180を介してCONFIG_A
D150へ接続される。
G_RD及びCFG_WRでそれぞれ示される出力ライ
ン176及び178を介してCONFIG BLOCK
152へ接続される。DECODE BLOCK170
はさらに、出力ライン180を介してCONFIG_A
D150へ接続される。
【0057】TRANS BLOCK172は、内部サ
イクル・ライン(INT_CYC)182及び外部サイ
クル・ライン(EXT_CYC)184によりCONF
IGBLOCK152へ接続される。TRANS BL
OCK172はさらに、入力ライン186を介してCO
NFIG BLOCK152から入力を受信する。TR
ANS BLOCK172は、出力ライン188を介し
て2次PCIバス96へも接続される。
イクル・ライン(INT_CYC)182及び外部サイ
クル・ライン(EXT_CYC)184によりCONF
IGBLOCK152へ接続される。TRANS BL
OCK172はさらに、入力ライン186を介してCO
NFIG BLOCK152から入力を受信する。TR
ANS BLOCK172は、出力ライン188を介し
て2次PCIバス96へも接続される。
【0058】DECODE BLOCK170の機能
は、PCIバス22及びライン174を介してCPU2
4から制御信号を受信することと、それらの制御信号
を、CONFIG BLOCK152又はCONFIG
_AD150へ送られる読取り又は書込みのためのイネ
ーブル信号へと変換することである。CONFIG B
LOCK152へのイネーブル信号は、CFG_RD及
びCFG_WR上に発生され、特定のコンフィギュレー
ション・サイクルが読取り動作であるか書込み動作であ
るかをそれぞれ指示する。言い換えるならば、もしDE
CODE BLOCK170がCFG_RD上にイネー
ブル信号を発生したならば、現在のコンフィギュレーシ
ョン・サイクルは読取り動作である。DECODE B
LOCK170がライン180をイネーブル状態にする
とき、CPU24は、コンフィギュレーション・サイク
ルを開始するためにライン156を介してCONFIG
_AD150内へ読取り又は書込みを行うことが可能に
なる。
は、PCIバス22及びライン174を介してCPU2
4から制御信号を受信することと、それらの制御信号
を、CONFIG BLOCK152又はCONFIG
_AD150へ送られる読取り又は書込みのためのイネ
ーブル信号へと変換することである。CONFIG B
LOCK152へのイネーブル信号は、CFG_RD及
びCFG_WR上に発生され、特定のコンフィギュレー
ション・サイクルが読取り動作であるか書込み動作であ
るかをそれぞれ指示する。言い換えるならば、もしDE
CODE BLOCK170がCFG_RD上にイネー
ブル信号を発生したならば、現在のコンフィギュレーシ
ョン・サイクルは読取り動作である。DECODE B
LOCK170がライン180をイネーブル状態にする
とき、CPU24は、コンフィギュレーション・サイク
ルを開始するためにライン156を介してCONFIG
_AD150内へ読取り又は書込みを行うことが可能に
なる。
【0059】CONFIG BLOCK152は、PC
Iブリッジ80の全てのコンフィギュレーション動作の
中心である。CONFIG BLOCK152の機能の
1つは、複数のライン154a乃至154fを介してC
ONFIG_AD150の内容を受信し、BUS_NO
160とSUB_BUS_NO162の内容を受信し、
そしてCONFIG_AD150のBUS#フィールド
をBUS_NO160とSUB_BUS_NO162の
内容と比較する。その後、この比較の結果及びIDSE
L157から受信した他の情報に基づいて、CONFI
G BLOCK152は、現在のコンフィギュレーショ
ン・サイクルが目的としている装置が2次PCIバス9
6に接続された周辺装置であるか、PCIブリッジ80
の下層のいずれかに位置する別のバスに接続された装置
あるか(但し、図1乃至図5の実施例では他のPCIブ
リッジは存在しない)、又はPCIブリッジ80自身で
あるかを判断する。
Iブリッジ80の全てのコンフィギュレーション動作の
中心である。CONFIG BLOCK152の機能の
1つは、複数のライン154a乃至154fを介してC
ONFIG_AD150の内容を受信し、BUS_NO
160とSUB_BUS_NO162の内容を受信し、
そしてCONFIG_AD150のBUS#フィールド
をBUS_NO160とSUB_BUS_NO162の
内容と比較する。その後、この比較の結果及びIDSE
L157から受信した他の情報に基づいて、CONFI
G BLOCK152は、現在のコンフィギュレーショ
ン・サイクルが目的としている装置が2次PCIバス9
6に接続された周辺装置であるか、PCIブリッジ80
の下層のいずれかに位置する別のバスに接続された装置
あるか(但し、図1乃至図5の実施例では他のPCIブ
リッジは存在しない)、又はPCIブリッジ80自身で
あるかを判断する。
【0060】コンフィギュレーション・サイクルが、P
CIブリッジ80の下層のいずれかのバスを目的として
いる場合、CONFIG BLOCK152は、CON
FIG_AD150の内容をデコードし、変換してTR
ANS BLOCK172へ送る。もし現在のコンフィ
ギュレーション・サイクルがPCIブリッジ80の下層
のバスに接続された装置を目的としている場合は、CO
NFIG BLOCK152はさらに、TRANS B
LOCK172に対してEXT_CYC184上のイネ
ーブル信号を送る。
CIブリッジ80の下層のいずれかのバスを目的として
いる場合、CONFIG BLOCK152は、CON
FIG_AD150の内容をデコードし、変換してTR
ANS BLOCK172へ送る。もし現在のコンフィ
ギュレーション・サイクルがPCIブリッジ80の下層
のバスに接続された装置を目的としている場合は、CO
NFIG BLOCK152はさらに、TRANS B
LOCK172に対してEXT_CYC184上のイネ
ーブル信号を送る。
【0061】コンフィギュレーション・サイクルがPC
Iブリッジ80自身を目的としている場合、CONFI
G BLOCK152は、自身のコンフィギュレーショ
ン空間内のレジスタを識別するためにREG#フィール
ドをデコードし、この内部レジスタに関する読取り又は
書込み動作を実行する。もしコンフィギュレーション・
サイクルが内部のサイクルである場合、CONFIG
BLOCK152はやはり、TRANS BLOCK1
72に対してINI_CYC182上からイネーブル信
号を送る。
Iブリッジ80自身を目的としている場合、CONFI
G BLOCK152は、自身のコンフィギュレーショ
ン空間内のレジスタを識別するためにREG#フィール
ドをデコードし、この内部レジスタに関する読取り又は
書込み動作を実行する。もしコンフィギュレーション・
サイクルが内部のサイクルである場合、CONFIG
BLOCK152はやはり、TRANS BLOCK1
72に対してINI_CYC182上からイネーブル信
号を送る。
【0062】TRANS BLOCK172は、主PC
Iバス22と2次PCIバス96との間の全てのタイミ
ングと信号変換を実行することにより、これらの間での
信号の行き来を可能にする。この変換は、PCIブリッ
ジ80の基本的な機能であり、本発明の範囲からははず
れている。
Iバス22と2次PCIバス96との間の全てのタイミ
ングと信号変換を実行することにより、これらの間での
信号の行き来を可能にする。この変換は、PCIブリッ
ジ80の基本的な機能であり、本発明の範囲からははず
れている。
【0063】コンフィギュレーション・サイクルに関係
するTRANS BLOCK172の唯一の機能は、デ
コードされたCONFIG_AD150の内容をCON
FIG BLOCK152から2次PCIバス96上へ
伝送することである。TRANS BLOCK172は
CONFIG BLOCK152からEXT_CYC1
84上のイネーブル信号を受信したときには、この伝送
機能を実行するのみである。
するTRANS BLOCK172の唯一の機能は、デ
コードされたCONFIG_AD150の内容をCON
FIG BLOCK152から2次PCIバス96上へ
伝送することである。TRANS BLOCK172は
CONFIG BLOCK152からEXT_CYC1
84上のイネーブル信号を受信したときには、この伝送
機能を実行するのみである。
【0064】図6及び図7は、CONFIG BLOC
K152のブロック図である。CONFIG BLOC
K152は、比較器190、第1の論理ブロック19
2、第2の論理ブロック194及びデコーダ196を含
み、これら全ては図6及び図7に示すように種々の信号
ラインにより接続されている。第1の論理ブロック19
2は、デコーダ198とアンド・ゲート(AND1)を
含む。
K152のブロック図である。CONFIG BLOC
K152は、比較器190、第1の論理ブロック19
2、第2の論理ブロック194及びデコーダ196を含
み、これら全ては図6及び図7に示すように種々の信号
ラインにより接続されている。第1の論理ブロック19
2は、デコーダ198とアンド・ゲート(AND1)を
含む。
【0065】CONFIG_AD150のBUS#フィ
ールドは、ライン154aにより比較器190及びデコ
ーダ196へ接続される。CONFIG_AD150の
REG#フィールドは、ライン154dによりデコーダ
196及び198へ接続される。CONFIG_AD1
50のDEV#フィールドは、ライン154bにより第
2の論理ブロック194及びデコーダ196へ接続され
る。CONFIG_AD150のFUN#フィールド
は、ライン154cによりデコーダ196へ接続され
る。
ールドは、ライン154aにより比較器190及びデコ
ーダ196へ接続される。CONFIG_AD150の
REG#フィールドは、ライン154dによりデコーダ
196及び198へ接続される。CONFIG_AD1
50のDEV#フィールドは、ライン154bにより第
2の論理ブロック194及びデコーダ196へ接続され
る。CONFIG_AD150のFUN#フィールド
は、ライン154cによりデコーダ196へ接続され
る。
【0066】CONFIG BLOCK152への他の
入力には、IDSEL157並びにCONFIG_AD
150のビット番号0及び1があり、これらは論理ブロ
ック192のAND1へ接続される。CFG_RD17
6及びCFG_WR178は、さらに論理ブロック19
2及び194への入力として接続される。BUS_NO
160及びSUB_BUS_NO162はまた、それぞ
れライン166及び168を介して比較器190への別
々の入力として接続される。
入力には、IDSEL157並びにCONFIG_AD
150のビット番号0及び1があり、これらは論理ブロ
ック192のAND1へ接続される。CFG_RD17
6及びCFG_WR178は、さらに論理ブロック19
2及び194への入力として接続される。BUS_NO
160及びSUB_BUS_NO162はまた、それぞ
れライン166及び168を介して比較器190への別
々の入力として接続される。
【0067】第1の論理ブロック192からの出力ライ
ンは、INT_CYC182、デコーダ198からの第
1の出力ライン200、及び第2の出力ライン202で
ある。前述のように、これらは全てPCIブリッジ80
の内部レジスタを目的とするコンフィギュレーション・
サイクルを実行するために用いられる。
ンは、INT_CYC182、デコーダ198からの第
1の出力ライン200、及び第2の出力ライン202で
ある。前述のように、これらは全てPCIブリッジ80
の内部レジスタを目的とするコンフィギュレーション・
サイクルを実行するために用いられる。
【0068】EXT_CYC184は、第2の論理ブロ
ック194からの唯一の出力である。ライン186は、
デコーダ196からTRANS BLOCK172への
出力である。比較器190は、2つの出力ライン204
及び206を有する。
ック194からの唯一の出力である。ライン186は、
デコーダ196からTRANS BLOCK172への
出力である。比較器190は、2つの出力ライン204
及び206を有する。
【0069】動作において、主PCIバス22上のコン
フィギュレーション・サイクルがCPU24により定義
されたとき、PCIブリッジ80は、それを3つの相手
の中のいずれか1つを目的とするものであると解釈す
る。すなわち、PCIブリッジ80自身のコンフィギュ
レーション空間内のレジスタ、2次PCIバス96に接
続された周辺装置もしくは別のPCIブリッジのコンフ
ィギュレーション空間内のレジスタ、又はPCIネット
ワークの階層において2次PCIバス96の下層にある
PCIバスに接続された周辺装置もしくはPCIブリッ
ジのコンフィギュレーション空間内のレジスタのいずれ
かである。
フィギュレーション・サイクルがCPU24により定義
されたとき、PCIブリッジ80は、それを3つの相手
の中のいずれか1つを目的とするものであると解釈す
る。すなわち、PCIブリッジ80自身のコンフィギュ
レーション空間内のレジスタ、2次PCIバス96に接
続された周辺装置もしくは別のPCIブリッジのコンフ
ィギュレーション空間内のレジスタ、又はPCIネット
ワークの階層において2次PCIバス96の下層にある
PCIバスに接続された周辺装置もしくはPCIブリッ
ジのコンフィギュレーション空間内のレジスタのいずれ
かである。
【0070】主PCIバス22上のコンフィギュレーシ
ョン・サイクルを開始するために、CPU24は、主P
CIバス22を介してDECODE BLOCK170
へ制御信号を送る。これにより、DECODE BLO
CK170はCONFIG_AD150への書込み信号
をライン180上から送る。それによってCPU24
は、コンフィギュレーション・アドレスをCONFIG
_AD150へ書込むことができ、このアドレスはCO
NFIG_AD150がDECODE BLOCK17
0によりリセットされるまではラッチされる。その後、
CONFIG_AD150の内容はCONFIG BL
OCK152により複数のライン154a乃至154f
を介してアクセスされる。
ョン・サイクルを開始するために、CPU24は、主P
CIバス22を介してDECODE BLOCK170
へ制御信号を送る。これにより、DECODE BLO
CK170はCONFIG_AD150への書込み信号
をライン180上から送る。それによってCPU24
は、コンフィギュレーション・アドレスをCONFIG
_AD150へ書込むことができ、このアドレスはCO
NFIG_AD150がDECODE BLOCK17
0によりリセットされるまではラッチされる。その後、
CONFIG_AD150の内容はCONFIG BL
OCK152により複数のライン154a乃至154f
を介してアクセスされる。
【0071】コンフィギュレーション・サイクルがPC
Iブリッジ80の内部レジスタを目的とするとき、CO
NFIG_AD150のビット番号0及び1の値は「0
0」にセットされる。さらに、CPU24によるイネー
ブル信号が、PCIホスト・ブリッジ20を介してID
SEL上からCONFIG BLOCK152へ送られ
る。
Iブリッジ80の内部レジスタを目的とするとき、CO
NFIG_AD150のビット番号0及び1の値は「0
0」にセットされる。さらに、CPU24によるイネー
ブル信号が、PCIホスト・ブリッジ20を介してID
SEL上からCONFIG BLOCK152へ送られ
る。
【0072】IDSEL157上のイネーブル信号及び
CONFIG_AD150のビット番号0及び1からの
「00」信号は、第1の論理ブロックのAND1への入
力であり、これらはAND1の出力としてハイ(以降、
「H」とする)のイネーブル信号を発生する。このイネ
ーブル信号はCONFIG_AD150のREG#フィ
ールドをデコードするためにデコーダ198を稼働させ
る。それからデコーダ198は、REG#に対応するP
CIブリッジの内部コンフィギュレーション・レジスタ
にアクセスする出力をライン200上に発生する。
CONFIG_AD150のビット番号0及び1からの
「00」信号は、第1の論理ブロックのAND1への入
力であり、これらはAND1の出力としてハイ(以降、
「H」とする)のイネーブル信号を発生する。このイネ
ーブル信号はCONFIG_AD150のREG#フィ
ールドをデコードするためにデコーダ198を稼働させ
る。それからデコーダ198は、REG#に対応するP
CIブリッジの内部コンフィギュレーション・レジスタ
にアクセスする出力をライン200上に発生する。
【0073】同時に、DECODE BLOCK170
は、この特定のコンフィギュレーション・サイクルの間
に実行されるべき動作が読取りであるか書込みであるか
によって、それぞれCFG_RD176又はCFG_E
R178のいずれかの上にイネーブル信号を発生する。
第1の論理ブロック192は、ライン202上に読取り
命令又は書込み命令を送出し、ライン200上のデコー
ダ出力によりアクセスされた内部レジスタに対して読取
り動作又は書込み動作が実行される。さらに第1の論理
ブロック192は、INT_CYC182上にイネーブ
ル信号を送ることにより、コンフィギュレーション・サ
イクルがPCIブリッジの内部において実行されかつ2
次PCIバス96上へ伝送すべき情報はないことをTR
ANSBLOCK172に対して示す。
は、この特定のコンフィギュレーション・サイクルの間
に実行されるべき動作が読取りであるか書込みであるか
によって、それぞれCFG_RD176又はCFG_E
R178のいずれかの上にイネーブル信号を発生する。
第1の論理ブロック192は、ライン202上に読取り
命令又は書込み命令を送出し、ライン200上のデコー
ダ出力によりアクセスされた内部レジスタに対して読取
り動作又は書込み動作が実行される。さらに第1の論理
ブロック192は、INT_CYC182上にイネーブ
ル信号を送ることにより、コンフィギュレーション・サ
イクルがPCIブリッジの内部において実行されかつ2
次PCIバス96上へ伝送すべき情報はないことをTR
ANSBLOCK172に対して示す。
【0074】コンフィギュレーション・サイクルがPC
Iブリッジ80の内部コンフィギュレーション空間を目
的としないとき、CPU24からPCIホスト・ブリッ
ジ20を介してIDSEL上にイネーブル信号が送られ
ずかつCONFIG_AD150のビット番号0及び1
は「01」の値にセットされる。従って、これらの信号
はAND1及びデコーダ198をイネーブルにせず、よ
ってINT_CYC182は稼働されず内部コンフィギ
ュレーションは行われない。
Iブリッジ80の内部コンフィギュレーション空間を目
的としないとき、CPU24からPCIホスト・ブリッ
ジ20を介してIDSEL上にイネーブル信号が送られ
ずかつCONFIG_AD150のビット番号0及び1
は「01」の値にセットされる。従って、これらの信号
はAND1及びデコーダ198をイネーブルにせず、よ
ってINT_CYC182は稼働されず内部コンフィギ
ュレーションは行われない。
【0075】そのかわりに、コンフィギュレーション・
アドレスがCONFIG_AD150へラッチされた後
に、比較器190はCONFIG_AD150のBUS
#フィールドをライン154aを介して入力として受信
する。同時に、比較器190は、BUS_NO160及
びSUB_BUS_NO162の内容もまたライン16
6及び168からそれぞれ入力として受信する。
アドレスがCONFIG_AD150へラッチされた後
に、比較器190はCONFIG_AD150のBUS
#フィールドをライン154aを介して入力として受信
する。同時に、比較器190は、BUS_NO160及
びSUB_BUS_NO162の内容もまたライン16
6及び168からそれぞれ入力として受信する。
【0076】その後、比較器190は、BUS#の値を
BUS_NO160及びSUB_BUS_NO162の
値と比較する。もし、BUS_NO160が、BUS#
に等しければ、現在のコンフィギュレーション・サイク
ルは2次PCIバス96に接続された周辺装置又は別の
PCIブリッジのためのものであり、そしてライン20
4が比較器190によりイネーブルにされることにより
デコーダ196及び第2の論理ブロック194を稼働さ
せる。
BUS_NO160及びSUB_BUS_NO162の
値と比較する。もし、BUS_NO160が、BUS#
に等しければ、現在のコンフィギュレーション・サイク
ルは2次PCIバス96に接続された周辺装置又は別の
PCIブリッジのためのものであり、そしてライン20
4が比較器190によりイネーブルにされることにより
デコーダ196及び第2の論理ブロック194を稼働さ
せる。
【0077】デコーダ196が稼働すると、CONFI
G_AD150のDEV#フィールドを21ビット値へ
デコードする。デコードされた21ビット値の各ビット
番号には、2次PCIバス96上の装置又はPCIブリ
ッジのイネーブル・ライン(IDSEL)を接続するこ
とができる。従って、好適例においては最大21台の周
辺装置又はPCIブリッジを、2次PCIバス96又は
PCIネットワーク内の他のPCIバスへ接続すること
ができる。
G_AD150のDEV#フィールドを21ビット値へ
デコードする。デコードされた21ビット値の各ビット
番号には、2次PCIバス96上の装置又はPCIブリ
ッジのイネーブル・ライン(IDSEL)を接続するこ
とができる。従って、好適例においては最大21台の周
辺装置又はPCIブリッジを、2次PCIバス96又は
PCIネットワーク内の他のPCIバスへ接続すること
ができる。
【0078】これらのビットの1つのみがH又は値
「1」にイネーブルされ、残りはロー(以降、「L」と
する)又は「0」にセットされる。従って、DEV#の
デコードされた21ビット値は、2次PCIバス96上
にあるコンフィギュレーション・サイクルの目的である
装置のみをイネーブルにする。
「1」にイネーブルされ、残りはロー(以降、「L」と
する)又は「0」にセットされる。従って、DEV#の
デコードされた21ビット値は、2次PCIバス96上
にあるコンフィギュレーション・サイクルの目的である
装置のみをイネーブルにする。
【0079】さらにデコーダは、稼働されると、CON
FIG_AD150のビット番号0及び1の値を「0
0」にセットする。これは、2次PCIバスに接続され
た装置及びPCIブリッジに対して、現在のコンフィギ
ュレーション・サイクルがそれらの中の1つを目的とし
ていることを示すものである。
FIG_AD150のビット番号0及び1の値を「0
0」にセットする。これは、2次PCIバスに接続され
た装置及びPCIブリッジに対して、現在のコンフィギ
ュレーション・サイクルがそれらの中の1つを目的とし
ていることを示すものである。
【0080】デコーダ196は、2次PCIバス96上
へ送るべきFUN#及びREG#の値をTRANS B
LOCK172へ単純に渡すのみである。
へ送るべきFUN#及びREG#の値をTRANS B
LOCK172へ単純に渡すのみである。
【0081】もし、BUS#の値がBUS_NO160
の値よりも大きいが、SUB_BUS_NO162より
も小さいか等しいならば、現在のコンフィギュレーショ
ン・サイクルは、PCIネットワークの階層において2
次PCIバス96よりも下層にあるPCIバスに接続さ
れた周辺装置又はPCIブリッジを目的としたものであ
る。この状態では、比較器190は、第2の論理ブロッ
ク194をイネーブルにするためにライン206をイネ
ーブルにする。
の値よりも大きいが、SUB_BUS_NO162より
も小さいか等しいならば、現在のコンフィギュレーショ
ン・サイクルは、PCIネットワークの階層において2
次PCIバス96よりも下層にあるPCIバスに接続さ
れた周辺装置又はPCIブリッジを目的としたものであ
る。この状態では、比較器190は、第2の論理ブロッ
ク194をイネーブルにするためにライン206をイネ
ーブルにする。
【0082】さらに、この特別な状態が生じたときに
は、デコーダ196は稼働されない。従って、デコーダ
196は、ビット番号0及び1の値「01」を含むCO
NFIG_AD150の全てのフィールドの現在値をT
RANS BLOCK172へ単純に渡すのみである。
は、デコーダ196は稼働されない。従って、デコーダ
196は、ビット番号0及び1の値「01」を含むCO
NFIG_AD150の全てのフィールドの現在値をT
RANS BLOCK172へ単純に渡すのみである。
【0083】第2の論理ブロック194は、ライン20
4又は206により稼働されるとき、EXT_CYC1
84を稼働させる。これは、現在のコンフィギュレーシ
ョン・サイクルがPCIブリッジ80の外部の装置又は
PCIブリッジを目的としていることをTRANS B
LOCK172に対して示すものである。従って、TR
ANS BLOCK172は、ライン186を介してC
ONFIG BLOCK152から受信したCONFI
G_AD150の全てのフィールドの値を2次PCIバ
ス96上に送出する。
4又は206により稼働されるとき、EXT_CYC1
84を稼働させる。これは、現在のコンフィギュレーシ
ョン・サイクルがPCIブリッジ80の外部の装置又は
PCIブリッジを目的としていることをTRANS B
LOCK172に対して示すものである。従って、TR
ANS BLOCK172は、ライン186を介してC
ONFIG BLOCK152から受信したCONFI
G_AD150の全てのフィールドの値を2次PCIバ
ス96上に送出する。
【0084】コンフィギュレーション・サイクルが2次
PCIバス96上の装置又はPCIブリッジを目的とす
る場合、デコードされたDEV#の値は適切な装置又は
ブリッジをイネーブルにし、かつビット番号0及び1が
「00」にセットされているので、その特定の装置のコ
ンフィギュレーション空間内のレジスタ上で内部コンフ
ィギュレーション・サイクルが実行される。レジスタ
は、REG#により識別される。CPU24から2次P
CIバス96上への制御信号は、コンフィギュレーショ
ン・サイクルが読取り動作又は書込み動作のいずれであ
るかを決定する。
PCIバス96上の装置又はPCIブリッジを目的とす
る場合、デコードされたDEV#の値は適切な装置又は
ブリッジをイネーブルにし、かつビット番号0及び1が
「00」にセットされているので、その特定の装置のコ
ンフィギュレーション空間内のレジスタ上で内部コンフ
ィギュレーション・サイクルが実行される。レジスタ
は、REG#により識別される。CPU24から2次P
CIバス96上への制御信号は、コンフィギュレーショ
ン・サイクルが読取り動作又は書込み動作のいずれであ
るかを決定する。
【0085】コンフィギュレーション・サイクルがPC
Iネットワークの階層において2次PCIバス96の下
層にあるPCIバスに接続された装置又はPCIブリッ
ジを目的とする場合、CONFIG_AD150は、バ
ス96の下層のPCIブリッジに沿って単純に渡される
のみである。それらのPCIブリッジの各々は、BUS
#と等しいBUS_NOを有するブリッジが位置付けら
れるまで上記のBUS#比較手順を実行する。それか
ら、この特定のPCIブリッジがDEV#をデコード
し、このブリッジの2次側のバスに接続された目的の装
置のコンフィギュレーション空間内でコンフィギュレー
ション・サイクルが実行されることになる。
Iネットワークの階層において2次PCIバス96の下
層にあるPCIバスに接続された装置又はPCIブリッ
ジを目的とする場合、CONFIG_AD150は、バ
ス96の下層のPCIブリッジに沿って単純に渡される
のみである。それらのPCIブリッジの各々は、BUS
#と等しいBUS_NOを有するブリッジが位置付けら
れるまで上記のBUS#比較手順を実行する。それか
ら、この特定のPCIブリッジがDEV#をデコード
し、このブリッジの2次側のバスに接続された目的の装
置のコンフィギュレーション空間内でコンフィギュレー
ション・サイクルが実行されることになる。
【0086】従って、PCIネットワーク内の各PCI
ブリッジのハードウェアは、標準化されておりかつブリ
ッジからブリッジへと変化しない。さらに、各ブリッジ
を構成する実配線による論理は認知されている。
ブリッジのハードウェアは、標準化されておりかつブリ
ッジからブリッジへと変化しない。さらに、各ブリッジ
を構成する実配線による論理は認知されている。
【0087】PCIホスト・ブリッジ・ハードウェア 図8及び図9は、ホスト・ブリッジ20のコンフィギュ
レーションに用いられるハードウェアのブロック図であ
る。図8及び図9は、ホスト・ブリッジ20のコンフィ
ギュレーション・ハードウェアが、実質的に図4及び図
5に示したPCIブリッジ80のコンフィギュレーショ
ン・ハードウェアと同様であることを示している。実
際、ホスト・ブリッジ20は、DECODE BLOC
K208、CONFIG BLOCK210、及びTR
ANS BLOCK212を備えている。さらに以下の
レジスタも備えている。すなわち、CONFIG_AD
レジスタ214と、DEV_ATTRレジスタ216
と、BUS_NOレジスタ218と、SUB_BUS_
NOレジスタ220とである。ホスト・ブリッジ20の
これらの構成要素の機能は、実質的にPCIブリッジ8
0のそれぞれ対応する要素の機能と同じである。
レーションに用いられるハードウェアのブロック図であ
る。図8及び図9は、ホスト・ブリッジ20のコンフィ
ギュレーション・ハードウェアが、実質的に図4及び図
5に示したPCIブリッジ80のコンフィギュレーショ
ン・ハードウェアと同様であることを示している。実
際、ホスト・ブリッジ20は、DECODE BLOC
K208、CONFIG BLOCK210、及びTR
ANS BLOCK212を備えている。さらに以下の
レジスタも備えている。すなわち、CONFIG_AD
レジスタ214と、DEV_ATTRレジスタ216
と、BUS_NOレジスタ218と、SUB_BUS_
NOレジスタ220とである。ホスト・ブリッジ20の
これらの構成要素の機能は、実質的にPCIブリッジ8
0のそれぞれ対応する要素の機能と同じである。
【0088】ホスト・ブリッジ20とPCIブリッジ8
0のハードウェアにおける唯一の相違は、PCIホスト
・ブリッジ20が、複数のホスト・ブリッジとPCIネ
ットワークとを有する情報処理システム10を調整する
ためのいくつかの付加的なハードウェアを備えている点
である。この付加的なハードウェアには、コンフィギュ
レーション・イネーブル・レジスタ(CONFIG_E
NBL)222が含まれ、これはイネーブル出力(EN
BL_OUT)224によりシステム・バス16に接続
される。DECODE BLOCK208からCONF
IG_ENBL222への別の出力ライン226は、C
ONFIG_ENBL222へ読取り及び書込み信号を
与えるためのものである。さらにアンド・ゲート228
は、CONFIG_AD214の最上位ビットからの入
力INT_ENBL232及びシステム・バス16から
の別の入力EXT_ENBL232を有する。アンド・
ゲート228は、出力ライン234も備える。
0のハードウェアにおける唯一の相違は、PCIホスト
・ブリッジ20が、複数のホスト・ブリッジとPCIネ
ットワークとを有する情報処理システム10を調整する
ためのいくつかの付加的なハードウェアを備えている点
である。この付加的なハードウェアには、コンフィギュ
レーション・イネーブル・レジスタ(CONFIG_E
NBL)222が含まれ、これはイネーブル出力(EN
BL_OUT)224によりシステム・バス16に接続
される。DECODE BLOCK208からCONF
IG_ENBL222への別の出力ライン226は、C
ONFIG_ENBL222へ読取り及び書込み信号を
与えるためのものである。さらにアンド・ゲート228
は、CONFIG_AD214の最上位ビットからの入
力INT_ENBL232及びシステム・バス16から
の別の入力EXT_ENBL232を有する。アンド・
ゲート228は、出力ライン234も備える。
【0089】さらにCONFIG_BLOCK210
は、CONFIG_BLOCK152と比較すると、僅
かな相違がある。CONFIG_BLOCK210のA
ND1ゲート(図示せず)は、CONFIG_BLOC
K152におけるCONFIG_ADのビット番号0及
び1の代りにCONFIG_BLOCK210のDEV
#及び比較器からその入力の2つを受信する。従って、
CONFIG_BLOCK210のAND1は、BUS
#及びDEV#が0に等しいときにのみPCIホスト・
ブリッジ20の内部レジスタに対するコンフィギュレー
ション・サイクルを可能にする。もし、DEV#が0よ
り大きくBUS#が0に等しければ、CONFIG_B
LOCK210は、PCIホスト・ブリッジ20の2次
側のPCIバスに接続された装置に対してコンフィギュ
レーション・サイクルを行う。
は、CONFIG_BLOCK152と比較すると、僅
かな相違がある。CONFIG_BLOCK210のA
ND1ゲート(図示せず)は、CONFIG_BLOC
K152におけるCONFIG_ADのビット番号0及
び1の代りにCONFIG_BLOCK210のDEV
#及び比較器からその入力の2つを受信する。従って、
CONFIG_BLOCK210のAND1は、BUS
#及びDEV#が0に等しいときにのみPCIホスト・
ブリッジ20の内部レジスタに対するコンフィギュレー
ション・サイクルを可能にする。もし、DEV#が0よ
り大きくBUS#が0に等しければ、CONFIG_B
LOCK210は、PCIホスト・ブリッジ20の2次
側のPCIバスに接続された装置に対してコンフィギュ
レーション・サイクルを行う。
【0090】CONFIG_ENBL222は、マルチ
プル・ホスト・ブリッジ・システムにおける異なるホス
ト・ブリッジのEXT_ENBL232に接続された各
々のビットを有する32ビットレジスタである。従っ
て、コンフィギュレーション・サイクルが特定のホスト
・ブリッジの内部レジスタを目的とするとき、CONF
IG_ENBLの1つのビットのみがHとなり、そのビ
ットが目的とするホストブリッジのEXT_ENBLへ
接続される。
プル・ホスト・ブリッジ・システムにおける異なるホス
ト・ブリッジのEXT_ENBL232に接続された各
々のビットを有する32ビットレジスタである。従っ
て、コンフィギュレーション・サイクルが特定のホスト
・ブリッジの内部レジスタを目的とするとき、CONF
IG_ENBLの1つのビットのみがHとなり、そのビ
ットが目的とするホストブリッジのEXT_ENBLへ
接続される。
【0091】動作中、CPU24により、DECODE
BLOCK208がCONFIG_ENBL222へ
の書込み命令をライン226から発生する。そしてCP
U24からシステム・バス16上に与えられる値がCO
NFIG_ENBL222へ書込まれることになる。こ
の32ビット値は、1つのビットのみがHで他のビット
はLである。
BLOCK208がCONFIG_ENBL222へ
の書込み命令をライン226から発生する。そしてCP
U24からシステム・バス16上に与えられる値がCO
NFIG_ENBL222へ書込まれることになる。こ
の32ビット値は、1つのビットのみがHで他のビット
はLである。
【0092】その後、CPU24により、DECODE
BLOCK208がライン226上に信号を出し、そ
れによってCONFIG_ENBL222がENBL_
OUT224を介してシステム・バス上へ32ビット値
を送ることができる。そして、32ビット信号の中のH
の値をもつビットに接続されたEXT_ENBLを有す
るホスト・ブリッジが、現在のコンフィギュレーション
・サイクルのために稼働される。
BLOCK208がライン226上に信号を出し、そ
れによってCONFIG_ENBL222がENBL_
OUT224を介してシステム・バス上へ32ビット値
を送ることができる。そして、32ビット信号の中のH
の値をもつビットに接続されたEXT_ENBLを有す
るホスト・ブリッジが、現在のコンフィギュレーション
・サイクルのために稼働される。
【0093】EXT_ENBL232がENBL_OU
T224の中のHのビット番号により稼働されるとする
と、CONFIG_AD214の最上位ビットがCPU
24によりセットされたようにHであれば、アンド・ゲ
ート228はライン234上にイネーブル信号を発生す
る。DEV#及びBUS#が双方とも0であると仮定す
ると、これによってCONFIG_BLOCK210
が、ホスト・ブリッジ20の内部レジスタのコンフィギ
ュレーション・サイクルを実行することができる。も
し、HにセットされたCONFIG_ENBL222の
ビット番号が異なるホスト・ブリッジのEXT_ENB
Lへ接続されていれば、その特定のブリッジが内部コン
フィギュレーション・サイクルのために稼働される。
T224の中のHのビット番号により稼働されるとする
と、CONFIG_AD214の最上位ビットがCPU
24によりセットされたようにHであれば、アンド・ゲ
ート228はライン234上にイネーブル信号を発生す
る。DEV#及びBUS#が双方とも0であると仮定す
ると、これによってCONFIG_BLOCK210
が、ホスト・ブリッジ20の内部レジスタのコンフィギ
ュレーション・サイクルを実行することができる。も
し、HにセットされたCONFIG_ENBL222の
ビット番号が異なるホスト・ブリッジのEXT_ENB
Lへ接続されていれば、その特定のブリッジが内部コン
フィギュレーション・サイクルのために稼働される。
【0094】情報処理システム内の全てのPCIホスト
・ブリッジを同じハードウェアで構成してもよい。しか
しながら、CONFIG_ENBLレジスタを備える必
要があるのはただ1つのホスト・ブリッジのみでよい。
従って、システム内のホスト・ブリッジの標準化を保つ
ために各ブリッジがCONFIG_ENBLレジスタを
もつように作製してもよいが、1つのシステムにおいて
接続されて用いられるのは1つのホスト・ブリッジのレ
ジスタのみである。さらに、望ましい場合はCONFI
G_ENBLレジスタがホスト・ブリッジの外部にあっ
てもよい。
・ブリッジを同じハードウェアで構成してもよい。しか
しながら、CONFIG_ENBLレジスタを備える必
要があるのはただ1つのホスト・ブリッジのみでよい。
従って、システム内のホスト・ブリッジの標準化を保つ
ために各ブリッジがCONFIG_ENBLレジスタを
もつように作製してもよいが、1つのシステムにおいて
接続されて用いられるのは1つのホスト・ブリッジのレ
ジスタのみである。さらに、望ましい場合はCONFI
G_ENBLレジスタがホスト・ブリッジの外部にあっ
てもよい。
【0095】予備マップの作成方法 コンフィギュレーション空間アクセスについての上記の
説明でわかるように、PCIネットワークを構成する種
々のブリッジ及び装置のコンフィギュレーション空間へ
アクセスするために好適例において用いられる予備マッ
プとは、BUS_NO及びSUB_BUS_NOの値の
ことである。従来は、PCIネットワークの物理的コン
フィギュレーションが変更されたとき、システム全体の
コンフィギュレーション・プログラムを再プログラミン
グすることなくBUS_NO及びSUB_BUS_NO
の正しい値を与えるための方法や装置がなかった。しか
しながら、以下に述べる本発明によるプログラムは、い
ずれの再プログラミングも行うことなくPCIネットワ
ーク内の各ブリッジについてのBUS_NO及びSUB
_BUS_NOの正しい値を与えるものである。たと
え、システム10の終了と立上げの間にPCIネットワ
ークの物理的コンフィギュレーションが劇的に変更され
たとしてもである。
説明でわかるように、PCIネットワークを構成する種
々のブリッジ及び装置のコンフィギュレーション空間へ
アクセスするために好適例において用いられる予備マッ
プとは、BUS_NO及びSUB_BUS_NOの値の
ことである。従来は、PCIネットワークの物理的コン
フィギュレーションが変更されたとき、システム全体の
コンフィギュレーション・プログラムを再プログラミン
グすることなくBUS_NO及びSUB_BUS_NO
の正しい値を与えるための方法や装置がなかった。しか
しながら、以下に述べる本発明によるプログラムは、い
ずれの再プログラミングも行うことなくPCIネットワ
ーク内の各ブリッジについてのBUS_NO及びSUB
_BUS_NOの正しい値を与えるものである。たと
え、システム10の終了と立上げの間にPCIネットワ
ークの物理的コンフィギュレーションが劇的に変更され
たとしてもである。
【0096】このプログラムはシステムメモリ32に記
憶されており、他のいずれかのコンフィギュレーション
・サイクルが始まる以前に、システムのコンフィギュレ
ーション中にCPU24によりアクセスされ実行され
る。このプログラムによって、システムのPCIブリッ
ジ及びホスト・ブリッジの内部コンフィギュレーション
・レジスタであるBUS_NO及びSUB_BUS_N
Oに対していくつかの読取り及び書込みサイクルが実行
される。
憶されており、他のいずれかのコンフィギュレーション
・サイクルが始まる以前に、システムのコンフィギュレ
ーション中にCPU24によりアクセスされ実行され
る。このプログラムによって、システムのPCIブリッ
ジ及びホスト・ブリッジの内部コンフィギュレーション
・レジスタであるBUS_NO及びSUB_BUS_N
Oに対していくつかの読取り及び書込みサイクルが実行
される。
【0097】このプログラムは、2つの主要な決定パス
と動作パス(フローパス)に分割することができる。第
1のフローパスはプログラムのメイン・フローパスであ
り、図10乃至図12に示されている。このメイン・フ
ローパスは、複数のホスト・ブリッジすなわち複数のP
CIネットワークをもつ情報処理システムのバス番号と
サブバス番号とを対応づける機能を有する。
と動作パス(フローパス)に分割することができる。第
1のフローパスはプログラムのメイン・フローパスであ
り、図10乃至図12に示されている。このメイン・フ
ローパスは、複数のホスト・ブリッジすなわち複数のP
CIネットワークをもつ情報処理システムのバス番号と
サブバス番号とを対応づける機能を有する。
【0098】第2のフローパスは、各ホスト・ブリッジ
のためにメイン・フローパスによって呼出されるサブル
ーチンである。さらにこの第2のフローパスは各ホスト
・ブリッジ自身によってそのPCIネットワークの各バ
スのために繰返し呼出される。このように、サブルーチ
ン自身が自分自身を繰返し呼出すので、このサブルーチ
ンは再帰的であるといえる。図13乃至図16は、この
再帰的サブルーチンを示している。再帰的サブルーチン
の主な機能は、各バスに接続されているPCIブリッジ
を数えること、各PCIバスのために自分自身を呼出す
ことによってPCIネットワークを構成する階層のレベ
ルを下層へ移行しながら各PCIブリッジのBUS_N
O及びSUB_BUS_NOの一時的な値をセットする
こと、そして特定のブリッジに接続されたバスについて
のサブルーチンが終了するとき各PCIブリッジのBU
S_NO及びSUB_BUS_NOの固定値をセットす
ることである。
のためにメイン・フローパスによって呼出されるサブル
ーチンである。さらにこの第2のフローパスは各ホスト
・ブリッジ自身によってそのPCIネットワークの各バ
スのために繰返し呼出される。このように、サブルーチ
ン自身が自分自身を繰返し呼出すので、このサブルーチ
ンは再帰的であるといえる。図13乃至図16は、この
再帰的サブルーチンを示している。再帰的サブルーチン
の主な機能は、各バスに接続されているPCIブリッジ
を数えること、各PCIバスのために自分自身を呼出す
ことによってPCIネットワークを構成する階層のレベ
ルを下層へ移行しながら各PCIブリッジのBUS_N
O及びSUB_BUS_NOの一時的な値をセットする
こと、そして特定のブリッジに接続されたバスについて
のサブルーチンが終了するとき各PCIブリッジのBU
S_NO及びSUB_BUS_NOの固定値をセットす
ることである。
【0099】次に図10乃至図12を参照して、予備マ
ップ作成プログラムのメイン・フローパス250を説明
する。このフローパス全体が、2つのポインタ又はカウ
ンタに関連する。これらのポインタはi及びiiにより
示される。コンピュータ・システム内に存在可能なホス
ト・ブリッジの最大数を示す定数HB_MAXもまた用
いられる。HB_MAXは、CPU24の制限又はシス
テム設計者により設定される。フローパス250は、各
ブリッジに割当てられたCONFIG_ENBLのビッ
ト番号を記録するためのメモリアレイHBを用いる。例
えば、HB(1)は、このシステム内の第1のホスト・
ブリッジであるホスト・ブリッジNo.1をイネーブル
にするCONFIG_ENBLのビット番号を記録して
いる。
ップ作成プログラムのメイン・フローパス250を説明
する。このフローパス全体が、2つのポインタ又はカウ
ンタに関連する。これらのポインタはi及びiiにより
示される。コンピュータ・システム内に存在可能なホス
ト・ブリッジの最大数を示す定数HB_MAXもまた用
いられる。HB_MAXは、CPU24の制限又はシス
テム設計者により設定される。フローパス250は、各
ブリッジに割当てられたCONFIG_ENBLのビッ
ト番号を記録するためのメモリアレイHBを用いる。例
えば、HB(1)は、このシステム内の第1のホスト・
ブリッジであるホスト・ブリッジNo.1をイネーブル
にするCONFIG_ENBLのビット番号を記録して
いる。
【0100】メイン・フローパス250は、システムの
立上げ時又は初期化時にCPU24によって呼出される
とステップ252においてプログラムを開始する。シス
テムの立上げ時においては全てのホスト・ブリッジのB
US_NO値は、デフォールトにより「00」にセット
される。ステップ252で開始されると動作ステップ2
54へ進み、ここでポインタi及び変数NO_HBが
「0」にセットされる。変数NO_HBは、フローパス
250により計数されるホスト・ブリッジの数である。
立上げ時又は初期化時にCPU24によって呼出される
とステップ252においてプログラムを開始する。シス
テムの立上げ時においては全てのホスト・ブリッジのB
US_NO値は、デフォールトにより「00」にセット
される。ステップ252で開始されると動作ステップ2
54へ進み、ここでポインタi及び変数NO_HBが
「0」にセットされる。変数NO_HBは、フローパス
250により計数されるホスト・ブリッジの数である。
【0101】その後、動作ステップ256へ進み、Hで
あるビット番号を1つのみ有するようにCONFIG_
ENBLレジスタへ32ビット値が書込まれる。そして
このビット番号はポインタiにより識別される。例え
ば、フローパス250の第1回目においては、CONF
IG_ENBLレジスタのビット番号0がHとなり残り
のビット番号はLとなる。その後、動作ステップ258
においてiは増分される。
あるビット番号を1つのみ有するようにCONFIG_
ENBLレジスタへ32ビット値が書込まれる。そして
このビット番号はポインタiにより識別される。例え
ば、フローパス250の第1回目においては、CONF
IG_ENBLレジスタのビット番号0がHとなり残り
のビット番号はLとなる。その後、動作ステップ258
においてiは増分される。
【0102】フローパス250の次の動作ステップ26
0において、BUS#=0及びDEV#=0にセットさ
れたCONFIG_AD214のフィールドをもつDE
V_ATTRレジスタに対して読取りのコンフィギュレ
ーション・サイクルが実行される。上述の例に沿って述
べると、もしホスト・ブリッジのEXT_ENBLがC
ONFIG_ENBL222のビット番号0に接続され
ていれば、動作ステップ260によって、CPUがその
ホスト・ブリッジのDEV_ATTRレジスタの内容を
読取ることができる。なぜなら、BUS#とDEV#が
「0」であるときは、全てのホスト・ブリッジがコンフ
ィギュレーション・サイクルに応答するからである。コ
ンフィギュレーション・サイクルのために個々のホスト
・ブリッジをイネーブルにする唯一の方法は、CONF
IG_ENBL222からのそれらの異なるEXT_E
NBL入力による。
0において、BUS#=0及びDEV#=0にセットさ
れたCONFIG_AD214のフィールドをもつDE
V_ATTRレジスタに対して読取りのコンフィギュレ
ーション・サイクルが実行される。上述の例に沿って述
べると、もしホスト・ブリッジのEXT_ENBLがC
ONFIG_ENBL222のビット番号0に接続され
ていれば、動作ステップ260によって、CPUがその
ホスト・ブリッジのDEV_ATTRレジスタの内容を
読取ることができる。なぜなら、BUS#とDEV#が
「0」であるときは、全てのホスト・ブリッジがコンフ
ィギュレーション・サイクルに応答するからである。コ
ンフィギュレーション・サイクルのために個々のホスト
・ブリッジをイネーブルにする唯一の方法は、CONF
IG_ENBL222からのそれらの異なるEXT_E
NBL入力による。
【0103】次のステップは判断ステップ262であ
る。判断ステップ262は、DEV_ATTRレジスタ
の最下位ビットがHであるか否かを調べる。もしHであ
れば、ホスト・ブリッジはCONFIG_ENBL22
2のビット番号0へ接続されて判断ステップ262から
動作ステップ264へ進み、NO_HBはシステム内の
ホスト・ブリッジの数を計数するために1だけ増分され
る。そして、そのホスト・ブリッジを稼働したCONF
IG_ENBL222のビット番号すなわちビット番号
0が、HB(i)又はHB(1)とセットされた変数に
よりメモリアレイに記憶される。
る。判断ステップ262は、DEV_ATTRレジスタ
の最下位ビットがHであるか否かを調べる。もしHであ
れば、ホスト・ブリッジはCONFIG_ENBL22
2のビット番号0へ接続されて判断ステップ262から
動作ステップ264へ進み、NO_HBはシステム内の
ホスト・ブリッジの数を計数するために1だけ増分され
る。そして、そのホスト・ブリッジを稼働したCONF
IG_ENBL222のビット番号すなわちビット番号
0が、HB(i)又はHB(1)とセットされた変数に
よりメモリアレイに記憶される。
【0104】もしビット番号0にホスト・ブリッジが接
続されていなければ、いずれの装置も読取りコンフィギ
ュレーション・サイクルに応答せず、従ってCPUは、
この応答しないホスト・ブリッジのDEV_ATTRの
最下位ビットが「0」であると判断する。よって、NO
_HBは増分されず、ホスト・ブリッジは計数されな
い。
続されていなければ、いずれの装置も読取りコンフィギ
ュレーション・サイクルに応答せず、従ってCPUは、
この応答しないホスト・ブリッジのDEV_ATTRの
最下位ビットが「0」であると判断する。よって、NO
_HBは増分されず、ホスト・ブリッジは計数されな
い。
【0105】判断ステップ262及び動作ステップ26
4の後、フローパス250は別の判断ステップ266へ
進み、iをHB_MAXと比較する。もしiがHB_M
AXよりも小さければ、フローパス250はループとな
って動作ステップ256へ戻り、増分されたiに等しい
次のビット番号をHにし他のビット番号をLにするよう
にCONFIG_ENBL222へ新しい値を書込む。
このループは、iがHB_MAXに等しくなるまで、す
なわち情報処理システム10に存在し得る全てのホスト
・ブリッジが位置付けられかつ計数されるまで続けられ
る。従って、NO_HBはシステム内のホスト・ブリッ
ジの全数に等しくなり、またHBアレイは、各ホスト・
ブリッジのコンフィギュレーション空間にアクセスする
ためにCPU24が発生しなければならないCONFI
G_ENBLの値を示すことになる。もし、判断ステッ
プ266でiがHB_MAXと等しくなれば、判断ステ
ップ268へ進む。
4の後、フローパス250は別の判断ステップ266へ
進み、iをHB_MAXと比較する。もしiがHB_M
AXよりも小さければ、フローパス250はループとな
って動作ステップ256へ戻り、増分されたiに等しい
次のビット番号をHにし他のビット番号をLにするよう
にCONFIG_ENBL222へ新しい値を書込む。
このループは、iがHB_MAXに等しくなるまで、す
なわち情報処理システム10に存在し得る全てのホスト
・ブリッジが位置付けられかつ計数されるまで続けられ
る。従って、NO_HBはシステム内のホスト・ブリッ
ジの全数に等しくなり、またHBアレイは、各ホスト・
ブリッジのコンフィギュレーション空間にアクセスする
ためにCPU24が発生しなければならないCONFI
G_ENBLの値を示すことになる。もし、判断ステッ
プ266でiがHB_MAXと等しくなれば、判断ステ
ップ268へ進む。
【0106】判断ステップ268において、NO_HB
は0と比較される。もしNO_HBが「0」であれば、
CPU24は、動作ブロック270において叙法処理シ
ステム10内にホスト・ブリッジが存在せず、よってB
US_NO及びSUB_BUS_NOの各レジスタにつ
いてはコンフィギュレーションの必要がないと判断す
る。こうして、このプログラムは272において終了す
る。
は0と比較される。もしNO_HBが「0」であれば、
CPU24は、動作ブロック270において叙法処理シ
ステム10内にホスト・ブリッジが存在せず、よってB
US_NO及びSUB_BUS_NOの各レジスタにつ
いてはコンフィギュレーションの必要がないと判断す
る。こうして、このプログラムは272において終了す
る。
【0107】もしNO_HBが「0」よりも大きけれ
ば、このシステム内に少なくとも1つのホスト・ブリッ
ジ及び少なくとも1つのPCIネットワークが存在し、
そのためにBUS_NOとSUB_BUS_NOの予備
マップを作成しなければならない。従って、フローパス
250は判断パス268から動作ステップ274へ続
く。
ば、このシステム内に少なくとも1つのホスト・ブリッ
ジ及び少なくとも1つのPCIネットワークが存在し、
そのためにBUS_NOとSUB_BUS_NOの予備
マップを作成しなければならない。従って、フローパス
250は判断パス268から動作ステップ274へ続
く。
【0108】動作ステップ274では、2つの新しい変
数すなわちBNO_MIN及びBNO_MAXTMPを
導入する。BNO_MINは、PCIネットワーク内に
位置付けされるバスの数が増えるに伴ってフローパス2
50において増加するBUS_NOについての最小値で
ある。BNO_MAXTEMは、PCIネットワーク内
に位置付けされるバスの数が増えるに伴って減少する各
PCIブリッジのSUB_BUS_NOに対してフロー
パス250がセットする一時的な値である。動作ステッ
プ274は、ポインタiiの初期値を「0」に、BNO
_MINを「00」に、そしてBNO_MAXTMPを
「FF」にセットする
数すなわちBNO_MIN及びBNO_MAXTMPを
導入する。BNO_MINは、PCIネットワーク内に
位置付けされるバスの数が増えるに伴ってフローパス2
50において増加するBUS_NOについての最小値で
ある。BNO_MAXTEMは、PCIネットワーク内
に位置付けされるバスの数が増えるに伴って減少する各
PCIブリッジのSUB_BUS_NOに対してフロー
パス250がセットする一時的な値である。動作ステッ
プ274は、ポインタiiの初期値を「0」に、BNO
_MINを「00」に、そしてBNO_MAXTMPを
「FF」にセットする
【0109】動作ステップ276においてポインタii
は1だけ増分された後、次の動作ステップ278へ進
む。動作ステップ278において、CONFIG_EN
BLレジスタ222への書込みコンフィギュレーション
・サイクルが実行される。このステップにおいてCON
FIG_ENBL222へ書込まれる値は、NO_HB
がiiの値をもつHB(NO_HB)アレイからの値で
ある。よって、もしiiの値が1であれば、ホスト・ブ
リッジNO.1についてのアレイ値すなわちホスト・ブ
リッジNO.1のEXT_DNBL232をイネーブル
にする値が、CONFIG_ENBL222へ書込まれ
る。このようにフローパス250の流れに沿って、ホス
ト・ブリッジNO.1の内部レジスタに対して、特にホ
スト・ブリッジNO.1のBUS_NO及びSAB_B
US_NOの各レジスタに対して実行される読取り及び
書込みのコンフィギュレーション・サイクルが可能にな
る。
は1だけ増分された後、次の動作ステップ278へ進
む。動作ステップ278において、CONFIG_EN
BLレジスタ222への書込みコンフィギュレーション
・サイクルが実行される。このステップにおいてCON
FIG_ENBL222へ書込まれる値は、NO_HB
がiiの値をもつHB(NO_HB)アレイからの値で
ある。よって、もしiiの値が1であれば、ホスト・ブ
リッジNO.1についてのアレイ値すなわちホスト・ブ
リッジNO.1のEXT_DNBL232をイネーブル
にする値が、CONFIG_ENBL222へ書込まれ
る。このようにフローパス250の流れに沿って、ホス
ト・ブリッジNO.1の内部レジスタに対して、特にホ
スト・ブリッジNO.1のBUS_NO及びSAB_B
US_NOの各レジスタに対して実行される読取り及び
書込みのコンフィギュレーション・サイクルが可能にな
る。
【0110】次のステップは判断ステップ280であ
る。判断ステップ280は、iiが「1」よりも大きい
か否かを判断する。もし大きくなければ、動作ステップ
284をとばして呼出しブロック282へのループを進
む。呼出しブロック282は、図13乃至図16に示す
再帰的サブルーチン300を呼出す。従って、iiが
「1」に等しいときのサブルーチン300の最初の呼出
しについては、コンピュータ・システム内の第1のホス
ト・ブリッジの下層のPCIネットワークについての予
備マップが作成されていることを意味し、フローパス2
50は動作ブロック284を跳ばす。
る。判断ステップ280は、iiが「1」よりも大きい
か否かを判断する。もし大きくなければ、動作ステップ
284をとばして呼出しブロック282へのループを進
む。呼出しブロック282は、図13乃至図16に示す
再帰的サブルーチン300を呼出す。従って、iiが
「1」に等しいときのサブルーチン300の最初の呼出
しについては、コンピュータ・システム内の第1のホス
ト・ブリッジの下層のPCIネットワークについての予
備マップが作成されていることを意味し、フローパス2
50は動作ブロック284を跳ばす。
【0111】フローパス250を理解する目的のため
に、サブルーチン300の呼出しによりフローパス25
0へ戻されるBNO_MAXの値のみを議論する必要が
ある。もし、iiに対応するホスト・ブリッジのBUS
_NOレジスタが値xを有し、かつそのホスト・ブリッ
ジの下層のPCIネットワークのPCIバスの全数がz
であれば、サブルーチン300により返されるBNO_
MAXの値はx+z−1である。サブルーチン300が
この値を導出する方法は以下に詳細に述べる。
に、サブルーチン300の呼出しによりフローパス25
0へ戻されるBNO_MAXの値のみを議論する必要が
ある。もし、iiに対応するホスト・ブリッジのBUS
_NOレジスタが値xを有し、かつそのホスト・ブリッ
ジの下層のPCIネットワークのPCIバスの全数がz
であれば、サブルーチン300により返されるBNO_
MAXの値はx+z−1である。サブルーチン300が
この値を導出する方法は以下に詳細に述べる。
【0112】よってこれが、コンピュータ・システム内
の第1のホスト・ブリッジに対するサブルーチン300
の最初の呼出しであると仮定すると、BNO_MINは
デフォールトにより「0」である。さらに、例えば第1
のホスト・ブリッジの下層のPCIネットワーク内に全
部で4つのPCIバスがあると仮定すると、サブルーチ
ン300によりBNO_MAXとして返される値は
「3」となる。このことは、サブルーチン300によ
り、ホスト・ブリッジのBUS_NOレジスタ及びその
直ぐ下のバスが「0」値(ホスト・ブリッジが持ってい
たデフォールト値)を割当てられていたこと、そして、
そのホスト・ブリッジの下層の3つのPCIブリッジ及
びそれらの下層のPCIバスのBUS_NOレジスタが
1乃至3の値をそれぞれ割当てられていたことを意味す
る。
の第1のホスト・ブリッジに対するサブルーチン300
の最初の呼出しであると仮定すると、BNO_MINは
デフォールトにより「0」である。さらに、例えば第1
のホスト・ブリッジの下層のPCIネットワーク内に全
部で4つのPCIバスがあると仮定すると、サブルーチ
ン300によりBNO_MAXとして返される値は
「3」となる。このことは、サブルーチン300によ
り、ホスト・ブリッジのBUS_NOレジスタ及びその
直ぐ下のバスが「0」値(ホスト・ブリッジが持ってい
たデフォールト値)を割当てられていたこと、そして、
そのホスト・ブリッジの下層の3つのPCIブリッジ及
びそれらの下層のPCIバスのBUS_NOレジスタが
1乃至3の値をそれぞれ割当てられていたことを意味す
る。
【0113】呼出しブロック282がBNO_MAXの
値を得て終了した後、フローパスは動作ステップ286
へ進み、iiにより指示される現在のホスト・ブリッジ
のSUB_BUS_NOに対して書込みコンフィギュレ
ーション・サイクルが実行される。SUB_BUS_N
Oに書込まれる値はBNO_MAXである。
値を得て終了した後、フローパスは動作ステップ286
へ進み、iiにより指示される現在のホスト・ブリッジ
のSUB_BUS_NOに対して書込みコンフィギュレ
ーション・サイクルが実行される。SUB_BUS_N
Oに書込まれる値はBNO_MAXである。
【0114】従って、前述の例を引続いて用いると、値
「3」がこのシステムの第1のホスト・ブリッジのSU
B_BUS_NOに書込まれる。こうして、システムの
第1のホスト・ブリッジのBUS_NO及びSUB_B
US_NOの各レジスタの値がそれぞれ「0」及び
「3」となる。よってこのホスト・ブリッジは、BUS
#フィールドが「0」乃至「3」に等しいコンフィギュ
レーション・サイクルにのみ応答することになる。これ
らの値は、このホスト・ブリッジの下層のPCIネット
ワーク内の各PCIバスに割当てられた識別番号であ
る。
「3」がこのシステムの第1のホスト・ブリッジのSU
B_BUS_NOに書込まれる。こうして、システムの
第1のホスト・ブリッジのBUS_NO及びSUB_B
US_NOの各レジスタの値がそれぞれ「0」及び
「3」となる。よってこのホスト・ブリッジは、BUS
#フィールドが「0」乃至「3」に等しいコンフィギュ
レーション・サイクルにのみ応答することになる。これ
らの値は、このホスト・ブリッジの下層のPCIネット
ワーク内の各PCIバスに割当てられた識別番号であ
る。
【0115】次のステップである動作ステップ288に
おいて、BNO_MAXに1を加算することによりBN
O_MINの新しい値を導出する。この新しいBNO_
MINは、このシステムの次のホスト・ブリッジ(もし
存在するならば)のBUS_NO及びそのホスト・ブリ
ッジの直ぐ下の層のバスに割当てられた番号となる。
おいて、BNO_MAXに1を加算することによりBN
O_MINの新しい値を導出する。この新しいBNO_
MINは、このシステムの次のホスト・ブリッジ(もし
存在するならば)のBUS_NO及びそのホスト・ブリ
ッジの直ぐ下の層のバスに割当てられた番号となる。
【0116】さらに次のステップである判断ステップ2
90において、iiをNO_HBと比較することにより
システム内にまだ他のホスト・ブリッジが存在するか否
かを判断する。もしNO_HBがiiよりも大きけれ
ば、システム内にさらにホスト・ブリッジが存在するの
で判断ステップ290から動作ブロック276へのルー
プを戻ってiiが増分される。この場合は、動作ブロッ
ク284においてBNO_MINが次のホスト・ブリッ
ジのBUS_NOレジスタへ書込まれる。その後サブル
ーチン300が呼出されてその全ての手順が繰返され
る。
90において、iiをNO_HBと比較することにより
システム内にまだ他のホスト・ブリッジが存在するか否
かを判断する。もしNO_HBがiiよりも大きけれ
ば、システム内にさらにホスト・ブリッジが存在するの
で判断ステップ290から動作ブロック276へのルー
プを戻ってiiが増分される。この場合は、動作ブロッ
ク284においてBNO_MINが次のホスト・ブリッ
ジのBUS_NOレジスタへ書込まれる。その後サブル
ーチン300が呼出されてその全ての手順が繰返され
る。
【0117】上記の手順は、iiがNO_HBに等しく
なるまで各ホスト・ブリッジに対して繰返される。その
後、判断ステップ290から動作ステップ292へ進
み、このコンピュータ・システムのコンフィギュレーシ
ョン・プログラムにより実行されるコンフィギュレーシ
ョンの残りの手順のために全てのCONFIG_ENB
L222のビットがHにセットされる。これによってコ
ンフィギュレーション・プログラムは、必要であれば全
てのホスト・ブリッジのコンフィギュレーション空間へ
アクセスすることができる。
なるまで各ホスト・ブリッジに対して繰返される。その
後、判断ステップ290から動作ステップ292へ進
み、このコンピュータ・システムのコンフィギュレーシ
ョン・プログラムにより実行されるコンフィギュレーシ
ョンの残りの手順のために全てのCONFIG_ENB
L222のビットがHにセットされる。これによってコ
ンフィギュレーション・プログラムは、必要であれば全
てのホスト・ブリッジのコンフィギュレーション空間へ
アクセスすることができる。
【0118】その後プログラムはブロック294で終了
する。この時点で、このシステム内の全てのPCIネッ
トワークの完全な予備マップが、システムの全てのブリ
ッジのBUS_NO及びSUB_BUS_NOに基づい
て作成されたことになる。もしPCIネットワークの物
理的コンフィギュレーションを変更すべき場合は、再プ
ログラミングをすることなくコンピュータ・システムを
再初期化することにより予備マップを簡単に変更するこ
とが可能である。
する。この時点で、このシステム内の全てのPCIネッ
トワークの完全な予備マップが、システムの全てのブリ
ッジのBUS_NO及びSUB_BUS_NOに基づい
て作成されたことになる。もしPCIネットワークの物
理的コンフィギュレーションを変更すべき場合は、再プ
ログラミングをすることなくコンピュータ・システムを
再初期化することにより予備マップを簡単に変更するこ
とが可能である。
【0119】図13乃至図16は、サブルーチン300
のフローパスを示したものである。サブルーチン300
は、2つのポインタj及びjjを有する。DEV_MA
Xはサブルーチン300により用いられる定数であり、
1つのPCIバスに接続可能な周辺装置又はPCIブリ
ッジの最大数である。前述のように、好適例におけるD
EV_MAXは「21」である。
のフローパスを示したものである。サブルーチン300
は、2つのポインタj及びjjを有する。DEV_MA
Xはサブルーチン300により用いられる定数であり、
1つのPCIバスに接続可能な周辺装置又はPCIブリ
ッジの最大数である。前述のように、好適例におけるD
EV_MAXは「21」である。
【0120】さらにサブルーチン300は、BNO_M
IN、BNO_MAXTMP及びBNO_MAXを含む
いくつかの変数を用いる。前述のように、BNO_MI
N及びBNO_MAXTMPについての変数は、メイン
・フローパス250により、サブルーチン300を読出
す前にセットされる。これらの変数の初期値は、前述の
ようにそれぞれ「00」及び「FF」である。BNO_
MAXは、サブルーチン300をフローパス250へ戻
す変数である。
IN、BNO_MAXTMP及びBNO_MAXを含む
いくつかの変数を用いる。前述のように、BNO_MI
N及びBNO_MAXTMPについての変数は、メイン
・フローパス250により、サブルーチン300を読出
す前にセットされる。これらの変数の初期値は、前述の
ようにそれぞれ「00」及び「FF」である。BNO_
MAXは、サブルーチン300をフローパス250へ戻
す変数である。
【0121】サブルーチン300により用いられるその
他の変数は、NO_PBである。NO_PBは、特定の
PCIバスに接続されたPCIブリッジの数である。
他の変数は、NO_PBである。NO_PBは、特定の
PCIバスに接続されたPCIブリッジの数である。
【0122】サブルーチン300がフローパス250に
より呼出されると、302において開始されて動作ステ
ップ304へ進み、ここでNO_PB及びjが「0」に
セットされる。その後、サブルーチン300は動作ステ
ップ306へ進み、jは1だけ増分される。
より呼出されると、302において開始されて動作ステ
ップ304へ進み、ここでNO_PB及びjが「0」に
セットされる。その後、サブルーチン300は動作ステ
ップ306へ進み、jは1だけ増分される。
【0123】サブルーチン300は、その後、最初の主
要な手順を開始する。それは、呼出されたサブルーチン
の目的であるバスに接続されているPCIブリッジを計
数することである。このタスクを実行するステップが、
動作ステップ308及び310並びに判断ステップ31
2及び314である。
要な手順を開始する。それは、呼出されたサブルーチン
の目的であるバスに接続されているPCIブリッジを計
数することである。このタスクを実行するステップが、
動作ステップ308及び310並びに判断ステップ31
2及び314である。
【0124】動作ステップ308は、BUS#がBNO
_MINに等しくかつDEV#フィールドがjに等しい
DEV_ATTRへの読取りコンフィギュレーション・
サイクルを実行することにより始まる。それは、第1回
目の計数においては「1」である。判断ステップ312
は、DEV_ATTRの最下位ビットが「0」であるか
「1」であるかを判断する。もし、最下位ビットが
「1」であれば、この読取りに応答する装置はPCIブ
リッジであるのでサブルーチン300は動作ステップ3
10へ分岐し、そのPCIバスへ接続されているPCI
ブリッジの数を計数するためにNO_PBを増分し、そ
してjをPB(NO_PB)の値として代入することに
よりPBアレイを作成する。このアレイが完成すると、
各PCIブリッジの内部コンフィギュレーション空間へ
アクセスする際に各PCIブリッジを稼働させるための
種々のDEV#値を指示する。このアレイは、フローパ
ス250におけるHBアレイに類似している。
_MINに等しくかつDEV#フィールドがjに等しい
DEV_ATTRへの読取りコンフィギュレーション・
サイクルを実行することにより始まる。それは、第1回
目の計数においては「1」である。判断ステップ312
は、DEV_ATTRの最下位ビットが「0」であるか
「1」であるかを判断する。もし、最下位ビットが
「1」であれば、この読取りに応答する装置はPCIブ
リッジであるのでサブルーチン300は動作ステップ3
10へ分岐し、そのPCIバスへ接続されているPCI
ブリッジの数を計数するためにNO_PBを増分し、そ
してjをPB(NO_PB)の値として代入することに
よりPBアレイを作成する。このアレイが完成すると、
各PCIブリッジの内部コンフィギュレーション空間へ
アクセスする際に各PCIブリッジを稼働させるための
種々のDEV#値を指示する。このアレイは、フローパ
ス250におけるHBアレイに類似している。
【0125】もし、DEV_ATTRの最下位ビットが
「0」であれば、値jを持つDEV#により稼働される
装置が存在するが、それは通常のPCI装置であってP
CIブリッジではないことを意味する。この場合、CP
U24は、ある装置がその特定のDEV#により稼働さ
れることを通知するが、NO_PBは増分しない。その
代りにサブルーチンは判断ステップ314へ進む。も
し、jに等しいDEV#により稼働される周辺装置又は
PCIブリッジがない場合は、CPU24はやはりこの
情報を通知して判断ステップ314へ進む。
「0」であれば、値jを持つDEV#により稼働される
装置が存在するが、それは通常のPCI装置であってP
CIブリッジではないことを意味する。この場合、CP
U24は、ある装置がその特定のDEV#により稼働さ
れることを通知するが、NO_PBは増分しない。その
代りにサブルーチンは判断ステップ314へ進む。も
し、jに等しいDEV#により稼働される周辺装置又は
PCIブリッジがない場合は、CPU24はやはりこの
情報を通知して判断ステップ314へ進む。
【0126】判断ステップ314はjをDEV_MAX
と比較する。もし、jがDEV_MAXよりも小さけれ
ば、サブルーチンは動作ステップ306へのループを戻
り、そこでjが増分される。従って、このループは、j
の値がDEV_MAXに等しくなるまで繰返される。
と比較する。もし、jがDEV_MAXよりも小さけれ
ば、サブルーチンは動作ステップ306へのループを戻
り、そこでjが増分される。従って、このループは、j
の値がDEV_MAXに等しくなるまで繰返される。
【0127】jの値がDEV_MAXに等しくなったと
き、サブルーチン300の呼出しが開始された目的であ
る特定のPCIバス(以降、「呼出しPCIバス」と称
する)に接続されたPCIブリッジの数にNO_PBが
等しくなる。さらにPBアレイも完成され、そして以下
のようなチャートがCPU24によりシステムメモリ3
2に作成されたことになる。
き、サブルーチン300の呼出しが開始された目的であ
る特定のPCIバス(以降、「呼出しPCIバス」と称
する)に接続されたPCIブリッジの数にNO_PBが
等しくなる。さらにPBアレイも完成され、そして以下
のようなチャートがCPU24によりシステムメモリ3
2に作成されたことになる。
【0128】その後、判断ステップ316へ進み、呼出
しPCIバスに接続されるPCIブリッジが存在するか
否かを判断する。NO_PBは判断ステップ316にお
いて「0」に等しいか否かを判断され、もしNO_PB
が0に等しければ、PCIブリッジは無い。この場合、
サブルーチン300は動作ステップ318へ進み、ここ
でBNO_MINの値をBNO_MAXへ転送する。そ
の後サブルーチン300は、ステップ320においてメ
イン・フローパス250へ戻る。もし、NO_PBが
「0」よりも大きければ、少なくとも1つのPCIブリ
ッジが呼出しPCIバスに接続されている。よってサブ
ルーチン300は、判断ブロック316から動作ステッ
プ322へ進む。
しPCIバスに接続されるPCIブリッジが存在するか
否かを判断する。NO_PBは判断ステップ316にお
いて「0」に等しいか否かを判断され、もしNO_PB
が0に等しければ、PCIブリッジは無い。この場合、
サブルーチン300は動作ステップ318へ進み、ここ
でBNO_MINの値をBNO_MAXへ転送する。そ
の後サブルーチン300は、ステップ320においてメ
イン・フローパス250へ戻る。もし、NO_PBが
「0」よりも大きければ、少なくとも1つのPCIブリ
ッジが呼出しPCIバスに接続されている。よってサブ
ルーチン300は、判断ブロック316から動作ステッ
プ322へ進む。
【0129】動作ステップ322は、サブルーチン30
0のループ・シーケンスの始点であり、ここで呼出しP
CIバスに接続されたPCIブリッジのBUS_NO及
びSUB_BUS_NOの各レジスタに一時的な値がセ
ットされる。動作ステップ322においてjjを「0」
にセットした後、動作ステップ324へ進み、ここでj
jを1だけ増分する。
0のループ・シーケンスの始点であり、ここで呼出しP
CIバスに接続されたPCIブリッジのBUS_NO及
びSUB_BUS_NOの各レジスタに一時的な値がセ
ットされる。動作ステップ322においてjjを「0」
にセットした後、動作ステップ324へ進み、ここでj
jを1だけ増分する。
【0130】次の判断ステップ326において、jjが
「1」に等しいか否かが判断される。もしjjが「1」
であれば、これがこのループ・シーケンスの繰返しにお
ける第1回目であるので、動作ステップ328へと進
む。動作ステップ328では、BUS#=BNO_MI
N、DEV#=PB(jj)、及びREG#=BUS_
NOである書込みコンフィギュレーション・サイクルが
実行される。このコンフィギュレーション・サイクルに
おいて書込まれる値は、BNO_MIN+1である。こ
の書込みコンフィギュレーション・サイクルの結果、呼
出しPCIバスに接続された第1のPCIブリッジのB
US_NOがBNO_MIN+1にセットされる。例え
ば、もしこれがPCIホスト・ブリッジの直ぐ下のバス
に対するサブルーチン300の最初の呼出しであれば、
このBUS_NO値は「1」となる。サブルーチン30
0は次に動作ステップ330へ進む。
「1」に等しいか否かが判断される。もしjjが「1」
であれば、これがこのループ・シーケンスの繰返しにお
ける第1回目であるので、動作ステップ328へと進
む。動作ステップ328では、BUS#=BNO_MI
N、DEV#=PB(jj)、及びREG#=BUS_
NOである書込みコンフィギュレーション・サイクルが
実行される。このコンフィギュレーション・サイクルに
おいて書込まれる値は、BNO_MIN+1である。こ
の書込みコンフィギュレーション・サイクルの結果、呼
出しPCIバスに接続された第1のPCIブリッジのB
US_NOがBNO_MIN+1にセットされる。例え
ば、もしこれがPCIホスト・ブリッジの直ぐ下のバス
に対するサブルーチン300の最初の呼出しであれば、
このBUS_NO値は「1」となる。サブルーチン30
0は次に動作ステップ330へ進む。
【0131】判断ステップ326においてjjが「1」
でなければ、これはループ・シーケンスの繰返しにおけ
る第1回目ではないので、判断ステップ326から動作
ステップ333へ進む。動作ステップ333により、呼
出しPCIバス上のDEV#=PB(jj)であるPC
IブリッジのBUS_NOアドレスに対して書込みが行
われる。BUS_NOへ書込まれる値は、BNO_MA
XTMP−NO_PB+jjである。この値は、サブル
ーチン300がPCIネットワーク内の階層の最下層ま
で降りて行く間のBUS_NOに対する一時的な値であ
る。動作ステップ333の後、動作ステップ330へ進
む。
でなければ、これはループ・シーケンスの繰返しにおけ
る第1回目ではないので、判断ステップ326から動作
ステップ333へ進む。動作ステップ333により、呼
出しPCIバス上のDEV#=PB(jj)であるPC
IブリッジのBUS_NOアドレスに対して書込みが行
われる。BUS_NOへ書込まれる値は、BNO_MA
XTMP−NO_PB+jjである。この値は、サブル
ーチン300がPCIネットワーク内の階層の最下層ま
で降りて行く間のBUS_NOに対する一時的な値であ
る。動作ステップ333の後、動作ステップ330へ進
む。
【0132】動作ステップ330では、DEV#=PB
(jj)のときに応答する呼出しPCIバスに接続され
たPCIブリッジのSUB_BUS_NOに対する書込
みコンフィギュレーション・サイクルを実行する。SU
B_BUS_NOへ書込まれる値はBNO_MAXTM
P−NO_PB+jjに等しい一時的な値である。
(jj)のときに応答する呼出しPCIバスに接続され
たPCIブリッジのSUB_BUS_NOに対する書込
みコンフィギュレーション・サイクルを実行する。SU
B_BUS_NOへ書込まれる値はBNO_MAXTM
P−NO_PB+jjに等しい一時的な値である。
【0133】次に判断ステップ332へ進み、ここから
ブルーチン300はjjがNO_PBに等しくなるまで
動作ステップ324へ戻ってループを繰返す。もしjj
がNO_PBに等しくなれば、以下に示すテーブルのよ
うな各PCIブリッジについての一時的な値のテーブル
が作成されたことになる。 ブリッジ番号 BUS_NO SUB_BUS_NO −−−−−−−−−−−−−−−−− −−−−−−−−−−−− 1 BNO_MIN+1 BNO_MAXTMP-NO_PB+1 : : : jj BNO_MAXTMP-NO_PB+jj BNO_MAXTMP-NO_PB+jj : : : NO_PB BNO_MAXTMP BNO_MAXTMP
ブルーチン300はjjがNO_PBに等しくなるまで
動作ステップ324へ戻ってループを繰返す。もしjj
がNO_PBに等しくなれば、以下に示すテーブルのよ
うな各PCIブリッジについての一時的な値のテーブル
が作成されたことになる。 ブリッジ番号 BUS_NO SUB_BUS_NO −−−−−−−−−−−−−−−−− −−−−−−−−−−−− 1 BNO_MIN+1 BNO_MAXTMP-NO_PB+1 : : : jj BNO_MAXTMP-NO_PB+jj BNO_MAXTMP-NO_PB+jj : : : NO_PB BNO_MAXTMP BNO_MAXTMP
【0134】このテーブル内のブリッジの2次側に接続
されたPCIバスは、PCIネットワークの階層の第2
の層を表している。システム内のホスト・ブリッジに接
続されたPCIバスは、階層の第1の層を表している。
されたPCIバスは、PCIネットワークの階層の第2
の層を表している。システム内のホスト・ブリッジに接
続されたPCIバスは、階層の第1の層を表している。
【0135】サブルーチン300は次に動作ステップ3
34へ進み、ここからサブルーチンの再帰的部分を開始
する。動作ステップ334は、カウンタjjを「0」に
セットし、新しい変数BNO_MIN2の値をBNO_
MIN+1にセットする。
34へ進み、ここからサブルーチンの再帰的部分を開始
する。動作ステップ334は、カウンタjjを「0」に
セットし、新しい変数BNO_MIN2の値をBNO_
MIN+1にセットする。
【0136】次の動作ステップ336において、jjは
1だけ増分される。動作ステップ336の後、動作ステ
ップ338において新変数BNO_MAXTMP2が導
入される。動作ステップ338は、BNO_MAXTM
P2にBNO_MAXTMP−NO_PB+jjの値を
与える。
1だけ増分される。動作ステップ336の後、動作ステ
ップ338において新変数BNO_MAXTMP2が導
入される。動作ステップ338は、BNO_MAXTM
P2にBNO_MAXTMP−NO_PB+jjの値を
与える。
【0137】その後、呼出しブロック340に進み、P
CIの階層におけるPCIバスの第2の層に接続された
PCIブリッジを計数するためにサブルーチン300は
自分自身を呼出す。この第2の層に接続されたPCIブ
リッジの数は、PCIの階層における第3の層のPCI
バスの数を示すことになる。
CIの階層におけるPCIバスの第2の層に接続された
PCIブリッジを計数するためにサブルーチン300は
自分自身を呼出す。この第2の層に接続されたPCIブ
リッジの数は、PCIの階層における第3の層のPCI
バスの数を示すことになる。
【0138】呼出しブロック340におけるサブルーチ
ン300の第2の呼出しの間、BNO_MIN及びBN
O_MAXTMPに代って用いられる変数は、それぞれ
BNO_MIN2及びBNO_MAXTMP2である。
同様に、この第2の呼出しからのリターン値は、BNO
_MAXではなく変数BNO_MAX2となる。もしx
が、PCIブリッジの数に等しければ、すなわちPB
(jj)として識別されるPCIブリッジの下層のPC
Iバスの数に等しければ、BNO_MAX2のリターン
値は、BNO_MIN2+x−1となる。BNO_MA
X2は、特定のPCIバスPB(jj)の下層で最も大
きい参照番号を持つPCIバスの参照番号である。
ン300の第2の呼出しの間、BNO_MIN及びBN
O_MAXTMPに代って用いられる変数は、それぞれ
BNO_MIN2及びBNO_MAXTMP2である。
同様に、この第2の呼出しからのリターン値は、BNO
_MAXではなく変数BNO_MAX2となる。もしx
が、PCIブリッジの数に等しければ、すなわちPB
(jj)として識別されるPCIブリッジの下層のPC
Iバスの数に等しければ、BNO_MAX2のリターン
値は、BNO_MIN2+x−1となる。BNO_MA
X2は、特定のPCIバスPB(jj)の下層で最も大
きい参照番号を持つPCIバスの参照番号である。
【0139】呼出しブロック340がBNO_MAX2
に対する値を返すと、次に動作ステップ342へ進む。
動作ステップ342では、BUS#=BNO_MIN、
DEV#=PB(jj)であるSUB_BUS_NOレ
ジスタへの書込みコンフィギュレーション・サイクルが
実行され、そして書込まれる情報はBNO_MAX2に
等しい。
に対する値を返すと、次に動作ステップ342へ進む。
動作ステップ342では、BUS#=BNO_MIN、
DEV#=PB(jj)であるSUB_BUS_NOレ
ジスタへの書込みコンフィギュレーション・サイクルが
実行され、そして書込まれる情報はBNO_MAX2に
等しい。
【0140】もしjjが1に等しいならば、BNO_M
AX2によってPB(1)のSUB_BUS_NOにセ
ットされた一時的値を上書きする。PB(1)は先のテ
ーブルにおける参照番号1をもつブリッジである。PB
(1)のBUS_NOは、既に動作ステップ328にお
いてBNO_MIN+1又は「1」にセットされてい
る。よって、PB(1)のBUS_NO及びSUB_B
US_NOの各レジスタは、PB(1)の下層にある全
てのPCIバスに割当てられた参照番号の範囲を与え
る。
AX2によってPB(1)のSUB_BUS_NOにセ
ットされた一時的値を上書きする。PB(1)は先のテ
ーブルにおける参照番号1をもつブリッジである。PB
(1)のBUS_NOは、既に動作ステップ328にお
いてBNO_MIN+1又は「1」にセットされてい
る。よって、PB(1)のBUS_NO及びSUB_B
US_NOの各レジスタは、PB(1)の下層にある全
てのPCIバスに割当てられた参照番号の範囲を与え
る。
【0141】次にサブルーチン300は判断ステップ3
44に進み、jjがNO_PBと比較される。もしjj
がNO_PBより小さければ、動作ステップ346へ進
み、PB(jj+1)のBUS_NOレジスタに対して
書込みコンフィギュレーション・サイクルを実行する。
書込まれる値はBNO_MAX2+1である。従って、
もしjjが1に等しければ、PB(2)の直ぐ下のブリ
ッジ、又は先のテーブル内の第2のバスがBNO_MA
X2+1の参照値を割当てられる。この値は、PB
(1)のBUS_NO及びSUB_BUS_NOの各レ
ジスタにセットされたPCIバスの範囲よりも1だけ増
分されている。この同じ値が、次の動作ステップ348
におけるBNO_MIN2の新しい値となる。
44に進み、jjがNO_PBと比較される。もしjj
がNO_PBより小さければ、動作ステップ346へ進
み、PB(jj+1)のBUS_NOレジスタに対して
書込みコンフィギュレーション・サイクルを実行する。
書込まれる値はBNO_MAX2+1である。従って、
もしjjが1に等しければ、PB(2)の直ぐ下のブリ
ッジ、又は先のテーブル内の第2のバスがBNO_MA
X2+1の参照値を割当てられる。この値は、PB
(1)のBUS_NO及びSUB_BUS_NOの各レ
ジスタにセットされたPCIバスの範囲よりも1だけ増
分されている。この同じ値が、次の動作ステップ348
におけるBNO_MIN2の新しい値となる。
【0142】次にサブルーチン300は、別の判断ステ
ップ350へ進み、再びjjがNO_PBと比較され
る。もしjjがNO_PBよりも小さければ、必然的に
そうなるが、サブルーチン300は動作ステップ336
までループを戻る。
ップ350へ進み、再びjjがNO_PBと比較され
る。もしjjがNO_PBよりも小さければ、必然的に
そうなるが、サブルーチン300は動作ステップ336
までループを戻る。
【0143】その後、動作ステップ336でjjが1だ
け増分され、再びサブルーチン300は、次のPCIブ
リッジPB(jj)の下層のPCIバスを計数するため
に自分自身を呼出す。このサブルーチン300の呼出し
は、PB(jj)に対するBNO_MAX2の値を返
す。
け増分され、再びサブルーチン300は、次のPCIブ
リッジPB(jj)の下層のPCIバスを計数するため
に自分自身を呼出す。このサブルーチン300の呼出し
は、PB(jj)に対するBNO_MAX2の値を返
す。
【0144】jjがNO_PBに等しくなるまで、jj
の各値に対してサブルーチン300恥文事心を呼出し続
ける。jjがNO_PBに等しくなると、サブルーチン
300は判断ステップ344から動作ステップ352へ
とループする。このことは、HB(ii)により識別さ
れる特定のホスト・ブリッジの下層の全てのPCIバス
が計数されたことを意味する。
の各値に対してサブルーチン300恥文事心を呼出し続
ける。jjがNO_PBに等しくなると、サブルーチン
300は判断ステップ344から動作ステップ352へ
とループする。このことは、HB(ii)により識別さ
れる特定のホスト・ブリッジの下層の全てのPCIバス
が計数されたことを意味する。
【0145】動作ステップ352において、BNO_M
AX2の値はBNO_MAXへ複写される。その後、リ
ターン・ステップ354において、サブルーチン300
はBNO_MAXとともにフローパス250の呼出しブ
ロック282へ戻る。
AX2の値はBNO_MAXへ複写される。その後、リ
ターン・ステップ354において、サブルーチン300
はBNO_MAXとともにフローパス250の呼出しブ
ロック282へ戻る。
【0146】サブルーチン300は、PCIネットワー
ク内の各ブリッジの下層にあるPCIバスの各階層に対
し、階層の最下層に達するまで自分自身を再帰的に呼出
すことになる。サブルーチン300は、その各呼出しの
ためのポインタと変数に対してシステムメモリ内の異な
るメモリ・レジスタを使用しなければならない。そうし
なければ、このプログラムは正しい値に戻らなくなる。
例えば、もしサブルーチン300が1つのNO_PB
(jj)に対して自分自身を3回呼出すならば、各呼出
しのjjポインタに対して1つのメモリ場所が用いられ
なければならない。よって、異なる3つのjjポインタ
に対しては3つのメモリ場所がセットされなければなら
ない。
ク内の各ブリッジの下層にあるPCIバスの各階層に対
し、階層の最下層に達するまで自分自身を再帰的に呼出
すことになる。サブルーチン300は、その各呼出しの
ためのポインタと変数に対してシステムメモリ内の異な
るメモリ・レジスタを使用しなければならない。そうし
なければ、このプログラムは正しい値に戻らなくなる。
例えば、もしサブルーチン300が1つのNO_PB
(jj)に対して自分自身を3回呼出すならば、各呼出
しのjjポインタに対して1つのメモリ場所が用いられ
なければならない。よって、異なる3つのjjポインタ
に対しては3つのメモリ場所がセットされなければなら
ない。
【0147】同様に、各層の変数BNO_MAX、BN
O_MIN、PB_NO及びBNOMAX_TMPに対
しても異なるメモリ場所をセットしなければならない。
例えば、サブルーチン300の第3回目の呼出しのBN
O_MAXは、自分専用のメモリ場所BNO_MAX3
を、第4回目の呼出しではBNO_MAX4を、そして
第y回目の呼出しではBNO_MAXyを用いなければ
ならない。変数BNO_MAXy及びBNO_MINy
は、PCIネットワーク内の各PCIバスについて1ず
つ増分される実際に同じ変数である。
O_MIN、PB_NO及びBNOMAX_TMPに対
しても異なるメモリ場所をセットしなければならない。
例えば、サブルーチン300の第3回目の呼出しのBN
O_MAXは、自分専用のメモリ場所BNO_MAX3
を、第4回目の呼出しではBNO_MAX4を、そして
第y回目の呼出しではBNO_MAXyを用いなければ
ならない。変数BNO_MAXy及びBNO_MINy
は、PCIネットワーク内の各PCIバスについて1ず
つ増分される実際に同じ変数である。
【0148】図17は、PCIネットワークの物理的コ
ンフィギュレーションの構成例のブロック図である。図
17の各ブロックは、PCIブリッジ又はホスト・ブリ
ッジである。
ンフィギュレーションの構成例のブロック図である。図
17の各ブロックは、PCIブリッジ又はホスト・ブリ
ッジである。
【0149】図17では、3つのホスト・ブリッジA、
B及びCがある。ホスト・ブリッジAは、その下層に接
続された3つのPCIブリッジをもつ。これらのPCI
ブリッジのうち、A1とA2の2つは、ホスト・ブリッ
ジAの直ぐ下に接続されているPCIバスAに同列で接
続されている。PCIブリッジB1は、ブリッジA1の
2次側に接続されているPCIバスBへ接続されてい
る。ブリッジB1及びA2は、それぞれ、それらの2次
側に接続されたPCIバスC及びDを有している。
B及びCがある。ホスト・ブリッジAは、その下層に接
続された3つのPCIブリッジをもつ。これらのPCI
ブリッジのうち、A1とA2の2つは、ホスト・ブリッ
ジAの直ぐ下に接続されているPCIバスAに同列で接
続されている。PCIブリッジB1は、ブリッジA1の
2次側に接続されているPCIバスBへ接続されてい
る。ブリッジB1及びA2は、それぞれ、それらの2次
側に接続されたPCIバスC及びDを有している。
【0150】ホスト・ブリッジBは、その2次側に接続
されたPCIバスEのみを有している。ホスト・ブリッ
ジCは、その2次側に接続されたPCIバスFを有し、
PCIバスFはPCIブリッジF1を接続している。P
CIブリッジF1はさらにPCIバスGを2次側に接続
している。
されたPCIバスEのみを有している。ホスト・ブリッ
ジCは、その2次側に接続されたPCIバスFを有し、
PCIバスFはPCIブリッジF1を接続している。P
CIブリッジF1はさらにPCIバスGを2次側に接続
している。
【0151】図17に示す各ブリッジは、それぞれ2つ
のブロックを有し、それぞれのブロックには数字が含ま
れている。上のブロックはその特定のブリッジのBUS
_NOレジスタを表し、下のブロックはSUB_BUS
_NOレジスタを表している。これらのブロック内の数
字は、図10乃至図16に示したフローパス250及び
サブルーチン300によりそのレジスタに割当てられた
値を表している。
のブロックを有し、それぞれのブロックには数字が含ま
れている。上のブロックはその特定のブリッジのBUS
_NOレジスタを表し、下のブロックはSUB_BUS
_NOレジスタを表している。これらのブロック内の数
字は、図10乃至図16に示したフローパス250及び
サブルーチン300によりそのレジスタに割当てられた
値を表している。
【0152】コンピュータ・システムの立上げもしくは
初期化において、フローパス250及びサブルーチン3
00の以下のような動作により図17に示した値が割当
てられる。
初期化において、フローパス250及びサブルーチン3
00の以下のような動作により図17に示した値が割当
てられる。
【0153】ここで図10乃至図17を参照すると、フ
ローパス250は、他のいずれかのコンフィギュレーシ
ョン・プログラムがシステムのために起動される前にC
PU24により呼出される。フローパス250は、CO
NFIG_ENBLの各ビットを別々にHにすることに
より開始される。CONFIG_ENBLの特定のビッ
トは、ホスト・ブリッジA、B及びCのDEV_ATT
Rレジスタへの読取りサイクルのためにそれぞれのホス
ト・ブリッジを稼働させる。そして、動作ステップ26
4においてNO_HBを増分させることにより、それら
のレジスタのそれぞれの最下位ビットが計数される。ス
テップ264はさらに、各ブリッジを稼働させるCON
FIG_ENBLのビット番号のアレイを作成する。
ローパス250は、他のいずれかのコンフィギュレーシ
ョン・プログラムがシステムのために起動される前にC
PU24により呼出される。フローパス250は、CO
NFIG_ENBLの各ビットを別々にHにすることに
より開始される。CONFIG_ENBLの特定のビッ
トは、ホスト・ブリッジA、B及びCのDEV_ATT
Rレジスタへの読取りサイクルのためにそれぞれのホス
ト・ブリッジを稼働させる。そして、動作ステップ26
4においてNO_HBを増分させることにより、それら
のレジスタのそれぞれの最下位ビットが計数される。ス
テップ264はさらに、各ブリッジを稼働させるCON
FIG_ENBLのビット番号のアレイを作成する。
【0154】従って、判断ステップ268が目的に達す
ると、NO_HBは、「3」もしくは図17のホスト・
ブリッジの数に等しくなる。その後、動作ブロック27
8において、内部コンフィギュレーション・サイクルの
ためにホスト・ブリッジAを稼働させるCONFIG_
ENBLのビット番号にH信号を書込む。そしてブロッ
ク282においてサブルーチン300への最初の呼出し
が行われる。
ると、NO_HBは、「3」もしくは図17のホスト・
ブリッジの数に等しくなる。その後、動作ブロック27
8において、内部コンフィギュレーション・サイクルの
ためにホスト・ブリッジAを稼働させるCONFIG_
ENBLのビット番号にH信号を書込む。そしてブロッ
ク282においてサブルーチン300への最初の呼出し
が行われる。
【0155】サブルーチン300は、PCIバスAに接
続された各装置又はPCIブリッジのDEV_ATTR
レジスタを読取ることによってPCIブリッジA1及び
A2を計数することにより、開始される。このサブルー
チンは、ブロック306と313との間のループ手順に
より完了する。
続された各装置又はPCIブリッジのDEV_ATTR
レジスタを読取ることによってPCIブリッジA1及び
A2を計数することにより、開始される。このサブルー
チンは、ブロック306と313との間のループ手順に
より完了する。
【0156】従って、判断ブロック314においてj=
21(DEV_MAX)になると、NO_PBの値は2
に等しくなり、PBアレイの作成が完了する。PBアレ
イは、コンフィギュレーション・サイクルのために、ホ
スト・ブリッジAのCONFIG_ADのいずれのビッ
ト番号がPCIブリッジA1及びA2を稼働させるかを
指示するものである。
21(DEV_MAX)になると、NO_PBの値は2
に等しくなり、PBアレイの作成が完了する。PBアレ
イは、コンフィギュレーション・サイクルのために、ホ
スト・ブリッジAのCONFIG_ADのいずれのビッ
ト番号がPCIブリッジA1及びA2を稼働させるかを
指示するものである。
【0157】次に、前述のブロック324乃至332の
ループ手順において、ブリッジA1のBUS_NOが固
定的に「1」にセットされている場合を除き、ブリッジ
A1及びA2のSUB_BUS_NO及びBUS_NO
の各レジスタに一時的な値がセットされる。
ループ手順において、ブリッジA1のBUS_NOが固
定的に「1」にセットされている場合を除き、ブリッジ
A1及びA2のSUB_BUS_NO及びBUS_NO
の各レジスタに一時的な値がセットされる。
【0158】その後、図13乃至図16に示した再帰的
サブルーチン手順が、ブリッジA1に対して実行され
る。ブロック340は、サブルーチン300が自分自身
を呼出すためのものである。従って、PCIバスBに接
続されたPCIブリッジを計数するためにブロック30
6乃至314の計数及びアレイ作成手順が実行される。
この手順の最後において、PCIブリッジB1に対して
NO_PB2は「1」に等しくなり、そしてPB2のア
レイ作成が完了する。
サブルーチン手順が、ブリッジA1に対して実行され
る。ブロック340は、サブルーチン300が自分自身
を呼出すためのものである。従って、PCIバスBに接
続されたPCIブリッジを計数するためにブロック30
6乃至314の計数及びアレイ作成手順が実行される。
この手順の最後において、PCIブリッジB1に対して
NO_PB2は「1」に等しくなり、そしてPB2のア
レイ作成が完了する。
【0159】その後、ブロック324乃至332の間の
ループ手順が、PCIブリッジB1のSUB_BUS_
NOに対して一時的値をセットし、ブロック328にお
いてそのBUS_NOを固定値「2」にセットする。
ループ手順が、PCIブリッジB1のSUB_BUS_
NOに対して一時的値をセットし、ブロック328にお
いてそのBUS_NOを固定値「2」にセットする。
【0160】そしてPCIブリッジB1のために再びブ
ロック340でサブルーチン300を呼出す。これは、
サブルーチン300に対する第3層の呼出しである。
ロック340でサブルーチン300を呼出す。これは、
サブルーチン300に対する第3層の呼出しである。
【0161】この回の呼出しでは、サブルーチン300
はPCIバスC上のブリッジの数を計数しようとし、そ
してここに何も接続されていないことを見出してNO_
PB=0とする。従って、ブロック318において、B
NO_MAX3=2とともにサブルーチン300の呼出
しの第2の層へ戻る。そしてBNO_MAX3もしくは
「2」は、動作ステップ342においてブリッジB1の
SUB_BUS_NOに固定的に書込まれる。
はPCIバスC上のブリッジの数を計数しようとし、そ
してここに何も接続されていないことを見出してNO_
PB=0とする。従って、ブロック318において、B
NO_MAX3=2とともにサブルーチン300の呼出
しの第2の層へ戻る。そしてBNO_MAX3もしくは
「2」は、動作ステップ342においてブリッジB1の
SUB_BUS_NOに固定的に書込まれる。
【0162】PCIバスBに接続されている他のブリッ
ジがないので、jjは判断ステップ344におけるNO
_PBに等しく、そしてサブルーチン300は動作ブロ
ック352へループする。BNO_MAX3もしくは
「2」が判断ステップ352においてBNO_MAX2
に複写され、ブロック354においてサブルーチン30
0の呼出しの第1の層へ戻る。
ジがないので、jjは判断ステップ344におけるNO
_PBに等しく、そしてサブルーチン300は動作ブロ
ック352へループする。BNO_MAX3もしくは
「2」が判断ステップ352においてBNO_MAX2
に複写され、ブロック354においてサブルーチン30
0の呼出しの第1の層へ戻る。
【0163】その後、ブロック342においてブリッジ
A1のSUB_BUS_NOへ値「2」を複写する。次
に動作ブロック346において、値「3」がPCIブリ
ッジA2のBUS_NOに複写される。
A1のSUB_BUS_NOへ値「2」を複写する。次
に動作ブロック346において、値「3」がPCIブリ
ッジA2のBUS_NOに複写される。
【0164】これは、図13乃至図16の繰返しの第1
回目であり、またNO_PBは2に等しいので、サブル
ーチン300はブロック336へとループする。それか
ら、PCIブリッジA2のために、サブルーチン300
への別の第2の層の呼出しが行われる。この呼出しは、
PCIバスDにPCIブリッジが接続されていないこと
を示して第1の層へと戻る。よって、この呼出しに対し
て返されるBNO_MAX2は「3」である。その後、
ブロック342においてこの値はPCIブリッジA2の
SUB_BUS_NOへ複写される。
回目であり、またNO_PBは2に等しいので、サブル
ーチン300はブロック336へとループする。それか
ら、PCIブリッジA2のために、サブルーチン300
への別の第2の層の呼出しが行われる。この呼出しは、
PCIバスDにPCIブリッジが接続されていないこと
を示して第1の層へと戻る。よって、この呼出しに対し
て返されるBNO_MAX2は「3」である。その後、
ブロック342においてこの値はPCIブリッジA2の
SUB_BUS_NOへ複写される。
【0165】このときjjの値はNO_PBに等しい。
よって、判断ステップ344はブロック352へとルー
プし、そこでBNO_MAXに対してBNO_MAX2
の値もしくは「3」が与えられる。それから、ブロック
282においてメイン・フローパス250へ戻る。
よって、判断ステップ344はブロック352へとルー
プし、そこでBNO_MAXに対してBNO_MAX2
の値もしくは「3」が与えられる。それから、ブロック
282においてメイン・フローパス250へ戻る。
【0166】その後、ブロック286において値「3」
がホスト・ブリッジAのSUB_BUS_NOへ書込ま
れる。それからブロック288においてBNO_MIN
が「4」に等しくセットされた後、ブロック276への
ループを戻って残りのブリッジのBUS_NO及びSU
B_BUS_NOの各レジスタをセットする。
がホスト・ブリッジAのSUB_BUS_NOへ書込ま
れる。それからブロック288においてBNO_MIN
が「4」に等しくセットされた後、ブロック276への
ループを戻って残りのブリッジのBUS_NO及びSU
B_BUS_NOの各レジスタをセットする。
【0167】先ず、値「4」がホスト・ブリッジBのB
US_NOへ複写される。それからサブルーチン300
が呼出されるが、PCIバスE上においてはPCIブリ
ッジを計数しない。よって、ブロック320においてB
NO_MAXの値「4」とともに戻り、そしてブロック
286において、この値をホスト・ブリッジBのSUB
_BUS_NOへ書込む。
US_NOへ複写される。それからサブルーチン300
が呼出されるが、PCIバスE上においてはPCIブリ
ッジを計数しない。よって、ブロック320においてB
NO_MAXの値「4」とともに戻り、そしてブロック
286において、この値をホスト・ブリッジBのSUB
_BUS_NOへ書込む。
【0168】iiの値は、いまだNO_HBに等しくな
い。よって、ブロック288においてBNO_MAXに
1を加えることによりBNO_MINを「5」にセット
した後、判断ステップ290からブロック276へのル
ープを戻る。ブロック284においてホスト・ブリッジ
CのBUS_NOへ「5」が書込まれた後、ブロック2
82でサブルーチン300が呼出される。
い。よって、ブロック288においてBNO_MAXに
1を加えることによりBNO_MINを「5」にセット
した後、判断ステップ290からブロック276へのル
ープを戻る。ブロック284においてホスト・ブリッジ
CのBUS_NOへ「5」が書込まれた後、ブロック2
82でサブルーチン300が呼出される。
【0169】サブルーチン300は、バスGを見出しか
つ計数するために第2の層の呼出しを行わなければなら
ない。PCIブリッジF1のBUS_NO及びSUB_
BUS_NOの各レジスタは、サブルーチン300の呼
出しの間にセットされ、BNO_MAXの値「6」がブ
ロック282へ返される。
つ計数するために第2の層の呼出しを行わなければなら
ない。PCIブリッジF1のBUS_NO及びSUB_
BUS_NOの各レジスタは、サブルーチン300の呼
出しの間にセットされ、BNO_MAXの値「6」がブ
ロック282へ返される。
【0170】このときiiの値はNO_HBに等しくな
り、全てのBUS_NO及びSUB_BUS_NOの各
レジスタがセットされたことを意味する。よって、ブロ
ック292においてCONFIG_ENBLの全てのビ
ット番号をHにセットすることにより、コンフィギュレ
ーション・プログラムはホスト・ブリッジの内部レジス
タにアクセスすることができる。このとき、コンフィギ
ュレーション・プログラムは、マルチプル・バス・ネッ
トワーク内の全てのブリッジ、周辺装置及びバスを位置
付けするための予備マップを有している。
り、全てのBUS_NO及びSUB_BUS_NOの各
レジスタがセットされたことを意味する。よって、ブロ
ック292においてCONFIG_ENBLの全てのビ
ット番号をHにセットすることにより、コンフィギュレ
ーション・プログラムはホスト・ブリッジの内部レジス
タにアクセスすることができる。このとき、コンフィギ
ュレーション・プログラムは、マルチプル・バス・ネッ
トワーク内の全てのブリッジ、周辺装置及びバスを位置
付けするための予備マップを有している。
【0171】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0172】(1)中央演算処理装置と、システムメモ
リと、前記中央演算処理装置が前記システムメモリに対
してデータの読取り及び書込みを行えるように該中央演
算処理装置を該システムメモリに接続するシステムバス
と、周辺装置を接続することにより前記中央演算処理装
置が該周辺装置に対してデータの読取り及び書込みを行
えるように前記システムバスに接続される少なくとも1
つの周辺バスであって、前記少なくとも1つの周辺バス
が複数ある場合にはバス・ツー・バス・ブリッジにより
複数の同列及び階層の組合せで互いに接続されており、
前記システムバスに直接接続される該周辺バスは主周辺
バスであり、残りの該周辺バスは該主周辺バスの下の階
層のいずれかの層に配置されており、前記組合せが変更
可能であり、前記主周辺バスのそれぞれが、対応するホ
スト・ブリッジを介して前記システムバスに直接接続さ
れている、周辺バスと、前記中央演算処理装置が前記周
辺装置を構成するために全ての該周辺装置を位置付けで
きるような全ての該周辺装置のマップを作成すべく該中
央演算処理装置が実行し、かつ前記周辺バスの前記組合
せが変更される場合には書直すことなく該マップを変更
することができる、前記システムメモリに記憶されてい
るプログラムとを有する情報処理システム。 (2)前記プログラムが、前記主周辺バスの数を計数す
るステップと、最小値を変数に割当てるステップと、前
記主周辺バスの各々に接続された前記階層の各々におけ
る周辺バスの数を計数し、かつ該階層の各々に接続され
た各該周辺バスに識別番号を割当てるサブルーチンを該
主周辺バスの各々について呼出すステップと、前記サブ
ルーチンが計数したバスの数により、該サブルーチンの
各呼出しの後に前記変数を増分させるステップと、前記
主周辺バスに対応する前記サブルーチンの呼出し前の前
記変数の値に等しい第1の範囲の数を各主周辺バスに割
当てるステップと、前記主周辺バスに対応する前記階層
に接続されているバスの数に、各主周辺バスに対する前
記サブルーチンの呼出しの実行前の前記変数の値を加算
し、さらに1を減算した値に等しい第2の範囲の数を各
主周辺バスに割当てるステップとを含む上記(1)に記
載の情報処理システム。 (3)前記サブルーチンが、前記階層における前記周辺
バスの各々に対して前記サブルーチンを呼出し、かつ第
1の呼出しは前記主周辺バスに対して実行するステップ
と、前記サブルーチンの特定の呼出しが実行される前記
周辺バスの各々に対して、該特定の呼出しが実行される
前に前記変数に1を加算した値に等しい第1の範囲の値
を割当てるステップと、前記特定の呼出しが実行される
前に前記変数を1だけ増分させるステップと、前記サブ
ルーチンの呼出しが実行される各前記周辺バスに接続さ
れた周辺バスを計数するステップと、前記特定の呼出し
が実行された前記周辺バスに接続された周辺バスの数が
0に等しい場合、又は該サブルーチンの該特定の呼出し
が実行された該周辺バスに接続された全ての周辺バスに
ついて該サブルーチンの呼出しが実行された場合のいず
れかの場合にのみ該サブルーチンの該特定の呼出しから
戻るステップと、前記特定の呼出しが実行された前記周
辺バスに対して、該特定の呼出しから戻ってきた後の前
記変数に等しい第2の範囲の値を割当てるステップと、
前記階層の各前記周辺バスの直ぐ上の対応するバス・ツ
ー・バス・ブリッジ内の別々のレジスタに各該周辺バス
についての前記第1及び前記第2の範囲の値を書込むス
テップとを含む上記(2)に記載の情報処理システム。 (4)各前記周辺バスについて前記サブルーチンの呼出
しが実行される前に、特定の周辺バスに接続された各該
周辺バスの前記第1及び前記第2の範囲の値に対して一
時的な値をセットするステップを含む上記(3)に記載
の情報処理システム。 (5)前記中央演算処理装置が各前記周辺バスに接続さ
れた前記バス・ツー・バス・ブリッジ及び前記周辺装置
の各々に対してデータの読取り及び書込みが行えるよう
に、該バス・ツー・バス・ブリッジ及び該周辺装置をイ
ネーブルにする該周辺バス上の信号を指示するテーブル
を各該周辺バスについて作成するステップを含む上記
(3)に記載の情報処理システム。 (6)前記サブルーチンの前記特定の呼出しが実行され
る前記周辺バスに接続された前記周辺バスが、該サブル
ーチンの該特定の呼出しが実行される該周辺バスに接続
された前記バス・ツー・バス・ブリッジの数を計数する
ことにより計数される上記(3)に記載の情報処理シス
テム。 (7)前記バス・ツー・バス・ブリッジが、最下位ビッ
トをバイナリのハイレベルにセットした内部レジスタを
有し、該バス・ツー・バス・ブリッジが該最下位ビット
をサンプリングすることにより計数される上記(6)に
記載の情報処理システム。 (8)前記主周辺バスが、前記システム・バスに接続さ
れた前記ホスト・ブリッジの数を計数することにより計
数される上記(1)に記載の情報処理システム。 (9)各ビットが前記システムバスを介して前記ホスト
・ブリッジの1つに接続可能である複数のビットからな
るレジスタを含み、該ビットの1つがバイナリのハイレ
ベルである場合に該ホスト・ブリッジの1つがイネーブ
ルされることにより、前記中央演算処理装置が該ホスト
・ブリッジに対してデータの読取り及び書込みを行うこ
とができる上記(1)に記載の情報処理システム。 (10)前記周辺バスがPCIバスである上記(1)に
記載の情報処理システム。 (11)前記プログラムが、各前記主周辺バスの前記第
1及び第2の範囲の数を前記対応するホスト・ブリッジ
内の別々のレジスタに書込むステップを含む上記(2)
に記載の情報処理システム。 (12)中央演算処理装置を設けるステップと、システ
ムメモリを設けるステップと、前記中央演算処理装置が
前記システムメモリに対してデータの読取り及び書込み
を行えるように該中央演算処理装置を該システムメモリ
に接続するシステムバスを設けるステップと、周辺装置
を接続することにより前記中央演算処理装置が該周辺装
置に対してデータの読取り及び書込みを行えるように前
記システムバスに接続される少なくとも1つの周辺バス
を設けるステップであって、前記少なくとも1つの周辺
バスが複数ある場合にはバス・ツー・バス・ブリッジに
より複数の同列及び階層の組合せで互いに接続し、前記
システムバスに直接接続される該周辺バスは主周辺バス
であり、残りの該周辺バスは該主周辺バスの下の階層の
いずれかの層に配置されており、前記組合せを変更する
機能を有し、前記主周辺バスのそれぞれを、対応するホ
スト・ブリッジを介して前記システムバスに直接接続す
る、周辺バスを設けるステップと、前記中央演算処理装
置が前記周辺装置を構成するために全ての該周辺装置を
位置付けできるような全ての該周辺装置のマップを作成
すべく該中央演算処理装置が実行し、かつ前記周辺バス
の前記組合せが変更される場合には書直すことなく該マ
ップを変更する機能を含む、前記システムメモリに記憶
されているプログラムを設けるステップとを有する情報
処理システムにおいてマルチプル周辺バスを初期化する
方法。 (13)前記周辺バスがPCIバスである上記(12)
に記載の情報処理システムにおいてマルチプル周辺バス
を初期化する方法。 (14)マルチプル・バス情報処理システムにおいてバ
ス・ツー・バス・ブリッジを初期化する方法であって、
変数の最小値を割当てるステップと、前記バスの各々の
下の階層に接続されたバスの数を計数し、各該階層に接
続された各該バスに対して識別番号を割当てる、各該バ
スについてのサブルーチンを呼出すステップと、前記サ
ブルーチンの各呼出しの後に、該サブルーチンが計数し
たバスの数により前記変数を増分するステップと、各前
記バスに対応する前記サブルーチンの前記呼出しの前に
前記変数の値に等しい第1の範囲の数を各前記バスに割
当てるステップと、各前記バスの下の前記階層に接続さ
れたバスの数に、各バスに対応する前記サブルーチンの
呼出しの前の前記変数の値を加算し、さらに1を減算し
た値に等しい第2の範囲の数を各該バスに割当てるステ
ップとを有するバス・ツー・バス・ブリッジを初期化す
る方法。 (15)前記サブルーチンが、前記階層の各前記バスに
ついて前記サブルーチンの呼出しを実行するステップ
と、前記サブルーチンの特定の呼出しが実行される前記
周辺バスの各々に対して、該特定の呼出しが実行される
前に前記変数に1を加算した値に等しい第1の範囲の値
を割当てるステップと、前記特定の呼出しが実行される
前に前記変数を1だけ増分させるステップと、前記サブ
ルーチンの呼出しが実行される各前記周辺バスに接続さ
れた周辺バスを計数するステップと、前記特定の呼出し
が実行された前記周辺バスに接続された周辺バスの数が
0に等しい場合、又は該サブルーチンの該特定の呼出し
が実行された該周辺バスに接続された全ての周辺バスに
ついて該サブルーチンの呼出しが実行された場合のいず
れかの場合にのみ該サブルーチンの該特定の呼出しから
戻るステップと、前記特定の呼出しが実行された前記周
辺バスに対して、該特定の呼出しから戻ってきた後の前
記変数に等しい第2の範囲の値を割当てるステップと、
前記階層の各前記周辺バスの直ぐ上の対応するバス・ツ
ー・バス・ブリッジ内の別々のレジスタに各該周辺バス
についての前記第1及び前記第2の範囲の値を書込むス
テップとを有する上記(14)に記載のバス・ツー・バ
ス・ブリッジを初期化する方法。 (16)各前記周辺バスについて前記サブルーチンの呼
出しが実行される前に、特定の周辺バスに接続された各
該周辺バスの前記第1及び前記第2の範囲の値に対して
一時的な値をセットするステップを含む上記(15)に
記載のバス・ツー・バス・ブリッジを初期化する方法。 (17)前記中央演算処理装置が各前記周辺バスに接続
された前記バス・ツー・バス・ブリッジ及び前記周辺装
置の各々に対してデータの読取り及び書込みが行えるよ
うに、該バス・ツー・バス・ブリッジ及び該周辺装置を
イネーブルにする該周辺バス上の信号を指示するテーブ
ルを各該周辺バスについて作成するステップを含む上記
(15)に記載のバス・ツー・バス・ブリッジを初期化
する方法。 (18)前記バスがPCIバスである上記(14)に記
載のバス・ツー・バス・ブリッジを初期化する方法。
リと、前記中央演算処理装置が前記システムメモリに対
してデータの読取り及び書込みを行えるように該中央演
算処理装置を該システムメモリに接続するシステムバス
と、周辺装置を接続することにより前記中央演算処理装
置が該周辺装置に対してデータの読取り及び書込みを行
えるように前記システムバスに接続される少なくとも1
つの周辺バスであって、前記少なくとも1つの周辺バス
が複数ある場合にはバス・ツー・バス・ブリッジにより
複数の同列及び階層の組合せで互いに接続されており、
前記システムバスに直接接続される該周辺バスは主周辺
バスであり、残りの該周辺バスは該主周辺バスの下の階
層のいずれかの層に配置されており、前記組合せが変更
可能であり、前記主周辺バスのそれぞれが、対応するホ
スト・ブリッジを介して前記システムバスに直接接続さ
れている、周辺バスと、前記中央演算処理装置が前記周
辺装置を構成するために全ての該周辺装置を位置付けで
きるような全ての該周辺装置のマップを作成すべく該中
央演算処理装置が実行し、かつ前記周辺バスの前記組合
せが変更される場合には書直すことなく該マップを変更
することができる、前記システムメモリに記憶されてい
るプログラムとを有する情報処理システム。 (2)前記プログラムが、前記主周辺バスの数を計数す
るステップと、最小値を変数に割当てるステップと、前
記主周辺バスの各々に接続された前記階層の各々におけ
る周辺バスの数を計数し、かつ該階層の各々に接続され
た各該周辺バスに識別番号を割当てるサブルーチンを該
主周辺バスの各々について呼出すステップと、前記サブ
ルーチンが計数したバスの数により、該サブルーチンの
各呼出しの後に前記変数を増分させるステップと、前記
主周辺バスに対応する前記サブルーチンの呼出し前の前
記変数の値に等しい第1の範囲の数を各主周辺バスに割
当てるステップと、前記主周辺バスに対応する前記階層
に接続されているバスの数に、各主周辺バスに対する前
記サブルーチンの呼出しの実行前の前記変数の値を加算
し、さらに1を減算した値に等しい第2の範囲の数を各
主周辺バスに割当てるステップとを含む上記(1)に記
載の情報処理システム。 (3)前記サブルーチンが、前記階層における前記周辺
バスの各々に対して前記サブルーチンを呼出し、かつ第
1の呼出しは前記主周辺バスに対して実行するステップ
と、前記サブルーチンの特定の呼出しが実行される前記
周辺バスの各々に対して、該特定の呼出しが実行される
前に前記変数に1を加算した値に等しい第1の範囲の値
を割当てるステップと、前記特定の呼出しが実行される
前に前記変数を1だけ増分させるステップと、前記サブ
ルーチンの呼出しが実行される各前記周辺バスに接続さ
れた周辺バスを計数するステップと、前記特定の呼出し
が実行された前記周辺バスに接続された周辺バスの数が
0に等しい場合、又は該サブルーチンの該特定の呼出し
が実行された該周辺バスに接続された全ての周辺バスに
ついて該サブルーチンの呼出しが実行された場合のいず
れかの場合にのみ該サブルーチンの該特定の呼出しから
戻るステップと、前記特定の呼出しが実行された前記周
辺バスに対して、該特定の呼出しから戻ってきた後の前
記変数に等しい第2の範囲の値を割当てるステップと、
前記階層の各前記周辺バスの直ぐ上の対応するバス・ツ
ー・バス・ブリッジ内の別々のレジスタに各該周辺バス
についての前記第1及び前記第2の範囲の値を書込むス
テップとを含む上記(2)に記載の情報処理システム。 (4)各前記周辺バスについて前記サブルーチンの呼出
しが実行される前に、特定の周辺バスに接続された各該
周辺バスの前記第1及び前記第2の範囲の値に対して一
時的な値をセットするステップを含む上記(3)に記載
の情報処理システム。 (5)前記中央演算処理装置が各前記周辺バスに接続さ
れた前記バス・ツー・バス・ブリッジ及び前記周辺装置
の各々に対してデータの読取り及び書込みが行えるよう
に、該バス・ツー・バス・ブリッジ及び該周辺装置をイ
ネーブルにする該周辺バス上の信号を指示するテーブル
を各該周辺バスについて作成するステップを含む上記
(3)に記載の情報処理システム。 (6)前記サブルーチンの前記特定の呼出しが実行され
る前記周辺バスに接続された前記周辺バスが、該サブル
ーチンの該特定の呼出しが実行される該周辺バスに接続
された前記バス・ツー・バス・ブリッジの数を計数する
ことにより計数される上記(3)に記載の情報処理シス
テム。 (7)前記バス・ツー・バス・ブリッジが、最下位ビッ
トをバイナリのハイレベルにセットした内部レジスタを
有し、該バス・ツー・バス・ブリッジが該最下位ビット
をサンプリングすることにより計数される上記(6)に
記載の情報処理システム。 (8)前記主周辺バスが、前記システム・バスに接続さ
れた前記ホスト・ブリッジの数を計数することにより計
数される上記(1)に記載の情報処理システム。 (9)各ビットが前記システムバスを介して前記ホスト
・ブリッジの1つに接続可能である複数のビットからな
るレジスタを含み、該ビットの1つがバイナリのハイレ
ベルである場合に該ホスト・ブリッジの1つがイネーブ
ルされることにより、前記中央演算処理装置が該ホスト
・ブリッジに対してデータの読取り及び書込みを行うこ
とができる上記(1)に記載の情報処理システム。 (10)前記周辺バスがPCIバスである上記(1)に
記載の情報処理システム。 (11)前記プログラムが、各前記主周辺バスの前記第
1及び第2の範囲の数を前記対応するホスト・ブリッジ
内の別々のレジスタに書込むステップを含む上記(2)
に記載の情報処理システム。 (12)中央演算処理装置を設けるステップと、システ
ムメモリを設けるステップと、前記中央演算処理装置が
前記システムメモリに対してデータの読取り及び書込み
を行えるように該中央演算処理装置を該システムメモリ
に接続するシステムバスを設けるステップと、周辺装置
を接続することにより前記中央演算処理装置が該周辺装
置に対してデータの読取り及び書込みを行えるように前
記システムバスに接続される少なくとも1つの周辺バス
を設けるステップであって、前記少なくとも1つの周辺
バスが複数ある場合にはバス・ツー・バス・ブリッジに
より複数の同列及び階層の組合せで互いに接続し、前記
システムバスに直接接続される該周辺バスは主周辺バス
であり、残りの該周辺バスは該主周辺バスの下の階層の
いずれかの層に配置されており、前記組合せを変更する
機能を有し、前記主周辺バスのそれぞれを、対応するホ
スト・ブリッジを介して前記システムバスに直接接続す
る、周辺バスを設けるステップと、前記中央演算処理装
置が前記周辺装置を構成するために全ての該周辺装置を
位置付けできるような全ての該周辺装置のマップを作成
すべく該中央演算処理装置が実行し、かつ前記周辺バス
の前記組合せが変更される場合には書直すことなく該マ
ップを変更する機能を含む、前記システムメモリに記憶
されているプログラムを設けるステップとを有する情報
処理システムにおいてマルチプル周辺バスを初期化する
方法。 (13)前記周辺バスがPCIバスである上記(12)
に記載の情報処理システムにおいてマルチプル周辺バス
を初期化する方法。 (14)マルチプル・バス情報処理システムにおいてバ
ス・ツー・バス・ブリッジを初期化する方法であって、
変数の最小値を割当てるステップと、前記バスの各々の
下の階層に接続されたバスの数を計数し、各該階層に接
続された各該バスに対して識別番号を割当てる、各該バ
スについてのサブルーチンを呼出すステップと、前記サ
ブルーチンの各呼出しの後に、該サブルーチンが計数し
たバスの数により前記変数を増分するステップと、各前
記バスに対応する前記サブルーチンの前記呼出しの前に
前記変数の値に等しい第1の範囲の数を各前記バスに割
当てるステップと、各前記バスの下の前記階層に接続さ
れたバスの数に、各バスに対応する前記サブルーチンの
呼出しの前の前記変数の値を加算し、さらに1を減算し
た値に等しい第2の範囲の数を各該バスに割当てるステ
ップとを有するバス・ツー・バス・ブリッジを初期化す
る方法。 (15)前記サブルーチンが、前記階層の各前記バスに
ついて前記サブルーチンの呼出しを実行するステップ
と、前記サブルーチンの特定の呼出しが実行される前記
周辺バスの各々に対して、該特定の呼出しが実行される
前に前記変数に1を加算した値に等しい第1の範囲の値
を割当てるステップと、前記特定の呼出しが実行される
前に前記変数を1だけ増分させるステップと、前記サブ
ルーチンの呼出しが実行される各前記周辺バスに接続さ
れた周辺バスを計数するステップと、前記特定の呼出し
が実行された前記周辺バスに接続された周辺バスの数が
0に等しい場合、又は該サブルーチンの該特定の呼出し
が実行された該周辺バスに接続された全ての周辺バスに
ついて該サブルーチンの呼出しが実行された場合のいず
れかの場合にのみ該サブルーチンの該特定の呼出しから
戻るステップと、前記特定の呼出しが実行された前記周
辺バスに対して、該特定の呼出しから戻ってきた後の前
記変数に等しい第2の範囲の値を割当てるステップと、
前記階層の各前記周辺バスの直ぐ上の対応するバス・ツ
ー・バス・ブリッジ内の別々のレジスタに各該周辺バス
についての前記第1及び前記第2の範囲の値を書込むス
テップとを有する上記(14)に記載のバス・ツー・バ
ス・ブリッジを初期化する方法。 (16)各前記周辺バスについて前記サブルーチンの呼
出しが実行される前に、特定の周辺バスに接続された各
該周辺バスの前記第1及び前記第2の範囲の値に対して
一時的な値をセットするステップを含む上記(15)に
記載のバス・ツー・バス・ブリッジを初期化する方法。 (17)前記中央演算処理装置が各前記周辺バスに接続
された前記バス・ツー・バス・ブリッジ及び前記周辺装
置の各々に対してデータの読取り及び書込みが行えるよ
うに、該バス・ツー・バス・ブリッジ及び該周辺装置を
イネーブルにする該周辺バス上の信号を指示するテーブ
ルを各該周辺バスについて作成するステップを含む上記
(15)に記載のバス・ツー・バス・ブリッジを初期化
する方法。 (18)前記バスがPCIバスである上記(14)に記
載のバス・ツー・バス・ブリッジを初期化する方法。
【0173】
【発明の効果】本発明により、マルチプル・バス・コン
ピュータ・システムの初期化のための予備マップを作成
するために用いられる方法及び装置が提供される。
ピュータ・システムの初期化のための予備マップを作成
するために用いられる方法及び装置が提供される。
【図1】マルチプル・バスを有する情報処理システムの
概略図である。
概略図である。
【図2】マルチプル・バスを有する情報処理システムの
概略図である。
概略図である。
【図3】マルチプル・バスを有する情報処理システムの
概略図である。
概略図である。
【図4】バス・ツー・バス・ブリッジのコンフィギュレ
ーション・ハードウェアノブロック図である。
ーション・ハードウェアノブロック図である。
【図5】バス・ツー・バス・ブリッジのコンフィギュレ
ーション・ハードウェアノブロック図である。
ーション・ハードウェアノブロック図である。
【図6】図4及び図5のバス・ツー・バス・ブリッジ内
のコンフィギュレーション・サイクル・デコード・ブロ
ックのブロック図である。
のコンフィギュレーション・サイクル・デコード・ブロ
ックのブロック図である。
【図7】図4及び図5のバス・ツー・バス・ブリッジ内
のコンフィギュレーション・サイクル・デコード・ブロ
ックのブロック図である。
のコンフィギュレーション・サイクル・デコード・ブロ
ックのブロック図である。
【図8】ホスト・ブリッジのコンフィギュレーション・
ハードウェアのブロック図である。
ハードウェアのブロック図である。
【図9】ホスト・ブリッジのコンフィギュレーション・
ハードウェアのブロック図である。
ハードウェアのブロック図である。
【図10】マルチプル・バス・ネットワークの予備マッ
プを与えるために用いられるソフトウェア・プログラム
の流れ図である。
プを与えるために用いられるソフトウェア・プログラム
の流れ図である。
【図11】マルチプル・バス・ネットワークの予備マッ
プを与えるために用いられるソフトウェア・プログラム
の流れ図である。
プを与えるために用いられるソフトウェア・プログラム
の流れ図である。
【図12】マルチプル・バス・ネットワークの予備マッ
プを与えるために用いられるソフトウェア・プログラム
の流れ図である。
プを与えるために用いられるソフトウェア・プログラム
の流れ図である。
【図13】図10乃至図12のソフトウェア・プログラ
ムにより呼出されるサブルーチンの流れ図である。
ムにより呼出されるサブルーチンの流れ図である。
【図14】図10乃至図12のソフトウェア・プログラ
ムにより呼出されるサブルーチンの流れ図である。
ムにより呼出されるサブルーチンの流れ図である。
【図15】図10乃至図12のソフトウェア・プログラ
ムにより呼出されるサブルーチンの流れ図である。
ムにより呼出されるサブルーチンの流れ図である。
【図16】図10乃至図12のソフトウェア・プログラ
ムにより呼出されるサブルーチンの流れ図である。
ムにより呼出されるサブルーチンの流れ図である。
【図17】典型的なPCIネットワークのブロック図で
ある。
ある。
10 情報処理システム 16 システム・バス 18 主PCI装置 20 PCIホスト・ブリッジ 22 主PCIバス 24 CPU 32 ベース・システムメモリ 80 PCI2次ブリッジ 96 2次PCIバス 94 2次PCI装置 150 コンフィギュレーション・レジスタ 152 コンフィギュレーション・サイクル・デコード
・ブロック 158、216 装置属性レジスタ 160、218 バス番号(BUS_NO)レジスタ 162、220 サブバス番号(SUB_BUS_N
O)レジスタ 170 PCIバス・アドレス・デコード・ブロック 172 PCIバス・サイクル変換ブロック 210 ホスト・ブリッジ・コンフィギュレーション・
サイクル・デコード・ブロック 212 サイクル変換ブロック
・ブロック 158、216 装置属性レジスタ 160、218 バス番号(BUS_NO)レジスタ 162、220 サブバス番号(SUB_BUS_N
O)レジスタ 170 PCIバス・アドレス・デコード・ブロック 172 PCIバス・サイクル変換ブロック 210 ホスト・ブリッジ・コンフィギュレーション・
サイクル・デコード・ブロック 212 サイクル変換ブロック
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カズシ・ヤマウチ アメリカ合衆国33496 フロリダ州、ボ カ・ラトン、ノース・ミリタリ・トレイ ル・ナンバー・フォーハンドレッドアンド ナイン 5507
Claims (18)
- 【請求項1】中央演算処理装置と、 システムメモリと、 前記中央演算処理装置が前記システムメモリに対してデ
ータの読取り及び書込みを行えるように該中央演算処理
装置を該システムメモリに接続するシステムバスと、 周辺装置を接続することにより前記中央演算処理装置が
該周辺装置に対してデータの読取り及び書込みを行える
ように前記システムバスに接続される少なくとも1つの
周辺バスであって、 前記少なくとも1つの周辺バスが複数ある場合にはバス
・ツー・バス・ブリッジにより複数の同列及び階層の組
合せで互いに接続されており、前記システムバスに直接
接続される該周辺バスは主周辺バスであり、残りの該周
辺バスは該主周辺バスの下の階層のいずれかの層に配置
されており、 前記組合せが変更可能であり、 前記主周辺バスのそれぞれが、対応するホスト・ブリッ
ジを介して前記システムバスに直接接続されている、周
辺バスと、 前記中央演算処理装置が前記周辺装置を構成するために
全ての該周辺装置を位置付けできるような全ての該周辺
装置のマップを作成すべく該中央演算処理装置が実行
し、かつ前記周辺バスの前記組合せが変更される場合に
は書直すことなく該マップを変更することができる、前
記システムメモリに記憶されているプログラムとを有す
る情報処理システム。 - 【請求項2】前記プログラムが、 前記主周辺バスの数を計数するステップと、 最小値を変数に割当てるステップと、 前記主周辺バスの各々に接続された前記階層の各々にお
ける周辺バスの数を計数し、かつ該階層の各々に接続さ
れた各該周辺バスに識別番号を割当てるサブルーチンを
該主周辺バスの各々について呼出すステップと、 前記サブルーチンが計数したバスの数により、該サブル
ーチンの各呼出しの後に前記変数を増分させるステップ
と、 前記主周辺バスに対応する前記サブルーチンの呼出し前
の前記変数の値に等しい第1の範囲の数を各主周辺バス
に割当てるステップと、 前記主周辺バスに対応する前記階層に接続されているバ
スの数に、各主周辺バスに対する前記サブルーチンの呼
出しの実行前の前記変数の値を加算し、さらに1を減算
した値に等しい第2の範囲の数を各主周辺バスに割当て
るステップとを含む請求項1に記載の情報処理システ
ム。 - 【請求項3】前記サブルーチンが、 前記階層における前記周辺バスの各々に対して前記サブ
ルーチンを呼出し、かつ第1の呼出しは前記主周辺バス
に対して実行するステップと、 前記サブルーチンの特定の呼出しが実行される前記周辺
バスの各々に対して、該特定の呼出しが実行される前に
前記変数に1を加算した値に等しい第1の範囲の値を割
当てるステップと、 前記特定の呼出しが実行される前に前記変数を1だけ増
分させるステップと、 前記サブルーチンの呼出しが実行される各前記周辺バス
に接続された周辺バスを計数するステップと、 前記特定の呼出しが実行された前記周辺バスに接続され
た周辺バスの数が0に等しい場合、又は該サブルーチン
の該特定の呼出しが実行された該周辺バスに接続された
全ての周辺バスについて該サブルーチンの呼出しが実行
された場合のいずれかの場合にのみ該サブルーチンの該
特定の呼出しから戻るステップと、 前記特定の呼出しが実行された前記周辺バスに対して、
該特定の呼出しから戻ってきた後の前記変数に等しい第
2の範囲の値を割当てるステップと、 前記階層の各前記周辺バスの直ぐ上の対応するバス・ツ
ー・バス・ブリッジ内の別々のレジスタに各該周辺バス
についての前記第1及び前記第2の範囲の値を書込むス
テップとを含む請求項2に記載の情報処理システム。 - 【請求項4】各前記周辺バスについて前記サブルーチン
の呼出しが実行される前に、特定の周辺バスに接続され
た各該周辺バスの前記第1及び前記第2の範囲の値に対
して一時的な値をセットするステップを含む請求項3に
記載の情報処理システム。 - 【請求項5】前記中央演算処理装置が各前記周辺バスに
接続された前記バス・ツー・バス・ブリッジ及び前記周
辺装置の各々に対してデータの読取り及び書込みが行え
るように、該バス・ツー・バス・ブリッジ及び該周辺装
置をイネーブルにする該周辺バス上の信号を指示するテ
ーブルを各該周辺バスについて作成するステップを含む
請求項3に記載の情報処理システム。 - 【請求項6】前記サブルーチンの前記特定の呼出しが実
行される前記周辺バスに接続された前記周辺バスが、該
サブルーチンの該特定の呼出しが実行される該周辺バス
に接続された前記バス・ツー・バス・ブリッジの数を計
数することにより計数される請求項3に記載の情報処理
システム。 - 【請求項7】前記バス・ツー・バス・ブリッジが、最下
位ビットをバイナリのハイレベルにセットした内部レジ
スタを有し、該バス・ツー・バス・ブリッジが該最下位
ビットをサンプリングすることにより計数される請求項
6に記載の情報処理システム。 - 【請求項8】前記主周辺バスが、前記システム・バスに
接続された前記ホスト・ブリッジの数を計数することに
より計数される請求項1に記載の情報処理システム。 - 【請求項9】各ビットが前記システムバスを介して前記
ホスト・ブリッジの1つに接続可能である複数のビット
からなるレジスタを含み、該ビットの1つがバイナリの
ハイレベルである場合に該ホスト・ブリッジの1つがイ
ネーブルされることにより、前記中央演算処理装置が該
ホスト・ブリッジに対してデータの読取り及び書込みを
行うことができる請求項1に記載の情報処理システム。 - 【請求項10】前記周辺バスがPCIバスである請求項
1に記載の情報処理システム。 - 【請求項11】前記プログラムが、 各前記主周辺バスの前記第1及び第2の範囲の数を前記
対応するホスト・ブリッジ内の別々のレジスタに書込む
ステップを含む請求項2に記載の情報処理システム。 - 【請求項12】中央演算処理装置を設けるステップと、 システムメモリを設けるステップと、 前記中央演算処理装置が前記システムメモリに対してデ
ータの読取り及び書込みを行えるように該中央演算処理
装置を該システムメモリに接続するシステムバスを設け
るステップと、 周辺装置を接続することにより前記中央演算処理装置が
該周辺装置に対してデータの読取り及び書込みを行える
ように前記システムバスに接続される少なくとも1つの
周辺バスを設けるステップであって、 前記少なくとも1つの周辺バスが複数ある場合にはバス
・ツー・バス・ブリッジにより複数の同列及び階層の組
合せで互いに接続し、前記システムバスに直接接続され
る該周辺バスは主周辺バスであり、残りの該周辺バスは
該主周辺バスの下の階層のいずれかの層に配置されてお
り、 前記組合せを変更する機能を有し、 前記主周辺バスのそれぞれを、対応するホスト・ブリッ
ジを介して前記システムバスに直接接続する、周辺バス
を設けるステップと、 前記中央演算処理装置が前記周辺装置を構成するために
全ての該周辺装置を位置付けできるような全ての該周辺
装置のマップを作成すべく該中央演算処理装置が実行
し、かつ前記周辺バスの前記組合せが変更される場合に
は書直すことなく該マップを変更する機能を含む、前記
システムメモリに記憶されているプログラムを設けるス
テップとを有する情報処理システムにおいてマルチプル
周辺バスを初期化する方法。 - 【請求項13】前記周辺バスがPCIバスである請求項
12に記載の情報処理システムにおいてマルチプル周辺
バスを初期化する方法。 - 【請求項14】マルチプル・バス情報処理システムにお
いてバス・ツー・バス・ブリッジを初期化する方法であ
って、 変数の最小値を割当てるステップと、 前記バスの各々の下の階層に接続されたバスの数を計数
し、各該階層に接続された各該バスに対して識別番号を
割当てる、各該バスについてのサブルーチンを呼出すス
テップと、 前記サブルーチンの各呼出しの後に、該サブルーチンが
計数したバスの数により前記変数を増分するステップ
と、 各前記バスに対応する前記サブルーチンの前記呼出しの
前に前記変数の値に等しい第1の範囲の数を各前記バス
に割当てるステップと、 各前記バスの下の前記階層に接続されたバスの数に、各
バスに対応する前記サブルーチンの呼出しの前の前記変
数の値を加算し、さらに1を減算した値に等しい第2の
範囲の数を各該バスに割当てるステップとを有するバス
・ツー・バス・ブリッジを初期化する方法。 - 【請求項15】前記サブルーチンが、 前記階層の各前記バスについて前記サブルーチンの呼出
しを実行するステップと、 前記サブルーチンの特定の呼出しが実行される前記周辺
バスの各々に対して、該特定の呼出しが実行される前に
前記変数に1を加算した値に等しい第1の範囲の値を割
当てるステップと、 前記特定の呼出しが実行される前に前記変数を1だけ増
分させるステップと、 前記サブルーチンの呼出しが実行される各前記周辺バス
に接続された周辺バスを計数するステップと、 前記特定の呼出しが実行された前記周辺バスに接続され
た周辺バスの数が0に等しい場合、又は該サブルーチン
の該特定の呼出しが実行された該周辺バスに接続された
全ての周辺バスについて該サブルーチンの呼出しが実行
された場合のいずれかの場合にのみ該サブルーチンの該
特定の呼出しから戻るステップと、 前記特定の呼出しが実行された前記周辺バスに対して、
該特定の呼出しから戻ってきた後の前記変数に等しい第
2の範囲の値を割当てるステップと、 前記階層の各前記周辺バスの直ぐ上の対応するバス・ツ
ー・バス・ブリッジ内の別々のレジスタに各該周辺バス
についての前記第1及び前記第2の範囲の値を書込むス
テップとを有する請求項14に記載のバス・ツー・バス
・ブリッジを初期化する方法。 - 【請求項16】各前記周辺バスについて前記サブルーチ
ンの呼出しが実行される前に、特定の周辺バスに接続さ
れた各該周辺バスの前記第1及び前記第2の範囲の値に
対して一時的な値をセットするステップを含む請求項1
5に記載のバス・ツー・バス・ブリッジを初期化する方
法。 - 【請求項17】前記中央演算処理装置が各前記周辺バス
に接続された前記バス・ツー・バス・ブリッジ及び前記
周辺装置の各々に対してデータの読取り及び書込みが行
えるように、該バス・ツー・バス・ブリッジ及び該周辺
装置をイネーブルにする該周辺バス上の信号を指示する
テーブルを各該周辺バスについて作成するステップを含
む請求項15に記載のバス・ツー・バス・ブリッジを初
期化する方法。 - 【請求項18】前記バスがPCIバスである請求項14
に記載のバス・ツー・バス・ブリッジを初期化する方
法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/070,134 US5542055A (en) | 1993-05-28 | 1993-05-28 | System for counting the number of peripheral buses in each hierarch connected to primary bus for creating map of peripheral buses to locate peripheral devices |
| US070134 | 1993-05-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06348642A true JPH06348642A (ja) | 1994-12-22 |
Family
ID=22093350
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6109229A Pending JPH06348642A (ja) | 1993-05-28 | 1994-05-24 | マルチプル・バス・ネットワークの初期化方法及びその装置 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5542055A (ja) |
| EP (1) | EP0631241B1 (ja) |
| JP (1) | JPH06348642A (ja) |
| KR (1) | KR970008192B1 (ja) |
| BR (1) | BR9402106A (ja) |
| CA (1) | CA2124618A1 (ja) |
| DE (1) | DE69421755T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100486244B1 (ko) * | 2001-10-16 | 2005-05-03 | 삼성전자주식회사 | 직렬 이이피롬을 이용하여 인터페이스용 카드를초기화하는 반도체 장치 및 초기화 방법 |
Families Citing this family (121)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1995022106A1 (en) * | 1994-02-10 | 1995-08-17 | Elonex Technologies, Inc. | I/o decoder map |
| GB2287106A (en) * | 1994-02-16 | 1995-09-06 | Ibm | Connection of adaptors for multiple bus architectures |
| US5805834A (en) * | 1994-03-30 | 1998-09-08 | Zilog, Inc. | Hot reconfigurable parallel bus bridging circuit |
| US5787246A (en) * | 1994-05-27 | 1998-07-28 | Microsoft Corporation | System for configuring devices for a computer system |
| US6763454B2 (en) * | 1994-05-27 | 2004-07-13 | Microsoft Corp. | System for allocating resources in a computer system |
| US5623610A (en) * | 1994-10-31 | 1997-04-22 | Intel Corporation | System for assigning geographical addresses in a hierarchical serial bus by enabling upstream port and selectively enabling disabled ports at power on/reset |
| WO1996038784A1 (en) * | 1995-06-02 | 1996-12-05 | Systemsoft Corporation | Digital data processing method and apparatus for peripheral device control |
| US5812799A (en) * | 1995-06-07 | 1998-09-22 | Microunity Systems Engineering, Inc. | Non-blocking load buffer and a multiple-priority memory system for real-time multiprocessing |
| US5838935A (en) * | 1995-06-15 | 1998-11-17 | Intel Corporation | Method and apparatus providing programmable decode modes for secondary PCI bus interfaces |
| US5696949A (en) * | 1995-06-15 | 1997-12-09 | Intel Corporation | System for PCI slots expansion using asynchronous PCI-to-PCI bridge with clock generator for providing clock signal to the expansion mother board and expansion side of bridge |
| US5793953A (en) | 1995-07-07 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for allowing packet data to be separated over multiple bus targets |
| US5632021A (en) * | 1995-10-25 | 1997-05-20 | Cisco Systems Inc. | Computer system with cascaded peripheral component interconnect (PCI) buses |
| US5673399A (en) * | 1995-11-02 | 1997-09-30 | International Business Machines, Corporation | System and method for enhancement of system bus to mezzanine bus transactions |
| US5822545A (en) * | 1995-12-04 | 1998-10-13 | Cypress Semiconductor Corp. | Method and apparatus for eliminating electromagnetic interference and noise caused by all unnecessary switching/toggling of bus signals |
| US5778197A (en) * | 1996-04-26 | 1998-07-07 | International Business Machines Corp. | Method for allocating system resources in a hierarchical bus structure |
| US6467046B1 (en) * | 1996-05-06 | 2002-10-15 | Sun Microsystems, Inc. | System and method for automatically distributing copies of a replicated database in a computer system |
| US5881254A (en) * | 1996-06-28 | 1999-03-09 | Lsi Logic Corporation | Inter-bus bridge circuit with integrated memory port |
| US5937174A (en) * | 1996-06-28 | 1999-08-10 | Lsi Logic Corporation | Scalable hierarchial memory structure for high data bandwidth raid applications |
| US5761448A (en) * | 1996-08-30 | 1998-06-02 | Ncr Corporation | Physical-to-logical bus mapping scheme for computer systems having multiple PCI bus configuration |
| US6125418A (en) * | 1996-11-27 | 2000-09-26 | Compaq Computer Corporation | Method and apparatus for enabling a computer user to convert a computer system to an intelligent I/O system |
| US5815677A (en) * | 1996-12-31 | 1998-09-29 | Compaq Computer Corporation | Buffer reservation method for a bus bridge system |
| US5890011A (en) * | 1997-01-27 | 1999-03-30 | International Business Machines Corporation | Method and system for dynamically translating bus addresses within a computer system |
| 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 |
| 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 |
| 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 |
| US6163853A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method for communicating a software-generated pulse waveform between two servers in a network |
| US6122758A (en) * | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
| US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
| US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
| 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 |
| US6163849A (en) * | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
| US5987554A (en) * | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
| US6195717B1 (en) * | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
| US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
| 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 |
| 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 |
| 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 |
| US6182180B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Apparatus for interfacing buses |
| US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
| 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 |
| US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
| US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
| US6247079B1 (en) * | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc | Apparatus for computer implemented hot-swap and hot-add |
| US6269412B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Apparatus for recording information system events |
| US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
| US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
| US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
| US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
| US6249834B1 (en) * | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
| 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 |
| 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 |
| 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 |
| US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
| 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 |
| US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
| US6189109B1 (en) | 1997-05-13 | 2001-02-13 | Micron Electronics, Inc. | Method of remote access and control of environmental conditions |
| US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
| US5878237A (en) * | 1997-07-11 | 1999-03-02 | Compaq Computer Corp. | Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses |
| 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 |
| US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
| 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 |
| US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
| US6418493B1 (en) * | 1997-12-29 | 2002-07-09 | Intel Corporation | Method and apparatus for robust addressing on a dynamically configurable bus |
| JP4019482B2 (ja) * | 1998-01-23 | 2007-12-12 | ソニー株式会社 | 通信システム及びブリッジ装置 |
| DE59914063D1 (de) * | 1998-01-29 | 2007-02-01 | Infineon Technologies Ag | Anordnung und Verfahren zum Bereitstellen von Daten zur Charakterisierung von verschiedenen Einheiten an einem Bussystem |
| US6094699A (en) * | 1998-02-13 | 2000-07-25 | Mylex Corporation | Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller |
| JPH11238030A (ja) * | 1998-02-20 | 1999-08-31 | Mitsubishi Electric Corp | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
| US6233638B1 (en) | 1998-03-20 | 2001-05-15 | Micron Electronics, Inc. | System for configuring peer devices |
| US6122677A (en) * | 1998-03-20 | 2000-09-19 | Micron Technology, Inc. | Method of shortening boot uptime in a computer system |
| US6349353B1 (en) * | 1998-05-08 | 2002-02-19 | Sun Microsystems, Inc. | System and method for detecting and routing between an optional plug-in controller and multiple fixed peripheral backplanes |
| US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
| US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
| US6070214A (en) * | 1998-08-06 | 2000-05-30 | Mobility Electronics, Inc. | Serially linked bus bridge for expanding access over a first bus to a second bus |
| US7734852B1 (en) | 1998-08-06 | 2010-06-08 | Ahern Frank W | Modular computer system |
| US6088752A (en) * | 1998-08-06 | 2000-07-11 | Mobility Electronics, Inc. | Method and apparatus for exchanging information between buses in a portable computer and docking station through a bridge employing a serial link |
| US7269680B1 (en) * | 1998-08-06 | 2007-09-11 | Tao Logic Systems Llc | System enabling device communication in an expanded computing device |
| US6223239B1 (en) * | 1998-08-12 | 2001-04-24 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port or system area network interface |
| US6119191A (en) * | 1998-09-01 | 2000-09-12 | International Business Machines Corporation | Performing PCI access cycles through PCI bridge hub routing |
| CN1168011C (zh) * | 1999-12-02 | 2004-09-22 | 因芬尼昂技术股份公司 | 具有加密的微处理装置 |
| EP1653373B1 (en) | 2000-02-14 | 2013-11-13 | Tao Logic Systems LLC | Bus bridge |
| JP2003523575A (ja) | 2000-02-14 | 2003-08-05 | モビラティ、イレクトラニクス、インク | 結合システムおよび方法 |
| US6594719B1 (en) | 2000-04-19 | 2003-07-15 | Mobility Electronics Inc. | Extended cardbus/pc card controller with split-bridge ™technology |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US20030131167A1 (en) * | 2001-12-20 | 2003-07-10 | Rankin Linda J. | Node ID discovery |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US6907510B2 (en) * | 2002-04-01 | 2005-06-14 | Intel Corporation | Mapping of interconnect configuration space |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US7313643B2 (en) * | 2004-02-17 | 2007-12-25 | Nec Electronics America, Inc. | PCI-express to PCI/PCI X translator |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US7332976B1 (en) * | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| JP4774099B2 (ja) * | 2006-02-27 | 2011-09-14 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US20080201514A1 (en) * | 2007-02-21 | 2008-08-21 | Inventec Corporation | Method of locating peripheral component interconnect devices |
| US8092083B2 (en) * | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US8040266B2 (en) * | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US8572297B2 (en) * | 2007-04-17 | 2013-10-29 | Cypress Semiconductor Corporation | Programmable system-on-chip hub |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| US20090077297A1 (en) * | 2007-09-14 | 2009-03-19 | Hongxiao Zhao | Method and system for dynamically reconfiguring PCIe-cardbus controllers |
| JP5180729B2 (ja) * | 2008-08-05 | 2013-04-10 | 株式会社日立製作所 | 計算機システム及びバス割当方法 |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| CN102141967B (zh) * | 2010-11-02 | 2013-04-24 | 华为技术有限公司 | 总线时序参数配置方法和装置 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4660141A (en) * | 1983-12-06 | 1987-04-21 | Tri Sigma Corporation | Self configuring computer network with automatic bus exchange of module identification numbers and processor assigned module numbers |
| US4754488A (en) * | 1984-12-07 | 1988-06-28 | International Business Machines Corporation | Method for ascertaining and filling of bounded areas of a colored raster display |
| US4855899A (en) * | 1987-04-13 | 1989-08-08 | Prime Computer, Inc. | Multiple I/O bus virtual broadcast of programmed I/O instructions |
| GB8817288D0 (en) * | 1988-07-20 | 1988-08-24 | Racal Milgo Ltd | Methods of & networks for information communication |
| US4868814A (en) * | 1988-07-22 | 1989-09-19 | Allied-Signal Inc. | Multilevel concurrent communications architecture for multiprocessor computer systems |
| US4912633A (en) * | 1988-10-24 | 1990-03-27 | Ncr Corporation | Hierarchical multiple bus computer architecture |
| EP0443876A3 (en) * | 1990-02-23 | 1992-01-02 | Kabushiki Kaisha Toshiba | Computer system capable of connecting expansion unit |
| US5249261A (en) * | 1990-02-26 | 1993-09-28 | International Business Machines Corporation | Failure history table for optimizing backtrack searches |
| EP0473276B1 (en) * | 1990-08-31 | 1996-12-18 | Advanced Micro Devices, Inc. | Integrated digital processing apparatus |
| FR2676558B1 (fr) * | 1991-05-15 | 1993-07-23 | Opticable | Procede pour determiner automatiquement la configuration d'un reseau. |
| US5359715A (en) * | 1991-09-16 | 1994-10-25 | Ncr Corporation | Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces |
| US5379384A (en) * | 1992-06-05 | 1995-01-03 | Intel Corporation | Configuration data loopback in a bus bridge circuit |
-
1993
- 1993-05-28 US US08/070,134 patent/US5542055A/en not_active Expired - Fee Related
-
1994
- 1994-05-24 JP JP6109229A patent/JPH06348642A/ja active Pending
- 1994-05-25 EP EP94303780A patent/EP0631241B1/en not_active Expired - Lifetime
- 1994-05-25 DE DE69421755T patent/DE69421755T2/de not_active Expired - Fee Related
- 1994-05-26 KR KR94011541A patent/KR970008192B1/ko not_active Expired - Fee Related
- 1994-05-27 BR BR9402106A patent/BR9402106A/pt not_active IP Right Cessation
- 1994-05-30 CA CA002124618A patent/CA2124618A1/en not_active Abandoned
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100486244B1 (ko) * | 2001-10-16 | 2005-05-03 | 삼성전자주식회사 | 직렬 이이피롬을 이용하여 인터페이스용 카드를초기화하는 반도체 장치 및 초기화 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69421755T2 (de) | 2000-06-21 |
| EP0631241A1 (en) | 1994-12-28 |
| KR970008192B1 (en) | 1997-05-21 |
| DE69421755D1 (de) | 1999-12-30 |
| BR9402106A (pt) | 1994-12-13 |
| EP0631241B1 (en) | 1999-11-24 |
| US5542055A (en) | 1996-07-30 |
| CA2124618A1 (en) | 1994-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06348642A (ja) | マルチプル・バス・ネットワークの初期化方法及びその装置 | |
| US6073206A (en) | Method for flashing ESCD and variables into a ROM | |
| US5448703A (en) | Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus | |
| US8386654B2 (en) | System and method for transforming PCIe SR-IOV functions to appear as legacy functions | |
| US5761458A (en) | Intelligent bus bridge for input/output subsystems in a computer system | |
| US5729767A (en) | System and method for accessing peripheral devices on a non-functional controller | |
| US5522086A (en) | Software configurable ISA bus card interface with security access read and write sequence to upper data bits at addresses used by a game device | |
| KR100764921B1 (ko) | 장치 이뉴머레이션을 위한 가상 rom | |
| CN1185220A (zh) | 具有用于pci总线计算机的可编程配置寄存器的内插式板卡 | |
| US5341494A (en) | Memory accessing system with an interface and memory selection unit utilizing write protect and strobe signals | |
| CN117827449B (zh) | 服务器的物理内存扩展架构、服务器、方法、设备及介质 | |
| US7080164B2 (en) | Peripheral device having a programmable identification configuration register | |
| US6336158B1 (en) | Memory based I/O decode arrangement, and system and method using the same | |
| US20060253694A1 (en) | Peripheral device with hardware linked list | |
| US11372792B1 (en) | Automatic bus resource adjustment in a multiple root bridge computing system | |
| US5928338A (en) | Method for providing temporary registers in a local bus device by reusing configuration bits otherwise unused after system reset | |
| US7752429B2 (en) | Computer system and boot code accessing method thereof | |
| TWI245222B (en) | Accessing configuration registers by automatically changing an index | |
| US8219736B2 (en) | Method and apparatus for a data bridge in a computer system | |
| US5751998A (en) | Memory accessing system with portions of memory being selectively write protectable and relocatable based on predefined register bits and memory selection RAM outputs | |
| US6970986B1 (en) | Software based system and method for I/O chip hiding of processor based controllers from operating system | |
| US7103767B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
| EP0426386A2 (en) | Data destination facility | |
| US6560698B1 (en) | Register change summary resource | |
| JPS5856277A (ja) | 情報処理装置ならびに方法 |