Overview
ROM is an abbreviation for Read Only Memory, and is also referred to as firmware. It is an integrated circuit programmed with certain data during the time of it's manufacturing. Read only memories are used not only in computer systems but also in many other electronic devices such as IoT devices like digital assistants, smart gadgets such as smartwatches, etc as well.
What is a ROM?
Memory is required in almost every computational device for making it operable and functional. ROM is the kind of memory, data stored in which persists, i.e. it does not disappear after a user logs out of the system or if the system restarts. This is possible because of non-volatile nature of ROM.
It is also referred to as secondary memory and is used as a storage medium in devices such as computers, mobile phones, IoT devices, etc. Read only memory is less efficient than primary memory (RAM), but it costs much less in comparision to RAM.
Block diagram of a ROM
Read Only Memory consists of both the decoder as well as the OR gates within a single IC package.
The diagram above displays the block diagram of a ROM containing m output lines and n input lines. Every possible combination of the input variables bits corresponds to an address. Every combination of bits received from the output lines is known as a word.
The number of output lines (m), is the same as the number of bits per word (t). The address represented by a binary number specifies one of the addresses of n variables. The total number of possible distinct addresses that can be generated using n input variables is 2n, as each variable has the choice of being included or not, which results in 2*2*... n times.
An output word is selected through a unique address. Since there are a total of 2n distinct addresses in a read only memory, there are a total of 2n distinct words in the read only memory. The address value applied to the input lines determines the word that will be available, at any given instance, on the output lines.
Internal Structure of ROM
For a demonstration, let's assume a 64 x 4 ROM as shown in the above diagram. This ROM consists of 64 words, each of 4 bits. Thus there are a total of four output lines. There's a certain word from among all 64 possible words currently available on the output lines that is determined by the six input lines.
The reason behind there being six inputs in this 64 x 4 ROM is that 26 is equal to 64, which means that using 6 variables, one could specify 64 minterms or addresses. There is a unique selected word per input address.
For example, if the address input is 000001, word number 1 is selected and applied to the output lines because binary 000001 equals to 1 in decimal. Similarly, to select 62, it's binary equivalent 111110 input address must be selected and applied to the output lines.
Types of ROM
Following are the 5 types of read only memory:
1. MROM
MROM is an abbreviation for Masked Read Only Memory. It is a read only memory chip that is programmed (data is stored in it) during it's manufacturing. MROMs cost relatively low.
MROMs were the first ROMs to be developed and were hard wired, contain a pre-programmed set of instructions or data. During the design phase in the manufacturing process of a MROM, a software mask is burned directly onto the chip.
The customer receives the specifications of the MROM in a certain format and in tabular form. It's the job of the manufacturer to make the corresponding mask for the paths to generate the required output.
2. PROM
PROM is an abbreviation for Programmable Read Only Memory. PROMs are also called as PLD, as they are used in logic designs. It's a device that includes both the OR plane as well as the AND plane within a single IC package. AND plane is fixed and OR plane is programmable. A plane is a sequence of gates such as AND, OR, etc as shown in the diagram above. it is also known as an array.
The AND array (AND plane) of a PROM acts as a decoder. It will decode the data from the address lines. The circuits in a PROM can be designed and modified easily and fast.
3. EPROM
EPROM stands for Erasable Programmable Read Only Memory. It is a chip that is non-volatile in nature and was invented in 1971 by Dov Frohman at Intel. An EPROM can be reprogrammed if required by exposing it to ultraviolet light. But otherwise, an EPROM does not save or accept any new data. EPROM chips are not used in modern computers as they have been replaced by EEPROM chips.
EPROM is used by hardware manufacturers when it is required that the data stored in the ROM be changed. A distinguishing feature of EPROM chips is a small quartz crystal circle window exposing the chip so that it could be reprogrammed.
4. EEPROM
EEPROM is an abbreviation for Electrically Erasable Programmable Read Only Memory. It is non-volatile in nature and is used for storing small amounts of data in computer systems or some other electronic devices. In an EEPROM, write and erase operations are performed one byte at a time In an EEPROM an individual byte of data could be erased and reprogrammed entirety, by application of electrical potential.
EEPROM technology was developed in 1978 at Intel by George Perlegos. EEPROMs have been replaced PROMs and EPROMS. An EEPROM needs not be ejected from the computer system for making modifications to it. A drawback of EEPROM chips is that they perform read and write cycle slowly in comparison to primary memory (RAM).
5. Flash Memory
Flash memory is non-volatile in nature and is therefore has several use cases in which short to medium-term data storage is required. Flash memory technology implementations range from flash USB memory sticks (also known as pen drives) to camera memory cards like compact Flashcards or CF cards and SD memory cards and solid state drives (SSDs) in a computer system.
Flash memory is one of the most widely used forms of memory. Flash memory storage was born out of a combination of the traditional EPROM and E2PROM (another type of memory). Flash memory utilizes the same method of programming as does EPROM and the erasure method as that of E2PROM.
A relevant benefit of using flash memory is that it can be erased electrically. But it is impossible to erase every cell in flash memory individually. For doing so, a large number of circuits are to be additionally added to the flash memory chip. But doing so would at the same time also significantly increase the price of the flash memory. This is why most manufacturers dropped this strategy in exchange for a system in which the entire chip or a large portion of it is flash erased or block erase.
Nowadays, most flash memory chips have selective erasure. This allows sections or parts of the memory to be erased.
Advantages of ROM
- Read only memory is non-volatile in nature.
- ROMs are easier to interface in comparison to RAM.
- They cost much less as compared to RAMs.
- They are easy to test.
- ROMs are very reliable.
- ROMs are static and do not require refreshing.
- Contents of a ROM are known and can be verified.
- Circuits in a ROM are straightforward.
- Data can be saved on a ROM for a very long time.
- It helps in the booting of the computer system and in loading the operating system.
Conclusion
- ROM, also known as firmware, is an integrated circuit programmed with certain data during the time it is manufactured.
- ROM consists of both the decoder as well as the OR gates within a single IC package.
- ROMs are of five types: MROM (masked read only memory), PROM (programmable read only memory), EPROM (erasable programmable read only memory), EEPROM (electrically erasable programmable read only memory), and Flash Memory.