That's what I was mentioning in my earlier post. The Z80 and 6502, which are of
about the same vintage and technology, though entirely different architecture,
were designed with an eye to control applications, which were the
bread-and-butter of their intended tasks, unlike the 6809, which was designed to
be used for those "larger" applications, that would benefit from the more
orthogonal instruction set and from the features that make generation of large
programs more likely to hit their market window. From the standpoint of their
respective "power" in computing applications, the 6809 is, in every way, a more
likely preferred choice among computer scientists, though it probably won't
outperform either of the other two in a race to get a specific task done, simply
because the earlier two, particularly the 6502, could exercise the memory at a
much higher rate, assuming that you had the memory bandwidth available.
What was the fastest 6809 that you ever got to run back in the early '80's?
Synertek was shipping a 6502 guaranteed to operate at 4 MHz bus cycle. That
required <200 ns SRAMs. To operate a similarly fast bus, ("E" clock) the
6809
would have had to run from a 16 MHz clock, unless memory fails me.
The 6809 was MOT's acknowledgment that microprocessor applications had wandered
into a computing-intensive realm that needed an elegant architecture. They just
weren't willing to impinge on the domain of their already-under-development 68K
series in order to put their "elegant" 8-bitter out there. Their offering the
6809 also suggests that an elegant-from-the-inside processor could surpass the
16-bit offering from Intel because it could be programmed quite easily in
assembler, where the irregularities of the earlier architectures made
programming in the large favor the use of high-level languages that tend to be
relatively inefficient on small machines.
Even today's compilers demand several hundred Kbytes for a simple
"hello-world"
program on one of today's machines, while it took well fewer than 256 bytes of
executable code to print a short text string on a Z-80 or 6502.
Dick
----- Original Message -----
From: "Tony Duell" <ard(a)p850ug1.demon.co.uk>
To: <classiccmp(a)classiccmp.org>
Sent: Tuesday, August 21, 2001 12:23 PM
Subject: Re: SemiOT: Mourning for Classic Computing
If we ignore the registers which are likely to be
'special' on any real
processor (PC and flags, for example), then IIRC, the 6809 has the
following registers :
A, B (Accumulators, can be considered to be the 16
bit D register)
X,Y (Index registers)
U,S (Stack pointers)
DP (Direct Page pointer).
[snip]
But in general, U and S are equivalent. So are X
and Y. And in some
cases, even all of X, Y, U, S can be used in the same way. For a
processor with only a few registers, that's pretty reasonable.
But then again, that's a lot of registers compared to the 6502. And they'=
re
You say that as if it's a bad thing. FWIW my favourite processor has 256
intenral registers, all general-purpose. I can write code like R4:=R4 AND
R250, for example -- there's no accumulator.
not as flexible as the 68000 set of registers,
AFAIK.
True. I was comparing the 6809 (my favourite 8-bitter) with the 6502.
There are 16 bit processors (the 68000 is amongst them) which I also
like. Although I have to say I find the PDP11 to be a lot 'cleaner' than
the 68000.
Tell me, are there any common eight-bitters with
more registers than the =
6809?
Sure, the Z80 for one (A, F, B, C, D, E, H, L, A', F', B', C', D',
E',
H', L' , I, R (all 8 bit), IX, IY, SP, PC (16 bit)). However, IMHO the
instruction set is nowhere near as orthogonal as the 6809.
-tony