JPH1049475A - 階層バス構造内のシステム資源の割振り方法 - Google Patents

階層バス構造内のシステム資源の割振り方法

Info

Publication number
JPH1049475A
JPH1049475A JP9096134A JP9613497A JPH1049475A JP H1049475 A JPH1049475 A JP H1049475A JP 9096134 A JP9096134 A JP 9096134A JP 9613497 A JP9613497 A JP 9613497A JP H1049475 A JPH1049475 A JP H1049475A
Authority
JP
Japan
Prior art keywords
pci
bus
address space
address
resource
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.)
Granted
Application number
JP9096134A
Other languages
English (en)
Other versions
JP3234794B2 (ja
Inventor
Scott Neil Dunham
スコット・ネイル・ダンハム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1049475A publication Critical patent/JPH1049475A/ja
Application granted granted Critical
Publication of JP3234794B2 publication Critical patent/JP3234794B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Abstract

(57)【要約】 【課題】 あらゆる高位ブリッジに従属する装置および
下位PCI−PCIブリッジがあればそのアドレス資源
要求を、各装置および各低位ブリッジからのアドレス資
源要求情報があればそれを受信することによって決定す
ることによる、多階層バス構造を有するコンピュータ・
システムへのシステム資源の割振りの提供。 【解決手段】 特定アドレス割振りを必要とする装置お
よび低位ブリッジの資源アドレス要求のアドレス値を昇
順で分類する。次いで、不特定アドレス割振りを伴う装
置および低位ブリッジの資源アドレス要求のサイズを降
順で分類する。最後に、分類したリストをファースト・
フィット・アルゴリズムでグループ化して、バス階層内
の各装置への資源割振りを決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パーソナル・コン
ピュータ・システムに関し、より具体的には階層バス構
造を有するコンピュータ・システムにおけるシステム資
源の割振りに関する。
【0002】
【従来の技術】コンピュータ・システムの中には、シス
テムや中央演算処理装置(CPU)に接続される様々の
装置との通信をもたらすための複数のバスを含むものが
ある。典型的なコンピュータ・システムに与えられる様
々なタイプのバスの例としては、ホストCPUを接続す
るシステム・バスや1つまたは複数の周辺装置を接続す
る1つまたは複数の周辺バスなどがある。ただし、ある
バスに接続された装置が別のバス上にある装置との間で
情報の読取りまたは書込みを行う必要がある場合には、
異なるバス上でのシステム全体にわたる通信が必要であ
る。所与のコンピュータ・システムを構成するには、様
々なタイプのバスを利用することができる。こうしたバ
スで広く普及し始めているものの1つにPCI(Periph
eral Component Interconnect)バスがあり、これは比
較的短時間で大量のデータ転送を行うことができる。P
CIバスは、一部にはCPUを接続できるシステム・バ
スなどの他の高速バスに直接リンクできることによりこ
の高水準の性能を実現しており、そのためPCIバスに
接続された装置とシステム・バスに接続された装置との
間の高速データ転送を実現することができる。実際に、
ある種のグラフィックス・パッケージ・コントローラな
どのいくつかの高統合型装置の動作には、PCIバスな
どの高性能バスを介したシステム・バスとの直接的なリ
ンクが必要である。その上、PCIバス・アーキテクチ
ャは、そこに接続する周辺装置を操作するのに「グルー
・ロジック」を必要としない。典型的な場合では、他の
バスのためのグルー・ロジックは、デコーダ、バッフ
ァ、ラッチなどの種々のハードウェア構成要素からな
り、周辺装置やバスに直接取り付けられる。1次PCI
バスは、33MHZの同期クロック信号で動作してお
り、またPCIバス上で伝送されるデータ・ストリング
は32ビット幅である。PCIバス上の32ビット・デ
ータ・ストリングは、ダブルワード(DWORD)と呼
ばれ、それぞれ8ビットのデータを含む4バイトに分割
される。PCIバスが搬送するアドレス情報およびデー
タ情報は、1つの信号に多重化される。多重化によりア
ドレス線とデータ線を別々にする必要がなくなり、他の
バス・アーキテクチャとは対照的に、PCIバス環境に
必要な信号量は削減される。PCIバス・アーキテクチ
ャに必要な信号数は45〜47の間であるが、典型的な
場合では非多重化バスはこの2倍の数を必要とする。そ
れに応じて、信号数が削減されるため、PCIバスにリ
ンクする装置をサポートするのに必要な接続ピンの数
も、これと対応する数だけ削減される。したがって、P
CIアーキテクチャは、高統合型デスクトップ・コンピ
ュータ・システムに特に適している。
【0003】PCIバス・アーキテクチャの構造および
動作のより詳しい説明は、1993年4月30日に発行
された「Peripheral Component Interconnect(PCI) Rev
ision 2.0 Specification」、ならびにPCI Special Int
erest Groupによって1992年11月1日に発行され
た「Preliminary PCI System Design Guide」Revision
0.6に記述されており、その内容(以下PCI仕様と呼
ぶ)は必要により参照されたい。
【0004】異なるバス上にある装置間でシステム全体
にわたる通信を行うには、あるバスの通信プロトコルを
別のバスのものと整合させるためのバス−バス・ブリッ
ジを提供する。一般に、複数バス・コンピュータ・シス
テムでは、バス−バス・ブリッジを用いて2つのバスを
互いに結合する。したがって、ホストCPUバスとPC
Iバスとを結合する際はCPU−PCIバス・ブリッジ
を用いるが、2つのPCIバスを互いに結合する際には
PCI−PCIブリッジを用いる。
【0005】より高い信頼性と性能に関するユーザの要
求(たとえばサーバなどの場合)を満たすために、パー
ソナル・コンピュータ・システムは、より多く、かつよ
り高速なプロセッサ、より高速なネットワーク、より高
速なデータ記憶およびデータ冗長性を伴って構築され
る。より高性能のコンピュータ・システムをサポートす
るために、PCI−PCIバス・ブリッジを介して複数
のPCIバスを階層順で互いに結合するような場合に
は、多階層バス・アーキテクチャが採用される。階層内
の各PCI−PCIブリッジは、高位PCIバスまたは
上位PCIバスを低位PCIバスまたは下位PCIバス
に接続する。この構成をとると、1つまたは複数の装置
を各階層で上位バスまたは下位バスに接続することがで
きる。PCI対応の装置は、PCIバスに直接接続する
ことができる。これに対して、ISA装置などの他の装
置は、ISA−PCIバス・ブリッジング・ロジックを
介してPCIバスに結合することができる。バス階層に
接続される各装置は、入出力用アドレス空間、メモリ用
アドレス空間、先取り可能メモリ用アドレス空間など
の、事前に定義した量のシステム資源を必要とする。サ
イズ、配置、開始アドレスなどのシステム資源に関する
パラメータにより、装置に対する特定のシステム資源の
アドレス空間の割振り方法が決定される。Industry Sta
ndard Architecture(ISA)対応のものなどのいくつ
かの装置では、1メガバイト未満のアドレス領域、読取
り専用メモリ(ROM)アドレス空間、およびIRQ割
振りが必要になる可能性がある。これに対して、PCI
対応の装置などの他の装置は特定のセグメントに制限さ
れることがなく、したがってPCIアーキテクチャが持
つ4ギガバイトのアドレス空間内の任意の場所に資源を
割り振ることができる。
【0006】
【発明が解決しようとする課題】したがって、各装置の
特定のシステム要求(requirement)を考慮することに
より、バスに接続されたすべての装置にシステム資源を
割り振る方法が必要である。周知のように、PCI−P
CIブリッジの後にあるすべての装置へのメモリ用アド
レス空間または入出力用アドレス空間の割振りは、各資
源のタイプに対して1つのウィンドウ内に含めなければ
ならない。各PCI−PCIブリッジは、資源ウインド
ウを指定するための1組のレジスタを含んでおり、それ
によってブリッジは関連付けられたバスに対する応答や
転送を行う。PCI−PCIブリッジが別の上位PCI
−PCIブリッジの後に従属的に接続されている場合、
下位ブリッジの後にある装置(CPUから最も遠いPC
Iバスに接続された装置)への資源割振りは、非並行グ
ループの中に含めなければならず、これらのグループ
は、上位PCI−PCIブリッジの後にある1つのグル
ープに結合しなければならない。さらに、システム資源
の割振りは、そのアドレス空間を浪費しないような形で
厳密に行わなければならない。
【0007】システム資源は、装置の要求の如何にかか
わらず、固定サイズ・ベースで割り振ることができる。
しかしながら、このような手法を用いるとアドレス空間
の浪費につながる可能性が高い。これに対して、複雑な
グループ化手法を行う場合、コンピュータ・システムの
ためのこうした複雑なグループ化手法にはかなりの処理
時間が必要なため、セットアップ時間が長くなる可能性
がある。したがって、多階層PCIバス・アーキテクチ
ャに必要な資源を割り振るための簡単で高速かつ効率的
な方法が必要である。
【0008】
【課題を解決するための手段】簡単に言うと、本発明に
よれば、多階層バス構造を有するコンピュータ・システ
ム内のシステム資源は、各装置および各低位ブリッジか
らのアドレス資源要求情報があればそれを受信すること
により、あらゆる高位ブリッジに従属する装置および下
位PCI−PCIブリッジのアドレス資源要求を決定す
ることによって割り振られる。その後、特定アドレス割
振りが必要な装置および下位ブリッジの資源アドレス要
求の値を昇順で分類する。次いで、不特定アドレス割振
りを伴う装置および下位ブリッジの資源アドレス要求の
配置を降順で分類する。最後に、分類したリストをファ
ースト・フィット・アルゴリズムでグループ化してバス
階層内の各バスへの資源割振りを決定する。
【0009】
【発明の実施の形態】図1に、多階層PCIバス・アー
キテクチャを有するコンピュータ・システム10の例示
的かつ簡略化したブロック図を示す。この例示的システ
ムでは、共にホスト・バス(または1次バス)16に結
合された1つまたは複数の中央演算処理装置(CPU)
12およびメモリ14は、周知のホスト−PCIバス・
ブリッジ18を介してPCIバス19とのインターフェ
ースをとる。CPUは、Intel(R)社が製造する
Pentium(R)プロセッサなどの多くの周知の処
理装置の1つを具備することができる。ホスト・バス1
6は、プロセッサ独自の信号を伝導する。ホストCPU
−PCIバス・ブリッジ18は、バス16のプロセッサ
独自の信号をPCIバス19の標準信号に変換する。
【0010】この構成では、PCIバス19は、コンピ
ュータ・システム10の階層序列の中で最も高位のPC
Iバスである。PCIバス19は、PCI−PCIバス
・ブリッジ22および24を介して2つの下位バス23
および25にそれぞれ結合される。PCI装置30およ
び38も同様に、PCIバス23および25にそれぞれ
接続される。また、PCIバス19にはPCI装置20
および26が接続され、これはコンピュータ・システム
10が表示するビデオ信号の処理用のビデオ・グラフィ
ックス・コントローラのような装置を具備することがで
きる。コンピュータ・システム10の実施例にはまた、
階層バス構造に接続した非PCI装置を含めることもで
きる。図示したように、バス19に接続した装置の1つ
は、ISAバス35とPCI−ISAブリッジ34を介
してPCIバス19に接続されたISA装置44を具備
する。ただし、周知のように、PCI−ISAブリッジ
34とそれに関連するISA装置44はPCIバス19
からはPCI装置として見え、したがってそのように扱
われる。
【0011】PCI−PCIブリッジ28および36
は、PCIバス23および25を低位にある下位PCI
バス29および39にそれぞれ結合する。この構成で
は、PCIバス29および39はシステム10の最下位
バスを具備する。図示したように、7つのPCI装置お
よび非PCI装置32(A)ないし32(G)および4
0(A)ないし40(G)の集合は、最下位PCIバス
29および39に接続される。
【0012】上述のとおり、バス階層はPCIアーキテ
クチャと互換性があり、好ましい実施例では、プロセッ
サ複合体12は32ビット・アドレスを送出する1つ
(または複数の)マイクロプロセッサを含む。コンピュ
ータ・システム10はそれ自体として、4ギガバイトの
アドレス空間をアドレス指定することができる。PCI
標準では、PCIバスに接続される各装置に割り振るこ
とができる特定の資源を定義している。これらの資源
は、入出力用アドレス資源、メモリ用アドレス資源、お
よび先取り可能メモリ用アドレス資源を具備する。各P
CI装置の資源要求は、PCI仕様に定義されている2
つのパラメータ、すなわち1)所要サイズ、および2)
配置要求を含む。サイズにより装置が必要とするメモリ
資源の量を指定し、配置により装置への割振りの境界を
指定する。各装置の所要サイズおよび配置要求は、PC
I仕様に略述されているとおり、装置の基底アドレス・
レジスタ(BAR)との間で書込みおよび読取りを行う
ことによって決定することができる。PCI標準によ
り、これらの資源のそれぞれ対して、PCI−PCIブ
リッジは基底レジスタや限界レジスタを含む1組のレジ
スタを利用する。したがって、その資源に対するPCI
−PCIブリッジはそれぞれ、1組の入出力用基底レジ
スタおよび入出力用限界レジスタ、メモリ用基底レジス
タおよびメモリ用限界レジスタ、ならびに先取り可能メ
モリ用基底レジスタおよび先取り可能メモリ用限界レジ
スタを含む。これらのレジスタは、基底アドレスと、各
ブリッジが特定の資源要求に応答する範囲を指定する値
を保持する。したがって、各ブリッジはシステム10の
階層バス構造上のウィンドウを表しており、その中では
アドレスに応答し、それを超えるとアドレスを無視す
る。
【0013】上述のとおり、コンピュータ・システム1
0では、その階層バス構造にPCI装置ならびに継承装
置が与えられている。継承装置とは、ISAプロトコル
などの既存のバス・プロトコルと互換性がある装置を指
す。PCI仕様では、継承装置を識別するための1組の
クラス・コード・レジスタ(CCR)を定義している。
【0014】継承装置ならびにPCI装置は、特定また
は不特定のシステム資源要求を有することができる。装
置が特定の資源要求を有する場合、こうした仕様はシス
テム特有の方法で決定することができる。特定のシステ
ム資源要求は、固定配線装置特有の設定か、あるいはシ
ステム・ユーザによる1つまたは複数の装置の資源割振
り要求の指定を可能にするインターフェース・ユーティ
リティによって決定することができる。たとえば、特定
の継承装置を、ISA標準に定義されている64Kバイ
トの入出力用アドレス空間内の特定アドレスに応答する
ように固定配線することができる。あるいは、装置イン
ターフェース・ユーティリティを用いて、ユーザがプロ
グラムしたアドレス空間に応答するように装置をプログ
ラムすることもできる。
【0015】動作の開始と同時に、コンピュータ・シス
テムは初期設定マイクロコードを実行してPCIバスと
CPUへのブリッジを識別する。PCIバスとブリッジ
は、事前に定義したアルゴリズムに基づいてこのような
PCIバスやブリッジに番号を付けることによって識別
される。識別した後は、CPUはPCI標準に定義され
ているプロトコルを用いて、各PCIバスに接続された
ブリッジおよび装置からの情報要求を開始することがで
きる。マイクロコードの実行の際、CPUはまた、特定
システム資源要求を伴う装置の識別も行う。特定システ
ム資源要求は、各装置の構成情報の一部である。このよ
うな構成情報は一般に、不揮発性RAM(NVRAM)
内に記憶され、CPUによる装置特有の資源要求の決定
のためのアクセスが可能である。
【0016】概して、本発明によれば、コンピュータ・
システム10は、高位バスに従属する装置および低位P
CI−PCIブリッジのアドレス資源要求を決定するこ
とによってシステム資源を割り振る。前述のとおり、各
装置および各低位ブリッジからアドレス資源要求情報を
受信することによって資源アドレス要求を決定する。そ
の後、特定アドレス割振りを伴う装置および低位ブリッ
ジのアドレス空間要求の値を昇順で分類する。次いで、
不特定アドレス割振りを伴う装置および低位ブリッジの
資源アドレス要求の配置を降順で分類する。最後に、分
類したリストをファースト・フィット・アルゴリズムで
グループ化し、バス階層内の各バスへの資源割振りを決
定する。
【0017】より具体的には、上述のとおり、CPUは
適切なコマンドを実行して各装置への資源割振り要求、
すなわちサイズおよび配置を決定する。この段階ではま
た、装置の特定構成情報に基づいて装置の特定資源要求
も決定する。各装置の資源割振り要求を決定した後、階
層内の各PCIバスの要求を決定する。まず、階層内の
最下位バスを識別することによってPCIバス要求を決
定する。一般に、バス29および39のような最下位バ
スには1つの装置しか接続せず、任意のPCI−PCI
ブリッジに結合してバス階層を拡張することはない。前
述のとおり、ISAブリッジ34とそこに接続された装
置44は、PCIバス19からはPCI装置として見え
ていることに注意されたい。最下位バスを識別した後、
特定の最下位バスに接続された装置の資源割振り要求を
バス全体の要求にグループ化する。これらの装置は、特
定バス上にある装置の特定資源アドレス要求の値を昇順
で分類し、次いで不特定要求を伴う資源アドレス要求の
配置を降順で分類することによってグループ化される。
その後、ファースト・フィット法を用いてそのバス全体
の資源要求を得る。
【0018】図2に、7つの例示的装置AないしGのシ
ステム資源要求を示す。これらの装置は、装置集合32
(A)ないし32(G)または40(A)ないし40
(G)の1つを具備することができる。この例では、資
源要求が入出力用アドレス空間を含むことを仮定してい
るが、本発明の主件は、メモリ用アドレス資源要求や先
取り可能メモリ用アドレス資源要求などの他のシステム
資源要求にも容易に適用することができる。示したよう
に、装置(A)は40バイトの不特定入出力用アドレス
要求を有する。装置(B)は、入出力アドレス100h
から始めなければならない50バイトの入出力用アドレ
ス要求を有する。装置(C)および(D)は、それぞれ
20バイトと200バイトの不特定システム資源要求を
有する。一方、装置(E)は、アドレス20hから開始
しなければならない20バイトの特定システム資源要求
を有する。最後に、装置(F)および(G)は、それぞ
れ20バイトと100バイトの不特定入出力用アドレス
要求を有する。
【0019】図3に、本発明に基づく装置(Aないし
G)のグループ化の図を示す。特定資源要求を有する装
置(EおよびB)は、特定アドレス値によって昇順でグ
ループ化されるが、不特定資源要求を有する装置
(D)、(G)、(A)、(C)および(F)は、配置
によって降順でグループ化される。図4に、図3のグル
ープ化図に基づいたシステム資源割振りのためのファー
スト・フィット動作を示す。この図によれば、装置
(E)には特定アドレス20hから始まる20バイトの
アドレス空間が割り振られ、装置Bには特定アドレス1
00hから始まる100バイトのアドレス空間が割り振
られる。その後で、分類したリストすべてを処理してリ
ストからの装置要求に適合する最初の位置を見つけるこ
とにより、不特定資源割振り装置の要求を満たす。それ
に応じて、装置(A)に不特定アドレス40hから始ま
る40バイトのアドレス空間を割り振る。同様に、ファ
ースト・フィット・アルゴリズムを用いて、装置(C)
に割振りアドレス80hから始まる20バイトのアドレ
ス空間を割振る。本発明のファースト・フィット動作は
また、システム資源の割振りの際の装置の配置要求も考
慮している。たとえば、20バイトの配置要求を有する
装置(F)には、開始アドレスとして、装置(B)の要
求の終了アドレスである150hではなく160hを割
り振る。最後に、それぞれ200バイトと100バイト
の配置要求を有する装置(D)および(G)には、アド
レス200hから始まる200バイトのアドレス空間と
アドレス400hから始まる100バイトのアドレス空
間をそれぞれ割り振る。したがって、図5に示したよう
に、装置AないしGの合成資源要求は、490バイトの
資源サイズ要求と20hの配置要求を伴う20hの開始
アドレスとなる。階層の最下位バスの資源要求を決定し
た後は、本発明の方法により階層内の次に高位のPCI
バスの資源要求決定を実行する。このときには、各高位
バスに接続されたブリッジおよび装置の資源要求を上述
の本発明の方法に基づいてグループ化する。特定資源要
求を伴う装置に結合されているブリッジは、次に高位の
階層にある特定要求を伴うブリッジとして扱われること
に注意されたい。同様に、特定資源要求を伴うブリッジ
に結合されているブリッジも特定要求を伴うそれ自体と
して扱われる。1つの階層が完了し後は、次に高位の階
層に結合されているブリッジ全体の要求を決定する。こ
の反復処理を継続し、階層バス構造に接続されているす
べての装置およびブリッジ全体の資源要求を決定する。
このとき、全体の資源要求(サイズ、配置、および特定
資源アドレス)を満たす位置を決定する。その後、各P
CI−PCIブリッジの基底アドレスおよび限界値を、
見つけた開始位置とオフセットに基づいて各PCI−P
CIブリッジに関する全体の資源要求に書き込む。同様
に、各装置へのアドレス割当てを、全体の資源要求のた
めに見つけた開始位置とその装置の要求に関するオフセ
ットに基づいて、各装置の基底アドレス・レジスタに書
き込む。同様に、メモリ用アドレス資源または先取り可
能メモリ用アドレス資源の割振りの際は、特定の資源に
対応する基底アドレス・レジスタおよび限界アドレス・
レジスタに、本発明に基づく上述の資源割振り方法を用
いて得られた値を書き込む。
【0020】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0021】(1)階層バス構造に接続された装置にシ
ステム資源のアドレス空間を割り振る方法であって、前
記階層バス構造が対応するバス・ブリッジを介して互い
に結合された複数の高位バスおよび低位バスを含み、 a)各装置および各低位ブリッジからのアドレス資源要
求情報があればそれを受信することにより、あらゆる高
位ブリッジに従属する装置および下位ブリッジのアドレ
ス資源要求を決定する反復的段階と、 b)特定アドレス空間要求を伴う装置および低位ブリッ
ジを、そのシステム資源のアドレス空間要求のアドレス
値を昇順で分類することによってグループ化する反復的
段階と、 c)不特定アドレス空間要求を伴う装置および低位ブリ
ッジを、そのシステム資源のアドレス空間要求の配置を
昇順で分類することによってグループ化する反復的段階
と、 d)ファースト・フィット・アルゴリズムを実行して装
置および低位ブリッジをグループ化する反復的段階と、 e)ファースト・フィット・アルゴリズムの結果に基づ
いて全体の資源要求を得る反復的段階とを含む前記方
法。 (2)システム資源のアドレス空間が入出力用アドレス
空間を含むことを特徴とする請求項1に記載の方法。 (3)システム資源のアドレス空間がメモリ用アドレス
空間を含むことを特徴とする上記(1)に記載の方法。 (4)システム資源のアドレス空間が先取り可能メモリ
用アドレス空間を含むことを特徴とする上記(1)に記
載の方法 (5)システム資源のアドレス空間のグループ化が、グ
ループ化の段階c)から得られるシステム資源のアドレ
ス空間要求をファースト・フィットすることによるグル
ープ化の段階b)によって生み出されるアドレス空間の
とぎれを埋める段階を含むことを特徴とする上記(1)
に記載の方法。 (6)階層バス構造がPCI対応のバス構造を含み、バ
ス・ブリッジがPCI−PCIバス・ブリッジを含むこ
とを特徴とする上記(1)に記載の方法。
【図面の簡単な説明】
【図1】本発明を有利に用いることができる階層バス構
造を含んだコンピュータ・システムのブロック図であ
る。
【図2】図1の階層バス構造に接続された装置のシステ
ム資源要求を示す図である。
【図3】本発明に基づく図2の装置のグループ化を示す
図である。
【図4】本発明に基づくシステム資源割振りのためのフ
ァースト・フィット動作を示す図である。
【図5】図2の装置に関する合成システム資源要求を示
した図である。
【符号の説明】
10 コンピュータ・システム 12 中央演算処理装置(CPU) 14 メモリ 16 ホスト・バス 18 ホストCPU−PCIバス・ブリッジ 19 PCIバス 20 PCI装置 22 PCI−PCIバス・ブリッジ 23 PCIバス 24 PCI−PCIバス・ブリッジ 25 PCIバス 26 PCI装置 28 PCI−PCIバス・ブリッジ 29 PCIバス 30 PCI装置 32 非PCI装置 34 PCI−ISAブリッジ 35 ISAバス 36 PCI−PCIバス・ブリッジ 38 PCI装置 39 PCIバス 40 非PCI装置 44 ISA装置

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】階層バス構造に接続された装置にシステム
    資源のアドレス空間を割り振る方法であって、前記階層
    バス構造が対応するバス・ブリッジを介して互いに結合
    された複数の高位バスおよび低位バスを含み、 a)各装置および各低位ブリッジからのアドレス資源要
    求情報があればそれを受信することにより、あらゆる高
    位ブリッジに従属する装置および下位ブリッジのアドレ
    ス資源要求を決定する反復的段階と、 b)特定アドレス空間要求を伴う装置および低位ブリッ
    ジを、そのシステム資源のアドレス空間要求のアドレス
    値を昇順で分類することによってグループ化する反復的
    段階と、 c)不特定アドレス空間要求を伴う装置および低位ブリ
    ッジを、そのシステム資源のアドレス空間要求の配置を
    昇順で分類することによってグループ化する反復的段階
    と、 d)ファースト・フィット・アルゴリズムを実行して装
    置および低位ブリッジをグループ化する反復的段階と、 e)ファースト・フィット・アルゴリズムの結果に基づ
    いて全体の資源要求を得る反復的段階とを含む前記方
    法。
  2. 【請求項2】システム資源のアドレス空間が入出力用ア
    ドレス空間を含むことを特徴とする請求項1に記載の方
    法。
  3. 【請求項3】システム資源のアドレス空間がメモリ用ア
    ドレス空間を含むことを特徴とする請求項1に記載の方
    法。
  4. 【請求項4】システム資源のアドレス空間が先取り可能
    メモリ用アドレス空間を含むことを特徴とする請求項1
    に記載の方法
  5. 【請求項5】システム資源のアドレス空間のグループ化
    が、グループ化の段階c)から得られるシステム資源の
    アドレス空間要求をファースト・フィットすることによ
    るグループ化の段階b)によって生み出されるアドレス
    空間のとぎれを埋める段階を含むことを特徴とする請求
    項1に記載の方法。
  6. 【請求項6】階層バス構造がPCI対応のバス構造を含
    み、バス・ブリッジがPCI−PCIバス・ブリッジを
    含むことを特徴とする請求項1に記載の方法。
