On 4 Jan 2009 at 13:40, Tim Shoppa wrote:
Try programming an 1802 for a while. You'll know you're really into
it when it seems "contrived" that all those
other processors can
only use a single of their registers as a program counter :-).
Twisting my mind to switch to 1802 mode and back is a interesting
experience.
Well, at least the PC on the 430 is a regular register, operable by
any applicable instruction of the set. Doing a decimal add to the PC
must certainly yield interesting results!
I'd always considered the 1802 to be in a unique position in the
70's, in that it was a (comparatively) low-power CMOS design. No
doubt this was aided somewhat by its simple architecture. Was 1802
RCA's one and only veture in the microprocessor world?
The smaller PIC's make perfect sense once you
realize they're
Harvard architecture. Bigger PIC's, I never really grokked.
The Harvard architecture really falls down in uCs because of lack of
space to store read-only constants. Small PICs have to resort to all
sorts of oddball tricks to accommodate this for things such as lookup
tables. (Use a "return from subroutine with immediate value"
instruction). Upper PICs include instructions to access program
memory and AFAIK, all AVRs have them. Which doesn't make them
strictly Harvard architecture anymore. Had the ROM area included a
space in data memory for constant storage, it might have done the
trick. Yes, there's EEPROM, but it has a different purpose and is
not easy to use.
The 430 drops the charade and adopts a Von Neumann architecture,
relying on the read-only nature of ROM to enforce the separation
between code and data.
To me it's perfectly obvious that the MSP430 is
PDP-11 like, and
in some ways even more orthogonal than the -11. The CP1600 was
substantially less orthogonal, more Nova-like with some
of the registers obviously intended for index use.
How many Nova programmers would have killed for 16 registers? To me,
what distinguishes the CP1600 was its inefficient use of instruction
memory (Yes, I know about the 10-bit ROM, but still...)
Cheers,
Chuck