JPH06149562A - ファームウェアを管理するためのコンピュータ・システムおよび装置 - Google Patents

ファームウェアを管理するためのコンピュータ・システムおよび装置

Info

Publication number
JPH06149562A
JPH06149562A JP13554793A JP13554793A JPH06149562A JP H06149562 A JPH06149562 A JP H06149562A JP 13554793 A JP13554793 A JP 13554793A JP 13554793 A JP13554793 A JP 13554793A JP H06149562 A JPH06149562 A JP H06149562A
Authority
JP
Japan
Prior art keywords
microcode
memory
volatile memory
data bus
abios
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP13554793A
Other languages
English (en)
Other versions
JP2986306B2 (ja
Inventor
Richard Bealowski
リチャード・ベアルコフスキ
Jr John W Blackledge
ジョン・ダブリュー・ブラックレッジ・ジュニア
Douglas R Geisler
ダグラス・リチャード・ガイスラー
Michael Robert Turner
マイケル・ロバート・ターナー
E Blaschke David
デーヴィッド・アール・ブラシュケ
More Bolt Mary
メアリー・モア・ボルト
Gilbert Hillis Robert
ロバート・ギルバート・ヒリス
Joseph Schroeder Frank
フランク・ジョーゼフ・シュルーダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/902,311 external-priority patent/US5495611A/en
Priority claimed from US07/902,134 external-priority patent/US5446898A/en
Priority claimed from US07/902,330 external-priority patent/US5481709A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06149562A publication Critical patent/JPH06149562A/ja
Application granted granted Critical
Publication of JP2986306B2 publication Critical patent/JP2986306B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor 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)

Abstract

