未标题-1.gif (1829 字节)

                网站论坛  返回主页  联系我们  打印此页    QQ:125081447    

                      BIOS维修网站>> BIOS维修 >> IBM BIOS问题              

BIOS和CMOS的区别

:此文章图片及文字为BIOS维修网站所有,请不要随意转载或用于其它商业目的;如要转载,请注明出处。

  甲与乙是好朋友,而且都是电脑发烧友,二人时常争论一些电脑的问题,并以此为乐。这不,今天二人又开始琢磨起主板BIOS了……

  甲:老乙呀,你对主板BIOS的认识如何呀?

  乙:那东西不就是为计算机提供最低级的、最直接的硬件控制的基本输入输出系统吗?设置、刷新我都会啊!

  甲:那些当然简单了,但你知道BIOS存在哪吗?

  乙:啊?BIOS存哪儿你都不知道?当然是那个什么ROM(Read-Only Memory,只读存储器)了,根据它所采用的半导体技术我们又称之为CMOS(Complementary Metal-Oxide-Semiconductor,互补金属氧化物半导体)芯片。你老兄不会没听说吧?

  甲:这我当然知道,你说的那个什么ROM,以前主板上常用的是EEPROM,即Electrically Erasure Programmable Read-Only Memory的缩写,名为电可擦写编程只读存储器。不过现在已经改用Flash ROM了,它是在EEPROM上改进的,这我都知道。可是你知道我们平时设置好的BIOS信息存在哪儿吗?

  乙:还是在CMOS芯片中呀,和BIOS程序放在一起,这还用想吗?

  甲:哦?你能解释一下它的工作原理吗?




  图为主板上的BIOS芯片



  乙:这就像在硬盘中装操作系统一样,此时的BIOS程序好比操作系统,CMOS芯片好比硬盘,BIOS程序的设置都会保留在CMOS芯片中的某一区域,在启动电脑时,BIOS在CPU的处理下会自动调取配置值。再有,BIOS会有一个区域专门存储默认的设置,否则在清除BIOS后没有默认值可用那就完蛋了!有的主板可以清除BIOS中的设置信息,但默认信息是清除不掉的,不过它可能会在更新BIOS时而被改变,你看我说的对不对呀?

  甲:大概过程是没错的,BIOS的程序和默认值的存放与你说的一样,但我认为用户对BIOS设置后的信息却不是存在ROM中的。

  乙:什么?不和BIOS程序存在一起那存在哪儿了?

  甲:在早期的主板中(如486)有的采用了单独存储BIOS信息的芯片,或者将其与BIOS程序存在了一起,不过对于目前的主板,我认为BIOS的设置信息存在主板中的南桥芯片中。

  乙:怎么到南桥中去了?

  甲:现在的南桥芯片中都会有一个256字节的CMOS RAM芯片,它就是用来存储BIOS的设置信息。你可以去看看VIA的VT82C586B、VT82C686A、VT82C686B和最新的几款南桥以及Intel的82371AB(用于440系列家族)、82801AA、82801BA等ICH(用于8xx系列家族)的技术说明文档,其中都提到了这一点!

  乙:哦,它们是怎么说的?

  甲:VIA VT82C686A官方介绍中的原文提到:内置DS12885型实时时钟外带扩展的256字节CMOS RAM,以及日/月时钟用于ACPI(高级电源管理接口)。

  而Intel ICH介绍的原文中也提到:在ICH中包含有一个与摩托罗拉MC146818A相兼容的实时时钟以及256字节电池备份RAM。这个RTC系统将完成两个重要的任务:即使在系统断电时,仍保持时钟/日期信息并存储系统数据。RTC时钟以32.768 KHz的晶振频率为基准,用一个单独的锂电池供电,由此可保证即使系统不通电仍能将备份RAM中的数据保存7年。

  怎么样,现在知道其中的道理了吧。

  乙:真有这么一回事?但只有256个字节太少了吧,看看BIOS芯片的容量,从这一点就不可信!

  甲:你怎么变傻了?这个CMOS RAM只保存BIOS的设置信息而不是整个BIOS程序,所以256个字节就够用了。

  乙:虽然你讲得很专业但我还是不信,上面你提到了电池,我怎么记得是为保持BIOS芯片中的内容而准备的?也许Intel写错了。

  甲:那你知道Flash ROM或EEPROM与RAM之间的区别吗?前两者之所以叫ROM,说明是非易失性的存储器,即不需要外接电源仍可保存数据。而RAM恰恰相反,它需要有外部的电源去保持存储的信息。所以,电池不是为BIOS的ROM芯片,而是为主板上的RAM供电的。

  乙:啊……对,不过我们平时清除BIOS不都是说在BIOS旁边去找那个跳线吗?我认为就是清除BIOS芯片中的内容。




  图为主板上的686B南桥芯片

 


  甲:这当然是错的,那个跳线是控制南桥芯片中的一个状态值的。以Intel ICH为例,这个跳线一般是控制信号RTCRST#,即RTC Reset(RTC重置)。它控制着南桥中相应的寄存器,这个寄存器用来存储RTC的电源状态,当RTC Reset为低电平时, BIOS程序在开机时将清除南桥里CMOS RAM的信息并写入BIOS设置的默认值。这就是一个清除BIOS设置信息的典型过程。当然,这只是清除方法的其中之一,一些玩家干脆拔了锂电池来清除CMOS信息,这相当于断电。从拔电池这一点可以看出来,如果电池是给BIOS芯片供电的,那么设置的值没了,BIOS芯片中的其他内容,包括BIOS程序和默认设置是不是也都没了?但事实显然不是这样!

  乙:哦?但最根本的一个问题是,把这些信息存在南桥中有什么好处呢?与BIOS程序存在一块又有什么问题?难道技术上实现不了吗?

  甲:可以肯定,设置信息与BIOS主程序不放在一起,不是因为有技术上的困难,只是另有缘由。其实你仔细看看BIOS中的设置内容,你会发现基本都是与南北桥芯片中相关寄存器挂钩的,它们的设置关系到了相关寄存器的值,如内存的工作时序、AGP模式、IDE模式、PCI总线的时序等,这些信息存在南桥的SRAM中有利于快速地调用(想想SRAM与ROM之间的速度差异),这是原因之一。之二也是更重要的一点,就是Flash ROM有擦写上的限制,这包括了速度、擦写的相对复杂程度(电压、电流控制)以及ROM的寿命,所以做在南桥中反而是更合理,BIOS芯片也因此可以更为廉价一些。

  乙:看来你是对的,又让我长了不少见识。不过如果这么说的话,那BIOS每次开机都要去读南桥中的信息了?

  甲:没错,大致如此,还是以采用Intel ICH的系统为例,BIOS程序会检查南桥中的RTC电源状态寄存器,如果为零就会将CMOS RAM中的信息写入南北桥芯片中的相关寄存器(当用户将某参数为Auto时,则是BIOS程序先按CMOS RAM中的信息来检测硬件,然后再将检测的结果写入寄存器),如果为1就会进行清除CMOS RAM信息并调入默认设置的操作。可以说,对设置信息的处理是融于POST(Power On Self Test,加电自检)过程的。

  乙:咦……呀……这回我是明白了,谢谢、谢谢。

建议使用Netscape4.0或IE 4.0以上版本,以800*600浏览
Copyright © 2001 BioSrepair.com All Rights Reserved   鲁ICP备05007673号
山东.烟台.BIOS维修网站 网络耗子制作完成  Email:diybios@263.net  QQ:125081447
电话:0535-5482905  传真:0535-5481905