Main Page | See live article | Alphabetical index

Motorola 6809

The 6809 is an 8-bit microprocessor from Motorola, circa 1982. The 6809 was a major advance over both its predecessors, the in-house Motorola 6800 and this one's near clone the MOS Technologies 6502. The 6809 had two 8-bit accumulators, rather than one in the 6502, and could combine them into a single 16-bit register. It also featured two 16-bit index registers and two stack pointers, allowing very advanced addressing modes.

Description

The 6809 was source-compatible with the 6800, even though the 6800 had 78 instructions and the 6809 only had 59. Some instructions were replaced by more general ones which the assembler would translate, and some were even replaced by addressing modes. The instruction set and register complement were highly orthogonal, making assembly language programming quite pleasant, not the special case nightmare of most other microcomputer CPUs of the time.

Other features were one of the first multiplication instructions of the time, 16-bit arithmetic and a special fast interrupt. But the 6809 was also highly optimised, gaining up to five times the speed of the 6800 series CPU. Like the 6800, it included the undocumented Halt and Catch Fire (HCF) bus test instruction.

The optimisation of the 6809 processor meant that, unlike many processors of the day, the instructions were mostly hardwired into the processor, rather than written using microcode. This meant that it took many fewer CPU clock cycles to process instructions. As an example, the instruction "ADDA 63" took 3 clock cycles (2 for the instruction fetch, and one for the operation to take place).

On the Zilog Z80, which was probably the main competitor to the 6809, "ADD A,63" took 7 clock cycles. This meant that the Z80 needed to have a clock speed of at least twice that of the 6809 to match its performance. In addition, the Motorola 8-bit CPUs used one clock cycle per memory access, not the internal state clock of most other microcomputers of the time. A single memory read operation on a Z-80, for instance, needed several clock cycles vs the 6800 / 6809 single clock cycle. Different clocks!

The 6809 had an internal clock generator (needing only an external crystal). The 6809E needed an external clock generator. There were variants such as the 68A09 and 68B09 where the letter indicated the clock speed that the processor was rated at.

History

The 6809 was originally produced in 1MHz and 2MHz versions, but faster versions were produced later. It is considered to be the precursor to the Motorola 68000 family of processors, though 68K design overlapped the 6809 project.

The 6809 was used in Commodore's dual-CPU SuperPET computer, and, in its 68A09 incarnation, in the Vectrex video game console. The 6809E was used in the TRS-80 Color Computer (CoCo) and in the CoCo's UK clones, the Dragon 32 and Dragon 64 home computers.

Microware developed the original OS 9 (not to be confused with MacOS 9) on the 6809, later porting it to the 68000 series of microprocessors.

The Hitachi 6309 was a version with extra registers and additional instructions, including block move, additional multiply instructions, and a hardware divide.

Unfortunately neither Motorola nor Hitachi anylonger produce 6809 processors or derivatives even though it was almost certainly the most powerful general-purpose 8-bit CPU ever designed. It had many innovative features, several of which were copied and used elsewhere later.


This article (or an earlier version of it) contains material from FOLDOC, used with permission.\n