Electronic Design

Which Architecture?

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.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish