Motorola 68000 definition 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
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].