I tend to agree, but I would specialize that even
further. As time goes
on,
I become more convinced that ALU width should be the
determinant of
bittedness.
The 6809 requires multiple ALU passes for a 16 bit
operation because the
ALU
is 8 bits wide. The 68000 is a 16 bit processor for
the same reason.
Hi Everyone,
I have thought about this topic at length...............
This is a much debated issue because microprocessors tend to have
8 and 16-bit instructions, while microcontrollers tend to have instructions
that are limited to 8-bit operands. Really, does it matter what size the
ALU is in silicon within the chip? I say no! When you are coding in
assembly
you're interested in what instructions are available to you.
For example, the Z8, 8051, 6805, PIC16, etc.. have mainly 8-bit operations
with few if any 16-bit operations. Note, please leave 16-bit jumps out of
this
discussion. The 6502 uses 8-bit operands also.
On the other hand, the 8085, Z80, and 6801 are considered 8-bitters in the
media
but they have 16-bit operations that make them more powerful than
the example micro-controllers above. Side note: Since these processors
can handle 16-bit operands with ease, pointer arithmatic is very compact.
Pointer arithmatic is very important when porting to high-level languages!
I consider the 68HC11/6809 complete 16-bitters. Why not! They both have
oodles of 16-bit operations, like the ever-useful 16-bit compare immediate!
So here is how they stack-up:
8-Bitters: 6502, 6805, Z8, 8051, PIC16, TMS370, ST6
8/16-Bitters: 8085, Z80, ST7
16-Bitters: 68HC11, 6809, 8088/8086, 65816, 80C166, ST9
16/32-Bitters: 68000, Z8000, 80286
32-Bitters: 68020, 80386/Pentium, ARM, MIPS, NS32000
Cheers,
Paul