Parmi les améliorations significatives introduites par le 6809, on trouve une paire d'accumulateurs à 8 bits qui pouvaient être combinés en un seul registre de 16 bits. Le 6502 n'avait qu'un seul accumulateur. Il y avait aussi deux registres d'index à 16 bits (contre deux registres d'index à 8 bits dans le 6502) et deux pointeurs de pile (contre un seul dans le 6502). Ceci donnait lieu à des modes d'adressage très avancés.
Le 6809 était compatible avec le 6800 sur le plan du code source, même si le 6800 avait 78 instructions alors que le 6809 n'en avait que 59. Certaines instructions furent remplacées par d'autres qui étaient plus générales (et que l'assembleur se chargeait de traduire), et d'autres furent même remplacées par des modes d'adressage. Le jeu d'instructions et l'ensemble des registres étaient très orthogonaux, ce qui rendait la programmation en langage assembleur assez plaisante, contrairement au cauchemar de cas spéciaux qui était typique de la plupart des autres microprocesseurs de l'époque.
On pouvait aussi compter sur une des premières instructions de multiplication de l'époque, sur l'arithmétique à 16 bits, et sur un système d'interruptions particulièrement rapide. Par ailleurs, le 6809 était fortement optimisé et atteignait jusqu'à cinq fois la vitesse des processeurs de la série 6800. Tout comme le 6800, il possédait l'instruction « Halt and Catch Fire (HCF) » (« arrête et prends feu »), qui servait à tester le bus.
La performance accrue du 6809 reflétait le fait que, contrairement à beaucoup de processeurs de l'époque, les instructions étaient pour la plupart implémentées directement dans le processeur (comme pour les processeurs RISC apparus vers les années 1990) plutôt que d'être écrites en microcode (tel un processeur CISC). Ceci réduisait le nombre de cycles d'horloge du processeur nécessaires à l'exécution des instructions. Par exemple, l'instruction ADDA 63 prenait 3 cycles : deux pour l'obtention de l'instruction (fetch) et un pour effectuer l'addition.
Sur le Z80 de Zilog, qui était probablement le principal concurrent du 6809, l'instruction ADD A,63 prenait 7 cycles. En conséquence, le Z80 avait besoin d'une vitesse d'horloge d'au moins deux fois celle du 6809 pour en égaler la performance. De plus, les processeurs à 8 bits de Motorola utilisaient un cycle d'horloge par accès à la mémoire, plutôt que l'horloge d'état interne de la plupart des autres microprocesseurs de ce temps. Une seule opération de lecture de la mémoire sur un Z80, par exemple, nécessitait plusieurs cycles d'horloge, contre un seul pour un 6800 ou un 6809.
Le 6809 avait un générateur de cadence interne qui n'avait besoin que d'un cristal externe. Le 6809E avait besoin d'un générateur de cadence externe. Il y avait des variantes comme le 68A09(E) et le 68B09(E), où la lettre du milieu indiquait la vitesse d'horloge nominale du processeur.