[go: up one dir, main page]

JP2974577B2 - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JP2974577B2
JP2974577B2 JP6137392A JP13739294A JP2974577B2 JP 2974577 B2 JP2974577 B2 JP 2974577B2 JP 6137392 A JP6137392 A JP 6137392A JP 13739294 A JP13739294 A JP 13739294A JP 2974577 B2 JP2974577 B2 JP 2974577B2
Authority
JP
Japan
Prior art keywords
cpu
program
address
system configuration
mode
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 - Lifetime
Application number
JP6137392A
Other languages
English (en)
Other versions
JPH07287682A (ja
Inventor
昌代 八巻
浩行 塚田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP6137392A priority Critical patent/JP2974577B2/ja
Publication of JPH07287682A publication Critical patent/JPH07287682A/ja
Priority to US08/789,543 priority patent/US5963738A/en
Application granted granted Critical
Publication of JP2974577B2 publication Critical patent/JP2974577B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はラップトップタイプま
たはノートブックタイプのポータブルパ−ソナルコンピ
ュータシステムに関し、特に異なるプログラム間のイン
タフェースを行うコンピュータシステムに関する。
【0002】
【従来の技術】近年、半導体技術の進歩によりマイクロ
プロセッサの高性能化が進み、ラップトップタイプまた
はノートブックタイプのポータブルパ−ソナルコンピュ
ータシステムにおいてもそのような高性能マイクロプロ
セッサがCPUとして使用されている。
【0003】この種の典型的なCPUとしては、米イン
テル社により製造販売されているIntel386やI
ntel486が良く知られている。このCPUは、リ
アルモードとプロテクトモ−ドとそれぞれ称され2つの
動作モードを有している。リアルモードとプロテクトモ
−ドは互いに異なるメモリアドレッシング方式を採用し
ており、リアルモードではアクセス可能な最大メモリ空
間は1Mバイトであるのに対し、プロテクトモ−ドでは
最大で1タスク当り4Gバイトのメモリ空間をアクセス
できる。
【0004】パ−ソナルコンピュータの典型的なオペレ
ーティングシステムは、リアルモードで動作するように
構成されている。このため、現在使用されているアプリ
ケーションプログラムやユーティリティプログラムにつ
いても、そのほとんどはリアルモードで動作するように
構成されている。
【0005】最近では、オペレーティングシステムの高
機能化も進み、マルチタスクをサポートするオペレーテ
ィングシステムが使用され始めている。この種の高機能
オペレーティングシステムのほとんどは、プロテクトモ
−ドで動作するように構成されている。
【0006】このため、最近のパーソナルコンピュータ
においては、ある特定のオペレーティングシステム環境
下だけでなく、種々のオペレーティングシステム環境下
でシステム内のハードウェアを正常にアクセスできるよ
うにすることが要求されている。
【0007】ところで、通常、パ−ソナルコンピュータ
においては、システム内のハードウェアとオペレーティ
ングシステムとを互いに独立させてハードウェア制御か
らオペレーティングシステムを解放するために、ハード
ウェアアクセス専用のシステムBIOS(Basic I/
O System)と称されるプログラムが利用されている。
このシステムBIOSは、システムホード上のROMに
よって提供されており、ハードウェアアクセスのための
複数のファンクション実行ルーチンを含んでいる。これ
らファンクション実行ルーチンはオペレーティングシス
テムに各種のハードウェアアクセスのための機能を提供
する。
【0008】システムBIOSのファンクション実行ル
ーチンは、CPUのソフトウェア割り込み命令(INT
命令)によって実現されている。したがって、オペレー
ティングシステムは、INT命令によって所望のファン
クション実行ルーチンを呼び出して、必要なハードウェ
ア制御を行う事ができる。
【0009】また、オペレーティングシステムに対する
ハードウェアアクセスのための機能は、ユーティリティ
プログラムによって提供することもできる。この種のユ
ーティリティプログラムは、システムBIOSと同様
に、ハードウェアを直接制御する。ハードウェア制御の
ために使用される代表的なユーティリティープログラム
としては、セップアッププログラムが知られている。
【0010】セップアッププログラムは、CMOSメモ
リのシステム構成情報を書き換えてシステムコンフィグ
レーションの変更を行い、これによって拡張カードの利
用を可能にしたり、動作モードの変更などを行うプログ
ラムである。CMOSメモリに格納されているシステム
構成情報はハードウェア構成に対応しており、パーソナ
ルコンピュータの機種毎にCMOSメモリに格納される
システム構成情報の内容は異なる。このため、システム
構成情報の設定/変更を行うためには、機能追加された
新機種が開発される度にセップアッププログラムを作成
し直すことが必要とされた。
【0011】この場合、セップアッププログラムの修正
/変更作業だけでなく、場合によっては、そのセップア
ッププログラムとのインターフェースを維持するため
に、オペレーティングシステムについても修正/変更を
加えなければならないこともある。
【0012】また、通常、リアルモードで動作するオペ
レーティングシステムとプロテクトモードで動作するオ
ペレーティングシステムとでは異なるセットアッププロ
グラムを利用している。すなわち、リアルモードで動作
するオペレーティングシステム用のセップアッププログ
ラムは、リアルモードで動作するように構成されてお
り、通常、システムBIOSの一部としてROMに格納
されている。一方、プロテクトモードで動作するオペレ
ーティングシステム用のセップアッププログラムはプロ
テクトモードで動作するように構成されており、フロッ
ピーディスクなどによって供給される。
【0013】このようにオペレーティングシステム毎に
異なるセットアッププログラムを利用した場合において
は、新機種が開発されると、実際には、それら全てのセ
ップアッププログラムについて修正/変更作業を行う事
が必要とされる。
【0014】以上のように、従来では、ハードウェア制
御などに関する機能追加を図る度に、セップアッププロ
グラムやオペレーティングシステムの修正/変更が必要
とされ、その作業に多くの時間が必要とされる欠点があ
った。
【0015】また、ハードウェア制御に関する機能追加
などのためにシステムBIOSに新たなファンクション
実行ルーチンを追加する場合には、プロテクトモードで
動作するオペレーティングシステムについては、そのフ
ァンクション実行ルーチンを使用できるようにするため
に次のようなプログラム変更を行う必要がある。
【0016】すなわち、システムBIOSはリアルモー
ドで実行されるオペレーティングシステムを前提として
構成されたものであるため、システムBIOSのファン
クション実行ルーチンはすべてリアルモードで動作され
るように構成されている。
【0017】このため、プロテクトモ−ドで動作される
オペレーティングシステム環境においては、CPUの動
作モードを一旦プロテクトモードからリアルモードに切
り替えた後にINT命令を実行してファンクション実行
ルーチンを呼び出し、そのファンクション実行ルーチン
からリターンされた後に、再びリアルモードからプロテ
クトモードに切り替えることが必要とされる。
【0018】したがって、プロテクトモードで動作する
オペレーティングシステムを利用する場合には、CPU
の動作モードを切り替えるルーチンと、INT命令によ
ってシステムBIOSのファンクション実行ルーチンを
呼び出すルーチンとを、そのオペレーティングシステム
のBIOSインタフェース部に組み込まなければならな
い。
【0019】このため、ハードウェア制御に関する機能
拡張のためにシステムBIOSに新たなファンクション
実行ルーチンを追加すると、プロテクトモードで動作す
るオペレーティングシステムのBIOSインタフェース
部の修正/変更作業に多くの時間が必要となるという不
具合が生じる。
【0020】
【発明が解決しようとする課題】従来では、機種毎にそ
のハードウェア構成に合わせてセップアッププログラム
やオペレーティングシステムの修正/変更が必要とさ
れ、その作業に多くの時間が必要とされる欠点があっ
た。
【0021】また、プロテクトモ−ドで動作されるオペ
レーティングシステムからシステムBIOSを利用でき
るようにするためには、そのオペレーティングシステム
のBIOSインタフェース部に、CPU動作モードを切
り替えるルーチンを組み込む必要があった。このため、
ハードウェア制御に関する機能拡張のためにシステムB
IOSに新たなファンクション実行ルーチンを追加する
と、それに対応するBIOSインタフェース部のコーデ
ィング作業に多くの時間が必要となる欠点があった。
た、システムBIOSファンクションの実行ルーチン
は、CPUのソフトウエア割込み命令(INT命令)に
よって実現されている。従って、オペレーティングシス
テムは、INT命令によって所望のファンクション実行
ルーチンを呼び出して、必要なハードウエア制御を行う
ことができる。しかしながら、システムBIOSはリア
ルモードで実行されるオペレーティングシステムを前提
として構成されたものであるため、システムBIOSの
ファンクション実行ルーチンはすべてリアルモードで動
作されるように構成されている。このため、プロテクト
モードで動作されるオペレーティングシステム環境にお
いては、CPUの動作モードを一旦プロテクトモードか
らリアルモードに切り替えた後にINT命令を実行して
ファンクション実行ルーチンを呼び出し、そのファンク
ション実行ルーチンからリターンされた後に、再びリア
ルモードからプロテクトモードに切り替えることが必要
とされた。従って、プロテクトモードで動作するオペレ
ーティングシステムを利用する場合には、CPUの動作
モードを切り替えるルーチンと、INT命令によってシ
ステムBIOSのファンクション実行ルーチンを呼び出
すルーチンとを、そのオペレーティングシステムのBI
OSインターフェース部に組込まなければならず、その
ためのコーディングが複雑化される欠点があった。
【0022】この発明の目的は、上記欠点を除去したコ
ンピュータシステムを提供することである。この発明の
他の目的は、プロテクトモードで動作するオペレーティ
ングシステム等のプログラムと、リアルモードで動作可
能なBIOSファンクション実行ルーチンのように互い
に異なる環境で動作するプログラム間のインターフェー
スをCPUの持つシステム管理機能を利用して実現でき
るようにし、プロテクトモードで動作するオペレーティ
ングシステム等からBIOSのファンクション実行ルー
チン等を容易に呼び出して実行することができるコンピ
ュータシステムを提供することである。この発明のさら
に他の目的は、ハードウエア構成の変更やハードウエア
制御に関する機能拡張等に柔軟に対応できるプログラム
インターフェースを実現し、オペレーティングシステム
やセットアッププログラム等の修正/変更作業の低減を
図ることができるコンピュータシステムを提供すること
である。
【0023】
【課題を解決するための手段および作用】この発明によ
るコンピュータシステムは、システム構成情報が格納さ
れる記憶装置を有し、そのシステム構成情報の内容に応
じてシステム動作環境が決定されるコンピュータシステ
ムにおいて、ハードウェア制御のためのBIOSプログ
ラムを格納するプログラムメモリであって、前記BIO
Sプログラムは、前記システム構成情報の設定/変更の
ために前記記憶装置に対するリード/ライトアクセスを
実行するシステムコンフィグレーションインタフェース
プログラムを含んでいるプログラムメモリと、前記コン
ピュータシステムで実行されるオペレーティングシステ
ムまたはアプリケーションプログラムと前記BIOSプ
ログラムとの間のインタフェースを行うインタフェース
手段とを具備し、前記インタフェース手段は、前記オペ
レーティングシステムまたはアプリケーションプログラ
ムからの前記システム構成情報の設定/変更要求に応答
して、前記システムコンフィグレーションインタフェー
スプログラムに前記記憶装置に対するリード/ライトア
クセスを実行させることを特徴とする。
【0024】このコンピュータシステムにおいては、シ
ステムコンフィグレーションインタフェースプログラム
がBIOSプログラムの1部として格納されており、こ
のシステムコンフィグレーションインタフェースプログ
ラムを起動する事によって、システム構成情報の設定/
変更を行うことができる。このため、オペレーティング
システムや、セップアッププログラムなどのアプリケー
ションプログラムは、システム構成情報を格納する記憶
装置を直接アクセスすることなく、システムコンフィグ
レーションインタフェースプログラムを呼び出すだけで
システム構成情報の変更などを行う事ができる。
【0025】したがって、機能追加された新機種が開発
されてシステム構成情報の内容に変化が生じたとして
も、オペレーティングシステムやセップアッププログラ
ムはシステム構成情報を直接アクセスするわけではない
ので、それらオペレーティングシステムやセップアップ
プログラムに修正を加える必要はない。よって、ハード
ウェア構成の変更に柔軟に対応することが可能となる。
【0026】また、システムコンフィグレーションイン
タフェースプログラムはBIOSプログラムと同様にリ
アルモードにおけるソフトウェア割り込み命令によって
起動される。このため、リアルモードのオペレーティン
グシステム環境下ではソフトウェア割り込み命令を実行
するだけでシステム構成情報の設定/変更が可能とな
る。また、プロテクトモードのオペレーティングシステ
ム環境下でも、CPUの動作モードをリアルモードに変
換した後にソフトウェア割り込み命令を実行すれば、シ
ステム構成情報の設定/変更を行う事ができる。
【0027】また、この発明のコンピュータシステム
は、第1のアドレス計算形式が用いられ所定メモリ空間
がアクセス可能な第1動作モードと、前記第1のアドレ
ス計算形式とは異なる第2のアトレス計算形式が用いら
れ前記第1動作モードよりも大きなメモリ空間をアクセ
ス可能な第2動作モードと、前記第1のアドレス計算形
式と実質的に同一のアドレス計算形式が用いられ、所定
のシステム管理プログラムを実行するシステム管理モー
ドとを有するCPUであって、前記CPUへの所定の割
り込み信号の供給に応答してCPUステータスをメモリ
にセーブした後にその時の前記CPUの動作モードを前
記システム管理モードにスイッチし、前記システム管理
モードにおける復帰命令の実行に応答して前記メモリの
内容をCPUのレジスタにリストアして前記システム管
理モードから前記割り込み信号が供給される前の動作モ
ードに復帰するCPUと、システムバスを介して前記C
PUに接続され、所定のI/Oベースアドレスによって
指定されるアドレス範囲に属すシステムバス上のI/O
アドレスをトラップして前記割り込み信号を発生する割
り込み信号発生回路と、前記第1動作モードで動作する
ように構成されハードウェア制御を行うハードウェア制
御プログラムを格納するプログラムメモリと、オペレー
ティングシステムまたはアプリケーションプログラムと
前記ハードウェア制御プログラムとの間のインタフェー
スを行うインタフェース手段であって、オペレーティン
グシステムまたはアプリケーションプログラムからの前
記ハードウェア制御プログラムに対する呼び出し要求に
応答して、前記I/Oベースアドレスによって指定され
るアドレス範囲に属すI/Oポートに対するI/O命令
を実行して、前記割り込み信号発生回路に前記割り込み
信号を発生させる手段と、前記割り込み信号によって前
記CPUがシステム管理モードにスイッチした時、前記
システム管理プログラムを実行して前記ハードウェア制
御プログラムを呼び出し、そのハードウェア制御プログ
ラムをシステム管理モードのCPUに実行させる手段
と、前記CPUを前記システム管理モードから前記オペ
レーティングシステムまたはアプリケーションプログラ
ムが実行されていた前記第1および第2のいずれか一方
の動作モードに復帰させるために、前記ハードウェア制
御プログラムの実行完了に応答して前記復帰命令を実行
する手段とを含むインタフェース手段とを具備すること
を特徴とする。
【0028】このコンピュータシステムにおいては、I
/Oトラップによる割り込み信号がオペレーティングシ
ステムと、機能拡張などのためのハードウェア制御プロ
グラムとの間のインタフェースのために利用されてい
る。インタフェース手段は、オペレーティングシステム
からのハードウェア制御プログラムに対する呼び出し要
求に応答して、特定I/Oポートに対するINまたはO
UTのI/O命令を実行することによって割り込み信号
発生回路にI/Oトラップによる割り込み信号を発生さ
せる。この後、インタフェース手段は、ハードウェア制
御プログラムをシステム管理モードのCPUに実行さ
せ、その実行完了に応答して復帰命令を実行する。シス
テム管理モードのアドレス計算形式は、ハードウェア制
御プログラムが動作可能なリアルモード(第1動作モー
ド)のアドレス計算機形式と同一である。このため、ハ
ードウェア制御プログラムはそのシステム管理モードの
なかで正常に実行する事ができる。
【0029】CPUは、割り込み信号の発生に応答して
オペレーイングシステムが実行されていた動作モード
(プロテクトモード、またはリアルモード)からシステ
ム管理モードにスイッチし、その後、CPUステータス
をメモリに保存する。復帰命令が実行されると、CPU
は、CPUステータスをメモリからリストアし、システ
ム管理モードから割り込み発生前の動作モードに復帰す
る。
【0030】このように、このシステムでは、例えば、
プロテクトモードの環境下においてハードウェア制御プ
ログラムの呼び出し要求が発生すると、CPUが自動的
にシステム管理モードにスイッチされ、そしてハードウ
ェア制御プログラムが実行された後に、システム管理モ
ードからプロテクトモードに復帰される。したがって、
プロテクトモードで動作するオペレーティングシステム
にCPU動作モードを切り替えるルーチンを組み込むこ
となく、プロテクトモード環境下から直接的にハードウ
ェア制御プログラムを呼び出して実行させることが可能
となる。よって、ハードウェア制御に関する機能拡張な
どに柔軟に対応できるようになる。
【0031】また、I/Oトラップによる割り込み信号
を利用しているので、割り込み信号を発生させるために
必要な手続きは、インタフェース手段がINまたはOU
T命令を実行する事だけである。このため、ハードウェ
ア制御プログラムの呼び出し要求の発生に応答して直ぐ
に割り込み信号を発生させる事ができるので、ハードウ
ェア制御プログラムを高速に呼び出す事ができる。
【0032】インタフェース手段は、システム管理プロ
グラムを実行する第1インタフェース手段と、オペレー
ティングシステムに第1インタフェース手段とのインタ
フェースを行うために組み込まれたインタフェースプロ
グラムを実行する第2インタフェース手段とから構成す
る事ができる。
【0033】この場合、第2インタフェース手段は、従
来のINT命令の代わりに、INまたはOUT命令を実
行するだけで、第1インタフェース手段にハードウェア
制御プログラムを呼び出させる事ができる。
【0034】また、インタフェース手段は、ハードウェ
ア制御プログラムのファンクション実行ルーチンの実行
完了時のCPUステータスをメモリに一旦セーブした後
に、復帰命令を実行することが好ましい。復帰命令が実
行されると、CPUはそのCPUレジスタにメモリの内
容をリストアする。この時、ファンクション実行ルーチ
ンの実行完了時のCPUステータスがCPUレジスタに
戻される。したがって、ファンクション実行ルーチンの
実行完了時のCPUステータスをメモリに一旦セーブす
ることにより、ファンクション実行ルーチンにより得ら
れた出力データをCPUのレジスタを介して効率良くオ
ペレーティングシステムに引き渡すことが可能となる。
【0035】さらに、このようなI/OトラップSMI
によるプログラムインタフェースは、システムコンフィ
グレーションインタフェースプログラムを呼び出すため
のインターフェースとして利用する事ができる。
【0036】この場合、プロテクトモードのオペレーテ
ィングシステムにCPU動作モードを切り替えるルーチ
ンを組込むことなく、プロテクトモードのオペレーティ
ングシステム環境下でシステム構成情報の設定/変更を
行うことが可能となる。また、この発明によるコンピュ
ータシステムは、複数のCPU動作モードを有するCP
Uと、オペレーティングシステム又はアプリケーション
プログラムから所定の機能を実行する為に、所定のレジ
スタにファンクションコードを設定し、前記コンピュー
タシステムの所定のI/Oポートアドレスに対するI/
O命令を実行する手段と、前記I/O命令の実行に伴う
I/Oポートアドレスをトラップして前記CPUに割込
み信号を発生する手段と、前記割込み信号に応答して、
CPU動作モードを切り替える手段と、前記CPU動作
モード切替え後、前記レジスタに格納されたファンクシ
ョンコードに従い、所定の機能を実行する手段とを具備
することを特徴とする。このコンピュータシステムにお
いては、I/Oトラップによる割込み信号がオペレーテ
ィングシステムまたはアプリケーションプログラムと、
BIOSとの間のインターフェースのために利用されて
いる。オペレーティングシステムまたはアプリケーショ
ンプログラムからのBIOSに対する呼び出し要求に応
答して、所定のI/Oポートに対するINまたはOUT
のI/O命令を実行することによって割込み信号発生回
路にI/Oトラップによる割込み信号を発生させる。こ
の割込み信号に応答して、CPUの動作モードがシステ
ム管理モードに切替えられ、ファンクション実行ルーチ
ンががレジスタに格納されたファンクションコードに従
い、所定の機能を実行する。また、ファンクション実行
ルーチンの実行完了時、CPUステータスをメモリに一
旦セーブした後、復帰命令が実行され、CPUはそのC
PUレジスタにメモリの内容をリストアする。この時、
ファンクション実行ルーチンの実行完了時のCPUステ
ータスがCPUレジスタに戻される。従って、ファンク
ション実行ルーチンの実行完了時のCPUステータスを
メモリに一旦セーブすることにより、ファンクション実
行ルーチンにより得られた出力データをCPUのレジス
タを介して効率よくオペレーティングシステムなどに引
き渡すことが可能となる。
【0037】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。図1には、この発明の一実施例に係わるコンピ
ュータシステムの構成が示されている。このコンピュー
タシステムは、ラップトップタイプまたはノートブック
タイプのパーソナルコンピュータシステムであり、CP
U11、システムコントローラ12、メインメモリ1
3、SMRAM(System Management
RAM)13A、BIOS ROM14、バス変換回
路15、リアルタイムクロック(RTC)16、および
各種I/O装置を備えている。
【0038】CPU11およびメインメモリ13は、3
2ビット幅のデータバスを含むCPUローカルバス17
に接続されている。CPUローカルバス17は、バス変
換回路15を介して16ビット幅のデータバスを含むI
SA仕様のシステムバス18に接続されている。システ
ムコントローラ12、BIOS ROM14、リアルタ
イムクロック(RTC)16、および各種I/O装置
は、システムバス18に接続されている。I/O装置と
しては、割込みコントローラ、キーボードコントロー
ラ、システムタイマ、ハードディスク装置、フロッピー
ディスクコントローラなどがある。
【0039】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;System
Management Interrupt)をサポートするもの、例え
ば、米インテル社により製造販売されているマイクロプ
ロセッサSL Enhanced Intel486が
使用される。SL Enhanced Intel48
6を使用した場合、CPU11は、次のようなシステム
管理機能を持つ。
【0040】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Ma
nagement mode)と称されるシステム管理
機能を実現するための動作モードを有している。
【0041】リアルモードは、最大で1Mバイトのメモ
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
【0042】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
【0043】このように、プロテクトモードとリアルモ
ードとでは、互いに異なるメモリアドレッシングが採用
されている。システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。
【0044】システム管理割込み(SMI;System
Management Interrupt)がCPU11に発行された
時、CPU11の動作モードは、その時の動作モードで
あるリアルモード、プロテクトモード、または仮想86
モードから、SMMにスイッチされる。SMIによって
SMMにスイッチした時、CPU11はその時のCPU
レジスタの内容であるCPUステータスをSMRAM1
3Aにセーブする。また、SMMにおいて復帰命令(R
SM命令)が実行されると、CPU11はSMRAM1
3AからCPUレジスタにCPUステータスをリストア
し、SMI発生前の動作モードに復帰する。SMMで
は、SMIハンドラなどのシステム管理プログラムが実
行される。
【0045】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
【0046】CPU11は、このようなハードウェア割
り込み機能の他、ソフトウェア割り込み機能を持つ。ソ
フトウェア割り込み機能は、OSやアプリケーションプ
ログラムによる割り込み命令(INT)の実行に応答し
て、BIOS ROM14の各種ルーチンなどを実行す
る。この場合、どのルーチンが実行されるかは、割り込
み命令(INT)によって指定される割り込みベクタア
ドレスによって指定される。割り込みベクタアドレスは
BIOS ROM14のエントリポイントを示し、その
エントリポイントのルーチンが実行される。
【0047】システムコントローラ12は、このシステ
ム内のメモリやI/Oを制御するためのゲートアレイで
あり、ここにはCPU11へのSMI信号の発生を制御
するためのハードウェアが組み込まれている。
【0048】メインメモリ13は、オペレーティングシ
ステム、処理対象のアプリケーションプログラム(ユー
ティリティープログラムを含む)、およびアプリケーシ
ョンプログラムによって作成されたユーザデータ等を格
納する。
【0049】SMRAM(System Manage
ment RAM)13Aは、メインメモリ13のアド
レス30000Hから3FFFFHまでのアドレス空間
にマッピングされるオ−バレイメモリであり、SMI信
号がCPU11に入力された時だけアクセス可能とな
る。ここで、SMRAMがマッピングされるアドレス範
囲は固定ではなく、SMBASEと称されるレジスタに
よって4Gバイト空間の任意の場所に変更することが可
能である。SMBASEレジスタは、SMM中でないと
アクセスできない。SMBASEレジスタのデフォルト
値は、アドレス3000Hである。
【0050】CPU11がSMMに移行する時には、C
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAM13Aにスタック形式
でセーブされる。このSMRAM13Aには、BIOS
ROM14のシステム管理プログラムを呼び出すため
の命令が格納されている。この命令は、CPU11がS
MMに入った時に最初に実行される命令であり、この命
令実行によってシステム管理プログラムに制御が移る。
【0051】BIOS ROM14は、システムBIO
S(Basic I/O System )を記憶するためのもの
であり、プログラム書き替えが可能なようにフラッシュ
メモリによって構成されている。システムBIOSは、
このシステム内の各種ハードウェアをアクセスするファ
ンクション実行ルーチンを体系化したものであり、リア
ルモードで動作するように構成されている。
【0052】このシステムBIOSには、システムのパ
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群(INT10h
〜1Fh、40h〜4Fh)が含まれている。各BIO
Sドライバは、ハードウェア制御のための複数の機能を
オペレーティングシステムやアプリケーションプログラ
ムに提供するためにそれら機能に対応する複数のファン
クション実行ルーチン群を含んでいる。
【0053】また、拡張BIOSドライバ(INT15
h)には、システムコンフィグレーションインタフェー
スプログラム(SCI)が格納されている。SCIは、
CMOSメモリ16Aのシステム構成情報(システムコ
ンフィグレーション)の設定/変更のためにCMOSメ
モリ16Aをリード/ライトアクセスするハードウェア
制御プログラムである。OSや、セットアッププログラ
ムなどのアプリケーションプログラムは、SCIを用い
てシステム動作環境の設定/変更を行う。
【0054】このSCIには、図2に示されているよう
に、以下の6つのファンクション実行ルーチンが含まれ
ている。 [ファンクションコード] [ファンクション実行ルーチン] 44F0h SCIサポートチェック 44F1h オープンインタフェース 44F2h クローズインタフェース 44F3h システムコンフィグレーションゲット 44F4h システムコンフィグレーションセット 44F5h デフォルトコンフィグレーションセット SCIサポートチェックルーチンは、このシステムがS
CIをサポートしているか否かをチェックするルーチン
であり、CPU11のAXレジスタにファンクションコ
ード44F0hがセットされた状態でINT15hが実
行された時に起動される。
【0055】オープンインタフェースルーチンは、シス
テム構成情報のリード/ライトを可能にするためのルー
チンであり、システム構成情報の読み書きの前にこのオ
ープンインタフェースルーチンが起動される。オープン
インタフェースルーチンが起動されるまでは、クローズ
インタフェースルーチン、システムコンフィグレーショ
ンゲットルーチン、システムコンフィグレーションセッ
トルーチンは使用できない。オープンインタフェースル
ーチンは、CPU11のAXレジスタにファンクション
コード44F1hがセットされた状態でINT15hが
実行された時に起動される。
【0056】クローズインタフェースルーチンは、シス
テム構成情報のリード/ライトを禁止するためのクロー
ズルーチンであり、CPU11のAXレジスタにファン
クションコード44F2hがセットされた状態でINT
15hが実行された時に起動される。
【0057】システムコンフィグレーションゲットルー
チンは、現在のシステム構成情報をCMOSメモリ16
Aからリードするルーチンであり、CPU11のAXレ
ジスタにファンクションコード44F3hがセットされ
た状態でINT15hが実行された時に起動される。シ
ステムコンフィグレーションゲットルーチンはシステム
構成情報の設定項目毎に30以上のサブファンクション
に別れており、これらサブファンクションはCPU11
のBXレジスタにセットされるサブファンクションコー
ドによって選択される。
【0058】システムコンフィグレーションゲットルー
チンのサブファンクションは、図3および図4の通りで
ある。図3および図4に示されているように、サブファ
ンクションは、システムおよびパワー管理の設定、メモ
リ設定、ディスプレイ設定、HDD/FDD設定、I/
Oポートおよびキーボード設定に関するサブファンクシ
ョンに大別される。
【0059】OSやセットアッププログラムは、取得し
たい設定項目に対応するサブファンクションコード(例
えば、パワーアップモードに関するサブファンクション
コード0100h)をBXレジスタにセットすることに
より、その設定項目に対応する現在の設定値(ブートモ
ード/レジュームモード)を読み取る事ができる。
【0060】システムコンフィグレーションセットルー
チンは、CMOSメモリ16Aのシステム構成情報の変
更のために新たなシステム構成情報をCMOSメモリ1
6Aに書き込むルーチンであり、CPU11のAXレジ
スタにファンクションコード44F4hがセットされた
状態でINT15hが実行された時に起動される。この
場合、CPU11のCXレジスタにセットされた入力値
が、新たなシステム構成情報としてCMOSメモリ16
Aにライトされる。システムコンフィグレーションセッ
トルーチンも、ゲートルーチンと同様に、システム構成
情報の設定項目毎に30以上のサブファンクションに別
れており、これらサブファンクションはCPU11のB
Xレジスタにセットされるサブファンクションコードに
よって選択される。サブファンクションの種類は、図3
および図4で説明したシステムコンフィグレーションゲ
ットルーチンのサブファンクションと同じである。
【0061】デフォルトコンフィグレーションセットル
ーチンは、システム動作環境を標準の環境に戻すために
システム構成情報のデフォルト値をCMOSメモリ16
Aに書き込むルーチンであり、CPU11のAXレジス
タにファンクションコード44F5hがセットされた状
態でINT15hが実行された時に起動される。
【0062】以上のように、SCIは、ハードウェアセ
ットアップのために必要なCMOSメモリ16Aに対す
るアクセス機能を、OSや、セップアッッププログラム
などのアプリケーションプログラムに提供する。
【0063】図1のBIOS ROM14には、さら
に、SMIハンドラおよびSMIサービスルーチンなど
のSMMの中で実行されるシステム管理プログラムも格
納されている。
【0064】SMIハンドラは、SMIの発生要因に応
じてSMIサービスルーチンやBIOSドライバを起動
するするためのものであり、I/OトラップによるSM
Iが発生した場合にはBIOSドライバを起動し、他の
要因によるSMIが発生した場合にはその要因に対応す
るSMIサービスルーチンを起動する。このように、I
/OトラップによるSMIは、BIOSドライバを起動
するためのプログラム・インタフェースとしても利用さ
れる。
【0065】従って、前述のSCIは、ソフトウェア割
り込み(INT15h)だけでなく、I/OトラップS
MIを利用しても起動する事ができる。さらに、BIO
S ROM14には、リアルモード環境で動作するユー
ティリティーとして、セットアッププログラム、および
ポップアッププログラムが格納されている。これらセッ
トアッププログラムおよびポップアッププログラムは、
キー入力操作によって所定のコマンドが入力された時に
起動される。
【0066】BIOS ROM14のセットアッププロ
グラム(BIOSセットアップ)は、リアルモード環境
においてシステムコンフィグレーションの設定/変更を
行う場合に利用される。
【0067】バス変換回路15はCPUローカルバス1
7とシステムバス18を接続するブリッジ回路であり、
CPUローカルバス17の32ビットデータバスとシス
テムバス18の16ビットデータバスとの間のバス幅変
換などを行う。
【0068】リアルタイムクロック(RTC)16は電
池電源が常時供給されるCMOSメモリ16Aを有す
る。このCMOSメモリ16Aには、システム構成情報
などが保存される。システムの動作環境は、CMOSメ
モリ16Aのシステム構成情報によって決定される。
【0069】次に、システムコントローラ12に設けら
れたSMI発生制御のためのハードウェア構成について
説明する。システムコントローラ12は、図示のよう
に、I/OトラップSMI発生回路121、他の要因に
よるSMI発生回路122,123、OR回路124、
およびSMIステータスレジスタ125を備えている。
【0070】I/OトラップSMI発生回路121は、
プログラム・インタフェースとして利用されるI/Oト
ラップSMI信号を発生させるための回路であり、予め
決められたアドレス範囲に属すシステムバス18上のI
/OアドレスをトラップしてI/OトラップSMI信号
を発生する。このI/OトラップSMI発生回路121
は、図示のように、I/Oベースアドレスレジスタ12
6、アドレス比較回路127、およびマスクレジスタ1
28から構成されている。
【0071】I/Oベースアドレスレジスタ126はC
PU11がリード/ライト可能なレジスタであり、シス
テムバス18に接続されている。このI/Oベースアド
レスレジスタ126は、I/Oベースアドレスを保持す
る。このI/Oベースアドレスは、システムのパワーオ
ン時にIRTルーチンによってI/Oベースアドレスレ
ジスタ126にセットされる。セットされるI/Oベー
スアドレスとしては、I/O装置に対して割り当てるこ
とが可能な複数のI/Oベースアドレスの中で実際に使
用されてないアドレスが利用される。
【0072】比較回路127は、IOリード/ライトサ
イクルにおいてシステムバス18上に出力されるI/O
アドレスとI/Oベースアドレスレジスタ126のI/
Oベースアドレスとを比較し、I/OアドレスがI/O
ベースアドレスによって指定されるアドレス範囲に属す
時にI/OトラップSMI信号を発生する。
【0073】マスクレジスタ128は、CPU11がリ
ード/ライト可能なレジスタであり、システムバス18
に接続されている。このマスクレジスタ128は、I/
OトラップSMI信号の発生を許可または禁止するため
のマスクデータを保持する。このマスクデータは、シス
テムのパワーオン時にIRTルーチンによってセットさ
れる。I/OトラップSMIをBIOSのファンクショ
ン実行ルーチンを呼び出すためのプログラム・インタフ
ェースとして利用する場合には、I/OトラップSMI
信号の発生を許可するマスクデータがセットされる。
【0074】I/OトラップSMI発生回路121には
実際にはこのような回路が複数セット用意されており、
その内の1つがBIOSドライバを呼び出すためのプロ
クラム・インタフェースとして利用され、他の回路セッ
トからのI/OトラップSMIはローカルスタンバイS
MIの発生などのために利用される。もちろん、2以上
の回路セットをBIOSドライバを呼び出すためのプロ
グラム・インタフェースとして利用することもできる。
【0075】この場合には、それら回路セットに互いに
異なるI/Oベースアドレスをセットしておくことによ
って、複数のBIOSドライバを互いにトラップアドレ
スが異なる複数のI/OトラップSMIを利用したイン
タフェースによって選択的に呼び出す事ができる。
【0076】他の要因によるSMI発生回路122,1
23は、例えば、ソフトウェアSMI、グローバルスタ
ンバイSMI、ローカルスタンバイSMI、外部入力S
MI、電源からのサスペンドレジュームボタン信号によ
るSMIなどを発生する。
【0077】OR回路124は、I/OトラップSMI
発生回路121および他のSMI回路122,123の
いずれかがSMI信号を発生した時、そのSMI信号を
CPU11に供給する。
【0078】I/OトラップSMI発生回路121およ
び他のSMI回路122,123の各々は、CPU11
がSMMを抜けるまでSMI信号をアクティブステート
に維持し続ける。このため、あるSMI信号に対するS
MI処理中に他のSMI信号が発生された時は、CPU
11は最初のSMI信号に対応するSMMを抜けた後
に、SMI処理中に発生したSMI信号によって再びS
MMに移行する。
【0079】SMIステータスレジスタ125は、SM
I発生要因を示すステータスデータを保持するためのも
のであり、I/OトラップSMI発生回路121および
他のSMI回路122,123それぞれの出力を保持す
る。
【0080】以下、この発明の特徴とするSCIを用い
たシステムコンフィグレーションの設定/変更動作を説
明する。まず、図5乃至図7を参照して、INT15h
を用いてSCIを起動する場合について説明する。
【0081】図5には、SCIを用いたシステムコンフ
ィグレーションの設定/変更動作の原理が概念的に示さ
れている。この実施例のパーソナルコンピュータにおい
ては、リアルモード環境とプロテクトモード環境とでそ
れぞれ異なるセットアッププログラムが用いられる。す
なわち、リアルモード環境ではBIOS ROM14に
格納されているBIOSセットアッププログラムが使用
され、プロテクトモード環境下ではフロッピーディスク
やハードディスク装置から供給される“Max Tim
e”などのセットアッププログラムが利用される。
【0082】“Max Time”は本出願人によって
開発されたプロテクトモードOS用のアプリケーション
プログラムであり、プロテクトモード環境で実行するこ
とができる。“Max Time”は、SCIを利用し
てシステム構成情報の読み書きを行い、ハードウェア
(CMOSメモリ)を直接アクセスすることはない。
“Max Time”を実行すると、図6のようなセッ
トアップウインドウが画面表示され、各種環境設定項目
についてそれぞれ現在の設定値が提示される。現在の設
定値は、キー操作やマウス操作によって変更する事がで
きる。また、“DeFaults”アイコンを選択する
事により、全ての環境設定項目をデフォルト値に一括変
更する事もできる。
【0083】このようにしてシステム動作環境の変更操
作が行われると、“Max Time”はSCIを呼び
出し、CMOSメモリ16Aのシステム構成情報の変更
などを行う。
【0084】“Max Time”がSCIを呼び出す
場合には、まず、CPU11の動作モードがプロテクト
モードからリアルモードに切り替えられ、その後INT
15hのソフトウェア割り込み命令が実行される。
【0085】BIOSセットアッププログラムは、リア
ルモードOS用のプログラムであり、リアルモード環境
で実行することができる。BIOSセットアッププログ
ラムも、SCIを利用してシステム構成情報の読み書き
を行う事ができる。BIOSセットアッププログラムは
システムボード上のROMに格納されたBIOSドライ
バの一種であるので、従来と同様に、BIOSセットア
ッププログラムがハードウェア(CMOSメモリ)を直
接アクセスするように構成しても良い。BIOSセット
アッププログラムが実行された場合も、“Max Ti
me”と同様の環境設定項目を持つセットアップウイン
ドウが画面表示され、各種環境設定項目についてそれぞ
れ現在の設定値が提示される。
【0086】BIOSセットアッププログラムがSCI
を呼び出す場合には、CPU11の動作モードを切り替
えること無く、INT15hのソフトウェア割り込み命
令だけが実行される。
【0087】図7には、SCIによるシステム構成情報
のリード/ライト処理の手順が示されている。ここで
は、SCIが既にオープンされている場合を想定する。
【0088】前述したように、“Max Time”お
よびBIOSセットアッププログラムは、INT15h
のソフトウェア割り込み命令を実行する。この場合、S
CIのファンクション実行ルーチンを指定するファンク
ションコードや、サブファンクションコードがCPU1
1のレジスタにセットされる。
【0089】INT15hのソフトウェア割り込み命令
の実行により、INT15hのベクタアドレスで指定さ
れる拡張BIOSが実行される。拡張BIOSは、ま
ず、SCIがサポートしているファンクションコードか
否かを判断する(ステップS101)。具体的には、フ
ァンクションコードが44F2h(クローズインタフェ
ース)か、444F3h(システムコンフィグレーショ
ンゲット)か、44F4h(システムコンフィグレーシ
ョンセット)か、44F5h(デフォルトコンフィグレ
ーションセット)かどうかを判断し、これらファンクシ
ョンコードでなければ、拡張BIOSに用意されたSC
I以外の処理に移行する。
【0090】一方、サポートするファンクションコード
であれば、そのファンクションコードに対応するファン
クション実行ルーチンが起動される(スップS10
2)。起動されたファンクション実行ルーチンは、CP
U11のレジスタにセットされているサブファンクショ
ンコードをサポートしているか否かを判断する(ステッ
プS103)。
【0091】サポートしていないサブファンクションが
指定されたときは、ファンクション実行ルーチンは、エ
ラー値を出力値としてCPU11のレジスタにセットし
た後にリターンする(ステップS104)。
【0092】一方、サポートしているサブファンクショ
ンであれば、ファンクション実行ルーチンは、その指定
されたサブファンクションを実行し、該当する環境設定
項目の読み出し/書き込みなどを行い、CPU11の出
力レジスタに戻り値を設定した後にリターンする(ステ
ップS105,S106)。
【0093】図8には、CMOSメモリ16Aから現在
のパワーアップモード(ブート/レジューム)をリード
するサブアンクション(GET POWER−UP M
ODE)を実行した場合のCPU11の入出力レジスタ
の値の一例が示されている。
【0094】この場合、入力レジスタAXにはSCIの
システムコンフィグレーションゲットルーチンを指定す
るファンクションコード(=44F3h)、入力レジス
タBXにはパワーアップモードを示すサブファンクショ
ンコード(=0100h)がセットされる。
【0095】システムコンフィグレーションゲットルー
チンのサブファンクション(GETPOWER−UP
MODE)が正常終了した場合には、出力レジスタCX
には、CMOSメモリ16Aからリードした現在のパワ
ーアップモードがセットされる。この場合、ブートモー
ドであれは0000hが戻り値となり、レジュームモー
ドであれば0001hが戻り値となる。また、出力レジ
スタSIにはパワーアップモードのデフォルト値(ブー
トモード)を示す0000hがセットされる。
【0096】一方、エラー発生した場合には、エラーの
内容を示す値が出力レジスタAHにセットされると共
に、出力レジスタCFには1がセットされる。以上説明
したように、この実施例においては、SCIがシステム
BIOSの1部としてBIOS ROM14に格納され
ており、そのSCIをINT15hのソフトウェア割り
込みによって起動する事によってシステム構成情報の設
定/変更を行うことができる。このため、オペレーティ
ングシステムや、“Max Time”またはBIOS
セットアップなどのセップアッププログラムは、CMO
Sメモリ16Aを直接アクセスすることなく、SCIを
呼び出すだけでシステム構成情報の変更などを行う事が
できる。
【0097】したがって、機能追加された新機種が開発
されてシステム構成情報の内容に変化が生じたとして
も、オペレーティングシステムやセップアッププログラ
ムはシステム構成情報を直接アクセスするわけではない
ので、それらオペレーティングシステムやセップアップ
プログラムに修正を加える必要はない。よって、ハード
ウェア構成の変更に柔軟に対応することが可能となる。
【0098】また、SCIには前述したような多数のサ
ブファンクションが予め用意されているので、機種が代
り、ハードウェア構成に変化が生じても、そのSCIの
サブファンクションでサポートされる範囲の変化であれ
ば、SCIを変更せずにそのハードウェア構成の変化に
対応する事ができる。したがって、SCIには、将来拡
張される可能性のある機能に対応するサブファンクショ
ンなど、多数のサブファンクションを予め用意しておく
事が望ましい。
【0099】次に、このSCIを拡張したCMOSアク
セスのためのインタフェース(CAI:CMOS Ac
cess Interface)について説明する。C
AIは上述したSCIの1つのファンクションとしてB
IOS ROM14に格納されており、システム構成情
報に限らず、CMOSメモリ16Aの他のデータに対す
るリード/ライトアクセスのために利用される。どのC
MOSエリアをアクセスするかは、CPU11の入力レ
ジスタにセットされるたインデックス値によって決定さ
れる。
【0100】すなわち、CMOSメモリ16Aは、CP
U11のI/Oアドレス空間の一部に割り付けられた記
憶エリアを含んでおり、それらはインデックス修飾によ
ってアドレス指定される。従来、プロテクトモードで動
作するOS等を起動した場合、ポート70h,71hを
使用してインデックス40h以降のCMOSエリアを正
しくリード/ライトすることができなかったが、CAI
はこれを可能にする。
【0101】CAIは、CMOSデータをリードするC
MOSリードファンクションと、CMOSデータをライ
トするCMOSライトファンクションとを有している。
以下、CAIを用いたCMOSアクセス動作について説
明する。
【0102】CMOSデータをリードする場合:この場
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAXにファンクションコー
ド(=44FCh)をセットし、レジスタBXにCMO
Sのインデックスをセットした後、INT15hのソフ
トウェア割り込み命令を実行する。
【0103】これにより、CAIのCMOSリードファ
ンクションルーチンが起動され、指定されたインデック
ス値が割り当てられているCMOSエリアからデータを
リードする。CMOSリードが正常に終了した場合、出
力レジスタCLにはCMOSデータが戻り値としてセッ
トされる。
【0104】CMOSデータをライトする場合:この場
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAXにファンクションコー
ド(=44FDh)をセットし、レジスタBXにCMO
Sのインデックスをセットし、そしてレジスタCLにC
MOSライトデータをセットした後、INT15hのソ
フトウェア割り込み命令を実行する。
【0105】これにより、CAIのCMOSライトファ
ンクションルーチンが起動され、指定されたインデック
ス値が割り当てられているCMOSエリアにレジスタC
Lの値がライトされる。CMOSライトが正常に終了し
た場合、出力レジスタAXには正常終了したことを示す
値(=0044h)が戻り値としてセットされる。
【0106】このように、CAIをBIOSの一部とし
て保持することにより、オペレーティングシステムやア
プリケーションプログラムは、I/Oポートにインデッ
クスをライトするというハードウェアアクセスを行うと
なく、任意のインデックスのCMOSエリアをリード/
ライトアクセスすることができる。
【0107】次に、I/OトラップSMIを用いてSC
Iを起動する場合について説明する。以下では、I/O
トラップSMIを用いたSCIを、ESCI(Enha
nced SCI)と称することにする。このESCI
は、プロテクトモード環境でシステムコンフィグレーシ
ョンの設定/変更などを行う事ができるプログラムイン
タフェースである。
【0108】まず、図9および図10を参照して、オペ
レーティングシステム、またはアプリケーションプログ
ラムがESCIを呼び出す場合の一連の動作を説明す
る。オペレーティングシステムまたはアプリケーション
プログラムには、特定のBIOSドライバ(ここでは、
ESCI)に対する呼び出し要求に応じて、INT15
hではなく、INまたはOUTのI/O命令を実行する
BIOSインタフェースが組み込まれている。このBI
OSインタフェースは、BIOSドライバのファンクシ
ョン実行ルーチンを指定するファンクションコードをA
Hレジスタにセットした後、I/OトラップSMIを利
用したプログラムインタフェースを起動するために、I
/Oベースアドレスレジスタ126にセットされたI/
Oベースアドレスのアドレス範囲に属すI/Oポートに
対するINまたはOUTのI/O命令を実行する。
【0109】このINまたはOUT命令の実行によっ
て、I/Oベースアドレスによって指定されたアドレス
範囲に属すI/Oアドレスがシステムバス18上に出力
される。このI/OアドレスはI/OトラップSMI発
生回路121によってトラップされ、I/OトラップS
MI信号がCPU11に供給される。
【0110】CPU11にI/OトラップSMI信号が
入力されると、CPU11は、その時の動作モード(例
えば、プロテクトモード)からSMMにスイッチされ
る。SMMに入ると、CPU11は、まず、SMRAM
13Aをメインメモリ13のアドレス30000Hから
3FFFFHまでのアドレス空間にマッピングする(ス
テップS1)。これにより、メインメモリ13のアドレ
ス30000Hから3FFFFHはアクセス不能とな
り、代わりにSMRAM13Aがアクセス可能となる。
【0111】SMRAM13Aには、CPUステート格
納エリア、SMIハンドラ作業エリアなどが設けられて
おり、またBIOS ROM14のSMIハンドラを割
り込み先として指定するジャンプコードがセットされて
いる。前述したように、BIOS ROM14には、I
RTルーチン、SMIハンドラ、複数のBIOSドライ
バ(ESCIを含む)、およびパワ−管理などのための
各種SMIサービスルーチンが格納されている。
【0112】次いで、CPU11は、SMIが入力され
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AM13AのCPUステート格納エリアにスタック形式
でセーブする(ステップS2)。そして、CPU11
は、SMMのスタートアドレス(38000H)のコー
ド、つまりSMRAM13Aのアドレス38000Hに
セットされているジャンプコードをフェッチし、そのジ
ャンプコードで指定されるBIOS ROM14のSM
Iハンドラを実行する(ステップS3)。ここまでのス
テップS1〜S3の処理は、CPU11自体つまりCP
U11のマイクロプログラムによって実行されるもので
ある。
【0113】ジャンプコードの実行によって呼び出され
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る(ステップS4)。この処理では、システムコントロ
ーラ12のSMIステータスレジスタ124にセットさ
れているSMIステータス情報が参照される。I/Oト
ラップによるSMIであれば、SMIハンドラは、BI
OS ROM14の複数のBIOSドライバのなかの特
定のBIOSドライバ(ESCI)のファンクション実
行ルーチンの実行をリクエストする(ステップS5)。
リクエストされたBIOSドライバのファンクション実
行ルーチンは、SMMの中で実行される。
【0114】I/OトラップSMIに応答してどのBI
OSドライバを呼び出すかは、予め決められており、例
えば、ESCIや、BIOS ROM14に新たに追加
された機能拡張用の他のBIOSドライバなどが呼び出
される。もちろん、CPU11のソフトウェア割り込み
を用いて実現されている既存のBIOSドライバ群(I
NT10h〜1Fh、40h〜4Fh)の1つを、I/
OトラップSMIに応答して呼び出すべきBIOSドラ
イバとして定義する事もできる。また、そのBIOSド
ライバのどのファンクション実行ルーチンを実行するか
は、オペレーティングシステムまたはアプリケーション
プログラムによって指定されたファンクションコードの
値によって決定される。
【0115】BIOSドライバの処理が終了すると、S
MIハンドラはレジューム(RSM)命令を実行する
(ステップS6)。このRSM命令の実行によりCPU
ステータスはSMRAM13AからCPUレジスタにリ
ストアされ(ステップS7)、これによってCPU11
はSMMから抜けてプロテクトモードに復帰し、割り込
まれたオペレーティングシステムまたはアプリケーショ
ンプログラムに制御が戻る。
【0116】このように、I/OトラップSMIを用い
たプログラム・インタフェースを利用した場合には、プ
ロテクトモードで動作するオペレーティングシステムま
たはアプリケーションプログラムは、I/OトラップS
MIを発生させるためにINまたはOUT命令を実行す
るだけで良く、プロテクトモードからリアルモードに切
り替える手続きを一切行う必要がない。
【0117】次に、図11のフローチャートを参照し
て、I/OトラップSMI発生回路121に対するセッ
トアップ処理を説明する。このセットアップ処理は、シ
ステムのパワーオンまたはシステムリセット時にIRT
ルーチンによって実行される。
【0118】IRTルーチンは、まず、I/Oトラップ
SMI発生回路121のマスクレジスタ128にI/O
トラップSMI発生許可データをセットする(ステップ
S11)。この後、IRTルーチンは、i/Oベースア
ドレスレジスタ126にI/Oベースアドレス(00X
Yh)をセットする(ステップS12)。このI/Oベ
ースアドレスの値00XYhは、予め決められたI/O
ポートのベースアドレス値である。
【0119】次に、図12のフローチャートを参照し
て、オペレーティングシステム、または前述の“Max
Time”などのセットアッププログラムに組み込ま
れたBIOSインタフェースの処理を説明する。
【0120】オペレーティングシステムまたは“Max
Time”のBIOSインタフェースは、まず、CP
U11のAHレジスタにESCIの所定のファンクショ
ン実行ルーチンを指定するファンクションコードをセッ
トする(ステップS21)。
【0121】ESCIは、図2で説明したSCIの6つ
のファンクション実行ルーチン(SCIサポートチェッ
クルーチン、オープンインタフェースルーチン、クロー
ズインタフェースルーチン、システムコンフィグレーシ
ョンゲートルーチン、システムコンフィグレーションセ
ットルーチン、デフォルトコンフィグレーションセット
ルーチン)をSCIと共用しており、それらルーチンに
はファンクションコード(F0h,F1h,F2h,F
3h,F5h)が割り当てられている。各ファンクショ
ン実行ルーチン機能は、図2で説明した通りである。
【0122】次いで、BIOSインタフェースは、I/
O命令、例えば、 IN AL , 00XYh を実行する(ステップS22)。この命令は、アドレス
00XYhのI/Oポートの内容をCPU11のALレ
ジスタに入力する命令である。このIN命令の実行によ
り、システムバス18にはI/Oアドレス00XY2h
が出力される。このI/Oアドレス00XYhの値は、
I/Oベースアドレスレジスタ126にセットされてい
るI/Oベースアドレスの値と一致する。従って、ステ
ップS22のIN命令はI/OトラップSMI発生回路
121にI/OトラップSMI信号を発生させ、これに
よってSMIハンドラに制御が移行する。
【0123】この後、SMIハンドラのRSM命令の実
行によってオペレーティングシステムまたはアプリケー
ションプログラムに制御が戻ると、そのBIOSインタ
フェースは、CPU11の所定のレジスタの内容を参照
してESCIなどからのファンクション終了コードや出
力結果などの戻り値のチェックを行う(ステップS2
3)。終了コードはAXレジスタに設定される。エラー
コードとエラーの内容は次の通りである。
【0124】エラーコード: 内容 0044(CF=0) : 正常終了 80xx(CF=1) : サブファンクションエラー 81xx(CF=1) : インタフェースが既にオープンされて
いる 82xx(CF=1) : インタフェースがオープンされてない 83xx(CF=1) : 入力データエラー 84xx(CF=1) : ライトプロテクトエラー 86xx(CF=1) : SCIが存在しない 8Cxx(CF=1) : デセバイスがレディー状態でない 8Dxx(CF=1) : デバイスエラー 8Exx(CF=1) : デバイスがインストールされてない F?xx : プロテクトモードSCIが存在しない 次に、図13のフローチャートを参照して、SMIハン
ドラのプログラム・インタフェース処理を説明する。
【0125】SMIハンドラは、まず、システムコント
ローラ12のSMIステータスレジスタ124のSMI
ステータス情報をリードし(ステップS31)、そのS
MIステータス情報によってSMIの発生要因がI/O
トラップによるものであるか否かを調べる(ステップS
32)。I/Oトラップ以外の要因によるSMIであれ
ば、SMIハンドラは、その要因に対応するSMIサー
ビスルーチンを実行する。一方、I/Oトラップによる
SMIであれば、SMIハンドラは、以下の処理を行
う。
【0126】すなわち、SMIハンドラは、まず、SM
I発生時にCPU11によってSMRAM13Aにセー
ブされたCPUステータスの内容をCPUレジスタに復
帰する(ステップS34)。次いで、SMIハンドラ
は、ESCIのファンクション実行ルーチンの中でAH
レジスタのファンクションコードによって指定されるフ
ァンクション実行ルーチンを呼び出して実行する(ステ
ップS34)。
【0127】ファンクション実行ルーチンの処理が終了
すると、SMIハンドラは、その時のCPUレジスタの
内容をSMRAM13Aにセーブした後(ステップS3
5)、RSM命令を実行する(ステップS36)。
【0128】このRSM命令の実行によりCPUステー
タスはSMRAM13AからCPUレジスタにリストア
され、これによってファンクション実行ルーチンからの
出力値はオペレーティングシステムまたはアプリケーシ
ョンプログラムにCPUレジスタを介して渡される。
【0129】次に、図14を参照して、ESCIを用い
たシステムコンフィグレーションの設定/変更動作の原
理を説明する。図5で説明したように、この実施例にお
いては、リアルモード環境ではBIOS ROM14に
格納されているBIOSセットアッププログラムが使用
され、プロテクトモード環境下ではフロッピーディスク
やハードディスク装置から供給される“Max Tim
e”などのセットアッププログラムが利用される。
【0130】プロテクトモード環境で動作する“Max
Time”は、CMOSメモリ16Aのシステム構成
情報の変更などを行う場合には、INまたはOUT命令
を実行してI/OトラップSMIを発行し、これによっ
てESCIを起動する。この場合、CPU11の動作モ
ードは、I/OトラップSMIによってプロテクトモー
ドからSMMにスイッチされ、SMMの中でESCIが
実行される。
【0131】このI/OトラップSMIによるESCI
の起動は、リアルモード環境で動作するBIOSセット
アッププログラムも利用する事ができる。この場合に
は、CPU11の動作モードは、I/OトラップSMI
によってリアルモードからSMMにスイッチされ、SM
Mの中でESCIが実行される。
【0132】次に、図15を参照して、ESCIによる
システム構成情報のリード/ライト処理の手順を説明す
る。ここでは、ESCIが既にオープンされている場合
を想定する。
【0133】前述したように、“Max Time”お
よびBIOSセットアッププログラムは、INまたはO
UT命令を実行する。この場合、SCIを起動する場合
と同様にして、ESCIのファンクション実行ルーチン
を指定するファンクションコードや、サブファンクショ
ンコードがCPU11のレジスタにセットされる。
【0134】INまたはOUT命令によるI/Oトラッ
プSMIによって、拡張BIOSが実行される。拡張B
IOSは、まず、ESCIがサポートしているファンク
ションコードか否かを判断する(ステップS201)。
具体的には、ファンクションコードがF2h(クローズ
インタフェース)か、F3h(システムコンフィグレー
ションゲット)か、F4h(システムコンフィグレーシ
ョンセット)か、F5h(デフォルトコンフィグレーシ
ョンセット)かどうかを判断し、これらファンクション
コードでなければ、拡張BIOSに用意されたESCI
以外の他の拡張処理ルーチンに移行する(ステップS2
02)。
【0135】一方、サポートするファンクションコード
であれば、そのファンクションコードに対応するESC
Iのファンクション実行ルーチンが起動される(スップ
S203)。起動されたファンクション実行ルーチン
は、CPU11のレジスタにセットされているサブファ
ンクションコードをサポートしているか否かを判断する
(ステップS204)。
【0136】サポートしていないサブファンクションが
指定されたときは、ファンクション実行ルーチンは、エ
ラー値を出力値としてCPU11のレジスタにセットし
た後にリターンする(ステップS205)。
【0137】一方、サポートしているサブファンクショ
ンであれば、ファンクション実行ルーチンは、その指定
されたサブファンクションを実行し、該当する環境設定
項目の読み出し/書き込みなどを行い、CPU11の出
力レジスタに戻り値を設定した後にリターンする(ステ
ップS105,S106)。
【0138】図8には、CMOSメモリ16Aから現在
のパワーアップモード(ブート/レジューム)をリード
するサブアンクション(GET POWER−UP M
ODE)を実行した場合のCPU11の入出力レジスタ
の値の一例が示されている。
【0139】この場合、入力レジスタAXにはSCIの
システムコンフィグレーションゲットルーチンを指定す
るファンクションコード(=44F3h)、入力レジス
タBXにはパワーアップモードを示すサブファンクショ
ンコード(=0100h)がセットされる。
【0140】システムコンフィグレーションゲットルー
チンのサブファンクション(GETPOWER−UP
MODE)が正常終了した場合には、出力レジスタCX
には、CMOSメモリ16Aからリードした現在のパワ
ーアップモードがセットされる。この場合、ブートモー
ドであれは0000hが戻り値となり、レジュームモー
ドであれば0001hが戻り値となる。また、出力レジ
スタSIにはパワーアップモードのデフォルト値(ブー
トモード)を示す0000hがセットされる。
【0141】一方、エラー発生した場合には、エラーの
内容を示す値が出力レジスタAHにセットされると共
に、出力レジスタCFには1がセットされる。以上説明
したように、この実施例においては、プロテクトモード
で動作するOS環境下においてシステムコンフィグレー
ションの設定/変更要求が発生すると、INまたはOU
T命令の実行によるI/OトラップSMIによってCP
U11が自動的にプロテクトモードからSMMにスイッ
チされ、そしてそのSMMの中でESCIが実行され
る。そして、ESCIの処理が終了されると、SMMか
らプロテクトモードに復帰され、OSに制御が戻る。
【0142】したがって、OSや、セットアププログラ
ムなどのアプリケーションプログラムにCPU動作モー
ドを切り替えるルーチンを組み込むことなく、プロテク
トモード上でESCIを直接的に呼び出して実行させる
ことが可能となる。
【0143】また、I/OトラップによるSMIを利用
しているので、SMI信号を発生させるために必要な手
続きは、INまたはOUT命令を実行する事だけであ
る。このため、システムコンフィグレーションの設定/
変更要求の発生に応答して直ぐにSMI信号を発生させ
る事ができるので、ESCIを高速に呼び出す事ができ
る。
【0144】さらに、SMIハンドラは、ESCIのフ
ァンクション実行ルーチンの実行完了時のCPUステー
タスをSMRAM13Aに一旦セーブした後にRSM命
令を実行しているので、ファンクション実行ルーチンに
より得られた出力データなどをCPU11のレジスタを
介して効率良くオペレーティングシステムなどに引き渡
すことが可能となる。
【0145】なお、この実施例では、ESCIの呼び出
しにのみI/OトラップSMIによるプログラムインタ
フェースを利用したが、BIOS ROM14にハード
ウェア制御のための各種機能拡張ルーチンを格納してお
き、その機能拡張用のルーチンをI/OトラップSMI
によって呼び出す事も可能である。また、図1のI/O
トラップSMI発生回路121の説明においても述べた
ように、互いに異なるI/Oアドレスをトラップする複
数のI/OトラップSMI発生回路を利用することによ
って、複数のBIOSドライバをI/OトラップSMI
によって呼び出すことも可能である。この場合には、呼
び出されるBIOSドライバは、I/OトラップSMI
の発生要因となったトラップアドレス、つまりI/Oト
ラップSMIを発生したI/OトラップSMI発生回路
によって決定される。
【0146】このように、BIOSインターフェースと
してI/OトラップSMIを利用する事により、プロテ
クトモードで動作するオペレーティングシステムやアプ
リケーションプログラム等にCPU動作モードを切り替
えるルーチンを組み込むことなく、プロテクトモード環
境下から直接的にESCIなどのBIOSを呼び出して
実行させることが可能となる。よって、オペレーティン
グシステム内のBIOSインタフェース部のコーディン
グが簡単化され、ハードウェア制御に関する機能拡張な
どに柔軟に対応できるようになる。
【0147】次に、ESCIを拡張したCMOSアクセ
スのためのインタフェース(ECAI:Enhance
d Cmos Access Interface)に
ついて説明する。
【0148】ECAIは上述したESCIの1つのファ
ンクションとしてBIOS ROM14に格納されてお
り、CAIと同様に、CMOSメモリ16Aの各種デー
タに対するリード/ライトアクセスのために利用され
る。どのCMOSエリアをアクセスするかは、CPU1
1の入力レジスタにセットされるたインデックス値によ
って決定される。
【0149】すなわち、CMOSメモリ16Aは、CP
U11のI/Oアドレス空間の一部に割り付けられた記
憶エリアを含んでおり、それらはインデックス修飾によ
ってアドレス指定される。ECAIは、CMOSデータ
をリードするCMOSリードファンクションと、CMO
SデータをライトするCMOSライトファンクションと
を有している。以下、ECAIを用いたCMOSアクセ
ス動作について説明する。
【0150】CMOSデータをリードする場合:この場
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAHにファンクションコー
ド(=FCh)をセットし、レジスタBXにCMOSの
インデックスをセットした後、IN AL,00XYh
などのI/O命令を実行する。
【0151】これにより、ECAIのCMOSリードフ
ァンクションルーチンが起動され、指定されたインデッ
クス値が割り当てられているCMOSエリアからデータ
をリードする。CMOSリードが正常に終了した場合、
出力レジスタCLにはCMOSデータが戻り値としてセ
ットされる。
【0152】CMOSデータをライトする場合:この場
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAHにファンクションコー
ド(=FDh)をセットし、レジスタBXにCMOSの
インデックスをセットし、そしてレジスタCLにCMO
Sライトデータをセットした後、IN AL,00XY
hなどのI/O命令を実行する。
【0153】これにより、ECAIのCMOSライトフ
ァンクションルーチンが起動され、指定されたインデッ
クス値が割り当てられているCMOSエリアにレジスタ
CLの値がライトされる。CMOSライトが正常に終了
した場合、出力レジスタAXには正常終了したことを示
す値(=0044h)が戻り値としてセットされる。
【0154】このように、ECAIをBIOSの一部と
して保持することにより、オペレーティングシステムや
アプリケーションプログラムは、I/Oポートにインデ
ックスをライトするというハードウェアアクセスを行う
となく、任意のインデックスのCMOSエリアをリード
/ライトアクセスすることができる。
【0155】
【発明の効果】以上説明したように、この発明によれ
ば、システムコンフィグレーションの設定/変更のため
のプログラムがBIOSプログラムの1部として用意さ
れており、このプログラムを起動する事によって、シス
テム構成情報の設定/変更を行うことができる。このた
め、オペレーティングシステムや、セップアッププログ
ラムなどのアプリケーションプログラムは、システム構
成情報を格納する記憶装置を直接アクセスすることな
く、BIOSを呼び出すだけでシステム構成情報の変更
などを行う事ができる。したがって、機能追加された新
機種が開発されてシステム構成情報の内容に変化が生じ
たとしても、オペレーティングシステムやセップアップ
プログラムはシステム構成情報を直接アクセスするわけ
ではないので、それらオペレーティングシステムやセッ
プアッププログラムに修正を加える必要はない。よっ
て、ハードウェア構成の変更に柔軟に対応することが可
能となる。
【0156】また、BIOSインターフェースとしてI
/OトラップSMIを利用する事により、プロテクトモ
ードで動作するオペレーティングシステムやアプリケー
ションプログラム等にCPU動作モードを切り替えるル
ーチンを組込むことなく、プロテクトモード環境下から
直接的にBIOSを呼び出して実行させることが可能と
なる。よって、オペレーティングシステム内のBIOS
インターフェース部のコーディングが簡単化され、ハー
ドウエア制御に関する機能拡張などに柔軟に対応できる
ようになる。また、I/Oトラップによる割込み信号が
オペレーティングシステム又はアプリケーションと、機
能拡張などのためのハードウエア制御プログラムやシス
テムコンフィグレーションインターフェースプログラム
との間のインターフェースとして利用可能である。 さら
に、ファンクション実行ルーチンの実行完了時のCPU
ステータスをメモリに一旦セーブすることにより、ファ
ンクション実行ルーチンにより得られた出力データをC
PUのレジスタを介して効率よくオペレーティングシス
テム又はアプリケーションに引き渡すことができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るコンピュータシステ
ム全体の構成を示すブロック図。
【図2】同実施例のシステムに設けられたBIOS R
OMに格納されているSCIの構成を示す図。
【図3】図2のSCIに設けられたサブファンクション
群の一部を示す図。
【図4】図2のSCIに設けられたサブファンクション
群の残りの一部を示す図。
【図5】同実施例のシステムにおけるOSのBIOSイ
ンタフェース部の動作を概念的に示す図。
【図6】同実施例のシステムにおいて使用されるセット
アッププログラムによって提供されるセットアップウイ
ンドウの一例を示す図。
【図7】同実施例のシステムにおけるSCIの動作を説
明するフローチャート。
【図8】同実施例のシステムにおいてSCIを起動した
場合の入出力レジスタ仕様の一例を示す図。
【図9】同実施例のシステムに設けられたCPUにSM
Iが発行された時のメモリマップを説明するための図。
【図10】同実施例のシステムに設けられたCPUにI
/OトラップSMIが発行された時のCPUの動作を説
明するための図。
【図11】同実施例のシステムにおけるI/Oトラップ
SMI発生のための準備処理を説明するためのフローチ
ャート。
【図12】同実施例のシステムに設けられたBIOS
ROMに格納されているESCIを起動する場合におけ
るOSのBIOSインタフェース部の動作を説明するフ
ローチャート。
【図13】同実施例のシステムにおいてSMIハンドラ
によって実行されるOSとESCIのプログラム・イン
タフェース処理を説明するフローチャート。
【図14】同実施例のシステムにおいてECSIを利用
する場合におけOSのBIOSインタフェース部の動作
を概念的に示す図。
【図15】同実施例のシステムにおけるESCIの動作
を説明するフローチャート。
【符号の説明】
11…CPU、12…システムコントローラ、13…メ
インメモリ、13A…SMRAM、14…BIOS R
OM、15…バス変換回路、16A…CMOSメモリ、
17…CPUローカルバス、18…システムバス、12
1…I/OトラップSMI発生回路、124…OR回
路、125…SMIステータスレジスタ。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 13/10 G06F 9/46 G06F 13/14

