A read-only memory (ROM) is a device that includes both the decoder and the OR gates within a single IC package. The connections between the outputs of the decoder and the inputs of the OR gates can bespecified for each particular configuration.
A ROM is essentially a memory (or storage) device in which permanent binary information is stored. The binary information must be specified by the designer and is then embedded in the unit to form the required interconnection pattern. ROMs come with special internal electronic fuses that can be “programmed” for a specific configuration. Once the pattern is established, it stays within the unit even when power is turned off and on again. It consists of n input lines and m output lines. Each bit combination of the input variables is called an address. Each bit combination that comes out of the output lines is called a word.

The number of bits per word is equal to the number of output lines, m. An address is essentially a binary number that denotes one of the min terms of n variables. The number of distinct addresses possible with n input variables is 2n. An output word can be selected by a unique address, and since there are 2ndistinct addresses in a ROM, there are 2n distinct words that are said to be stored inthe unit.
The word available on the output lines at any given time depends on the address value applied to the input lines. A ROM is characterized by the number of words 2n and the number of bits per word m.


Consider a 32 x 8 ROM. The unit consists of 32 words of 8 bits each. This means that there are eight output lines and that there are 32, distinct words stored in the unit, each of which may be applied to the output lines. The particular word selected that is presently available on the output lines is determined from the five input lines. There are only five inputs in a 32 x 8 ROM because 25 = 32, and with five variables, we can specify 32 addresses or min terms. For each address input, there is a unique selected word. Thus, if the input address is 00000, word number 0 is selected and it appears on the output lines. If the input address is 11111, word number 31 is selected and appliedto the output lines. In between, there are 30 other addresses that can select the other 30 words.

A memory unit is a collection of storage cells together with associated circuits needed to transfer information in and out of the device. Memory cells can be accessed for information transfer to or from any desired random location and hence the name randomaccess memory, abbreviated RAM.

A memory unit stores binary information in groups of bits called words. A word in memory is an entity of bits that move in and out of storage as a unit. A memory wordis a group of 1’s and 0’s and may represent a number, an instruction, one or more alphanumeric characters, or any other binary-coded information. A group of eight bits is called a byte. Most computer memories use words that are multiples of 8 bits in length. Thus, a 16-bit word contains two bytes, and a 32-bit word is made up of four bytes. The capacity of a memory unit is usually stated as the total number of bytes that it canstore.

The communication between a memory and its environment is achieved through data input and output lines, address selection lines, and control lines that specify the direction of transfer .The n data input lines provide the information to be stored in memory and the n data output lines supply the information coming out of memory. The k address lines specify the particular word chosen among the many available. Thetwo control inputs specify thedirection of transfer desired: The write input causes binary data to be transferred into the memory, and the read
input causes binary data to be transferred out of memory.
The memory unit is specified by the number of words it contains and the number of bits in each word. The address lines select one particular word. Each word in memory is assigned an identification number, called an address, starting from 0 and continuing with 1, 2, 3,upto 2k – 1, where k is the number of address lines. The selection of a specific word inside the memory is done by applying the k-bit binary address to the address lines.

Write and Read Operations
The two operations that a random-access memory can perform are the write and read operations. The write signal specifies a transfer-in operation and the read signal specifies a transfer-out operation. On accepting one of these control signals, the internal circuits inside the memory provide the desired function. The steps that must be taken for the purpose of transferring a new word to be stored into memory are as follows:

  • 1. Transfer the binary address of the desired word to the address lines.
  • 2. Transfer thedata bits that must be stored in memory to the data input lines.
  • 3. Activate the write input.


The memory unit will then take the bits from the input data lines and store them in the word specified by the address lines. The steps that must be taken for the purpose of transferring a stored word out of memory are as follows:

  • 1. Transfer the binary address of the desired word to the address lines.
  • 2. Activate the read input.
    The memory unit will then take the bits from the word that has been selected by the address and apply them to the output data lines. The content of the selected word does not change after reading.

Types of Memories
Dynamic random access memory chips or DRAM chips is a memory cell requiring refreshing because it transits only single lines of memory. A DRAM chip has numerous small capacitors that contain each memory bit. DRAM chips do not hold change and need to be refreshed in order to keep the contents on the chips from being lost. DRAM chips are commonly referred to as volatile memory chips because they lose their memory when power is lost. DRAM chips are used in some computers that are constantly hooked to power supplies.

SRAM chips are static random access memory chips. SRAM chips are non-volatile memory chips and do not require refreshing or power to keep memory intact. SRAM chips are most common in portable battery powered devices like laptops, cameras, cell phones and video game consoles.

FIFO memory chips or First-In First-Out memory chips are used in applications that are used between different devices. The devices work at different speeds, so the FIFO memory chips are necessary to buffer the memory between the two devices. Flash or jump drives that are used to transport memory between different computers and types of computers use FIFO memory chips.

EPROM chips are erasable programmable read-only memory. These types of memory chips can be erased when they are exposed to ultraviolet light. When erased, the ERPOM chips can then be reprogrammed to contain a new set of data or reused to house a different program. A variation of this type of memory chip is the EEPROM chip that can be erased electronically rather than with UV light.

PROM chips are programmable read-only memory chips that differ from other programmable read-only memory chips because they can only be written to once. PROM chips cannot be erased with UV light or electronically.

Primary memory (main memory)

Primary or main memory is used to execute program code and store temporary data.
Primary memory is physically made up of Random Access Memory (RAM) which is otherwise known as volatile memory.
Software which is being processed by the CPU, otherwise known as ‘executing software’, is temporarily stored in main memory.
A typical personal computer will have between 1 – 4 Gigabytes of RAM outside the main CPU. The CPU itself will also contain volatile memory in the form of registers and cache.

Secondary memory (secondary storage)

Secondary memory, or secondary storage, is non-volatile storage. For example the hard disk, flash memory or magnetic tape.
Secondary memory is used to hold data and programs which are not currently being used, but need to be accessed at some point.
A typical personal computer will have a few hundred gigabytes of secondary memory in the form of a hard disk.

Try Now – Digital Electronics MCQs