[net.micro.68k] 68000: 16 or 32 bits?

henry (03/15/83)

An attempt to clear up the debate about how wide the 68000 is...

The 68000's guts are *basically* 16 bits wide.  There is a single main
16-bit internal bus, but under a number of circumstances it can be
segmented into a pair of 16-bit buses (by breaking it at a switch in
the middle).  This gives a limited ability to do two 16-bit transfers
simultaneously, and the 68000 microcode does make use of this to
speed things up.  But in general it is still a 16-bit machine; check
the timing differences between 16-bit and 32-bit instructions if you
doubt me.

What Motorola's propaganda about the design being 32 bits wide inside
means, is that the *architecture* is logically 32 bits wide, so you
could implement a 32-bit-wide 68000.  This is presumably what the
68020 will be.  (Will it actually have thrilling things like a 32-bit
multiply instruction?  Who knows...)

Anyone who wishes to understand the architecture and implementations
of the 68000 should be aware of a key fact:  originally the 68000
was a 16-bit architecture with >16-bit addresses.  This is why the
distinction between data and address registers:  at the start, the
data registers were 16 bits but the address registers had to be wider.
The 32-bit data registers, and assorted 32-bit instructions, were
largely afterthoughts added after a fair bit of the design had already
solidified.

					Henry Spencer
					U of Toronto