专利汇可以提供Method and device for controlling pci extension card专利检索,专利查询,专利分析的服务。并且PURPOSE: To provide a method and device for enabling the configuration of a PCI slave card installed on an MCA adapter card, while using the set-up cycle and signal of an MCA and for securing the allocation of a memory space to that slave card.
CONSTITUTION: This device is composed of an MCA adapter card 14, connected to the MCA bus of a personal computer. A PCI adapter slave card 20 for adding functions to the circuit of the adapter card 14 is installed on a PCI bus 18 of the adapter card 14. In order to suitably configure the slave card 20 during the set-up sequence of an MCA bus 28 and to respond through a suitable ROM signature at the time of DOS start for surely allocating the memory space to the slave card 20 as needed, a PCI/MCA bridge 17 is provided for interfacing the MCA system bus 28 and the PCI bus 18.
COPYRIGHT: (C)1995,JPO,下面是Method and device for controlling pci extension card专利的具体信息内容。
【0001】
【産業上の利用分野】本発明は、広くはパーソナル・コンピュータのアダプタ・カードに関し、特に、マイクロ・チャネル・アーキテクチャ(MCA)・アダプタ・カード上に設置されたPCI(Peripheral Component Int
erconnect)拡張カードのコンフィギュレーション及び初期化を可能とし、かつパーソナル・コンピュータの立上げ中にPCI拡張カードに対してメモリ空間が割当てられることを確保するための方法及び装置に関する。
【0002】
【従来の技術】パーソナル・コンピュータは、Intel808
8マイクロプロセッサによる当初のモデル、例えばインターナショナル・ビジネス・マシーンズ・コーポレーション(IBM)PCや他のIBM互換機以来、革新的な変化を遂げてきた。 パーソナル・コンピュータの認識が広まってきたことから、よりいっそう進んだ特性や高性能高速度が求められるようになり、その結果、Intel802
86、80386、80486 及び最近ではペンティアム(Penthiu
m)等のさらに高度のマイクロ・プロセッサが開発されてきた。
【0003】パーソナル・コンピュータをより「ユーザ・フレンドリ(ユーザが使い易い)」にしたいという要望に加えて、上記のような要求に対応するべく、IBM
は、パーソナル・コンピュータの Personal/system/2
(PS/2)ファミリを導入した。 このPS/2ファミリは、ISA(Industry Standard Architecture)アーキテクチャを使用するIBMの「Family I」システムとは異なる形式のマイクロ・チャネル・アーキテクチャ(MCA)と称されるアーキテクチャに基づいている。
ISAからMCAへの移行においてIBMにより導入された主な変更の1つは、プログラマブル・オプション・
セレクト(Programmable Option Select)すなわちPO
Sレジスタの仕様であった。 この仕様は、全てのコンフィギュレーション(システム構成設定)をソフトウェアを通して処理することによって、ジャンパやDIPスイッチの設定により拡張ボードのコンフィギュレーションを行う必要性を排除するものである。 コンフィギュレーション・データは、拡張ボードに関するCMOSメモリやアダプタ記述ファイル(ADF)内における各拡張ボードのPOSレジスタ空間に記憶され、またその起動ディスクに記憶される。 PCIのオペレーティング・システムは、パーソナル・コンピュータが立上げられる毎に記憶されたコンフィギュレーション・データを各拡張ボード内へ自動的にロードし、そしてそのコンフィギュレーション・データの保全性をも保証する。
【0004】パーソナル・コンピュータでは、システム・マスタすなわちCPUと各アダプタとの間で、アダプタIDとアダプタ・コンフィギュレーション・データとを転送するためにセット・アップ・(立上げ)サイクルを利用してコンフィギュレーションが行われる。 システム・コンフィギュレーション手順は、アダプタがアクティブCDSETUP信号によって選択されることを除いて任意の基本的データ転送と類似しており、有効なPO
Sレジスタ・アドレスはアドレス・バス上で駆動される。 しかしながら、ビットA(2−0)のみがアダプタによってデコード(復号化)されるので、全てのコンフィギュレーション・データ転送は、データ・バス上のビットD(0−7)上で発生する1バイト(すなわち8ビット)転送である。
【0005】システム立上げの間、1つの拡張スロットのCDSETUPラインへ信号を出すことによって一時に1つの拡張スロットのみが選択される。 CDSETU
Pラインは、アダプタ・カードを挿入できるパーソナル・コンピュータの8個の拡張スロットのうちの1つを個別に選択するためにシステム論理によって駆動される。
各拡張スロットは専用のCDSETUPラインを有しており、各スロットに独立したCDSETUP信号を与えることができる。 特定のスロットのCDSETUPラインがアクティブにされると、アダプタ・カードが存在する場合には、そのアダプタのID番号とコンフィギュレーション・データが記憶されているそのアダプタのPO
Sレジスタへのアクセスが獲得できる。
【0006】POS動作は、アダプタID番号に合わせて行われる。 このID番号は、MCAのアダプタの各モデルに割当てられた独自の符号となっており、各MCA
アダプタ・カードは、このような番号を割当てられなければならない。 一旦、アダプタ・カードが選択されると、そのアダプタ・カードはそのアダプタID番号を問合わされる。 このID番号は、その拡張スロットに割当てられたCMOSメモリに記憶された値と比較される。
もし2つの番号が一致すれば、そのアダプタ・カードのADFを探すために起動ディスクが検索される。 ADF
は、そのアダプタ・カードのコンフィギュレーションのためのコンフィギュレーション・データを含むものである。 もしアダプタ・カードから読取られたID番号とC
MOS内に記憶されたID番号が一致しなければ、あるいは、もしアダプタ・カードのADFが見つからなければ、エラーとなり、システム・コンフィギュレーション・ユーティリティが再び実行されなければならない。 そうでない場合は、コンフィギュレーション・データがA
DFから読取られて、そのアダプタ・カードのPOSレジスタを初期化するために用いられる。
【0007】MCAは、0から7までの番号をもつ8個のPOSレジスタを提供する。 POSレジスタとの間のデータ転送は、任意の基本的なデータ転送機能と類似の方法で実行される。 例外は、有効なPOSアドレスがアドレス・バス上で駆動されるとき、8個のPOSレジスタのいずれかアドレス指定されているのかを判断するためにアドレス・バスのラインA(2−0)のみがアダプタ・カードによりデコードされることである。 次の表1
は、POS動作に使用されるアドレス空間の構造を示している。 以降、数字の添字「h」は16進数であることを示す。
【0008】
【0009】8個のPOSレジスタの他に、MCAは、
拡張POS(XPOS)と称される付加的なPOSレジスタ空間である128kバイトまでアクセスするための機構を提供している。 XPOSレジスタは、立上げシーケンス中に、2バイト値をPOSレジスタ7(上位バイト)及び6(下位バイト)に書込むことによってアクセスされる。 この値は、その後、POSレジスタ3及び4
への全ての立上げサイクルのアクセスにおけるXPOS
レジスタへの索引として用いられる。 例えば、もし00
01hがPOSレジスタ7及び6へ書込まれたならば、
XPOSレジスタ0001hへのアクセスは、POSレジスタ4を通してのものでもよい。 IBMのMCAに関するさらに詳細な情報については、IBM社の刊行物「PersonalSystem/2 Model 80 Technical Reference」
(April, 1987)を参照されたい。
【0010】さらに最近では、MCAに替ってPCIと称するバスが、高集積度の周辺装置コントローラとプロセッサやメモリのシステムとの間で使用することを目的とした物理的相互接続機構として開発された。 MCAアダプタと同様に、PCI適合デバイスも初期化とコンフィギュレーションを行わなければならず、また、MCA
と類似するが、PCIもまた別のコンフィギュレーション・アドレス空間を介する全体的なソフトウェア駆動の初期化とコンフィギュレーションを提供する。 しかしながら、MCAと異なる点は、MCAの8バイトのPOS
空間及び128kバイトのXPOS空間に対して、PC
Iが256バイトのコンフィギュレーション空間もしくは256バイトのコンフィギュレーション・レジスタからなっていることである。 さらにPCIデバイスは、コンフィギュレーション中に、MCAのCDSETUP信号に類似するIDESEL信号を用いて選択され、これはPCIバス上の各デバイスに与えられる。 すなわち、
IDESELラインがアクティブとなっているときに、
24個の最上位AD(31−0)の1つを駆動することによって特定のデバイスの選択が行われる。
【0011】選択されたPCIデバイスは、DEVSE
L#信号によってCPUに応答する。 その後、選択されたデバイスの256バイトのレジスタ空間のアドレス指定を、AD(7−2)ラインを用いて行うことができる。 PCIバスのプロトコルや電気的及び機械的特性に関するさらに詳細な説明については、PCI Special Inte
rest Group, Hillsboro, OR.により刊行されている「PC
I Specification Revision 2.0-Review Draft 3/9/93」
を参照されたい。
【0012】ある場合には、アダプタ・カード自体の上に元々備えられていなかった付加的な機能をもつ基本アダプタ・カードを、コストやカード上の寸法制限等の様々な理由によって設置したいことがある。 通常は、このような付加的な機能は、ユーザの個人的選択の問題となる。 例えば、基本表示装置アダプタは、通常、JPEG
(Joint Photographic Experts Group)又はMPEG
(Motion Picture Experts Group)による画像圧縮アルゴリズムを実現するために必要な回路や論理を含んではいない。 なぜなら、多くのユーザはこのような機能を必要とせず、従って彼らの基本表示装置アダプタにこのような機能を含めるために代価を払おうは思わないからである。 ところが、他のユーザでは、最初はこのような付加的な機能が必要とは思わなかったが、後になって必要だと思うような場合がある。 それでもそのユーザは、その機能を獲得するために新しい表示装置アダプタを買わされたくはないと考える。 そのかわりに、ユーザは、交換可能なアルゴリズムを利用できたらよいと考えるであろう。
【0013】上記のような状況に対する解決策は、MP
EGやJPEGを実行するための回路や論理などの付加的な機能を、拡張カード(本明細書中では「子(ドータ)カード」と称する)上に備えることである。 これは、アダプタ・カード自体に取外し可能に接続できる。
この方法により、ユーザは基本アダプタ・カードを購入し、その上で、ユーザがその性能を得たいと思う付加的な機能を選択することができる。
【0014】
【発明が解決しようとする課題】上記の子カードの使用に関連する問題は、次のような事実から生じてくる。 すなわち、PCIバスが早くも新しい工業標準となりつつあることが明らかであることから、子カード及びその上に設置される構成要素がPCI適合性をもつよう設計されることが望ましく、それによって、PCIローカル・
システム・バスをるパーソナル・コンピュータの回路に付加的な変更を要することなく、これらの子カード等をプレーナすなわちマザー・ボード上に移せるようにすることである。 しかしながら、ほとんどの既存のパーソナル・コンピュータすなわちほとんどの使用可能なアダプタ・カードは、PCI適合性ではなくむしろMCAもしくはISA適合性をもつ。 従って、MCAによる信号、
セット・アップ・サイクル、及びそのためのプロトコルを用いるMCAアダプタ・カード上に設置されるPCI
子カードを、いかにして初期化しかつコンフィギュレーション(構成)を行うかという問題が生じてくる。
【0015】子カードと用いることに関連する別の問題は、パーソナル・コンピュータの他の装置が子カードのRAMもしくはROMのいずれか又は双方にアクセスするべくイネーブルとすることである。 パーソナル・コンピュータのコンフィギュレーションにおいて、ホストのメモリ・マネージャは、拡張スロットに挿入されている各アダプタ・カードが必要とするメモリ空間の大きさを判断するために、これらに対してポーリングを行う。 それからメモリ・マネージャは、各カード毎の16kバイトの全メモリ空間を越えないように、8kバイトのブロックからなる要求された大きさの空間を各カードに割当てる。 しかしながら、ホストすなわちメモリ・マネージャは、1又は複数のアダプタ・カード上に設置されたいずれの子カードの存在も認知しないために、それらに対してはメモリ空間が割当てられない。 その結果、子カード上に設置されたいずれのRAMもしくはROMもアクセス不能となる。
【0016】以上のことから、必要とされるのは、MC
Aのコンフィギュレーション・サイクル及び信号を用いてPCIの子カードのコンフィギュレーションを行うための技術であり、また、システム立上げにおいて、アダプタ・カード上に設置された子カードに対してメモリ空間を確実に割当てるための技術である。
【0017】
【課題を解決するための手段】前述の問題は、MCAセット・アップ・サイクル及び信号を用いてMCAアダプタ・カード上に設置されたPCI子カードのコンフィギュレーションを可能としかつその子カードに対してメモリ空間を確実に割当てるための方法及び装置によって、
解決されかつ技術的進歩が実現される。 この技術において、MCAバス上に設置されるように設計されたアダプタ・カードは、子カードを設置するべく、パーソナル・
コンピュータのMCAシステム・バスとアダプタ・カード上のPCIバスとをインターフェースするためのブリッジが設けられる。 このブリッジはまた、子カードのP
CIコンフィギュレーション・データ空間のコンフィギュレーションを適切に行うべく、MCAの立上げサイクル及び信号を適切なPCIのコンフィギュレーション信号へと変換するものでもある。 さらにこの技術においては、アダプタ・カード・スロットがDOS起動の際にポーリングされたとき、このブリッジが適切なROMシグネチャにより応答するによって、パーソナル・コンピュータのメモリ・マネージャがその子カードへメモリ空間を割当てることになる。
【0018】好適例では、本発明は、汎用的なパーソナル・コンピュータ、例えばIBMのモデル PS/2 や類似の装置におけるMCAシステム・バスへ接続されたMC
A適合アダプタ・カードを含むものである。 アダプタ・
カードの回路に対して付加的な機能を提供するPCI適合の子カードが、このアダプタ・カードのPCIバス上に設置されている。 PCI/MCAブリッジが、パーソナル・コンピュータのMCAバスとアダプタ・カードのPCIバスとをインターフェースするためにこのアダプタ・カード上に設けられる。 これによって、MCAバスのセット・アップ・シーケンスにおいて子カードのコンフィギュレーションが可能となり、また、必要な場合に子カードに対してメモリ空間を確実に割当てるべくパーソナル・コンピュータのDOS起動において適切なRO
Mシグネチャで応答する。
【0019】本発明の一態様では、アダプタ・カードのXPOSレジスタの第1の組を選択的に用いることによって、ブリッジの動作をイネーブルとし、子カードのP
CIコンフィギュレーション空間すなわちレジスタ及び子カード上の他のPCI適合素子に対し選択的にアクセスしかつ初期化することを可能とする。
【0020】本発明の別の態様では、XPOSレジスタの第2の組が、ブリッジのデータ・フロー・モードをR
AMもしくはROMモード又は通過(パス・スルー)モードへ設定するために用いられる。 RAMもしくはRO
Mモードにおいては、DOS起動時にアダプタ・カードが子カードの適切なROMシグネチャによりポーリングされるとき、ブリッジが応答する。 通過モードにおいては、データがブリッジを通ってPCIバスとの間で行き来する。 さらに、上記XPOSレジスタの第2の組は、
子カードのROMシグネチャを適切な値に初期化するためにも用いられる。 XPOSレジスタの第2の組の残りのレジスタは、子カードの必要な全てのRAMやROM
の空きの大きさと場所をイネーブルとしかつ記憶するために選択的に用いられる。 それによって、ブリッジがいずれかの空きの範囲内のアドレスをデコーディングすれば、子カードへのPCI動作を開始することができる。
【0021】本発明により得られる技術的な利点は、子カード等のPCI適合デバイスを、MCAセット・アップ・サイクルと信号とを用いてコンフィギュレーションできることである。
【0022】本発明により得られる別の技術的利点は、
アダプタ・カードに対し、ブリッジによって実現される組込み型のPCI/MCAインターフェースを提供することである。 これによって、アダプタ・カードの回路を、パーソナル・コンピュータのプレーナ上のPCIローカル・バス上に、実質的な変更を行うことなく直接的に設置するべく移行することができる。
【0023】本発明により得られるさらに別の技術的利点は、子カードに対してメモリ空間を確実に割当てることである。 これによって、子カードのいずれのRAM又はROMへもアクセスすることができる。
【0024】
【実施例】図1は、パーソナル・コンピュータ8を示している。 これは好適にはIBM又はIBM互換のパーソナル・コンピュータであり、システム・バス12に接続されたホスト部分10からなる。 好適例では、システム・バス12は、IBMのマイクロ・チャネル・バス(M
CA)標準バスから構成される。 しかしながら、システム・バス12は、任意の数の他の形式のバスから構成されていてもよい。 例えば、ISAやAT等のバスでもよい。 図示されていないが、ホスト10は、少なくとも中央演算処理装置(CPU)、メモリ、メモリ管理回路、
I/O(入出力)装置、並びにパーソナル・コンピュータ8の動作を実行するために必要な他の構成要素及び論理からなる。
【0025】アダプタ・カード14は、そのアダプタ回路内に機能を常駐させており、パーソナル・コンピュータ8の8個の拡張スロット(図示せず)の1つを介してシステム・バス12へ接続されている。 アダプタ・カード14の目的とする機能を実行するために必要な全てのハードウェア及び論理に加えて、アダプタ回路16は、
システム・バス12へ接続されるブリッジ17を備えている。 アダプタ回路16は、好適には、集積回路(I
C)チップとして実現されるが、任意の数の独立したハードウェアや論理による構成要素で構成してもよい。
【0026】後述するように、好適例においては、ブリッジ17の機能は、システム・バス12等のMCAバスとPCI拡張カードすなわち子カード20が接続されるPCIバス18との間のインターフェースを提供することである。 本明細書では詳細には述べないが、アダプタ回路16とプレーナ上のPCIローカル・バスとの間のインターフェースを提供することもブリッジ17に関連する機能である。 これによってアダプタ回路16をなんら変更することなく、直接的にパーソナル・コンピュータのプレーナ上のPCIローカル・バスに設置することができる。 最後に、システム・バス12と、カード14
上に含まれるいくつかのMCAデバイス、例えばNVR
AM22、VRAM24及び他のデバイス26との間のインターフェースをMCAバス28を介して行うことをブリッジ17の機能としてもよい。
【0027】子カード20は、アダプタ・カード14の機能を強化するための回路及び論理を備えている。 例えば、アダプタ・カード14が表示装置アダプタであって、アダプタ回路16が表示サブシステムに必要な要素からなる場合、いくつかの事例において、ユーザが、J
PEGやMPEGによる画像圧縮アルゴリズム等のアルゴリズムを実行する回路を追加することによって、アダプタ・カード14の機能を選択的に増強できることが望ましいと考えることがある。 アダプタ・カード14の本来の構造的、コスト的及び他の制限のために、上記のような付加的な機能を直接アダプタ・カード14へ組入れることは困難又は望ましくない場合がある。 さらに、ユーザは、ある場合にはMPEGアルゴリズムを用い、また他の場合にはJPEGアルゴリズムを用いるような融通性を求めることもある。 またさらに、特定の画像圧縮を実行するための回路と論理は、子カード20のような拡張カードによって実現され、このカードはアダプタ・
カード14へ取外し可能に接続される。
【0028】好適例では、子カード20がPCI適合であり、すなわちMCAバスではなくPCIバス上に設置されるべく設計されている。 一方、アダプタ・カード1
4は、システム・バス12等のMCAバス上に設置されるべく設計されたMCA適合デバイスである。 従って、
子カード20は、MCAによる信号とセット・アップ・
サイクルとを用いて最初にコンフィギュレーションを実行された後、駆動されなければならないという事実に関して問題が存在する。
【0029】ホスト10内に実現されるメモリ「管理回路」(図示せず)が、子カード20上のRAMやROM
にアクセスできるように子カード20にメモリ空間を確実に割当てることにおいても問題が存在する。 ホスト1
0は、アダプタ・カード14と子カード20とからなる2つの別々のカードとしては見ておらず、アダプタ・カード14を単一のカードと見ているので、子カード20
が自らの存在をメモリ「管理回路」に知らせる何らかの手段をもっていない限り、メモリ空間はアダプタ・カード14にのみ割当てられる。 本発明が課題とするのは、
これら2つの問題である。
【0030】図2は、図1のブリッジ17の詳細なブロック図である。 ブリッジ17は、システム・バス12からのMCA信号をPCIバス18とインターフェースさせるためのPCIインターフェース200からなっており、以下に詳述する。 ブリッジ17は、さらに、まとめて202で示されているシステム・バス12の3つの最下位アドレス・ライン(A(2−0))上の3つのビット・アドレスと、システム・バス12上のCDSETU
Pライン204上のCDSETUP信号とを受信するために接続されたPOSアドレス・デコーダ201を備えている。 公知の技術であるが、ライン204上のCDS
ETUP信号は、アダプタ・カード14が挿入された拡張スロット(図示せず)を選択するためにホスト10内のシステム論理によって駆動される。 CDSETUP信号ライン204がアクティブであるとき、アダプタ・カード14が選択され、その8ビットのPOSレジスタ0
から7へのアクセスが得られる。 これらはまとめて20
5で示されている。
【0031】カード立上げ又はコンフィギュレーションのシーケンス中に、公知であるが、POSレジスタ20
5の1つが、ラインA(2−0)上のPOSレジスタの3つのビット・アドレスを駆動することによって書込み又は読取りのために選択される。 このアドレスはデコーダ201によりデコードされる。 デコーダ201は、ラインA(2−0)によりアドレス指定されたPOSレジスタを選択するために、ライン206を介してPOSレジスタ205へ信号を送る。 それから、ホスト10に記憶されたアダプタ・カード14のアダプタ記述ファイル(ADF)から読取られたコンフィギュレーション・データが、システム・バス12のデータ・ラインD(7−
0)を介して選択されたPOSレジスタに書込まれる。
これらのデータ・ラインはまとめてライン207として示されている。
【0032】後述するが、POSレジスタ4、6及び7
は、拡張POSすなわちXPOSレジスタ空間207へアクセスするために用いられる。 本発明の態様によれば、XPOSレジスタ10hから13hは、「PCIデバイス・コンフィギュレーション・レジスタ」として用いるためにまとめて示されており、その構成と機能については、後に詳述する。 さらに、XPOSレジスタ14
hから1Ahは、「PSIメモリ・アクセス制御レジスタ」として用いるためにまとめて示されている。 その構成と機能については図4を参照して後に詳述する。
【0033】公知であるが、XPOSレジスタ空間20
7内の所与のレジスタは、XPOSレジスタ空間207
内のXPOSレジスタへの索引として用いられる16ビット値の最上位バイト(MSB)及び最下位バイト(L
SB)をそれぞれPOSレジスタ7及び6へ書込み、その後ラインA(2−0)上で「100b」(以降、数字の添字「b」は2進数であることを示す)を駆動することによってPOSレジスタ4を選択してアクセスされる。 POSレジスタ4の選択に応答して、POS4SE
LECT信号が、ライン211上のXPOSデコーダ2
10へ与えられ、これによってデコータ210がPOS
レジスタ7、6に記憶された16ビット値をデコーディングしかつこれを索引として選択ライン212のうちの適切な1つをアクティブとすることによりXPOSレジスタを選択する。 従って、XPOSレジスタ10hから1Ahの中の1つに対するアクセスは、POSレジスタ7、6を用いてレジスタの中の適切な1つを索引付けし、POSレジスタ4へアクセスすることによって行われる。 この時点で、コンフィギュレーション・データが、ライン208を介して索引付けされたXPOSレジスタに対して書込み又は読取りできる。 この方法において、POSレジスタ4は、POSレジスタ7、6によりアドレス指定されたXPOSレジスタに対する「ウィンドウ(窓)」として機能する。
【0034】以降、詳細に述べるが、ブリッジ17は、
さらにPCIインタフェース200にライン215を介して制御信号を与えるべく接続されたPCIバス制御装置214、XPOSレジスタ11hに記憶された値を受信するために接続されたデコーダ216、及びバッファ218を備えており、バッファ218の上位3つのバイトは、デコーダ216の出力を受信するために接続され、またLSBは、XPOSレジスタ12hに記憶された値を受信するために接続されている。
【0035】ここで、PCIデバイス・コンフィギュレーション・レジスタすなわちXPOS10hから13h
の構成と機能を詳細に述べる。 XPOSレジスタ10h
は、ブリッジ・イネーブル・レジスタとして示されており、これは、子カード20等の子カードが使用中であるか否か、及びアダプタ回路16がアダプタ・カード14
上もしくはプレーナのPCIローカル・バス上のいずれに設置されているかによってブリッジ17の機能を制御するために用いられる。 ブリッジ・イネーブル・レジスタのビット0(「イネーブル・ビット」と称する)は、
子カード20等の子カードが使用されているか否かによって、ブリッジ17の動作をイネーブルとする(ビット0=0)か又はディスエ−ブルとする(ビット0=1)
ために用いられる。 ビット0の状態はまた、アダプタ回路16がPCIバスをもつプレーナに直接接続されているか否かにも依存する。 直接接続されている場合は、アダプタ回路16に対してプレーナのPCIローカル・バスとのインターフェースを行うPCIインタフェースを提供するために、ブリッジ17がイネーブルとされる。
【0036】ブリッジ・イネーブル・レジスタのビット1(「設置ビット」)は、読取り専用であり、アダプタ回路16がプレーナのPCIローカル・バス上に設置されているか(ビット1=0)又はアダプタ・カード14
上に設置されているか(ビット1=1)を識別する。 ビット1はまた、ブリッジ・イネーブル・レジスタの他の全てのビットの有効性を制御することにより、この設置ビットが0であるときは、ブリッジ・イネーブル・レジスタの残りのビットが任意の値をとるようにする。 なぜなら、子カード20は、パーソナル・コンピュータのプレーナ上のPCIローカル・バスへ接続されているからである。 設置ビットが1であるときは、残りのビットは、子カード20に関するブリッジ17の機能を制御するべく設定されなければならない。 設置ビットの状態(すなわち、0か1)は、ホスト10のコンフィギュレーション・レジスタ内のビットによって決定される。 このビットは、子カード20がアダプタ・カード14上にあるか又はプレーナ上にあるかを示すものである。
【0037】ブリッジ・イネーブル・レジスタのビット2(「デコード・ビット」と称する)は、減算アドレス・デコーディング(ビット2=0)又は減算/正アドレス・デコーディング(ビット2=1)のいずれがPCI
インタフェース200によってサポートされるかを識別する。 正デコーディングは比較的速く、子カード20等のPCIバス18上の各PCIデバイスは、それに割当てられたアドレス範囲のアドレスを探すことになる。 減算デコーディングは、PCIバス18上の1つのデバイスによってのみ実現することができる。 この場合は、子カード20である。 なぜなら、このデバイスは、他のいずれかのエージェントによって正デコーディングされていない全てのアクセスを受入れるからである。 減算デコーディングは、デバイスが他の全てのバス・エージェントに各アクセスに関する「最初の拒絶の権利」を与えなければならないために、比較的遅い。
【0038】デコード・ビットが1に設定されているとき、子カードは減算デコーディングをサポートする。 この場合、PCIバス18上の他の全てのデバイス(図示せず)に、応答に先立ってDEVSEL#信号で応答することを許可する。 他のデバイスのいずれも、3個のP
CIクロック以内にDEVSEL#ラインに信号を出さないならば、ブリッジ17は、PCIバス・マスタ(図示せず)がシステム・バス12との間でデータ転送しようとしているとみなし、第4のクロック時点でこのラインをアクティブに駆動する。 もしアダプタ回路16が選択されれば、正デコーディングが用いられることになる。 この場合は、アダプタ回路16が、自身に割当てられたアドレス範囲内にあるアドレスをデコードした後、
3個のPCIクロック以内にDEVSEL#信号を出す。 デコード・ビットが0に設定されているとき又は設置ビットが1に設定されているときは、正デコーディングのみがサポートされる。 残りのブリッジ・イネーブル・レジスタのビット3から7のうち、ビット3から6
は、本発明とは関係ない使用のために予約されており、
またビット7は使用されない。
【0039】XPOSレジスタ11hは、PCIデバイスIDレジスタとして利用され、コンフィギュレーション・サイクルにおいて子カード20上のいずれのPCI
デバイス(図示せず)が選択されるかを識別するために用いられる。 MCAバスのCDSETUP信号は、PC
Iインタフェース200上の1つのデバイスへのIDS
EL信号としてのみ通過することができるので、PCI
デバイスIDレジスタの内容は、その選択されたデバイスの索引として用いられる。 PCIデバイスIDレジスタのビット4から0に記憶された5ビットは、デコーダ216によりデコードされると、PCIバスAD(31
−8)ラインの1つをハイに駆動する。 これらのラインはそれぞれ子カード20上の1つのPCIデバイスへ接続されている。 このアクティブ・ハイ・ラインは、コンフィギュレーションを行うべきPCIデバイスの1つを選択するためにCDSETUP/IDSEL信号と関連して用いられる。 例えば、PCIデバイスIDレジスタのビット4から0が「0100b」であるならば、AD
(20)ラインがハイに駆動され、このラインに接続されたデバイスが選択される。
【0040】XPOSレジスタ12hは、PCIコンフィギュレーション・アドレス・レジスタとして利用され、コンフィギュレーション・サイクルにおいて、PC
IデバイスIDレジスタと関連して選択されたPCIデバイス(PCIデバイスIDレジスタの内容により指示される)のPCIコンフィギュレーション・データのバイトへアクセスするために用いられる。 PCIコンフィギュレーション・アドレス・レジスタのビット7から0
は、コンフィギュレーション・サイクルにおいてアクセスするために、選択されたデバイスのコンフィギュレーション・データの256バイトの1つへの索引として用いられる。 PCIコンフィギュレーション・データ空間のマップを以下の表2に示す。
【0041】 表2 バイト 記述 アクセス形式 −−−−−−−−−−−−−−−−−−−−−−−−−−−−− 0−1h ベンダ識別 読取り専用 2−3h デバイス識別 読取り専用 4−5h コマンド 読取り/書込み 6−7h 状態 読取り/書込み 8h 修正ID 読取り専用 9−Bh クラス・コード 読取り専用 Ch キャッシュ・ライン・サイズ 読取り/書込み Dh 遅延タイマ 読取り/書込み Eh ヘッダ形式 読取り専用 Fh 組込み自己検査 読取り/専用 10h−27h ベース・アドレス・レジスタ 読取り/書込み 28h−2Fh 予約済 − 30h−33h 拡張ROMベース・アドレス 読取り/書込み 34h−37h 予約済 − 38h−3Bh 予約済 − 3Ch 割込みライン 読取り専用 3Dh 割込みピン 読取り専用 3Eh Min_GNT 読取り専用 3Fh Max_LAT 読取り専用 40h−FFh デバイス固有 −
【0042】XPOSレジスタ13hは、「PCIコンフィギュレーション・データ」として利用される。 XP
OSデコータ210がXPOSレジスタ13hへのアクセスをデコードすると、PCIコンフィギュレーション・データ選択信号が、ライン220を介してPCIバス制御装置214へ伝送される。 ライン220上のこの信号を受信したことに応答して、PCIバス制御装置21
4がPCIインタフェース200に対して制御信号を伝送することによって、PCIインタフェース200は、
システム・バス12からPCIバス18上へデータを通過させる。 この方法により、XPOSレジスタ13hを介して、選択されたPCIデバイスの選択されたPCI
コンフィギュレーション・バイト・アドレス(PCIコンフィギュレーション・アドレス・レジスタにより指定された)へデータが書込まれる。
【0043】図3は、PCI子カード20のコンフィギュレーションを行うための本発明による方法の流れ図である。 ステップ300において、「00h」がPOSレジスタ7へ書込まれ、「10h」がPOSレジスタ6へ書込まれる。 ここで、POSレジスタ6に対する書込み及び読取りは公知の技術であるので、詳細には説明しない。 ステップ302において、2進値のゼロが、POS
レジスタ4のビット2及び0へ書込まれる。 ステップ3
00と302とによる効果は、ブリッジ・イネーブル・
レジスタのイネーブル・ビットとデコード・ビットとを設定することにより、ブリッジ17をイネーブルとしかつ減算デコーディングをイネーブルとすることである。
前述のように、設置ビットはシステム論理によって設定される。
【0044】ステップ304において、「11h」がP
OSレジスタ6へ書込まれる。 ステップ306において、5ビットのエンコーディング(コード化)された値がPOSレジスタ4へ書込まれる。 この値は、コンフィギュレーション・サイクルにおいて選択される子カード20上のPCIデバイスを識別するためのものである。
ステップ304と306とによる効果は、5ビットのエンコーディングされた値をPCIデバイスIDレジスタへ書込むことである。 再び図2を参照すると、PCIデバイスIDレジスタへ書込まれる5ビット値は、デコーダ216へ入力されてデコーディングされ、デコーダ2
16の24個の出力ラインのうちの1つをハイに駆動する。 ラインO(23−0)上の24個の出力ビットは、
バッファ218のビット31から8にそれぞれ記憶される。 後述するように、バッファ218のビット31から8に記憶された値は、PCIインタフェース200によって、PCIAD(31−8)ラインの1つをアクティブとするために用いられる。 このアクティブ・ラインは、CDSETUP/IDSEL信号に関連して用いられることにより、コンフィギュレーションされるPCI
バス218上のPCIデバイスを選択する。 例えば、もしエンコーディングされた5ビットの値が「01011
b」であったならば、デコーダ216の出力ラインO
(19)がアクティブに駆動され、ラインAD(19)
に接続されたPCIデバイスがコンフィギュレーションのために選択される。 システム・バス12からのCDS
ETUP信号は、PCIインタフェース200上の1つのデバイスに対してのみ通過させることができるので、
この解決方法は、初期のカード立上げにおいて、多数の選択枝を可能とする。
【0045】ステップ308において、「12h」がP
OSレジスタ6に書込まれる。 ステップ310において、256バイトのコンフィギュレーション・アドレス空間のバイトに対応する「00h」と「FFh」の間の値が、POSレジスタ4に書込まれる。 ステップ308
とステップ310とによる効果は、PCIコンフィギュレーション・アドレス・レジスタに、アクセスされるP
CIコンフィギュレーション・データ・バイトのアドレスを書込むことである。 このレジスタのビット7から0
は、それぞれバッファ218のビット7から0へ書込まれる。 PCIインタフェース200は、PCI(7−
0)ラインを駆動するためにビット7から0をそれぞれ利用して、PCIコンフィギュレーション動作においてPCIコンフィギュレーション・データ・バイト(図2
参照)の1つをアドレス指定する。
【0046】ステップ312において、POSレジスタ6に「13h」が書込まれる。 ステップ304と306
で選択されたPCIデバイスの、ステップ308と31
0で選択されたPCIコンフィギュレーション・データ・バイトに対し、ステップ314においてPOSレジスタ4を介して読取り又は書込みすることができる。 ステップ316において、ステップ304と306で選択されたデバイスのアクセスされるべきいずれかのコンフィギュレーション・バイトが残っているか否かの判断がなされる。 もし残っていれば、このプロセスはステップ3
08へ戻り、同じPCIデバイスの別のPCIコンフィギュレーション・データ・バイトの選択及び読取りもしくは書込みを行うために、ステップ308から314が繰返される。 ステップ316において、もしアクセスされるべき及び初期化されるべきコンフィギュレーション・データが残っていないならば、このプロセスはステップ318へ進む。 ステップ318で、バス18上の別のPCIデバイスに関する別のPCI動作が必要か否かを判断する。 もし必要であれば、プロセスはステップ30
4へ戻り、別のPCIデバイスを選択しかつそのコンフィギュレーション・メモリ空間を初期化するために、ステップ304から314が繰返される。 必要でないならば、このプロセスはステップ320で終了する。
【0047】図4は、図1のブリッジ17の一部を示しており、この部分は、子カード20にメモリ空間を割当てかつその後パーソナル・コンピュータ8のメモリ・マネージャ(図示せず)によって上書きされないことを確保するためのものである。 図4に示すように、PCIメモリ・アクセス制御レジスタすなわちXPOSレジスタ14hから1Ahは、ライン300を介してPCIバス制御装置214へ接続されている。 後述するように、P
CIバス制御装置214は、所与のデコーディング動作及び比較動作を実行し、PCIインタフェース200に対してその動作を制御するための制御信号を与える。 P
CIメモリ・アクセス制御レジスタの構成及び機能を以下に詳述する。
【0048】XPOSレジスタ14hは、ブリッジRA
M空きサイズ・レジスタとして利用される。 これは、システム・バス12に対して子カード20へのメモリ・アクセスの制限を設定するために用いられる。 ビット0の状態は、子カード20がアダプタ14上に存在するか否かによって、そしてもし存在するならば、子カード20
がRAMを含むか否かによって、そのRAMの空きがディスエーブル状態(ビット0=0)かイネーブル状態(ビット0=1)かを決定する。 RAMの空きがイネーブル状態(ビット0=1)であるとき、ビット4から1
は、子カード20がもつ使用可能なメモリの量を示す1
0進値Xを、2進値で記憶するために用いられる。 このとき、使用可能なメモリの量は、2 (X+2) kバイトに等しい。 例えば、もしビット4から1が、「1010b」
(すなわちX=10)であるなら、使用可能なメモリの量は、2 (10+2) kバイトすなわち4096kバイトとなる。
【0049】XPOSレジスタ15h、16h及び17
hは、ブリッジRAM空きアドレス・レジスタとして利用される。 これは、8kバイト単位に基づいた子カード20のメモリの開始アドレスからなる24ビットのアドレスを含んでいる。 MCAメモリ・サイクルがデコーディングする間、PCIバス制御装置214は、ブリッジRAM空きサイズ・レジスタ及びブリッジRAM空きアドレス・レジスタに記憶された値を用いて、子カード2
0に搭載されたRAM(図示せず)がアクセスされているか否かを判断する。 XPOSレジスタ15hに記憶された値は、ブリッジRAM空きアドレス・レジスタの最上位バイト(MSB)からなり、XPOSレジスタ17
hに記憶された値は、ブリッジRAM空きアドレス・レジスタの最下位バイト(LSB)からなる。 子カードのRAMの空きの開始位置が8kバイト単位に基づいているので、ブリッジRAM空きアドレス・レジスタのビット4から0すなわちXPOSレジスタ17hのビット4
から0は任意であって、これらのビットの状態は比較をするために用いられない。
【0050】XPOSレジスタ18hは、ブリッジRO
M空きアドレス・レジスタとして利用される。 これは、
子カード20の全てのROM空間の位置を示すために用いられる。 子カードは、ROM領域を2kバイトのみ許容されており、このレジスタのビット7から1に記憶されたエンコーディングされた値は、この2kバイト領域の位置を示している。 ビット0は、子カードがROMを備えているか否かによって、このROMの空きをディスエーブル(ビット0=0)又はイネーブル(ビット0=
1)のいずれかにするために用いられる。 ブリッジRO
M空きアドレス・レジスタに記憶された値は、以下の表3に示されるようにエンコーディングされている。
【0051】 表3 エンコーディングされた値 ROMの空き −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 00h 000C0000h−000C07FFh 01h 000C0800h−000C0FFFh 02h 000C1000h−000C17FFh ・ ・ ・ ・ ・ ・ 3Dh 000DE800h−000DEFFFh 3Eh 000DE000h−000DE7FFh 3Fh 000DF800h−000DFFFFh
【0052】ブリッジRAM空きサイズ・レジスタに記憶された値は、PCIバス制御装置214によりデコーディングされ、ブリッジRAM空きアドレス・レジスタ(XPOSレジスタ15h−17h)に記憶された値とともに、子カード20のMCAスレーブ動作選択を制御するために用いられる。 例えば、もしブリッジRAMの空きがイネーブル状態(すなわち、ブリッジRAM空きサイズ・レジスタのビット0=1)であれば、システム・バス12上の19本の最上位アドレス・ライン(8k
バイト単位のため)が、ブリッジ17のPCIバス制御装置214によってデコーディングされることになる。
もしこのデコーディングされたアドレスが、ブリッジR
AM空きアドレス・レジスタに含まれる値と同じ位置か又は越えている位置から始まりかつブリッジRAM空きサイズ・レジスタによって指定される範囲を越えていなければ、PCI制御装置214は、PCIバス18を介して子カード20に対するPCI動作を開始する。
【0053】同様に、もしブリッジROMの空きがイネーブル状態(すなわち、ブリッジROMアドレス・レジスタのビット0=1)であり、かつデコーディングされたアドレスが、PCIバス制御装置214によりデコーディングされたブリッジROMアドレス・レジスタに含まれる値によって示される範囲内にあるならば、PCI
バス制御装置214は、PCIバス18を介して子カード20に対するPCI動作を開始する。
【0054】上記の説明に関して、いくつかの一般的な特徴をここでみてみる。 第1に、子カード20が、その搭載したRAMの量を示すためにそのPCIコンフィギュレーション空間にデータ・バイトをもたなければならない。 次に、子カード20は、その搭載RAMよりも小さい大きさの空き領域で動作できなければならない。 またさらに、もし子カード20が2kバイト以上の搭載R
OMをもっているならば、2kバイトの空きの制限内で動作できなければならない。 子カード20がRAM及びROMの空きに関する上記の要求を処理する方法は、デバイス固有であって本発明の一部ではない。
【0055】さらに、子カード20が搭載ROMをもつならば、RAMとROMの空き同士が重なり合う状態において動作できなければならない。 例えば、子カード2
0のRAMの空きがC0000hからD0000hまでの範囲の8kバイトである場合、RAMの空きとROM
の空きは、同じ開始アドレスをもつことになる。 それ故、子カード20は、RAMとROMとの間の調整をするための何らかの手段を提供することによって、空きを共有できるようにしなければならない。 次に、子カード20がそのRAMの空きが8kバイトではなく6kバイトであることを検知しかつ6kバイトのRAM空きで動作できなければならない場合に、子カード20は、RA
Mの空きの最初の2kバイトをディスエーブルとする機能を備えていなければならない。 ここでも、この処理がなされる方法はデバイス固有であるため、本発明の一部ではない。
【0056】パーソナル・コンピュータ10のDOS起動時にポーリングされた際に、C0000hからD00
00hまでのアドレス範囲のRAMやROMの空きを割当てられる子カード20等の装置は、正しいROMシグネチャにより応答しなければならない。 そうすることによって、ホスト10のメモリ・マネージャが、子カード20へ割当てられたメモリの空きを再割当てしないようになる。 従って、DOS起動において、空きのオフセット「00h」は、「55h」の値を含まねばならず、オフセット「01h」は「AAh」の値を含まねばならず、そしてオフセット「02h」は、2kバイト又は8
kバイトに対してそれぞれ「04h」又は「10h」の値を含まねばならない。 この必要性は、以下のように処理される。 すなわち、メモリ・マネージャ制御レジスタであるXPOSレジスタ19及びメモリ・マネージャ・
データ・レジスタであるXPOSレジスタ1Ahに含まれるデータに基づいて、アダプタ・カード14が、そのブリッジ17にこれらのオフセットに対して応答させることによって処理される。
【0057】メモリ・マネージャ制御レジスタのビット1から0は、ブリッジ17のデータ・フロー・モードを設定するために用いられる。 ビット7から2は用いられない。 ブリッジ17が通過モード(ビット1から0=0
0b)に設定されたとき、システム・バス12からのアドレスがブリッジ17を通ってPCIインタフェース2
00へそしてPCIバス18へと渡される。 データ・フロー・モードがRAM(ビット1から0=01b)又はROM(ビット1から0=10b)に設定されているとき、ブリッジ17は、ROMシグネチャについてのデータを与える(オフセット「00h」、「01h」及び「02h」)。 オフセット「00h」及び0「1h」
は、それぞれハード的に「55h」及び「AAh」にコード化される。 オフセット「02h」についてのデータは、メモリ・マネージャ・データ・レジスタによって与えられ、このデータは、子カード20に対して割当てられている空きが2kバイトであるか8kバイトであるかによってそれぞれ「04h」又は「10h」を含んでいる。
【0058】図5は、子カード20に対してメモリ空間が割当てられかつその後上書きされないことを確保するべく適切なレジスタを設定するための方法のブロック図を示している。 ステップ500において、POSレジスタ7へ「00h」が書込まれ、POSレジスタ6へ「1
4h」が書込まれる。 ステップ502において、POS
レジスタ4のビット0へ2進値1が書込まれ、10進値Xに相当する4ビットの2進値がPOSレジスタ4のビット1から4へ書込まれる。 ステップ500と502による効果は、前述のように、ブリッジRAMの空きをイネーブルとしかつ子カード20が使用可能なメモリの量を示すためにブリッジRAM空きサイズ・レジスタに対して書込みを行うことである。
【0059】ステップ504において、POSレジスタ6へ「15h」が書込まれ、ステップ506において、
POSレジスタ4へ、ブリッジRAM空きアドレス・レジスタのMSBからなる8ビット値が書込まれる。 ステップ508において、POSレジスタ6へ「16h」が書込まれる。 ステップ510において、POSレジスタ4へ、ブリッジRAM空きアドレス・レジスタの第2のMSBからなる8ビット値が書込まれる。 ステップ51
2において、POSレジスタ6へ「17h」が書込まれる。 ステップ514において、POSレジスタ4のビット7から5へ、ブリッジRAM空きアドレス・レジスタの3つの最下位ビットを表す3ビット値が書込まれる。
ステップ504から514までによる効果は、XPOS
レジスタ15hから17hからなる24ビットのブリッジRAM空きアドレス・レジスタに対して8kバイト単位で、子カード20のRAMの空きの開始アドレスを書込むことである。
【0060】ここで、XPOSレジスタ17hのビット4から0、及び同様にブリッジRAM空きアドレス・レジスタのビット4から0は任意でよいことを注記する。
これは、上記のように、MCAメモリ・サイクルのデコーディングにおいて、ブリッジRAM空きサイズ・レジスタに含まれる5ビット値が、子カード20のもつ使用可能なRAMの量を判断するためにPCIバス制御装置214によって用いられるためである。 加えて、MCA
アドレスの上位の19ビットがPCIバス制御装置21
4へ入力されて、ブリッジRAM空きアドレス・レジスタの24から25ビットに記憶されたブリッジRAM空きアドレスと比較される。 ブリッジRAM空きアドレスもまた、PCIバス制御装置214へ入力され、子カード20のRAMがアクセスされているか否かを判断する。 もしアクセスされていれば、PCIバス制御装置2
14は、PCIインタフェース200を介してMCAアドレスをPCIバス18へと渡す。
【0061】ステップ516において、POSレジスタ6へ「18h」が書込まれる。 ステップ518において、POSレジスタ4のビット0へ「1」が書込まれ、
かつビット6から4へ2kバイトのブリッジROMの空きを表す6ビット値が書込まれる。 ステップ516と5
18とによる効果は、上記のように、ブリッジ空きサイズ・レジスタ(XPOSレジスタX18h)のビット0
を「1」に設定することによりブリッジの空きをイネーブルとすること、及び子カード20のROMの空きの場所の記憶をブリッジ空きアドレス・レジスタのビット6
から1へ2kバイトのブリッジ空きの場所を表す値として設定することである。
【0062】ステップ520において、POSレジスタ6へ「19h」が書込まれる。 ステップ522において、POSレジスタ4のビット1から0へ2ビット値が書込まれる。 ステップ520と522とによる効果は、
前述のとおり、メモリ・マネージャ制御レジスタを初期化してブリッジ17のデータ・フロー・モードを設定することである。 ステップ524において、POSレジスタ6へ「1Ah」が書込まれる。 ステップ526において、2kバイトの空き又は8kバイトの空きのそれぞれに対してPOSレジスタ4へ「04h」又は「10h」
が書込まれる。 ステップ524と526とによる効果は、メモリ・マネージャ・データ・レジスタを初期化することによって、これをROMシグネチャのオフセット「02h」として用いることができることである。 ステップ528でこのプロセスは終了する。
【0063】まとめとして、本発明の構成に関して以下の事項を開示する。
【0064】(1)アダプタ・カードの第1の形式のバス上に設置された少なくとも1つの子カードに対してコンフィギュレーションを行いかつシステム・メモリ空間を確実に割当てるための方法であって、前記アダプタ・
カードが、第2の形式のバスを介してコンピュータのホスト部分へ接続されかつ前記第1の形式のバスと前記第2の形式のバスとをインタフェースするためのブリッジを備えており、前記方法が、前記少なくとも1つの子カード上に設置されたデバイスを識別する値を前記アダプタ・カードの第1のレジスタに記憶するステップと、前記識別されたデバイスのコンフィギュレーション・データのバイトをアドレス指定する値を前記アダプタ・カードの第2のレジスタに記憶するステップと、前記識別されたデバイスの前記アドレス指定されたコンフィギュレーション・データ・バイトへ書込むべきコンフィギュレーション・データを前記アダプタ・カードの第3のレジスタへ書込むステップと、前記少なくとも1つの子カードがRAMを含むことに応答して、前記RAMをアドレス指定するために選択的にRAMの空きをイネーブルとするステップと、前記少なくとも1つの子カードがRO
Mを含むことに応答して、前記ROMをアドレス指定するために選択的にROMの空きをイネーブルとするステップと、前記RAMの空きの大きさを前記アダプタ・カードの第4のレジスタに記憶するステップと、前記RA
Mの空きの開始アドレスを前記アダプタ・カードの第5
のレジスタに記憶するステップと、前記ROMの空きの場所を前記アダプタ・カードの第6のレジスタに記憶するステップとを有し、前記アダプタ・カードの各レジスタが、電気的に前記ブリッジへ接続されているアダプタ・カードの子カードへのコンフィギュレーション及びメモリ空間割当て方法。 (2)前記第1の形式のバスと前記第2の形式のバスとをインタフェースするために必要な動作を実行するべく前記ブリッジをイネーブルとするステップを有する上記(1)に記載の方法。 (3)前記第1の形式のバスがPCIバスからなり、かつ前記第2の形式のバスがMCAバスからなる上記(1)に記載の方法。 (4)前記アダプタ・カードの各レジスタが、前記アダプタ・カードのXPOSレジスタからなる上記(1)に記載の方法。 (5)前記ブリッジをイネーブルとするステップが、前記アダプタ・カードの第7のレジスタの第1のビットを設定することを含む上記(2)に記載の方法。 (6)前記第1のバスが32本のアドレス・ラインを有し、前記32本のアドレスレインが24本の最上位アドレス・ラインと8本の最下位アドレス・ラインとからなり、かつ前記識別されたデバイスが前記24本の最上位アドレス・ラインの1つへ接続されており、前記方法が、前記第1のレジスタに記憶された前記値をデコーディングするためのデコーダを用いるステップと、前記デコーディングされた値を前記第1の形式のバスの前記2
4本の最上位アドレス・ライン上へ出力し、前記デコーディングされた値が前記24本の最上位アドレス・ラインのうちの前記1つをアクティブとするステップと、前記第2のレジスタに記憶された値を前記第1の形式のバスの前記8本の最下位アドレス・ライン上に出力するステップとを有する上記(1)に記載の方法。 (7)前記ブリッジが、前記MCAバスのCDSETU
Pラインと前記PCIバスのIDSELラインとをインタフェースするステップを有する上記(1)に記載の方法。 (8)前記第1の形式のバスが少なくとも8本のデータ・ラインで構成され、かつ前記コンフィギュレーション・データの書込みが、前記コンフィギュレーション・データを前記少なくとも8本のデータ・ライン上へ出力することを含む上記(1)に記載の方法。 (9)前記RAMの空きを選択的にイネーブルとするステップが、前記第1のレジスタの少なくとも1つのビットを設定することを含む上記(1)に記載の方法。 (10)前記ROMの空きを選択的にイネーブルとするステップが、前記第3のレジスタの少なくとも1つのビットを設定することを含む上記(1)に記載の方法。 (11)前記ブリッジのデータ・フロー・モードを設定するステップと、前記少なくとも1つの子カードのRO
Mシグネチャのオフセット02hとして使用されるべき値を前記アダプタ・カードの第8のレジスタに記憶し、
前記第8のレジスタが電気的に前記ブリッジに接続されるステップとを有する上記(1)に記載の方法。 (12)前記ROMシグネチャのオフセット00hを5
5hへハード的に書込みするステップと、前記ROMシグネチャのオフセット01hをAAhへハード的に書込みするステップとを有する上記(11)に記載の方法。 (13)前記ブリッジ・データ・フロー・モードが第1
のモードへ設定されたことに応答して、前記ブリッジが、前記第2の形式のバスから受信したアドレスを前記子カードへ前記第1の形式のバスを介して渡すステップと、前記ブリッジ・データ・フロー・モードが第2のモードへ設定されたことに応答して、前記ブリッジが、前記コンピュータのDOS起動中に前記ROMシグネチャを前記ホスト部分へ与えるステップとを有する上記(1
1)に記載の方法。 (14)前記ブリッジ・データ・フロー・モードを設定するステップが、前記アダプタ・カードの第9のレジスタの少なくとも1つのビットを設定することを含み、前記第9のレジスタが電気的に前記ブリッジに接続されかつ前記アダプタ・カードのXPOSレジスタからなる上記(11)に記載の方法。 (15)アダプタ・カードの第1の形式のバス上に設置された少なくとも1つの子カードに対してシステム・メモリ空間を確実に割当てるための方法であって、前記アダプタ・カードが、第2の形式のバスを介してコンピュータのホスト部分へ接続されかつ前記第1の形式のバスと前記第2の形式のバスとをインタフェースするためのブリッジを備えており、前記方法が、前記少なくとも1
つの子カードがRAMを含むことに応答して、前記RA
Mをアドレス指定するために選択的にRAMの空きをイネーブルとするステップと、前記少なくとも1つの子カードがROMを含むことに応答して、前記ROMをアドレス指定するために選択的にROMの空きをイネーブルとするステップと、前記RAMの空きの大きさを前記アダプタ・カードの第1のレジスタに記憶するステップと、前記RAMの空きの開始アドレスを前記アダプタ・
カードの第2のレジスタに記憶するステップと、前記R
OMの空きの場所を前記アダプタ・カードの第3のレジスタに記憶するステップとを有し、前記第1、第2及び第3の各レジスタが、電気的に前記ブリッジへ接続されているアダプタ・カードの子カードへのメモリ空間割当て方法。 (16)前記第1の形式のバスがPCIバスからなり、
かつ前記第2の形式のバスがMCAバスからなる上記(15)に記載の方法。 (17)前記ブリッジのデータ・フロー・モードを設定するステップと、前記少なくとも1つの子カードのRO
Mシグネチャのオフセット02hとして使用されるべき値を前記アダプタ・カードの第4のレジスタに記憶し、
前記第4のレジスタが電気的に前記ブリッジに接続されるステップとを有する上記(15)に記載の方法。 (18)前記ROMシグネチャのオフセット00hを5
5hへハード的に書込みするステップと、前記ROMシグネチャのオフセット01hをAAhへハード的に書込みするステップとを有する上記(17)に記載の方法。 (19)前記第4のレジスタに記憶するステップが、前記少なくとも1つの子カードが8kバイトのメモリの空きを有することに応答して、前記第4のレジスタに10
hを記憶するステップと、前記子カードが8kバイトのメモリの空きを有しておらずかつ2kバイトのメモリの空きを有することに応答して、前記第4のレジスタに0
4hを記憶するステップとを含む上記(17)に記載の方法。 (20)前記第1、第2及び第3の各レジスタが、前記アダプタ・カードのXPOSレジスタからなる上記(1
7)に記載の方法。 (21)前記ブリッジ・データ・フロー・モードが第1
のモードへ設定されたことに応答して、前記ブリッジが、前記第2の形式のバスから受信したアドレスを前記子カードへ前記第1の形式のバスを介して渡すステップと、前記ブリッジ・データ・フロー・モードが第2のモードへ設定されたことに応答して、前記ブリッジが、前記コンピュータのDOS起動中に前記ROMシグネチャを前記ホスト部分へ与えるステップとを有する上記(1
7)に記載の方法。 (22)前記RAMの空きを選択的にイネーブルとするステップが、前記第1のレジスタの少なくとも1つのビットを設定することを含む上記(15)に記載の方法。 (23)前記ROMの空きを選択的にイネーブルとするステップが、前記第3のレジスタの少なくとも1つのビットを設定することを含む上記(15)に記載の方法。 (24)前記ブリッジ・データ・フロー・モードを設定するステップが、前記アダプタ・カードの第5のレジスタの少なくとも1つのビットを設定することを含み、前記第5のレジスタが電気的に前記ブリッジに接続されかつ前記アダプタ・カードのXPOSレジスタからなる上記(11)に記載の方法。 (25)MCAバスを介してコンピュータのホスト部分へ接続されたアダプタ・カード上のPCIバスに設置された子カードのコンフィギュレーションを行う方法であって、前記アダプタ・カードが、前記PCIバスと前記MCAバスとのインタフェースをするためのブリッジを備えており、前記方法が、前記少なくとも1つの子カード上に複数のPCI適合デバイスの1つを識別する値を前記アダプタ・カードの第1のレジスタに記憶するステップと、前記識別された1つPCI適合デバイスのコンフィギュレーション・データのバイトをアドレス指定する値を前記アダプタ・カードの第2のレジスタに記憶するステップと、コンフィギュレーション・データを前記アダプタ・カードの第3のレジスタへ書込むことによって、前記識別された1つのPCI適合デバイスの前記アドレス指定されたコンフィギュレーション・データ・バイトへ前記コンフィギュレーション・データを書込むステップとを有するアダプタ・カードの子カードのコンフィギュレーション方法。 (26)前記PCIバスと前記MCAバスとをインタフェースするために必要な動作を実行するために前記ブリッジをイネーブルとするステップを含む上記(25)に記載の方法。 (27)前記ブリッジをイネーブルとするステップが、
前記アダプタ・カードの第4のレジスタの第1のビットを設定することを含む上記(26)に記載の方法。 (28)前記第1のバスが32本のアドレス・ラインを有し、前記32本のアドレスレインが24本の最上位アドレス・ラインと8本の最下位アドレス・ラインとからなり、かつ前記識別された複数のPCI適合デバイスの1つが前記24本の最上位アドレス・ラインの1つへ接続されており、前記方法が、前記第1のレジスタに記憶された前記値をデコーディングするためのデコーダを用いるステップと、前記デコーディングされた値を前記P
CIバスの前記24本の最上位アドレス・ライン上へ出力し、前記デコーディングされた値が前記24本の最上位アドレス・ラインのうちの前記1つをアクティブとするステップと、前記第2のレジスタに記憶された値を前記PCIバスの前記8本の最下位アドレス・ライン上に出力するステップとを有する上記(25)に記載の方法。 (29)前記ブリッジが、前記MCAバスのCDSET
UPラインと前記PCIバスのIDSELラインとをインタフェースするステップを有する上記(25)に記載の方法。 (30)前記PCIバスが少なくとも8本のデータ・ラインで構成され、かつ前記コンフィギュレーション・データの書込みが、前記コンフィギュレーション・データを前記少なくとも8本のデータ・ライン上へ出力することを含む上記(25)に記載の方法。 (31)前記第1、第2、第3及び第4の各レジスタが、前記アダプタ・カードのXPOSレジスタからなり、かつ前記ブリッジへ電気的に接続されている上記(28)に記載の方法。 (32)前記ブリッジが前記アダプタ・カード上に設置されているか又はコンピュータのプレーナ上に設置されているかを判断するために、前記第4のレジスタの読取り専用ビットを読取るステップを含む上記(28)に記載の方法。 (33)前記ブリッジが減算アドレス・デコーティングをサポートすることに応答して、前記第4のレジスタの第2のビットを第1の状態に設定するステップと、前記ブリッジが減算/正アドレス・デコーディングをサポートすることに応答して、前記第4のレジスタの第2のビットを第2の状態に設定するステップとを含む上記(2
8)に記載の方法。 (34)アダプタ・カードのPCIバス上に設置された少なくとも1つの子カードに対してコンフィギュレーションを行いかつシステム・メモリ空間を確実に割当てるための装置であって、前記アダプタ・カードが、MCA
バスを介してコンピュータのホスト部分へ接続されかつ前記PCIバスと前記MCAバスとをインタフェースするためのブリッジを備えており、前記装置が、前記少なくとも1つの子カード上に設置されたデバイスを識別する値を記憶するために前記ブリッジへ電気的に接続された第1のレジスタ手段と、前記識別されたデバイスのコンフィギュレーション・データのバイトをアドレス指定する値を記憶するために前記ブリッジへ電気的に接続された第2のレジスタ手段と、前記識別されたデバイスの前記アドレス指定されたコンフィギュレーション・データ・バイトへ書込むべきコンフィギュレーション・データを、前記ブリッジへ電気的に接続された第3のレジスタ手段へ書込む手段と、前記少なくとも1つの子カードのRAMの空きの大きさを記憶するために前記ブリッジへ電気的に接続された第4のレジスタ手段と、前記RA
Mの空きの開始アドレスを記憶するために前記ブリッジへ電気的に接続された第5のレジスタ手段と、前記少なくとも1つの子カードのROMの空きの場所を記憶するために前記ブリッジへ電気的に接続された第6のレジスタ手段とを有するアダプタ・カードの子カードのコンフィギュレーション及びメモリ空間割当てのための装置。 (35)前記第4のレジスタ手段が、前記RAMの空きを選択的にイネーブルとするための手段を含む上記(3
4)に記載の装置。 (36)前記第6のレジスタ手段が、前記ROMの空きを選択的にイネーブルとするための手段を含む上記(3
4)に記載の装置。 (37)前記レジスタ手段の各々が、前記アダプタ・カードのXPOSレジスタからなる上記(34)に記載の装置。 (38)前記ブリッジを選択的にイネーブルとするための手段を含む上記(34)に記載の装置。 (39)前記ブリッジを選択的にイネーブルとするための手段が、前記ブリッジへ電気的に接続された第7のレジスタ手段の第1のビットをからなり、前記第1のビットが第1のバイナリ状態へ設定されたとき前記ブリッジがイネーブルとされ、かつ前記第1のビットが第2のバイナリ状態へ設定されたとき前記ブリッジがディスエーブルとされる上記(38)に記載の装置。 (40)前記PCIバスが32本のアドレス・ラインを有し、かつ前記識別されたデバイスが前記24本の最上位アドレス・ラインの1つへ接続されており、前記装置が、前記第1のレジスタに記憶された前記値をデコーディングするための、前記第1のレジスタ手段に接続されたデコーダ手段と、前記デコーディングされた値を受信してこの値を24個の最上位ビットに記憶するために接続され、かつ前記第2のレジスタ手段に記憶された前記値を受信してこの値を8個の最下位ビットに記憶するために接続された32ビットのバッファ手段と、前記バッファ手段の前記内容を前記PCIバスの32本のアドレス・ライン上に出力するために、前記バッファ手段と前記PCIバスとの間に接続されたインタフェース手段とを有する上記(34)に記載の装置。 (41)前記MCAバスのCDSETUPラインと前記PCIバスのIDSELラインとをインタフェースするための手段を含む上記(34)に記載の装置。 (42)前記コンフィギュレーション・データが前記P
CIバスのデータ・ラインへ出力されるべく、前記第3
のレジスタ手段と前記PCIバスとをインタフェースするための手段を含む上記(34)に記載の装置。 (43)前記ブリッジのデータ・フロー・モードを設定するための手段と、前記少なくとも1つの子カードのR
OMシグネチャのオフセット02hとして用いられるべき値を記憶するために、前記ブリッジへ電気的に接続されかつ前記アダプタ・カードのXPOSレジスタからなる第8のレジスタ手段とを有する上記(34)に記載の装置。 (44)前記ブリッジ・データ・フロー・モードを設定するための手段が、前記ブリッジへ電気的に接続されかつ前記アダプタ・カードのXPOSレジスタからなる第9のレジスタの少なくとも1つのビットを有する上記(43)に記載の装置。
【0065】
【発明の効果】以上のことから、本発明によって、MC
Aのコンフィギュレーション・サイクル及び信号を用いてPCIの子カードのコンフィギュレーションを行うための、及び、システム立上げにおいてアダプタ・カード上に設置された子カードに対してメモリ空間を確実に割当てるための方法及び装置が提供される。 本発明は、多くの形態と実施態様をとりうることは明らかである。 ここに示した実施例は、本発明を限定しようとするものではなく、本発明の主旨又は範囲から逸脱することなく多くの変形がなされ得ることは自明である。 例えば、複数のPCI子カードをアダプタ・カード14のPCIバス18上に設定して、ブリッジ17のPCIバス制御装置214からの制御信号により制御してもよい。 さらに、
異なるエレメントを、単一の集積回路チップとして又は標準的方法で相互接続されたディスクリート素子によるデジタル部品もしくはアナログ部品の種々の組合せとして実現してもよい。
【図1】本発明を実施するアダプタ・カードの概略的なブロック図である。
【図2】図1のアダプタ・カードのブリッジの詳細なブロック図である。
【図3】図1のアダプタ・カード上に設置されたPCI
子カードのコンフィギュレーションを行うべくMCA信号と立上げサイクルとを用いるための本発明による方法の流れ図である。
【図4】本発明によるメモリ空間割当て保護を実行するための、図2のブリッジの部分の詳細なブロック図である。
【図5】適切な大きさのメモリ空間がPCI拡張カードに対して割当てられかつその後上書きされないことを確保するための本発明による方法の流れ図である。
8 パーソナル・コンピュータ 10 ホスト部分 12 システム・バス 14 アダプタ・カード 16 アダプタ回路 17 ブリッジ 18 PCIバス 20 子カード 28 MCAバス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アマド・ナシフ アメリカ合衆国33013 フロリダ州、ヒア リー、イースト・シックスティフォース・ ストリート 640 (72)発明者 スペンサー・ジー・ラウエンザーン、セカ ンド アメリカ合衆国33445 フロリダ州、デル レイ・ビーチ、ビレッジ・ドライブ 4240 −エイ
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
具有多模PCIE功能的存储控制器的系统、方法和设备 | 2020-05-11 | 424 |
一种智能自主联动型WEB应用防护主机 | 2020-05-11 | 901 |
一种测试仿真系统 | 2020-05-12 | 393 |
一种将显示和操作系统分离的深度面板 | 2020-05-08 | 906 |
一种基于CPCI总线的双冗余可重构星载计算机系统 | 2020-05-12 | 448 |
电机仿真系统和方法 | 2020-05-08 | 1027 |
一种基于PCI总线的双通道共享时钟触发调延装置 | 2020-05-11 | 29 |
一种基于FPGA的PCI总线控制器及控制方法 | 2020-05-08 | 95 |
大气数据计算机通用检测平台 | 2020-05-11 | 458 |
TYPE-C接口双面显示器 | 2020-05-08 | 458 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。