JP2986306B2 - コンピュータ・システム、マイクロコードをロードするための装置 - Google Patents
コンピュータ・システム、マイクロコードをロードするための装置Info
- Publication number
- JP2986306B2 JP2986306B2 JP5135547A JP13554793A JP2986306B2 JP 2986306 B2 JP2986306 B2 JP 2986306B2 JP 5135547 A JP5135547 A JP 5135547A JP 13554793 A JP13554793 A JP 13554793A JP 2986306 B2 JP2986306 B2 JP 2986306B2
- Authority
- JP
- Japan
- Prior art keywords
- microcode
- computer system
- volatile memory
- memory
- processor
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】
【産業上の利用分野】本発明は、パーソナル・コンピュ
ータ・システムに関し、より詳細には、ファームウェア
をロードし、初期設定し、構成し、かつインストールす
ることに関する。
ータ・システムに関し、より詳細には、ファームウェア
をロードし、初期設定し、構成し、かつインストールす
ることに関する。
【0002】一般にパーソナル・コンピュータ・システ
ム、特にIBMパーソナル・コンピュータは、今日の社
会の多数の分野にコンピュータ機能を提供するために広
く使用されてきている。パーソナル・コンピュータは通
常、システム・プロセッサ、表示装置、キーボード、1
台または複数のディスケット・ドライブ、固定ディスク
記憶装置、「マウス」などオプションのポインティング
装置、およびオプションのプリンタを有するシステム装
置を含む、デスクトップ・コンピュータ、床置き型コン
ピュータ、またはポータブル・コンピュータであると定
義することができる。これらのシステムは主として、1
人のユーザまたは小グループのユーザに独立したコンピ
ューティング能力を与えるように設計されており、個人
または会社が購入できるように安価な価格が付けられて
いる。そのようなパーソナル・コンピュータ・システム
の例としては、たとえばIBM社のパーソナル・コンピ
ュータ、パーソナル・コンピュータXT、パーソナル・
コンピュータAT、および同じくIBM社のパーソナル
・システム/2モデル25、30、50、55、56、
57、60、65、70、80、90、95などとして
販売されているものがある(以下、それぞれIBM P
C、XT、AT、およびPS/2と称する)。
ム、特にIBMパーソナル・コンピュータは、今日の社
会の多数の分野にコンピュータ機能を提供するために広
く使用されてきている。パーソナル・コンピュータは通
常、システム・プロセッサ、表示装置、キーボード、1
台または複数のディスケット・ドライブ、固定ディスク
記憶装置、「マウス」などオプションのポインティング
装置、およびオプションのプリンタを有するシステム装
置を含む、デスクトップ・コンピュータ、床置き型コン
ピュータ、またはポータブル・コンピュータであると定
義することができる。これらのシステムは主として、1
人のユーザまたは小グループのユーザに独立したコンピ
ューティング能力を与えるように設計されており、個人
または会社が購入できるように安価な価格が付けられて
いる。そのようなパーソナル・コンピュータ・システム
の例としては、たとえばIBM社のパーソナル・コンピ
ュータ、パーソナル・コンピュータXT、パーソナル・
コンピュータAT、および同じくIBM社のパーソナル
・システム/2モデル25、30、50、55、56、
57、60、65、70、80、90、95などとして
販売されているものがある(以下、それぞれIBM P
C、XT、AT、およびPS/2と称する)。
【0003】これらのシステムは、2つの一般的ファミ
リーに分類することができる。第1のファミリーは通
常、ファミリー1モデルと呼ばれ、ATコンピュータや
その他の「IBM互換」マシンで使われているようなバ
ス・アーキテクチャを使用するものである。第2のファ
ミリーは、ファミリー2モデルと呼ばれ、IBMのPS
/2モデル50ないし95で使われているIBMのマイ
クロチャネル・バス・アーキテクチャを使用するもので
ある。ファミリー1モデルおよびファミリー2モデルで
使用されるバス・アーキテクチャは当技術分野で周知で
ある。
リーに分類することができる。第1のファミリーは通
常、ファミリー1モデルと呼ばれ、ATコンピュータや
その他の「IBM互換」マシンで使われているようなバ
ス・アーキテクチャを使用するものである。第2のファ
ミリーは、ファミリー2モデルと呼ばれ、IBMのPS
/2モデル50ないし95で使われているIBMのマイ
クロチャネル・バス・アーキテクチャを使用するもので
ある。ファミリー1モデルおよびファミリー2モデルで
使用されるバス・アーキテクチャは当技術分野で周知で
ある。
【0004】ファミリー1モデルのもっとも初期のパー
ソナル・コンピュータ・システム、IBM PCから現
行のファミリー2モデルに至るまで、パーソナル・コン
ピュータのシステム・プロセッサには、インテル(In
tel)社の86ファミリーのマイクロプロセッサが使
用されている。インテル86ファミリーのプロセッサに
は、インテル社から市販されている8088プロセッ
サ、8086プロセッサ、80286プロセッサ、80
386プロセッサ、80486プロセッサ等が含まれ
る。インテル86ファミリーのプロセッサのアーキテク
チャは、86ファミリーの以前のプロセッサに対して行
われたソフトウェアの投資を保存するのに役立つ、上位
互換の命令セットを提供する。この上位互換性は、この
ファミリーのプロセッサを使用するパーソナル・コンピ
ュータのソフトウェア・アプリケーションのベースを保
存することとなる。DOSオペレーティング・システム
やOS/2オペレーティング・システムなど一般に利用
されている周知のソフトウェア・オペレーティング・シ
ステムは、インテル86ファミリーの各種のプロセッサ
上で動作する。
ソナル・コンピュータ・システム、IBM PCから現
行のファミリー2モデルに至るまで、パーソナル・コン
ピュータのシステム・プロセッサには、インテル(In
tel)社の86ファミリーのマイクロプロセッサが使
用されている。インテル86ファミリーのプロセッサに
は、インテル社から市販されている8088プロセッ
サ、8086プロセッサ、80286プロセッサ、80
386プロセッサ、80486プロセッサ等が含まれ
る。インテル86ファミリーのプロセッサのアーキテク
チャは、86ファミリーの以前のプロセッサに対して行
われたソフトウェアの投資を保存するのに役立つ、上位
互換の命令セットを提供する。この上位互換性は、この
ファミリーのプロセッサを使用するパーソナル・コンピ
ュータのソフトウェア・アプリケーションのベースを保
存することとなる。DOSオペレーティング・システム
やOS/2オペレーティング・システムなど一般に利用
されている周知のソフトウェア・オペレーティング・シ
ステムは、インテル86ファミリーの各種のプロセッサ
上で動作する。
【0005】PCコンピュータおよびXTコンピュータ
は、インテル8088プロセッサを使用している。AT
コンピュータは、インテル80286プロセッサを使用
している。PS/2ラインでは、複数のインテル・プロ
セッサが使用されている。具体的に言うと、IBM P
CやIBM XTに類似のPS/2モデル30はインテ
ル8086プロセッサを使用している。PS/2モデル
50および60は共にインテル80286プロセッサを
使用している。IBM PS/2モデル80およびIB
M PS/2モデル70のいくつかのバージョンではイ
ンテル80386プロセッサを使用している。IBM
PS/2モデル70の他のバージョンとPC/2モデル
90 XP 486およびPC/2モデル95 XP
486は、インテル80486プロセッサを使用してい
る。
は、インテル8088プロセッサを使用している。AT
コンピュータは、インテル80286プロセッサを使用
している。PS/2ラインでは、複数のインテル・プロ
セッサが使用されている。具体的に言うと、IBM P
CやIBM XTに類似のPS/2モデル30はインテ
ル8086プロセッサを使用している。PS/2モデル
50および60は共にインテル80286プロセッサを
使用している。IBM PS/2モデル80およびIB
M PS/2モデル70のいくつかのバージョンではイ
ンテル80386プロセッサを使用している。IBM
PS/2モデル70の他のバージョンとPC/2モデル
90 XP 486およびPC/2モデル95 XP
486は、インテル80486プロセッサを使用してい
る。
【0006】インテル86ファミリーのプロセッサは、
様々な動作モードをサポートする。実モードは、1メガ
バイトのシステム・アドレス空間をサポートし、808
8プロセッサおよび8086プロセッサの唯一の動作モ
ードである。80286プロセッサは、実動作モードと
保護動作モードの両方をサポートする。保護モードは、
任意のアプリケーションが他のアプリケーションまたは
オペレーティング・システムの動作を妨害できないよう
にする動作モードを提供する。80286プロセッサ
は、最大16メガバイトのメモリを直接アドレス指定で
きるように拡張されたアドレス指定機能を提供する。下
位互換性を維持するため、80286プロセッサは実モ
ードで動作して、8088プロセッサまたは8086プ
ロセッサの実モードをエミュレートすることが可能であ
る。80386プロセッサおよび80486プロセッサ
は、最大4ギガバイトの物理メモリをアドレス指定する
ことができる。80386プロセッサおよび80486
プロセッサはまた、仮想86動作モードをサポートする
こともできる。仮想86モードは、保護モード環境の全
範囲内で実モードの動作特性をサポートする。
様々な動作モードをサポートする。実モードは、1メガ
バイトのシステム・アドレス空間をサポートし、808
8プロセッサおよび8086プロセッサの唯一の動作モ
ードである。80286プロセッサは、実動作モードと
保護動作モードの両方をサポートする。保護モードは、
任意のアプリケーションが他のアプリケーションまたは
オペレーティング・システムの動作を妨害できないよう
にする動作モードを提供する。80286プロセッサ
は、最大16メガバイトのメモリを直接アドレス指定で
きるように拡張されたアドレス指定機能を提供する。下
位互換性を維持するため、80286プロセッサは実モ
ードで動作して、8088プロセッサまたは8086プ
ロセッサの実モードをエミュレートすることが可能であ
る。80386プロセッサおよび80486プロセッサ
は、最大4ギガバイトの物理メモリをアドレス指定する
ことができる。80386プロセッサおよび80486
プロセッサはまた、仮想86動作モードをサポートする
こともできる。仮想86モードは、保護モード環境の全
範囲内で実モードの動作特性をサポートする。
【0007】パーソナル・コンピュータを用いる場合、
ソフトウェアとハードウェアの互換性がきわめて重要で
ある。ソフトウェアとハードウェアの互換性を提供する
ため、ハードウェアとソフトウェアの間に、マイクロコ
ードとも呼ばれる、システム常駐コードの絶縁層が確立
された。このコードは、ユーザのアプリケーション・プ
ログラムまたはオペレーティング・システムとハードウ
ェア装置との間に操作インタフェースを提供し、ユーザ
がハードウェア装置の特性を気にしなくてもすむように
する。最終的には、このコードが発展して基本入出力シ
ステム(BIOS)となり、アプリケーション・プログ
ラムまたはオペレーティング・システムをハードウェア
装置の特殊性から絶縁しながら、システムに新規な当該
ハードウェア装置を追加することができるようになっ
た。BIOSの重要性はすぐに明らかになった。なぜな
ら、それによって、装置ドライバがハードウェア装置に
依存する必要がなくなり、かつ装置ドライバにハードウ
ェア装置との中間インタフェースが与えられたからであ
る。BIOSは、コンピュータ・システムの一体部分で
あり、システム・プロセッサへのデータの出し入れを制
御していたので、システム・ユニットのシステム・プレ
ーナ・ボードに搭載され、読取り専用メモリ(ROM)
または消去可能プログラマブル読取り専用メモリ(EP
ROM)に格納されてユーザに出荷されていた。最初の
IBM PCのBIOSは、プレーナ・ボードに搭載さ
れたROMの8Kバイト(1Kバイトは1024バイト
を指す)を占めていた。このROMにはまた、コンピュ
ータ・システムを試験し初期設定する際に使用される電
源オン自己試験(POST)プログラムも含まれてい
た。コンピュータ・システムROMに常駐するコードの
集まりは、「システム・ファームウェア」または単に
「ファームウェア」として呼ばれるようになった。すな
わち、ファームウェアはPOST部分とBIOS部分を
含むものであった。BIOSが、POSTプログラムを
含むものと定義されることもあった。
ソフトウェアとハードウェアの互換性がきわめて重要で
ある。ソフトウェアとハードウェアの互換性を提供する
ため、ハードウェアとソフトウェアの間に、マイクロコ
ードとも呼ばれる、システム常駐コードの絶縁層が確立
された。このコードは、ユーザのアプリケーション・プ
ログラムまたはオペレーティング・システムとハードウ
ェア装置との間に操作インタフェースを提供し、ユーザ
がハードウェア装置の特性を気にしなくてもすむように
する。最終的には、このコードが発展して基本入出力シ
ステム(BIOS)となり、アプリケーション・プログ
ラムまたはオペレーティング・システムをハードウェア
装置の特殊性から絶縁しながら、システムに新規な当該
ハードウェア装置を追加することができるようになっ
た。BIOSの重要性はすぐに明らかになった。なぜな
ら、それによって、装置ドライバがハードウェア装置に
依存する必要がなくなり、かつ装置ドライバにハードウ
ェア装置との中間インタフェースが与えられたからであ
る。BIOSは、コンピュータ・システムの一体部分で
あり、システム・プロセッサへのデータの出し入れを制
御していたので、システム・ユニットのシステム・プレ
ーナ・ボードに搭載され、読取り専用メモリ(ROM)
または消去可能プログラマブル読取り専用メモリ(EP
ROM)に格納されてユーザに出荷されていた。最初の
IBM PCのBIOSは、プレーナ・ボードに搭載さ
れたROMの8Kバイト(1Kバイトは1024バイト
を指す)を占めていた。このROMにはまた、コンピュ
ータ・システムを試験し初期設定する際に使用される電
源オン自己試験(POST)プログラムも含まれてい
た。コンピュータ・システムROMに常駐するコードの
集まりは、「システム・ファームウェア」または単に
「ファームウェア」として呼ばれるようになった。すな
わち、ファームウェアはPOST部分とBIOS部分を
含むものであった。BIOSが、POSTプログラムを
含むものと定義されることもあった。
【0008】パーソナル・コンピュータ・ファミリーの
新規モデルが導入されると、ファームウェアは、新しい
入出力装置などの新しいハードウェア装置をサポートす
るように更新および拡張された。予想どおり、ファーム
ウェアのメモリ・サイズが増大し始めた。たとえば、I
BM ATの導入によって、ファームウェアには32K
バイトのROMが必要となった。PS/2ラインの導入
時に、拡張BIOS(ABIOS)として知られるきわ
めて斬新なBIOSが開発された。しかし、ソフトウェ
アの互換性を維持するため、ファミリー2モデルにファ
ミリー1モデルのBIOSを含めなければならなかっ
た。ファミリー1のBIOSは、互換性BIOS(CB
IOS)と呼ばれるようになった。このように、BIO
Sは進化して、複数の種類のBIOSを含むようになっ
た。パーソナル・コンピュータ・システム用の現在のア
ーキテクチャの定義では、最大128Kバイトのシステ
ム・ファームウェア・アドレス空間が用意されている。
新規モデルが導入されると、ファームウェアは、新しい
入出力装置などの新しいハードウェア装置をサポートす
るように更新および拡張された。予想どおり、ファーム
ウェアのメモリ・サイズが増大し始めた。たとえば、I
BM ATの導入によって、ファームウェアには32K
バイトのROMが必要となった。PS/2ラインの導入
時に、拡張BIOS(ABIOS)として知られるきわ
めて斬新なBIOSが開発された。しかし、ソフトウェ
アの互換性を維持するため、ファミリー2モデルにファ
ミリー1モデルのBIOSを含めなければならなかっ
た。ファミリー1のBIOSは、互換性BIOS(CB
IOS)と呼ばれるようになった。このように、BIO
Sは進化して、複数の種類のBIOSを含むようになっ
た。パーソナル・コンピュータ・システム用の現在のア
ーキテクチャの定義では、最大128Kバイトのシステ
ム・ファームウェア・アドレス空間が用意されている。
【0009】パーソナル・コンピュータ・システムをリ
ンクして、コンピュータのネットワーク(たとえば、ロ
ーカル・エリア・ネットワーク(LAN))を形成する
と、ユーザが、情報を交換し、入出力装置を共用し、特
定のハードファイルやディスケットなど特定の直接アク
セス記憶装置(DASD)を利用することが可能にな
る。通常、LANはクライアントとサーバを含む。サー
バは、LANの1つまたは複数のクライアント用の記憶
域を提供するためのDASDを含むコンピュータ・シス
テムである。クライアントまたはサーバは、システム・
ファームウェアの修正、更新、拡張、または保守を必要
とすることがある。
ンクして、コンピュータのネットワーク(たとえば、ロ
ーカル・エリア・ネットワーク(LAN))を形成する
と、ユーザが、情報を交換し、入出力装置を共用し、特
定のハードファイルやディスケットなど特定の直接アク
セス記憶装置(DASD)を利用することが可能にな
る。通常、LANはクライアントとサーバを含む。サー
バは、LANの1つまたは複数のクライアント用の記憶
域を提供するためのDASDを含むコンピュータ・シス
テムである。クライアントまたはサーバは、システム・
ファームウェアの修正、更新、拡張、または保守を必要
とすることがある。
【0010】ファームウェアを格納、ロード、および初
期設定するための構成が知られている。たとえば、米国
特許出願第521050号、米国特許出願第39886
5号、米国特許出願第777844号、米国特許出願第
799486号、米国特許出願第590749号を参照
されたい。
期設定するための構成が知られている。たとえば、米国
特許出願第521050号、米国特許出願第39886
5号、米国特許出願第777844号、米国特許出願第
799486号、米国特許出願第590749号を参照
されたい。
【0011】
【発明が解決しようとする課題】本発明は、ファームウ
ェアの格納、ロード、初期設定等を最適に行うことによ
って、効率的なメモリ空間の利用をはかることをその目
的とするものである。
ェアの格納、ロード、初期設定等を最適に行うことによ
って、効率的なメモリ空間の利用をはかることをその目
的とするものである。
【0012】
【課題を解決するための手段】本発明は、パーソナル・
コンピュータ・システムの"ROM"アドレス空間からA
BIOSプログラムを除去する。また本発明は、システ
ムの「自由」空間を増やしてROMアドレス空間を特徴
づけ、ABIOS装置サポート・ソフトウェア層を「要
求対応」モードでロードし、ディスク・ベースのコンピ
ュータ・システムと無媒体コンピュータ・システムの両
方において、互換性を保ちながら引き続きABIOSを
サポートする。マイクロコードの第1の部分(たとえば
CBIOS部分)をマイクロコードの第2の部分(たと
えばABIOS部分)とリンクすることにより、マイク
ロコード用に予約されたアドレス空間からマイクロコー
ドのABIOS部分を除去することが可能である。
コンピュータ・システムの"ROM"アドレス空間からA
BIOSプログラムを除去する。また本発明は、システ
ムの「自由」空間を増やしてROMアドレス空間を特徴
づけ、ABIOS装置サポート・ソフトウェア層を「要
求対応」モードでロードし、ディスク・ベースのコンピ
ュータ・システムと無媒体コンピュータ・システムの両
方において、互換性を保ちながら引き続きABIOSを
サポートする。マイクロコードの第1の部分(たとえば
CBIOS部分)をマイクロコードの第2の部分(たと
えばABIOS部分)とリンクすることにより、マイク
ロコード用に予約されたアドレス空間からマイクロコー
ドのABIOS部分を除去することが可能である。
【0013】本発明はまた、ABIOSをモジュール化
する手段を提供し、モジュール化ABIOSの各部分を
コンピュータ・システムの構成中に選択的に組み込む。
マイクロコードの一部分、たとえばABIOS部分をモ
ジュール化すると、装置サポート層をあるコンピュータ
・システム用に選択的に構成して、システムRAMの使
用を最適化することが可能になる。
する手段を提供し、モジュール化ABIOSの各部分を
コンピュータ・システムの構成中に選択的に組み込む。
マイクロコードの一部分、たとえばABIOS部分をモ
ジュール化すると、装置サポート層をあるコンピュータ
・システム用に選択的に構成して、システムRAMの使
用を最適化することが可能になる。
【0014】本発明はさらに、ABIOSの要件を決定
してシステム内に格納するための構成手順を提供し、か
つロード可能なABIOSをサポートできるプログラム
・インストール手順を提供する。
してシステム内に格納するための構成手順を提供し、か
つロード可能なABIOSをサポートできるプログラム
・インストール手順を提供する。
【0015】
【実施例】本発明は、以下の米国特許出願に関連を有す
る。"A METHOD AND APPARATUS FOR AN AUTOMATED DYNAM
IC LOAD OF AN ABIOS DEVICE SUPPORT LAYER IN A COMP
UTER SYSTEM"と題する米国特許出願第902315号。
る。"A METHOD AND APPARATUS FOR AN AUTOMATED DYNAM
IC LOAD OF AN ABIOS DEVICE SUPPORT LAYER IN A COMP
UTER SYSTEM"と題する米国特許出願第902315号。
【0016】図1を参照すると、本発明を使用するパー
ソナル・コンピュータ・システム100が示されてい
る。パーソナル・コンピュータ・システム100は、適
切な格納装置またはケーシング103、出力装置または
表示装置104(たとえば、従来のビデオ・ディスプレ
イ)、キーボード110などの入力装置、オプションの
マウス112、およびオプションのプリンタ114など
の出力装置を持つシステム・ユニット102を含む。ま
た、システム・ユニット102は、ディスケット・ドラ
イブ108(ディスケット(図示せず)を操作可能)や
ハード・ディスク・ドライブ(ハードファイル)106
など1台または複数の大容量記憶装置を含むことができ
る。
ソナル・コンピュータ・システム100が示されてい
る。パーソナル・コンピュータ・システム100は、適
切な格納装置またはケーシング103、出力装置または
表示装置104(たとえば、従来のビデオ・ディスプレ
イ)、キーボード110などの入力装置、オプションの
マウス112、およびオプションのプリンタ114など
の出力装置を持つシステム・ユニット102を含む。ま
た、システム・ユニット102は、ディスケット・ドラ
イブ108(ディスケット(図示せず)を操作可能)や
ハード・ディスク・ドライブ(ハードファイル)106
など1台または複数の大容量記憶装置を含むことができ
る。
【0017】図2を参照すると、システム・ユニット1
02を周知の方式で他のシステム・ユニット102Bと
電子的に接続して、ローカル・エリア・ネットワーク
(LAN)を形成することができる。LANでは、シス
テム・ユニット102がサーバとして機能し、システム
・ユニット102Bがクライアントとして機能する。シ
ステム・ユニット102Bはシステム・ユニット102
と同一である。ただし、システム・ユニット102Bは
ドライブ106、108を含まず、したがって無媒体ク
ライアントと呼ばれている。システム・ユニット10
2、102Bに他の従来の入出力装置を接続して、それ
らとの対話を行わせることができる。
02を周知の方式で他のシステム・ユニット102Bと
電子的に接続して、ローカル・エリア・ネットワーク
(LAN)を形成することができる。LANでは、シス
テム・ユニット102がサーバとして機能し、システム
・ユニット102Bがクライアントとして機能する。シ
ステム・ユニット102Bはシステム・ユニット102
と同一である。ただし、システム・ユニット102Bは
ドライブ106、108を含まず、したがって無媒体ク
ライアントと呼ばれている。システム・ユニット10
2、102Bに他の従来の入出力装置を接続して、それ
らとの対話を行わせることができる。
【0018】図3を参照すると、システム・ユニット1
02の一体型のプレーナ(マザーボード)200が示さ
れている。プレーナ200は、入出力スロットを持つ多
数の入出力バス・コネクタ232を実装または接続した
プリント回路板(PCB)201と、バス制御ユニット
214の制御下で高速のCPUローカル・バス210に
よってメモリ制御ユニット256に接続されたプロセッ
サ202を備えている。メモリ制御ユニット256はさ
らに、揮発性RAM264などの主記憶装置に接続され
ている。プロセッサ202としては、インテル8038
6、インテル80486などの適切なプロセッサを使用
することができる。システム100に必要な電源を供給
する電源ユニット(図示せず)に接続するためのシステ
ム電源コネクタ205が、プリント回路板201に実装
されている。
02の一体型のプレーナ(マザーボード)200が示さ
れている。プレーナ200は、入出力スロットを持つ多
数の入出力バス・コネクタ232を実装または接続した
プリント回路板(PCB)201と、バス制御ユニット
214の制御下で高速のCPUローカル・バス210に
よってメモリ制御ユニット256に接続されたプロセッ
サ202を備えている。メモリ制御ユニット256はさ
らに、揮発性RAM264などの主記憶装置に接続され
ている。プロセッサ202としては、インテル8038
6、インテル80486などの適切なプロセッサを使用
することができる。システム100に必要な電源を供給
する電源ユニット(図示せず)に接続するためのシステ
ム電源コネクタ205が、プリント回路板201に実装
されている。
【0019】CPUローカル・バス210(アドレス・
コンポーネント、データ・コンポーネント、および制御
コンポーネントを含む)が、プロセッサ202、オプシ
ョンの数値演算コプロセッサ204、オプションのキャ
ッシュ制御装置206、およびオプションのキャッシュ
・メモリ208を相互接続する。CPUローカル・バス
210にはシステム・バッファ212も接続されてい
る。システム・バッファ212は、アドレス・コンポー
ネント、データ・コンポーネント、および制御コンポー
ネントを含むシステム・バス216に接続されている。
システム・バス216は、システム・バッファ212と
入出力バッファ228の間を延びている。システム・バ
ス216はさらに、バス制御ユニット214と、直接メ
モリ・アクセス(DMA)制御ユニット220に接続さ
れている。DMA制御ユニット220は、中央アービタ
224およびDMA制御装置222を含む。入出力バッ
ファ228は、システム・バス216と入出力バス23
0の間のインタフェースを提供する。図のように、コン
ピュータ・システム100に適切なクロック信号を提供
するための、発振器(OSC)207が接続されてい
る。好ましい実施例は、当技術分野で周知のIBM P
S/2コンピュータ・システムのマイクロチャネル・バ
ス上で実施されるが、別のバス・アーキテクチャを本発
明で使用することもできることが、当業者には理解され
よう。
コンポーネント、データ・コンポーネント、および制御
コンポーネントを含む)が、プロセッサ202、オプシ
ョンの数値演算コプロセッサ204、オプションのキャ
ッシュ制御装置206、およびオプションのキャッシュ
・メモリ208を相互接続する。CPUローカル・バス
210にはシステム・バッファ212も接続されてい
る。システム・バッファ212は、アドレス・コンポー
ネント、データ・コンポーネント、および制御コンポー
ネントを含むシステム・バス216に接続されている。
システム・バス216は、システム・バッファ212と
入出力バッファ228の間を延びている。システム・バ
ス216はさらに、バス制御ユニット214と、直接メ
モリ・アクセス(DMA)制御ユニット220に接続さ
れている。DMA制御ユニット220は、中央アービタ
224およびDMA制御装置222を含む。入出力バッ
ファ228は、システム・バス216と入出力バス23
0の間のインタフェースを提供する。図のように、コン
ピュータ・システム100に適切なクロック信号を提供
するための、発振器(OSC)207が接続されてい
る。好ましい実施例は、当技術分野で周知のIBM P
S/2コンピュータ・システムのマイクロチャネル・バ
ス上で実施されるが、別のバス・アーキテクチャを本発
明で使用することもできることが、当業者には理解され
よう。
【0020】入出力バス230には、アダプタ・カード
(図示せず)を受けるためのスロット232を持つ複数
の入出力バス・コネクタが接続されている。これらのコ
ネクタは、さらに入出力装置またはメモリ(たとえば、
ハードファイル106)に接続することができる。図に
は都合上2個の入出力コネクタ232が示してあるが、
特定のシステムのニーズに合わせてさらに入出力コネク
タを追加することも容易である。アービトレーション・
バス226は、DMA制御装置222および中央アービ
タ224を入出力コネクタ232およびディスケット・
アダプタ246に結合する。システム・バス216に
は、メモリ制御ユニット256も接続されている。メモ
リ制御ユニット256は、メモリ制御装置258、アド
レス・マルチプレクサ260、およびデータ・バッファ
262を含む。メモリ制御ユニット256はさらに、R
AMモジュール264で表されるランダム・アクセス・
メモリなどの主記憶装置に接続されている。メモリ制御
ユニット256は、プロセッサ202ならびにRAM2
64の特定の区域との間でアドレスをマップするための
論理機構を含む。コンピュータ・システム100は基本
1メガバイトRAMモジュール264を備えるものとし
て示してあるが、図3のオプションのメモリ・モジュー
ル266、268、270で表されるような追加のメモ
リを相互接続できることに留意されたい。
(図示せず)を受けるためのスロット232を持つ複数
の入出力バス・コネクタが接続されている。これらのコ
ネクタは、さらに入出力装置またはメモリ(たとえば、
ハードファイル106)に接続することができる。図に
は都合上2個の入出力コネクタ232が示してあるが、
特定のシステムのニーズに合わせてさらに入出力コネク
タを追加することも容易である。アービトレーション・
バス226は、DMA制御装置222および中央アービ
タ224を入出力コネクタ232およびディスケット・
アダプタ246に結合する。システム・バス216に
は、メモリ制御ユニット256も接続されている。メモ
リ制御ユニット256は、メモリ制御装置258、アド
レス・マルチプレクサ260、およびデータ・バッファ
262を含む。メモリ制御ユニット256はさらに、R
AMモジュール264で表されるランダム・アクセス・
メモリなどの主記憶装置に接続されている。メモリ制御
ユニット256は、プロセッサ202ならびにRAM2
64の特定の区域との間でアドレスをマップするための
論理機構を含む。コンピュータ・システム100は基本
1メガバイトRAMモジュール264を備えるものとし
て示してあるが、図3のオプションのメモリ・モジュー
ル266、268、270で表されるような追加のメモ
リを相互接続できることに留意されたい。
【0021】入出力バッファ218が、システム・バス
216とプレーナ入出力バス234の間に結合されてい
る。プレーナ入出力バス234は、アドレス・コンポー
ネント、データ・コンポーネント、および制御コンポー
ネントを含む。プレーナ入出力バス234に沿って、各
種の入出力アダプタと、ディスプレイ・アダプタ236
(オプションの表示装置104の駆動に使用)、クロッ
ク/CMOS RAM250、不揮発性RAM(NVR
AM)248、シリアル・アダプタ240(「シリア
ル」の代りに「非同期」および「RS232」の語も使
用される)、パラレル・アダプタ238、複数のタイマ
252、ディスケット・アダプタ246、キーボード/
マウス制御装置244、割込み制御装置254、ファー
ムウェア・サブシステム242などその他の周辺コンポ
ーネントが結合されている。ファームウェア・サブシス
テムは通常、POSTプログラムおよびBIOSプログ
ラムを含む不揮発性プログラム記憶域(たとえば、RO
M)を備えている。
216とプレーナ入出力バス234の間に結合されてい
る。プレーナ入出力バス234は、アドレス・コンポー
ネント、データ・コンポーネント、および制御コンポー
ネントを含む。プレーナ入出力バス234に沿って、各
種の入出力アダプタと、ディスプレイ・アダプタ236
(オプションの表示装置104の駆動に使用)、クロッ
ク/CMOS RAM250、不揮発性RAM(NVR
AM)248、シリアル・アダプタ240(「シリア
ル」の代りに「非同期」および「RS232」の語も使
用される)、パラレル・アダプタ238、複数のタイマ
252、ディスケット・アダプタ246、キーボード/
マウス制御装置244、割込み制御装置254、ファー
ムウェア・サブシステム242などその他の周辺コンポ
ーネントが結合されている。ファームウェア・サブシス
テムは通常、POSTプログラムおよびBIOSプログ
ラムを含む不揮発性プログラム記憶域(たとえば、RO
M)を備えている。
【0022】クロック/CMOS RAM 250は、
時刻計算に使用される。不揮発性RAM 248は、シ
ステム構成データを格納するのに使用される。すなわ
ち、非揮発性RAM 248は、コンピュータ・システ
ム100の現在の構成を記述する値を含む。不揮発性R
AM 248は、たとえば、アダプタ・カード初期設定
データ、固定ディスクまたはディスケットの容量、主記
憶装置の量などを記述する情報を含む。さらに、これら
のデータは、構成プログラムが実行されるたびに不揮発
性RAM 248に格納される。この構成プログラム
は、IBM PS/2コンピュータ・システムのシステ
ム参照ディスケットで提供される従来の構成設定プログ
ラムでよい。参照ディスケットは、診断ディスケット、
保守ディスケット、またはサービス・ディスケットと呼
ばれることもある。構成プログラムの目的は、このコン
ピュータ・システム100の構成を特徴付ける値を不揮
発性RAM 248に格納することであり、これらの値
はシステムの電源を切ったときにセーブされる。不揮発
性RAM 248は、バッテリ・バックアップ式の低電
力CMOSメモリとすることができる。
時刻計算に使用される。不揮発性RAM 248は、シ
ステム構成データを格納するのに使用される。すなわ
ち、非揮発性RAM 248は、コンピュータ・システ
ム100の現在の構成を記述する値を含む。不揮発性R
AM 248は、たとえば、アダプタ・カード初期設定
データ、固定ディスクまたはディスケットの容量、主記
憶装置の量などを記述する情報を含む。さらに、これら
のデータは、構成プログラムが実行されるたびに不揮発
性RAM 248に格納される。この構成プログラム
は、IBM PS/2コンピュータ・システムのシステ
ム参照ディスケットで提供される従来の構成設定プログ
ラムでよい。参照ディスケットは、診断ディスケット、
保守ディスケット、またはサービス・ディスケットと呼
ばれることもある。構成プログラムの目的は、このコン
ピュータ・システム100の構成を特徴付ける値を不揮
発性RAM 248に格納することであり、これらの値
はシステムの電源を切ったときにセーブされる。不揮発
性RAM 248は、バッテリ・バックアップ式の低電
力CMOSメモリとすることができる。
【0023】キーボード/マウス制御装置244には、
ポートA 278とポートB 280が接続されてい
る。これらのポートA、Bは、キーボード110および
マウス112をパーソナル・コンピュータ・システム1
00に接続するために使用される。シリアル・アダプタ
240には、シリアル・コネクタ276が結合されてい
る。シリアル・コネクタ276を介してモデムなどのオ
プションの装置(図示せず)をシステムに接続すること
ができる。パラレル・アダプタ238には、パラレル・
コネクタ274が結合されている。パラレル・コネクタ
274には、プリンタ114などの装置が接続できる。
ディスケット・アダプタ246には、1台または複数の
ディスケット・ドライブ108を接続するのに使用され
るディスケット・コネクタ282が接続されている。
ポートA 278とポートB 280が接続されてい
る。これらのポートA、Bは、キーボード110および
マウス112をパーソナル・コンピュータ・システム1
00に接続するために使用される。シリアル・アダプタ
240には、シリアル・コネクタ276が結合されてい
る。シリアル・コネクタ276を介してモデムなどのオ
プションの装置(図示せず)をシステムに接続すること
ができる。パラレル・アダプタ238には、パラレル・
コネクタ274が結合されている。パラレル・コネクタ
274には、プリンタ114などの装置が接続できる。
ディスケット・アダプタ246には、1台または複数の
ディスケット・ドライブ108を接続するのに使用され
るディスケット・コネクタ282が接続されている。
【0024】図4および図5を参照すると、システム・
ユニット102は、プレーナ300およびプロセッサ・
カード400(図4および図5)を使用することもでき
る。プロセッサ・カード400は、プレーナ300に取
り外し可能に取り付けられ、かつ電気的に接続されてい
る。図3の要素で、図4および図5の要素と番号が同じ
ものは同一である。
ユニット102は、プレーナ300およびプロセッサ・
カード400(図4および図5)を使用することもでき
る。プロセッサ・カード400は、プレーナ300に取
り外し可能に取り付けられ、かつ電気的に接続されてい
る。図3の要素で、図4および図5の要素と番号が同じ
ものは同一である。
【0025】図4を参照すると、プレーナ300は、プ
リント回路板(PCB)301を備えており、その上に
プリント回路板の配線または回路で相互接続された各種
コンポーネントが取り付けられる(たとえば表面実装さ
れる)。そのようなコンポーネントとしては、プロセッ
サ・カード400のエッジ416を差し込んで、プロセ
ッサ・カード400をプレーナ300に取り外し可能に
取り付けかつ電気的に接続するための、適切な市販の電
気コネクタ302がある。メモリ・バンク308A、3
08Bに接続してシステム主記憶装置またはランダム・
アクセス・メモリを形成するための、複数の単一インラ
イン・メモリ・モジュール(SIMM)コネクタ306
もプリント回路板301上に取り付けられている。コン
ピュータ・システム100に追加しまたは組み込むこと
のできるさまざまな拡張アダプタおよびオプションに接
続するための、1本または複数の入出力バスまたは拡張
コネクタ232もプリント回路板301に取り付けられ
ている。たとえば、固定ディスク・ドライブ106を、
コネクタ232に接続されたディスク制御装置を持つア
ダプタ・カード(図示せず)に接続することができる。
各コネクタは、上述のマイクロチャネル・アーキテクチ
ャに適合する種類の市販のコネクタであることが好まし
い。
リント回路板(PCB)301を備えており、その上に
プリント回路板の配線または回路で相互接続された各種
コンポーネントが取り付けられる(たとえば表面実装さ
れる)。そのようなコンポーネントとしては、プロセッ
サ・カード400のエッジ416を差し込んで、プロセ
ッサ・カード400をプレーナ300に取り外し可能に
取り付けかつ電気的に接続するための、適切な市販の電
気コネクタ302がある。メモリ・バンク308A、3
08Bに接続してシステム主記憶装置またはランダム・
アクセス・メモリを形成するための、複数の単一インラ
イン・メモリ・モジュール(SIMM)コネクタ306
もプリント回路板301上に取り付けられている。コン
ピュータ・システム100に追加しまたは組み込むこと
のできるさまざまな拡張アダプタおよびオプションに接
続するための、1本または複数の入出力バスまたは拡張
コネクタ232もプリント回路板301に取り付けられ
ている。たとえば、固定ディスク・ドライブ106を、
コネクタ232に接続されたディスク制御装置を持つア
ダプタ・カード(図示せず)に接続することができる。
各コネクタは、上述のマイクロチャネル・アーキテクチ
ャに適合する種類の市販のコネクタであることが好まし
い。
【0026】プレーナ300には、キーボード・コネク
タおよびマウス・コネクタ278、280に接続された
割込み制御装置254およびキーボード/マウス制御装
置244、ディスケット・コネクタ282に接続された
ディスケット制御装置またはディスケット・アダプタ2
46、ならびにシステムに各種入出力装置を接続できる
ようにするシリアル・コネクタ276およびパラレル・
コネクタ274に接続されたシリアル・アダプタ240
およびパラレル・アダプタ238が取り付けられてい
る。プリント回路板301には、システムに必要な電源
を供給する電源ユニット(図示せず)に接続するための
システム電源コネクタ205が取り付けられている。プ
リント回路板301上に不揮発性RAM248およびク
ロック/CMOS RAM 250も取り付けられてい
る。プリント回路板301には、タイミング信号を提供
するための各種の発振器(図示せず)と、周知の方式で
回路の各セクションを分離するためのバッファ342、
344(すべては図示せず)も取り付けられている。
タおよびマウス・コネクタ278、280に接続された
割込み制御装置254およびキーボード/マウス制御装
置244、ディスケット・コネクタ282に接続された
ディスケット制御装置またはディスケット・アダプタ2
46、ならびにシステムに各種入出力装置を接続できる
ようにするシリアル・コネクタ276およびパラレル・
コネクタ274に接続されたシリアル・アダプタ240
およびパラレル・アダプタ238が取り付けられてい
る。プリント回路板301には、システムに必要な電源
を供給する電源ユニット(図示せず)に接続するための
システム電源コネクタ205が取り付けられている。プ
リント回路板301上に不揮発性RAM248およびク
ロック/CMOS RAM 250も取り付けられてい
る。プリント回路板301には、タイミング信号を提供
するための各種の発振器(図示せず)と、周知の方式で
回路の各セクションを分離するためのバッファ342、
344(すべては図示せず)も取り付けられている。
【0027】プリント回路板301の配線は、図示する
ような各種コンポーネントを相互接続するものであり、
3つのグループに分かれている。3つのグループとは、
メモリ・バス310(線324〜338を含む)、チャ
ネル・バス312(アドレス・バス322、データ・バ
ス320、および制御バス318を含む)、ならびに割
込み線314、316を含むその他の信号線であり、こ
れら全てのグループの配線は、コネクタ302、416
を介してプリント回路板401上の該当する配線に接続
されている。チャネル・バス312には、プレーナ機能
バス319もタップ接続されている。
ような各種コンポーネントを相互接続するものであり、
3つのグループに分かれている。3つのグループとは、
メモリ・バス310(線324〜338を含む)、チャ
ネル・バス312(アドレス・バス322、データ・バ
ス320、および制御バス318を含む)、ならびに割
込み線314、316を含むその他の信号線であり、こ
れら全てのグループの配線は、コネクタ302、416
を介してプリント回路板401上の該当する配線に接続
されている。チャネル・バス312には、プレーナ機能
バス319もタップ接続されている。
【0028】図5を参照すると、プレーナ300上に取
り外し可能に取り付けられるプロセッサ・カード400
が示されている。プロセッサ・カード400は、プロセ
ッサ202、オプションの数値計算補助プロセッサ20
4、オプションのキャッシュ制御装置206、オプショ
ンのキャッシュ・メモリ208、直接メモリ・アクセス
(DMA)制御ユニット220、バス制御ユニット21
4、メモリ制御ユニット256、ファームウェア・サブ
システム242、およびパリティ・チェック・ユニット
402、404を含む複数の適切な市販のコンポーネン
トを取り付けた(たとえば表面実装した)プリント回路
板(PCB)401を含む。プロセッサ202は、イン
テル80486など、32ビットのデータ経路を有し、
32ビットのアドレス指定機能を提供する高性能タイプ
のものであることが好ましい。もちろん、インテル80
386などのプロセッサも使用できる。残りのコンポー
ネントは、通常通り、そのようなプロセッサと互換性を
持つものを選択する。図のように、複数のバッファ40
6、408、410、412、414が接続される。バ
ッファは回路間で選択的な分離または接続を実現し、さ
まざまな部分を同時に使用して、たとえば、入出力ユニ
ットと主記憶装置308A、308Bの間でデータを移
動する一方で、プロセッサ202とキャッシュ・メモリ
208の間で他のデータを移動することができる。上記
のコンポーネントはすべて、エッジ・コネクタ416で
終端するプリント回路板401のプリント配線回路で相
互に適宜電気的に接続される。エッジ・コネクタ416
は図4に示すプレーナ300上のエッジ・コネクタ30
2に挿入可能であり、したがってプレーナ300とプロ
セッサ・カード400が電気的および機械的に相互接続
可能である。
り外し可能に取り付けられるプロセッサ・カード400
が示されている。プロセッサ・カード400は、プロセ
ッサ202、オプションの数値計算補助プロセッサ20
4、オプションのキャッシュ制御装置206、オプショ
ンのキャッシュ・メモリ208、直接メモリ・アクセス
(DMA)制御ユニット220、バス制御ユニット21
4、メモリ制御ユニット256、ファームウェア・サブ
システム242、およびパリティ・チェック・ユニット
402、404を含む複数の適切な市販のコンポーネン
トを取り付けた(たとえば表面実装した)プリント回路
板(PCB)401を含む。プロセッサ202は、イン
テル80486など、32ビットのデータ経路を有し、
32ビットのアドレス指定機能を提供する高性能タイプ
のものであることが好ましい。もちろん、インテル80
386などのプロセッサも使用できる。残りのコンポー
ネントは、通常通り、そのようなプロセッサと互換性を
持つものを選択する。図のように、複数のバッファ40
6、408、410、412、414が接続される。バ
ッファは回路間で選択的な分離または接続を実現し、さ
まざまな部分を同時に使用して、たとえば、入出力ユニ
ットと主記憶装置308A、308Bの間でデータを移
動する一方で、プロセッサ202とキャッシュ・メモリ
208の間で他のデータを移動することができる。上記
のコンポーネントはすべて、エッジ・コネクタ416で
終端するプリント回路板401のプリント配線回路で相
互に適宜電気的に接続される。エッジ・コネクタ416
は図4に示すプレーナ300上のエッジ・コネクタ30
2に挿入可能であり、したがってプレーナ300とプロ
セッサ・カード400が電気的および機械的に相互接続
可能である。
【0029】プリント回路板401の配線回路は、デー
タ線420、アドレス線422、および制御線424を
含むローカル・バス418を備えている。図5に示すよ
うに、これらの線はそれぞれ、プロセッサ202を、オ
プションの数値演算コプロセッサ204、オプションの
キャッシュ制御装置206、およびオプションのキャッ
シュ・メモリ208と相互接続する。残りの回路には一
般に、割込み線316、チャネル・バス線312、およ
びメモリ・バス線310が含まれる。チャネル・バス線
312は、制御バス線318、データ・バス線320、
およびアドレス・バス線322を含む。メモリ・バス線
310は、多重化メモリ・アドレス線324、332、
メモリ・バンク308A、308B用の行アドレス・ス
トローブ(RAS)線328、336、列アドレス・ス
トローブ(CAS)線338、データ・バスA線326
およびデータ・バスB線334、ならびにパリティ・チ
ェックによるエラー・チェックまたはECCチェックに
使用される線330を含む。発振器207は、図のよう
に、コンピュータ・システム100に適切なクロック信
号を提供するように接続される。図を簡単にするため、
図3、図4、および図5では、リセット、接地、電源オ
ンなどの一定の線は省略してある。
タ線420、アドレス線422、および制御線424を
含むローカル・バス418を備えている。図5に示すよ
うに、これらの線はそれぞれ、プロセッサ202を、オ
プションの数値演算コプロセッサ204、オプションの
キャッシュ制御装置206、およびオプションのキャッ
シュ・メモリ208と相互接続する。残りの回路には一
般に、割込み線316、チャネル・バス線312、およ
びメモリ・バス線310が含まれる。チャネル・バス線
312は、制御バス線318、データ・バス線320、
およびアドレス・バス線322を含む。メモリ・バス線
310は、多重化メモリ・アドレス線324、332、
メモリ・バンク308A、308B用の行アドレス・ス
トローブ(RAS)線328、336、列アドレス・ス
トローブ(CAS)線338、データ・バスA線326
およびデータ・バスB線334、ならびにパリティ・チ
ェックによるエラー・チェックまたはECCチェックに
使用される線330を含む。発振器207は、図のよう
に、コンピュータ・システム100に適切なクロック信
号を提供するように接続される。図を簡単にするため、
図3、図4、および図5では、リセット、接地、電源オ
ンなどの一定の線は省略してある。
【0030】プレーナ300およびプロセッサ・カード
400を有するパーソナル・コンピュータ・システム1
00の操作中、プロセッサ・カード400は、プレーナ
300に電気的および機械的に接続され、通常はプレー
ナ400に対して垂直な平面として位置する。
400を有するパーソナル・コンピュータ・システム1
00の操作中、プロセッサ・カード400は、プレーナ
300に電気的および機械的に接続され、通常はプレー
ナ400に対して垂直な平面として位置する。
【0031】ABIOSのロードおよびアクセス:シス
テム・ファームウェアは、電源オン自己試験プログラム
(POST)および基本入出力システム・プログラム
(BIOS)を含む。BIOSはさらに、互換性BIO
S(CBIOS)と、拡張BIOS(ABIOS)を含
む。POSTプログラムは、システムに初めて電源を入
れて、パーソナル・コンピュータ・システム100を初
期設定する際に実行される1組の命令である。BIOS
は、プロセッサ202と入出力装置との間のデータおよ
び制御命令の転送を容易にする1組の命令である。
テム・ファームウェアは、電源オン自己試験プログラム
(POST)および基本入出力システム・プログラム
(BIOS)を含む。BIOSはさらに、互換性BIO
S(CBIOS)と、拡張BIOS(ABIOS)を含
む。POSTプログラムは、システムに初めて電源を入
れて、パーソナル・コンピュータ・システム100を初
期設定する際に実行される1組の命令である。BIOS
は、プロセッサ202と入出力装置との間のデータおよ
び制御命令の転送を容易にする1組の命令である。
【0032】無媒体環境では、無媒体システム・ユニッ
ト(たとえば、102B)は、システム・ユニット10
2B内でリモート初期プログラム・ロード(RIPL)
機能を提供するための適切なネットワーク・アダプタま
たはカード(図示せず)を含む。このカードは、たとえ
ば1つのコネクタ232に接続される。RIPLプログ
ラムを用いると、固定ディスク106やディスケット1
08などのローカル記憶装置ではなく、ネットワーク・
サーバ102からオペレーティング・システムをブート
(立上げ)することができる。RIPLは、単にリモー
ト・プログラム・ロード(RPL)と呼ばれることもあ
り、これらの用語は相互に言い換えが可能である。RP
Lは当技術分野で周知である。
ト(たとえば、102B)は、システム・ユニット10
2B内でリモート初期プログラム・ロード(RIPL)
機能を提供するための適切なネットワーク・アダプタま
たはカード(図示せず)を含む。このカードは、たとえ
ば1つのコネクタ232に接続される。RIPLプログ
ラムを用いると、固定ディスク106やディスケット1
08などのローカル記憶装置ではなく、ネットワーク・
サーバ102からオペレーティング・システムをブート
(立上げ)することができる。RIPLは、単にリモー
ト・プログラム・ロード(RPL)と呼ばれることもあ
り、これらの用語は相互に言い換えが可能である。RP
Lは当技術分野で周知である。
【0033】POSTプログラムは、ブート装置の発見
とブート・レコードのロードを試みるブートストラップ
・プログラムを含む。通常、ブート装置はハードファイ
ル106またはディスケット・ドライブ108である。
ディスケット・ドライブ108が動作するには、ブート
・ディスケットまたはオペレーティング・システム・デ
ィスケットが必要である。POSTプログラムはブート
装置からブート・レコードをロードするのに成功した場
合、ブート・レコードに制御を移し、POSTブートス
トラップ・プログラムの動作を完了する。ブート・レコ
ードがロードできず、RPLアダプタが存在する場合、
POSTプログラムはRPLプログラムに制御を移す。
RPLプログラムが存在しない場合、POSTプログラ
ムはユーザに対して、ブート・ソースが必要なことを示
すプロンプトを出す。CBIOSは、コンピュータのブ
ートストラップ動作に不可欠である。CBIOSは、ハ
ードファイル106およびディスケット・ドライブ10
8へのアクセスを含むいくつかのサービスを提供する。
ABIOSは、要求時に初期設定され、通常POSTブ
ートストラップ・プロセスの必須の部分ではない。
とブート・レコードのロードを試みるブートストラップ
・プログラムを含む。通常、ブート装置はハードファイ
ル106またはディスケット・ドライブ108である。
ディスケット・ドライブ108が動作するには、ブート
・ディスケットまたはオペレーティング・システム・デ
ィスケットが必要である。POSTプログラムはブート
装置からブート・レコードをロードするのに成功した場
合、ブート・レコードに制御を移し、POSTブートス
トラップ・プログラムの動作を完了する。ブート・レコ
ードがロードできず、RPLアダプタが存在する場合、
POSTプログラムはRPLプログラムに制御を移す。
RPLプログラムが存在しない場合、POSTプログラ
ムはユーザに対して、ブート・ソースが必要なことを示
すプロンプトを出す。CBIOSは、コンピュータのブ
ートストラップ動作に不可欠である。CBIOSは、ハ
ードファイル106およびディスケット・ドライブ10
8へのアクセスを含むいくつかのサービスを提供する。
ABIOSは、要求時に初期設定され、通常POSTブ
ートストラップ・プロセスの必須の部分ではない。
【0034】図6を参照する。クライアント102Bま
たはサーバ102(図2)用のシステム・アドレス空間
500のメモリ・マップを示している。システム・アド
レス空間500は、プロセッサ202によってアドレス
可能な複数のメモリ・アドレス領域502、504、5
06、508、510を含む。下位メモリ領域502
は、実モード・プログラムが動作する従来の互換空間で
ある。たとえば、DOSとCBIOSはどちらも実モー
ド・プログラムである。ビデオ領域504は、物理位置
A0000 hexないし物理位置BFFFF hex
の128Kバイトのアドレス空間、すなわちA000
hexセグメントおよびB000 hexセグメントを
占有する(セグメントとは、16バイト境界、すなわち
パラグラフ境界上で位置合せされた64Kバイトの領域
を記述するときに使用される実モード用語である)。ビ
デオ領域504は、ビデオ再生成バッファを提供する。
すなわちこれらのバッファに格納されるデータが、コン
ピュータ・ディスプレイ104上の表示を定義する。機
能(feature)領域506は、物理位置C0000he
xないし物理位置DFFFF hexの128Kバイト
のアドレス空間、すなわちC000 hexセグメント
およびD000 hexセグメントを占有する。機能領
域506は、アダプタ・ファームウェアを格納するため
に使用される。この領域もバッファ空間を提供すること
ができる。たとえば、小型コンピュータ・システム・イ
ンタフェース(SCSI)ディスク制御装置アダプタ
は、動作中に機能領域506に格納されるPOSTプロ
グラム、CBIOSプログラム、およびABIOSプロ
グラムを含むアダプタ・ファームウェアROMを備えて
いる。システム・ファームウェア領域508は、物理位
置E0000 hexないし物理位置FFFFF he
xの128Kバイトのアドレス空間、すなわちE000
hexセグメントおよびF000 hexセグメント
を占有する。システム・ファームウェア領域508は、
POSTプログラムおよびBIOSプログラムを含むシ
ステム・ファームウェアを格納する。1Mバイト境界よ
り上の領域は、上位メモリ領域または拡張メモリ領域5
10である。上位メモリ領域510は、OS/2オペレ
ーティング・システムなどのオペレーティング・システ
ムが使用する。
たはサーバ102(図2)用のシステム・アドレス空間
500のメモリ・マップを示している。システム・アド
レス空間500は、プロセッサ202によってアドレス
可能な複数のメモリ・アドレス領域502、504、5
06、508、510を含む。下位メモリ領域502
は、実モード・プログラムが動作する従来の互換空間で
ある。たとえば、DOSとCBIOSはどちらも実モー
ド・プログラムである。ビデオ領域504は、物理位置
A0000 hexないし物理位置BFFFF hex
の128Kバイトのアドレス空間、すなわちA000
hexセグメントおよびB000 hexセグメントを
占有する(セグメントとは、16バイト境界、すなわち
パラグラフ境界上で位置合せされた64Kバイトの領域
を記述するときに使用される実モード用語である)。ビ
デオ領域504は、ビデオ再生成バッファを提供する。
すなわちこれらのバッファに格納されるデータが、コン
ピュータ・ディスプレイ104上の表示を定義する。機
能(feature)領域506は、物理位置C0000he
xないし物理位置DFFFF hexの128Kバイト
のアドレス空間、すなわちC000 hexセグメント
およびD000 hexセグメントを占有する。機能領
域506は、アダプタ・ファームウェアを格納するため
に使用される。この領域もバッファ空間を提供すること
ができる。たとえば、小型コンピュータ・システム・イ
ンタフェース(SCSI)ディスク制御装置アダプタ
は、動作中に機能領域506に格納されるPOSTプロ
グラム、CBIOSプログラム、およびABIOSプロ
グラムを含むアダプタ・ファームウェアROMを備えて
いる。システム・ファームウェア領域508は、物理位
置E0000 hexないし物理位置FFFFF he
xの128Kバイトのアドレス空間、すなわちE000
hexセグメントおよびF000 hexセグメント
を占有する。システム・ファームウェア領域508は、
POSTプログラムおよびBIOSプログラムを含むシ
ステム・ファームウェアを格納する。1Mバイト境界よ
り上の領域は、上位メモリ領域または拡張メモリ領域5
10である。上位メモリ領域510は、OS/2オペレ
ーティング・システムなどのオペレーティング・システ
ムが使用する。
【0035】拡張(Extended)メモリとは、1Mバイト
のアドレス位置より上のメモリを指す。基本(Expande
d)メモリとは、1Mバイトのアドレス位置より下の区
域に切り替えられるバンクであるメモリを指す。基本メ
モリ・バンクの切替えにより、実モード・アプリケーシ
ョンは、実モード・アドレス空間で直接アドレス可能な
物理メモリよりも多くの物理メモリにアドレスできるよ
うになる。基本メモリの動作では、実モード・アドレス
空間に、使用可能なアドレス空間またはウィンドウが存
在する必要がある。また、基本メモリのプログラムでバ
ンク切替えを管理する必要もある。基本メモリ・ウィン
ドウの共通位置は、機能空間506とシステム・ファー
ムウェア空間508である。基本メモリ・ウィンドウの
使用可能な空間の量を最大限にすることは、パーソナル
・コンピュータ・システムの競争力強化に必須である。
のアドレス位置より上のメモリを指す。基本(Expande
d)メモリとは、1Mバイトのアドレス位置より下の区
域に切り替えられるバンクであるメモリを指す。基本メ
モリ・バンクの切替えにより、実モード・アプリケーシ
ョンは、実モード・アドレス空間で直接アドレス可能な
物理メモリよりも多くの物理メモリにアドレスできるよ
うになる。基本メモリの動作では、実モード・アドレス
空間に、使用可能なアドレス空間またはウィンドウが存
在する必要がある。また、基本メモリのプログラムでバ
ンク切替えを管理する必要もある。基本メモリ・ウィン
ドウの共通位置は、機能空間506とシステム・ファー
ムウェア空間508である。基本メモリ・ウィンドウの
使用可能な空間の量を最大限にすることは、パーソナル
・コンピュータ・システムの競争力強化に必須である。
【0036】図7を参照すると、ファームウェア・イメ
ージは、ABIOS部分554、CBIOS部分55
2、およびPOST部分550を含む。IBM SCS
Iアダプタ・カードなどのアダプタ・カード・ファーム
ウェアでは、ABIOS部分のサイズは約11Kバイト
である。IBM PS/2モデル95XP486などの
システム・ファームウェアでは、ABIOS部分のサイ
ズは約32Kバイトである。アダプタ・カード・ファー
ムウェアでもシステム・ファームウェアでも、ABIO
Sはアドレス空間全体のかなりの部分を使用する。シス
テム・ファームウェアの場合、約32Kバイトのサイズ
であるABIOSはシステム・ファームウェア空間50
8(図6)の25%を占める。8つの機能スロットを備
えたコンピュータ・システムの場合、機能ファームウェ
ア空間を均等に分配すると、1スロットまたは1アダプ
タ当たりの機能空間(図6)506は16Kバイトとな
る。ABIOSサイズが11Kバイトだと、16Kバイ
ト範囲の約70%を使用することになる。また、16K
バイトの範囲を超えるアダプタもある。
ージは、ABIOS部分554、CBIOS部分55
2、およびPOST部分550を含む。IBM SCS
Iアダプタ・カードなどのアダプタ・カード・ファーム
ウェアでは、ABIOS部分のサイズは約11Kバイト
である。IBM PS/2モデル95XP486などの
システム・ファームウェアでは、ABIOS部分のサイ
ズは約32Kバイトである。アダプタ・カード・ファー
ムウェアでもシステム・ファームウェアでも、ABIO
Sはアドレス空間全体のかなりの部分を使用する。シス
テム・ファームウェアの場合、約32Kバイトのサイズ
であるABIOSはシステム・ファームウェア空間50
8(図6)の25%を占める。8つの機能スロットを備
えたコンピュータ・システムの場合、機能ファームウェ
ア空間を均等に分配すると、1スロットまたは1アダプ
タ当たりの機能空間(図6)506は16Kバイトとな
る。ABIOSサイズが11Kバイトだと、16Kバイ
ト範囲の約70%を使用することになる。また、16K
バイトの範囲を超えるアダプタもある。
【0037】図8を参照すると、オペレーティング・シ
ステムのブートストラップおよび初期設定プロセスの流
れ図が示されている。コンピュータ・システムの電源を
オンにし電源オン自己試験が完了した後、ステップ60
0で、オペレーティング・システムがブートストラップ
を開始する。次いでステップ602で、オペレーティン
グ・システムは予備初期設定の一部を開始する。オペレ
ーティング・システムの予備初期設定の種類および範囲
は周知である。次にステップ604で、オペレーティン
グ・システムはABIOSパッチ・モジュールまたはA
BIOSパッチ・ファイルをロードする。このパッチ
(patch)ファイルは、通常オペレーティング・システ
ム・ブート装置上に常駐し、既存の常駐ABIOSプロ
グラム・コードの機能の訂正および強化を行う。ABI
OSプログラム・モジュールは、ABIOS.SYSな
どの制御ファイルをリストすることができる。このAB
IOS.SYSリストは、MODULE1.BIO、M
ODULE2.BIOなどABIOSモジュールの名前
を含むテキスト・ファイルとすることができる。命名規
則の選択は、設計上の選択の問題である。オペレーティ
ング・システムは、ステップ604でABIOSパッチ
・モジュールをロードした後、ステップ606でABI
OSを初期設定することができる。ABIOSは、CB
IOS機能呼出しの発行によって初期設定される。ステ
ップ606でABIOSを初期設定した後、ステップ6
08で、オペレーティング・システムはさらに初期設定
を続行することができる。
ステムのブートストラップおよび初期設定プロセスの流
れ図が示されている。コンピュータ・システムの電源を
オンにし電源オン自己試験が完了した後、ステップ60
0で、オペレーティング・システムがブートストラップ
を開始する。次いでステップ602で、オペレーティン
グ・システムは予備初期設定の一部を開始する。オペレ
ーティング・システムの予備初期設定の種類および範囲
は周知である。次にステップ604で、オペレーティン
グ・システムはABIOSパッチ・モジュールまたはA
BIOSパッチ・ファイルをロードする。このパッチ
(patch)ファイルは、通常オペレーティング・システ
ム・ブート装置上に常駐し、既存の常駐ABIOSプロ
グラム・コードの機能の訂正および強化を行う。ABI
OSプログラム・モジュールは、ABIOS.SYSな
どの制御ファイルをリストすることができる。このAB
IOS.SYSリストは、MODULE1.BIO、M
ODULE2.BIOなどABIOSモジュールの名前
を含むテキスト・ファイルとすることができる。命名規
則の選択は、設計上の選択の問題である。オペレーティ
ング・システムは、ステップ604でABIOSパッチ
・モジュールをロードした後、ステップ606でABI
OSを初期設定することができる。ABIOSは、CB
IOS機能呼出しの発行によって初期設定される。ステ
ップ606でABIOSを初期設定した後、ステップ6
08で、オペレーティング・システムはさらに初期設定
を続行することができる。
【0038】CBIOSは、ABIOSの初期設定をサ
ポートする2つの機能呼出しを提供する。これらの呼出
しは、ソフトウェア割込み15 hex(INT 15
H)と定義されるCBIOSのシステム・サービス・イ
ンタフェースを通じてアクセスされる。第1の機能呼出
しは、システム・パラメータ・テーブル作成機能であ
り、AHレジスタに格納される04の値によって示され
る(この機能呼出しの略記法はAH=04である)。A
H=04呼出しのエントリに必要なのは、呼出し側がシ
ステム・パラメータ・テーブルを作成したいメモリ・バ
ッファの位置を指すポインタ(ES:DIで表記)と、
ABIOS拡張域を示す、オフセットが0に想定された
セグメント(DSで表記、該当するポインタはDS:0
である)である。第2の機能呼出しは、初期設定テーブ
ル作成機能であり、AHレジスタに格納される05の値
によって示される(AH=05)。AH=05呼出しの
エントリに必要なのは、呼出し側が初期設定テーブルを
作成したいメモリ・バッファの位置を指すポインタ(E
S:DI)と、ABIOS拡張域を示す、オフセットが
0に想定されたセグメント(DS)である。ABIOS
初期設定は、「IBMパーソナル・システム/2および
パーソナル・コンピュータBIOSインターフェース技
術解説書(IBM Personal System/2 and Personal Compu
ter BIOS Interface Technical Reference Manual)」
により明確に定義されている。
ポートする2つの機能呼出しを提供する。これらの呼出
しは、ソフトウェア割込み15 hex(INT 15
H)と定義されるCBIOSのシステム・サービス・イ
ンタフェースを通じてアクセスされる。第1の機能呼出
しは、システム・パラメータ・テーブル作成機能であ
り、AHレジスタに格納される04の値によって示され
る(この機能呼出しの略記法はAH=04である)。A
H=04呼出しのエントリに必要なのは、呼出し側がシ
ステム・パラメータ・テーブルを作成したいメモリ・バ
ッファの位置を指すポインタ(ES:DIで表記)と、
ABIOS拡張域を示す、オフセットが0に想定された
セグメント(DSで表記、該当するポインタはDS:0
である)である。第2の機能呼出しは、初期設定テーブ
ル作成機能であり、AHレジスタに格納される05の値
によって示される(AH=05)。AH=05呼出しの
エントリに必要なのは、呼出し側が初期設定テーブルを
作成したいメモリ・バッファの位置を指すポインタ(E
S:DI)と、ABIOS拡張域を示す、オフセットが
0に想定されたセグメント(DS)である。ABIOS
初期設定は、「IBMパーソナル・システム/2および
パーソナル・コンピュータBIOSインターフェース技
術解説書(IBM Personal System/2 and Personal Compu
ter BIOS Interface Technical Reference Manual)」
により明確に定義されている。
【0039】図9を参照すると、本発明のモジュール式
ABIOSの図が示されている。ABIOS554は複
数のモジュール702〜708を含む。これらのモジュ
ールは、その機能に従ってセグメント化することが好ま
しい。モジュール1 702はABIOS初期設定/制
御モジュールである。ABIOS初期設定については図
10に関して説明する。典型的な種類のABIOSモジ
ュールには、ビデオ、ディスケット、ディスク、プリン
タ・ポート、キーボード、およびマウスに対応するもの
がある。本発明のABIOSの拡張転送機構では、AB
IOS554は他のファームウェアと物理的に分離さ
れ、モジュール化されて、ディスケット700またはそ
の他の媒体上にファイルとしてパッケージされている。
他のファームウェアと物理的に分離することにより、フ
ァームウェア・アドレス空間506、508内でABI
OSが占める空間が解放される。このABIOS 55
4の移動は、システム・ファームウェアABIOSと機
能空間ABIOSの両方に適用される。したがって、シ
ステム・ファームウェア空間506中で通常はABIO
Sが占める空間と、機能空間508中で通常はABIO
Sが占める空間とが解放される。
ABIOSの図が示されている。ABIOS554は複
数のモジュール702〜708を含む。これらのモジュ
ールは、その機能に従ってセグメント化することが好ま
しい。モジュール1 702はABIOS初期設定/制
御モジュールである。ABIOS初期設定については図
10に関して説明する。典型的な種類のABIOSモジ
ュールには、ビデオ、ディスケット、ディスク、プリン
タ・ポート、キーボード、およびマウスに対応するもの
がある。本発明のABIOSの拡張転送機構では、AB
IOS554は他のファームウェアと物理的に分離さ
れ、モジュール化されて、ディスケット700またはそ
の他の媒体上にファイルとしてパッケージされている。
他のファームウェアと物理的に分離することにより、フ
ァームウェア・アドレス空間506、508内でABI
OSが占める空間が解放される。このABIOS 55
4の移動は、システム・ファームウェアABIOSと機
能空間ABIOSの両方に適用される。したがって、シ
ステム・ファームウェア空間506中で通常はABIO
Sが占める空間と、機能空間508中で通常はABIO
Sが占める空間とが解放される。
【0040】図10を参照すると、ABIOS初期設定
の流れ図が示されている。INT15H ABIOS初
期設定呼出しAH=04およびAH=05は、AH=0
4、AH=05の順序で順次実行される。CBIOS呼
出しステップ800で、オペレーティング・システムま
たは他のソフトウェア・プログラムが、CBIOSシス
テム・サービス・コールAH=04およびAH=05に
より、ABIOS初期設定機能にアクセスする。AH=
04呼出しとAH=05呼出しは、同様な制御シーケン
スを持つ。ステップ802で、制御のリダイレクトが行
われる。すなわち、CBIOSシステム・サービス・コ
ールは、RAM拡張域に存在するABIOS初期設定プ
ログラムに制御をリダイレクトする。CBIOSシステ
ム・サービスがABIOS初期設定を開始すると、シス
テム・ファームウェアに常駐するCBIOSシステム・
サービス・コードがまず現在はRAMに存在するABI
OS初期設定プログラムを見つけ出し、これに制御を移
す(リダイレクト)。具体的に言うと、ステップ800
でシステム・ファームウェアに存在するCBIOSシス
テム・サービス・プログラムがシステム・サービス・コ
ールを獲得し、現在はRAMにあるABIOS初期設定
機能にこの呼出しをリダイレクトする。このリダイレク
トは、"DS"レジスタで指定されるセグメントのオフセ
ット0から開始する、ABIOSヘッダ内のエントリを
用いた間接呼出しによって実行する。このABIOSヘ
ッダについては、図11に関してより詳細に説明する。
ステップ802で、DS:[ABIOSINIT]で指
定されるアドレスへの呼出しが実行され、したがって現
在システムRAM内にあるABIOSプログラムにAB
IOS初期設定操作が移される。ABIOSINITに
ついては、図11に関して詳細に説明する。呼出しの代
わりにジャンプを使用することもでき、呼出しかジャン
プかの選択は、周知の設計上の選択の問題である。
の流れ図が示されている。INT15H ABIOS初
期設定呼出しAH=04およびAH=05は、AH=0
4、AH=05の順序で順次実行される。CBIOS呼
出しステップ800で、オペレーティング・システムま
たは他のソフトウェア・プログラムが、CBIOSシス
テム・サービス・コールAH=04およびAH=05に
より、ABIOS初期設定機能にアクセスする。AH=
04呼出しとAH=05呼出しは、同様な制御シーケン
スを持つ。ステップ802で、制御のリダイレクトが行
われる。すなわち、CBIOSシステム・サービス・コ
ールは、RAM拡張域に存在するABIOS初期設定プ
ログラムに制御をリダイレクトする。CBIOSシステ
ム・サービスがABIOS初期設定を開始すると、シス
テム・ファームウェアに常駐するCBIOSシステム・
サービス・コードがまず現在はRAMに存在するABI
OS初期設定プログラムを見つけ出し、これに制御を移
す(リダイレクト)。具体的に言うと、ステップ800
でシステム・ファームウェアに存在するCBIOSシス
テム・サービス・プログラムがシステム・サービス・コ
ールを獲得し、現在はRAMにあるABIOS初期設定
機能にこの呼出しをリダイレクトする。このリダイレク
トは、"DS"レジスタで指定されるセグメントのオフセ
ット0から開始する、ABIOSヘッダ内のエントリを
用いた間接呼出しによって実行する。このABIOSヘ
ッダについては、図11に関してより詳細に説明する。
ステップ802で、DS:[ABIOSINIT]で指
定されるアドレスへの呼出しが実行され、したがって現
在システムRAM内にあるABIOSプログラムにAB
IOS初期設定操作が移される。ABIOSINITに
ついては、図11に関して詳細に説明する。呼出しの代
わりにジャンプを使用することもでき、呼出しかジャン
プかの選択は、周知の設計上の選択の問題である。
【0041】図11を参照すると、ABIOSモジュー
ルのヘッダが示されている。このヘッダは、オフセット
+10Hから始まる拡張ヘッダ領域を含む。拡張ヘッダ
のサイズは、バイト単位で表した拡張ヘッダ長であり、
エントリ+0EHの値で示される。値が2の場合、拡張
ヘッダがエントリ+10Hより先の2バイトを含むこと
を示し、値が4の場合は、拡張ヘッダがエントリ+10
Hより先の4バイトを含むことを示すというようになっ
ている。拡張ヘッダのエントリにアクセスする必要があ
るのは、拡張ヘッダのサイズに当該エントリが含まれる
場合だけである。オフセット+10H(10hexバイ
ト、すなわち10進数で16バイトのオフセット)のフ
ィールドは、本発明以前は予約フィールドであったが、
本発明ではABIOSサポート判別ルーチンのオフセッ
トを格納する。ABIOSサポート判別ルーチンは、そ
のモジュールがコンピュータ・システムに適用されるか
どうかを判定する。ABIOSサポート・ルーチンは、
呼び出されると、「適用される」または「適用されな
い」ことを示す値を返す。たとえば、「適用されない」
ことを示すのに0の値を使用し、「適用される」ことを
示すのに非0の値を使用することができる。オフセット
+14H(14hexバイトすなわち10進数で20バ
イトのオフセット)のフィールドは、ABIOS初期設
定プログラムのオフセットを格納する。+14Hのテー
ブル・エントリをABIOSINITと呼ぶ。これらの
ABIOS初期設定プログラムは、CBIOSシステム
・サービス関数AH=04およびAH=05を使ってア
クセスされる。オフセット+16H(16hexバイト
すなわち10進数で22バイトのオフセット)のフィー
ルドは、本発明以前は予約フィールドであったが、本発
明ではタイプ値を格納する。タイプ値は、ABIOSモ
ジュールのタイプを示す。ABIOSモジュール・タイ
プには、「制御」(システム)モジュール・タイプ、
「モジュラー(modular)」タイプ、および「パッチ」
タイプがある。たとえば、制御モジュール・タイプに
1、モジュラー・モジュール・タイプに2、パッチ・モ
ジュール・タイプに3の値を割当てることができる。も
ちろん、ヘッダを拡張し入口点フィールドを提供するた
めの他の手段も可能であり、かつ周知の設計上の選択の
問題である。他のテーブル・エントリについては、前掲
の「IBMパーソナル・システム/2およびパーソナル
・コンピュータBIOSインターフェース技術解説書」
のABIOSの節に記載されている。
ルのヘッダが示されている。このヘッダは、オフセット
+10Hから始まる拡張ヘッダ領域を含む。拡張ヘッダ
のサイズは、バイト単位で表した拡張ヘッダ長であり、
エントリ+0EHの値で示される。値が2の場合、拡張
ヘッダがエントリ+10Hより先の2バイトを含むこと
を示し、値が4の場合は、拡張ヘッダがエントリ+10
Hより先の4バイトを含むことを示すというようになっ
ている。拡張ヘッダのエントリにアクセスする必要があ
るのは、拡張ヘッダのサイズに当該エントリが含まれる
場合だけである。オフセット+10H(10hexバイ
ト、すなわち10進数で16バイトのオフセット)のフ
ィールドは、本発明以前は予約フィールドであったが、
本発明ではABIOSサポート判別ルーチンのオフセッ
トを格納する。ABIOSサポート判別ルーチンは、そ
のモジュールがコンピュータ・システムに適用されるか
どうかを判定する。ABIOSサポート・ルーチンは、
呼び出されると、「適用される」または「適用されな
い」ことを示す値を返す。たとえば、「適用されない」
ことを示すのに0の値を使用し、「適用される」ことを
示すのに非0の値を使用することができる。オフセット
+14H(14hexバイトすなわち10進数で20バ
イトのオフセット)のフィールドは、ABIOS初期設
定プログラムのオフセットを格納する。+14Hのテー
ブル・エントリをABIOSINITと呼ぶ。これらの
ABIOS初期設定プログラムは、CBIOSシステム
・サービス関数AH=04およびAH=05を使ってア
クセスされる。オフセット+16H(16hexバイト
すなわち10進数で22バイトのオフセット)のフィー
ルドは、本発明以前は予約フィールドであったが、本発
明ではタイプ値を格納する。タイプ値は、ABIOSモ
ジュールのタイプを示す。ABIOSモジュール・タイ
プには、「制御」(システム)モジュール・タイプ、
「モジュラー(modular)」タイプ、および「パッチ」
タイプがある。たとえば、制御モジュール・タイプに
1、モジュラー・モジュール・タイプに2、パッチ・モ
ジュール・タイプに3の値を割当てることができる。も
ちろん、ヘッダを拡張し入口点フィールドを提供するた
めの他の手段も可能であり、かつ周知の設計上の選択の
問題である。他のテーブル・エントリについては、前掲
の「IBMパーソナル・システム/2およびパーソナル
・コンピュータBIOSインターフェース技術解説書」
のABIOSの節に記載されている。
【0042】再び図10を参照すると、ABIOS初期
設定の走査動作には、モジュラー走査、ROM走査、お
よびRAM走査という3つのフェーズがある。ABIO
S初期設定ではモジュラー走査が実行され、モジュラー
走査ステップ804で、モジュラー・タイプのABIO
Sモジュールが見つけられ初期設定される。モジュラー
・タイプのABIOSモジュールは、前述の、拡張ヘッ
ダのタイプ・フィールドの「モジュラー」タイプ値によ
って識別される。次にABIOS初期設定ではROM走
査動作が実行され、ROM走査ステップ806で、アダ
プタ・ファームウェア・アドレス空間に存在するアダプ
タBIOSが見つけられ初期設定される。ROM走査で
は、機能空間またはアダプタ・ファームウェア空間(図
6参照)で特定のヘッダ・パターンが探索される。AB
IOS初期設定では次にRAM走査が実行され、RAM
走査ステップ808で、RAMロード済みエクステンシ
ョンまたはRAMロード済みパッチとして存在するAB
IOSが見つけられ初期設定される。RAM走査では、
「モジュラー」タイプのモジュールは無視される。AB
IOS初期設定モジュールはどの走査フェーズ中もそれ
自体は走査しない。RAM走査ステップ808が完了す
ると、初期設定完了ステップ810でABIOSを初期
設定するシステム・サービス・コールが完了し、呼出し
側に制御が返される。
設定の走査動作には、モジュラー走査、ROM走査、お
よびRAM走査という3つのフェーズがある。ABIO
S初期設定ではモジュラー走査が実行され、モジュラー
走査ステップ804で、モジュラー・タイプのABIO
Sモジュールが見つけられ初期設定される。モジュラー
・タイプのABIOSモジュールは、前述の、拡張ヘッ
ダのタイプ・フィールドの「モジュラー」タイプ値によ
って識別される。次にABIOS初期設定ではROM走
査動作が実行され、ROM走査ステップ806で、アダ
プタ・ファームウェア・アドレス空間に存在するアダプ
タBIOSが見つけられ初期設定される。ROM走査で
は、機能空間またはアダプタ・ファームウェア空間(図
6参照)で特定のヘッダ・パターンが探索される。AB
IOS初期設定では次にRAM走査が実行され、RAM
走査ステップ808で、RAMロード済みエクステンシ
ョンまたはRAMロード済みパッチとして存在するAB
IOSが見つけられ初期設定される。RAM走査では、
「モジュラー」タイプのモジュールは無視される。AB
IOS初期設定モジュールはどの走査フェーズ中もそれ
自体は走査しない。RAM走査ステップ808が完了す
ると、初期設定完了ステップ810でABIOSを初期
設定するシステム・サービス・コールが完了し、呼出し
側に制御が返される。
【0043】図12を参照すると、拡張モジュール・ロ
ード手順の流れ図が示されている。図12の拡張ロード
手順では、図8の従来技術のステップ604が拡張され
ている。制御ファイル処理ステップ1000で、先に図
8に関して説明した制御ファイル、すなわちABIO
S.SYSファイルが処理される。制御ファイルが開か
れて読み取られ、ファイルの内容がファイル名のリスト
として解釈される。モジュール・ロード・ステップ10
02で、制御ファイルの各エントリが順次読み取られ、
ロードされる。モジュール・ヘッダ(図11参照)に存
在するモデル値、サブモデル値、および改訂値が読み取
られる。突合せステップ1004で、モデル値、サブモ
デル値、および改訂値が、コンピュータ・システム内に
格納された対応する値と合致するかどうかが判定され
る。モジュール・ヘッダのモデル値およびサブモデル値
は当該システムの対応する値と一致しなければならず、
同じくヘッダの改訂値はシステムの対応する改訂値以上
でなければならない。さらに、モジュールのモデル値、
サブモデル値、または改訂値をワイルドカード値とする
ことができる。ワイルドカード値は、無条件の一致を示
す0など所定の値とすることができる。突合せステップ
1004のテストでモジュールがコンピュータ・システ
ムと互換性がないと判定されると、そのモジュールは放
棄され、次のモジュール・ステップ1014で、制御フ
ァイルの次のエントリに処理が移る。突合せステップ1
004のテストでモジュールがこの時点でコンピュータ
・システムと互換性があると判定された場合、処理はヘ
ッダ・ステップ1006に進む。ここでは、モジュール
・ヘッダがチェックされ、それが、有効なサポート判別
ルーチン・オフセットが存在する拡張ヘッダであるかど
うかが判定される。拡張ヘッダ・フィールドは、少なく
とも2の値でなければならず、サポート判別ルーチン・
フィールドは非0でなければならない。ヘッダ・ステッ
プ1006のテストでモジュール・ヘッダが適切な拡張
ヘッダでないと判定された場合、処理はモジュール適用
ステップ1012に進む。ヘッダ・ステップ1006の
テストでモジュール・ヘッダが適切な拡張ヘッダである
と判定された場合は、サポート判別ルーチン呼出しステ
ップ1008で、サポート判別ルーチンが呼び出され
る。サポート判別ルーチンの呼出しは、呼出し命令によ
って行うことができる。リターン値チェック・ステップ
1010で、サポート判別ルーチンから提供されるリタ
ーン値がチェックされる。サポート判別ルーチン・リタ
ーン値が0の場合、そのモジュールは放棄され、処理
は、次のモジュール・ステップ1014に進む。サポー
ト判別ルーチン・リターン値が非0の場合は、ステップ
1012で、現モジュールがこのコンピュータ・システ
ムに適用されるとみなされる。次に、処理がステップ1
014に進む。サポート判別ルーチンは、1モジュール
−複数システムの構成をサポートする。サポート判別ル
ーチンは、モジュールとシステムを動的に関連付ける。
ード手順の流れ図が示されている。図12の拡張ロード
手順では、図8の従来技術のステップ604が拡張され
ている。制御ファイル処理ステップ1000で、先に図
8に関して説明した制御ファイル、すなわちABIO
S.SYSファイルが処理される。制御ファイルが開か
れて読み取られ、ファイルの内容がファイル名のリスト
として解釈される。モジュール・ロード・ステップ10
02で、制御ファイルの各エントリが順次読み取られ、
ロードされる。モジュール・ヘッダ(図11参照)に存
在するモデル値、サブモデル値、および改訂値が読み取
られる。突合せステップ1004で、モデル値、サブモ
デル値、および改訂値が、コンピュータ・システム内に
格納された対応する値と合致するかどうかが判定され
る。モジュール・ヘッダのモデル値およびサブモデル値
は当該システムの対応する値と一致しなければならず、
同じくヘッダの改訂値はシステムの対応する改訂値以上
でなければならない。さらに、モジュールのモデル値、
サブモデル値、または改訂値をワイルドカード値とする
ことができる。ワイルドカード値は、無条件の一致を示
す0など所定の値とすることができる。突合せステップ
1004のテストでモジュールがコンピュータ・システ
ムと互換性がないと判定されると、そのモジュールは放
棄され、次のモジュール・ステップ1014で、制御フ
ァイルの次のエントリに処理が移る。突合せステップ1
004のテストでモジュールがこの時点でコンピュータ
・システムと互換性があると判定された場合、処理はヘ
ッダ・ステップ1006に進む。ここでは、モジュール
・ヘッダがチェックされ、それが、有効なサポート判別
ルーチン・オフセットが存在する拡張ヘッダであるかど
うかが判定される。拡張ヘッダ・フィールドは、少なく
とも2の値でなければならず、サポート判別ルーチン・
フィールドは非0でなければならない。ヘッダ・ステッ
プ1006のテストでモジュール・ヘッダが適切な拡張
ヘッダでないと判定された場合、処理はモジュール適用
ステップ1012に進む。ヘッダ・ステップ1006の
テストでモジュール・ヘッダが適切な拡張ヘッダである
と判定された場合は、サポート判別ルーチン呼出しステ
ップ1008で、サポート判別ルーチンが呼び出され
る。サポート判別ルーチンの呼出しは、呼出し命令によ
って行うことができる。リターン値チェック・ステップ
1010で、サポート判別ルーチンから提供されるリタ
ーン値がチェックされる。サポート判別ルーチン・リタ
ーン値が0の場合、そのモジュールは放棄され、処理
は、次のモジュール・ステップ1014に進む。サポー
ト判別ルーチン・リターン値が非0の場合は、ステップ
1012で、現モジュールがこのコンピュータ・システ
ムに適用されるとみなされる。次に、処理がステップ1
014に進む。サポート判別ルーチンは、1モジュール
−複数システムの構成をサポートする。サポート判別ル
ーチンは、モジュールとシステムを動的に関連付ける。
【0044】所与のシステムについてのABIOS制御
ファイルは、モジュールの包括的リスト、または当該所
与のシステムのみに適用されるモジュールのリストとす
ることができる。ABIOS制御ファイルが包括的リス
トの場合、サポート判別ルーチンは、常駐するモジュー
ルと常駐しないモジュールとを分類する。ABIOS制
御ファイルが特定システムに適用可能なファイルだけの
リストである場合、不要なファイルをロードし放棄する
という追加のオーバヘッドがなくなる。しかし、単一の
制御ファイルを維持する方が好ましい場合もある。
ファイルは、モジュールの包括的リスト、または当該所
与のシステムのみに適用されるモジュールのリストとす
ることができる。ABIOS制御ファイルが包括的リス
トの場合、サポート判別ルーチンは、常駐するモジュー
ルと常駐しないモジュールとを分類する。ABIOS制
御ファイルが特定システムに適用可能なファイルだけの
リストである場合、不要なファイルをロードし放棄する
という追加のオーバヘッドがなくなる。しかし、単一の
制御ファイルを維持する方が好ましい場合もある。
【0045】 ABIOSの構成およびインストレーション: 図13を参照すると、本発明のロード可能ABIOS要
求バイト(LARB)1000を格納するための記憶位
置を含む不揮発性RAM248の図が示されている。不
揮発性RAM248は、通常通り標準の入出力コマンド
で読み取られ書き込まれる。LARB1000は、シス
テムがロード可能ABIOSを必要とするかどうかを示
す。LARB1000の初期設定については、以下で図
14を参照して説明する。LARB1000を使用する
プログラム(たとえば、オペレーティング・システム)
のインストレーションについては、以下で図15を参照
して説明する。
求バイト(LARB)1000を格納するための記憶位
置を含む不揮発性RAM248の図が示されている。不
揮発性RAM248は、通常通り標準の入出力コマンド
で読み取られ書き込まれる。LARB1000は、シス
テムがロード可能ABIOSを必要とするかどうかを示
す。LARB1000の初期設定については、以下で図
14を参照して説明する。LARB1000を使用する
プログラム(たとえば、オペレーティング・システム)
のインストレーションについては、以下で図15を参照
して説明する。
【0046】図14を参照すると、アダプタ記述プログ
ラム(ADP)の動作の流れ図が示されている。アダプ
タ記述プログラムは、構成設定プログラムと共働して、
システムがロード可能ABIOSを必要とすることを示
すように不揮発性RAM248を初期設定する。構成設
定プログラムの実行中、当該構成設定プログラムは1つ
または複数のアダプタ記述プログラムを実行することが
できる。アダプタ記述ファイル(ADF)は、Exec
などのキーワードを含む。Execは、アダプタ記述プ
ログラムの実行を呼び出すのに使用される。構成設定プ
ログラム、アダプタ記述ファイル、およびアダプタ記述
プログラムの詳細な説明は、「IBMパーソナル・シス
テム/2ハードウェア・インターフェース技術解説書−
アーキテクチャ(IBM Personal System/2 Hardware Int
erface Technical Reference - Architectures)」(1
990年10月)のSetupの節にある。アダプタ記
述ファイルは、たとえば入出力スロット232にインス
トールされるアダプタなどの、システム・ユニットにイ
ンストールされるあらゆるアダプタに必要である。シス
テム100用のアダプタ記述ファイルも存在することが
できる。図14の流れ図は、ロード可能ABIOSを必
要とするサブシステム(たとえば、アダプタまたはシス
テム)をサポートするアダプタ記述プログラムだけに組
み込まれる。
ラム(ADP)の動作の流れ図が示されている。アダプ
タ記述プログラムは、構成設定プログラムと共働して、
システムがロード可能ABIOSを必要とすることを示
すように不揮発性RAM248を初期設定する。構成設
定プログラムの実行中、当該構成設定プログラムは1つ
または複数のアダプタ記述プログラムを実行することが
できる。アダプタ記述ファイル(ADF)は、Exec
などのキーワードを含む。Execは、アダプタ記述プ
ログラムの実行を呼び出すのに使用される。構成設定プ
ログラム、アダプタ記述ファイル、およびアダプタ記述
プログラムの詳細な説明は、「IBMパーソナル・シス
テム/2ハードウェア・インターフェース技術解説書−
アーキテクチャ(IBM Personal System/2 Hardware Int
erface Technical Reference - Architectures)」(1
990年10月)のSetupの節にある。アダプタ記
述ファイルは、たとえば入出力スロット232にインス
トールされるアダプタなどの、システム・ユニットにイ
ンストールされるあらゆるアダプタに必要である。シス
テム100用のアダプタ記述ファイルも存在することが
できる。図14の流れ図は、ロード可能ABIOSを必
要とするサブシステム(たとえば、アダプタまたはシス
テム)をサポートするアダプタ記述プログラムだけに組
み込まれる。
【0047】動作に際しては、ステップ1002で、構
成設定プログラムが、アダプタ記述プログラムの実行を
開始する。アダプタ記述プログラムは、ステップ100
4で、LARB値を16進値A1など所定のサイン(si
gnature)値と突き合わせてチェックする。LARB1
000は、不揮発性RAM248からLARB値を読み
取ることによって獲得される。LARB1000は、不
揮発性RAMから直接またはCBIOSインタフェース
を通じて読み取ることができる。LARB1000が前
記のサイン値と等しくない場合、ステップ1006で、
アダプタ記述プログラムがLARB1000を当該サイ
ン値に設定する。ステップ1006でLARB1000
が所定のサイン値に設定された後、ステップ1008
で、アダプタ記述プログラムが続行する。ステップ10
04でLARB1000がサイン値と等しくない場合、
LARB1000の更新は必要でなく、制御はステップ
1008に進む。LARB1000にサイン値が格納さ
れると、この値は、システムがロード可能ABIOSを
サポートすることを示す。LARB1000にサイン値
でない値が格納されると、この値は、システムがロード
可能ABIOSをサポートしないことを示す。
成設定プログラムが、アダプタ記述プログラムの実行を
開始する。アダプタ記述プログラムは、ステップ100
4で、LARB値を16進値A1など所定のサイン(si
gnature)値と突き合わせてチェックする。LARB1
000は、不揮発性RAM248からLARB値を読み
取ることによって獲得される。LARB1000は、不
揮発性RAMから直接またはCBIOSインタフェース
を通じて読み取ることができる。LARB1000が前
記のサイン値と等しくない場合、ステップ1006で、
アダプタ記述プログラムがLARB1000を当該サイ
ン値に設定する。ステップ1006でLARB1000
が所定のサイン値に設定された後、ステップ1008
で、アダプタ記述プログラムが続行する。ステップ10
04でLARB1000がサイン値と等しくない場合、
LARB1000の更新は必要でなく、制御はステップ
1008に進む。LARB1000にサイン値が格納さ
れると、この値は、システムがロード可能ABIOSを
サポートすることを示す。LARB1000にサイン値
でない値が格納されると、この値は、システムがロード
可能ABIOSをサポートしないことを示す。
【0048】図15を参照すると、ABIOSおよびL
ARB1000に関連するプログラム(たとえば、オペ
レーティング・システム)インストール手順の流れ図が
示されている。オペレーティング・システムのインスト
レーションは、ステップ1100でオペレーティング・
システム・インストレーション・プログラムの予備ロー
ドおよび初期設定から開始する。このインストレーショ
ン・プログラムは次に、ステップ1102で、不揮発性
RAM248からLARB1000を読み取る。ステッ
プ1104で、LARB1000が所定のサイン値(た
とえば、16進値A1)と比較される。LARB100
0がこのサイン値と等しい場合、ステップ1106で、
インストレーション・プログラムが、1つまたは複数の
サポート・ディスケットを要求するプロンプトを出す。
これらのサポート・ディスケットは、インストール中の
プログラム(たとえば、オペレーティング・システム)
を動作させるのに必要なすべてのABIOSを含む。次
に、ステップ1108で、必要なABIOSサポート・
モジュール(プログラム)が、インストレーションのタ
ーゲット(たとえば、ハードファイル106)である媒
体上にロードされる。ABIOSロード・ステップが完
了すると、1110でインストレーション手順が続行す
る。ステップ1104でLARB1000が当該サイン
値と等しくない場合、ABIOSサポート・ディスケッ
トは必要でなく、初期設定プログラムはステップ111
0に進む。
ARB1000に関連するプログラム(たとえば、オペ
レーティング・システム)インストール手順の流れ図が
示されている。オペレーティング・システムのインスト
レーションは、ステップ1100でオペレーティング・
システム・インストレーション・プログラムの予備ロー
ドおよび初期設定から開始する。このインストレーショ
ン・プログラムは次に、ステップ1102で、不揮発性
RAM248からLARB1000を読み取る。ステッ
プ1104で、LARB1000が所定のサイン値(た
とえば、16進値A1)と比較される。LARB100
0がこのサイン値と等しい場合、ステップ1106で、
インストレーション・プログラムが、1つまたは複数の
サポート・ディスケットを要求するプロンプトを出す。
これらのサポート・ディスケットは、インストール中の
プログラム(たとえば、オペレーティング・システム)
を動作させるのに必要なすべてのABIOSを含む。次
に、ステップ1108で、必要なABIOSサポート・
モジュール(プログラム)が、インストレーションのタ
ーゲット(たとえば、ハードファイル106)である媒
体上にロードされる。ABIOSロード・ステップが完
了すると、1110でインストレーション手順が続行す
る。ステップ1104でLARB1000が当該サイン
値と等しくない場合、ABIOSサポート・ディスケッ
トは必要でなく、初期設定プログラムはステップ111
0に進む。
【0049】ロード可能ABIOS要求バイト(LAR
B)1000は、様々なコンピュータ・システム構成を
サポートする。本発明以前のコンピュータ・システムも
サポートされる。LARB1000とサイン値が等しく
ならず、インストレーション・プログラム側で付加動作
が生じないからである。(ロード可能ABIOSを要求
する)新規のシステムは、LARB1000を認識する
インストレーション・プログラムによってサポートされ
る。(ロード可能ABIOSを要求する)新規の機能ア
ダプタを備えられれば、以前のシステムも、その構成フ
ェーズ中にLARB1000が設定されるのでサポート
される。
B)1000は、様々なコンピュータ・システム構成を
サポートする。本発明以前のコンピュータ・システムも
サポートされる。LARB1000とサイン値が等しく
ならず、インストレーション・プログラム側で付加動作
が生じないからである。(ロード可能ABIOSを要求
する)新規のシステムは、LARB1000を認識する
インストレーション・プログラムによってサポートされ
る。(ロード可能ABIOSを要求する)新規の機能ア
ダプタを備えられれば、以前のシステムも、その構成フ
ェーズ中にLARB1000が設定されるのでサポート
される。
【0050】以上、本発明の好ましい実施例について説
明したが、本発明の趣旨、範囲、および教示から逸脱す
ることなく、様々な細部の変更が可能であることが当業
者には理解されよう。たとえば、好ましい実施例では、
インテル社のプロセッサおよびIBM社のPS/2 マ
イクロチャネル・バスを例として使用したが、本発明
は、他のタイプのプロセッサまたは他のタイプのバス、
あるいはその両方で実施することもできる。
明したが、本発明の趣旨、範囲、および教示から逸脱す
ることなく、様々な細部の変更が可能であることが当業
者には理解されよう。たとえば、好ましい実施例では、
インテル社のプロセッサおよびIBM社のPS/2 マ
イクロチャネル・バスを例として使用したが、本発明
は、他のタイプのプロセッサまたは他のタイプのバス、
あるいはその両方で実施することもできる。
【0051】
【発明の効果】ロード可能な分離されたモジュール式の
ABIOSを提供すると、コンピュータ・システムに複
数の利点が提供される。ABIOSをモジュール式とす
ることで、ABIOSの保守容易性を強化する。モノリ
シックABIOSは1対1であり、1システム当たりの
ABIOSが1つである。モジュール式ABIOSは1
対多数であり、1つのABIOSモジュールで、複数の
異なるシステム上の所与のサブシステム(たとえば、デ
ィスケット)がサポートできる。モノリシックABIO
Sは、システムごとに維持される。モジュール式ABI
OSはコンポーネント(機能)ごとに維持される。AB
IOSをロード可能なものとすることで、システム・フ
ァームウェア空間508と機能空間506の両方の使用
可能アドレス空間の量を増やす。システム・ファームウ
ェア空間508と機能空間506の使用可能アドレス空
間の量が増えると、基本メモリ管理プログラムの動作が
可能になり、かつ強化される。また、システム・ファー
ムウェア空間508と機能空間506の使用可能アドレ
ス空間の量が増えると、それぞれの空間により大きなP
OSTプログラムおよびCBIOSプログラムが常駐で
きる。また、ABIOSの開発、テスト、分配、および
保守が簡単になる。というのは、ABIOSがPOST
−CBIOS−ABIOSバンドルの一部ではなく単一
のエンティティだからである。
ABIOSを提供すると、コンピュータ・システムに複
数の利点が提供される。ABIOSをモジュール式とす
ることで、ABIOSの保守容易性を強化する。モノリ
シックABIOSは1対1であり、1システム当たりの
ABIOSが1つである。モジュール式ABIOSは1
対多数であり、1つのABIOSモジュールで、複数の
異なるシステム上の所与のサブシステム(たとえば、デ
ィスケット)がサポートできる。モノリシックABIO
Sは、システムごとに維持される。モジュール式ABI
OSはコンポーネント(機能)ごとに維持される。AB
IOSをロード可能なものとすることで、システム・フ
ァームウェア空間508と機能空間506の両方の使用
可能アドレス空間の量を増やす。システム・ファームウ
ェア空間508と機能空間506の使用可能アドレス空
間の量が増えると、基本メモリ管理プログラムの動作が
可能になり、かつ強化される。また、システム・ファー
ムウェア空間508と機能空間506の使用可能アドレ
ス空間の量が増えると、それぞれの空間により大きなP
OSTプログラムおよびCBIOSプログラムが常駐で
きる。また、ABIOSの開発、テスト、分配、および
保守が簡単になる。というのは、ABIOSがPOST
−CBIOS−ABIOSバンドルの一部ではなく単一
のエンティティだからである。
【図1】典型的なパーソナル・コンピュータ・システム
を示す斜視図である。
を示す斜視図である。
【図2】典型的なローカル・エリア・ネットワークを示
す図である。
す図である。
【図3】図1のコンピュータ・システム用の一体型プレ
ーナ(マザーボード)を示す概略ブロック図である。
ーナ(マザーボード)を示す概略ブロック図である。
【図4】図1のコンピュータ・システムの代替プレーナ
を示す概略ブロック図である。
を示す概略ブロック図である。
【図5】図4の代替プレーナと共に使用されるプロセッ
サ・カードの概略ブロック図である。
サ・カードの概略ブロック図である。
【図6】図1のコンピュータ・システムのシステム・ア
ドレス空間を示す図である。
ドレス空間を示す図である。
【図7】典型的なファームウェア・メモリ・マップを示
す図である。
す図である。
【図8】ABIOSに関連するシステム初期設定シーケ
ンスを示す流れ図である。
ンスを示す流れ図である。
【図9】ABIOSの拡張転送機構を示す図である。
【図10】ABIOS初期設定の内部形式を示す流れ図
である。
である。
【図11】ABIOSプログラム・モジュール・ヘッダ
を示す図である。
を示す図である。
【図12】ABIOSモジュールの拡張ロード手順を示
す図である。
す図である。
【図13】本発明で使用されるデータ域を示す不揮発性
RAMの図である。
RAMの図である。
【図14】本発明に関連する構成方法を示す流れ図であ
る。
る。
【図15】ABIOSに関連するオペレーティング・シ
ステム・インストール動作を示す流れ図である。
ステム・インストール動作を示す流れ図である。
100 コンピュータ・システム 102 システム・ユニット 106 ハードファイル 201 プリント回路板 202 プロセッサ 206 キャッシュ制御装置 208 キャッシュ・メモリ 212 システム・バッファ 214 バス制御ユニット 218 入出力バッファ 220 直接メモリ・アクセス制御ユニット 224 中央アービタ 228 入出力バッファ 242 ファームウェア・サブシステム 246 ディスケット・アダプタ 248 不揮発性RAM(NVRAM) 256 メモリ制御ユニット 262 データ・バッファ 264 ランダム・アクセス・メモリ(RAM)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・ダブリュー・ブラックレッジ・ ジュニア アメリカ合衆国33487、フロリダ州ボ カ・ラトン、セコイア・レーン 304 (72)発明者 ダグラス・リチャード・ガイスラー アメリカ合衆国33434、フロリダ州ボ カ・ラトン、ヴィラ・ランテ・プレース 19979 (72)発明者 マイケル・ロバート・ターナー アメリカ合衆国33496、フロリダ州ボ カ・ラトン、クリント・モア・ロード 3279 106号 (72)発明者 デーヴィッド・アール・ブラシュケ アメリカ合衆国33426、フロリダ州ボイ ントン・ビーチ、25番アヴェニュー、サ ウス・ウェスト 1456エイ (72)発明者 メアリー・モア・ボルト アメリカ合衆国33444、フロリダ州デル レイ・ビーチ、アイビス・ドライブ 640 (72)発明者 ロバート・ギルバート・ヒリス アメリカ合衆国33486、フロリダ州ボ カ・ラトン、14番ストリート、ノース・ ウェスト 1221 (72)発明者 フランク・ジョーゼフ・シュルーダー アメリカ合衆国33487、フロリダ州ボ カ・ラトン、ウェスト・カントリー・ク ラブ・ビルディング 7337 (56)参考文献 特開 平2−214955(JP,A) 特開 昭64−44539(JP,A) 特開 平5−35489(JP,A) プログラミングOS/2 ▲I▼「カ ーネル・プログラミング編」、Ray Duncan著、佐藤和彦監修、福崎俊 博訳、pp.13−29、”2章OS/2の 構造と初期化" インターフェースNo.82,1984− 3,pp.231−240、「キャッシュ・デ ィスク・ユーテリティとCP/M−80エ ミュレータ」 インターフェースNo.150,1989− 11,pp.267−280、「MIDIボード 用BIOSの作成」 The Basic No.103, 1991−12,pp.31−43、「DOS5. 0実践的理解」特にpp.34−37”DO S5のメモリ管理”、”UMBのサポー ト”参照 (58)調査した分野(Int.Cl.6,DB名) G06F 9/06 420 G06F 9/24 310
Claims (5)
- 【請求項1】論理的なシステム・アドレス空間が、複数
のメモリ・アドレス領域を含み、前記複数のメモリ・ア
ドレス領域が、上側境界を有する下位メモリ領域と、下
側境界を有する上位メモリ領域と、前記下位メモリ領域
の上側境界及び前記上位メモリ領域の下側境界の間に位
置する中間メモリ領域とを含み、前記中間メモリ領域
が、ファームウェア情報を格納するために予約され、前
記ファームウェア情報が、第1及び第2のマイクロコー
ド部分から成るオペレーティング・システムのマイクロ
コードを含み、前記第1のマイクロコード部分が、前記
上位メモリ領域をアドレス不能なアプリケーション・プ
ログラムを扱うことができるようにするための予備的な
初期設定を完了するために使用され、前記第2のマイク
ロコード部分が、前記上位、下位及び中間メモリ領域の
うち任意のメモリ領域へのアクセスを必要とするアプリ
ケーション・プログラムを扱うことができるように前記
予備的な初期設定が完了した後にのみ使用されるように
したコンピュータ・システムであって、 データ・バスに結合され、第1及び第2のモードで動作
可能なシステム・プロセッサを備え、 前記第1のモードでは、前記システム・プロセッサが前
記下位及び中間メモリ領域のみをアドレスすることを許
容し、前記第2のモードでは、前記システム・プロセッ
サが前記上位、下位及び中間メモリ領域のうち任意のメ
モリ領域をアドレスすることを許容し、 前記データ・バスに結合され、前記データ・バスを介し
て前記システム・プロセッサにアクセス可能な不揮発性
メモリを備え、 前記不揮発性メモリが、前記システム・プロセッサによ
って使用される前記第1のマイクロコード部分を格納す
るとともに、通常は前記コンピュータ・システムに含ま
れていない外部記憶媒体から前記コンピュータ・システ
ムへの前記第2のマイクロコード部分のローディングを
前記コンピュータ・システムがサポートしているか否か
を指示する要求標識を格納し、前記要求標識が、前記コ
ンピュータ・システムの構成設定が最初に確立又は変更
されるときにのみ、前記外部記憶媒体上の前記第2のマ
イクロコード部分へのアクセスを提供するように前記コ
ンピュータ・システムのユーザにプロンプトを出すため
に使用され、 前記データ・バスに結合され、前記データ・バスを介し
て前記システム・プロセッサにアクセス可能な揮発性メ
モリを備え、 前記揮発性メモリが、前記第1のマイクロコード部分の
制御下で実行している間に、前記システム・プロセッサ
が前記第2のマイクロコード部分を検索するのを可能に
するためのリンク情報を格納し、 前記システム・プロセッサ、前記揮発性メモリ及び前記
不揮発性メモリに結合され、相互間の通信を調整すると
ともに、前記コンピュータ・システム内で使用されるプ
ログラムによって定義された論理アドレスを前記揮発性
メモリ及び前記不揮発性メモリ内の物理アドレスへ変換
するためのメモリ制御装置と、 前記データ・バスに結合され、前記要求標識に基づいて
前記外部記憶媒体から前記第2のマイクロコード部分が
得られたとき、前記第2のマイクロコード部分のイメー
ジを格納するための直接アクセス記憶装置を備えて成
る、 前記コンピュータ・システム。 - 【請求項2】コンピュータ・システムであって、 データ・バスに結合され、第1及び第2のモードで動作
可能なシステム・プロセッサを備え、 前記システム・プロセッサが、第1のモードで動作して
いるときは、第1の論理アドレス空間へのアクセスを有
し、前記第2のモードで動作しているときは、前記第1
の論理アドレス空間よりも大きく且つこれを包含する第
2の論理アドレス空間へのアクセスを有し、前記第1の
モードにおいて動作するためにオペレーティング・シス
テムの第1のマイクロコード部分を使用し、前記第1及
び第2のモードの何れかで動作するためにオペレーティ
ング・システムの第2のマイクロコード部分を使用する
とともに、前記コンピュータ・システムの起動時及び初
期設定の間は常に前記第1のマイクロコード部分を使用
して前記第1のモードで動作し、 前記データ・バスに結合され、前記データ・バスを介し
て前記システム・プロセッサにアクセス可能な直接アク
セス記憶装置と、 前記データ・バスに結合され、前記データ・バスを介し
て前記システム・プロセッサにアクセス可能な不揮発性
メモリを備え、 前記不揮発性メモリが、前記第1のマイクロコード部分
を格納するとともに、通常は前記コンピュータ・システ
ムに含まれない外部記憶媒体からの前記第2のマイクロ
コード部分のローディングを前記コンピュータ・システ
ムがサポートしているか否かを指示する要求標識を格納
し、前記システム・プロセッサが、前記コンピュータ・
システムの構成設定が最初に確立又は変更されるときに
前記要求標識を調べて、前記外部記憶媒体からの前記第
2のマイクロコード部分のローディングを前記コンピュ
ータ・システムがサポートしていることを決定すると
き、前記外部記憶媒体へのアクセスを獲得し、前記外部
記憶媒体から前記第2のマイクロコード部分を検索し、
前記第2のマイクロコード部分のコピーを前記直接アク
セス記憶装置内に格納し、前記コピーが、前記コンピュ
ータ・システムの後続の初期設定の間に前記直接アクセ
ス記憶装置から前記揮発性メモリに転送され、 前記データ・バスに結合された揮発性メモリを備え、 前記揮発性メモリが、リンク情報を格納し、前記リンク
情報が、前記第2のマイクロコード部分の前記コピーを
前記揮発性メモリの予定部分にロードし且つ前記予定部
分の位置の指示を維持するように、前記第1のマイクロ
コード部分の制御下にある前記システム・プロセッサに
指令するために、前記後続の初期設定の間に前記オペレ
ーティング・システムによって使用され、 前記システム・プロセッサ、前記揮発性メモリ及び前記
不揮発性メモリに結合され、相互間の通信を調整すると
ともに、前記第1及び第2の論理アドレス空間内の論理
アドレスを前記揮発性メモリ及び前記不揮発性メモリ内
の物理アドレスへ変換するためのメモリ制御装置と、 前記要求標識及び前記リンク情報に応答して、前記揮発
性メモリ内の前記予定部分内にある前記第2のマイクロ
コード部分の位置を前記メモリ制御装置に指示するため
のリンク手段を備え、 前記リンク手段が、前記不揮発性メモリ内にある前記第
2のマイクロコード部分の前記コピーを前記システム・
プロセッサがアクセスすることを許容するようにした、 前記コンピュータ・システム。 - 【請求項3】前記第1のマイクロコード部分が、前記第
1のモードで動作しているときにのみ前記システム・プ
ロセッサによって使用されるオペレーティング・システ
ムの互換性マイクロコードを含み、前記互換性マイクロ
コードが、前記第1のモードのために排他的に書かれた
アプリケーション・プログラムを前記システム・プロセ
ッサが互換的に扱うことを許容し、 前記第2のマイクロコード部分が、前記第1及び第2の
モードのうち任意のモードで動作しているときに前記シ
ステム・プロセッサによって使用されるオペレーティン
グ・システムの拡張マイクロコードを含み、前記拡張マ
イクロコードが、前記第1及び第2のモードのうち任意
のモードのために書かれたアプリケーション・プログラ
ムを前記システム・プロセッサが扱うことを許容する、 請求項1又は2に記載のコンピュータ・システム。 - 【請求項4】システム・プロセッサと、不揮発性メモリ
と、揮発性メモリと、直接アクセス記憶装置とを備えた
コンピュータ・システムの動作に使用されるオペレーテ
ィング・システムのマイクロコードが、第1の論理アド
レス空間及び前記第1の論理アドレス空間より大きく且
つこれを包含する第2の論理アドレス空間へのアクセス
をそれぞれ有する第1及び第2のマイクロコード部分を
含み、前記第1のマイクロコード部分が、前記コンピュ
ータ・システムの初期設定の間に前記コンピュータ・シ
ステムによって排他的に使用され、前記第1及び第2の
マイクロコード部分の両方が、アプリケーション・プロ
グラムを前記コンピュータ・システムが扱うことができ
るようにするために使用され、前記第1のマイクロコー
ド部分が、第1及び第2の情報部分から成り、前記第1
の情報部分及び要求標識が、前記不揮発性メモリ内に格
納され、前記第2のマイクロコード部分が、複数のモジ
ュールを含み、前記要求標識が、通常は前記コンピュー
タ・システムに含まれていない外部記憶媒体から前記コ
ンピュータ・システムへの前記複数のモジュールの少な
くとも幾つかのローディングを前記コンピュータ・シス
テムがサポートするように構成設定されているか否かを
指示し、前記直接アクセス記憶装置が、前記要求標識の
値に依存して、前記外部記憶媒体からの前記複数のモジ
ュールの前記少なくとも幾つかをロードされるようにし
た前記コンピュータ・システムにおいて、 前記コンピュータ・システムを初期設定するとともに、
前記第1のマイクロコード部分の前記第2の情報部分の
コピーを前記揮発性メモリの予定部分に格納するため
の、前記システム・プロセッサ及び前記第1のマイクロ
コード部分の前記第1の情報部分によって形成される第
1の手段を備え、 前記第1のマイクロコード部分の前記第2の情報部分
が、前記複数のモジュールの前記少なくとも幾つかを前
記直接アクセス記憶装置から前記揮発性メモリへ選択的
に転送する動作を管理するために、前記コンピュータ・
システムによって使用され、 前記コンピュータ・システムの構成設定が最初に確立又
は変更されるときに、前記要求標識をアクセスして、前
記外部記憶媒体からの前記複数のモジュールの前記少な
くとも幾つかのローディングを前記コンピュータ・シス
テムがサポートしているか否かを決定するとともに、当
該ローディングがサポートされているという決定に応じ
て、前記外部記憶媒体へのアクセスを前記コンピュータ
・システムに提供するように前記コンピュータ・システ
ムのユーザにプロンプトを出すための、前記システム・
プロセッサ及び前記第1のマイクロコード部分によって
形成される第2の手段と、 前記外部記憶媒体へのアクセスを前記コンピュータ・シ
ステムが獲得する際、前記外部記憶媒体から前記複数の
モジュールの前記少なくとも幾つかを検索するととも
に、当該検索された前記第2のマイクロコード部分のコ
ピーを前記直接アクセス記憶装置に格納するように動作
可能な第3の手段と、 前記コンピュータ・システムの後続の初期設定の間に、
前記コンピュータ・システムが前記複数のモジュールの
前記少なくとも幾つかを必要とするとき、前記複数のモ
ジュールの前記少なくとも幾つかを前記直接アクセス記
憶装置から前記揮発性メモリの残りの部分にロードする
ように動作可能な第4の手段とを備えて成る、 マイクロコードをロードするための装置。 - 【請求項5】前記第1のマイクロコード部分が、前記第
1のモードで動作しているときにのみ前記システム・プ
ロセッサによって使用されるオペレーティング・システ
ムの互換性マイクロコードを含み、前記互換性マイクロ
コードが、前記第1のモードのために排他的に書かれた
アプリケーション・プログラムを前記システム・プロセ
ッサが互換的に扱うことを許容し、 前記第2のマイクロコード部分が、前記第1及び第2の
モードのうち任意のモードで動作しているときに前記シ
ステム・プロセッサによって使用されるオペレーティン
グ・システムの拡張マイクロコードを含み、前記拡張マ
イクロコードが、前記第1及び第2のモードのうち任意
のモードのために書かれたアプリケーション・プログラ
ムを前記システム・プロセッサが扱うことを許容する、 請求項4に記載の装置。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US902311 | 1992-06-22 | ||
US902330 | 1992-06-22 | ||
US07/902,134 US5446898A (en) | 1992-06-22 | 1992-06-22 | Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system |
US07/902,311 US5495611A (en) | 1992-06-22 | 1992-06-22 | Method and apparatus for dynamic load of an ABIOS device support layer in a computer system |
US07/902,330 US5481709A (en) | 1992-06-22 | 1992-06-22 | Method and apparatus for providing a modular ABIOS device support layer in a computer system |
US902134 | 1992-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06149562A JPH06149562A (ja) | 1994-05-27 |
JP2986306B2 true JP2986306B2 (ja) | 1999-12-06 |
Family
ID=27420591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5135547A Expired - Fee Related JP2986306B2 (ja) | 1992-06-22 | 1993-06-07 | コンピュータ・システム、マイクロコードをロードするための装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0576126A3 (ja) |
JP (1) | JP2986306B2 (ja) |
BR (1) | BR9302438A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128732A (en) * | 1997-12-15 | 2000-10-03 | Compaq Computer Corporation | Implementing universal serial bus support with a minimum of system RAM |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593640A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | オペレ−テイングシステムによる機械命令機能制御方式 |
US4654783A (en) * | 1982-07-26 | 1987-03-31 | Data General Corporation | Unique process for loading a microcode control store in a data processing system |
JPS60116539U (ja) * | 1984-01-10 | 1985-08-07 | 横河電機株式会社 | デ−タ処理システム |
US5146568A (en) * | 1988-09-06 | 1992-09-08 | Digital Equipment Corporation | Remote bootstrapping a node over communication link by initially requesting remote storage access program which emulates local disk to load other programs |
GB9012949D0 (en) * | 1989-08-25 | 1990-08-01 | Ibm | An apparatus and method for loading bios from a diskette in a personal computer system |
-
1993
- 1993-05-04 EP EP19930303472 patent/EP0576126A3/en not_active Withdrawn
- 1993-06-07 JP JP5135547A patent/JP2986306B2/ja not_active Expired - Fee Related
- 1993-06-22 BR BR9302438A patent/BR9302438A/pt active Search and Examination
Non-Patent Citations (4)
Title |
---|
The Basic No.103,1991−12,pp.31−43、「DOS5.0実践的理解」特にpp.34−37"DOS5のメモリ管理"、"UMBのサポート"参照 |
インターフェースNo.150,1989−11,pp.267−280、「MIDIボード用BIOSの作成」 |
インターフェースNo.82,1984−3,pp.231−240、「キャッシュ・ディスク・ユーテリティとCP/M−80エミュレータ」 |
プログラミングOS/2 ▲I▼「カーネル・プログラミング編」、Ray Duncan著、佐藤和彦監修、福崎俊博訳、pp.13−29、"2章OS/2の構造と初期化" |
Also Published As
Publication number | Publication date |
---|---|
EP0576126A2 (en) | 1993-12-29 |
EP0576126A3 (en) | 1994-01-12 |
JPH06149562A (ja) | 1994-05-27 |
BR9302438A (pt) | 1994-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7082509B2 (en) | Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time | |
JP3468247B2 (ja) | ファームウェアを管理するためのコンピュータ・システムおよび装置 | |
US5854905A (en) | Extensible bios for boot support of devices on multiple hierarchical buses | |
US5887164A (en) | System and method for enabling a target computer to use storage resources of a host computer | |
US8407396B2 (en) | Providing block data access for an operating system using solid-state memory | |
US6223271B1 (en) | System and method for detecting system memory size using ROM based paging tables | |
US7822961B2 (en) | Semi-persistent relocatable ram-based virtual floppy disk method | |
US5307497A (en) | Disk operating system loadable from read only memory using installable file system interface | |
US5446898A (en) | Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system | |
US7120778B2 (en) | Option ROM virtualization | |
US20040230963A1 (en) | Method for updating firmware in an operating system agnostic manner | |
US20020129233A1 (en) | Data processor having bios packing compression/decompression architecture | |
US6944867B2 (en) | Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems | |
JP2006196018A (ja) | Biosをホスト・コンピュータに提供する方法と配置 | |
JPH04233624A (ja) | パーソナル・コンピュータ・システム内でシステム・ユーティリティを保護するための装置 | |
US6467038B1 (en) | Method for supporting optical international language modules flashed into ROM | |
US5495611A (en) | Method and apparatus for dynamic load of an ABIOS device support layer in a computer system | |
US5894563A (en) | Method and apparatus for providing a PCI bridge between multiple PCI environments | |
JP3003968B2 (ja) | 割込み処理プログラム選択装置及び処理方法 | |
US7299345B2 (en) | Reserved ROM space for storage of operating system drivers | |
US20040243385A1 (en) | Emulation of hardware devices in a pre-boot environment | |
US5481709A (en) | Method and apparatus for providing a modular ABIOS device support layer in a computer system | |
JP2986306B2 (ja) | コンピュータ・システム、マイクロコードをロードするための装置 | |
JP5348813B2 (ja) | ブートrom搭載ボード | |
US7103767B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |