Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
27 views

Cache Memory

Uploaded by

Shiji Mathew
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Cache Memory

Uploaded by

Shiji Mathew
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Cache Memory-

 Cache memory is a Random Access Memory.


 The main advantage of cache memory is its very fast speed.
 It can be accessed by the CPU at much faster speed than main memory.
Characteristics of Cache Memory
 Cache memory is an extremely fast memory type that acts as a buffer
between RAM and the CPU.
 Cache Memory holds frequently requested data and instructions so that
they are immediately available to the CPU when needed.
 Cache memory is costlier than main memory or disk memory but more
economical than CPU registers.
 Cache Memory is used to speed up and synchronize with a high-speed
CPU.

Cache Memory

Location-

 Cache memory lies on the path between the CPU and the main memory.
 It facilitates the transfer of data between the processor and the main memory at the
speed which matches to the speed of the processor.
 Data is transferred in the form of words between the cache memory and the CPU.
 Data is transferred in the form of blocks or pages between the cache memory and the
main memory.
Cache Performance
When the processor needs to read or write a location in the main memory, it
first checks for a corresponding entry in the cache.
 If the processor finds that the memory location is in the cache, a Cache
Hit has occurred and data is read from the cache.
 If the processor does not find the memory location in the cache, a cache
miss has occurred. For a cache miss, the cache allocates a new entry and
copies in data from the main memory, then the request is fulfilled from the
contents of the cache.
The performance of cache memory is frequently measured in terms of a
quantity called Hit ratio.

Purpose-

 The fast speed of the cache memory makes it extremely useful.


 It is used for bridging the speed mismatch between the fastest CPU and the main
memory.
 It does not let the CPU performance suffer due to the slower speed of the main
memory.
Cache Mapping
There are three different types of mapping used for the purpose of cache
memory which is as follows:
 Direct Mapping
 Associative Mapping
 Set-Associative Mapping

1. Direct Mapping
The simplest technique, known as direct mapping, maps each block of main
memory into only one possible cache line. or In Direct mapping, assign each
memory block to a specific line in the cache. If a line is previously taken up by
a memory block when a new block needs to be loaded, the old block is trashed.
An address space is split into two parts index field and a tag field. The cache
is used to store the tag field whereas the rest is stored in the main memory.
Direct mapping`s performance is directly proportional to the Hit ratio.
i = j modulo m
where
i = cache line number
j = main memory block number
m = number of lines in the cache

Direct Mapping

For purposes of cache access, each main memory address can be viewed as
consisting of three fields. The least significant w bits identify a unique word or
byte within a block of main memory. In most contemporary machines, the
address is at the byte level. The remaining s bits specify one of the 2s blocks
of main memory. The cache logic interprets these s bits as a tag of s-r bits (the
most significant portion) and a line field of r bits. This latter field identifies one
of the m=2r lines of the cache. Line offset is index bits in the direct mapping.
Direct Mapping – Structure

2. Associative Mapping
In this type of mapping, associative memory is used to store the content and
addresses of the memory word. Any block can go into any line of the cache.
This means that the word id bits are used to identify which word in the block
is needed, but the tag becomes all of the remaining bits. This enables the
placement of any word at any place in the cache memory. It is considered to
be the fastest and most flexible mapping form. In associative mapping, the
index bits are zero.

Associative Mapping – Structure

3. Set-Associative Mapping
This form of mapping is an enhanced form of direct mapping where the
drawbacks of direct mapping are removed. Set associative addresses the
problem of possible thrashing in the direct mapping method. It does this by
saying that instead of having exactly one line that a block can map to in the
cache, we will group a few lines together creating a set. Then a block in
memory can map to any one of the lines of a specific set. Set-associative
mapping allows each word that is present in the cache can have two or more
words in the main memory for the same index address. Set associative cache
mapping combines the best of direct and associative cache mapping
techniques. In set associative mapping the index bits are given by the set
offset bits. In this case, the cache consists of a number of sets, each of which
consists of a number of lines.

2. Associative Mapping
In this type of mapping, associative memory is used to store the content and
addresses of the memory word. Any block can go into any line of the cache.
This means that the word id bits are used to identify which word in the block
is needed, but the tag becomes all of the remaining bits. This enables the
placement of any word at any place in the cache memory. It is considered to
be the fastest and most flexible mapping form. In associative mapping, the
index bits are zero.

Associative Mapping – Structure


3. Set-Associative Mapping
This form of mapping is an enhanced form of direct mapping where the
drawbacks of direct mapping are removed. Set associative addresses the
problem of possible thrashing in the direct mapping method. It does this by
saying that instead of having exactly one line that a block can map to in the
cache, we will group a few lines together creating a set. Then a block in
memory can map to any one of the lines of a specific set. Set-associative
mapping allows each word that is present in the cache can have two or more
words in the main memory for the same index address. Set associative cache
mapping combines the best of direct and associative cache mapping
techniques. In set associative mapping the index bits are given by the set
offset bits. In this case, the cache consists of a number of sets, each of which
consists of a number of lines.

Set-Associative Mapping

Application of Cache Memory


Here are some of the applications of Cache Memory.
1. Primary Cache: A primary cache is always located on the processor chip.
This cache is small and its access time is comparable to that of processor
registers.
2. Secondary Cache: Secondary cache is placed between the primary cache
and the rest of the memory. It is referred to as the level 2 (L2) cache. Often,
the Level 2 cache is also housed on the processor chip.
3. Spatial Locality of Reference: Spatial Locality of Reference says that
there is a chance that the element will be present in close proximity to the
reference point and next time if again searched then more close proximity
to the point of reference.
4. Temporal Locality of Reference: Temporal Locality of Reference uses
the Least recently used algorithm will be used. Whenever there is page
fault occurs within a word will not only load the word in the main memory
but the complete page fault will be loaded because the spatial locality of
reference rule says that if you are referring to any word next word will be
referred to in its register that’s why we load complete page table so the
complete block will be loaded.
Advantages of Cache Memory
 Cache Memory is faster in comparison to main memory and secondary
memory.
 Programs stored by Cache Memory can be executed in less time.
 The data access time of Cache Memory is less than that of the main
memory.
 Cache Memory stored data and instructions that are regularly used by the
CPU, therefore it increases the performance of the CPU.
Disadvantages of Cache Memory
 Cache Memory is costlier than primary memory and secondary memory.
 Data is stored on a temporary basis in Cache Memory.
 Whenever the system is turned off, data and instructions stored in cache
memory get destroyed.
 The high cost of cache memory increases the price of the Computer
System.

Multilevel Cache Organization-

 A multilevel cache organization is an organization where cache memories of different


sizes are organized at multiple levels to increase the processing speed to a greater
extent.
 The smaller the size of cache, the faster its speed.
 The smallest size cache memory is placed closest to the CPU.
 This helps to achieve better performance in terms of speed.

Example-

Three level cache organization consists of three cache memories of different size
organized at three different levels as shown below-

Size (L1 Cache) < Size (L2 Cache) < Size (L3 Cache) < Size (Main Memory)
Cache memory bridges the speed mismatch between the processor and the main memory.
When cache hit occurs,
 The required word is present in the cache memory.
 The required word is delivered to the CPU from the cache memory.

When cache miss occurs,


 The required word is not present in the cache memory.
 The page containing the required word has to be mapped from the main memory.
 This mapping is performed using cache mapping techniques.

You might also like