Motorola 68010

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Motorola 68010
General information
Designed byMotorola
Max. CPU clock rate8 MHz to 16.67 MHz
Data width16 bits
Address width24 bits
Architecture and classification
Instruction setMotorola 68000 series
Physical specifications
PredecessorMotorola 68000
SuccessorMotorola 68020
Motorola 68010 as DIP
Motorola 68010 as PGA

The Motorola MC68010 processor is a 16/32-bit microprocessor from Motorola, released in 1982 as the successor to the Motorola 68000.[2] It fixes several small flaws in the 68000, and adds a few features.

The 68010 is pin-compatible with the 68000, but is not 100% software compatible. Some of the differences were:

  • The MOVE from SR instruction is now privileged (it may only be executed in supervisor mode). This means that the 68010 meets Popek and Goldberg virtualization requirements. Because the 68000 offers an unprivileged MOVE from SR, it does not meet them.
  • The MOVE from CCR instruction was added to partially compensate for the removal of the user-mode MOVE from SR.
  • It can recover from bus faults, and re-run the last instruction, allowing it to implement virtual memory.
  • The exception stack frame is different.
  • It introduced a 22-bit Vector Base Register (VBR) that holds A[31:10] of the 1 KiB-aligned base address for the exception vector table. The 68000 vector table was always based at address zero.
  • "Loop mode" which accelerates loops consisting of only two instructions, such as a MOVE and a DBRA. The two-instruction mini-loop opcodes are prefetched and held in the 6-byte instruction cache while subsequent memory read/write cycles are only needed for the data operands for the duration of the loop. It provided for performance improvements averaging 50%, as a result of the elimination of instruction opcodes fetching during the loop.

In practice, the overall speed gain over a 68000 at the same frequency is less than 10%.

Motorola 68451 MMU

The 68010 could be used with the 68451 MMU. However, aspects of its design, such as its 1 clock memory access penalty, made this configuration unpopular. Some vendors used their own MMU designs, such as Sun Microsystems in their Sun-2 workstation and Convergent Technologies in the AT&T UNIX PC/3B1.


The 68010 was never as popular as the 68000. However, due to the 68010's small speed boost over the 68000 and its support for virtual memory, it can be found in a number of smaller Unix systems, both with the 68451 MMU (for example in the Torch Triple X), and with a custom MMU (such as the Sun-2 Workstation, AT&T UNIX PC/3B1, Convergent Technologies MiniFrame, NCR Tower XP and HP 9000 Model 310) and various research machines. Most other vendors (such as Apple Computer) stayed with the 68000 until the 68020 was introduced.

Atari Games used the 68010 in some of their arcade boards such as the Atari System 1. Some owners of Amiga and Atari ST computers and Sega Genesis game consoles replaced their system's 68000 CPU with a 68010 to gain a small speed boost.[3]

Motorola 68012[edit]

Motorola 68012
Die of Motorola 68012

The Motorola MC68012 processor is a 16/32-bit microprocessor from the early 1980s. It is an 84-pin PGA[4] version of the Motorola 68010. The memory space was extended to 2 GB, and a read-modify-write cycle (RMC) pin, indicating that an indivisible read-modify-write cycle in progress, was added, in order to help the design of multiprocessor systems with virtual memory.[5][6] All other processors had to hold off memory accesses until the cycle was complete. All other features of the MC68010 were preserved.

The expansion of the memory space caused an issue for any programs that used the high byte of an address to store data, a programming trick that was successful with those processors that only have a 24-bit address bus (68000 and 68010). A similar problem affected the 68020.


  1. ^ "i486, 68040 Use Pipelining To Speed Up Performance". InfoWorld: 39. May 8, 1989.
  2. ^ "Motorola 68010 (MC68010) family". CPU World.
  3. ^ Floryan, Thad. "AMIGA (tm) TECHNICAL NOTE Upgrading an AMIGA A1000 with a Motorola MC68010L8".
  4. ^ "Motorola 68012 (MC68012) microprocessor family".
  5. ^ MC68010/MC68012 16-/32-Bit Virtual Memory Microprocessors (PDF). Motorola Semiconductor. May 1985.
  6. ^ Avtar, Singh; Triebel, Walter A. (1991). 16-Bit and 32-Bit Microprocessors: Architecture, Software, and Interfacing Techniques. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 978-0138121570.

External links[edit]