[ The PC Guide | Systems and Components Reference Guide | System Memory | Memory Technology Types ]
Read-Only Memory (ROM)
One major type of memory that is used in PCs is called read-only memory, or ROM
for short. ROM is a type of memory that normally can only be read, as opposed to RAM which
can be both read and written. There are two main reasons that read-only memory is used for
certain functions within the PC:
- Permanence: The values stored in ROM are always there, whether the power is on or
not. A ROM can be removed from the PC, stored for an indefinite period of time, and then
replaced, and the data it contains will still be there. For this reason, it is called non-volatile
storage. A hard disk is also non-volatile, for the same reason, but regular RAM is
not.
- Security: The fact that ROM cannot easily be modified provides a measure of
security against accidental (or malicious) changes to its contents. You are not going to
find viruses infecting true ROMs, for example; it's just not possible. (It's technically
possible with erasable EPROMs, though in practice never seen.)
Read-only memory is most commonly used to store system-level programs that we want to
have available to the PC at all times. The most common example is the system BIOS program,
which is stored in a ROM called (amazingly enough) the system BIOS ROM. Having this
in a permanent ROM means it is available when the power is turned on so that the PC can
use it to boot up the system. Remember that when you first turn on the PC the system
memory is empty, so there has to be something for the PC to use when it starts up. See this section for a description of the system BIOS
ROM; see here for a description of the
system boot sequence.
While the whole point of a ROM is supposed to be that the contents cannot be changed,
there are times when being able to change the contents of a ROM can be very useful. There
are several ROM variants that can be changed under certain circumstances; these can be
thought of as "mostly read-only memory". :^) The following are the
different types of ROMs with a description of their relative modifiability:
- ROM: A regular ROM is constructed from hard-wired logic, encoded in the silicon
itself, much the way that a processor is. It is designed to perform a specific function
and cannot be changed. This is inflexible and so regular ROMs are only used generally for
programs that are static (not changing often) and mass-produced. This product is analagous
to a commercial software CD-ROM that you purchase in a store.
- Programmable ROM (PROM): This is a type of ROM that can be programmed using
special equipment; it can be written to, but only once. This is useful for companies that
make their own ROMs from software they write, because when they change their code they can
create new PROMs without requiring expensive equipment. This is similar to the way a
CD-ROM recorder works by letting you "burn" programs onto blanks once and then
letting you read from them many times. In fact, programming a PROM is also called burning,
just like burning a CD-R, and it is comparable in terms of its
flexibility.
- Erasable Programmable ROM (EPROM): An EPROM is a ROM that can be erased
and reprogrammed. A little glass window is installed in the top of the ROM package,
through which you can actually see the chip that holds the memory. Ultraviolet light of a
specific frequency can be shined through this window for a specified period of time, which
will erase the EPROM and allow it to be reprogrammed again. Obviously this is much more
useful than a regular PROM, but it does require the erasing light. Continuing the
"CD" analogy, this technology is analogous to a reusable CD-RW.
- Electrically Erasable Programmable ROM (EEPROM): The next level of erasability is
the EEPROM, which can be erased under software control. This is the most flexible
type of ROM, and is now commonly used for holding BIOS programs. When you hear reference
to a "flash BIOS" or doing a BIOS
upgrade by "flashing", this refers to reprogramming the BIOS EEPROM with a
special software program. Here we are blurring the line a bit between what
"read-only" really means, but remember that this rewriting is done maybe once a
year or so, compared to real read-write memory (RAM) where rewriting is done often many
times per second!
Note: One thing that sometimes
confuses people is that since RAM is the "opposite" of ROM (since RAM is
read-write and ROM is read-only), and since RAM stands for "random access
memory", they think that ROM is not random access. This is not true; any location can
be read from ROM in any order, so it is random access as well, just not writeable. RAM
gets its name because earlier read-write memories were sequential, and did not allow
random access.
Finally, one other characteristic of ROM, compared to RAM, is that it is much slower,
typically having double the access time of RAM or more. This is one reason why the code in the BIOS ROM is often shadowed to improve
performance.
Next: Random
Access Memory (RAM)
Home - Search
- Topics - Up
|