Which Architecture?

June 24, 2002
Microcontroller architectures can be sorted into three basic categories. First, the single accumulator/register bank is used by the 8051 and PIC architectures (see the figure, a). Operations...

Microcontroller architectures can be sorted into three basic categories.

First, the single accumulator/register bank is used by the 8051 and PIC architectures (see the figure, a). Operations are centered on a single 8-bit accumulator plus a selectable bank of usually 8 bytes. Typically one of up to 8 banks can be chosen at a time, which works well for interrupts that can be serviced with only 8 bytes.

The next architecture employs a set of dedicated registers like those used with Motorola's microcontrollers (see the figure, b). In this case, the family tree can be traced back to the venerable 6800. Two 8-bit accumulators can be combined into one 16-bit accumulator to simplify multibyte operations.

The third architecture is highlighted by Atmel's AVR, which takes a RISC ap-proach (see the figure, c). It has a large register bank with no dedicated accumulator. Its 16-bit instructions can easily reference multiple registers versus the byte-oriented instruction stream implemented by many other architectures.

No single architecture offers a significant advantage over the others, although it tends to be easier for a C compiler to generate efficient code for Atmel's RISC architecture versus the competition. Still, today's C compilers do an excellent job of generating efficient code for other 8-bit microcontroller architectures.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!