(57)【要約】 【目的】 ファームウェアをロード、初期設定、構成、
およびインストールする際のメモリ効率を改善するこ
と。 【構成】 不揮発性メモリは、オペレーティング・シス
テム・マイクロコードの第1の部分(CBIOS、PO
ST)を格納し、揮発性メモリは、オペレーティング・
システム・マイクロコードの第1の部分によって使用さ
れる、当該マイクロコードの揮発性の第2の部分を含
む。メモリ制御装置は、揮発性メモリと不揮発性メモリ
と高速マイクロプロセッサの間の通信を調整する。直接
アクセス記憶装置は、必要に応じてマイクロプロセッサ
からアクセスされるオペレーティング・システム・マイ
クロコードの第2の部分を格納する。

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と称する)。
【0003】これらのシステムは、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ファミリーの各種のプロセッサ
上で動作する。
【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プロセッサを使用してい
る。
【0006】インテル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プログラムを
含むものと定義されることもあった。
【0008】パーソナル・コンピュータ・ファミリーの
新規モデルが導入されると、ファームウェアは、新しい
入出力装置などの新しいハードウェア装置をサポートす
るように更新および拡張された。予想どおり、ファーム
ウェアのメモリ・サイズが増大し始めた。たとえば、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を含むコンピュータ・シス
テムである。クライアントまたはサーバは、システム・
ファームウェアの修正、更新、拡張、または保守を必要
とすることがある。
【0010】ファームウェアを格納、ロード、および初
期設定するための構成が知られている。たとえば、米国
特許出願第521050号、米国特許出願第39886
5号、米国特許出願第777844号、米国特許出願第
799486号、米国特許出願第590749号を参照
されたい。
【0011】
【発明が解決しようとする課題】本発明は、ファームウ
ェアの格納、ロード、初期設定等を最適に行うことによ
って、効率的なメモリ空間の利用をはかることをその目
的とするものである。
【0012】
【課題を解決するための手段】本発明は、パーソナル・
コンピュータ・システムの"ROM"アドレス空間からA
BIOSプログラムを除去する。また本発明は、システ
ムの「自由」空間を増やしてROMアドレス空間を特徴
づけ、ABIOS装置サポート・ソフトウェア層を「要
求対応」モードでロードし、ディスク・ベースのコンピ
ュータ・システムと無媒体コンピュータ・システムの両
方において、互換性を保ちながら引き続きABIOSを
サポートする。マイクロコードの第1の部分(たとえば
CBIOS部分)をマイクロコードの第2の部分(たと
えばABIOS部分)とリンクすることにより、マイク
ロコード用に予約されたアドレス空間からマイクロコー
ドのABIOS部分を除去することが可能である。
【0013】本発明はまた、ABIOSをモジュール化
する手段を提供し、モジュール化ABIOSの各部分を
コンピュータ・システムの構成中に選択的に組み込む。
マイクロコードの一部分、たとえばABIOS部分をモ
ジュール化すると、装置サポート層をあるコンピュータ
・システム用に選択的に構成して、システムRAMの使
用を最適化することが可能になる。
【0014】本発明はさらに、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号。
【0016】図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に他の従来の入出力装置を接続して、それ
らとの対話を行わせることができる。
【0018】図3を参照すると、システム・ユニット1
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コンピュータ・システムのマイクロチャネル・バ
ス上で実施されるが、別のバス・アーキテクチャを本発
明で使用することもできることが、当業者には理解され
よう。
【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で表されるような追加のメモ
リを相互接続できることに留意されたい。
【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)を備えている。
【0022】クロック/CMOS RAM 250は、
時刻計算に使用される。不揮発性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が接続されている。
【0024】図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に接続されたディスク制御装置を持つア
ダプタ・カード(図示せず)に接続することができる。
各コネクタは、上述のマイクロチャネル・アーキテクチ
ャに適合する種類の市販のコネクタであることが好まし
い。
【0026】プレーナ300には、キーボード・コネク
タおよびマウス・コネクタ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もタップ接続されている。
【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が電気的および機械的に相互接続
可能である。
【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では、リセット、接地、電源オ
ンなどの一定の線は省略してある。
【0030】プレーナ300およびプロセッサ・カード
400を有するパーソナル・コンピュータ・システム1
00の操作中、プロセッサ・カード400は、プレーナ
300に電気的および機械的に接続され、通常はプレー
ナ400に対して垂直な平面として位置する。
【0031】ABIOSのロードおよびアクセス:シス
テム・ファームウェアは、電源オン自己試験プログラム
(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は当技術分野で周知である。
【0033】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オペレ
ーティング・システムなどのオペレーティング・システ
ムが使用する。
【0035】拡張(Extended)メモリとは、1Mバイト
のアドレス位置より上のメモリを指す。基本(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
バイトの範囲を超えるアダプタもある。
【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で、オペレーティング・システムはさらに初期設定
を続行することができる。
【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)」
により明確に定義されている。
【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が占める空間とが解放される。
【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に関して詳細に説明する。呼出しの代
わりにジャンプを使用することもでき、呼出しかジャン
プかの選択は、周知の設計上の選択の問題である。
【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の節に記載されている。
【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を初期
設定するシステム・サービス・コールが完了し、呼出し
側に制御が返される。
【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モジュール
−複数システムの構成をサポートする。サポート判別ル
ーチンは、モジュールとシステムを動的に関連付ける。
【0044】所与のシステムについてのABIOS制御
ファイルは、モジュールの包括的リスト、または当該所
与のシステムのみに適用されるモジュールのリストとす
ることができる。ABIOS制御ファイルが包括的リス
トの場合、サポート判別ルーチンは、常駐するモジュー
ルと常駐しないモジュールとを分類する。ABIOS制
御ファイルが特定システムに適用可能なファイルだけの
リストである場合、不要なファイルをロードし放棄する
という追加のオーバヘッドがなくなる。しかし、単一の
制御ファイルを維持する方が好ましい場合もある。
【0045】ABIOSの構成およびインストレーショ
ン:図12を参照すると、本発明のロード可能ABIO
S要求バイト(LARB)1000を格納するための記
憶位置を含む不揮発性RAM248の図が示されてい
る。不揮発性RAM248は、通常通り標準の入出力コ
マンドで読み取られ書き込まれる。LARB1000
は、システムがロード可能ABIOSを必要とするかど
うかを示す。LARB1000の初期設定については、
以下で図14を参照して説明する。LARB1000を
使用するプログラム(たとえば、オペレーティング・シ
ステム)のインストレーションについては、以下で図1
5を参照して説明する。
【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を必
要とするサブシステム(たとえば、アダプタまたはシス
テム)をサポートするアダプタ記述プログラムだけに組
み込まれる。
【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をサポートしないことを示す。
【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に進む。
【0049】ロード可能ABIOS要求バイト(LAR
B)1000は、様々なコンピュータ・システム構成を
サポートする。本発明以前のコンピュータ・システムも
サポートされる。LARB1000とサイン値が等しく
ならず、インストレーション・プログラム側で付加動作
が生じないからである。(ロード可能ABIOSを要求
する)新規のシステムは、LARB1000を認識する
インストレーション・プログラムによってサポートされ
る。(ロード可能ABIOSを要求する)新規の機能ア
ダプタを備えられれば、以前のシステムも、その構成フ
ェーズ中にLARB1000が設定されるのでサポート
される。
【0050】以上、本発明の好ましい実施例について説
明したが、本発明の趣旨、範囲、および教示から逸脱す
ることなく、様々な細部の変更が可能であることが当業
者には理解されよう。たとえば、好ましい実施例では、
インテル社のプロセッサおよび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バンドルの一部ではなく単一
のエンティティだからである。
【図面の簡単な説明】
【図1】典型的なパーソナル・コンピュータ・システム
を示す斜視図である。
【図2】典型的なローカル・エリア・ネットワークを示
す図である。
【図3】図1のコンピュータ・システム用の一体型プレ
ーナ(マザーボード)を示す概略ブロック図である。
【図4】図1のコンピュータ・システムの代替プレーナ
を示す概略ブロック図である。
【図5】図4の代替プレーナと共に使用されるプロセッ
サ・カードの概略ブロック図である。
【図6】図1のコンピュータ・システムのシステム・ア
ドレス空間を示す図である。
【図7】典型的なファームウェア・メモリ・マップを示
す図である。
【図8】ABIOSに関連するシステム初期設定シーケ
ンスを示す流れ図である。
【図9】ABIOSの拡張転送機構を示す図である。
【図10】ABIOS初期設定の内部形式を示す流れ図
である。
【図11】ABIOSプログラム・モジュール・ヘッダ
を示す図である。
【図12】ABIOSモジュールの拡張ロード手順を示
す図である。
【図13】本発明で使用されるデータ域を示す不揮発性
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

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】データ・バスに結合されたマイクロプロセ
    ッサと、 前記データ・バスに結合され、オペレーティング・シス
    テム(OS)の第1のマイクロコード部を格納する不揮
    発性メモリと、 前記データ・バスに応答し、前記第1のOSマイクロコ
    ード部によって使用される揮発性の第2のOSマイクロ
    コード部を含む揮発性メモリと、 前記マイクロプロセッサ、揮発性メモリ、および不揮発
    性メモリに結合され、相互間の通信を調整するメモリ制
    御装置と、 前記データ・バスに応答し、必要に応じて前記マイクロ
    プロセッサからアクセスされる前記第2のマイクロコー
    ド部を格納する直接アクセス記憶装置とを含む、複数の
    アプリケーション・プログラムおよびオペレーティング
    ・システム・ソフトウェアと互換性のあるコンピュータ
    ・システム。
  2. 【請求項2】データ・バスに結合されたマイクロプロセ
    ッサと、 前記データ・バスに結合され、オペレーティング・シス
    テム(OS)の第1のマイクロコード部を格納する不揮
    発性メモリと、 前記データ・バスに応答し、前記第1のOSマイクロコ
    ード部によって使用される揮発性の第2のOSマイクロ
    コード部を含む揮発性メモリと、 前記マイクロプロセッサ、揮発性メモリ、および不揮発
    性メモリに結合され、相互間の通信を調整するメモリ制
    御装置と、 前記第2のマイクロコード部の記憶位置を前記メモリ制
    御装置に示し、かつ必要に応じて前記プロセッサが該第
    2のマイクロコード部にアクセスできるようにするリン
    ク手段とを含む、複数のアプリケーション・プログラム
    およびオペレーティング・システム・ソフトウェアと互
    換性のあるコンピュータ・システム。
  3. 【請求項3】データ・バスに結合されたマイクロプロセ
    ッサと、 前記データ・バスに結合され、オペレーティング・シス
    テム(OS)の第1のマイクロコード部を格納し、かつ
    揮発性の第2のOSマイクロコード部をシステムが必要
    とするかどうかを示す要求情報を格納する、不揮発性メ
    モリと、 前記データ・バスに応答し、前記第1のOSマイクロコ
    ード部によって使用される揮発性の前記第2のOSマイ
    クロコード部を含む揮発性メモリと、 前記マイクロプロセッサ、揮発性メモリ、および不揮発
    性メモリに結合され、相互間の通信を調整するメモリ制
    御装置と、 前記データ・バスに応答し、前記要求情報に基づいて前
    記マイクロプロセッサからアクセスされる前記第2のマ
    イクロコード部を格納する直接アクセス制御装置とを含
    む、複数のアプリケーション・プログラムおよびオペレ
    ーティング・システム・ソフトウェアと互換性のあるコ
    ンピュータ・システム。
  4. 【請求項4】データ・バスに結合されたマイクロプロセ
    ッサと、 前記データ・バスに結合され、オペレーティング・シス
    テム(OS)の第1のマイクロコード部を格納する不揮
    発性メモリと、 前記データ・バスに応答し、前記第1のOSマイクロコ
    ード部によって使用される揮発性の第2のOSマイクロ
    コード部を含む揮発性メモリと、 前記データ・バスに応答し、必要に応じて、前記マイク
    ロプロセッサから選択的にアクセスされる複数のモジュ
    ールを含む前記第2のOSマイクロコード部を格納する
    直接アクセス制御装置とを含む、複数のアプリケーショ
    ン・プログラムおよびオペレーティング・システム・ソ
    フトウェアと互換性のあるコンピュータ・システム。
  5. 【請求項5】前記第1のマイクロコード部が互換OSマ
    イクロコードを含み、 前記第2のマイクロコード部が拡張OSマイクロコード
    を含む、 請求項1、2、3または4に記載のコンピュータ・シス
    テム。
  6. 【請求項6】前記互換OSマイクロコードが互換基本入
    出力システム(CBIOS)プログラムを含み、 前記拡張OSマイクロコードが拡張基本入出力システム
    (ABIOS)プログラムを含む、 請求項5に記載のコンピュータ・システム。
  7. 【請求項7】前記第1のマイクロコード部が電源オン自
    己検査(POST)プログラムを含む、請求項5に記載
    のコンピュータ・システム。
  8. 【請求項8】前記直接アクセス記憶装置が遠隔にあり、
    ネットワークを介してアクセスされる、請求項1、2、
    3、4または5に記載のコンピュータ・システム。
  9. 【請求項9】システム・プロセッサと、第1の操作イン
    タフェース部を格納する不揮発性メモリと、ランダム・
    アクセス・メモリと、第2の操作インタフェース部を格
    納する直接アクセス記憶装置とを有するコンピュータ・
    システムの操作に使用される操作インタフェースをロー
    ドする装置であって、 前記システムを初期設定し、前記第1の操作インタフェ
    ース部を前記ランダム・アクセス・メモリのオペレーテ
    ィング・システム部に格納する手段と、 前記システムが前記第2の操作インタフェース部を必要
    とするかどうかを判定する手段と、 前記システムが前記第2の操作インタフェース部を必要
    とするとき、該第2の操作インタフェース部を前記ラン
    ダム・アクセス・メモリの残りの部分にロードする手段
    とを含む装置。
  10. 【請求項10】システム・プロセッサと、第1の操作イ
    ンタフェース部を格納する不揮発性メモリと、ランダム
    ・アクセス・メモリと、複数のモジュールを持つ第2の
    操作インタフェース部を格納する直接アクセス記憶装置
    とを有するコンピュータ・システムの操作に使用される
    操作インタフェースをロードする装置であって、 前記システムを初期設定し、前記第1の操作インタフェ
    ース部を前記ランダム・アクセス・メモリのオペレーテ
    ィング・システム部に格納する手段と、 前記システムが前記第2の操作インタフェース部を必要
    とするかどうかを判定する手段と、 前記システムが操作のためにどのモジュールを必要とす
    るかに基づいて、前記第2の操作インタフェース部のモ
    ジュールを前記ランダム・アクセス・メモリの残りの部
    分に選択的にロードする手段とを含む装置。
  11. 【請求項11】前記第1の操作インタフェース部が互換
    オペレーティング・システム・マイクロコードを含み、 前記第2の操作インタフェース部が拡張オペレーティン
    グ・システム・マイクロコードを含む、 請求項9または10に記載の装置。
  12. 【請求項12】前記互換オペレーティング・システム・
    マイクロコードが互換基本入出力システム(CBIO
    S)プログラムを含み、 前記拡張オペレーティング・システム・マイクロコード
    が拡張基本入出力システム(ABIOS)プログラムを
    含む、 請求項11に記載の装置。
  13. 【請求項13】前記第1の操作インタフェース部が電源
    オン自己試験(POST)プログラムを含む、請求項1
    1に記載の装置。
  14. 【請求項14】前記直接アクセス記憶装置が遠隔にあ
    り、ネットワークを介してアクセスされる、請求項9ま
    たは10に記載の装置。
JP5135547A 1992-06-22 1993-06-07 コンピュータ・システム、マイクロコードをロードするための装置 Expired - Fee Related JP2986306B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US902311 1992-06-22
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
US902134 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
US902330 1992-06-22
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

Publications (2)

Publication Number Publication Date
JPH06149562A true JPH06149562A (ja) 1994-05-27
JP2986306B2 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)

