Read-Only Memory (ROM) is a type of non-volatile memory used in computers and other electronic devices to store firmware or software that is not intended to be modified frequently. It is called “read-only” because data can be read from it but cannot (or should not) be written to it under normal operation.
The circuit design of ROM typically involves several key components:
Address Decoder:
The address decoder takes the address from the CPU or the control unit and selects the corresponding memory location in the ROM array. It ensures that only one memory location is accessed at any given time.
ROM Array:
The ROM array consists of a grid of memory cells, which are generally made up of transistors, diodes, or other semiconductor devices. Each cell holds a single bit of information (either 0 or 1). The memory is organized in rows and columns. The data in these cells is permanently programmed at the time of manufacturing.
Data Output Lines:
These lines connect to the memory cells in the ROM array and carry the data to the output. When an address is selected by the address decoder, the corresponding data from the ROM array is placed on these lines and outputted.
Control Signals:
Control signals such as chip enable (CE) and output enable (OE) are used to control the reading of data from ROM. These signals determine when the ROM chip is active and when the data is driven onto the output lines.
Power Supply:
ROM requires a stable power supply to operate, as with any other integrated circuit. It stores data even when the power is removed, as the memory is non-volatile.
Working of ROM Circuit:
There are several different types of ROM, each with specific characteristics and use cases. They include:
Mask ROM (MROM):
Programmable ROM (PROM):
Erasable Programmable ROM (EPROM):
Electrically Erasable Programmable ROM (EEPROM):
Flash ROM (Flash Memory):
Type of ROM | Reprogrammable | Erasable | Primary Use | Speed |
---|---|---|---|---|
Mask ROM | No | No | Pre-programmed at manufacture, used in large quantities | Fast |
PROM | Yes (once) | No | User-programmable once, used for specific applications | Moderate |
EPROM | Yes (multiple) | Yes (UV light) | Used when data needs occasional updates | Slow (UV Erasure) |
EEPROM | Yes (multiple) | Yes (electrical) | Used in embedded systems for small data updates | Moderate |
Flash ROM | Yes (multiple) | Yes (electrical) | High-capacity storage, used in modern consumer electronics | Fast |
Each type of ROM serves different needs based on its characteristics, cost, speed, and the requirement for reprogramming. Flash ROM, for example, has become the dominant form of memory in modern devices due to its fast read/write speeds and large storage capacity.