Cache Memory in Computer Organization - GeeksforGeeks (2024)

Last Updated : 26 Jun, 2024

Comments

Improve

Cache memory is a small, high-speed storage area in a computer. The cache is a smaller and faster memory that stores copies of the data from frequently used main memory locations. There are various independent caches in a CPU, which store instructions and data. The most important use of cache memory is that it is used to reduce the average time to access data from the main memory.

By storing this information closer to the CPU, cache memory helps speed up the overall processing time. Cache memory is much faster than the main memory (RAM). When the CPU needs data, it first checks the cache. If the data is there, the CPU can access it quickly. If not, it must fetch the data from the slower 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 in Computer Organization - GeeksforGeeks (1)

Cache Memory

Levels of Memory

  • Level 1 or Register: It is a type of memory in which data is stored and accepted that are immediately stored in the CPU. The most commonly used register is Accumulator, Program counter, Address Register, etc.
  • Level 2 or Cache memory: It is the fastest memory that has faster access time where data is temporarily stored for faster access.
  • Level 3 or Main Memory: It is the memory on which the computer works currently. It is small in size and once power is off data no longer stays in this memory.
  • Level 4 or Secondary Memory: It is external memory that is not as fast as the main memory but data stays permanently in this 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.

Hit Ratio(H) = hit / (hit + miss) = no. of hits/total accesses
Miss Ratio = miss / (hit + miss) = no. of miss/total accesses = 1 - hit ratio(H)

We can improve Cache performance using higher cache block size, and higher associativity, reduce miss rate, reduce miss penalty, and reduce the time to hit in the cache.

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

Cache Memory in Computer Organization - GeeksforGeeks (2)

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.

Cache Memory in Computer Organization - GeeksforGeeks (3)

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.

Cache Memory in Computer Organization - GeeksforGeeks (4)

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.

Cache Memory in Computer Organization - GeeksforGeeks (5)

Set-Associative Mapping

Relationships in the Set-Associative Mapping can be defined as:

m = v * k
i= j mod v

where
i = cache set number
j = main memory block number
v = number of sets
m = number of lines in the cache number of sets
k = number of lines in each set

Cache Memory in Computer Organization - GeeksforGeeks (6)

Set-Associative Mapping – Structure

For more, you can refer to the Difference between Types of Cache Mapping.

Application of Cache Memory

Here are some of the applications of Cache Memory.

  • 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.
  • 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.
  • 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.
  • 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

  • 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

  • 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.

Conclusion

In conclusion, cache memory plays a crucial role in making computers faster and more efficient. By storing frequently accessed data close to the CPU, it reduces the time the CPU spends waiting for information. This means that tasks are completed quicker, and the overall performance of the computer is improved. Understanding cache memory helps us appreciate how computers manage to process information so swiftly, making our everyday digital experiences smoother and more responsive.

Frequently Asked Questions on Cache Memory – FAQs

Why is cache memory important?

Cache memory is important because it helps speed up the processing time of the CPU by providing quick access to frequently used data, improving the overall performance of the computer.

How does cache memory work?

Cache memory works by storing copies of frequently accessed data from the main memory. When the CPU needs data, it first checks the cache. If the data is found (a “cache hit”), it is quickly accessed. If not (a “cache miss”), the data is fetched from the slower main memory.

Can cache memory be upgraded?

Cache memory is built into the CPU or located very close to it, so it cannot be upgraded separately like RAM. To get more or faster cache, you would need to upgrade the entire CPU.

Is cache memory volatile?

Yes, cache memory is volatile, meaning it loses all stored data when the computer is turned off, just like RAM.



`; tags.map((tag)=>{ let tag_url = `videos/${getTermType(tag['term_id__term_type'])}/${tag['term_id__slug']}/`; tagContent+=``+ tag['term_id__term_name'] +``; }); tagContent+=`
Cache Memory in Computer Organization - GeeksforGeeks (2024)

FAQs

What is cache memory in computer organization? ›

cache memory, supplementary memory system that temporarily stores frequently used instructions and data for quicker processing by the central processing unit (CPU) of a computer.

What are the three main components of cache memory? ›

It has three main parts: a directory store, a data section, and status information. All three parts of the cache memory are present for each cache line. The cache must know where the information stored in a cache line originates from in main memory.

What is L1, L2, and L3 cache memory? ›

The cache memory divides into three levels: L1 cache – fastest, but smallest, data and instructions. L2 cache – slower, but bigger, data-only. L3 cache – slowest, but biggest, data-only.

What is the role of cache memory in pipelining? ›

The fundamental purpose of cache memory is to store instructions that are regularly used by the processor during the execution of program instructions. Pipelining includes subdividing the system into different stages. Each stage has buffers in between them.

What is the main purpose of cache memory? ›

The primary purpose of Cache Memory is to provide quick access to frequently used data, resulting in faster data retrieval, improved system performance, and reduced latency when accessing data from main memory.

What is the difference between RAM and cache memory? ›

RAM is the main memory of a computer that stores the operating system, applications, and data, while Cache is a small amount of memory that is used to store frequently accessed data and instructions to speed up processing time. Cache memory is faster but has a smaller capacity than RAM, and it is more expensive.

What data is stored in 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.

What are 3 advantages of cache memory? ›

Cache memory is faster than main memory. It consumes less access time as compared to main memory. It stores the program that can be executed within a short period of time. It stores data for temporary use.