Claims (22)

    (57)【特許請求の範囲】
  1. 【請求項1】 システム構成情報が格納される記憶装置
    を有し、そのシステム構成情報の内容に応じてシステム
    動作環境が決定されるコンピュータシステムにおいて、 ハードウェア制御のためのプログラムを格納するプログ
    ラムメモリであって、前記プログラムは、前記システム
    構成情報の設定/変更のために前記記憶装置に対するリ
    ード/ライトアクセスを実行するシステムコンフィグレ
    ーションインタフェースプログラムを含んでいるプログ
    ラムメモリと、 前記コンピュータシステムで実行されるオペレーティン
    グシステムまたはアプリケーションプログラムと前記プ
    ログラムとの間のインタフェースを行うインタフェース
    手段とを具備し、 前記インタフェース手段は、 前記オペレーティングシステムまたはアプリケーション
    プログラムからの前記システム構成情報の設定/変更要
    求に応答して、前記システムコンフィグレーションイン
    タフェースプログラムに前記記憶装置に対するリード/
    ライトアクセスを実行させることを特徴とするコンピュ
    ータシステム。
  2. 【請求項2】 前記インタフェース手段は、前記システ
    ムコンフィグレーションインタフェースプログラムに含
    まれている複数のファンクション実行ルーチンの中で前
    記オペレーティングシステムまたはアプリケーションプ
    ログラムによって指定されたファンクションコードに対
    応する1つのファンクション実行ルーチンを呼び出して
    実行することを特徴とする請求項1記載のコンピュータ
    システム。
  3. 【請求項3】 前記システムコンフィグレーションイン
    タフェースプログラムは、前記記憶装置をリードアクセ
    スして前記記憶装置からシステム構成情報を読み取る第
    1のファンクション実行ルーチンと、前記記憶装置をラ
    イトアクセスして前記記憶装置のシステム構成情報を書
    き替える第2のファンクション実行ルーチンと、前記記
    憶装置をライトアクセスして前記記憶装置のシステム構
    成情報をデフォルト値に設定する第3のファンクション
    実行ルーチンとを含むことを特徴とする請求項1記載の
    コンピュータシステム。
  4. 【請求項4】 前記第1乃至第3のファンクション実行
    ルーチンの各々は、前記システム構成情報に含まれる複
    数の動作環境設定項目にそれぞれ対応した複数のサブフ
    ァンクション実行ルーチンを含み、 各サブファンクション実行ルーチンは、前記システム構
    成情報内の該当する動作環境設定項目の読取り、書き換
    え、またはデフォルト値の設定を行うことを特徴とする
    請求項3記載のコンピュータシステム。
  5. 【請求項5】 前記記憶装置はそれぞれ異なるインデッ
    クス番号が割り当てられた複数の記憶領域を有し、 前記システムコンフィグレーションインタフェースプロ
    グラムは、さらに、前記オペレーティングシステムまた
    はアプリケーションプログラムによって指定されたイン
    デックスの記憶領域からデータを読み出す第4のファン
    クション実行ルーチンと、前記オペレーティングシステ
    ムまたはアプリケーションプログラムによって指定され
    たインデックスの記憶領域にデータを書き込む第5のフ
    ァンクション実行ルーチンとを含むことを特徴とする請
    求項3記載のコンピュータシステム。
  6. 【請求項6】 システム構成情報が格納される記憶装置
    を有し、そのシステム構成情報の内容に応じてシステム
    動作環境が決定されるコンピュータシステムにおいて、 複数の動作モードを有するCPUと、 ハードウェア制御を行うプログラムを格納するプログラ
    ムメモリであって、前記ハードウエア制御を行うプログ
    ラムは第1動作モードで動作するように構成されて、前
    記システム構成情報の設定/変更のために前記記憶装置
    に対するアクセスを実行するシステムコンフィグレーシ
    ョンインタフェースプログラムを含んでいるプログラム
    メモリと、 オペレーティングシステムまたはアプリケーションプロ
    グラムと前記プログラムとの間のインタフェースを行う
    インタフェース手段とを具備し、 前記インタフェース手段は、 前記CPUが第1動作モードの時に前記オペレーティン
    グシステムまたはアプリケーションプログラムが実行す
    る所定の割り込みベクタアドレスを指定するソフトウェ
    ア割り込み命令に応答して、前記システムコンフィグレ
    ーションインタフェースプログラムに前記記憶装置に対
    するリード/ライトアクセスを実行させることを特徴と
    するコンピュータシステム。
  7. 【請求項7】 前記CPUは、前記第1動作モードで使
    用されるアドレス計算形式と実質的に同一のアドレス計
    算形式が用いられ、所定のシステム管理プログラムを実
    行するシステム管理モードを有し、前記CPUへの所定
    の割り込み信号の供給に応答してCPUステータスをメ
    モリにセーブした後にその時の前記CPUの動作モード
    を前記システム管理モードにスイッチし、前記システム
    管理モードにおける復帰命令の実行に応答して前記メモ
    リの内容をCPUのレジスタにリストアして前記システ
    ム管理モードから前記割り込み信号が供給される前の動
    作モードに復帰するCPUであり、 システムバスを介して前記CPUに接続され、所定のI
    /Oベースアドレスによって指定されるアドレス範囲に
    属すシステムバス上のI/Oアドレスをトラップして前
    記割り込み信号を発生する割り込み信号発生回路と、 オペレーティングシステムまたはアプリケーションプロ
    グラムと前記BIOSプログラムとの間のインタフェー
    スを行う第2のインタフェース手段とをさらに具備し、 前記第2のインタフェース手段は、 オペレーティングシステムまたはアプリケーションプロ
    グラムからの前記システム構成情報の設定/変更要求に
    応答して、前記I/Oベースアドレスによって指定され
    るアドレス範囲に属すI/Oポートに対するI/O命令
    を実行して、前記割り込み信号発生回路に前記割り込み
    信号を発生させる手段と、 前記割り込み信号によって前記CPUがシステム管理モ
    ードにスイッチした時、前記システムコンフィグレーシ
    ョンインタフェースプログラムを呼び出し、そのシステ
    ムコンフィグレーションインタフェースプログラムに前
    記記憶装置に対するリード/ライトアクセスを実行させ
    る手段とを含むことを特徴とする請求項6記載のコンピ
    ュータシステム。
  8. 【請求項8】 複数の動作モードを有するCPUであっ
    て、前記CPUへの所定の割り込み信号の供給に応答し
    てCPUステータスをメモリにセーブした後にその時の
    前記CPUの動作モードをシステム管理モードにスイッ
    チし、前記システム管理モードにおける復帰命令の実行
    に応答して前記メモリの内容をCPUのレジスタにリス
    トアして前記システム管理モードから前記割り込み信号
    が供給される前の動作モードに復帰するCPUと、 システムバスを介して前記CPUに接続され、所定のI
    /Oベースアドレスによって指定されるアドレス範囲に
    属すシステムバス上のI/Oアドレスをトラップして前
    記割り込み信号を発生する割り込み信号発生回路と、 前記CPUの第1動作モードで動作するように構成され
    ハードウェア制御を行うハードウェア制御プログラムを
    格納するプログラムメモリと、 オペレーティングシステムまたはアプリケーションプロ
    グラムと前記ハードウェア制御プログラムとの間のイン
    タフェースを行うインタフェース手段であって、 オペレーティングシステムまたはアプリケーションプロ
    グラムからの前記ハードウェア制御プログラムに対する
    呼び出し要求に応答して、前記I/Oベースアドレスに
    よって指定されるアドレス範囲に属すI/Oポートに対
    するI/O命令を実行して、前記割り込み信号発生回路
    に前記割り込み信号を発生させる手段と、 前記割り込み信号によって前記CPUがシステム管理モ
    ードにスイッチした時、前記システム管理プログラムを
    実行して前記ハードウェア制御プログラムを呼び出し、
    そのハードウェア制御プログラムをシステム管理モード
    のCPUに実行させる手段と、 前記CPUを前記システム管理モードから前記オペレー
    ティングシステムまたはアプリケーションプログラムが
    実行されていた動作モードに復帰させるために、前記ハ
    ードウェア制御プログラムの実行完了に応答して前記復
    帰命令を実行する手段とを含むインタフェース手段とを
    具備することを特徴とするコンピュータシステム。
  9. 【請求項9】 前記割り込み信号発生回路は、 システムバスを介して前記CPUに接続され、所定のI
    /Oベースアドレスがセットされるレジスタと、 前記システムバス上に出力されるI/Oアドレスを受信
    し、そのI/Oアドレスと前記レジスタのI/Oベース
    アドレスとを比較し、前記I/Oアドレスが前記I/O
    ベースアドレスによって指定されるアドレス範囲に属す
    時に前記割り込み信号を発生する比較回路とを含むこと
    を特徴とする請求項8記載のコンピュータシステム。
  10. 【請求項10】 前記インタフェース手段は、前記ハー
    ドウェア制御プログラムに含まれている複数のファンク
    ション実行ルーチンの中で前記オペレーティングシステ
    ムまたはアプリケーションプログラムによって前記CP
    Uのレジスタにセットされたファンクションコードによ
    って指定された1つのファンクション実行ルーチンを呼
    び出し、そのファンクション実行ルーチンをシステム管
    理モードの前記CPUに実行させることを特徴とする請
    求項8記載のコンピュータシステム。
  11. 【請求項11】 オペレーティングシステムおよび実行
    対象の各種アプリケーションプログラムが格納されるメ
    インメモリと、 前記システム管理プログラムを呼び出すための命令を格
    納し、前記メインメモリのアドレス空間の一部にマッピ
    ングされるオーバーレイメモリとをさらに具備し、 前記CPUは、 前記CPUへの所定の割り込み信号の供給に応答してC
    PUステータスを前記オーバーレイメモリにセーブした
    後にその時の前記CPUの動作モードを前記システム管
    理モードにスイッチし、前記システム管理モードにおけ
    る復帰命令の実行に応答して前記オーバーレイメモリの
    内容をCPUのレジスタにリストアして前記システム管
    理モードから前記割り込み信号が供給される前の動作モ
    ードに復帰することを特徴とする請求項8記載のコンピ
    ュータシステム。
  12. 【請求項12】 システム構成情報が格納される記憶装
    置を有し、そのシステム構成情報の内容に応じてシステ
    ム動作環境が決定されるコンピュータシステムにおい
    て、 複数の動作モードを有するCPUであって、前記CPU
    への所定の割り込み信号の供給に応答してCPUステー
    タスをメモリにセーブした後にその時の前記CPUの動
    作モードをシステム管理モードにスイッチし、前記シス
    テム管理モードにおける復帰命令の実行に応答して前記
    メモリの内容をCPUのレジスタにリストアして前記シ
    ステム管理モードから前記割り込み信号が供給される前
    の動作モードに復帰するCPUと、 システムバスを介して前記CPUに接続され、所定のI
    /Oベースアドレスによって指定されるアドレス範囲に
    属すシステムバス上のI/Oアドレスをトラップして前
    記割り込み信号を発生する割り込み信号発生回路と、 ハードウェア制御を行うプログラムを格納するプログラ
    ムメモリであって、前記プログラムは前記CPUの第1
    動作モードで動作するように構成されて、前記システム
    構成情報の設定/変更のために前記記憶装置に対するア
    クセスを実行するシステムコンフィグレーションインタ
    フェースプログラムを含んでいるプログラムメモリと、 オペレーティングシステムまたはアプリケーションプロ
    グラムと前記ハードウエア制御を行うプログラムとの間
    のインタフェースを行うインタフェース手段であって、 オペレーティングシステムまたはアプリケーションプロ
    グラムからの前記システム構成情報の設定/変更要求に
    応答して、前記I/Oベースアドレスによって指定され
    るアドレス範囲に属すI/Oポートに対するI/O命令
    を実行して、前記割り込み信号発生回路に前記割り込み
    信号を発生させる手段と、 前記割り込み信号によって前記CPUがシステム管理モ
    ードにスイッチした時、前記システムコンフィグレーシ
    ョンインタフェースプログラムを呼び出し、そのシステ
    ムコンフィグレーションインタフェースプログラムに前
    記記憶装置に対するリード/ライトアクセスを実行させ
    る手段とを含む第2のインタフェース手段とを具備する
    ことを特徴とするコンピュータシステム。
  13. 【請求項13】 前記インタフェース手段は、前記シス
    テムコンフィグレーションインタフェースプログラムに
    含まれている複数のファンクション実行ルーチンの中で
    前記オペレーティングシステムまたはアプリケーション
    プログラムによって指定されたファンクションコードに
    対応する1つのファンクション実行ルーチンを呼び出し
    て実行することを特徴とする請求項12記載のコンピュ
    ータシステム。
  14. 【請求項14】 前記システムコンフィグレーションイ
    ンタフェースプログラムは、前記記憶装置をリードアク
    セスして前記記憶装置からシステム構成情報を読み取る
    第1のファンクション実行ルーチンと、前記記憶装置を
    ライトアクセスして前記記憶装置のシステム構成情報を
    書き替える第2のファンクション実行ルーチンと、前記
    記憶装置をライトアクセスして前記記憶装置のシステム
    構成情報をデフォルト値に設定する第3のファンクショ
    ン実行ルーチンとを含むことを特徴とする請求項12記
    載のコンピュータシステム。
  15. 【請求項15】 前記第1乃至第3のファンクション実
    行ルーチンの各々は、前記システム構成情報に含まれる
    複数の動作環境設定項目にそれぞれ対応した複数のサブ
    ファンクション実行ルーチンを含み、 各サブファンクション実行ルーチンは、前記システム構
    成情報内の該当する動作環境設定項目の読取り、書き換
    え、またはデフォルト値の設定を行うことを特徴とする
    請求項14記載のコンピュータシステム。
  16. 【請求項16】 前記記憶装置はそれぞれ異なるインデ
    ックス番号が割り当てられた複数の記憶領域を有し、 前記システムコンフィグレーションインタフェースプロ
    グラムは、さらに、前記オペレーティングシステムまた
    はアプリケーションプログラムによって指定されたイン
    デックスの記憶領域からデータを読み出す第4のファン
    クション実行ルーチンと、前記オペレーティングシステ
    ムまたはアプリケーションプログラムによって指定され
    たインデックスの記憶領域にデータを書き込む第5のフ
    ァンクション実行ルーチンとを含むことを特徴とする請
    求項14記載のコンピュータシステム。
  17. 【請求項17】 コンピュータシステムに於いて、 複数のCPU動作モードを有するCPUと、 オペレーティングシステム又はアプリケーションプログ
    ラムから所定の機能を実行する為に、所定のレジスタに
    ファンクションコードを設定し、前記コンピュータシス
    テムの所定のI/Oポートアドレスに対するI/O命令
    を実行する手段と、 前記I/O命令の実行に伴うI/Oポートアドレスをト
    ラップして前記CPUに割込み信号を発生する手段と、 前記割込み信号に応答して、CPU動作モードを切り替
    える手段と、 前記CPU動作モード切替え後、前記レジスタに格納さ
    れたファンクションコードに従い、所定の機能を実行す
    る手段とを具備することを特徴とするコンピュータシス
    テム。
  18. 【請求項18】 前記割込み信号を発生する手段は、所
    定のI/Oポートベースアドレスが設定される第2のレ
    ジスタと、 前記I/O命令の実行に伴い出力されたI/Oポートア
    ドレスと、前記第2のレジスタに設定されたI/Oポー
    トアドレスベースを比較し、前記出力されたI/Oポー
    トアドレスが前記I/Oポートベースアドレスによって
    指定されるアドレス範囲に属する時、前記割込み信号を
    発生する比較回路とを具備することを特徴とする請求項
    17記載のコンピュータシステム。
  19. 【請求項19】 オペレーティングシステム、又は、ア
    プリケーションにより、前記ファンクションコードが設
    定されたレジスタは、前記CPU内のレジスタであり、
    前記ファンクションコードは、コンピュータシステムの
    ハードウエア制御を行うハードウエア制御プログラム、
    又は、コンピュータシステムのシステム構成情報の設定
    /変更を行うシステムコンフィグレーションインターフ
    ェースプログラムのファンクション実行ルーチンを、前
    記CPU動作モード切替え後、実行させることを特徴と
    する請求項17記載のコンピュータシステム。
  20. 【請求項20】 前記複数のCPU動作モードを有する
    CPUは、第1のアドレス計算形式が用いられ、所定の
    メモリ空間がアクセス可能な第1のCPU動作モード
    と、前記第1のアドレス計算形式とは異なる第2のアド
    レス計算形式が用いられ前記第1のアドレス計算機形式
    よりも大きなメモリ空間をアクセス可能な第2のCPU
    動作モードと、前記第1のアドレス計算形式と実質的に
    同一のアドレス計算形式が用いられ、所定のシステム管
    理プログラムを実行するシステム管理モードとを有し、
    前記割込み発生手段からの割込み信号に応答して、前記
    CPUの動作モードをシステム管理モードに切り替える
    ことを特徴とする請求項19記載のコンピュータシステ
    ム。
  21. 【請求項21】 前記割込み発生手段からの割込み信号
    に応答して、前記CPUレジスタ内のステータス情報を
    メモリにセーブし、前記CPUの動作モードをシステム
    管理モードに切替え後、前記システム管理プログラム
    は、前記メモリにセーブされたステータス情報に従い、
    前記ハードウエア制御プログラム、又は、システムコン
    フィグレーションプログラムのファンクション実行ルー
    チンを呼び出し、該ファンクション実行ルーチンをシス
    テム管理モードのCPUに実行させる手段とを具備する
    ことを特徴とする請求項20記載のコンピュータシステ
    ム。
  22. 【請求項22】 前記ファンクション実行ルーチンの実
    行完了時、実行結果を前記メモリの所定番地にセーブ
    し、前記システム管理モードにおける復帰命令の実行に
    応答して前記メモリの所定番地にセーブされたファンク
    ション実行ルーチンの実行結果を前記CPUのレジスタ
    にリストアして前記システム管理モードから前記割込み
    信号が供給される前のCPUの動作モードに復帰するこ
    とを特徴とする請求項21記載のコンピュータシステ
    ム。
