Chapter 7. 68000-Series Computers
This chapter examines the Motorola 68000, a 32-bit processor that has been around for quite some time and has evolved into a plethora of controllers and embedded processors. The 68000 (also known as the 68k) is produced by Motorola (http://e-www.motorola.com) and is licensed by several other manufacturers. The range of 68000-based processors is large (check out the Motorola web site for a list of processors and their features). The number of applications that the 68000 has found its way into is enormous. You can even get 68000s as soft cores for FPGAs, which means that you place a 68000 CPU in the midst of your programmable logic, all on the one chip. The 68000-series of processors are good general-purpose processors. They have a nice instruction set, are easy (and fun) to write code for, and are relatively easy to build computers around. They have large address spaces and asynchronous operation, allowing them to be interfaced to a wide variety of memory and peripherals of varying operating speeds. They are used in industrial control and monitoring and also in consumer electronics. In this chapter, I look at the standard 68000 processor. More than likely, this is not the processor you will use in a design. Instead, you will probably choose a 68000-based integrated controller that better suits your needs. So, why look at a standard 68000 and not one of the derivatives? First, there are far too many diverse 68000-based processors to cover. Second, since all are based upon the 68000, understanding the basic 68000 is a great starting point. Finally, all the derivatives are generally easier to use than the original, so if you can design around a standard 68000, then you can design for a derivative processor as well. The Motorola MC68000 was introduced in 1979 as the successor to the 8-bit 6800 family. It featured a large address space, 32-bit registers, a large number of addressing modes, and an enlarged instruction set with more than a thousand opcodes. It was designed with the intention of running multitasking operating systems in general and specifically Unix. Its use in Unix machines has now long since passed, having been usurped by more advanced RISC processors. The 68000 processor was also used in the original Macintosh computers, as well as the Atari ST, the Commodore Amiga, and Jef Raskin's CAT computer,[1] all long extinct. Because of the processor's wide range of software and reasonable computing power, it is now used extensively in embedded systems. It now forms the basis of a family of microcontrollers designed for embedded systems, industrial control, networking, and PDAs. The 683xx series is the primary family of microcontrollers specifically tailored to embedded applications. These processors combine a CPU32 core (68020-based) with various integrated functions (such as UARTs, SPI, ADCs, etc.). Additional 68000 processors have been developed for specialized applications. The Palm PDA has a 68EZ328 DragonBall processor, also based on a CPU32 core, that incorporates an LCD controller along with many of the common functions found in PDAs. The DragonBall is essentially a PDA on a chip梛ust add memory. The uCLinux fraternity uses a DragonBall processor in its small embedded controller board.
The 68000 architecture was upgraded to RISC with the ColdFire series of processors. These see extensive use in industrial control and network interfaces. Understanding the 68000 gives you access to a wide range of available processors. Dozens of commercial C compilers and assemblers are available for the 68000 family, as are a number of public-domain compilers. The 68000 is fully supported by the gnu development suite. Both Linux and BSD are also available for the 68000, as are numerous commercial operating systems. |