admin管理员组文章数量:1538702
2024年7月2日发(作者:)
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
自己,但是,注意,此处的检查不是完全检查,只是检查一下核心功能罢了,只是让
CPU能够进行下面的POST就行;嗯,说实话,这个地方我有点不理解:CPU使用BIOS
代码来检查他自己?就像检查院长检查自己没贪污?有点想不明白!
然后,检查ROM芯片,这是装BIOS的地方;
接着,BIOS程序本身;
再接着,系统时钟,估计是检查那个频率发生器的芯片及其设置吧!
再来,DMA控制器。DMA是个什么东西?说白了,DMA是让外设和内存之间直接读
写的通道,我们POST就是要确保这个通道畅通。至于其详细的东西,见附一吧!
再下来,轮到基本内存了。注意,这里只是检查基本的640KB内存,不是检查所有的
内存DIMM模块!!!
然后,IRQ,这里是检查中断控制器的状态,它是给所有设备分配中断号的;具体见附
二;
最后,是分水岭:显卡!
显卡之前的部件为核心部件,显卡之后的部件为非核心部件!
核心部件有问题的话,有以下方法来解决:
1、 听报警声;
2、 看不见旁边有没有相应的LED灯来看;
3、 使用主板诊断卡—详见附三;
4、 换!!!其实核心部件总共就四个件:CPU、VRM、内存和主板。实在诊断不出来,
那就换呗!呵呵!
8、 核心部件之后,就轮到非核心部件了:
首先,是显卡;我们知道,显卡其实是有自己的BIOS的,主板BIOS的作用其实
就是吆喝一声:显卡BIOS,该你了!然后,显卡BIOS就屁颠屁颠的跑过去自己检查
显卡好不好使,好使的话,就把显示器打亮,在屏幕上显示出一些初始化信息,介绍生
产厂商、图形芯片类型等内容;不好使就罢工!
其次,系统BIOS接着会查找其他设备的BIOS程序,找到之后同样要调用这些BIOS
内部的初始化代码来初始化相关的设备。这时,检查的结果就会在屏幕上完全显示出来,
我们终于可以告别两眼一抹黑的时代了!
查找完所有其他设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中
包括有系统BIOS的类型、序列号和版本号等内容。
其实这些检查的过程是很快的,一般我们都看不到!我们一般在显示之初,除了看
到一些厂商的信息之后,接下来就是看到下一步里面的CPU、内存了。
再次,接着系统BIOS将检测和显示CPU的类型和工作,然后开始测试所有的
RAM,并同时在屏幕上显示内存测试的进度。
然后,内存测试通过之后,系统BIOS将开始检测系统中安排的一些标准硬件设备,
包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新的版本的系统BIOS
在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。
其中,很重要的RAID卡的检测就在这块,当然,系统BIOS只是对RAID卡发号
施令,具体硬盘的检测一般都是RAID的BIOS去完成。而且很多RAID的BIOS在这
个地方向我们提供了一个进入的通道,我们一般按个ctrl+什么就可以进去。
最后,标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和
配置系统中安装的即插即用设备,每找到一个设备后,系统BIOS都会在屏幕上显示出
设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。
到这一步为止,所有硬件都已经检测配置完毕了;接下来,BIOS的最后一项使命
就是把这些检查结果和对底层硬件的控制权交给操作系统!
法院已经判决完毕,执行服刑,那是看守所的事情!
总之:
我们了解设备启动的目的其实就是为了对故障采用相应的诊断办法。如下:
一、 黑屏:
1、 听告警声;
2、 看LED灯;
3、 使用主板诊断卡;
4、 换!
5、 使用厂商的诊断光盘进行诊断;
二、 有显示:
1、 根据显示判断;
2、 使用厂商的诊断光盘;
3、 看LED灯、光通路诊断板、液晶面板等;
附一:DMA的概念:
Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,
允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整
个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始
和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时
间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。
DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器
◎独占总线方式 ◎周期挪用方式
(2)DMA的组成:
◎主存地址寄存器
◎数据数量计数器
◎DMA的控制/状态逻辑
◎DMA请求触发器
之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有两种方式:
◎数据缓冲寄存器
◎中断机构
(3)DMA的传送数据的过程:由三个阶段组成
◎传送前的预处理:由CPU完成以下步骤
向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初
◎数据传送:在DMA卡控制下自动完成
◎传送结束处理
DMA 卡上应包括通用接口卡的全部组成部分,并多出如下内容:
主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA
工作方式,DMA优先级及排队逻辑等
一次完整的DMA传送过程:
DMA 预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,
之后CPU执行原来的程序
DMA 控制在 I/O 设备与主存间交换数据:
准备一个数据, 向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上
主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则
向 CPU发中断请求.
值,传送数据个数, DMA的功能控制信号。
DMA技术的弊端:
因为DMA允许外设直接访问内存,从而形成对总线的独占。
这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等
系统中是不允许的。
附二、IRQ是什么?
一、什么是IRQ
IRQ的全称是“Interupt
ReQuest”,即“中断要求”。当电脑内的周边硬件需要处理器去执行某些工作时,该硬件就会发出一个
硬件信号,通知处理器工作,而这个信号就是IRQ。那为什么叫做“中断”呢?“中断”的意思是即使处
理器正在执行其他工作,当它收到周边设备传来的中断信号时,处理器也会停下来,优先处理这个信
号代表的工作,完成后再继续处理之前未完成的工作。
二、什么是IRQ冲突
IRQ的数目有限,一部电脑虽然一共有16个IRQ(从IRQ0至IRQ15),但是其中很多IRQ已经预
先分配给特定的硬件,具体如下:
IRQ0:系统计时器
IRQ1:键盘
IRQ2:可设置中断控制卡
IRQ3:COM2(串行接口2)
IRQ4:COM1(串行接口1)
IRQ5:未预先配置
IRQ6:磁盘机
IRQ7:并行接口
IRQ8:CMOS/时钟
IRQ9:未预先配置
IRQ10:未预先配置
IRQ11:未预先配置
IRQ12:PS/2鼠标
IRQ13:算术处理器(Arithmetic Processor)
IRQ14:Primary(主)IDE控制器
IRQ15:Secondary(从)IDE控制器
由上可见,IRQ5、IRQ9、IRQ10和IRQ11都是空置的。但大家不要以为这就代表着有多余的IRQ
可以使用。因为要使用IRQ的周边设备实在是太多了,例如声卡、网卡等PCI或ISA设备都需要配
置一个IRQ。如果有两个设备配置了同一个IRQ的话,就会出现IRQ冲突的问题,从而使两者都不
能正常工作。
三、遇到IRQ冲突怎么办?
大家可能会问,一般主板都有四根或更多PCI插槽。如果全都插上PCI扩展卡,那四个空置的IRQ
又怎么够用呢?
其实,某些硬件是可以共用一个IRQ的,而有些却又偏偏不行。例如PCI声卡需要独自享用一个IRQ,
有时甚至需要两个,一个作MIDI(迷笛),一个作Wave(波表)。因此当系统自动分配IRQ时,若
声卡被分配与其他设备共用一个IRQ的话,发生IRQ冲突的可能性极大,而解决之道就是手动分配
IRQ,在BIOS内进行设置。
四、实例示范
假设一块主板上有五根PCI插槽,现在五根插槽全部插满了(包括MODEM卡、网卡、声卡、电视
卡等等)。但无论将声卡插在任何一根PCI插槽内,都无法正常工作。解决步骤如下:
1、查看主板说明书,找出哪一根PCI插槽是不与其他插槽共用IRQ的(一般是第三根插槽),然后
将声卡插到第三根PCI插槽中。同时,由于第一和第五根PCI插槽需共用IRQ,我们还应检查插在
上面的硬件设备及其驱动程序是否支持共用IRQ。
2、启动电脑,进入BIOS,开启“Advanced”一栏最底下的“PCI Configuration”。
3、在“PCI Configuration”设置页面的上半部分有一项“Slot 3
IRQ”,它就是第三根PCI插槽所分配的IRQ位置。系统默认为“Auto”(自动)。
4、将光标移到“Slot 3
IRQ”一行上按回车键,画面会显示“0-15”的数字。这时用户可选择四个空闲中断(IRQ5、IRQ9、IRQ10
或IRQ11)的任一个,这里笔者选择“IRQ10”。
5、再为其他的Slot插槽设置其他的IRQ。例如Slot 1/5的IRQ设置成“IRQ3”、Slot 2 IRQ设置为
“IRQ9”,Slot
4设置为“IRQ11”等。
6、此外,如果你使用的主板集成有老一代的ISA插槽的话,还要在“PCI IRQ Resource
Exclusion”选项中,对个别的ISA总线硬件所需的IRQ进行更改设置。
7、完成设置后选择保存设置并重新启动电脑,就可以向烦人的IRQ冲突说BYEBYE啦。
五、结束语
正如本文开头所述,IRQ设置对一般人而言是有点难度。但随着专门为解决中断及I/O接口冲突问题
而设计的“即插即用”(Plug and
Play)硬件的问世,再配合如Windows一样支持PnP的操作系统,已经大大减少了IRQ冲突发生的
可能性。
基本上,现在除了声卡有可能出现IRQ冲突的问题外,其他电脑硬件一般都不会出现这种问题。不
过,既然只需简单的几步设置就能够解决问题,多学一点总不是坏事吧!
附三:主板诊断卡的使用:
主板侦错卡是一种什么检测工具?
主板侦错卡是一种专业硬件故障检测设备,利用其自身的硬件电路读取80H地址内的
POST CODE,并经译码器译码,最后由数码LED指示灯将代码一一显示出来,其原理与
POST自检是一致。这样就可以通过DEBUG卡上显示的16进制代码判断问题出在硬件的
那一部分,而不用仅依靠计算机主板那几声单调的警告声来粗略判断硬件错误了。而且由于
侦错卡是利用自身的BIOS POST程序,来读取诊断端口的POST代码,因此不受主板BIOS
芯片限制,可以在主板BIOS损坏的情况下,正常诊断;并且利用侦错卡自身的发光二级管,
来显示各组电压工作状态。通过它可知道硬件检测没有通过的是内存还是CPU,或者是其
他硬件,方便直观地解决棘手的主板问题。
目前的主板侦错卡通常带有ISA和PCI两种接口,可以方便的使用在任何一种主板,
而且插反后不会烧毁主板或侦错卡(非常适合于初级用户);卡上有两位数字LDE提示灯;
倘若电脑无法启动时将其插入故障主板的相应插槽中,接通电源后,根据LED指示灯最后
停滞的数字,参照随卡附带的故障列表手册,就能知道主板故障所在。而且最新的侦错卡,
可以通过侦错卡的主板运行检测灯,方便的检测出是主板本身的故障,还是主板上其它硬件
的故障。
如何使用主板侦错卡?
首先把DEBUG卡插到故障主板上,CPU、内存、扩充卡都不插,只插上主板的电源,
此时,主振灯应亮,否则主板不起振;复位信号灯应亮半秒种后熄灭,若不亮,则主板无复
位信号而不能用,如果常亮,则主板总处于复位状态,无法向下进行,初学者常把加速开关
线当成复位线插到了复位插针上,导致复位灯常亮,复位电路损坏也会导致此故障;分频信
号灯应亮,否则说明分频部分有故障;+5V、-5V、+12V、-12V(新式卡多了+3V、-3V)四
个(六个)电源指示灯应足够亮,不亮或亮度不够,说明开关电源输出不正常,或者是主板
对电源短路或开路;BIOS信号灯因无CPU不亮是正常的,但若插上完好的CPU后,BIOS
灯应无规则的闪亮,否则说明CPU坏或跳线不正确或主板损坏。DEBUG 2000的这一功能
相当有效,象-5V、-12V的电压值在PC组件中极少用到,新攒的或使用已久的PC电源,
其-5V和-12V可能已经损坏,平时虽相安无事,出了问题却会让你头疼,现在,通过
DEBUG卡上的批示灯就可方便地解决这个问题。排除了以上简单的故障后,把有关的扩展
卡插上(一般是只组成最小系统),根据开机后显示的代码,就可以直接找到有问题的配件,
从而方便地解决装机时出现的硬件错误,比如内存、显卡、CPU等硬件的接触错误,BIOS,
CPU缓存的功能错误等。
版权声明:本文标题:POST自检过程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1719874915a803169.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论