JP6137392A 1994-02-28 1994-06-20 コンピュータシステム Expired - Lifetime JP2974577B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6137392A JP2974577B2 (ja) 1994-02-28 1994-06-20 コンピュータシステム
US08/789,543 US5963738A (en) 1994-02-28 1997-01-27 Computer system for reading/writing system configuration using I/O instruction

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-29738 1994-02-28
JP2973894 1994-02-28
JP6137392A JP2974577B2 (ja) 1994-02-28 1994-06-20 コンピュータシステム

Publications (2)

Publication Number Publication Date
JPH07287682A JPH07287682A (ja) 1995-10-31
JP2974577B2 true JP2974577B2 (ja) 1999-11-10

Family

ID=26367973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6137392A Expired - Lifetime JP2974577B2 (ja) 1994-02-28 1994-06-20 コンピュータシステム

Country Status (2)

Country Link
US (1) US5963738A (ja)
JP (1) JP2974577B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243809B1 (en) * 1998-04-30 2001-06-05 Compaq Computer Corporation Method of flash programming or reading a ROM of a computer system independently of its operating system
JP4371466B2 (ja) * 1999-04-15 2009-11-25 株式会社東芝 コンピュータシステム及びそのi/o装置の制御方法
US6615288B1 (en) 1999-12-27 2003-09-02 Dell Products L.P. Generating system management interrupt in response to usb controller signal and processing interrupt routine in upper most level of system memory
US6711673B1 (en) * 2000-01-03 2004-03-23 Advanced Micro Devices, Inc. Using a model specific register as a base I/O address register for embedded I/O registers in a processor
JP4534336B2 (ja) * 2000-10-13 2010-09-01 ソニー株式会社 メモリ装置におけるデータ管理方法
US6862641B1 (en) * 2001-05-10 2005-03-01 Advanced Micro Devices, Inc. Interruptable and re-enterable system management mode programming code
US20030063071A1 (en) * 2001-09-28 2003-04-03 Wyatt David A. Method and apparatus for signaling user initiated hot-key switch control
US7370193B2 (en) * 2002-04-27 2008-05-06 Tong Shao Computing system being able to quickly switch between an internal and an external networks and a method thereof
EP1554649A2 (en) * 2002-10-11 2005-07-20 Koninklijke Philips Electronics N.V. Data processing apparatus address range dependent parallelization of instructions
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7793347B2 (en) * 2005-02-07 2010-09-07 Rozas Guillermo J Method and system for validating a computer system
US20060179308A1 (en) * 2005-02-07 2006-08-10 Andrew Morgan System and method for providing a secure boot architecture
US7568091B2 (en) * 2006-03-28 2009-07-28 Inventec Corporation Computer platform system control unit data programming control method and system
US20080126787A1 (en) * 2006-06-05 2008-05-29 International Business Machines Corporation System, method and program for managing default values for computer programs
US8316414B2 (en) 2006-12-29 2012-11-20 Intel Corporation Reconfiguring a secure system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276890A (en) * 1989-11-30 1994-01-04 Kabushiki Kaisha Toshiba Resume control system and method for executing resume processing while checking operation mode of CPU
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
DE4309532C2 (de) * 1992-03-25 1996-10-31 Intel Corp Verfahren zum Sichern einer Systemabbildung eines Computersystems auf einer permanenten Speichereinrichtung sowie ein Computersystem
US5437039A (en) * 1992-05-21 1995-07-25 Intel Corporation Servicing transparent system interrupts and reducing interrupt latency
US5613135A (en) * 1992-09-17 1997-03-18 Kabushiki Kaisha Toshiba Portable computer having dedicated register group and peripheral controller bus between system bus and peripheral controller
US5630147A (en) * 1993-12-17 1997-05-13 Intel Corporation System management shadow port
US5459869A (en) * 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software

