Subject: Re: Orthogonality and contrivedness
From: "Chuck Guzis" <cclist at sydex.com>
Date: Sun, 04 Jan 2009 11:57:30 -0800
To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at
classiccmp.org>
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?
In the 70s CMOS was mostly RCAs game and calling card. They never
got the density very high till mid 70s.
There was 6100 (aka PDP-8 in cmos) and the 1800/1801 then the 1802
and 1804 and 1805 The 1800/01 was the base of the family and took
two chips to complee the processor. The 1802 was the first CPU from
RCA that took only one chip and the 04/05 added minor improvements and
brought rom on the chip.
If memeory serves RCA also had a mini that has a similar archetecture.
The odditiy of the cosmac is once you program with it enough it's
PHI SEX and GLO. Seriously it's fairly efficient once you get used
to it. If it were made with current processes, the number of clocks
per cycle dropped it would likely still have staying power.
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.
Most all of the Harvard machines have a way to load a constant or
acccess a table in rom. Started with the TMS1000.
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.
Never tried that one.
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...)
It was aimed at a rom based systems and back then rom was A)bulky,
B)expensive silicon.
ALlison
Cheers,
Chuck