PS Is the 6809 a 8 or a 16 bit CPU?
Yes.
:-) Good Answer
This has been argued many times. Personally, I would go with the width of
the accumulator(s), 8 bits for 6809, even though there are special (or
perhaps BECAUSE they are special) instructions that use the combination of
the two accumulators as one 16 bit ("D") register.
I've recently been working on a couple of different machines, both of
which use the same CPU board set, the CPU beilg built from TTL. The
'simpler' of the 2 machines has the following 'widths' :
It's bit-serial, so the ALU is 1 bit wide. However, there's nybble access
(4 bits) to one of the registers and the memory data register for BCD
operations
Main CPU registers, memory address, memory data, and machine language
program ROMs are all 16 bits wide.
User program instructions are 6 bits wide. But the physical RAM to
store them is 3 bits wide, with hardware to do 2 physical memory cycles
per logical cycle
User data is 16 bits wide, similarly stored in 8 bit wide RAM.
So is this machine :
1 bit (ALU width most of the time)
3 bit (user program phyical memory)
4 bit (ALU width for BCD operations)
6 bit (user program logical memory)
8 bit (user data physical memory)
16 bit (registers, etc)
????
Oh, the more complicated machine has the same CPU (so can be justified as
1, 4 or 16 bits) but all memory, ROM and RAM, is 16 bits wide, both
physically and logically.
Anyone care to guess what the 2 machines are?
-tony