什么是CMOS?
CMOS(Complementary metal-oxide-semiconductor,互补金属氧化物半导体),对,它的名字看起来很non-sense,其实它的名字来源于它的电路设计工艺(参考资料1)。它可以用来制作随机存贮memory,也可以制作感光元件。这里当然说的是电脑主板上用来存储信息的一小段存贮器件,它分为几个Bank,我们可以通过port的index方式存取其中的内容。
什么是CMOS电池?
CMOS中存贮的内容掉电就会消失,而我们的电脑随时都有可能被切断电源,这就需要电池给它供电,才能保证其中的内容不消失。电池通常都是CR2032:
这种电池很普通,在某宝和某东很多。在早期,CMOS电池是可以充电的,但随着制造工艺等的发展,需要CMOS电池提供的电力越来越小,现在基本都是不能充电的。它的寿命在3到5年,如果经常开机,可以用的更久。
CMOS电池的主要功能是什么?
这个似乎是个废话,顾名思义,当然是给CMOS供电的了。实际上,它的供电对象实际有不少:
CMOS内存实时时钟RTC没电还需要保持的寄存器(略)
CMOS内存
早期BIOS本身是存贮在PROM上的,本身不能存储信息,那BIOS需要存储的内容放在那里呢?当然是在CMOS里了,这也是直到今天还有些人还在混淆BIOS和CMOS的原因。但是随着技术的发展,现在BIOS都存在Flash里面(杂谈闪存二:NOR和NAND Flash),CMOS存贮信息的功能逐渐弱化,实际上UEFI的BIOS都在尽量避免将信息放入CMOS,只在为兼容传统功能时才勉强为之。
RTC
其实给CMOS供电保障其中数据的功能,现在已经不是最重要的,它现在的主要功能是保障实时时钟RTC的运作。
我们电脑关机后一段时间后,再开机会发现系统时钟并没有停止,这其中的功臣就是CMOS电池。
CMOS没电会发生什么?
BIOS信息会丢失吗?我可以负责任的告诉大家,并不会!如前面所述,现代UEFI BIOS都将信息存贮在Flash内,并不会消失。
Windows时间会回到1980年吗?很大可能并不会。现代操作系统包括Windows、Linux会利用网络更新时间,并更新RTC。当然你没有联网或者主动关闭网络时钟校对除外。
会损坏芯片组