A group of registers may be interconnected as shown in
Figure 3 to form a memory. This memory is said to store four words of
three bits each. In this organization, the input data lines of the first bit of
all four registers are connected together. Similarly, the input data lines of
the first bit of all four registers are connected together. Similarly, the
input data lines of the second bits are connected together and those of the
third are also connected together as shown in figure 3. The output lines of the
bits of the registers are also connected together.
Figure 3. A 3-bit per word 4- word Memory
Observe that there are four write lines, one for each 3-bit
register and four read-lines. In order to write data in this memory, the
resister in which the data is to be written is specified. If data is to be
written in the second resister, a signal is sent on the write-line of this
register. The data to be written is placed of the input lines. If the data in,
say, the third resister, is to be red, a read-signal is sent on the read-line
corresponding to the register. The contents of the third register appear on the
output lines.
Each of the four registers has one read- line and one
write-line. At a time we may either read from or write in a register. Each
register in the memory should have a unique identification so that the
appropriate register may be selected for writing or reading. In Figure 3. Each
pair of read/ write lines corresponding to a register is identified by the
binary codes 00, 01,10 and 11. The memory has 4 words and each word stores 3
bits. The identification code of each register corresponding to a word in the
memory is known as its address. If a
memory has eight words, the binary codes 000, 001, 010,011,100,101,110 and 111
will uniquely address these lines. In general, with n bits we can address 2^n
words of a memory. In order to select an appropriate word in a memory, for
either reading ot writing, it is necessary to specify the address of the word.
This address is usually specified as a binary number and is placed in a
register called a Memory Address
Register (MAR). A selector circuit is connected to MAR which selects the
appropriate read- or write-control line based on the contents of MAR and on
whether read or write is specified. For the memory shown in Figure 3, MAR will
be 2-bit register.
The data read from a memory or that to be written in a
memory is placed in a register called a Memory
Data Register (MDR). This register receives the output of memory cells
during a read operation. For write- operation, the data to be stored in memory
cells is placed in this register. In the example, memory of Figure 3, MDR will
be 3-bit register.
Block Diagram of the Memory
Figure 4 is a block diagram of the memory of Figure 3
including the registers used to specify the address for address for reading/
writing and the register for storing the data read or to be written.
Figure 4. Block Diagram of a 4-word 3-bit per word memory
In practice, the number of bits stored in memories is much
larger than that shown in this example. The block diagram of memory which
capable of storing 64K (K=1024) bytes is shown in Figure 5. Sometimes the
notation Ki is used to represent 1024 and K to represent 1000. Observe that
64K= 2^16. Thus, the number of bits in MAR is 16. The memory will be made up of
64K words with each word storing eight bits, that is one byte. The MDR will be
an 8-bit register. The selector block in Figure 5 will select a read- or
write-line corresponding to the word to be read or written. Observe that the
address of the word to be read or written will be placed in MAR. The data read
from the memory or to be written will be placed in MAR. the data read from the
memory or to be written in the memory will be placed in MDR.
If the number 173 = (10101101)2= (AD)16 is to be written in
the memory in address (1111111010101011010)2= (FD5A)16, then the number (AD)16
is entered in MDR and the address (FD5A)10 in MAR. The write-signal is
initiated. The number in MDR, namely, (AD)16. will be written in location (FD5A
)16. This address (101010101100110100)2 is placed in MAR.
Figure 5. Block diagram of a 64 KB memoryA read- signal is initiated. A copy of the data stored in
(AB34)16 is retrieved and placed in MDR. If the cells used in the memory are
destructive read-out, then the contents in the specified address will be
cleared to zero. In this case, whatever is read from the memory would, however,
be available in MDR to be written back in the memory.
Assume that at time to the address from which data is to be
retrieved is placed in MAR and a read – signal is applied. If at time t1 the
required data is available in MDR, the elapsed time (t1-t0) is known as the
access time of the memory (Figure 6.a). The access time is usually slightly
larger than the read-time of individual cells in the memory. If data is to be
written in the memory, the data is placed in MDR and the address in MAR at time
t`2 (see Figure 6 b.) and a write- signal is initiated. If writing operation is
completed at time t3, then the elapsed time (t3-t2) is called Write-time.
The time interval between the time t0 at which a read/ write
command is given to the memory and the time t4 when the next such instruction
can be issued to the memory (namely, t4-t0) is known as the cycle time of the
memory (see Figure 6 a.).
If the time taken to access a word in a memory is
independent of the address of the word the memory is called Random Access
Memory(RAM). The main memory used to sore program and data in a computer is a
random access memory. In this article the memory which is illustrated is Random
Access memory.
Summary:
- A number of cells, with each cell storing a bit,
constitute a word. A Word is a group of bits which are stored and retrieved as
a unit. The main memory system of a computer is organized to store a number of
words. A word may store one or more bytes. The length of a word may be
specified as ‘n bits per word’.
- Each word of the main memory of a computer is
stored in an addressable location. A Memory Address register (MAR) stores the
address of the location in the memory from where a word is to be retrieved or
where a word is to be stored. The data retrieved from the memory or the data to
be stored in memory are placed in a Memory Data Register (MDR).
- In order to store a word in memory, it is placed
in MDR and the address where it is to be stored is entered in MAR, and a write
command is given. The time taken to write a word is known as the write-time.
- In order to retrieve a word from memory, the
address of the word is placed in MAR and a read command is issued.
- The retrieve data is placed in MDR by the
memory. The time to retrieve data is called the access time of the memory.