Cache sizes and Shared L3 cache confusion

mattbar

Distinguished
Jul 9, 2014
121
1
18,715
I'm sure these questions get asked a lot, but I cannot find the answer.

1. The processor I am looking at does not tell you the L1 or L2 cache sizes on the website I buy parts from, or the official Intel website. It only says shared 8mb L3 cache. Why? I'd like to think all processors have L1 cache, and almost every modern processor has L2 cache. Am I wrong, and does this processor only have L3 cache which I have learned is slower than L2 and L1 cache?

2. From what I tried to learn L3 cache is on the motherboard and not the processor, but that used to be true for L2 cache. Is the L3 cache most likely on the cpu, or would I need a motherboard with atleast or with exactly 8mb L3 cache on it?

3. Why do most processor not tell you how big the L1 cache is?

4. From what I tried to learn every core has an L2 cache in modern processors. Some processors say for example, 2x 256kb, 4x 2mb, 6x 256kb. Does this mean each core has multiple L2 caches, or that ONLY SOME cores have L2 cache, oooooor does it mean if there is no number (1x) that there is only one shared L2 cache.

5. Is L2 or L2+L3 cache important for a serious gamer? Would 2x, 4x, or 6x L2 cache be for serious gaming(still confused on what this is exactly)?

 
Solution
Not knowing the processor you are referring to, these comments will be general...

1) If it says L3 (level 3) cache, you can rest assured it has a L1 and L2 cache also.

2) All modern CPU caches are on-die.

3) Let me know the processor in question and I will find it for you if possible. But why they do that, I'm not sure until I know the CPU.

4) That will vary depending on the processor. Usually, the L2 cache is per core. But if there is no L3 cache, the L2 cache may be shared between cores. In the case of the AMD Piledriver modules the cache(s) are per module. Core pairs share a cache.

5) That will also vary depending on the processor. Generally, an L3 cache is beneficial to gaming if the processor is fast enough to make...

clutchc

Titan
Ambassador
Not knowing the processor you are referring to, these comments will be general...

1) If it says L3 (level 3) cache, you can rest assured it has a L1 and L2 cache also.

2) All modern CPU caches are on-die.

3) Let me know the processor in question and I will find it for you if possible. But why they do that, I'm not sure until I know the CPU.

4) That will vary depending on the processor. Usually, the L2 cache is per core. But if there is no L3 cache, the L2 cache may be shared between cores. In the case of the AMD Piledriver modules the cache(s) are per module. Core pairs share a cache.

5) That will also vary depending on the processor. Generally, an L3 cache is beneficial to gaming if the processor is fast enough to make use of it. L2 caches are generally used by even the slowest of 'gaming' processors.

The fastest and most expensive cache memory is put in the L1 cache. It is small due to its expense and die size. L2 caches are somewhat slower and can be larger w/o 'breaking the bank'. L3 caches are the slowest, but still much faster than system memory... and on-die so access time is much faster.
 
Solution


1. The L1 and L2 cache size on Intel microprocessors is the same across all microprocessors in the family.

Intel has used a 32KiB L1 instruction cache, 32KiB L1 data cache, and 256KiB L2 cache for about 5 years now. The architecture backing the caches has changed a bit, but the capacity has not.

2. Many years ago, the CPU cache existed on the motherboard. Then, some of it was integrated onto the CPU and a larger external cache existed on the motherboard (L1 internal, L2 external). Then, the cache on the CPU was split into two levels (L1 and L2 internal), and a larger external cache was kept on the motherboard for particular high end systems with some very high end multi-socket CPUs having additional L3 cache on the CPU die. Eventually the core count was increased to the point where it was prudent to have an ondie L3 cache as a regular feature. L4 caches are now making a comeback in some high end servers, mainframes, and supercomputers, as well as high-end CPUs that have IGPs.

3. They all do, you just may have to go looking for it. However, there's no sense marketing it if there's no differentiation (see #1)

4. CPU designs are not bound to a particular cache architecture. Vendors are free to design caches as they wish, it will be completely transparent to the running applications.
Intel's Core i7 series of micro-architectures has a 64KiB L1 cache (32KiB instruction + 32KiB data) per core along with a 256KiB L2 cache per core. Both the L1 and L2 caches are 8-way set associative and use 64 byte blocks. There is also an L3 cache which is 16-way associative and varies in size from 3MiB on low end dual-core Core i3 microprocessors to 37.5MiB on the brand new 15 core Xeon microprocessors.
AMD takes a different approach. FX series microprocessors are arranged into modules, with each module having two cores that share some resources. Each module has a 64KiB L1 instruction cache that is 2-way associative and shared between both cores on a module. Each core has its own 16KiB L1 data cache that is 4-way associative. Each module has a 2MiB L2 cache that is 16-way associative, and the microprocessor as a whole has an L3 cache that is typically sized as 2MiB per module and is 64-way assocative.

The size and high associativity of AMD's L2/L3 cache design makes it very slow compared to Intel's L2/L3 cache, and the mismatch in associativity between the L1 and L2 caches is not helpful for performance.

5. L3 cache is quite important for serious gaming because it reduces the amount of memory requests that end up going to the systems memory (which is very slow compared to cache). Faster response times result in faster completion of time sensitive operations, which results in smoother and faster gameplay.