Where is BIOS Stored?


From the Wikipedia Article on BIOS:

BIOS software is stored on a non-volatile ROM chip on the motherboard. In modern computer systems, the BIOS contents are stored on a flash memory chip so that the contents can be rewritten without removing the chip from the motherboard. This allows BIOS software to be easily upgraded to add new features or fix bugs, but can make the computer vulnerable to BIOS rootkits.

ROM is read only, so why can the BIOS contents be rewritten? Does the “flash memory chip” mean the same thing as the “non-volatile ROM”, both meaning where BIOS is stored?

SuperUser contributor Varaquilex has the answer for us:

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

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.

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

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 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.

To address another misconception, mentioning this CMOS-BIOS relationship:

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.

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

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.

Comments

Popular posts from this blog

MBR partitioning with 'parted' utility

Disk Partitioning: MBR vs GPT

Replace default splash screen in Yocto