BIOS存储在哪里?

ROM is read only, so why can the BIOS contents be rewritten?

ROM是只读的,那么为什么可以重写BIOS内容?

The BIOS program itself is stored in an EEPROM (which can be [E]lectrically [E]rasable and [P]rogrammable [R]ead [O]nly [M]emory) or flash-memory. So the read-only here is about the chip being non-volatile. The contents of the memory stays when the power is cut off, unlike volatile RAM. The ROM being EEP means that the BIOS can be re-written or updated. For such operations in the past, you had to remove the BIOS chip from the board, put a new one in (if it was not PROM or EPROM), or if it was EPROM, you had to get it to the manufacturer and let them re-program the chip, then re-attach it to the board. After current advances, thanks to EEPROMs, you do not have to remove chip to do such operations, you just make the computer do the job electrically.

BIOS程序本身存储在EEPROM(可以是[E]电[E]可擦写和[P]图表可写[R] ad [O] nly [M] emory)或闪存中。 因此,这里的只读信息是关于非易失性芯片。 与易失性RAM不同,当电源断开时,存储器的内容会保留。 ROM为EEP意味着可以重写或更新BIOS。 在过去的此类操作中,您必须从板上卸下BIOS芯片,放入新的芯片(如果不是PROM或EPROM),或者如果是EPROM,则必须将其交给制造商并让他们使用。重新编程芯片,然后将其重新连接到板上。 在电流上升之后,借助EEPROM,您无需卸下芯片即可执行此类操作,只需使计算机通过电气完成工作即可。

Does the “flash memory chip” mean the same as the “non-volatile ROM”, both meaning where BIOS is stored?

“闪存芯片”是否与“非易失性ROM”相同,都意味着存储BIOS?

from Wikipedia:

来自维基百科 :

Flash memory is an electronic non-volatile computer storage medium that can be electrically erased and reprogrammed.

闪存是一种非易失性电子存储介质,可以对其进行电擦除和重新编程。 Flash memory was developed from EEPROM (electrically erasable programmable read-only memory). There are two main types of flash memory, which are named after the NAND and NOR logic gates. The internal characteristics of the individual flash memory cells exhibit characteristics similar to those of the corresponding gates. Whereas EPROMs had to be completely erased before being rewritten, NAND type flash memory may be written and read in blocks (or pages) which are generally much smaller than the entire device. NOR type flash allows a single machine word (byte) to be written—to an erased location—or read independently.

闪存是从EEPROM(电可擦可编程只读存储器)开发的。 闪存有两种主要类型,以NAND和NOR逻辑门命名。 各个闪存单元的内部特性表现出与相应栅极相似的特性。 EPROM在重写之前必须被完全擦除,而NAND型闪存则可以以块(或页)的形式进行读写,这些块(或页面)通常比整个设备小得多。 NOR型闪存允许将单个机器字(字节)写入(擦除的位置)或独立读取。

EEPROM and flash memory do not refer to same thing. They are two similar memory types as one is developed from the other, and contain different types/configurations of MOS transistors. However, they are the memory where the BIOS program resides.

EEPROM和闪存不是相同的东西。 它们是两种相似的存储器类型,一种是从另一种存储器开发出来的,并且包含不同类型/配置的MOS晶体管。 但是,它们是BIOS程序所在的内存。

To address another misconception, I want to mention this CMOS-BIOS relationship:

为了解决另一个误解,我想提一下这种CMOS-BIOS关系:

The BIOS settings are stored in the CMOS chip (which is kept powered up via the battery on the motherboard). That is why the BIOS is reset when you remove the battery and re-attach it. The same program runs, but the settings are defaulted. See this answer for a detailed view of memories used during the booting process.

BIOS设置存储在CMOS芯片中(通过主板上的电池保持开机状态)。 这就是为什么在取出电池并重新连接时会重置BIOS的原因。 运行相同的程序,但是默认设置。 有关引导过程中使用的内存的详细视图,请参见此答案 。

To extend the CMOS-BIOS topic, thanks to @Andon M. Coleman, I want to add his comment to the answer:

为了扩展CMOS-BIOS主题,感谢@Andon M. Coleman ,我想在回答中添加他的评论:

It is worth mentioning that the BIOS settings do not have to be stored in volatile CMOS memory. There are plenty of embedded systems that store their settings in NVRAM. The only reason PCs have gotten away with using volatile CMOS all these years is that they already had a battery to keep the internal real-time clock ticking while the power is off (recall that when you pressed the power switch on a PC-AT, it literally cut all power off to the motherboard). This meant that cheaper volatile memory could be used to store system settings. So it is mostly for historical purposes.

值得一提的是,BIOS设置不必存储在易失性CMOS内存中。 有许多嵌入式系统将其设置存储在NVRAM中。 这些年来,PC不再使用易失性CMOS的唯一原因是,它们已经有一块电池,可以在电源关闭时保持内部实时时钟的滴答声(回想一下,当您按下PC-AT上的电源开关时,它实际上切断了主板的所有电源)。 这意味着可以使用更便宜的易失性存储器来存储系统设置。 所以它主要是出于历史目的。