2024年5月31日发(作者:)

POST过程

主板在接通电源后,在操作系统接管设备之前,首先由POST(Power On Self Test,上电

自检)程序来对内部各个部件进行检查。具体过程如下:

1、 加电,按下power键;

按下电源按钮之后,虽然主板及部件已经通电,但是并不代表他们可以开始工作!!!

总所周知,电源有输入部分和输出部分,每部分都有一定的电压、电流范围;而在刚通

电的时候,电源各部分并没有工作在这些额定的范围内,它们并不稳定也不安全,为了

保护部件不受这些不稳定的电压、电流的损害,电源在设计之初就采取了很多的安全保

护措施,所以,电源会有一个初始化的过程,也就是从开关电源“起振”到“输出稳定”

的阶段。

只有在各部分都稳定运作之后,他们才会输出一个信号代表自己已经OK了,而只有所

有的部件信号都OK之后,电源才会输出一个代表整体OK的POWER GOOD信号;

2、 在电源进行初始化的阶段,其实系统并没有闲着,这个时候主板上的“控制芯片组”在

发挥作用呢!

“控制芯片组”在主板刚通电的时候,就给CPU送去一个reset信号,让CPU自动恢复

到初始化状态;然后,“控制芯片组”等待电源送来POWER GOOD信号;

3、 在“控制芯片组”接受到电源送来POWER GOOD信号之后,它们会撤掉给CPU的reset

信号,此时,CPU就可以启动了吗?

NO!!!因为我们的CPU还有一个附件:电源管理模块,也就是VRM模块。PPM;

它是干什么的?

它是给CPU提供所需的电压、电流的。CPU可是一个精巧的东西,他对电压电流的大

小和稳定都是有很高的要求的,尽管电源已经做过稳压和稳流,但是,我们的CPU还

有其独特的要求,所以,没有VRM模块的允许,CPU是不能开始工作的,哪怕他的reset

信号已经撤掉了!

4、 好吧,假设VRM也通过了呢?

别着急,还有一关呢-----时钟频率!

主板上会有一个频率发生器,他们限定了时钟信号的频率;而时钟信号是数据传输的标

尺,它让信号同步,它确定了信号的带宽,它大海航行的舵手,它是黑麻麻的夜路上的

明灯!

5、 好啦,估计可怜的CPU已经等急了,在有了POWER GOOD信号之后,在得到了VRM

模块的相应的电压之后,在和主板的时钟匹配之后,CPU终于可以开始执行BIOS的代

码,可以开始它的POST之旅了!

BIOS是基本输入输出系统,它是可以直接与硬件打交道的底层代码,它向操作系统提

供控制硬件设备的基本功能;说白了,其实他就是固化在芯片里面的程序,它是POST

过程的灵魂,它是在操作系统之前,操控底层硬件的那双最大的黑手!!!!

哈哈哈~~~

另外,BIOS包括主板BIOS、显卡BIOS和其他BIOS(如RAID卡BIOS);

记住,BIOS不是一个程序,他不是一个人!他有很多小弟,他们是一丘之貉!只是我

们惯性的把它们的老大主板BIOS作为了他们的统称而已!

注:看出来了吧,要开始执行BIOS程序进行POST之前,我们其实要经过好多检

测的!

首先,电源OK!

其次,CPU供电OK,也就是VRM模块OK!

然后,系统时钟OK!

电源,我们可以使用替换法测试,而且在服务器上电源一般都是冗余的,所以,电

源导致无法启动的例子还是很少见的;

VRM模块在有的设备上是单独的,可插拔的,但是,在一些低端的、廉价的设备

上,他的功能在很多时候被主板上的芯片所替代,独立的好说,集成的就只能换主板了!

6、 CPU执行BIOS代码,是从ROM芯片(系统BIOS就写在它上面)的地址FFFF0H处

开始执行指令,这个地址在系统BIOS的地址范围内,无论是Award BIOS还是AMI

BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

7、 系统的BIOS启动代码开始对部件逐一做POST;

POST自检测过程大致为:加电-CPU-ROM-BIOS-System Clock-DMA-64KB

RAM-IRQ-显卡等;

BIOS厂商对每一个设备都给出了一个检测代码(称为POST CODE即开机自我检测代

码);

在对某个部件进行检测时,首先将对应的POST CODE写入80H(地址)诊断端口,

当该设备检测通过,则接着送另一个部件的POST CODE,对此部件进行测试。

如果某个设备测试没有通过,则此POST CODE会在80H处保留下来,检测程序也会

中止,并根据已定的报警声进行报警(BIOS厂商对报警声也分别作了定义,不同的设置出

现故障,其报警声也是不同的,我们可以根据报警声的不同,分辨出故障所在);

呵呵,其实还有一点,如果BIOS代码有问题或者干脆ROM芯片就坏掉了怎么办?

遇到这种人品爆发的事情,确实比较头疼!

首先,换主板肯定能解决!

其次,有的时候BIOS有缺陷,但是还能勉强往下走,知道显卡开始工作,然后在屏幕

上做故障提示,如果你看到如下报错,那么恭喜你,BIOS坏了:

A、 BIOS ROM checksum error-System halted----BIOS 程序代码在进行总和检查

( checksum ) 时发现错误,此故障一般是因为BIOS代码不全,刷一下或许能解决;

B、 CMOS battery failed----很显然,换电池,但是BIOS没坏;

C、 CMOS check sum error-Defaults loaded---- CMOS 执行全部检查时发现错误,因此

载入预设的系统设定值,这也是电池没电,换电池;

好啦,现在BIOS没有问题,CPU开始调用它的代码进行POST,第一个检查的是CPU

自己,但是,注意,此处的检查不是完全检查,只是检查一下核心功能罢了,只是让