Cache and Memory Hierarchy: Architected for Low Latency Operation

Intel has had a lot of experience building very high performance caches. Intel's caches are more dense than what AMD has been able to produce on the x86 microprocessor front, and as we saw in our Nehalem preview - Intel is also able to deliver significantly lower latency caches than the competition as well. Thus it should come as no surprise to anyone that Larrabee's strengths come from being built on fully programmable x86 cores, and from having very large, very fast coherent caches.

Each Larrabee core features 4x the L1 caches of the original Pentium. The Pentium had an 8KB L1 data cache and an 8KB L1 instruction cache, each Larrabee core has a 32KB/32KB L1 D/I cache. The reasoning is that each Larrabee core can work on 4x the threads of the original Pentium and thus with a 4x as large L1 the architecture remains balanced. The original Pentium didn't have an integrated L2 cache, but each Larrabee core has access to its own L2 cache partition - 256KB in size.

Larrabee's L2 pool increases with each core. An 8-core Larrabee would have 2MB of total L2 cache (256KB per core x 8 cores), a 32-core Larrabee would have an 8MB L2 cache. Each core only has access to its L2 cache partition, it can read/write to its 256KB portion of the pool and that's it. Communication with other Larrabee cores happens over the ring bus; a single core will look for data in its L2 cache, if it doesn't find it there it will place the request on the ring bus and will eventualy find the data in its L2.

Intel doesn't attempt to hide latency nearly as much as NVIDIA does, instead relying on its high speed, low latency caches. The ratio of compute resources to cache size is much lower with Larrabee than either AMD or NVIDIA's architectures.

  AMD RV770 NVIDIA GT200 Intel Larrabee
Scalar ops per L1 Cache 80 24 16
L1 Cache Size 16KB unknown 32KB
Scalar ops per L2 Cache 100 30 16
L2 Cache Size unknown unknown 256KB

 

While both AMD and NVIDIA are very shy on giving out cache sizes, we do know that RV670 had a 256KB L2 for the entire chip cache and can expect that RV770 to have something larger, but not large enough to come close to what Intel has with Larrabee. NVIDIA is much closer in the compute-to-cache ratio than AMD, which makes sense given its approach to designing much larger GPUs, but we have no reason to believe that NVIDIA has larger caches on the GT200 die than Intel with Larrabee.

The caches are fully coherent, just like they are on a multi-core desktop CPU. The fully coherent caches makes for some interesting cases when looking at multi-GPU configurations. While Intel wouldn't get specific with multi-GPU Larrabee plans, it did state that with a multi-GPU Larrabee setup Intel doesn't "expect to have quite as much pain as they [AMD/NVIDIA] do".

We asked whether there was any limitation to maintaining cache coherence across multiple chips and the anwswer was that it could be possible with enough bandwidth between the two chips. While NVIDIA and AMD are still adding bits and pieces to refine multi-GPU rendering, Intel could have a very robust solution right out of the gate if desired (think shared framebuffer and much more efficient work load division for a single frame).

How Many Cores in a Larrabee? Programming for Larrabee
Comments Locked

101 Comments

View All Comments

  • ocyl - Monday, August 4, 2008 - link

    Larrabee will be shipped when Diablo III is, and it will mark the beginning of the end for DirectX.

    Calling it first here at AnandTech.

    Thanks go to Anand and Derek for the very well written article. You are the ones who keep tech journalism alive.
  • erikespo - Monday, August 4, 2008 - link

    "At 143 mm^2, Intel could fit 10 Larrabee-like cores so let's double that. Now we're at 286mm^2 (still smaller than GT200 and about the size of AMD's RV770) and 20-cores. Double that once more and we've got 40-cores and have a 572mm^2 die, virtually the same size as NVIDIA's GT200 but on a 65nm process. "

    this math is way off

    143 mm^2 is 20449mm.. if they fit 10 there that is 2044.9 per core
    286mm^2 is 81796mm.. that is 4X the space so 40 cores in 286^2
    and 572mm^2 is 327184mm is 160 cores..

    double length will double area.. doubling length and width will quadruple area.
  • bauerbrazil - Monday, August 4, 2008 - link

    Hahahaha, YOUR math is way off!!!

    Jesus.
  • erikespo - Monday, August 4, 2008 - link

    I see where the article and you got your math..
    you both did 143mm^2 / 10 and got 14.3 then divided 286^2 by 14.3 and got 20.. this math is only acting on the one number..

    I know this because the area of 14.3 is 204.49 mm. 10 of those would be 2044.9mm. but the area of 143mm^2 is 20449mm.
  • WeaselITB - Monday, August 4, 2008 - link

    Wow ... No.
    143mm^2 is NOT equivalent to 143^2 mm ... Your analysis is flawed.

    If we use your example, 2mm^2 is NOT 2mm x 2mm ... it's actually root(2)mm x root(2)mm ... 4mm^2 is 2mm x 2mm, not 4mm x 4mm (that'd be 16mm).

    Maybe you should examine in depth that Wikipedia article you linked earlier ...

    Thanks,
    -Weasel
  • MamiyaOtaru - Monday, August 4, 2008 - link

    143mm^2 is NOT equivalent to 143^2 mm

    ^^THIS

    That's it in a nutshell. mm² doesn't mean you square 143, it refers to Square Millimeters, a unit of area (unlike Millimeters, a unit of distance).

    Revised mspaint illustration: http://img379.imageshack.us/my.php?image=squaremmh...">http://img379.imageshack.us/my.php?image=squaremmh...
  • erikespo - Monday, August 4, 2008 - link

    Anandtech Comment Section.. Forever record of my retardedness
  • erikespo - Monday, August 4, 2008 - link

    Dang.. Many apologies..
    got my square area and squared numbers confused..
  • WeaselITB - Monday, August 4, 2008 - link

    [quote]4mm^2 is 2mm x 2mm, not 4mm x 4mm (that'd be 16mm).[/quote]

    Dang, that was supposed to read "(that'd be 16mm^2)."

    Thanks,
    -Weasel
  • erikespo - Monday, August 4, 2008 - link

    another way to look as it is how man 143mm^2 squares does it take to make up 286mm^2?

    only 2 would only be 143mm x 286mm

    since 10 cores fit into 143 x 143, 20 will fit into 143 x 286mm
    286 x 286 (which is double that of 143 x 286mm) the 286mm^2 would fit 40

Log in

Don't have an account? Sign up now