1 什么是BIOS?
BIOS程序(Basic Input Output System,基本输入输出系统)是主板设计者为使计算机主板能够正确管理、控制计算机硬件而预置的管理程序。一般由汇编语言编写而成。
1.1 BIOS的品牌
目前主流的计算机主板使用的BIOS程序有四种:
(1)AMI BIOS:由AMI公司生产,最早开发于20世纪80年代中期,占据了早期台式机的大部分市场,具有即插即用、绿色节能和PCI总线管理等功能。
(2)Award BIOS:由Award Software公司生产,主要应用于Pentium、Pentium II系列主板,具有兼容性强和稳定性高的特点,可对各种操作系统提供良好的支持。
(3)Phoenix BIOS:由Phoenix公司生产,多用于品牌台式机和笔记本电脑。
(4)Phoenix-Award BIOS:是Phoenix和Award公司合并后推出的产品,应用于目前新配置的大多数电脑,其功能和界面与Award BIOS基本相同。
说明:不只是计算机主板上有BIOS程序,显卡、网卡、硬盘和数码相机等外部设备上也有BIOS程序,而这些外部设备上的BIOS程序的功能与计算机主板上的BIOS程序基本相同。
1.2 BIOS的组成
BIOS程序主要由四部分组成:
(1)上电自检程序(Power On Self Test,POST):通过读取CMOS中的内容来识别计算机系统的硬件配置,然后根据这些配置信息对计算机系统中的核心硬件和各个扩展I/O部件进行测试和初始化,并安装由BIOS程序提供的基本I/O设备中断服务程序。
(2)基本I/O设备中断服务程序:提供操作系统与计算机硬件之间的联系接口,使操作系统在不需要充分了解各种计算机硬件的设备特性的情况下就可以使用它们。中断服务程序是BIOS程序最重要的组成部分,包括磁盘中断服务程序、键盘中断服务程序、打印中断服务程序和时钟中断服务程序等。
扩展知识:中断服务程序的原理
中断服务程序的原理:当CPU在处理内部数据时,如果外界发生紧急情况,CPU会根据要求暂停当前的工作,转而先处理这个紧急事件,在这个紧急事件处理完毕后,CPU会再继续恢复到原来的工作。
(3)系统自举载入程序:在正常通过POST后,系统自举载入程序会将启动盘(自举盘)上的主引导区中的内容读入内存,并启动操作系统的主引导程序。完成之后,系统自举载入程序将让出自己的位置,以便读取操作系统引导程序,并由引导程序完成操作系统的顺利启动。
(4)CMOS设置程序:CMOS设置程序是BIOS程序中的一个独立的功能模块,它主要用于允许用户对部分硬件参数和运行方式进行修改,并存放相关的硬件配置。
1.3 BIOS的作用
BIOS程序的作用主要有四个:
(1)自检:BIOS程序在计算机启动后便会开始对其硬件部分进行检测,即用于检测各硬件是否能够正常工作、参数设置是否正确。这是计算机启动后系统进行的一个自我检查的例行程序。
(2)初始化:在自检完成后,BIOS程序会创建中断向量和设置寄存器,并对外部设备进行初始化和检测。其中非常重要的一步就是读取CMOS设置程序中对硬件设置的参数信息,然后和实际硬件设置进行比较,如果不符合,就会影响计算机系统的正常启动。
(3)传输数据:当应用软件和系统软件需要使用外部设备时,BIOS程序就会为其提供程序服务处理程序,用于向各种外部设备传递数据,以及接收外部设备返回的数据。
(4)控制外部设备:BIOS程序会为应用软件和系统软件提供中断服务程序,用于命令外部设备完成指定工作。
2 上电自检的步骤
计算机硬件之间存在着一定的上下级关系,因此上电自检的过程需要按照一定的步骤顺序进行。
(1)电源就绪信号(Power Good)向CPU发出复位信号(Reset);
(2)CPU将从FFFF:0000地址开始执行POST自检程序;
(3)测试和初始化硬件;[如果在此过程中发现异常,POST就会认为存在致命错误]
(4)测试并初始化显卡及显示存储器;
(5)显示显卡的特征信息及版权信息;[开机之后显示器首次出现显示]
(6)测试定时器、键盘等;
(7)显示BIOS版本信息和CPU类型;
(8)测试除最低32KB RAM外的所有内存,并显示测试结果;[热启动时不测试]
(9)检查扩展I/O BIOS,校验并读取I/O BIOS的特征信息;
(10)检查软盘、硬盘、串行/并行接口、USB接口等;
(11)显示即插即用板卡的版本信息,并初始化即插即用板卡;
(12)显示CMOS RAM中的配置信息。
2.1 上电自检的结果
上电自检主要用于对计算机硬件进行检测和对外部设备进行初始化,如果计算机硬件存在故障,那么通过上电自检一般能够快速发现硬件故障的所在。而上电自检的记过一般有三种:
(1)致命错误:计算机硬件中的核心部件发生错误时,由于各种初始化操作尚未完成,所以此时会直接停机,并且无法给予任何文字提示信息或声音报警信号。
(2)严重错误:计算机硬件中的非核心部件发生错误时,如果影响计算机系统的正常运行,则此时会给出相应的文字提示信息或声音报警信号。
(3)顺利通过:上电自检顺利通过,则说明计算机系统的主要硬件设备基本正常。
3 BIOS芯片
BIOS程序是一种软件,它需要存放在相应的硬件设备中,即BIOS程序是固化在BIOS芯片(主板的PCI-E插槽附近)中的。
BIOS芯片是计算机主板上用于固化BIOS程序的只读存储器,它用于保证BIOS程序在计算机断电之后不会丢失,并且每次开机时都能够自动执行。

