Motorola 68010 (MC68010) family

Motorola 68010 (MC68010) microprocessor is an enhanced version of the 68000 CPU. The 68010 is based on the same first-generation core as the 68000 and it's pin-compatible with it. The CPU has 16-bit data bus and 24-bit address bus, i.e. it can address up to 16 MB of memory. Programs on the 68010 can run in supervisor or user mode. Each mode has it's own stack and status register. The MC68010 is approximately 5% - 10% faster than the 68000 CPU at the same frequency due to few core optimizations. Some instructions on the 68010 execute faster than on the 68000, most notably integer multiply and divide instructions. The 68010 is faster in processing of long word data. Also, the MC68010 microprocessor includes special loop optimization. Whenever the CPU detects a word instruction followed by two-word decrement and branch instruction (DBxx), it stores the first instruction in instruction decode register and the DBxx instruction in the prefetch queue, and then executes the loop without fetching both instructions from memory, thus speeding up loop processing.

In addition to slightly faster execution, the 68010 features virtual machine and virtual memory capability:

  • The 68000 CPU didn't support virtual memory because the processor couldn't properly handle page faults (exceptions that occur when the CPU tries to access not-mapped yet memory). When the page fault exception was encountered, the 68000 didn't save enough information into the stack, as a result it couldn't resume operation after the OS handled the exception. The 68010 processes page fault exceptions differently. When the 68010 encounters page fault it saves complete processor status information along with other data into the stack and transfers control to OS. After the OS loads and maps missing memory page, the CPU restores processor status from the stack and continues to execute the instruction that generated the exception. The next generation of Motorola 680x0 microprocessors - Motorola 68020 and 68030 used the same "instruction continuation" method of page fault processing.
  • To fully support Virtual Machine capability one of processor instructions - "MOVE from SR" - was made a privileged instruction. Due to this change the 68010 was not 100% object-code compatible with the 68000. This incompatibility affected only small number of programs, and often there was a way around it. For example, there was a small program called DeciGEL for Amiga computers that simulated "MOVE from SR" instruction for old applications.
  • The CPU includes new supervisor register Vector Base Register (VBR). The VBR can be used to place interrupt vector table anywhere in memory.
  • New Source Function Code (SFC) and Destination Function Code (DFC) registers specify source and destination address spaces for new MOVES instruction. This instruction is very useful for copying data from one memory space (user, supervisor or CPU) to other memory space.

68010 microprocessors were manufactured in plastic and ceramic DIP, Plastic Leaded Chip Carrier and PGA packages.

Die pictures: Motorola MC68010L10
Links
History
Architecture
Identification
Pinouts
Support chips
At a glance
Introduction:
1982
Technology:
HMOS
Bus width (bit):
16 (ext) / 32 (int)
Frequency (MHz):
8 - 16

Motorola MC68010FN10

10 MHz
68-pin plastic LCC
Motorola MC68010FN10

Motorola MC68010FN12

12.5 MHz
68-pin plastic LCC
Motorola MC68010FN12

Motorola MC68010P8

8 MHz
64-pin plastic DIP
Motorola MC68010P8

Motorola MC68010P10

10 MHz
64-pin plastic DIP
Motorola MC68010P10

Motorola MC68010R12

12.5 MHz
68-pin ceramic PGA
Motorola MC68010R12

Motorola MC68010RC10

10 MHz
68-pin ceramic PGA
Motorola MC68010RC10

Motorola MC68010RC12

12.5 MHz
68-pin ceramic PGA
Motorola MC68010RC12

Other 68010 chips


Motorola MC68010FN8
Motorola MC68010FN12F
Motorola MC68010FN16
Motorola MC68010LC8
Motorola MC68010LC10
Motorola MC68010LC12
Motorola MC68010LC12F
Motorola MC68010LC16
Motorola MC68010P12
Motorola MC68010P12F
Motorola MC68010P16
Motorola MC68010R8
Motorola MC68010R10
Motorola MC68010R12F
Motorola MC68010R16
Motorola MC68010RC8
Motorola MC68010RC12F
Motorola MC68010RC16
Signetics SCN68010C8I64
Signetics SCN68010C8N64
Signetics SCN68010C8A68
Signetics SCN68010C8P68
Signetics SCN68010CAI64
Signetics SCN68010CAN64
Signetics SCN68010CAA68
Signetics SCN68010CAP68
Signetics SCN68010CBI64
Signetics SCN68010CBN64
Signetics SCN68010CBA68
Signetics SCN68010CBP68
Toshiba TMP68010P8
Toshiba TMP68010P10
Toshiba TMP68010P12

(c) Copyright 2003 Gennadiy Shvets