Also Published As

Publication number Publication date
US5963738A (en) 1999-10-05
JPH07287682A (ja) 1995-10-31

Similar Documents

Publication Publication Date Title
JP2974577B2 (ja) コンピュータシステム
JP4434482B2 (ja) 仮想モードでのシステム管理モードサービスを実行する方法及び装置
JP2590267B2 (ja) 仮想計算機における表示制御方式
US5561788A (en) Method and system for executing programs using memory wrap in a multi-mode microprocessor
JP4580528B2 (ja) コンピュータシステムおよびそのレジューム処理方法
JPH0778766B2 (ja) ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
JP3253881B2 (ja) コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法
US6775734B2 (en) Memory access using system management interrupt and associated computer system
JPS6055467A (ja) マルチ・マイクロプロセツサによつて実現されたメインフレ−ム・エミユレ−シヨン用デ−タ処理システム
JP4155545B2 (ja) コンピュータシステムおよびデータ転送制御方法
US6694401B2 (en) Method and apparatus for executing real-mode interrupts from within extended SMRAM handler
US6282645B1 (en) Computer system for reading/writing system configuration using I/O instruction
JP2005122334A (ja) メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
US7178014B2 (en) Method and apparatus for using a memory region to pass parameters between a run time environment and SMM handler
JP4533713B2 (ja) 情報処理装置およびデータ転送制御方法
JP3238097B2 (ja) コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法
EP0575171B1 (en) Enhanced system management method and apparatus
US7017035B2 (en) Method and apparatus for using an ACPI NVS memory region as an alternative CMOS information area
TW201335851A (zh) 計算機、存取管理方法及記錄有存取管理程式之媒體
JPH11102238A (ja) コンピュータシステムおよびそのシステムにおけるサスペンド制御方法
JP3088285B2 (ja) インサーキットエミュレータ
JP2858517B2 (ja) コンピュータシステム及び同システムにおいてアドレス指定可能な拡張された記憶装置を与える方法
JP2003242026A (ja) 情報処理システムおよびプログラム実行モード制御方法
JP2002342158A (ja) コンピュータシステム及びコンピュータシステムに用いられる記憶領域確保方法
JPS6225334A (ja) 命令処理方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990817

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070903

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 14

EXPY Cancellation because of completion of term