* Cited by examiner, † Cited by third party
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593640A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd オペレ−テイングシステムによる機械命令機能制御方式
JPS60116539U (ja) * 1984-01-10 1985-08-07 横河電機株式会社 デ−タ処理システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4654783A (en) * 1982-07-26 1987-03-31 Data General Corporation Unique process for loading a microcode control store in a data processing system
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593640A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd オペレ−テイングシステムによる機械命令機能制御方式
JPS60116539U (ja) * 1984-01-10 1985-08-07 横河電機株式会社 デ−タ処理システム

Also Published As

Publication number Publication date
JP2986306B2 (ja) 1999-12-06
BR9302438A (pt) 1994-02-16
EP0576126A2 (en) 1993-12-29
EP0576126A3 (en) 1994-01-12

Similar Documents

Publication Publication Date Title
JP3468247B2 (ja) ファームウェアを管理するためのコンピュータ・システムおよび装置
US6223271B1 (en) System and method for detecting system memory size using ROM based paging tables
US7222339B2 (en) Method for distributed update of firmware across a clustered platform infrastructure
US7082509B2 (en) Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time
US5854905A (en) Extensible bios for boot support of devices on multiple hierarchical buses
US6961791B2 (en) Method for expansion and integration of option ROM support utilities for run-time/boot-time usage
US20040230963A1 (en) Method for updating firmware in an operating system agnostic manner
US5446898A (en) Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system
US7120778B2 (en) Option ROM virtualization
US5987536A (en) Computer system having flash memory bios which can be accessed while protected mode operating system is running
US8037210B2 (en) Computer and method for directly accessing computer hardware by virtual system
US20030061401A1 (en) Input device virtualization with a programmable logic device of a server
JP2006196018A (ja) Biosをホスト・コンピュータに提供する方法と配置
JPH0775014B2 (ja) コンピュータにbiosをロードする装置及び方法
GB2202657A (en) Computer system having cpu-mode-independent addressing
KR100764921B1 (ko) 장치 이뉴머레이션을 위한 가상 rom
JPH04233624A (ja) パーソナル・コンピュータ・システム内でシステム・ユーティリティを保護するための装置
US5495611A (en) Method and apparatus for dynamic load of an ABIOS device support layer in a computer system
US20050160256A1 (en) [remote boot method and device thereof and server device using remote boot method]
JP3003968B2 (ja) 割込み処理プログラム選択装置及び処理方法
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) コンピュータ・システム、マイクロコードをロードするための装置
US5754852A (en) Apparatus for combining cellular telephone ring signals and PSTN ring signals
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