3. Main Memory
The main memory acts as the central storage unit in a computer system.
It is a relatively large and fast memory which is used to store programs and
data during the run time operations.
The primary technology used for the main memory is based on semiconductor
integrated circuits.
The integrated circuits for the main memory are classified into two major
units.
RAM (Random Access Memory) integrated circuit chips
ROM (Read Only Memory) integrated circuit chips
4. RAM integrated circuit chips
The RAM integrated circuit chips are further classified into two possible
operating modes, static and dynamic.
The primary compositions of a static RAM are flip-flops that store the binary
information.
The nature of the stored information is volatile, i.e. it remains valid as long
as power is applied to the system.
The static RAM is easy to use and takes less time performing read and write
operations as compared to dynamic RAM.
5. ROM integrated circuit
The primary component of the main memory is RAM integrated circuit chips,
but a portion of memory may be constructed with ROM chips.
A ROM memory is used for keeping programs and data that are permanently
resident in the computer.
Apart from the permanent storage of data, the ROM portion of main memory
is needed for storing an initial program called a bootstrap loader.
The primary function of the bootstrap loader program is to start the
computer software operating when power is turned on.
6. Auxillary Memory
An Auxiliary memory is referred to as the lowest-cost, highest-space, and slowest-
approach storage in a computer system.
It is where programs and information are preserved for long-term storage or when
not in direct use.
The most typical auxiliary memory devices used in computer systems are magnetic
disks and tapes.
Magnetic Disks
A magnetic disk is a round plate generated of metal or plastic coated with
magnetized material. There are both sides of the disk are used and multiple disks
can be stacked on one spindle with read/write heads accessible on each surface.
All disks revolve together at high speed and are not stopped or initiated for access
purposes. Bits are saved in the magnetized surface in marks along concentric
circles known as tracks. The tracks are frequently divided into areas known as
sectors.
7. Magnetic Tape
Magnetic tape transport includes the robotic, mechanical, and electronic
components to support the methods and control structure for a magnetic tape
unit.
The tape is a layer of plastic coated with a magnetic documentation medium.
Bits are listed as a magnetic stain on the tape along various tracks. There are
seven or nine bits are recorded together to form a character together with a
parity bit. Read/write heads are mounted one in each track therefore that
information can be recorded and read as a series of characters.
Magnetic tape units can be stopped, initiated to move forward, or in the
opposite, or it can be reversed. However, they cannot be initiated or stopped
fast enough between single characters.
For this reason, data is recorded in blocks defined as records. Gaps of
unrecorded tape are added between records where the tape can be stopped.
8. Associative Memory
Associative memory is also known as content addressable memory (CAM) or
associative storage or associative array.
It is a special type of memory that is optimized for performing searches
through data, as opposed to providing a simple direct access to the data
based on the address.
Associative memory of conventional semiconductor memory (usually RAM)
with added comparison circuit that enables a search operation to complete in
a single clock cycle.
It is a hardware search engine, a special type of computer memory used in
certain very high searching applications.
9. Applications of Associative memory :-
It can be only used in memory allocation format.
It is widely used in the database management systems, etc.
Advantages of Associative memory :-
It is used where search time needs to be less or short.
It is suitable for parallel searches.
It is often used to speedup databases.
It is used in page tables used by the virtual memory and used in neural networks.
Disadvantages of Associative memory :-
It is more expensive than RAM.
Each cell must have storage capability and logical circuits for matching its content
with external argument.
10. Cache Memory
Cache Memory is a special very high-speed memory.
It is used to speed up and synchronizing with high-speed CPU.
Cache memory is costlier than main memory or disk memory but economical
than CPU registers.
Cache memory is an extremely fast memory type that acts as a buffer
between RAM and the CPU.
It holds frequently requested data and instructions so that they are
immediately available to the CPU when needed.
11. Cont…
Cache memory is used to reduce the average time to access data from the
Main memory.
The cache is a smaller and faster memory which stores copies of the data
from frequently used main memory locations.
There are various different independent caches in a CPU, which store
instructions and data.
12. Virtual Memory
Virtual Memory is a storage allocation scheme in which secondary memory can
be addressed as though it were part of the main memory.
The addresses a program may use to reference memory are distinguished
from the addresses the memory system uses to identify physical storage sites,
and program-generated addresses are translated automatically to the
corresponding machine addresses.
The size of virtual storage is limited by the addressing scheme of the
computer system and the amount of secondary memory is available not by the
actual number of the main storage locations.
13. Following are the situations, when entire
program is not required to be loaded fully in
main memory.
User written error handling routines are used only when an error occurred in the
data or computation.
Certain options and features of a program may be used rarely.
Many tables are assigned a fixed amount of address space even though only a small
amount of the table is actually used.
The ability to execute a program that is only partially in memory would counter
many benefits.
Less number of I/O would be needed to load or swap each user program into
memory.
A program would no longer be constrained by the amount of physical memory that
is available.
Each user program could take less physical memory, more programs could be run
the same time, with a corresponding increase in CPU utilization and throughput.
14.
15. Memory Management Hardware
In a multiprogramming computer, the operating system resides in a part of
memory and the rest is used by multiple processes.
The task of subdividing the memory among different processes is called
memory management.
Memory management is a method in the operating system to manage
operations between main memory and disk during process execution.
The main aim of memory management is to achieve efficient utilization of
memory.
16. Why Memory Management is required:
Allocate and de-allocate memory before and after process execution.
To keep track of used memory space by processes.
To minimize fragmentation issues.
To proper utilization of main memory.
To maintain data integrity while executing of process.