1
\$\begingroup\$

I was wondering what is the specific connection mechanism between the CPU and its level-1 cache so that in practice level-1 cache access time is reduced to match the CPU clock frequency?

Do level-1 caches avoid connection with the CPU by wires to achieve that speed, or is some other special mechanism in place for that?

Or there is a wire, but it's so short as to have negligible effect on the speed of the signal going through it?

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

No wires at least for the L1 and L2 caches, which nowadays are always on the CPU chip itself, and so they are connected to the rest of the circuitry with the same interconnects in silicon used for any integrated circuit, and are located as close to the cores as possible. (Note: I am not considering the silicon interconnects within an IC to be wires, nor the traces on a PCB even though they function like wires. Wikipedia doesn't either.)

L3 caches may be found either on the chip itself (as in the example below) or on the mother board. In the latter case, where the connections to the from the CPU to the L3 is external, then these connections between the integrated circuit die and the pins on the chip are done with gold wires as shown below:

enter image description here.

So for a relatively short distance, yes there can be real wires involved. But not for an L1 cache, which was the subject of your question.

The very first Intel processor to have an L1 cache was the 80486. It was 8K and located on the chip. The L2 cache was 256K, and located on the motherboard.

Here is a picture of a four-core CPU:

enter image description here

The smaller ellipses are the L1 caches. The larger ellipses are the L2 caches. They are each private to each core. The large area is the L3 cache, which is shared between all of the cores.

Note that the caches take up nearly half of the area of the chip.

On my I7 CPU with four physical cores, there 4 x 64K L1 caches, 4 x 256K L2 caches, and one 8MB L3 cache.

\$\endgroup\$
8
  • \$\begingroup\$ Thanks - mostly what I was wondering. Just one follow-up question: aren't the "same interconnects in silicon used for any integrated circuit" in essence wires? Because that will mean that the electrons going from the CPU still have a wire-like path to cross to reach the cache, as opposed to the case of electrons going from the CPU to the registers (or are there exactly the same interconnects also?). \$\endgroup\$ Sep 7, 2015 at 10:17
  • \$\begingroup\$ All connections you mention are realised by conducting paths of some sort. You can call them 'wires' if you like. The conducting paths within a chip are much smaller, shorter, and are under control of the chip manufacturer, hence they can be used for much faster signals than external wires. Note that even within a chip there is a hierargy of speed, caused by size of the path and the number of circuit elements connected to it. \$\endgroup\$ Sep 7, 2015 at 10:24
  • \$\begingroup\$ @LeoHeinsaar I am going by the usual definition of wires. I have added that disclaimer to my answer (plus some other stuff). The interconnects between the CPU core and a cache are no different than the interconnects within the CPU such as the registers and other parts of the CPU. \$\endgroup\$
    – tcrosley
    Sep 7, 2015 at 10:46
  • \$\begingroup\$ Thanks guys, all clear now. The picture would be perfect-complete if you or someone could also add the speed (I think it's called drift velocity) of electrons in all these types of connections. \$\endgroup\$ Sep 7, 2015 at 11:53
  • \$\begingroup\$ Drift velocity is not relevant to signal transmission speed. In ICs it's usually modelled as time to charge the capacitance of the wire + gate. \$\endgroup\$
    – pjc50
    Sep 7, 2015 at 13:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.