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
自己,但是,注意,此处的检查不是完全检查,只是检查一下核心功能罢了,只是让
发布评论