JP09613497A 1996-04-26 1997-04-14 階層バス構造内のシステム資源の割振り方法 Expired - Fee Related JP3234794B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/638461 1996-04-26
US08/638,461 US5778197A (en) 1996-04-26 1996-04-26 Method for allocating system resources in a hierarchical bus structure

Publications (2)

Publication Number Publication Date
JPH1049475A true JPH1049475A (ja) 1998-02-20
JP3234794B2 JP3234794B2 (ja) 2001-12-04

Family

ID=24560131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09613497A Expired - Fee Related JP3234794B2 (ja) 1996-04-26 1997-04-14 階層バス構造内のシステム資源の割振り方法

Country Status (5)

Country Link
US (1) US5778197A (ja)
EP (1) EP0803807B1 (ja)
JP (1) JP3234794B2 (ja)
KR (1) KR100244840B1 (ja)
DE (1) DE69737919T2 (ja)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US5890011A (en) * 1997-01-27 1999-03-30 International Business Machines Corporation Method and system for dynamically translating bus addresses within a computer system
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
US6148355A (en) 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6122746A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
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
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
US5892928A (en) 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network 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
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
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
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
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
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
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6247079B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
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
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6138250A (en) 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
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
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
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
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
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
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
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6073255A (en) 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
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
US5987554A (en) 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
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
US6418492B1 (en) * 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6122758A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor 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
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6134673A (en) 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for 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
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6065053A (en) 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6088816A (en) 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6035420A (en) * 1997-10-01 2000-03-07 Micron Electronics, Inc. Method of performing an extensive diagnostic test in conjunction with a bios test routine
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
US6009541A (en) 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6157398A (en) 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
KR100257046B1 (ko) 1998-03-03 2000-05-15 윤종용 인터페이스 기능 전환을 위한 지능형 입/출력 제어기
JP2002510086A (ja) * 1998-03-31 2002-04-02 マイクロン テクノロジー インコーポレイテッド コンピュータバスを介してピーア・トゥ・ピーア・マスタリングを行うシステムおよび方法
US6073198A (en) 1998-03-31 2000-06-06 Micron Electronics, Inc. System for peer-to-peer mastering over a computer bus
US6223238B1 (en) 1998-03-31 2001-04-24 Micron Electronics, Inc. Method of peer-to-peer mastering over a computer bus
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
WO2001025941A1 (en) 1999-10-06 2001-04-12 Cradle Technologies Multiprocessor computer systems with command fifo buffer at each target device
KR20010037077A (ko) * 1999-10-13 2001-05-07 서평원 컴퓨터 시스템에서의 프로세스 운영 최적화 방법
US6510475B1 (en) * 1999-10-22 2003-01-21 Intel Corporation Data fetching control mechanism and method for fetching optimized data for bus devices behind host bridge
US20020144037A1 (en) * 2001-03-29 2002-10-03 Bennett Joseph A. Data fetching mechanism and method for fetching data
EP1286268A1 (de) 2001-08-21 2003-02-26 Alcatel Integrierte Schaltung mit Zuordnung von Adressbereichen
US8219736B2 (en) * 2002-02-12 2012-07-10 Ati Technologies Ulc Method and apparatus for a data bridge in a computer system
US8776049B2 (en) * 2004-10-20 2014-07-08 Seagate Technology Llc Address aligned resource set allocation in a memory space
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
US8429300B2 (en) * 2006-03-06 2013-04-23 Lg Electronics Inc. Data transferring method
CN101390084B (zh) * 2006-03-06 2012-04-11 Lg电子株式会社 域管理方法、域扩展方法和参考点控制器选择方法
KR20080022476A (ko) * 2006-09-06 2008-03-11 엘지전자 주식회사 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템
KR100823171B1 (ko) 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
CN106250060A (zh) * 2016-08-03 2016-12-21 浪潮(北京)电子信息产业有限公司 PCIe设备的热插入方法和装置、热拔出方法和装置
US10579556B2 (en) 2017-08-21 2020-03-03 International Business Machines Corporation Allocating address space

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542055A (en) * 1993-05-28 1996-07-30 International Business Machines Corp. 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
US5568621A (en) * 1993-11-10 1996-10-22 Compaq Computer Corporation Cached subtractive decode addressing on a computer bus
JP3454294B2 (ja) * 1994-06-20 2003-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプル・バス情報処理システム及びブリッジ回路
US5568619A (en) * 1995-01-05 1996-10-22 International Business Machines Corporation Method and apparatus for configuring a bus-to-bus bridge
US5621900A (en) * 1995-05-17 1997-04-15 Intel Corporation Method and apparatus for claiming bus access from a first bus to a second bus prior to the subtractive decode agent claiming the transaction without decoding the transaction

