# How does a modern entry-level microcontroller compare against an older CPU?

**URL:** <https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427>\
**Category:** Factual Questions\
**Created:** [May 26, 2013, 9:54pm UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427 "2013-05-26T21:54:17Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dog80](https://avatars.discourse-cdn.com/v4/letter/d/6bbea6/32.png) [@Dog80](https://boards.straightdope.com/u/Dog80)\
**Post date:** [May 26, 2013, 9:54pm UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/1 "2013-05-26T21:54:17Z")

</div>

For example, an Atmega 328 (like the one Arduino uses) vs. an Intel 80286. I picked the 286 because they both run at 20MHz.

---

<div class="post-metadata">

**Author:** ![beowulff](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/beowulff/32/542_2.png) [@beowulff](https://boards.straightdope.com/u/beowulff)\
**Post date:** [May 26, 2013, 10:26pm UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/2 "2013-05-26T22:26:04Z")

</div>

They’re designed for very different applications.  
The 286 is a CPU, and requires external RAM and ROM. The '328 is an embedded controller, and could stand-alone in the right application. As far as speed goes, the '286 is a 16-bit CPU, so it has an edge there, but it’s efficiency isn’t very good, so the '328 would most likely beat it in any benchmark that would run in it’s available memory space.

---

<div class="post-metadata">

**Author:** ![engineer\_comp\_geek](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/engineer_comp_geek/32/504_2.png) [@engineer\_comp\_geek](https://boards.straightdope.com/u/engineer_comp_geek)\
**Post date:** [May 26, 2013, 10:31pm UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/3 "2013-05-26T22:31:45Z")

</div>

The ATMega328 is a bit of a brain dead microcontroller by today’s standards. It’s a RISC pipeline type of architecture which means it will run circles around the 286’s more CISC-ish style architecture with respect to integer math. On the other hand, it’s also a tiny 8 bit integer processor. Like most microcontrollers, it will be a lot faster than a typical 286 in a controller-type application but the microcontroller tends to perform poorly in more general purpose computer type applications.

Something like a 16 bit PIC would probably be a better comparison since it natively handles 16 bit integers. Again, it will run circles around a 286 for integer math, but its limited memory space, lack of more complex built-in functions, and the lack of an available floating point processor will severely limit its general purpose functionality.

---

<div class="post-metadata">

**Author:** ![Isilder](https://avatars.discourse-cdn.com/v4/letter/i/cc9497/32.png) [@Isilder](https://boards.straightdope.com/u/Isilder)\
**Post date:** [May 27, 2013, 1:01am UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/4 "2013-05-27T01:01:35Z")

</div>

> [@engineer\_comp\_geek](#):
>
> The ATMega328 is a bit of a brain dead microcontroller by today’s standards. It’s a RISC pipeline type of architecture which means it will run circles around the 286’s more CISC-ish style architecture with respect to integer math.

RISC was just advised at being more efficient in terms of transistors and hence power , for each level of pipelining. Modern 80x86 cpu’s are pipelined, at the expense of huge power and transistor costs.

The ATMega328 is rated at 1 MIPS per MHZ, basically one instruction per cycle. Its fully pipelined.. when doing 8 bit maths.  
It will go really slow at 32 bit maths, its not a signal processing chip !

---

<div class="post-metadata">

**Author:** ![jz78817](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/jz78817/32/1028_2.png) [@jz78817](https://boards.straightdope.com/u/jz78817)\
**Post date:** [May 27, 2013, 2:14am UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/5 "2013-05-27T02:14:09Z")

</div>

> [@Isilder](#):
>
> RISC was just advised at being more efficient in terms of transistors and hence power , for each level of pipelining. Modern 80x86 cpu’s are pipelined, at the expense of huge power and transistor costs.
> 
> The ATMega328 is rated at 1 MIPS per MHZ, basically one instruction per cycle. Its fully pipelined.. when doing 8 bit maths.  
> It will go really slow at 32 bit maths, its not a signal processing chip !

“RISC” was a movement to make the compiler figure out the complexities of the instruction stream instead of wasting transistors on it. Intel (and HP) tried to do that again with Itanium which wasn’t RISC but tried to follow the same principle (let the compiler worry about the hard stuff.) It’s pretty telling that most of the classical “RISC” architectures are dead. Or, at least pining for the fjords. Alpha is dead, SPARC might as well be dead, MIPS can kiss off, nobody but Nintendo cares about PowerPC. ARM soldiers on not because it’s RISC but because its designers know how to optimize their cores to do the jobs they need to do.

“CISC” won (meaning x86 won) not because it was clean or elegant, but because the winning implementation (x86) beat the shit out of everything else. Because it “wasted” transistors on optimizing the instruction stream at _runtime_ instead of compile time.

---

<div class="post-metadata">

**Author:** ![Saffer](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/saffer/32/6440_2.png) [@Saffer](https://boards.straightdope.com/u/Saffer)\
**Post date:** [May 27, 2013, 6:12pm UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/6 "2013-05-27T18:12:19Z")

</div>

I wish I understood this stuff ☹

---

<div class="post-metadata">

**Author:** ![Derleth](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@Derleth](https://boards.straightdope.com/u/Derleth)\
**Post date:** [May 27, 2013, 7:02pm UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/7 "2013-05-27T19:02:47Z")

</div>

> [@Saffer](#):
>
> I wish I understood this stuff ☹

If you have specific questions, ask away.

---

<div class="post-metadata">

**Author:** ![jz78817](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/jz78817/32/1028_2.png) [@jz78817](https://boards.straightdope.com/u/jz78817)\
**Post date:** [May 28, 2013, 12:21am UTC](https://boards.straightdope.com/t/how-does-a-modern-entry-level-microcontroller-compare-against-an-older-cpu/659427/8 "2013-05-28T00:21:59Z")

</div>

> [@Saffer](#):
>
> I wish I understood this stuff ☹

“pining for the fjords” is a reference to a sketch from _Monty Python’s Flying Circus._

Hope this helps 😛
