12

I am doing a design based on the Motorola 68332 MCU made for embedded applications, which is based on the CPU32 core. The CPU32 core is very similar to the 680x0 CPUs, but there are some subtle differences that I need to know. So for a better understanding, I would like to hear if anybody can help with the questions below.

Why was CPU32 core created, when Motorola had the 680x0 CPU cores already ?

The "M68000 FAMILY PROGRAMMER’S REFERENCE MANUAL" points out a large number of differences between the 680x0 and the CPU32, but the differences are scattered over a long document.

Does anybody know a description of only the differences between a 680x0 CPU core and the CPU32 core?

1 Answer 1

15

I can suggest why it was created. The Wikipedia page for CPU32 says:

The instruction set of the CPU32 core is similar to the 68020 without bitfield instructions, and with a few instructions unique to the CPU32 core, such as table lookup and interpolate instructions, and a low-power stop mode.

The objective for CPU32 seems to have been a processor for embedded uses, rather than a powerful minicomputer/workstation processor, which was the original objective of the 68000. The most important requirement for an embedded processor is usually low cost, followed by low power consumption.

  • In the 1970s, when the 68000 was first created, bit-field instructions were a popular concept in CISC architectures: the DEC VAX is another example. They've become essentially obsolete in the light of experience with RISC architectures, so taking them out to save chip area, and thus cost, for the CPU32 is reasonable. That makes it no longer 68000-software-compatible, and thus allows more changes to the instruction set.

  • The table lookup and interpolate instructions are useful for a common trick with embedded systems. Rather than running a complex algorithm, pre-compute its value for a range of inputs, and then use lookups and interpolations.

  • The low-power stop instruction is definitely for power saving, and is one of the simplest means for that: having a processor consume power when it has no work to do is deadly for battery-powered devices.

5
  • 1
    Thanks, so it sounds like the CPU32 is maybe a branch from the 68020 design, and not a brand new design. The CPU32 name was then maybe chosen to indicate that it breaks with the compatibility line of the 680x0 series.
    – EquipDev
    Aug 9, 2019 at 8:38
  • 1
    Table lookup will have little to do with streaming media. Lookup tables are very common with embedded systems. Rather than process some complex algorithm you just calculate a table of values before hand and then look one up, or look two up an interpolate. It's much faster in most cases.
    – user
    Aug 9, 2019 at 8:52
  • 4
    The story I was told was that the Dragonball design for Palm Pilots mutated into CPU32 as Motorola realised there was a market for embedded M68K SoC designs. I may have an original 68302 reference book somewhere which I think predates the introduction of CPU32 as an idea.
    – PeterI
    Aug 9, 2019 at 11:27
  • 1
    @user: Revised - is this accurate? Aug 9, 2019 at 17:34
  • @JohnDallman Yep, better.
    – user
    Aug 10, 2019 at 14:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .