Motorola 68000 family
The Motorola 68000 series , as 680x0 or m68k or 68k called, is a series of historical CISC - microprocessors of the company Motorola .
The processors of this family were used in many home computers such as the Atari ST , Amiga or Macintosh , in servers from Apollo , Hewlett-Packard or Sun Microsystems , for example , but also in game consoles such as the Atari Jaguar or Sega Mega Drive . In the area of embedded systems , descendants of this family (683xx) are still in use today.
All processors in this series have a simple but powerful instruction set with many addressing types and operand sizes of 8, 16 and 32 bits . For example, there is the data transfer command "move" which, as a real two-address command, can copy a data item from one memory location to another without going via a CPU register . The byte order of the 68k family is big-endian.
The 68K processors
Members of this family
- Motorola 68000
- Motorola 68HC001 - 68000 with 8 or 16 bit bus and 24 bit addresses
- Motorola 68008
- Motorola 68010
- Motorola 68012
- Motorola 68020 , Motorola 68EC020
- Motorola 68030 , Motorola 68EC030
- Motorola 68040 , Motorola 68EC040, Motorola 68LC040
- Motorola 68060 , Motorola 68EC060
- Motorola CPU32 (Motorola 68330)
- Motorola Coldfire
- Motorola Dragonball
- Motorola 68440 - two-channel DMA controller for the 68000/10
- Motorola 68450 - four-channel DMA controller for the 68000/10
- Motorola 68451 - external MMU for the 68000/10
- Motorola 68851 - external MMU for the 68020
- Motorola 68881 - external FPU for the 68020 and 68030
- Motorola 68882 - external FPU for the 68020 and 68030
The processors with even numbers (68000, 68020, 68040, 68060) were intended for major changes to the architecture, while the odd numbers (68010, 68030, 68050, 68070) were architectural optimizations. The processors 68050 and 68070 were planned, but were never produced.
For example, were Motorola 68010 (and also 68012 ) 68000 with a optimizations for loop operations and the possibility for a page fault ( pagefault pause) an instruction. This enabled the use of virtual memory with the help of a memory management unit (MMU ). Otherwise there were no further changes to the architecture. It was similar with the 68030. This was basically just a scaled-down version of the 68020, in which the MMU and an additional data cache (256 bytes) were integrated into the CPU . The 68030 was available with a speed of up to 50 MHz.
The changes from 68000/68010 to 68020/68030, however, were very extensive.
- Freescale ColdFire
- Freescale DragonBall (MC68328)
- APOLLO CORE 68080
The series begins in 1979 with the Motorola 68000 . It has an internal 32-bit register, a linear address space addressed with 32 bits , a 16-bit ALU and a 16-bit data bus . It only has 24 address lines to the outside, so not 4 GiB can actually be used , but only 16 MiB memory, which was not a relevant restriction at the time.
The Motorola 68008 is a reduced version of the 68000 with an 8-bit data bus and a 20-bit address bus. In addition to its use as the main processor, for example in the Sinclair QL , this CPU was often used as a controller in control technology.
The Motorola 68010 was not very successful as it fixed some of the errors in the 68000. In particular, the handling of memory access errors has been improved, which was necessary for meaningful support of an MMU. In addition, the pipeline was given a special mode that significantly accelerated short loops of two instructions by executing them without reading the instructions repeatedly.
The Motorola 68012 was a variant of the 68010, in which additional address lines allowed the addressing of up to 2 GiB memory.
With the Motorola 68020 the processor was completely converted to 32-bit , for the first time it had a cache for instructions (size 256 bytes) and could be used with the FPU 68881 or 68882 or the MMU 68851 without any problems . The inexpensive version 68EC020 only had 24 address lines.
The Motorola 68030 contained an integrated programmable MMU, with the help of which virtual memory management became possible, and separate cache memories for data (256 bytes) and instructions (256 bytes). The 68EC030 lacked the internal MMU.
With the Motorola 68040 , the FPU was integrated on the chip and the level 1 cache was enlarged to 4 KiB. By internally doubling the clock, a 68040 with 25 MHz has about the integer computing power of a 68030 clocked with 50 MHz. In the 68LC040 variant the FPU was missing or was switched off due to a defect.
The Motorola 68060 again offered a significant performance improvement over the 68040; it allowed clock frequencies of up to 75 MHz (mostly clock frequencies of 50 MHz were available) and, thanks to " SuperScalar " , could execute up to two integer instructions per clock. It was mainly used for embedded applications, as the processors from Intel were much cheaper due to the significantly larger quantities, RISC processors were now mainly used in servers and the PowerPC was already a market-technical successor in the PC and workstation area was available. Apart from some extended Amiga computers and as an embedded system, the Motorola 68060 was practically no longer used.
After the 68060, the development of the 68000 core for embedded purposes was continued. For this, the core was expanded to include additional peripherals. In addition, the complexity has been reduced to lower power consumption and manufacturing costs. These changes resulted in the Motorola Coldfire and Dragonball families, which are now used in many devices (such as cell phones and PDAs , e.g. from Palm ).
Typical 68k operating systems are OS-9 , AmigaOS , Atari- TOS , Mac OS (formerly Macintosh System Software), MiNT , Linux68k , NetBSD and OpenBSD .
- visual6502.org Very high resolution photos of the 68000 CPU