目前主流的计算机主板上所使用的BIOS芯片容量多为1Mb或2Mb,部分BIOS芯片容量高达8Mb,并且通常采用以下两种类型的芯片之一。
(1)EEPROM:电可擦除可编程只读存储器,可以在不需要借助其他设备的情况下,以字节为最小修改单位刷新或升级BIOS程序。属于双电压内存芯片,具有良好的防病毒功能,需要通过升级跳线进行BIOS程序的刷新或升级。
扩展知识:EEPROM的BIOS程序升级跳线
需要刷新或升级BIOS程序时,把主板上防BIOS写入的跳线开关拨至“ON”位置,并给芯片加上相应的编程电压,就可以方便地升级BIOS。
需要保护BIOS程序时,把主板上防BIOS写入的跳线开关拨至“OFF”位置,就可以有效地防止CIH病毒对BIOS程序进行非法修改。

(2)Flash ROM:快闪内存属于单电压内存芯片,可以在不设置跳线的情况下,通过专用程序,以段或块为最小修改单位刷新或升级BIOS程序。虽然其容量较大,但容易收到CIH病毒攻击。

4 什么是CMOS?
我们通常所说的CMOS是指用于存放硬件参数和运行方式等经常需要变动的硬件资质信息的随机存储器。
由于随机存储器中的数据会在计算机断电之后丢失,因此通常需要在计算机主板上为其配备一个CMOS电池,即一个3.3V的可充电电池,它主要用于为CMOS RAM供电,以保证其中的数据在断电之后不会丢失。

5 BIOS程序和CMOS设置程序之间的联系和区别
对于不了解计算机硬件的用户或某些新手来说,他们经常把BIOS和CMOS混为一谈,而事实上这两者之间不仅存在着紧密的联系,同时也有着明显的不同。
(1)CMOS设置程序是BIOS程序的一个组成部分。
(2)CMOS设置程序用于修改和保存硬件配置参数;BIOS程序主要用于对硬件进行检查和初始化。
(3)CMOS设置程序需要通过BIOS程序来实现;BIOS程序需要调用CMOS设置程序中的硬件配置参数。
(4)CMOS设置程序中的参数存放在RAM中,可以被修改,断电后数据丢失;BIOS程序固化在ROM中,通常不会被修改,断电后数据不会丢失。

