Does Each Core Have Its Own L1 and L2 Cache? The simple answer is: Yes!, each core has its own L1 and L2 cache. This answer should suffice for most consumers. The consumer processors as we know them from AMD and Intel have L1 and L2 cache dedicated to each core separately.
However, there ARE exceptions you can have many different types of architectures. There are CPUs which have no Cache (Old ones especially) at all. There are also CPUs that only have L1 cache.
There are also multi-core CPUs that have L1 cache on each core but share L2 cache among the cores.
L1 and L2 are the fastest memories that a CPU can access. The principle behind this is simple:
If the processor can find the instruction sets or data for its next operation in the L1 and L2 cache, then it does not need to access the slower L3, L4 and finally the RAM.
Why L1 and L2 Cache were Developed?
There was time in the 80s when CPU were fairly slow and on par with the installed memory of that time. However, the gap between CPU speeds and RAM speeds began to rise almost exponentially.
Therefore, a solution was needed so that the memory does not bottleneck the processors.
The result was Cache. Cache performs similar to your average DDR4 RAMs in principle, however, they are much faster and a lot more specialized.
Current Gen Intel and AMD Processors
All of the current Intel and AMD processors have multiple cores.
Each Core has its own L1 and L2 cache, whereas, the L3 cache, is shared.
The repetitive blocks in the middle are L3 cache. The distinctive large FOUR blocks on each side Left and Right are cores.
The L3 cache is shared among all cores. However, the L1 and L2 are not. They are dedicated to each of the Core blocks.
Here is another more detailed looks at the die chart for Intel Processors. Here, the location of the L1 and L2 cache are highlighted. As you can see, these are dedicated to each core and NOT shared unlike the L3 Cache.
Does Each Core Have Its Own L1 and L2 Cache? – Exceptions
While most modern processors do have L1, L2, L3, and even L4 in more recent ones, there are a few exceptions.
Processors With L2 Cache SHARED
There most certainly are/were processors that have L1 cache per each core but have a shared L2 cache.
The older Core 2 Duo, Pentium Dual Core and the lot had shared L2 cache.
The newer Enterprise and Server Level processors also share L2 cache between their cores. The 2nd Generation Intel Xeon Phi (Knights Landing) are examples of processors where L2 cache is shared.
Multiple Threads Share L1 and L2 Cache
While each core has it own L1 and L2 cache. If the processor has multiple threads per core i.e Hyper threading in Intel and SMT for AMD, then each o the two threads WILL share the L1 and L2 cache.
If you want to know the simplest answer to the question: Does each core have its own L1 and L2 cache? The answer is that majority of the processors do. However, not all. Some can have L2 cache as shared.
If you are a consumer looking to buy a processor ranging from Intel Atom to Intel Core i7 processors, rest assured in knowing that all cores have their own L1 and L2 cache.
If you are someone who is curious about the micro architectures, know that there certainly are exceptions. While L1 is ALWAYS dedicated per core, L2 CAN be shared.