当你打开PC的电源开关时,PC就会立即开始开机自检(POST,POWER-ON SELT-TEST)过程,POST首先会沿着固定的程序通路向CPU,即微处理器,发出一个电信号,这个电信号会清除CPU内所有的寄存器中遗留的数据,而且还会把CPU中称为程序的计数器的寄存器设置成一个特定的值,程序计数器的值设置为十六进制的F000,程序计数器储存的是CPU将要执行的下一条指令的地址,这个地址F000就是固化的计算机启动程序的起始地址,而真正的启动程序则存储在含有BIOS的一组只读存储器(ROM)中
CPU按照程序计数器中的这个地址,找到并执行ROM BIOS中引导程序,进而进行一系列系统检测,CPU首先会对自己和POST程序进行自检,在检测POST 时,CPU 读取到加栽到各个位置的代码,然后与预先固化在BIOS中的代码进行比较,看得到的结果是否相同,如果相同,则寿命CPU与POST程序工作正常。
CPU通过系统总线向各个部件发出信号,检测它们是否能正常工作,系统总线连接着计算机内部的所有部件。
CPU还要检测系统时钟,也称为实时时钟,在计算机中,系统始终负责产生基准的时钟信号,确保PC中的所有部件都处于同步有序的工作状态。
接下来,POST程序将测试显示适配器中的存储器和控制显示器的视频信号,然后 ,POST程序会把显示适配器中BIOS代码作为系统整个BIOS和内存配制的一部分,这些操作完成后,你才能从PC的显示器上看到一些东西。
为了保证RAM内存芯片的正常工作,POST会对RAM芯片进行一系列的测试,在测试过程中,POST会向每一个RAM芯片写入数据,然后在对这些RAM芯片进行读操作,并比较读取的数据是否和前面写入的数据一致,此时,某些计算机会在显示器上显示一个不断增大的数字,这个数字表示已经检测完成的内存数量。
POST程序通过总线上的特定的通路向软盘和硬盘驱动器发送信号并监听响应信号,一判断软盘与硬盘驱动器是否可用。
POST的检查结果要与CMOS芯片中存储的关于PC中已经安装部件的正式纪录进行比较,CMOS也是一个存储芯片,她靠主板上的电池供电,在计算机断开电源时依然保存其中的数据,任何针对系统基本配制的改动都必须记录在CMOS中,如果POST开机自检发现新的硬件,那么你可以利用这个机会在CMOS设置界面中更新系统的配制。
某些系统部件,比如SCSI控制卡,拥有自己的BIOS,用来解释执行从CPU发来的指令,并控制本身硬件的动作,这些系统部件中的BIOS代码也是计算机系统本身全部BIOS的一部分,有时候,为了提高PC的执行速度,这些BIOS代码会慢速的CMOS BIOS芯片中复制到快速的RAM中,另外,新式的PC还能够支持即插即用功能,把系统资源自动分配到不同的部件中去,在以上所有的工作都做完后,PC启动过程的下一步动作就是从磁盘中加栽操作系统。
:https://blog.51cto.com/dyhaha/36505