Memory New
Memory New
Memory Hierarchy
Memory hierarchy in a computer system :
Main Memory : memory unit that communicates directly with the CPU (RAM)
Auxiliary Memory : device that provide backup storage (Disk Drives)
Cache Memory : special very-high-speed memory to increase the processing
speed (Cache RAM)
Auxiliary memory
Magnetic
tapes
Main
I/ O proc essor
memory
Magnetic
disks
C ac he
C PU
memory
Multiprogramming
enable the CPU to process a number of independent program concurrently
Memory Management System :
supervise the flow of information between auxiliary memory and main memory
Memory Hierarchy is to obtain the highest possible access speed while minimizing
the total cost of the memory system
Register
Cache
Main Memory
Magnetic Disk
Magnetic Tape
RAM Chips
Static RAM
• Consists of Flip-flops to store binary information.
• Static RAM is easier to use and having short Read/Write cycles
• Used mostly in Cache memory.
Dynamic RAM
Stores binary information in the form of electric charge stored inside the
capacitor.
The capacitors are provided by MOS transistors.
Refreshing circuit is required to refresh the memory.
• Dynamic RAM offers reduced power consumption and large storage
capacity.
• It is used to construct main memory.
Decoder
3 2 1 0
CS1
CS2
Data
RD 128 x 8
RAM 1
WR
AD7
CS1
CS2
Data
RD 128 x 8
RAM 2
WR
AD7
CS1
CS2
Data
RD 128 x 8
RAM 3
WR
AD7
CS1
CS2
RD 128 x 8 Data
RAM 4
WR
AD7
CS1
CS2
Data
1- 7 512 x 8
8
9 } AD9 ROM
Q1. a) How many 128x8 RAM chips are needed to provide a memory capacity of 2048 bytes.
b) How any lines of the address bus must be used to access 2048 bytes of memory. How
many of these lines will be common to all chips.
c) How many lines must be decoded for chip select? Specify the size of decoders.
Q2. Extend the memory system of Fig.1 to 4096 bytes of RAM and 4096 bytes of ROM. List
the memory-address map and indicate what size decoders are needed.
Q3. A computer employs RAM chips of 256x8 and ROM chips of 1024x8. The computer
system needs 2K bytes of RAM, 4K bytes of ROM, and four interface units each with four
registers. A memory-mapped I/O configuration used. The two highest-order bits of the address
bus are assigned 00 for RAM, 01 for ROM, and 10 for interface registers.
Hit Ratio
the ratio of the number of hits divided by the total CPU references (hits +
misses) to memory
» hit : the CPU finds the word in the cache
» miss : the word is not found in cache (CPU must read main
memory)
A computer with cache access time of 100ns, a main memory access time of
1000 ns, a hit ratio of 0.9 is having average access time of 200ns.
Mapping
The transformation of data from main memory to cache memory
» 1) Associative mapping
» 2) Direct mapping
» 3) Set-associative mapping
Associative Memory:
main memory : 32 K x 12 bit word (15 bit address lines)
cache memory : 512 x 12 bit word
» CPU sends a 15-bit address to cache
Hit : CPU accepts the 12-bit data from cache
Miss : CPU reads the data from main memory (then data is
written to cache)
Main memory
C PU
32K× 12 C ac he memory
512× 12
C P U address(15 bits)
Argument register
Address D ata
0 1 0 0 0 3 4 5 0
0 2 7 7 7 6 7 1 0
2 2 3 4 5 1 2 3 4
Direct mapping :
n bit memory address
Tag field (n - k) : Index field (k)
2k words cache memory + 2n words main memory
Tag = 6 bit (15 - 9), Index = 9 bit
02777 6710
770 02
Block 63
777 02 6710
(a) Main memory
777 0 2 6 7 1 0 0 0 2 3 4 0
A two-way set associative cache memory uses blocks of four words. The cache
can accommodate a total of 2048 words from main memory. The main memory
size is 128Kx32. Formulate all pertinent information required to construct the
cache memory. What is the size of cache memory.
The access time of a cache memory is 100ns and that of main memory is
1000ns. It is estimated that 80 percent of the memory requests are for read and
the remaining 20 percent for write. The hit ratio for read access only is 0.9. A
write-through procedure is used. What is the average access time of the system
considering only memory read cycles. What is the average access time of the
system for both read and write requests. What is the hit ratio considering the
write requests also.
Writing to Cache :
» 1) Write-through :
» 2) Write-back :
Cache Initialization
Cache is initialized :
» 1) When power is applied to the computer
» 2) When main memory is loaded with a complete set of programs
from auxiliary memory
» 3) Cache is initialized by clearing all the valid bits to 0.
Valid bit
» Indicate whether or not the word contains valid data
Address Mapping
Memory Mapping Table for Virtual Address -> Physical Address
Virtual address
Physical
Address
Memory table Main memory
buffer register buffer register
Table Presence
address bit
000 0 Main memory
001 11 1 Block 0
010 00 1 Block 1
011 0 01 0101010011 Block 2
100 0 Block 3
Main memory
101 01 1 address register
Memory page table 110 10 1
111 0 MBR
01 1
FIFO algorithm selects the page that has been in memory the longest time
Page frames
Reference string
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 4 4 4 0 1 1 1
0 0 0 0 0 0 3 3 3 0 0
1 1 3 3 2 2 2 2 2 7
Page frames
Secondary Storage
Sector 0, track 1
Sector 3, track n
Sector 0, track 0
Access Time:
Seek time: Time required to move the R/W head to the proper track.
Rotational latency: Time required to move the starting position of sector under the
read/write head.
Computer System Architecture Chap. 12 Memory Organization Dept. of Info. Of Computer.
Optical
Disks Aluminum Acrylic Label
12-33
(a) Cross-section
Pit Land
Reflection Reflection
No reflection
0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0
CD is 120 mm in diameter.
15 mm hole in the center.
Data stored on tracks that cover the area from 25 mm radius
to 58 mm radius.
There are more than 15,000 tracks.
Spiral structured were unraveled will be more than 5
KM long !
Basic access speed is 1X, 75 sectors per second.
CD-RW:
Consists of alloy of silver, indium, antimony & tellurum.
When heated above 500c, it absorbs light.(Amorphous state)
When heated to 200c, it goes in crystalline state and allows
light to pass through.
Computer System Architecture Chap. 12 Memory Organization Dept. of Info. Of Computer.
Magnetic Tape Systems 12-35
File File
mark File
mark
• •
• • 7 or 9
• • bits
• •
Processor Memory
k-bit
address bus
MAR
n-bit
data bus
Up to 2k addressable
MDR locations
Control lines
( R / W , MFC, etc.)
W0
•
•
•
FF FF
A0 W1
•
•
•
A1
Address Memory
• • • • • • cells
decoder • • • • • •
A2 • • • • • •
A3
W15
•
•
•
16 words of 8 bits each: Sense / Write Sense / Write Sense / Write R/W
circuit circuit circuit
16x8 memory org.. CS
It has 16 external
connections: addr. 4, data
Data input b7 b1 b0
8, control: 2,
/output lines:
power/ground: 2
Figure 5.2. Organization of bit cells in a memory chip.
5-bit row
address W0
W1
32 X 32
5-bit
decoder memory cell
array
W31
Sense/ Write
circuitry
10-bit
address
32-to-1
R/ W
output multiplexer
and
CS
input demultiplexer
5-bit column
address
Data
input/output
For example:
4MB chip may have 512K X 8 organization, 19 address and 8 data lines.
b b¢
T1 T2
X Y
Word line
Bit lines
Static RAMs are fast, but they cost more area and are more expensive.
Dynamic RAMs (DRAMs) are cheap and area efficient, but they can not
retain their state indefinitely – need to be periodically refreshed.
Bit line
Word line
T
C
Bit line
Word line
T
Not connected to store a 1
P Connected to store a 0
Input Devices:
Keyboard, Optical devices: Card reader, Bar code reader etc.
Magnetic Input Devices: Magnetic stripe reader
Screen Input Devices: Touch screen, Light pen etc.
Output Devices:
Keyboard, Optical devices: Card reader, Bar code reader etc.
Peripherals that provide auxiliary storage are magnetic tape and
magnetic disk.
Input and output devices communicate alphanumeric information
by using ASCII 7bit code.
To use computer efficiently, large number of programs and data
must be prepared in advance for execution with computer.
Use one common bus for both memory and I/O but have separate
The distinction between memory and I/O transfer is made through separate read
and control lines.
I/O read and I/O write are enabled during I/O transfer and Memory read/write are
enabled during memory transfer.
In the isolated I/O configuration, CPU have distinct input and output instructions
where each of it will be associated with address of the interface register.
When the CPU fetches and decodes the I/O instruction, it places the address
associated with the instruction on the common address lines and enables I/O
read or I/O write control line.
When the CPU fetches and decodes the Memory instruction, it places the
address associated with the instruction on the common address lines and
enables Memory read or Memory write control line.
Here the same address space is used for both memory and I/O. The computer
treats interface register as a part of memory system.
The assigned address cannot be used for storing memory words, which reduces
memory address range available.
CPU manipulate I/O data residing in interface registers with the same instruction
used to manipulate memory words.
Load and store instruction used for reading/writing from memory and can be use
for input or output data from I/O instruction.
With memory-mapped I/O all instructions that refer to memory are also available
for I/O.
Data transfer between the CPU and the I/O devices may be handled in
variety of modes. Some modes use the CPU as an intermediate path
and others transfer the data directly to and from the memory unit.
Programmed I/O
Interrupt-initiated I/O
Programmed I/O operations are the result of I/O instructions. Each data
item transfer is initiate by an instruction in the program.
Usually the transfer is to and from a CPU register and peripheral. Other
instructions are needed to transfer data between memory and CPU.
In the programmed I/O CPU stays in program loop until the I/O indicates
that it is ready for data transfer.
When the interface determines that device is ready for data transfer, it
generates an interrupt request.
Upon detecting external interrupt signal, the CPU momentarily stops the
task it is processing.
It then branches to fulfill the I/O request and return to the original task.
Based on the concept of Priority Interrupt.
Removing the CPU and letting the peripheral device manage the
memory bus directly improve speed of transfer.
A DMA controller takes over the buses to manage the transfer directly
between I/O device and memory.
During DMA transfer, the CPU is idle and has no control over memory
buses.
By using Bus Request(BR) and Bus Grant(BG) the buses are released
to DMA controller.
Computer System Architecture Chap. 12 Memory Organization Dept. of Info. Of Computer.
DMA 12-58
Cycle stealing: Allows the DMA controller to transfer one data word
at a time after it must return the control of buses to CPU.
The word count, which is the number of words in the memory block.
When an I/O operation is required, the CPU informs the IOP where to find the
I/O program and then leaves the transfer details to the IOP.
CPU instructions also test I/O status conditions needed for making decisions on
various I/O activities.
IOP is also responsible of taking care of data synchronization, formats etc
between CPU and I/O devices.
In most computers CPU is master and IOP is slave.
The IOP typically asks for CPU attention by means of Interrupt.
Computer System Architecture Chap. 12 Memory Organization Dept. of Info. Of Computer.
Bus Arbitration 12-64
The device that is allowed to initiate data transfers on the bus at any
given time is called Bus master.
If the registers in the interface share a common clock with the CPU
registers, the transfer is synchronous.
Strobe control:
It employs single control line.
It can be activated either by source or destination unit.