Also Published As

Publication number Publication date
US5778197A (en) 1998-07-07
DE69737919D1 (de) 2007-08-30
EP0803807B1 (en) 2007-07-18
KR970071280A (ko) 1997-11-07
DE69737919T2 (de) 2008-04-10
EP0803807A3 (en) 2002-06-05
EP0803807A2 (en) 1997-10-29
JP3234794B2 (ja) 2001-12-04
KR100244840B1 (ko) 2000-02-15

Similar Documents

Publication Publication Date Title
JP3234794B2 (ja) 階層バス構造内のシステム資源の割振り方法
US5835738A (en) Address space architecture for multiple bus computer systems
JP2571673B2 (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
US6326973B1 (en) Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA)
US6587868B2 (en) Computer system having peer-to-peer bus bridges and shadow configuration registers
US8286178B2 (en) Allocation and regulation of CPU entitlement for virtual processors in logical partitioned platform
US7243167B2 (en) Managing peripheral device address space resources using a tunable bin-packing/knapsack algorithm
US20090077297A1 (en) Method and system for dynamically reconfiguring PCIe-cardbus controllers
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
JP2000222346A (ja) インテリジェントi/oコントロ―ラにおけるpci―pciブリッジに対する結合デバイスに関する装置及び方法
US20060092928A1 (en) System and method for providing a shareable input/output device in a PCI express environment
US20020010811A1 (en) DMA windowing in an LPAR environment using device arbitration level to allow multiple IOAs per terminal bridge
EP2278486B1 (en) System and method for device resource allocation and re-balance
JPH096722A (ja) コンピュータ・システム
JPH1173386A (ja) 周辺要素接続バスを備えたコンピュータ・システム
US5550989A (en) Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths
JPH06348642A (ja) マルチプル・バス・ネットワークの初期化方法及びその装置
CN1185220A (zh) 具有用于pci总线计算机的可编程配置寄存器的内插式板卡
CN1737780A (zh) 从一个设备驱动程序向另一个传送信息的系统和方法
JP2009193590A (ja) 装置アービトレーション・レベルを使用し、1つの端末ブリッジにつき複数のioaを可能にする、lpar環境におけるdmaウィンドウ
US5890011A (en) Method and system for dynamically translating bus addresses within a computer system
TW202240413A (zh) PCIe裝置及其操作方法
CN109597651B (zh) 一种基于mpc7410处理器的串口和网口模块开发方法
US20080155222A1 (en) Computer system
KR100316190B1 (ko) 로컬 메모리에서 패킷화된 동작 정보의 기억을 통한 입출력 성능을 증가시키기 위한 시스템

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees