为什么取出 CMOS 电池会重置 BIOS 设置和/或清除日期和时间设置?这些设置可能没有存储在“电池中”...
答案1
这个问题部分源于历史推理,并且随着现代机器的发展有所改变。为什么我们需要电池答案有两个方面:
- 维护我们的 BIOS/配置设置(历史)
- 保持日期/时间最新
关于第一点,在非常低成本的非易失性闪存普遍推出之前,BIOS 和其他配置数据都保留在挥发性静态随机存取记忆体. SRAM 是静态随机存取存储器——它速度快,接口简单,不需要像 DRAM 那样刷新。缺点是它易失性——如果你断电,它里面的所有数据都会丢失。这就是为什么取下电池可以解决问题的原因——如果你做出了愚蠢的配置选择,断电会让这个愚蠢的选择消失。
此外,CMOS 代表互补金属氧化物半导体,是当今几乎所有现代逻辑都基于的半导体工艺。它不是指电池——电池是一种传统的纽扣电池化学,但通俗地说,它已成为指电池支持的逻辑/技术的术语。
现代机器不仅存储 BIOS,还将配置信息存储在非易失性闪存中,通常带有 SPI 接口。闪存变得非常便宜,片上电荷泵的出现消除了对单独高压编程的需求,最重要的是,您可以拥有更大的存储空间(SRAM 速度快,但体积小!)。
然而,对于如何为这些较新的芯片实现 CMOS 电池移除,人们的看法有所不同。芯片组会让 BIOS 软件知道发生了断电,从这里开始,设计人员可以做不同的事情。他们可以选择模仿老式的行为并重置所有内容。他们可以选择加载一组“安全”的默认设置,但保留所有内容,以便您可以挑选自己想要的内容。他们也可以选择什么都不做。
现在,让我们来谈谈计时。计时的基本方法是晶体振荡器——提供一个外部 32.768kHz 晶体,片上 RTCC(实时时钟/日历)在您设置后使用此晶体来计时。当您关闭计算机时,根据电源的实现方式,可能不会为该子电路/RTCC 外设提供待机电源,它将停止运行。因此,当没有交流电时,通常会有一个小电池为 RTCC 供电。
当您拔出电池时,您将切断维持振荡器/计时电路运行所需的电力,此外,您还将清除当前日期/时间信息,因为运行存储它们的寄存器的电力现在已经消失。
近来这种情况没有改变——你仍然需要电源来保持它运行。有些人谈到使用超级电容器,但出于寿命和成本原因,你无法用 CR2032 纽扣电池代替。一个简单的二极管或电路用于共享电源:
所以最后:
- 过去需要电池来实际维护你的设置;现在它存储在非易失性存储器中
- 当机器关闭时,仍需要电池来保持 RTCC 运行/维持日期和时间
(尝试‘回答你自己的问题’)