首先了解一些基本概念。**个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括系统BIOS(即常说的主板BIOS)、显卡BIOS和其他设备(如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本书要讨论的主角,因为计算机的启动过程正是在���的控制下进行的。BIOS-般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。
第二个基本概念是内存的地址,计算机中一般安装有512MB、1GB或2GB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中O~FFFFFH的低端1MB内存非常特殊,因为*初的8086处理器能够访问的内存*大只有1MB,1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS-般占用了*后的64KB或更多一点的空间,显卡BIOS-般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。
下面就来仔细看看计算机的启动过程。
**步:按下电源开关,电源就开始向主板和其他设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了f当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启计算机,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFFOH处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
……