1. Memory hierarchy
Main Memory: memory unit that communicates directly with the CPU
(RAM)
Auxiliary Memory: device that provide backup storage (Disk Drives)
Example of auxiliary memory: magnetic disks and tapes.
They are used for storing system programs, large data files, and
other backup information
Only program programs and data currently needed by the
processor reside in main memory.
All other information is stored in auxiliary memory and transferred
to main memory when needed.
Memory hierarchy system consists of all storage devices from the
slow but high-capacity auxiliary memory to relatively faster main
memory, to an even smaller and faster cache memory.
Magnetic tapes used to store removable files and disks used as
backup storage.
CPU communicates with auxiliary memory through I/O processor.
Cache Memory: special very-high-speed memory to increase the
processing speed (Cache RAM)
o It is used to compensate the speed differential between main
memory access time and processor logic.
o CPU logic is faster than main memory access.
o So small cache employed between CPU and main memory
whose access time is close to processor logic clock cycle.
o So it is possible to increase the performance rate of the
computer.
2. As the storage capacity of the memory increases, the cost per bit
for storing binary information decreases and the access time of the
memory becomes longer.
Example
Auxiliary memory has a large storage capacity, is relatively
inexpensive, but has low access speed compared to main memory.
The cache memory is very small, relatively expensive, and has very
high access speed.
Goal of memory hierarchy
To obtain the highest-possible average access speed while
minimizing the total cost.
Ratio
Access time ratio between cache and main memory is about 1 to 7
For Example
Cache memory may have an access time of 100ns, while main
memory access time may be 700ns.
Auxiliary memory average access time is usually 1000 times that of
main memory.
Block Size
Block size in auxiliary memory typically ranges from 256 to 2048
words, while cache block size is typically from 1 to 16 words.
Multiprogramming
Multiprogramming refers to the existence of two or more programs
in different parts of the memory hierarchy at the same time.
For example, when one program is waiting for input or output
transfer, there is another program ready to utilize the CPU.
Memory management
A program with its data normally resides in auxiliary memory.
When the program or a segment of the program is to be executed, it
is transferred to main memory to be executed by the CPU.
It is the task of the operating system to maintain in main memory
a portion of this information that is currently active.
3. The part of the computer system that supervises the flow of
information between auxiliary memory and main memory is called
the memory management system.