为什么CMOS RAM故障也会造成系统死机?

Author: 湖南 蔡立军 Date: 1992-08-28

        如果这个电路出现故障,在启动系统时,一般会出现“嘟”、“嘟”二短声报警,并在显示器上显示相应的出错信息或出错代码,其意义如下:(1)161:电池失效或电池插头接触不好。(2)162:CMOS累加和错或系统配置错。(3)163:实时时钟错。(4)164:系统的存贮容量(RAM)设置错。5)CMOS RAM ERROR,CHECK BATTERY:电池失效或电池插头接触不良。
        如果多启动几次机器,有时也会发现出错代码在161、162、163中随机变化。
        引起这些故障的原因通常是由于电池耗尽,或电池插头接触不好,或者是CMOS电路中的某个元器件(二极管,三极管,电容等)损坏,使得CMOS RAM中信息易丢失,或者造成用SETUP程序设置不进去。
        上面常见的这些故障属非致命性故障,按F1键还能从硬盘或软盘启动操作系统。实际上,CMOS电路出错有时还将引起死机,系统不能启动这一致命性错。只是一出现死机现象,人们往往只注意系统总线、RAM等关键部分,而忽略了CMOS电路而已。
        为什么CMOS电路故障也会造成系统死机呢?这是因为IBP PC/AT使用的80286 CPU具有两种不同的工作方式:即实地址方式和保护方式(虚地址方式)。在系统加电时,CPU是处于实地址方式下工作的,在自诊断过程中,为了检测系统硬件的功能,CPU有时需要进入保护方式运行。在保护方式下检测有关硬件部件的功能和状态,并由BIOS把这些状态自动填写到CMOS RAM里面的停机状态字节中(停机状态字节在CMOS RAM中的地址为0FH)。检测结束后,80286CPU就要退出保护方式,返回到实地址方式下继续运行。在退出保护方式时,CPU还要读写CMOS RAM中的停机状态字节,并根据该字节的内容决定退出保护方式后将控制转移到何处。所以,一旦读写停机状态字节有误,或者停机状态字节的内容不正确,系统的自检将不能继续进行下去,因此系统死机。
        因这种原因造成死机,大多数是CMOS RAM本身损坏,即MC146818芯片坏,或者是MC146818芯片的片选信息CE(第13脚)不对,造成无法选中该芯片。