Read-only memory (ROM) is a type of computer memory that stores data permanently and cannot be easily modified or erased. It is non-volatile memory, meaning it retains its data even when the power is turned off. ROM is typically used to store firmware, which is software that is permanently programmed into electronic devices, such as computers, game consoles, and mobile phones.
Characteristics
The key characteristic of ROM is that the data stored in it is not easily alterable. Unlike random-access memory (RAM), which allows for both reading and writing data, ROM is designed to be read-only. The data in ROM is written during the manufacturing process and remains fixed throughout the lifetime of the device.
Types of ROM
There are different types of ROM, including:
Mask ROM (MROM):
This is the most basic type of ROM and is created by physically encoding data onto the integrated circuit during manufacturing. The data is permanently set, and it cannot be changed or erased.
Programmable ROM (PROM):
PROM allows the user to write data into the memory after it is manufactured. This is achieved by using a special device called a PROM programmer that uses electrical signals to "burn" or program the data onto the ROM. Once programmed, the data becomes permanent and cannot be changed or erased.
Erasable Programmable ROM (EPROM):
EPROM is a type of ROM that allows the user to erase and reprogram the memory multiple times. It uses a special window on the chip that exposes the memory cells to ultraviolet (UV) light, which erases the data stored in the EPROM. After erasure, new data can be programmed into the memory using a PROM programmer.
Electrically Erasable Programmable ROM (EEPROM):
EEPROM is similar to EPROM but can be erased and reprogrammed electrically, without the need for UV light. EEPROM retains its data even when the power is turned off, and it can be reprogrammed in place within the device, making it more convenient to use than EPROM.
Uses of ROM
ROM is widely used in various applications where permanent storage of data is required. It stores critical system instructions, bootstrap code, firmware, and other essential data that need to be accessed quickly during the device's operation. Examples of such uses include storing the computer's BIOS (Basic Input/Output System), firmware in embedded systems, and game cartridges in gaming consoles.