How many transistors are in common uC, like Atmega (AVR), Cortex-M (ARM), Cortex-A (ARM, or mobile processors in general).

I can't really find this information and I'm just curious. You can easily find info about big PC CPUs and GPUs but how about small, embedded ones?

  • \$\begingroup\$ Millions, billions, thousands... It all depends on their functionality. A manufacturer of uC like this will usually keep it low key when it comes to revealing how many transistors they use for each functional block. \$\endgroup\$ – 12Lappie Feb 23 '17 at 13:37
  • \$\begingroup\$ Intel claim their 4th gen processors are in the 1.7 billion range. pocket-lint.com/news/… \$\endgroup\$ – JIm Dearden Feb 23 '17 at 13:39
  • 1
    \$\begingroup\$ I don't think we can easily answer this but I don't think it deserves downvoting either. It's probably in the six figure range, but it's both company-specific information and not all that interesting to the end users. \$\endgroup\$ – pjc50 Feb 23 '17 at 13:40
  • \$\begingroup\$ en.wikipedia.org/wiki/Transistor_count \$\endgroup\$ – StainlessSteelRat Feb 23 '17 at 14:07
  • \$\begingroup\$ Not very current but a 6502 CPU was just over 4000 transistors. You can see what that looks like in transistors here: monster6502.com The ARM2 CPU was about 30,000. \$\endgroup\$ – Andrew Feb 23 '17 at 14:52

Modern desktop CPUs like Core i7 spend a huge amount of transistors on:

  • Cache! 1 bit of SRAM usually needs 6 transistors... Think about 8MB = 64 Mbits of L3 cache, plus L2 cache, plus L1, plus support logic, smart cache coherency hardware, concurrent accesses, etc... On modern cpus, cache uses a large part of the die (and it should, since provides a huge performance advantage).

  • Being compatible with a huuuuuge instruction set (from 8086 to the latest SSE) complicates matters

  • This is horribly complex, as a i7 cpu from this year needs to reorder and optimize instructions which were compiled for optimum performance on an older cpu which might have completely different internal architecture...

  • High clock frequency and long pipelines add lots of registers

  • Plenty of hardware-inefficient yet juicy little optimizations which are needed to get those sexy marketing numbers.

Throw in a GPU, multichannel DDR controller, busses, bla blah and you get into the 1-2 billion transistors for a Core i7.

Now... if you aimed for a different price/power/performance compromise...

Shrink the caches, shrink the memory busses, reduce core count, lose many nifty but complex performance optimizations...

You get Intel Atom: 47M transistors. 20-40x less than i7!

If you could forget about backwards compatibility... if you could recompile your code specifically for that CPU, then you could ditch most of the smart hardware bits and implement them in the compiler instead. Stick your DDR chip on top of the CPU with 3D stacking, thus ditch the long IO traces and corresponding IO buffers, reduce latency...

Tada! You got an ARM spartphone cpu. Cortex A15, 20-30M transistors, with excellent performance per watt and per dollar.

Good old 68k used... 68k transistors.

On the very bottom end of the scale, you got Cortex-M0 which has about 12k gates I believe (you can convert this to transistors). It is smaller than 1mm2. Ironically, if built on a modern process it will be much smaller and cheaper than the 8-bitters...

  • \$\begingroup\$ A 2 input NAND or NOR gate is 4 transistors. So 12k gates could be as low as 48k transistors. Wikipedia says the 68000 was about 40k transistors not 68k. \$\endgroup\$ – Andrew Feb 23 '17 at 14:48
  • \$\begingroup\$ I see at the end that you mention Cortex-A, however the rest of the answer (with i7...) I can easily find on Wikipedia in "Transistor count" article. What I didn't find is count for AVR, PIC or STM32 :) \$\endgroup\$ – zupazt3 Feb 24 '17 at 8:31
  • \$\begingroup\$ Didn't find them either, so my curiosity is frustrated too... \$\endgroup\$ – peufeu Feb 24 '17 at 8:59

All of them have a varying amount, but it is ALOT! If you want an idea, there was a guy who built a fully working microprocessor HERE out of standard components. Should give you a rough idea!

  • \$\begingroup\$ Amazing. I hope to have that much free time (and disposable income) some day. \$\endgroup\$ – AngeloQ Feb 23 '17 at 14:24
  • \$\begingroup\$ Yeah, it would be amazing to build something like that! If I remember right, he actually managed to upload a program onto it and have it operational! \$\endgroup\$ – MCG Feb 24 '17 at 10:56
  • \$\begingroup\$ Yeah! He played Tetris on it in the video on that page. (He's not so good at Tetris it turns out. :) \$\endgroup\$ – AngeloQ Feb 24 '17 at 16:09
  • \$\begingroup\$ How can you not be good at Tetris? It is the classic childhood game! Or it was for me anyway! \$\endgroup\$ – MCG Feb 27 '17 at 8:33
  • \$\begingroup\$ Right. To be fair, he had it going pretty fast. \$\endgroup\$ – AngeloQ Feb 27 '17 at 12:53

I read a while ago a comparison of power consumption between the MIPS cores and the arm cores and it mentioned some numbers. I cannot recall the exact numbers unfortunately.

Edit: the numbers are much smaller than those quoted earlier, with cm0 in the hundreds of thousands - don't quote me on that.


Your Answer

