Memory plays a crucial role in how devices operate, and one of the most important types is Read-Only Memory (ROM). Unlike RAM (Random Access Memory), which loses its data when the power is turned off, ROM is designed to store essential information permanently.
Here, we’ll explore what ROM is, how it works, its various types, and why it remains an essential component in modern technology. Whether you’re a tech enthusiast or just curious about how your devices operate, understanding ROM is key to grasping the fundamentals of computing.
What is Read-Only Memory (ROM)?
ROM stands for Read-Only Memory. It is a non-volatile memory was used to operate the system. As its name refers to read-only memory, we can only read the stored programs and data.
- Information stored in ROM is permanent.
- Information and programs are stored on ROM in binary format (0s and 1s).
- It is used in the start-up process of the computer.
Evolution of ROM Technology
The development of ROM has seen key advancements over the years:
Year | Type | Key Advancement | Use Cases |
---|
1956 | Mask ROM (MROM) | Hardwired during manufacturing | Early calculators, embedded systems |
1956 | PROM | One-time programmable by users | Custom firmware |
1971 | EPROM | Erasable with UV light, reprogrammable | Legacy computer BIOS |
1983 | EEPROM | Electrically erasable, reusable | Microcontrollers, car key fobs |
1984 | Flash Memory | Block-level erasure, high speed | USB drives, SSDs, smartphones |
Block Diagram of ROM
The main purpose of the ROM block diagram is to represent how ROM (Read-Only Memory) works within a computer system. It helps illustrate the flow of data and how the system accesses the stored information.
In a Read-Only Memory (ROM) system, there are k input lines and n output lines. The input address from which we wish to retrieve the ROM content is taken using the k input lines. Since each of the k input lines can have a value of 0 or 1, there are a total of 2 k addresses that can be referred to by these input lines, and each of these addresses contains n bits of information that is output from the ROM.
A ROM of this type is designated as a 2k x n ROM.
Block Diagram of ROMInternal Structure of ROM
The internal structure of ROM has two basic components:
- Decoder
- OR Gates
Internal Structure of ROMA circuit known as a decoder converts an encoded form, such as binary coded decimal, or BCD, into a decimal form. As a result, the output is the binary equivalent of the input. The outputs of the decoder will be the output of every OR gate in the ROM. Let’s use a 64 x 4 ROM as an example. This read-only memory has 64 words with a 4 bit length. As a result, there would be four output lines.
Since there are only six input lines and there are 64 words in this ROM, we can specify 64 addresses or minimum terms by choosing one of the 64 words that are available on the output lines from the six input lines. Each address entered has a unique selected word.
Working of ROM
A small, long-lasting battery within the computer powers the ROM, which is made up of two primary components: the OR logic gates and the decoder. In ROM, the decoder receives binary input and produces decimal output. The decoder’s decimal output serves as the input for ROM’s OR gates. ROM chips have a grid of columns and rows that may be switched on and off. If they are turned on, the value is 1, and the lines are connected by a diode. When the value is 0, the lines are not connected.
Each element in the arrangement represents one storage element on the memory chip. The diodes allow only one direction of flow, with a specific threshold known as forward break over. This determines the current required before the diode passes the flow on. Silicon-based circuitry typically has a forward break-over voltage of 0.6 V. ROM chips sometimes transmit a charge that exceeds the forward break over to the column with a specified row that is grounded to a specific cell. When a diode is present in the cell, the charge transforms to the binary system, and the cell is “on” with a value of 1.
Types of Read-Only Memory (ROM)
ROM Type | Erasure Method | Reprogrammable | Use Cases/Examples |
---|
Mask ROM (MROM) | Hardwired during manufacturing | No | Early embedded systems, firmware |
PROM | One-time programming | No | Custom firmware for specific applications |
EPROM | UV light | Yes (with UV) | Firmware updates, legacy computer systems |
EEPROM | Electrical signals | Yes | Microcontrollers, BIOS, small firmware updates |
Flash Memory | Block-level electrical erasure | Yes | USB drives, SSDs, memory cards, smartphones |
PLD-ROM | Configurable logic | Yes | FPGA, CPLD, custom hardware logic |
Lets discuss some main type of ROM in details one-by-one:
- MROM (Masked read-only memory): We know that ROM is as old as semiconductor technology. MROM was the very first ROM that consisted of a grid of word lines and bit lines joined together by transistor switches. This type of ROM data is physically encoded in the circuit and only be programmed during fabrication. It was not so expensive.
- PROM (Programmable read-only memory): PROM is a form of digital memory. In this type of ROM, each bit is locked by a fuse or anti-fuse. The data stored in it are permanently stored and can not be changed or erasable. It is used in low-level programs such as firmware or microcode.
- EPROM (Erasable programmable read-only memory): EPROM also called EROM, is a type of PROM but it can be reprogrammed. The data stored in EPROM can be erased and reprogrammed again by ultraviolet light. Reprogrammed it is limited. Before the era of EEPROM and flash memory, EPROM was used in microcontrollers.
- EEPROM (Electrically erasable programmable read-only memory): As its name refers, it can be programmed and erased electrically. The data and program of this ROM can be erased and programmed about ten thousand times. The duration of erasing and programming of the EEPROM is about 4ms to 10ms. It is used in microcontrollers and remote keyless systems.
Advantages of ROM
- Non-Volatile – Retains data without power.
- Security – Prevents unauthorized changes.
- Reliable – Data remains intact over time.
- Cost-Effective – Cheap for large-scale production.
- Fast Access – Quick retrieval of stored data.
Disadvantages of ROM
- Limited Modifiability – Data can’t be easily changed.
- Low Storage Capacity – Not suitable for large data storage.
- Slow Write Speeds – Writing data is slow.
- Physical Wear – Can wear out after many write cycles (EEPROM/EPROM).
- High Initial Cost – Expensive to manufacture in small quantities (Mask ROM).
Difference Between RAM and ROM
Here are some key difference between RAM and ROM.
RAM | ROM |
---|
RAM stands for Random Access Memory. | ROM stands for Read Only Memory. |
You can modify , edit or erase data in RAM. | Data in ROM can not modified or erased, you can only read data of ROM. |
RAM is a volatile memory that stores data as long as power supply is given. | ROM is a non-volatile memory that retian data even after the power is turned off. |
Speed of RAM is more then speed of ROM. | ROM is slower then RAM. |
RAM is costly as compared to ROM. | ROM is cheap as compared to RAM. |
A RAM chip can store only a few gigabytes (GB) of data. | A ROM chip can store multiple megabytes (MB) of data. |
CPU can easily access data stored in RAM. | CPU cannot easily access data stored in ROM. |
RAM is used for the temporary storage of data currently being processed by the CPU. | ROM is used to store firmware, BIOS, and other data that needs to be retained. |
ROM Vs Hard Drive
Here's a comparison table between ROM and Hard Drive:
Feature | ROM | Hard Drive |
---|
Definition | Non-volatile memory for system instructions. | A storage device for large amounts of data. |
Data Type | Stores firmware and boot instructions. | Stores user data, applications, and OS. |
Volatility | Non-volatile (retains data without power). | Non-volatile (retains data without power). |
Modifiability | Read-only, data cannot be easily modified. | Writable, data can be freely added or removed. |
Speed | Fast access, especially during booting. | Slower read/write speeds compared to ROM. |
Capacity | Typically smaller in size (measured in MBs). | Much larger in size (measured in GBs or TBs). |
Function | Provides essential startup instructions. | Stores operating system, software, and files. |
Common Use | Embedded in devices like computers and phones. | Used in computers, laptops, and external storage. |
Similar Reads
Digital Electronics and Logic Design Tutorials Digital Electronics and Logic Design are key concepts in both electronics and computer science. Digital systems are at the core of everything from basic devices like calculators to advanced computing systems. Digital systems use binary numbers (0s and 1s) to represent and process information.Logic g
4 min read
Number Systems
Boolean Algebra and Logic Gates
Logic Gates - Definition, Types, UsesLogic Gates are the fundamental building blocks in digital electronics. There are basically seven main types of logic gates that are used to perform various logical operations in digital systems. By combining different logic gates, complex operations are performed, and circuits like flip-flops, coun
10 min read
Basic Conversion of Logic GatesIn the Digital System, logic gates are the basic building blocks. Â In these logic gates, we can find the gates having more than one input, but will have only one output. The connection between the input and the output of a gate is based on some logic. Based on this logic, different gates are develop
6 min read
Realization of Logic Gate Using Universal gatesIn Boolean Algebra, the NAND and NOR gates are called universal gates because any digital circuit can be implemented by using any one of these two i.e. any logic gate can be created using NAND or NOR gates only.Implementation of AND Gate using Universal GatesImplementation using NAND GatesThe AND ga
6 min read
Canonical and Standard FormCanonical Form - In Boolean algebra, the Boolean function can be expressed as Canonical Disjunctive Normal Form known as minterm and some are expressed as Canonical Conjunctive Normal Form known as maxterm. In Minterm, we look for the functions where the output results in "1" while in Maxterm we loo
6 min read
Types of Integrated CircuitsIn this article, we will go through the Types of Integrated Circuits, we will start our article with the introductions of the ICs, then we will go through different types of ICs one by one, At last, we will conclude our article will their applications, advantages, disadvantages and some FAQs. Table
7 min read
Minimization Techniques
Minimization of Boolean FunctionsBoolean functions are used to represent logical expressions in terms of sum of minterms or product of maxterms. Number of these literals (minterms or maxterms) increases as the complexity of the digital circuit increases. This can lead to large and inefficient circuits. By minimizing Boolean functio
4 min read
Introduction of K-Map (Karnaugh Map)In many digital circuits and practical problems, we need to find expressions with minimum variables. We can minimize Boolean expressions of 3, 4 variables very easily using K-map without using any Boolean algebra theorems. It is a tool which is used in digital logic to simplify boolean expression. I
5 min read
5 variable K-Map in Digital LogicPrerequisite - Implicant in K-Map Karnaugh Map or K-Map is an alternative way to write a truth table and is used for the simplification of Boolean Expressions. So far we are familiar with 3 variable K-Map & 4 variable K-Map. Now, let us discuss the 5-variable K-Map in detail. Any Boolean Express
5 min read
Various Implicants in K-MapAn implicant can be defined as a product/minterm term in Sum of Products (SOP) or sum/maxterm term in Product of Sums (POS) of a Boolean function. For example, consider a Boolean function, F = AB + ABC + BC. Implicants are AB, ABC, and BC. There are various implicant in K-Map listed below :Prime Imp
5 min read
Don't Care (X) Conditions in K-MapsOne of the most important concepts in simplifying output expressions using Karnaugh Maps (K-Maps) is the 'Don't Care' condition. The 'Don't Care' conditions allow us to treat certain cells in a K-Map as either 0, 1, or to ignore them altogether, which can help in forming larger and more efficient gr
4 min read
Quine McCluskey MethodThe Quine McCluskey method also called the tabulation method is a very useful and convenient method for simplification of the Boolean functions for a large number of variables (greater than 4). This method is useful over K-map when the number of variables is larger for which K-map formation is diffi
8 min read
Two Level Implementation of Logic GatesThe term "two-level logic" refers to a logic design that uses no more than two logic gates between input and output. This does not mean that the entire design will only have two logic gates, but it does mean that the single path from input to output will only have two logic gates.In two-level logic,
9 min read
Combinational Circuits
Half Adder in Digital LogicA half adder is a combinational logic circuit that performs binary addition of two single-bit inputs, A and B, producing two outputs: SUM and CARRY. The SUM output which is the least significant bit (LSB) is obtained using an XOR gate while the CARRY output which is the most significant bit (MSB) is
3 min read
Full Adder in Digital LogicFull Adder is a combinational circuit that adds three inputs and produces two outputs. The first two inputs are A and B and the third input is an input carry as C-IN. The output carry is designated as C-OUT and the normal output is designated as S which is SUM. The C-OUT is also known as the majorit
5 min read
Half Subtractor in Digital LogicA half subtractor is a digital logic circuit that performs the binary subtraction of two single-bit binary numbers. It has two inputs, A and B, and two outputs, Difference and Borrow. The Difference output represents the result of subtracting B from A, while the Borrow output indicates whether a bor
4 min read
Full Subtractor in Digital LogicA Full Subtractor is a combinational circuit used to perform binary subtraction. It has three inputs:A (Minuend)B (Subtrahend)B-IN (Borrow-in from the previous stage)It produces two outputs:Difference (D): The result of the subtraction.Borrow-out (B-OUT): Indicates if a borrow is needed for the next
3 min read
Parallel Adder and Parallel SubtractorAn adder adds two binary numbers one bit at a time using carry from each step. A subtractor subtracts one binary number from another using borrow when needed. A parallel adder adds all bits at once, making addition faster. Similarly, a parallel subtractor subtracts all bits at the same time for quic
5 min read
Sequential Binary MultiplierIn this article, we are going to learn how a sequential binary multiplier works with examples. So for that, we also need to learn a few concepts related to the sequential circuit, binary multipliers, etc. Finally solving the examples using a sequential binary multiplier method.Sequential CircuitA se
12 min read
Multiplexers in Digital LogicIn this article we will go through the multiplexer, we will first define what is a multiplexer then we will go through its types which are 2x1 and 4x1, then we will go through the Implementation of the 2x1 mux and higher mux with lower order mux, at last we will conclude our article with some applic
10 min read
Event Demultiplexer in Node.jsNode.js is designed to handle multiple tasks efficiently using asynchronous, non-blocking I/O operations. But how does it manage multiple operations without slowing down or blocking execution? The answer lies in the Event Demultiplexer.The Event Demultiplexer is a key component of Node.js's event-dr
3 min read
Binary Decoder in Digital LogicA binary decoder is a digital circuit used to convert binary-coded inputs into a unique set of outputs. It does the opposite of what an encoder does. A decoder takes a binary value (such as 0010) and activates exactly one output line corresponding to that value while all other output lines remain in
5 min read
Encoder in Digital LogicAn encoder is a digital circuit that converts a set of binary inputs into a unique binary code. The binary code represents the position of the input and is used to identify the specific input that is active. Encoders are commonly used in digital systems to convert a parallel set of inputs into a ser
7 min read
Code Converters - Binary to/from Gray CodeIn this article, we will go through Code Converters - Binary to/from Gray Code, we will start our article by defining Code converters, Binary code and Gray code, and then we will go through the conversion of binary code to gray code and vice versa.Table Of ContentCode ConvertersBinary CodeGray CodeC
5 min read
Magnitude Comparator in Digital LogicA magnitude digital Comparator is a combinational circuit that compares two digital or binary numbers in order to find out whether one binary number is equal, less than, or greater than the other binary number. We logically design a circuit for which we will have two inputs one for A and the other f
7 min read
Sequential Circuits
Introduction of Sequential CircuitsSequential circuits are digital circuits that store and use the previous state information to determine their next state. Unlike combinational circuits, which only depend on the current input values to produce outputs, sequential circuits depend on both the current inputs and the previous state stor
7 min read
Difference between Combinational and Sequential CircuitIn digital electronics, circuits are classified into two primary categories: The combinational circuits and the sequential circuits. Where the outputs depend on the current inputs are called combination circuit, combinational circuits are simple and effective for functions like addition, subtraction
4 min read
Latches in Digital LogicLatch is a digital circuit which converts its output according to its inputs instantly. To implement latches, we use different logic gates. In this article, we will see the definition of latches, latch types like SR, gated SR, D, gated D, JK and T with its truth table and diagrams and advantages and
7 min read
Flip-Flop types, their Conversion and ApplicationsIn this article, we will go through the Flip-Flop types, their Conversion and their Applications, First, we will go through the definition of the flip-flop with its types in brief, and then we will go through the conversion of the flip-flop with its applications, At last, we will conclude our articl
7 min read
Conversion of Flip-Flop
Register, Counter, and Memory Unit
Counters in Digital LogicA Counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship to a clock signal. Counters are used in digital electronics for counting purpose, they can count specific event happening in the circuit. For example, in
4 min read
Ripple Counter in Digital LogicCounters play a crucial role in digital logic circuits, enabling tasks such as clock frequency division and sequencing. This article explores the concept of ripple counters, a type of asynchronous counter, their operation, advantages, and disadvantages in digital logic design. What is a Counter?Coun
5 min read
Ring Counter in Digital LogicA ring counter is a typical application of the Shift register. The ring counter is almost the same as the shift counter. The only change is that the output of the last flip-flop is connected to the input of the first flip-flop in the case of the ring counter but in the case of the shift register it
7 min read
General Purpose RegistersA register is a collection of flip-flops. Single bit digital data is stored using flip-flops. By combining many flip-flops, the storage capacity can be extended to accommodate a huge number of bits. We must utilize an n-bit register with n flip flops if we wish to store an n-bit word.General Purpose
8 min read
Shift Registers in Digital LogicPre-Requisite: Flip-FlopsFlip flops can be used to store a single bit of binary data (1 or 0). However, in order to store multiple bits of data, we need multiple flip-flops. N flip flops are to be connected in order to store n bits of data. A Register is a device that is used to store such informati
8 min read
Computer MemoryComputer memory is just like the human brain. It is used to store data/information, and instructions. It is a data storage unit or a data storage device where data is to be processed, and instructions required for processing are stored. Both the input and output can be stored here.It's faster than s
9 min read
Random Access Memory (RAM)Random Access Memory (RAM) is a type of computer memory that stores data temporarily. When you turn off your computer, the data in RAM disappears, unlike the data on your hard drive, which stays saved. RAM helps your computer run programs and process information faster. This is similar to how the br
11 min read
Read Only Memory (ROM)Memory plays a crucial role in how devices operate, and one of the most important types is Read-Only Memory (ROM). Unlike RAM (Random Access Memory), which loses its data when the power is turned off, ROM is designed to store essential information permanently.Here, weâll explore what ROM is, how it
8 min read
LMNs and GATE PYQs
Practice Questions - Digital Logic & Design