16

I can see the pinouts of these two chips are utterly different. Apparently the 'E needs an external clock as well. This question isn't so much about any of those hardware related differences. This question is about what a programmer can see.

I have looked over the instruction set listing, but I don't see any mention in any documentation about differences between them. So what is the difference between a 6809 and a 6809E?

4
  • 2
    The Hitachi 6309 is the interesting variant, from a programmers' view. – Brian H Oct 13 '20 at 13:48
  • i used to be a big proponent of the MC6809. it was the first microprocessor i had with a MUL instruction. i could do a simple digital filter with a sample rate of 8 kHz with it. and i liked the additional addressing modes. it made me into a Motorola partisan. – robert bristow-johnson Oct 14 '20 at 22:39
  • @robertbristow-johnson you're not the first to say you like it that much! I wonder why it wasn't more common... – OmarL Oct 15 '20 at 6:26
  • 1
    hardware engineers (who often make the design decisions) often don't have good taste. how else did the Z-80 get used everywhere? – robert bristow-johnson Oct 15 '20 at 15:38
18

To directly answer the question: there is no difference whatsoever on the software side. The CPU core and indeed the die inside the package is exactly the same, just different pins are bonded out in one specific corner. The actual difference is entirely in the clock generator.

The non-E version has oscillator-driver pins for directly attaching a crystal, and produces E and Q clocks in quadrature as outputs:
HD6309 non-E

The E version has E and Q clocks as inputs so they must be generated by an external clock generator; it's straightforward to do that with a crystal can oscillator and a pair of JK flipflops. The oscillator-driver pins are freed up for two control signals, TSC and LIC, potentially useful in more sophisticated systems.
HD6309E

(Above diagrams taken from Hitachi's databook, so they refer to their 6309 clone rather than the 6809 itself.) The major point here is that these differences are invisible to software.

14

There's your answer, right there:

the 'E needs an external clock as well

That's it. From the software side, there's no difference.

(Also: The pinouts differ in 4 out of 40 pins. I wouldn't call that "utterly different".)

3

From the other point of view: there is no way how a program can decide if runs on 6809, or 6809E. There are methods to distinct between MC6809 and HD6309 programmatically (HD6309 has a specific set of undocumented instructions), but 6809 and 6809E are the same chips, the only difference is the clock generating part.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.