Motorola 68000
<processor> (MC68000) The first member of
Motorola, Inc.'s family of 16- and 32-bit microprocessors.
The successor to the
Motorola 6809 and followed by the
Motorola 68010.
The 68000 has 32-bit registers but only a 16-bit
ALU and external
data bus.
It has 24-bit addressing and a
linear address space, with none of the evil segment registers of Intel's contemporary processors that make programming them unpleasant.
That means that a single directly accessed
array or structure can be larger than 64KB in size. Addresses are computed as 32 bit, but the top 8 bits are cut to fit the address bus into a 64-pin package (address and data share a bus in the 40 pin packages of the
8086 and
Zilog Z8000).
The 68000 has sixteen 32-bit registers, split into data and address registers.
One address register is reserved for the
Stack Pointer.
Any register, of either type, can be used for any function except direct addressing.
Only address registers can be used as the source of an address, but data registers can provide the offset from an address.
Like the
Zilog Z8000, the 68000 features a supervisor and user mode, each with its own
Stack Pointer.
The
Zilog Z8000 and 68000 are similar in capabilities, but the 68000 is 32 bits internally, making it faster and eliminating forced segmentations.
Like many other CPUs of its generation, it can fetch the next instruction during execution (2 stage
pipeline).
The 68000 was used in many workstations, notably early Sun-2 machines, and personal computers, notably Apple Computer's first Macintoshes and the
Amiga.
It was also used in most of
Sega's early arcade machines, and in the Genesis/{Megadrive} consoles.
Variants of the 68000 include the 68HC000 (a low-power HCMOS implementation) and the 68008 (an eight-bit data bus version used in the Sinclair QL).
["The 68000: Principles and Programming", Leo Scanlon, 1981].