How Does the CPU Cache Work?

The cache on your CPU has become a veryand so gets taken off the shelf and put into a
important part of today's computing. The cache is abookcase behind the desk. The bookcase is still closer
very high speed and very expensive piece ofthan the rest of the library and still quick to get to. Now
memory, which is used to speed up the memorywhen the next person come in asking for Lord of the
retrieval process. Due to its expensive CPU's comeRings, the librarian will firstly look on the shelf and see
with a relatively small amount of cache compared withthat the book isn't there. They will then proceed to the
the main system memory. Budget CPU's have evenbookcase to see if the book is in there. This is the
less cache, this is the main way that the top processorsame for CPU's. They check the L1 cache first and
manufacturers take the cost out of their budgetthen check the L2 cache for the data they require.Is
CPU's.How does the CPU Cache work?Without themore Cache always better?The answer is mostly yes
cache memory every time the CPU requested data itbut certainly not always. The main problem with having
would send a request to the main memory whichtoo much cache memory is that the CPU will always
would then be sent back across the memory bus tocheck the cache memory before the main system
the CPU. This is a slow process in computing terms.memory. Looking at our library again as an example. If
The idea of the cache is that this extremely fast20 different people come into the library all after
memory would store and data that is frequentlydifferent books that haven't been taken out in quite a
accessed and also if possible the data that is around it.while but the library has been busy before and so the
This is to achieve the quickest possible response timeshelf and the bookcase are both full we have a
to the CPU. Its based on playing the percentages. If aproblem. Each time a person asks for a book the
certain piece of data has been requested 5 timeslibrarian will check the shelf and then check the
before, its likely that this specific piece of data will bebookcase before realising that the book has to be in
required again and so is stored in the cachethe main library. The librarian each time then trots off
memory.Lets take a library as an example o howto get the book from the library. If this library had a non
caching works. Imagine a large library but with only onecache system it would actually be quicker in this
librarian (the standard one CPU setup). The first personinstance because the librarian would go straight to the
comes into the library and asks for Lord of the Rings.book in the main library instead of checking the shelf
The librarian goes off follows the path to theand the bookcase.As the fact that non cache
bookshelves (Memory Bus) retrieves the book andsystems only work in certain circumstances and so in
gives it to the person. The book is returned to thecertain applications CPU's are definitely better with a
library once its finished with. Now without cache thedecent amount of cache. Applications such as MPEG
book would be returned to the shelf. When the nextencoders are not good cache users because they
person arrives and asks for Lord of the Rings, thehave a constant stream of completely different
same process happens and takes the same amountdata.Does cache only store frequently accessed
of time.If this library had a cache system then once thedata?If the cache memory has space it will store data
book was returned it would have been put on a shelfthat is close to that of the frequently accessed data.
at the librarians desk. This way once the secondLooking back again to our library. If the first person of
person comes in and asks for Lord of the Rings, thethe day comes into the library and takes out Lord of
librarian only has to reach down to the shelf andthe Rings, the intelligent librarian may well place Lord of
retrieve the book. This significantly reduces the time itthe Rings part II on the shelf. In this case when the
takes to retrieve the book. Back to computing this isperson brings back the book, there is a good chance
the same idea, the data in the cache is retrieved muchthat they will ask for Lord of the Rings part II. As this
quicker. The computer uses its logic to determinewill happen more times than not. It was well worth the
which data is the most frequently accessed andLibrarian going to fetch the second part of the book in
keeps them books on the shelf so to speak.That is acase it was required.Cache Hit and Cache MissCache
one level cache system which is used in most hardhit and cache miss are just simple terms for the
drives and other components. CPU's however use a 2accuracy of what goes into the CPU's cache. If the
level cache system. The principles are the same. TheCPU accesses its cache looking for data it will either
level 1 cache is the fastest and smallest memory, levelfind it or it wont. If the CPU finds what's its after that's
2 cache is larger and slightly slower but still smaller andcalled a cache hit. If it has to go to main memory to
faster than the main memory. Going back to the library,find it then that is called a cache miss. The percentage
when Lord of the Rings is returned this time it will beof hits from the overall cache requests is called the hit
stored on the shelf. This time the library gets busy andrate. You will be wanting to get this as high as possible
lots of other books are returned and the shelf soon fillsfor best performance.
up. Lord of the Rings hasn't been taken out for a while