In modern multi-core processors, the processor caches (L1,L2 and L3) are made up of SRAM with decreasing speeds(L2 caches are higher speed SRAM than L3 caches which is a cost trade-off). The main reason to use SRAM is its speed advantage over the main memory that uses DRAM. I would like to understand why SRAM has a speed advantage over DRAM?


Taken from an article on HowStuffWorks (Summarised):

Dynamic RAM:

Inside a dynamic RAM (DRAM) chip, each memory cell holds one bit of information and is made up of two parts: a transistor and a capacitor. The transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state.

The article then goes onto compare the capacitors on DRAM to buckets, where the DRAM is filled with electrons to store information (storing 1s). These electrons are emptied when information is removed (storing 0s). The problem with capacitors is that they have leaks and lose information quite rapidly. In order to retain the information an outside source (CPU or Memory Controller) has to recharge all of the capacitors holding a 1 before they discharge.

This refresh operation is where dynamic RAM gets its name. Dynamic RAM has to be dynamically refreshed all of the time or it forgets what it is holding. The downside of all of this refreshing is that it takes time and slows down the memory.

Static RAM:

Static RAM uses a completely different technology. In static RAM, a form of flip-flop holds each bit of memory. A flip-flop for a memory cell takes 4 or 6 transistors along with some wiring, but never has to be refreshed. This makes static RAM significantly faster than dynamic RAM. However, because it has more parts, a static memory cell takes a lot more space on a chip than a dynamic memory cell. Therefore you get less memory per chip, and that makes static RAM a lot more expensive.

It is quite an interesting article so I would suggest reading it. I have taken the most relevant points from the article to help answer your question.

  • 7
    There is some misunderstanding about DRAM and SRAM. DRAM is optimized for density (higher capacity) and SRAM is optimized for speed (access latency). So, in general, SRAM is faster than DRAM. However, it is fundamentally possible to design DRAM to be faster than SRAM, but DRAM manufacturers don't do that since the most important selling factor for them is cost per bit. So they lower cost per bit at the expense of speed. Many people misunderstand this essential fact. – aminfar Oct 4 '14 at 18:15
  • @aminfar: You said it's fundamentally possible to make DRAM faster than SRAM, but it would be expensive. But SRAM is already expensive. Why don't we see DRAM used as CPU caches then? – Tara Oct 10 '16 at 1:57
  • @Dudeson they have different manufacturing process and requirements. Perhaps, using DRAM for CPU caches with good access latency would be even more expensive than SRAM. There are other things to consider apart from manufacturing, such as refresh. – aminfar Oct 12 '16 at 18:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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