What is the function of L2
Cache, how does it work and how does it differ from and relate
to Disk Cache?
Corey Sims <coreys@bnr.ca> wrote:
Would someone please explain to me the basic function of
L2 cache?
Thanks in advance,
Corey
A cache is a small, higher speed memory system which stores
the most recently used instructions or data from a larger
but slower memory system. Because programs frequently use
a subset of instructions or data repeatedly, the cache is
a cost effective method of enhancing the memory system in
a "statistical" method, without having to resort
to the expense of making ALL of the memory system faster.
For example, when the processor (CPU) performs a read (fetch)
operation, it will first check to see if the data or instruction
it requests is in the cache - if it is, then the cache provides
the data very quickly to the processor, without having to
access slower main memory (DRAM or ROM). If the data or instruction
is NOT in the cache, the CPU fetches the item needed from
DRAM or ROM, AND also stores a copy in the cache (assuming
the "page" of the address has been marked as "cacheable"
by system software). Now this instruction or data item is
available in the cache if the processor requests it again.
The larger the cache, the more instructions and data the cache
can store, and the more likely it is for the requested item
to be in the cache.
An n-th level cache is n-1 levels away from the CPU. A 1st
Level cache, (also called an internal, or L1 cache) is usually
built into the processor chip itself, while 2nd level caches
(also called external, or L2 caches) and higher level caches
are usually outside the processor chip. Some systems may have
levels beyond L2. Each cache level away from the processor
(larger value of n) is typically larger, but slower, than
levels closer to the processor.
The PowerPC 601 processor, for example, has a 32K cache inside
the processor itself. This is the Level One, or L1 cache.
This cache is extremely high speed, but obviously very small
compared to the amount of DRAM (main memory) in the system,
which is at least 8 megabytes for a Power Macintosh.
For that reason, Apple put an expansion slot specifically
for additional cache memory on each Power Macintosh motherboard.
This cache memory is the Level Two, or L2, cache. This slot
can accommodate a cache of ANY size on the 6100 / 7100 / 8100
PowerMacs, including The L2 Company's 1024 KBbyte (1MegaByte)
cache - the largest and fastest currently available. In the
case of the Power Macs, L3 would be the main memory (DRAM)
or ROM itself - there are no cacheing levels beyond L2 in
the current Apple Power Macintosh implementation. (Unless
you consider the case of Virtual Memory, where it could be
argued that the "physical" DRAM could be considered
as a L3 level, while the hard drive space used for VM could
be considered "main" memory.
With cache memory being much faster than DRAM or ROM, it
can be accessed more quickly, resulting in faster system throughput.
For example, in the 7100 with no cache card installed, if
the 601 processor requests a "burst" of data (4
consecutive fetches of 64 bits each - a typical fetch), it
takes 12 clocks to fetch this if the access is to DRAM, and
16 clocks if the data has to come from ROM. However, with
an L2 cache card, if the ROM or RAM address is in the L2 cache
(a cache "hit"), the access only takes 6 clocks!
However, there is a slight catch - if a cache card is installed,
and the requested item is NOT in the cache (a cache "miss"),
then it takes 14 clocks to access a burst of data from DRAM,
and 17 clocks to access a burst of data from ROM - there is
some overhead involved in "checking" to see if the
address is in the cache. For this reason, a L2 cache that
is too small could theoretically decrease performance. If
its "hit" rate is too low, then you always incur
the overhead of checking the cache, without the benefit of
the requested address often being there.
The good news is that the overhead of checking to see if
the requested fetch is in the cache does NOT increase with
a larger size cache - it is always the same number of clocks.
Therefore, a larger cache is beneficial in two regards - it
incurs no more overhead than a smaller cache, and its "hit
ratio" will be higher than a smaller cache.
Now, what is the "disk cache" in the memory control
panel? This is also a "cache", but its function
is to enhance the performance of your hard drive or other
mass storage devices (CD, for example). It does this by allocating
a portion of your main memory (DRAM) to store the most frequently
used sections of your hard drive. Because main memory (DRAM)
is much faster than a hard drive, this enhances your hard
drive performance.
However, unlike a hardware L2 cache, there must be a software
routine which runs to check to see if the requested hard drive
sector is in the disk cache in main memory. If the disk cache
is set too large, this software routine will take so long
to do its checking that it will offset the benefits of cacheing
the sector. For that reason, in DISK caches (NOT L2 CACHES),
some experimention is necessary to find the optimum size to
avoid a performance DECREASE.
Interestingly, it is possible, when running both a disk cache
AND an L2 cache, to have the L2 cache contain hard drive data,
causing a tremendous speed increase in apparent disk throughput.
How? The disk cache puts frequently used hard drive data in
DRAM, and then the L2 cache puts frequently used sections
of DRAM in L2 cache. If the DRAM sections cached by the L2
cache contain hard drive data, then your hard drive's read
performance will be greatly enhanced. This effect would be
most likely with a large (1024K) cache, with the memory control
panel's disk cache set to roughly the same size as the L2
cache.
Larry Knight -- The L2 Company http://www.mindspring.com/~l2co
3544 Jefferson Township Pkwy eMail: L2Co@mindspring.com Marietta,
GA, USA, 30066-1782 Sales: (800) 527-9772 (US only) International:
+1 770 641 9650 FAX : +1 770 641-9433
HandHelditems.com - Personalize your iPod with us. Shop hundreds of unique iPod accessories and save up to 80%.
Apple Store
- The size of a pack of gum, iPod shuffle weighs less than a car key. Which means there’s nowhere your skip-free iPod shuffle can’t go. Click Here
Copyright 1996-2007 by Cider Press Publishing LLC all rights reserved.
MacSpeedZone is not authorized, sponsored, or otherwise approved by Apple
Computer. Apple, the Apple logo, Macintosh, iPod, iBook, iMac, eMac, and
PowerBook are registered trademarks of Apple Computer, Inc. Additional
company
and product names may be trademarks or registered trademarks and are hereby
acknowledged.