Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

L1 and L2 cache? Question

  1. Dec 7, 2011 #1

    According to many sites L1 is internal cache
    and Level 2 cache, cache memory that is external to the microprocessor.

    but according to this intel core2duo box (photo) , intel is selling this L2 cache on processor not on another chip.


    why is this so ?
  2. jcsd
  3. Dec 7, 2011 #2


    User Avatar
    Homework Helper

  4. Dec 8, 2011 #3
    Can you give the links? I thought L1-L3 were always on the chip. It's just faster than having to look up a basic instruction from the RAM every time you need it.
  5. Dec 8, 2011 #4
  6. Dec 8, 2011 #5


    User Avatar
    Science Advisor

  7. Dec 8, 2011 #6

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    There is nothing saying that the L2 cache needs to be on another chip, or if it is on the same chip, that it needs to be distinctly separate from the core processor. Putting cache of any type on a chip other than the CPUs would drastically reduce the advantage of having a cache. The primary reason cache exists is because main memory access is so very slow compared to the rate at which the CPU operates. If memory access was just as fast as the CPU itself there would be little need for cache at all. (If main memory was just as fast as the CPU, it might still be handy to have separate data and memory caches so that the machine could be Harvard architecture at its core (faster) but Von Neumann architecture to the outside world (simpler).)

    Specialized memory can be made that has very high clock rates. This specialized memory is necessarily small, and increasing the size decreases the operating speed. Hence multiple levels of cache. Primary cache, or L1 cache, is very small but very fast. Because L1 cache is so small, it is helpful to have an intermediate cache(s) to bridge the gap between main memory and the CPU. L2 cache is significantly larger than but is also slower than the primary L1 cache. Because the gap between main memory and CPU operating speeds has widened, some newer machines even have a tertiary cache on the same chip as the CPUs.
  8. Jan 10, 2012 #7
    It's my understanding that L2 caches were often external when they first came out but have since been added to the same die on newer processors. On most multicore systems, theyre actually part of the core, and L3 cache is shared between cores. I think I had a pentium system that had an external L2 cache chip that looked similar to SDRAM in a DIMM package, but I can't find any documentation and it's late.
  9. Jan 10, 2012 #8
    Thats correct, L2 cache tended to be external on early CPU models, specifically some Intel models. Additionally some L2 cache used to actually sit in RAM direct onto the MOBO.
  10. Jan 10, 2012 #9
    I designed a memory controller before. Let me try to explain. Processors or micro controllers run at a much higher clock rate than its peripherals. Accessing instructions or data outside the processor reduces the overall performance because the processor has to stop and wait for its peripherals to respond. A built-in cache inside a processor is a trade off between the cost of a large high speed RAM inside the processor and the hit rate of the instruction/data requests. The higher the hit rate, the better the overall performance, i.e., CPU doesn't need to stop and wait for stuff from the outside. More layers of the cache increases the hit rate, but also increases the cost, because internal high speed RAM, such as SRAM, is more expensive than external slow pace RAM, such as SDRAM. An L2 cache outside of the processor is cheaper than a built-in one. Whether a built-in one is needed depends on your application.
  11. Jan 10, 2012 #10


    User Avatar

    Staff: Mentor

    External caches were a hit around the 386/486 times, when processors became fast enough that the memory access was becoming a bottleneck. 386 didn't have an internal cache, so there was only external, one level cache. 486 had an internal cache and could be built without cache on the motherboard (that was the idea behind), in practice most of the computers sold at the time had an external L2 cache on the mobo (although in some cases L2 cache was a fake). I guess that's what people refer to when they speak about L2 external cache. In general external L2 caches disappeared after the introduction of Pentium (on die L2).

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook