Motorola 6809
Developed by: Motorola
Launched: 1977
ALU bits: 8
Clock: 1 MHz
El 6809 fue un avance mayor sobre sus dos predecesores, el Motorola 6800 y el MOS Technology 6502. Es considerado como el precursor de la familia de procesadores Motorola 68000.
Entre las mejoras más significativas que el 6809 introdujo sobre sus predecesores fue el empleo de dos acumuladores de 8 bits, mejor que uno en el 6502, los cuales pueden ser combinados en un único registro de 16 bits. También tenía dos registros índice de 16 bits (frente al único registro de 8 bits del 6502) y dos punteros de pila de 16 bits (frente a uno en el 6502), permitiendo modos de direccionamiento bastante avanzados.
El 6809 es compatible a nivel de código fuente con el 6800, aunque el 6800 tenía 78 instrucciones y el 6809 solo 59. Algunas instrucciones fueron reemplazadas por otras más generales que el ensamblador podía traducir, y algunas fueron reemplazadas por modos de direccionamiento. El conjunto de instrucciones y complemento de registro fue altamente ortogonal, haciendo la programación en lenguaje ensamblador bastante agradable, y no la pesadilla de la mayoría de otros CPUs de microcomputadoras de la época.
Otra característica fue una de las primeras instrucciones de multiplicación de su tiempo, aritmética de 16 bits y una interrupción rápida especial. Pero el 6809 fue también altamente optimizado, con una velocidad hasta 5 veces superior a las CPUs de la serie 6800. Al igual que el 6800, incluyó la tristemente célebre e indocumentada instrucción de prueba de bus Halt and Catch Fire (HCF) (detener e incendiarse).
La optimización del procesador 6809 significó que, a diferencia de muchos procesadores de aquel entonces, las instrucciones fueron en su mayoría construidas dentro del procesador, en lugar de ser escritas utilizando microcódigo o microprogramación. Esto significó que podía tomar muchos menos ciclos de reloj de CPU para procesar las instrucciones. Como ejemplo, la instrucción "ADDA 63" toma tres ciclos de reloj (dos para recoger la instrucción, y una para que tuviera lugar la operación). En el Zilog Z80, el cual fue probablemente el principal competidor al 6809, "ADD A,63" toma siete ciclos de reloj. Esto significa que el Z80 necesita una velocidad de reloj de al menos el doble que un 6809 para igualar su rendimiento. En adición, las CPUs de 8 bits de Motorola usaban un ciclo de reloj por acceso a memoria, no el reloj de estado de la mayoría de los otros microcomputadores de esa época. Una simple operación de lectura de memoria en un Z-80, por ejemplo, necesita varios ciclos de reloj frente al único ciclo de reloj del 6800/6809.