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
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task 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
たはノートブックタイプのポータブルパ−ソナルコンピ
ュータシステムに関し、特に異なるプログラム間のイン
タフェースを行うコンピュータシステムに関する。
プロセッサの高性能化が進み、ラップトップタイプまた
はノートブックタイプのポータブルパ−ソナルコンピュ
ータシステムにおいてもそのような高性能マイクロプロ
セッサがCPUとして使用されている。
テル社により製造販売されているIntel386やI
ntel486が良く知られている。このCPUは、リ
アルモードとプロテクトモ−ドとそれぞれ称され2つの
動作モードを有している。リアルモードとプロテクトモ
−ドは互いに異なるメモリアドレッシング方式を採用し
ており、リアルモードではアクセス可能な最大メモリ空
間は1Mバイトであるのに対し、プロテクトモ−ドでは
最大で1タスク当り4Gバイトのメモリ空間をアクセス
できる。
ーティングシステムは、リアルモードで動作するように
構成されている。このため、現在使用されているアプリ
ケーションプログラムやユーティリティプログラムにつ
いても、そのほとんどはリアルモードで動作するように
構成されている。
機能化も進み、マルチタスクをサポートするオペレーテ
ィングシステムが使用され始めている。この種の高機能
オペレーティングシステムのほとんどは、プロテクトモ
−ドで動作するように構成されている。
においては、ある特定のオペレーティングシステム環境
下だけでなく、種々のオペレーティングシステム環境下
でシステム内のハードウェアを正常にアクセスできるよ
うにすることが要求されている。
においては、システム内のハードウェアとオペレーティ
ングシステムとを互いに独立させてハードウェア制御か
らオペレーティングシステムを解放するために、ハード
ウェアアクセス専用のシステムBIOS(Basic I/
O System)と称されるプログラムが利用されている。
このシステムBIOSは、システムホード上のROMに
よって提供されており、ハードウェアアクセスのための
複数のファンクション実行ルーチンを含んでいる。これ
らファンクション実行ルーチンはオペレーティングシス
テムに各種のハードウェアアクセスのための機能を提供
する。
ーチンは、CPUのソフトウェア割り込み命令(INT
命令)によって実現されている。したがって、オペレー
ティングシステムは、INT命令によって所望のファン
クション実行ルーチンを呼び出して、必要なハードウェ
ア制御を行う事ができる。
ハードウェアアクセスのための機能は、ユーティリティ
プログラムによって提供することもできる。この種のユ
ーティリティプログラムは、システムBIOSと同様
に、ハードウェアを直接制御する。ハードウェア制御の
ために使用される代表的なユーティリティープログラム
としては、セップアッププログラムが知られている。
リのシステム構成情報を書き換えてシステムコンフィグ
レーションの変更を行い、これによって拡張カードの利
用を可能にしたり、動作モードの変更などを行うプログ
ラムである。CMOSメモリに格納されているシステム
構成情報はハードウェア構成に対応しており、パーソナ
ルコンピュータの機種毎にCMOSメモリに格納される
システム構成情報の内容は異なる。このため、システム
構成情報の設定/変更を行うためには、機能追加された
新機種が開発される度にセップアッププログラムを作成
し直すことが必要とされた。
/変更作業だけでなく、場合によっては、そのセップア
ッププログラムとのインターフェースを維持するため
に、オペレーティングシステムについても修正/変更を
加えなければならないこともある。
レーティングシステムとプロテクトモードで動作するオ
ペレーティングシステムとでは異なるセットアッププロ
グラムを利用している。すなわち、リアルモードで動作
するオペレーティングシステム用のセップアッププログ
ラムは、リアルモードで動作するように構成されてお
り、通常、システムBIOSの一部としてROMに格納
されている。一方、プロテクトモードで動作するオペレ
ーティングシステム用のセップアッププログラムはプロ
テクトモードで動作するように構成されており、フロッ
ピーディスクなどによって供給される。
異なるセットアッププログラムを利用した場合において
は、新機種が開発されると、実際には、それら全てのセ
ップアッププログラムについて修正/変更作業を行う事
が必要とされる。
御などに関する機能追加を図る度に、セップアッププロ
グラムやオペレーティングシステムの修正/変更が必要
とされ、その作業に多くの時間が必要とされる欠点があ
った。
などのためにシステムBIOSに新たなファンクション
実行ルーチンを追加する場合には、プロテクトモードで
動作するオペレーティングシステムについては、そのフ
ァンクション実行ルーチンを使用できるようにするため
に次のようなプログラム変更を行う必要がある。
ドで実行されるオペレーティングシステムを前提として
構成されたものであるため、システムBIOSのファン
クション実行ルーチンはすべてリアルモードで動作され
るように構成されている。
オペレーティングシステム環境においては、CPUの動
作モードを一旦プロテクトモードからリアルモードに切
り替えた後にINT命令を実行してファンクション実行
ルーチンを呼び出し、そのファンクション実行ルーチン
からリターンされた後に、再びリアルモードからプロテ
クトモードに切り替えることが必要とされる。
オペレーティングシステムを利用する場合には、CPU
の動作モードを切り替えるルーチンと、INT命令によ
ってシステムBIOSのファンクション実行ルーチンを
呼び出すルーチンとを、そのオペレーティングシステム
のBIOSインタフェース部に組み込まなければならな
い。
拡張のためにシステムBIOSに新たなファンクション
実行ルーチンを追加すると、プロテクトモードで動作す
るオペレーティングシステムのBIOSインタフェース
部の修正/変更作業に多くの時間が必要となるという不
具合が生じる。
のハードウェア構成に合わせてセップアッププログラム
やオペレーティングシステムの修正/変更が必要とさ
れ、その作業に多くの時間が必要とされる欠点があっ
た。
レーティングシステムからシステムBIOSを利用でき
るようにするためには、そのオペレーティングシステム
のBIOSインタフェース部に、CPU動作モードを切
り替えるルーチンを組み込む必要があった。このため、
ハードウェア制御に関する機能拡張のためにシステムB
IOSに新たなファンクション実行ルーチンを追加する
と、それに対応するBIOSインタフェース部のコーデ
ィング作業に多くの時間が必要となる欠点があった。ま
た、システムBIOSファンクションの実行ルーチン
は、CPUのソフトウエア割込み命令(INT命令)に
よって実現されている。従って、オペレーティングシス
テムは、INT命令によって所望のファンクション実行
ルーチンを呼び出して、必要なハードウエア制御を行う
ことができる。しかしながら、システムBIOSはリア
ルモードで実行されるオペレーティングシステムを前提
として構成されたものであるため、システムBIOSの
ファンクション実行ルーチンはすべてリアルモードで動
作されるように構成されている。このため、プロテクト
モードで動作されるオペレーティングシステム環境にお
いては、CPUの動作モードを一旦プロテクトモードか
らリアルモードに切り替えた後にINT命令を実行して
ファンクション実行ルーチンを呼び出し、そのファンク
ション実行ルーチンからリターンされた後に、再びリア
ルモードからプロテクトモードに切り替えることが必要
とされた。従って、プロテクトモードで動作するオペレ
ーティングシステムを利用する場合には、CPUの動作
モードを切り替えるルーチンと、INT命令によってシ
ステムBIOSのファンクション実行ルーチンを呼び出
すルーチンとを、そのオペレーティングシステムのBI
OSインターフェース部に組込まなければならず、その
ためのコーディングが複雑化される欠点があった。
ンピュータシステムを提供することである。この発明の
他の目的は、プロテクトモードで動作するオペレーティ
ングシステム等のプログラムと、リアルモードで動作可
能なBIOSファンクション実行ルーチンのように互い
に異なる環境で動作するプログラム間のインターフェー
スをCPUの持つシステム管理機能を利用して実現でき
るようにし、プロテクトモードで動作するオペレーティ
ングシステム等からBIOSのファンクション実行ルー
チン等を容易に呼び出して実行することができるコンピ
ュータシステムを提供することである。この発明のさら
に他の目的は、ハードウエア構成の変更やハードウエア
制御に関する機能拡張等に柔軟に対応できるプログラム
インターフェースを実現し、オペレーティングシステム
やセットアッププログラム等の修正/変更作業の低減を
図ることができるコンピュータシステムを提供すること
である。
るコンピュータシステムは、システム構成情報が格納さ
れる記憶装置を有し、そのシステム構成情報の内容に応
じてシステム動作環境が決定されるコンピュータシステ
ムにおいて、ハードウェア制御のためのBIOSプログ
ラムを格納するプログラムメモリであって、前記BIO
Sプログラムは、前記システム構成情報の設定/変更の
ために前記記憶装置に対するリード/ライトアクセスを
実行するシステムコンフィグレーションインタフェース
プログラムを含んでいるプログラムメモリと、前記コン
ピュータシステムで実行されるオペレーティングシステ
ムまたはアプリケーションプログラムと前記BIOSプ
ログラムとの間のインタフェースを行うインタフェース
手段とを具備し、前記インタフェース手段は、前記オペ
レーティングシステムまたはアプリケーションプログラ
ムからの前記システム構成情報の設定/変更要求に応答
して、前記システムコンフィグレーションインタフェー
スプログラムに前記記憶装置に対するリード/ライトア
クセスを実行させることを特徴とする。
ステムコンフィグレーションインタフェースプログラム
がBIOSプログラムの1部として格納されており、こ
のシステムコンフィグレーションインタフェースプログ
ラムを起動する事によって、システム構成情報の設定/
変更を行うことができる。このため、オペレーティング
システムや、セップアッププログラムなどのアプリケー
ションプログラムは、システム構成情報を格納する記憶
装置を直接アクセスすることなく、システムコンフィグ
レーションインタフェースプログラムを呼び出すだけで
システム構成情報の変更などを行う事ができる。
されてシステム構成情報の内容に変化が生じたとして
も、オペレーティングシステムやセップアッププログラ
ムはシステム構成情報を直接アクセスするわけではない
ので、それらオペレーティングシステムやセップアップ
プログラムに修正を加える必要はない。よって、ハード
ウェア構成の変更に柔軟に対応することが可能となる。
タフェースプログラムはBIOSプログラムと同様にリ
アルモードにおけるソフトウェア割り込み命令によって
起動される。このため、リアルモードのオペレーティン
グシステム環境下ではソフトウェア割り込み命令を実行
するだけでシステム構成情報の設定/変更が可能とな
る。また、プロテクトモードのオペレーティングシステ
ム環境下でも、CPUの動作モードをリアルモードに変
換した後にソフトウェア割り込み命令を実行すれば、シ
ステム構成情報の設定/変更を行う事ができる。
は、第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のいずれか一方
の動作モードに復帰させるために、前記ハードウェア制
御プログラムの実行完了に応答して前記復帰命令を実行
する手段とを含むインタフェース手段とを具備すること
を特徴とする。
/Oトラップによる割り込み信号がオペレーティングシ
ステムと、機能拡張などのためのハードウェア制御プロ
グラムとの間のインタフェースのために利用されてい
る。インタフェース手段は、オペレーティングシステム
からのハードウェア制御プログラムに対する呼び出し要
求に応答して、特定I/Oポートに対するINまたはO
UTのI/O命令を実行することによって割り込み信号
発生回路にI/Oトラップによる割り込み信号を発生さ
せる。この後、インタフェース手段は、ハードウェア制
御プログラムをシステム管理モードのCPUに実行さ
せ、その実行完了に応答して復帰命令を実行する。シス
テム管理モードのアドレス計算形式は、ハードウェア制
御プログラムが動作可能なリアルモード(第1動作モー
ド)のアドレス計算機形式と同一である。このため、ハ
ードウェア制御プログラムはそのシステム管理モードの
なかで正常に実行する事ができる。
オペレーイングシステムが実行されていた動作モード
(プロテクトモード、またはリアルモード)からシステ
ム管理モードにスイッチし、その後、CPUステータス
をメモリに保存する。復帰命令が実行されると、CPU
は、CPUステータスをメモリからリストアし、システ
ム管理モードから割り込み発生前の動作モードに復帰す
る。
プロテクトモードの環境下においてハードウェア制御プ
ログラムの呼び出し要求が発生すると、CPUが自動的
にシステム管理モードにスイッチされ、そしてハードウ
ェア制御プログラムが実行された後に、システム管理モ
ードからプロテクトモードに復帰される。したがって、
プロテクトモードで動作するオペレーティングシステム
にCPU動作モードを切り替えるルーチンを組み込むこ
となく、プロテクトモード環境下から直接的にハードウ
ェア制御プログラムを呼び出して実行させることが可能
となる。よって、ハードウェア制御に関する機能拡張な
どに柔軟に対応できるようになる。
を利用しているので、割り込み信号を発生させるために
必要な手続きは、インタフェース手段がINまたはOU
T命令を実行する事だけである。このため、ハードウェ
ア制御プログラムの呼び出し要求の発生に応答して直ぐ
に割り込み信号を発生させる事ができるので、ハードウ
ェア制御プログラムを高速に呼び出す事ができる。
グラムを実行する第1インタフェース手段と、オペレー
ティングシステムに第1インタフェース手段とのインタ
フェースを行うために組み込まれたインタフェースプロ
グラムを実行する第2インタフェース手段とから構成す
る事ができる。
来のINT命令の代わりに、INまたはOUT命令を実
行するだけで、第1インタフェース手段にハードウェア
制御プログラムを呼び出させる事ができる。
ア制御プログラムのファンクション実行ルーチンの実行
完了時のCPUステータスをメモリに一旦セーブした後
に、復帰命令を実行することが好ましい。復帰命令が実
行されると、CPUはそのCPUレジスタにメモリの内
容をリストアする。この時、ファンクション実行ルーチ
ンの実行完了時のCPUステータスがCPUレジスタに
戻される。したがって、ファンクション実行ルーチンの
実行完了時のCPUステータスをメモリに一旦セーブす
ることにより、ファンクション実行ルーチンにより得ら
れた出力データをCPUのレジスタを介して効率良くオ
ペレーティングシステムに引き渡すことが可能となる。
によるプログラムインタフェースは、システムコンフィ
グレーションインタフェースプログラムを呼び出すため
のインターフェースとして利用する事ができる。
ィングシステムに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のレジス
タを介して効率よくオペレーティングシステムなどに引
き渡すことが可能となる。
明する。図1には、この発明の一実施例に係わるコンピ
ュータシステムの構成が示されている。このコンピュー
タシステムは、ラップトップタイプまたはノートブック
タイプのパーソナルコンピュータシステムであり、CP
U11、システムコントローラ12、メインメモリ1
3、SMRAM(System Management
RAM)13A、BIOS ROM14、バス変換回
路15、リアルタイムクロック(RTC)16、および
各種I/O装置を備えている。
2ビット幅のデータバスを含むCPUローカルバス17
に接続されている。CPUローカルバス17は、バス変
換回路15を介して16ビット幅のデータバスを含むI
SA仕様のシステムバス18に接続されている。システ
ムコントローラ12、BIOS ROM14、リアルタ
イムクロック(RTC)16、および各種I/O装置
は、システムバス18に接続されている。I/O装置と
しては、割込みコントローラ、キーボードコントロー
ラ、システムタイマ、ハードディスク装置、フロッピー
ディスクコントローラなどがある。
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;System
Management Interrupt)をサポートするもの、例え
ば、米インテル社により製造販売されているマイクロプ
ロセッサSL Enhanced Intel486が
使用される。SL Enhanced Intel48
6を使用した場合、CPU11は、次のようなシステム
管理機能を持つ。
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Ma
nagement mode)と称されるシステム管理
機能を実現するための動作モードを有している。
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
ードとでは、互いに異なるメモリアドレッシングが採用
されている。システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。
Management Interrupt)がCPU11に発行された
時、CPU11の動作モードは、その時の動作モードで
あるリアルモード、プロテクトモード、または仮想86
モードから、SMMにスイッチされる。SMIによって
SMMにスイッチした時、CPU11はその時のCPU
レジスタの内容であるCPUステータスをSMRAM1
3Aにセーブする。また、SMMにおいて復帰命令(R
SM命令)が実行されると、CPU11はSMRAM1
3AからCPUレジスタにCPUステータスをリストア
し、SMI発生前の動作モードに復帰する。SMMで
は、SMIハンドラなどのシステム管理プログラムが実
行される。
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
り込み機能の他、ソフトウェア割り込み機能を持つ。ソ
フトウェア割り込み機能は、OSやアプリケーションプ
ログラムによる割り込み命令(INT)の実行に応答し
て、BIOS ROM14の各種ルーチンなどを実行す
る。この場合、どのルーチンが実行されるかは、割り込
み命令(INT)によって指定される割り込みベクタア
ドレスによって指定される。割り込みベクタアドレスは
BIOS ROM14のエントリポイントを示し、その
エントリポイントのルーチンが実行される。
ム内のメモリやI/Oを制御するためのゲートアレイで
あり、ここにはCPU11へのSMI信号の発生を制御
するためのハードウェアが組み込まれている。
ステム、処理対象のアプリケーションプログラム(ユー
ティリティープログラムを含む)、およびアプリケーシ
ョンプログラムによって作成されたユーザデータ等を格
納する。
ment RAM)13Aは、メインメモリ13のアド
レス30000Hから3FFFFHまでのアドレス空間
にマッピングされるオ−バレイメモリであり、SMI信
号がCPU11に入力された時だけアクセス可能とな
る。ここで、SMRAMがマッピングされるアドレス範
囲は固定ではなく、SMBASEと称されるレジスタに
よって4Gバイト空間の任意の場所に変更することが可
能である。SMBASEレジスタは、SMM中でないと
アクセスできない。SMBASEレジスタのデフォルト
値は、アドレス3000Hである。
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAM13Aにスタック形式
でセーブされる。このSMRAM13Aには、BIOS
ROM14のシステム管理プログラムを呼び出すため
の命令が格納されている。この命令は、CPU11がS
MMに入った時に最初に実行される命令であり、この命
令実行によってシステム管理プログラムに制御が移る。
S(Basic I/O System )を記憶するためのもの
であり、プログラム書き替えが可能なようにフラッシュ
メモリによって構成されている。システムBIOSは、
このシステム内の各種ハードウェアをアクセスするファ
ンクション実行ルーチンを体系化したものであり、リア
ルモードで動作するように構成されている。
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群(INT10h
〜1Fh、40h〜4Fh)が含まれている。各BIO
Sドライバは、ハードウェア制御のための複数の機能を
オペレーティングシステムやアプリケーションプログラ
ムに提供するためにそれら機能に対応する複数のファン
クション実行ルーチン群を含んでいる。
h)には、システムコンフィグレーションインタフェー
スプログラム(SCI)が格納されている。SCIは、
CMOSメモリ16Aのシステム構成情報(システムコ
ンフィグレーション)の設定/変更のためにCMOSメ
モリ16Aをリード/ライトアクセスするハードウェア
制御プログラムである。OSや、セットアッププログラ
ムなどのアプリケーションプログラムは、SCIを用い
てシステム動作環境の設定/変更を行う。
に、以下の6つのファンクション実行ルーチンが含まれ
ている。 [ファンクションコード] [ファンクション実行ルーチン] 44F0h SCIサポートチェック 44F1h オープンインタフェース 44F2h クローズインタフェース 44F3h システムコンフィグレーションゲット 44F4h システムコンフィグレーションセット 44F5h デフォルトコンフィグレーションセット SCIサポートチェックルーチンは、このシステムがS
CIをサポートしているか否かをチェックするルーチン
であり、CPU11のAXレジスタにファンクションコ
ード44F0hがセットされた状態でINT15hが実
行された時に起動される。
テム構成情報のリード/ライトを可能にするためのルー
チンであり、システム構成情報の読み書きの前にこのオ
ープンインタフェースルーチンが起動される。オープン
インタフェースルーチンが起動されるまでは、クローズ
インタフェースルーチン、システムコンフィグレーショ
ンゲットルーチン、システムコンフィグレーションセッ
トルーチンは使用できない。オープンインタフェースル
ーチンは、CPU11のAXレジスタにファンクション
コード44F1hがセットされた状態でINT15hが
実行された時に起動される。
テム構成情報のリード/ライトを禁止するためのクロー
ズルーチンであり、CPU11のAXレジスタにファン
クションコード44F2hがセットされた状態でINT
15hが実行された時に起動される。
チンは、現在のシステム構成情報をCMOSメモリ16
Aからリードするルーチンであり、CPU11のAXレ
ジスタにファンクションコード44F3hがセットされ
た状態でINT15hが実行された時に起動される。シ
ステムコンフィグレーションゲットルーチンはシステム
構成情報の設定項目毎に30以上のサブファンクション
に別れており、これらサブファンクションはCPU11
のBXレジスタにセットされるサブファンクションコー
ドによって選択される。
チンのサブファンクションは、図3および図4の通りで
ある。図3および図4に示されているように、サブファ
ンクションは、システムおよびパワー管理の設定、メモ
リ設定、ディスプレイ設定、HDD/FDD設定、I/
Oポートおよびキーボード設定に関するサブファンクシ
ョンに大別される。
たい設定項目に対応するサブファンクションコード(例
えば、パワーアップモードに関するサブファンクション
コード0100h)をBXレジスタにセットすることに
より、その設定項目に対応する現在の設定値(ブートモ
ード/レジュームモード)を読み取る事ができる。
チンは、CMOSメモリ16Aのシステム構成情報の変
更のために新たなシステム構成情報をCMOSメモリ1
6Aに書き込むルーチンであり、CPU11のAXレジ
スタにファンクションコード44F4hがセットされた
状態でINT15hが実行された時に起動される。この
場合、CPU11のCXレジスタにセットされた入力値
が、新たなシステム構成情報としてCMOSメモリ16
Aにライトされる。システムコンフィグレーションセッ
トルーチンも、ゲートルーチンと同様に、システム構成
情報の設定項目毎に30以上のサブファンクションに別
れており、これらサブファンクションはCPU11のB
Xレジスタにセットされるサブファンクションコードに
よって選択される。サブファンクションの種類は、図3
および図4で説明したシステムコンフィグレーションゲ
ットルーチンのサブファンクションと同じである。
ーチンは、システム動作環境を標準の環境に戻すために
システム構成情報のデフォルト値をCMOSメモリ16
Aに書き込むルーチンであり、CPU11のAXレジス
タにファンクションコード44F5hがセットされた状
態でINT15hが実行された時に起動される。
ットアップのために必要なCMOSメモリ16Aに対す
るアクセス機能を、OSや、セップアッッププログラム
などのアプリケーションプログラムに提供する。
に、SMIハンドラおよびSMIサービスルーチンなど
のSMMの中で実行されるシステム管理プログラムも格
納されている。
じてSMIサービスルーチンやBIOSドライバを起動
するするためのものであり、I/OトラップによるSM
Iが発生した場合にはBIOSドライバを起動し、他の
要因によるSMIが発生した場合にはその要因に対応す
るSMIサービスルーチンを起動する。このように、I
/OトラップによるSMIは、BIOSドライバを起動
するためのプログラム・インタフェースとしても利用さ
れる。
り込み(INT15h)だけでなく、I/OトラップS
MIを利用しても起動する事ができる。さらに、BIO
S ROM14には、リアルモード環境で動作するユー
ティリティーとして、セットアッププログラム、および
ポップアッププログラムが格納されている。これらセッ
トアッププログラムおよびポップアッププログラムは、
キー入力操作によって所定のコマンドが入力された時に
起動される。
グラム(BIOSセットアップ)は、リアルモード環境
においてシステムコンフィグレーションの設定/変更を
行う場合に利用される。
7とシステムバス18を接続するブリッジ回路であり、
CPUローカルバス17の32ビットデータバスとシス
テムバス18の16ビットデータバスとの間のバス幅変
換などを行う。
池電源が常時供給されるCMOSメモリ16Aを有す
る。このCMOSメモリ16Aには、システム構成情報
などが保存される。システムの動作環境は、CMOSメ
モリ16Aのシステム構成情報によって決定される。
れたSMI発生制御のためのハードウェア構成について
説明する。システムコントローラ12は、図示のよう
に、I/OトラップSMI発生回路121、他の要因に
よるSMI発生回路122,123、OR回路124、
およびSMIステータスレジスタ125を備えている。
プログラム・インタフェースとして利用されるI/Oト
ラップSMI信号を発生させるための回路であり、予め
決められたアドレス範囲に属すシステムバス18上のI
/OアドレスをトラップしてI/OトラップSMI信号
を発生する。このI/OトラップSMI発生回路121
は、図示のように、I/Oベースアドレスレジスタ12
6、アドレス比較回路127、およびマスクレジスタ1
28から構成されている。
PU11がリード/ライト可能なレジスタであり、シス
テムバス18に接続されている。このI/Oベースアド
レスレジスタ126は、I/Oベースアドレスを保持す
る。このI/Oベースアドレスは、システムのパワーオ
ン時にIRTルーチンによってI/Oベースアドレスレ
ジスタ126にセットされる。セットされるI/Oベー
スアドレスとしては、I/O装置に対して割り当てるこ
とが可能な複数のI/Oベースアドレスの中で実際に使
用されてないアドレスが利用される。
イクルにおいてシステムバス18上に出力されるI/O
アドレスとI/Oベースアドレスレジスタ126のI/
Oベースアドレスとを比較し、I/OアドレスがI/O
ベースアドレスによって指定されるアドレス範囲に属す
時にI/OトラップSMI信号を発生する。
ード/ライト可能なレジスタであり、システムバス18
に接続されている。このマスクレジスタ128は、I/
OトラップSMI信号の発生を許可または禁止するため
のマスクデータを保持する。このマスクデータは、シス
テムのパワーオン時にIRTルーチンによってセットさ
れる。I/OトラップSMIをBIOSのファンクショ
ン実行ルーチンを呼び出すためのプログラム・インタフ
ェースとして利用する場合には、I/OトラップSMI
信号の発生を許可するマスクデータがセットされる。
実際にはこのような回路が複数セット用意されており、
その内の1つがBIOSドライバを呼び出すためのプロ
クラム・インタフェースとして利用され、他の回路セッ
トからのI/OトラップSMIはローカルスタンバイS
MIの発生などのために利用される。もちろん、2以上
の回路セットをBIOSドライバを呼び出すためのプロ
グラム・インタフェースとして利用することもできる。
異なるI/Oベースアドレスをセットしておくことによ
って、複数のBIOSドライバを互いにトラップアドレ
スが異なる複数のI/OトラップSMIを利用したイン
タフェースによって選択的に呼び出す事ができる。
23は、例えば、ソフトウェアSMI、グローバルスタ
ンバイSMI、ローカルスタンバイSMI、外部入力S
MI、電源からのサスペンドレジュームボタン信号によ
るSMIなどを発生する。
発生回路121および他のSMI回路122,123の
いずれかがSMI信号を発生した時、そのSMI信号を
CPU11に供給する。
び他のSMI回路122,123の各々は、CPU11
がSMMを抜けるまでSMI信号をアクティブステート
に維持し続ける。このため、あるSMI信号に対するS
MI処理中に他のSMI信号が発生された時は、CPU
11は最初のSMI信号に対応するSMMを抜けた後
に、SMI処理中に発生したSMI信号によって再びS
MMに移行する。
I発生要因を示すステータスデータを保持するためのも
のであり、I/OトラップSMI発生回路121および
他のSMI回路122,123それぞれの出力を保持す
る。
たシステムコンフィグレーションの設定/変更動作を説
明する。まず、図5乃至図7を参照して、INT15h
を用いてSCIを起動する場合について説明する。
ィグレーションの設定/変更動作の原理が概念的に示さ
れている。この実施例のパーソナルコンピュータにおい
ては、リアルモード環境とプロテクトモード環境とでそ
れぞれ異なるセットアッププログラムが用いられる。す
なわち、リアルモード環境ではBIOS ROM14に
格納されているBIOSセットアッププログラムが使用
され、プロテクトモード環境下ではフロッピーディスク
やハードディスク装置から供給される“Max Tim
e”などのセットアッププログラムが利用される。
開発されたプロテクトモードOS用のアプリケーション
プログラムであり、プロテクトモード環境で実行するこ
とができる。“Max Time”は、SCIを利用し
てシステム構成情報の読み書きを行い、ハードウェア
(CMOSメモリ)を直接アクセスすることはない。
“Max Time”を実行すると、図6のようなセッ
トアップウインドウが画面表示され、各種環境設定項目
についてそれぞれ現在の設定値が提示される。現在の設
定値は、キー操作やマウス操作によって変更する事がで
きる。また、“DeFaults”アイコンを選択する
事により、全ての環境設定項目をデフォルト値に一括変
更する事もできる。
作が行われると、“Max Time”はSCIを呼び
出し、CMOSメモリ16Aのシステム構成情報の変更
などを行う。
場合には、まず、CPU11の動作モードがプロテクト
モードからリアルモードに切り替えられ、その後INT
15hのソフトウェア割り込み命令が実行される。
ルモードOS用のプログラムであり、リアルモード環境
で実行することができる。BIOSセットアッププログ
ラムも、SCIを利用してシステム構成情報の読み書き
を行う事ができる。BIOSセットアッププログラムは
システムボード上のROMに格納されたBIOSドライ
バの一種であるので、従来と同様に、BIOSセットア
ッププログラムがハードウェア(CMOSメモリ)を直
接アクセスするように構成しても良い。BIOSセット
アッププログラムが実行された場合も、“Max Ti
me”と同様の環境設定項目を持つセットアップウイン
ドウが画面表示され、各種環境設定項目についてそれぞ
れ現在の設定値が提示される。
を呼び出す場合には、CPU11の動作モードを切り替
えること無く、INT15hのソフトウェア割り込み命
令だけが実行される。
のリード/ライト処理の手順が示されている。ここで
は、SCIが既にオープンされている場合を想定する。
よびBIOSセットアッププログラムは、INT15h
のソフトウェア割り込み命令を実行する。この場合、S
CIのファンクション実行ルーチンを指定するファンク
ションコードや、サブファンクションコードがCPU1
1のレジスタにセットされる。
の実行により、INT15hのベクタアドレスで指定さ
れる拡張BIOSが実行される。拡張BIOSは、ま
ず、SCIがサポートしているファンクションコードか
否かを判断する(ステップS101)。具体的には、フ
ァンクションコードが44F2h(クローズインタフェ
ース)か、444F3h(システムコンフィグレーショ
ンゲット)か、44F4h(システムコンフィグレーシ
ョンセット)か、44F5h(デフォルトコンフィグレ
ーションセット)かどうかを判断し、これらファンクシ
ョンコードでなければ、拡張BIOSに用意されたSC
I以外の処理に移行する。
であれば、そのファンクションコードに対応するファン
クション実行ルーチンが起動される(スップS10
2)。起動されたファンクション実行ルーチンは、CP
U11のレジスタにセットされているサブファンクショ
ンコードをサポートしているか否かを判断する(ステッ
プS103)。
指定されたときは、ファンクション実行ルーチンは、エ
ラー値を出力値としてCPU11のレジスタにセットし
た後にリターンする(ステップS104)。
ンであれば、ファンクション実行ルーチンは、その指定
されたサブファンクションを実行し、該当する環境設定
項目の読み出し/書き込みなどを行い、CPU11の出
力レジスタに戻り値を設定した後にリターンする(ステ
ップS105,S106)。
のパワーアップモード(ブート/レジューム)をリード
するサブアンクション(GET POWER−UP M
ODE)を実行した場合のCPU11の入出力レジスタ
の値の一例が示されている。
システムコンフィグレーションゲットルーチンを指定す
るファンクションコード(=44F3h)、入力レジス
タBXにはパワーアップモードを示すサブファンクショ
ンコード(=0100h)がセットされる。
チンのサブファンクション(GETPOWER−UP
MODE)が正常終了した場合には、出力レジスタCX
には、CMOSメモリ16Aからリードした現在のパワ
ーアップモードがセットされる。この場合、ブートモー
ドであれは0000hが戻り値となり、レジュームモー
ドであれば0001hが戻り値となる。また、出力レジ
スタSIにはパワーアップモードのデフォルト値(ブー
トモード)を示す0000hがセットされる。
内容を示す値が出力レジスタAHにセットされると共
に、出力レジスタCFには1がセットされる。以上説明
したように、この実施例においては、SCIがシステム
BIOSの1部としてBIOS ROM14に格納され
ており、そのSCIをINT15hのソフトウェア割り
込みによって起動する事によってシステム構成情報の設
定/変更を行うことができる。このため、オペレーティ
ングシステムや、“Max Time”またはBIOS
セットアップなどのセップアッププログラムは、CMO
Sメモリ16Aを直接アクセスすることなく、SCIを
呼び出すだけでシステム構成情報の変更などを行う事が
できる。
されてシステム構成情報の内容に変化が生じたとして
も、オペレーティングシステムやセップアッププログラ
ムはシステム構成情報を直接アクセスするわけではない
ので、それらオペレーティングシステムやセップアップ
プログラムに修正を加える必要はない。よって、ハード
ウェア構成の変更に柔軟に対応することが可能となる。
ブファンクションが予め用意されているので、機種が代
り、ハードウェア構成に変化が生じても、そのSCIの
サブファンクションでサポートされる範囲の変化であれ
ば、SCIを変更せずにそのハードウェア構成の変化に
対応する事ができる。したがって、SCIには、将来拡
張される可能性のある機能に対応するサブファンクショ
ンなど、多数のサブファンクションを予め用意しておく
事が望ましい。
セスのためのインタフェース(CAI:CMOS Ac
cess Interface)について説明する。C
AIは上述したSCIの1つのファンクションとしてB
IOS ROM14に格納されており、システム構成情
報に限らず、CMOSメモリ16Aの他のデータに対す
るリード/ライトアクセスのために利用される。どのC
MOSエリアをアクセスするかは、CPU11の入力レ
ジスタにセットされるたインデックス値によって決定さ
れる。
U11のI/Oアドレス空間の一部に割り付けられた記
憶エリアを含んでおり、それらはインデックス修飾によ
ってアドレス指定される。従来、プロテクトモードで動
作するOS等を起動した場合、ポート70h,71hを
使用してインデックス40h以降のCMOSエリアを正
しくリード/ライトすることができなかったが、CAI
はこれを可能にする。
MOSリードファンクションと、CMOSデータをライ
トするCMOSライトファンクションとを有している。
以下、CAIを用いたCMOSアクセス動作について説
明する。
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAXにファンクションコー
ド(=44FCh)をセットし、レジスタBXにCMO
Sのインデックスをセットした後、INT15hのソフ
トウェア割り込み命令を実行する。
ンクションルーチンが起動され、指定されたインデック
ス値が割り当てられているCMOSエリアからデータを
リードする。CMOSリードが正常に終了した場合、出
力レジスタCLにはCMOSデータが戻り値としてセッ
トされる。
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAXにファンクションコー
ド(=44FDh)をセットし、レジスタBXにCMO
Sのインデックスをセットし、そしてレジスタCLにC
MOSライトデータをセットした後、INT15hのソ
フトウェア割り込み命令を実行する。
ンクションルーチンが起動され、指定されたインデック
ス値が割り当てられているCMOSエリアにレジスタC
Lの値がライトされる。CMOSライトが正常に終了し
た場合、出力レジスタAXには正常終了したことを示す
値(=0044h)が戻り値としてセットされる。
て保持することにより、オペレーティングシステムやア
プリケーションプログラムは、I/Oポートにインデッ
クスをライトするというハードウェアアクセスを行うと
なく、任意のインデックスのCMOSエリアをリード/
ライトアクセスすることができる。
Iを起動する場合について説明する。以下では、I/O
トラップSMIを用いたSCIを、ESCI(Enha
nced SCI)と称することにする。このESCI
は、プロテクトモード環境でシステムコンフィグレーシ
ョンの設定/変更などを行う事ができるプログラムイン
タフェースである。
レーティングシステム、またはアプリケーションプログ
ラムが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命令を実行する。
て、I/Oベースアドレスによって指定されたアドレス
範囲に属すI/Oアドレスがシステムバス18上に出力
される。このI/OアドレスはI/OトラップSMI発
生回路121によってトラップされ、I/OトラップS
MI信号がCPU11に供給される。
入力されると、CPU11は、その時の動作モード(例
えば、プロテクトモード)からSMMにスイッチされ
る。SMMに入ると、CPU11は、まず、SMRAM
13Aをメインメモリ13のアドレス30000Hから
3FFFFHまでのアドレス空間にマッピングする(ス
テップS1)。これにより、メインメモリ13のアドレ
ス30000Hから3FFFFHはアクセス不能とな
り、代わりにSMRAM13Aがアクセス可能となる。
納エリア、SMIハンドラ作業エリアなどが設けられて
おり、またBIOS ROM14のSMIハンドラを割
り込み先として指定するジャンプコードがセットされて
いる。前述したように、BIOS ROM14には、I
RTルーチン、SMIハンドラ、複数のBIOSドライ
バ(ESCIを含む)、およびパワ−管理などのための
各種SMIサービスルーチンが格納されている。
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AM13AのCPUステート格納エリアにスタック形式
でセーブする(ステップS2)。そして、CPU11
は、SMMのスタートアドレス(38000H)のコー
ド、つまりSMRAM13Aのアドレス38000Hに
セットされているジャンプコードをフェッチし、そのジ
ャンプコードで指定されるBIOS ROM14のSM
Iハンドラを実行する(ステップS3)。ここまでのス
テップS1〜S3の処理は、CPU11自体つまりCP
U11のマイクロプログラムによって実行されるもので
ある。
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る(ステップS4)。この処理では、システムコントロ
ーラ12のSMIステータスレジスタ124にセットさ
れているSMIステータス情報が参照される。I/Oト
ラップによるSMIであれば、SMIハンドラは、BI
OS ROM14の複数のBIOSドライバのなかの特
定のBIOSドライバ(ESCI)のファンクション実
行ルーチンの実行をリクエストする(ステップS5)。
リクエストされたBIOSドライバのファンクション実
行ルーチンは、SMMの中で実行される。
OSドライバを呼び出すかは、予め決められており、例
えば、ESCIや、BIOS ROM14に新たに追加
された機能拡張用の他のBIOSドライバなどが呼び出
される。もちろん、CPU11のソフトウェア割り込み
を用いて実現されている既存のBIOSドライバ群(I
NT10h〜1Fh、40h〜4Fh)の1つを、I/
OトラップSMIに応答して呼び出すべきBIOSドラ
イバとして定義する事もできる。また、そのBIOSド
ライバのどのファンクション実行ルーチンを実行するか
は、オペレーティングシステムまたはアプリケーション
プログラムによって指定されたファンクションコードの
値によって決定される。
MIハンドラはレジューム(RSM)命令を実行する
(ステップS6)。このRSM命令の実行によりCPU
ステータスはSMRAM13AからCPUレジスタにリ
ストアされ(ステップS7)、これによってCPU11
はSMMから抜けてプロテクトモードに復帰し、割り込
まれたオペレーティングシステムまたはアプリケーショ
ンプログラムに制御が戻る。
たプログラム・インタフェースを利用した場合には、プ
ロテクトモードで動作するオペレーティングシステムま
たはアプリケーションプログラムは、I/OトラップS
MIを発生させるためにINまたはOUT命令を実行す
るだけで良く、プロテクトモードからリアルモードに切
り替える手続きを一切行う必要がない。
て、I/OトラップSMI発生回路121に対するセッ
トアップ処理を説明する。このセットアップ処理は、シ
ステムのパワーオンまたはシステムリセット時にIRT
ルーチンによって実行される。
SMI発生回路121のマスクレジスタ128にI/O
トラップSMI発生許可データをセットする(ステップ
S11)。この後、IRTルーチンは、i/Oベースア
ドレスレジスタ126にI/Oベースアドレス(00X
Yh)をセットする(ステップS12)。このI/Oベ
ースアドレスの値00XYhは、予め決められたI/O
ポートのベースアドレス値である。
て、オペレーティングシステム、または前述の“Max
Time”などのセットアッププログラムに組み込ま
れたBIOSインタフェースの処理を説明する。
Time”のBIOSインタフェースは、まず、CP
U11のAHレジスタにESCIの所定のファンクショ
ン実行ルーチンを指定するファンクションコードをセッ
トする(ステップS21)。
のファンクション実行ルーチン(SCIサポートチェッ
クルーチン、オープンインタフェースルーチン、クロー
ズインタフェースルーチン、システムコンフィグレーシ
ョンゲートルーチン、システムコンフィグレーションセ
ットルーチン、デフォルトコンフィグレーションセット
ルーチン)をSCIと共用しており、それらルーチンに
はファンクションコード(F0h,F1h,F2h,F
3h,F5h)が割り当てられている。各ファンクショ
ン実行ルーチン機能は、図2で説明した通りである。
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ハンドラに制御が移行する。
行によってオペレーティングシステムまたはアプリケー
ションプログラムに制御が戻ると、そのBIOSインタ
フェースは、CPU11の所定のレジスタの内容を参照
してESCIなどからのファンクション終了コードや出
力結果などの戻り値のチェックを行う(ステップS2
3)。終了コードはAXレジスタに設定される。エラー
コードとエラーの内容は次の通りである。
いる 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ハン
ドラのプログラム・インタフェース処理を説明する。
ローラ12のSMIステータスレジスタ124のSMI
ステータス情報をリードし(ステップS31)、そのS
MIステータス情報によってSMIの発生要因がI/O
トラップによるものであるか否かを調べる(ステップS
32)。I/Oトラップ以外の要因によるSMIであれ
ば、SMIハンドラは、その要因に対応するSMIサー
ビスルーチンを実行する。一方、I/Oトラップによる
SMIであれば、SMIハンドラは、以下の処理を行
う。
I発生時にCPU11によってSMRAM13Aにセー
ブされたCPUステータスの内容をCPUレジスタに復
帰する(ステップS34)。次いで、SMIハンドラ
は、ESCIのファンクション実行ルーチンの中でAH
レジスタのファンクションコードによって指定されるフ
ァンクション実行ルーチンを呼び出して実行する(ステ
ップS34)。
すると、SMIハンドラは、その時のCPUレジスタの
内容をSMRAM13Aにセーブした後(ステップS3
5)、RSM命令を実行する(ステップS36)。
タスはSMRAM13AからCPUレジスタにリストア
され、これによってファンクション実行ルーチンからの
出力値はオペレーティングシステムまたはアプリケーシ
ョンプログラムにCPUレジスタを介して渡される。
たシステムコンフィグレーションの設定/変更動作の原
理を説明する。図5で説明したように、この実施例にお
いては、リアルモード環境ではBIOS ROM14に
格納されているBIOSセットアッププログラムが使用
され、プロテクトモード環境下ではフロッピーディスク
やハードディスク装置から供給される“Max Tim
e”などのセットアッププログラムが利用される。
Time”は、CMOSメモリ16Aのシステム構成
情報の変更などを行う場合には、INまたはOUT命令
を実行してI/OトラップSMIを発行し、これによっ
てESCIを起動する。この場合、CPU11の動作モ
ードは、I/OトラップSMIによってプロテクトモー
ドからSMMにスイッチされ、SMMの中でESCIが
実行される。
の起動は、リアルモード環境で動作するBIOSセット
アッププログラムも利用する事ができる。この場合に
は、CPU11の動作モードは、I/OトラップSMI
によってリアルモードからSMMにスイッチされ、SM
Mの中でESCIが実行される。
システム構成情報のリード/ライト処理の手順を説明す
る。ここでは、ESCIが既にオープンされている場合
を想定する。
よびBIOSセットアッププログラムは、INまたはO
UT命令を実行する。この場合、SCIを起動する場合
と同様にして、ESCIのファンクション実行ルーチン
を指定するファンクションコードや、サブファンクショ
ンコードがCPU11のレジスタにセットされる。
プSMIによって、拡張BIOSが実行される。拡張B
IOSは、まず、ESCIがサポートしているファンク
ションコードか否かを判断する(ステップS201)。
具体的には、ファンクションコードがF2h(クローズ
インタフェース)か、F3h(システムコンフィグレー
ションゲット)か、F4h(システムコンフィグレーシ
ョンセット)か、F5h(デフォルトコンフィグレーシ
ョンセット)かどうかを判断し、これらファンクション
コードでなければ、拡張BIOSに用意されたESCI
以外の他の拡張処理ルーチンに移行する(ステップS2
02)。
であれば、そのファンクションコードに対応するESC
Iのファンクション実行ルーチンが起動される(スップ
S203)。起動されたファンクション実行ルーチン
は、CPU11のレジスタにセットされているサブファ
ンクションコードをサポートしているか否かを判断する
(ステップS204)。
指定されたときは、ファンクション実行ルーチンは、エ
ラー値を出力値としてCPU11のレジスタにセットし
た後にリターンする(ステップS205)。
ンであれば、ファンクション実行ルーチンは、その指定
されたサブファンクションを実行し、該当する環境設定
項目の読み出し/書き込みなどを行い、CPU11の出
力レジスタに戻り値を設定した後にリターンする(ステ
ップS105,S106)。
のパワーアップモード(ブート/レジューム)をリード
するサブアンクション(GET POWER−UP M
ODE)を実行した場合のCPU11の入出力レジスタ
の値の一例が示されている。
システムコンフィグレーションゲットルーチンを指定す
るファンクションコード(=44F3h)、入力レジス
タBXにはパワーアップモードを示すサブファンクショ
ンコード(=0100h)がセットされる。
チンのサブファンクション(GETPOWER−UP
MODE)が正常終了した場合には、出力レジスタCX
には、CMOSメモリ16Aからリードした現在のパワ
ーアップモードがセットされる。この場合、ブートモー
ドであれは0000hが戻り値となり、レジュームモー
ドであれば0001hが戻り値となる。また、出力レジ
スタSIにはパワーアップモードのデフォルト値(ブー
トモード)を示す0000hがセットされる。
内容を示す値が出力レジスタAHにセットされると共
に、出力レジスタCFには1がセットされる。以上説明
したように、この実施例においては、プロテクトモード
で動作するOS環境下においてシステムコンフィグレー
ションの設定/変更要求が発生すると、INまたはOU
T命令の実行によるI/OトラップSMIによってCP
U11が自動的にプロテクトモードからSMMにスイッ
チされ、そしてそのSMMの中でESCIが実行され
る。そして、ESCIの処理が終了されると、SMMか
らプロテクトモードに復帰され、OSに制御が戻る。
ムなどのアプリケーションプログラムにCPU動作モー
ドを切り替えるルーチンを組み込むことなく、プロテク
トモード上でESCIを直接的に呼び出して実行させる
ことが可能となる。
しているので、SMI信号を発生させるために必要な手
続きは、INまたはOUT命令を実行する事だけであ
る。このため、システムコンフィグレーションの設定/
変更要求の発生に応答して直ぐにSMI信号を発生させ
る事ができるので、ESCIを高速に呼び出す事ができ
る。
ァンクション実行ルーチンの実行完了時のCPUステー
タスをSMRAM13Aに一旦セーブした後にRSM命
令を実行しているので、ファンクション実行ルーチンに
より得られた出力データなどをCPU11のレジスタを
介して効率良くオペレーティングシステムなどに引き渡
すことが可能となる。
しにのみ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発生回路
によって決定される。
してI/OトラップSMIを利用する事により、プロテ
クトモードで動作するオペレーティングシステムやアプ
リケーションプログラム等にCPU動作モードを切り替
えるルーチンを組み込むことなく、プロテクトモード環
境下から直接的にESCIなどのBIOSを呼び出して
実行させることが可能となる。よって、オペレーティン
グシステム内のBIOSインタフェース部のコーディン
グが簡単化され、ハードウェア制御に関する機能拡張な
どに柔軟に対応できるようになる。
スのためのインタフェース(ECAI:Enhance
d Cmos Access Interface)に
ついて説明する。
ンクションとしてBIOS ROM14に格納されてお
り、CAIと同様に、CMOSメモリ16Aの各種デー
タに対するリード/ライトアクセスのために利用され
る。どのCMOSエリアをアクセスするかは、CPU1
1の入力レジスタにセットされるたインデックス値によ
って決定される。
U11のI/Oアドレス空間の一部に割り付けられた記
憶エリアを含んでおり、それらはインデックス修飾によ
ってアドレス指定される。ECAIは、CMOSデータ
をリードするCMOSリードファンクションと、CMO
SデータをライトするCMOSライトファンクションと
を有している。以下、ECAIを用いたCMOSアクセ
ス動作について説明する。
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAHにファンクションコー
ド(=FCh)をセットし、レジスタBXにCMOSの
インデックスをセットした後、IN AL,00XYh
などのI/O命令を実行する。
ァンクションルーチンが起動され、指定されたインデッ
クス値が割り当てられているCMOSエリアからデータ
をリードする。CMOSリードが正常に終了した場合、
出力レジスタCLにはCMOSデータが戻り値としてセ
ットされる。
合には、オペレーティングシステムや各種アプリケーシ
ョンプログラムは、レジスタAHにファンクションコー
ド(=FDh)をセットし、レジスタBXにCMOSの
インデックスをセットし、そしてレジスタCLにCMO
Sライトデータをセットした後、IN AL,00XY
hなどのI/O命令を実行する。
ァンクションルーチンが起動され、指定されたインデッ
クス値が割り当てられているCMOSエリアにレジスタ
CLの値がライトされる。CMOSライトが正常に終了
した場合、出力レジスタAXには正常終了したことを示
す値(=0044h)が戻り値としてセットされる。
して保持することにより、オペレーティングシステムや
アプリケーションプログラムは、I/Oポートにインデ
ックスをライトするというハードウェアアクセスを行う
となく、任意のインデックスのCMOSエリアをリード
/ライトアクセスすることができる。
ば、システムコンフィグレーションの設定/変更のため
のプログラムがBIOSプログラムの1部として用意さ
れており、このプログラムを起動する事によって、シス
テム構成情報の設定/変更を行うことができる。このた
め、オペレーティングシステムや、セップアッププログ
ラムなどのアプリケーションプログラムは、システム構
成情報を格納する記憶装置を直接アクセスすることな
く、BIOSを呼び出すだけでシステム構成情報の変更
などを行う事ができる。したがって、機能追加された新
機種が開発されてシステム構成情報の内容に変化が生じ
たとしても、オペレーティングシステムやセップアップ
プログラムはシステム構成情報を直接アクセスするわけ
ではないので、それらオペレーティングシステムやセッ
プアッププログラムに修正を加える必要はない。よっ
て、ハードウェア構成の変更に柔軟に対応することが可
能となる。
/OトラップSMIを利用する事により、プロテクトモ
ードで動作するオペレーティングシステムやアプリケー
ションプログラム等にCPU動作モードを切り替えるル
ーチンを組込むことなく、プロテクトモード環境下から
直接的にBIOSを呼び出して実行させることが可能と
なる。よって、オペレーティングシステム内のBIOS
インターフェース部のコーディングが簡単化され、ハー
ドウエア制御に関する機能拡張などに柔軟に対応できる
ようになる。また、I/Oトラップによる割込み信号が
オペレーティングシステム又はアプリケーションと、機
能拡張などのためのハードウエア制御プログラムやシス
テムコンフィグレーションインターフェースプログラム
との間のインターフェースとして利用可能である。 さら
に、ファンクション実行ルーチンの実行完了時のCPU
ステータスをメモリに一旦セーブすることにより、ファ
ンクション実行ルーチンにより得られた出力データをC
PUのレジスタを介して効率よくオペレーティングシス
テム又はアプリケーションに引き渡すことができる。
ム全体の構成を示すブロック図。
OMに格納されているSCIの構成を示す図。
群の一部を示す図。
群の残りの一部を示す図。
ンタフェース部の動作を概念的に示す図。
アッププログラムによって提供されるセットアップウイ
ンドウの一例を示す図。
明するフローチャート。
場合の入出力レジスタ仕様の一例を示す図。
Iが発行された時のメモリマップを説明するための図。
/OトラップSMIが発行された時のCPUの動作を説
明するための図。
SMI発生のための準備処理を説明するためのフローチ
ャート。
ROMに格納されているESCIを起動する場合におけ
るOSのBIOSインタフェース部の動作を説明するフ
ローチャート。
によって実行されるOSとESCIのプログラム・イン
タフェース処理を説明するフローチャート。
する場合におけOSのBIOSインタフェース部の動作
を概念的に示す図。
を説明するフローチャート。
インメモリ、13A…SMRAM、14…BIOS R
OM、15…バス変換回路、16A…CMOSメモリ、
17…CPUローカルバス、18…システムバス、12
1…I/OトラップSMI発生回路、124…OR回
路、125…SMIステータスレジスタ。
Claims (22)
- 【請求項1】 システム構成情報が格納される記憶装置
を有し、そのシステム構成情報の内容に応じてシステム
動作環境が決定されるコンピュータシステムにおいて、 ハードウェア制御のためのプログラムを格納するプログ
ラムメモリであって、前記プログラムは、前記システム
構成情報の設定/変更のために前記記憶装置に対するリ
ード/ライトアクセスを実行するシステムコンフィグレ
ーションインタフェースプログラムを含んでいるプログ
ラムメモリと、 前記コンピュータシステムで実行されるオペレーティン
グシステムまたはアプリケーションプログラムと前記プ
ログラムとの間のインタフェースを行うインタフェース
手段とを具備し、 前記インタフェース手段は、 前記オペレーティングシステムまたはアプリケーション
プログラムからの前記システム構成情報の設定/変更要
求に応答して、前記システムコンフィグレーションイン
タフェースプログラムに前記記憶装置に対するリード/
ライトアクセスを実行させることを特徴とするコンピュ
ータシステム。 - 【請求項2】 前記インタフェース手段は、前記システ
ムコンフィグレーションインタフェースプログラムに含
まれている複数のファンクション実行ルーチンの中で前
記オペレーティングシステムまたはアプリケーションプ
ログラムによって指定されたファンクションコードに対
応する1つのファンクション実行ルーチンを呼び出して
実行することを特徴とする請求項1記載のコンピュータ
システム。 - 【請求項3】 前記システムコンフィグレーションイン
タフェースプログラムは、前記記憶装置をリードアクセ
スして前記記憶装置からシステム構成情報を読み取る第
1のファンクション実行ルーチンと、前記記憶装置をラ
イトアクセスして前記記憶装置のシステム構成情報を書
き替える第2のファンクション実行ルーチンと、前記記
憶装置をライトアクセスして前記記憶装置のシステム構
成情報をデフォルト値に設定する第3のファンクション
実行ルーチンとを含むことを特徴とする請求項1記載の
コンピュータシステム。 - 【請求項4】 前記第1乃至第3のファンクション実行
ルーチンの各々は、前記システム構成情報に含まれる複
数の動作環境設定項目にそれぞれ対応した複数のサブフ
ァンクション実行ルーチンを含み、 各サブファンクション実行ルーチンは、前記システム構
成情報内の該当する動作環境設定項目の読取り、書き換
え、またはデフォルト値の設定を行うことを特徴とする
請求項3記載のコンピュータシステム。 - 【請求項5】 前記記憶装置はそれぞれ異なるインデッ
クス番号が割り当てられた複数の記憶領域を有し、 前記システムコンフィグレーションインタフェースプロ
グラムは、さらに、前記オペレーティングシステムまた
はアプリケーションプログラムによって指定されたイン
デックスの記憶領域からデータを読み出す第4のファン
クション実行ルーチンと、前記オペレーティングシステ
ムまたはアプリケーションプログラムによって指定され
たインデックスの記憶領域にデータを書き込む第5のフ
ァンクション実行ルーチンとを含むことを特徴とする請
求項3記載のコンピュータシステム。 - 【請求項6】 システム構成情報が格納される記憶装置
を有し、そのシステム構成情報の内容に応じてシステム
動作環境が決定されるコンピュータシステムにおいて、 複数の動作モードを有するCPUと、 ハードウェア制御を行うプログラムを格納するプログラ
ムメモリであって、前記ハードウエア制御を行うプログ
ラムは第1動作モードで動作するように構成されて、前
記システム構成情報の設定/変更のために前記記憶装置
に対するアクセスを実行するシステムコンフィグレーシ
ョンインタフェースプログラムを含んでいるプログラム
メモリと、 オペレーティングシステムまたはアプリケーションプロ
グラムと前記プログラムとの間のインタフェースを行う
インタフェース手段とを具備し、 前記インタフェース手段は、 前記CPUが第1動作モードの時に前記オペレーティン
グシステムまたはアプリケーションプログラムが実行す
る所定の割り込みベクタアドレスを指定するソフトウェ
ア割り込み命令に応答して、前記システムコンフィグレ
ーションインタフェースプログラムに前記記憶装置に対
するリード/ライトアクセスを実行させることを特徴と
するコンピュータシステム。 - 【請求項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】 複数の動作モードを有するCPUであっ
て、前記CPUへの所定の割り込み信号の供給に応答し
てCPUステータスをメモリにセーブした後にその時の
前記CPUの動作モードをシステム管理モードにスイッ
チし、前記システム管理モードにおける復帰命令の実行
に応答して前記メモリの内容をCPUのレジスタにリス
トアして前記システム管理モードから前記割り込み信号
が供給される前の動作モードに復帰するCPUと、 システムバスを介して前記CPUに接続され、所定のI
/Oベースアドレスによって指定されるアドレス範囲に
属すシステムバス上のI/Oアドレスをトラップして前
記割り込み信号を発生する割り込み信号発生回路と、 前記CPUの第1動作モードで動作するように構成され
ハードウェア制御を行うハードウェア制御プログラムを
格納するプログラムメモリと、 オペレーティングシステムまたはアプリケーションプロ
グラムと前記ハードウェア制御プログラムとの間のイン
タフェースを行うインタフェース手段であって、 オペレーティングシステムまたはアプリケーションプロ
グラムからの前記ハードウェア制御プログラムに対する
呼び出し要求に応答して、前記I/Oベースアドレスに
よって指定されるアドレス範囲に属すI/Oポートに対
するI/O命令を実行して、前記割り込み信号発生回路
に前記割り込み信号を発生させる手段と、 前記割り込み信号によって前記CPUがシステム管理モ
ードにスイッチした時、前記システム管理プログラムを
実行して前記ハードウェア制御プログラムを呼び出し、
そのハードウェア制御プログラムをシステム管理モード
のCPUに実行させる手段と、 前記CPUを前記システム管理モードから前記オペレー
ティングシステムまたはアプリケーションプログラムが
実行されていた動作モードに復帰させるために、前記ハ
ードウェア制御プログラムの実行完了に応答して前記復
帰命令を実行する手段とを含むインタフェース手段とを
具備することを特徴とするコンピュータシステム。 - 【請求項9】 前記割り込み信号発生回路は、 システムバスを介して前記CPUに接続され、所定のI
/Oベースアドレスがセットされるレジスタと、 前記システムバス上に出力されるI/Oアドレスを受信
し、そのI/Oアドレスと前記レジスタのI/Oベース
アドレスとを比較し、前記I/Oアドレスが前記I/O
ベースアドレスによって指定されるアドレス範囲に属す
時に前記割り込み信号を発生する比較回路とを含むこと
を特徴とする請求項8記載のコンピュータシステム。 - 【請求項10】 前記インタフェース手段は、前記ハー
ドウェア制御プログラムに含まれている複数のファンク
ション実行ルーチンの中で前記オペレーティングシステ
ムまたはアプリケーションプログラムによって前記CP
Uのレジスタにセットされたファンクションコードによ
って指定された1つのファンクション実行ルーチンを呼
び出し、そのファンクション実行ルーチンをシステム管
理モードの前記CPUに実行させることを特徴とする請
求項8記載のコンピュータシステム。 - 【請求項11】 オペレーティングシステムおよび実行
対象の各種アプリケーションプログラムが格納されるメ
インメモリと、 前記システム管理プログラムを呼び出すための命令を格
納し、前記メインメモリのアドレス空間の一部にマッピ
ングされるオーバーレイメモリとをさらに具備し、 前記CPUは、 前記CPUへの所定の割り込み信号の供給に応答してC
PUステータスを前記オーバーレイメモリにセーブした
後にその時の前記CPUの動作モードを前記システム管
理モードにスイッチし、前記システム管理モードにおけ
る復帰命令の実行に応答して前記オーバーレイメモリの
内容をCPUのレジスタにリストアして前記システム管
理モードから前記割り込み信号が供給される前の動作モ
ードに復帰することを特徴とする請求項8記載のコンピ
ュータシステム。 - 【請求項12】 システム構成情報が格納される記憶装
置を有し、そのシステム構成情報の内容に応じてシステ
ム動作環境が決定されるコンピュータシステムにおい
て、 複数の動作モードを有するCPUであって、前記CPU
への所定の割り込み信号の供給に応答してCPUステー
タスをメモリにセーブした後にその時の前記CPUの動
作モードをシステム管理モードにスイッチし、前記シス
テム管理モードにおける復帰命令の実行に応答して前記
メモリの内容をCPUのレジスタにリストアして前記シ
ステム管理モードから前記割り込み信号が供給される前
の動作モードに復帰するCPUと、 システムバスを介して前記CPUに接続され、所定のI
/Oベースアドレスによって指定されるアドレス範囲に
属すシステムバス上のI/Oアドレスをトラップして前
記割り込み信号を発生する割り込み信号発生回路と、 ハードウェア制御を行うプログラムを格納するプログラ
ムメモリであって、前記プログラムは前記CPUの第1
動作モードで動作するように構成されて、前記システム
構成情報の設定/変更のために前記記憶装置に対するア
クセスを実行するシステムコンフィグレーションインタ
フェースプログラムを含んでいるプログラムメモリと、 オペレーティングシステムまたはアプリケーションプロ
グラムと前記ハードウエア制御を行うプログラムとの間
のインタフェースを行うインタフェース手段であって、 オペレーティングシステムまたはアプリケーションプロ
グラムからの前記システム構成情報の設定/変更要求に
応答して、前記I/Oベースアドレスによって指定され
るアドレス範囲に属すI/Oポートに対するI/O命令
を実行して、前記割り込み信号発生回路に前記割り込み
信号を発生させる手段と、 前記割り込み信号によって前記CPUがシステム管理モ
ードにスイッチした時、前記システムコンフィグレーシ
ョンインタフェースプログラムを呼び出し、そのシステ
ムコンフィグレーションインタフェースプログラムに前
記記憶装置に対するリード/ライトアクセスを実行させ
る手段とを含む第2のインタフェース手段とを具備する
ことを特徴とするコンピュータシステム。 - 【請求項13】 前記インタフェース手段は、前記シス
テムコンフィグレーションインタフェースプログラムに
含まれている複数のファンクション実行ルーチンの中で
前記オペレーティングシステムまたはアプリケーション
プログラムによって指定されたファンクションコードに
対応する1つのファンクション実行ルーチンを呼び出し
て実行することを特徴とする請求項12記載のコンピュ
ータシステム。 - 【請求項14】 前記システムコンフィグレーションイ
ンタフェースプログラムは、前記記憶装置をリードアク
セスして前記記憶装置からシステム構成情報を読み取る
第1のファンクション実行ルーチンと、前記記憶装置を
ライトアクセスして前記記憶装置のシステム構成情報を
書き替える第2のファンクション実行ルーチンと、前記
記憶装置をライトアクセスして前記記憶装置のシステム
構成情報をデフォルト値に設定する第3のファンクショ
ン実行ルーチンとを含むことを特徴とする請求項12記
載のコンピュータシステム。 - 【請求項15】 前記第1乃至第3のファンクション実
行ルーチンの各々は、前記システム構成情報に含まれる
複数の動作環境設定項目にそれぞれ対応した複数のサブ
ファンクション実行ルーチンを含み、 各サブファンクション実行ルーチンは、前記システム構
成情報内の該当する動作環境設定項目の読取り、書き換
え、またはデフォルト値の設定を行うことを特徴とする
請求項14記載のコンピュータシステム。 - 【請求項16】 前記記憶装置はそれぞれ異なるインデ
ックス番号が割り当てられた複数の記憶領域を有し、 前記システムコンフィグレーションインタフェースプロ
グラムは、さらに、前記オペレーティングシステムまた
はアプリケーションプログラムによって指定されたイン
デックスの記憶領域からデータを読み出す第4のファン
クション実行ルーチンと、前記オペレーティングシステ
ムまたはアプリケーションプログラムによって指定され
たインデックスの記憶領域にデータを書き込む第5のフ
ァンクション実行ルーチンとを含むことを特徴とする請
求項14記載のコンピュータシステム。 - 【請求項17】 コンピュータシステムに於いて、 複数のCPU動作モードを有するCPUと、 オペレーティングシステム又はアプリケーションプログ
ラムから所定の機能を実行する為に、所定のレジスタに
ファンクションコードを設定し、前記コンピュータシス
テムの所定のI/Oポートアドレスに対するI/O命令
を実行する手段と、 前記I/O命令の実行に伴うI/Oポートアドレスをト
ラップして前記CPUに割込み信号を発生する手段と、 前記割込み信号に応答して、CPU動作モードを切り替
える手段と、 前記CPU動作モード切替え後、前記レジスタに格納さ
れたファンクションコードに従い、所定の機能を実行す
る手段とを具備することを特徴とするコンピュータシス
テム。 - 【請求項18】 前記割込み信号を発生する手段は、所
定のI/Oポートベースアドレスが設定される第2のレ
ジスタと、 前記I/O命令の実行に伴い出力されたI/Oポートア
ドレスと、前記第2のレジスタに設定されたI/Oポー
トアドレスベースを比較し、前記出力されたI/Oポー
トアドレスが前記I/Oポートベースアドレスによって
指定されるアドレス範囲に属する時、前記割込み信号を
発生する比較回路とを具備することを特徴とする請求項
17記載のコンピュータシステム。 - 【請求項19】 オペレーティングシステム、又は、ア
プリケーションにより、前記ファンクションコードが設
定されたレジスタは、前記CPU内のレジスタであり、
前記ファンクションコードは、コンピュータシステムの
ハードウエア制御を行うハードウエア制御プログラム、
又は、コンピュータシステムのシステム構成情報の設定
/変更を行うシステムコンフィグレーションインターフ
ェースプログラムのファンクション実行ルーチンを、前
記CPU動作モード切替え後、実行させることを特徴と
する請求項17記載のコンピュータシステム。 - 【請求項20】 前記複数のCPU動作モードを有する
CPUは、第1のアドレス計算形式が用いられ、所定の
メモリ空間がアクセス可能な第1のCPU動作モード
と、前記第1のアドレス計算形式とは異なる第2のアド
レス計算形式が用いられ前記第1のアドレス計算機形式
よりも大きなメモリ空間をアクセス可能な第2のCPU
動作モードと、前記第1のアドレス計算形式と実質的に
同一のアドレス計算形式が用いられ、所定のシステム管
理プログラムを実行するシステム管理モードとを有し、
前記割込み発生手段からの割込み信号に応答して、前記
CPUの動作モードをシステム管理モードに切り替える
ことを特徴とする請求項19記載のコンピュータシステ
ム。 - 【請求項21】 前記割込み発生手段からの割込み信号
に応答して、前記CPUレジスタ内のステータス情報を
メモリにセーブし、前記CPUの動作モードをシステム
管理モードに切替え後、前記システム管理プログラム
は、前記メモリにセーブされたステータス情報に従い、
前記ハードウエア制御プログラム、又は、システムコン
フィグレーションプログラムのファンクション実行ルー
チンを呼び出し、該ファンクション実行ルーチンをシス
テム管理モードのCPUに実行させる手段とを具備する
ことを特徴とする請求項20記載のコンピュータシステ
ム。 - 【請求項22】 前記ファンクション実行ルーチンの実
行完了時、実行結果を前記メモリの所定番地にセーブ
し、前記システム管理モードにおける復帰命令の実行に
応答して前記メモリの所定番地にセーブされたファンク
ション実行ルーチンの実行結果を前記CPUのレジスタ
にリストアして前記システム管理モードから前記割込み
信号が供給される前のCPUの動作モードに復帰するこ
とを特徴とする請求項21記載のコンピュータシステ
ム。
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)
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)
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 |
-
1994
- 1994-06-20 JP JP6137392A patent/JP2974577B2/ja not_active Expired - Lifetime
-
1997
- 1997-01-27 US US08/789,543 patent/US5963738A/en not_active Expired - Lifetime
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 |