How does cache memory work with CPU? ›

Cache memory, which also is a type of random access memory, does not need to be refreshed. It is built directly into the CPU to give the processor the fastest possible access to memory locations and provides nanosecond speed access time to frequently referenced instructions and data.

How much cache memory is good? ›

A good base for the L1 cache is 64 KB per core. You can find this out by dividing the total amount by the number of cores in the CPU. A 256 KB L2 cache per core is perfectly acceptable, but gamers might benefit from 512 KB per core. And anything between 32 and 96 MB of L3 cache is perfectly fine for most purposes.

What is the difference between primary memory and cache memory? ›

Primary memory is computer memory that a processor or computer accesses first or directly. Cache memory temporarily stores frequently used instructions and data.

Why is cache preferred over using RAM? ›

Cache memory is beneficial because: - Cache memory holds frequently used instructions/data which the processor may require next and it is faster access memory than RAM, since it is on the same chip as the processor.

How does cache memory improve performance? ›

How does cache memory improve system performance? Cache memory can improve system performance by reducing the time it takes for the processor to access frequently used data and instructions, resulting in faster processing speeds and better overall performance.

How cache helps in memory management? ›

Memory cache: This is a small portion of main memory (RAM) set aside as a temporary storage area for frequently accessed data. Memory caching helps to improve the performance of applications by reducing the time it takes to access data from slower storage media like hard disk drives or networks.

What happens if we delete cache memory? ›

It can free up more room for RAM and also help limit how websites use data on your phone to track you. Clearing cache on Android can also help fix issues and improve performance. That's because cached files can become corrupted or overloaded. Clearing cache can force a browser or app to update and work as it should.

What happens when cache memory is removed from a computer? ›

Deleting or clearing your cache memory will wipe your computer clean of all the repeated tasks you perform on your device. You can choose not to clear memory such as logins and credentials, bank details and so on; but memory attained to tasks performed or for example websites visited on a browser, will be cleared.

How to clear cache memory in computer? ›

How to Clear Cache and Cookies on Google Chrome for Windows
  1. Open 'Google Chrome'.
  2. Click the 'three dots ⋮' for the menu, select 'More Tools', then 'Clear browsing data'.
  3. Choose a time range, or select 'All time' to delete everything.
  4. Check 'Cookies and other site data' and 'Cached images and files'.
Jun 20, 2024

What is the difference between storage memory and cache? ›

Cache is distinguished by being an ephemeral copy of a relatively small amount of currently in-use data for rapid access or to buffer writes. Storage, by contrast, sits behind/below cache and provides the bulk, long term retention location for data and is addressed in blocks rather than bytes.

Top Articles
What Happened to FedEx: A Look at the Company’s Recent Struggles | ShipScience Blog
The Difference between Secured and Unsecured Creditors
Netronline Taxes
Kmart near me - Perth, WA
Lifewitceee
Missed Connections Inland Empire
How Many Cc's Is A 96 Cubic Inch Engine
Missing 2023 Showtimes Near Cinemark West Springfield 15 And Xd
Voorraad - Foodtrailers
Ingles Weekly Ad Lilburn Ga
Koordinaten w43/b14 mit Umrechner in alle Koordinatensysteme
Jefferson County Ky Pva
Vocabulario A Level 2 Pp 36 40 Answers Key
Tiraj Bòlèt Florida Soir
Lantana Blocc Compton Crips
Delectable Birthday Dyes
Byte Delta Dental
Images of CGC-graded Comic Books Now Available Using the CGC Certification Verification Tool
Salem Oregon Costco Gas Prices
Ess.compass Associate Login
Where to Find Scavs in Customs in Escape from Tarkov
Walgreens Tanque Verde And Catalina Hwy
Arre St Wv Srj
Metro Pcs.near Me
Roanoke Skipthegames Com
Urbfsdreamgirl
27 Fantastic Things to do in Lynchburg, Virginia - Happy To Be Virginia
Evil Dead Rise Ending Explained
Lininii
King Soopers Cashiers Check
Ilabs Ucsf
What Is The Lineup For Nascar Race Today
Lehpiht Shop
24 slang words teens and Gen Zers are using in 2020, and what they really mean
Newcardapply Com 21961
Exploring TrippleThePotatoes: A Popular Game - Unblocked Hub
Cvb Location Code Lookup
Laurin Funeral Home | Buried In Work
Dr. John Mathews Jr., MD – Fairfax, VA | Internal Medicine on Doximity
Sc Pick 4 Evening Archives
Mvnt Merchant Services
Daily Times-Advocate from Escondido, California
Scarlet Maiden F95Zone
What Is A K 56 Pink Pill?
Senior Houses For Sale Near Me
Breaking down the Stafford trade
Www Pig11 Net
Is Chanel West Coast Pregnant Due Date
Mytmoclaim Tracking
Craigslist Anc Ak
Latest Posts
Article information

Author: Kelle Weber

Last Updated:

Views: 5524

Rating: 4.2 / 5 (73 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Kelle Weber

Birthday: 2000-08-05

Address: 6796 Juan Square, Markfort, MN 58988

Phone: +8215934114615

Job: Hospitality Director

Hobby: tabletop games, Foreign language learning, Leather crafting, Horseback riding, Swimming, Knapping, Handball

Introduction: My name is Kelle Weber, I am a magnificent, enchanting, fair, joyous, light, determined, joyous person who loves writing and wants to share my knowledge and understanding with you.