一般に、ユーザーが目にする「BIOS(Basic Input/Output System)」と言えば、セットアップメニューの画面だろう。FSBやメモリークロック、電圧などの設定、ハードディスクや光学ドライブの認識、ブートデバイスの選択といった作業が、BIOSのセットアップメニューだ。
BIOSは、その画面を表示しなくても機能している。PCの電源を入れると、まずBIOSが起動して各種デバイスを初期化し、チップセット、PCIデバイス、LPCデバイスのレジスターを設定したり、動作をチェックしたりする。いわゆる「POST(Power-On Self Test)」と呼ばれる動作だ。
BIOSの役割はほかにもある。「ACPI(Advanced Configuration and Power Inter face)」で規定しているデバイスの電源管理方法を記述した「ASL(ACPI Source Language)」という一種のプログラムを実行したり、「GPIO(General Purpose I/O)」を利用した付加機能の制御プログラムを実行したり、あるいはOSと各種デバイス間のI/O設定を行うといった作業だ。
自作向けマザーボードの場合、GPIOを利用した機能が入っていなかったり、接続デバイス設定を固定化しないのが一般的だ。それは、自作ユーザーがどんな拡張ボードを挿すのか分からないし、固定化すると、パーツ選択の自由度が低くなるからである。
これに対し、メーカー製PCでは製品にコンセプトを持たせるため、自由度はなくなるが付加機能を作り込んだり、より細かな設定を盛り込んでいる場合が多い。特にノートPCは、デスクトップPCに比べてより詳細な部分までプログラミングしている。
ノートPCではバッテリーを内蔵する関係上、電源管理がよりシビアになる。ACPIによるきめ細やかな電源管理を実現するために、「EC(Embeded Controller)」(図1)も搭載する。ECとは、内蔵するキーボードコントローラーに、電源コントロール機能を持たせたマイコンチップだ。機能としては、温度センサーの監視、CPUファンの制御、電源ボタン制御、電源ステータス表示LEDの制御、バッテリーの充電制御と放電監視などがある。

これに加えて、加速度センサーを付けてハードディスクを保護する機能や、輝度センサーを付けて液晶ディスプレイの輝度を自動で調整するといった付加機能も実現できる。こうした機能は、ECがマイコンであるからこそ実現可能になる。つまり、ECのファームウエアを作り込み、プログラミングした動作が可能なわけだ。BIOSの容量は512KBか1MB、ECのファームウエアの容量は128KBが主流だ。