Motorola 68000
The Motorola 68000 is a 16/32-bit complex instruction set computer microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector.
The design implements a 32-bit instruction set, with 32-bit registers and a 16-bit internal data bus. The address bus is 24 bits and does not use memory segmentation, which made it easier to program for. Internally, it uses a 16-bit data arithmetic logic unit and two 16-bit arithmetic units used mostly for addresses, and has a 16-bit external data bus. For this reason, Motorola termed it a 16/32-bit processor.
As one of the first widely available processors with a 32-bit instruction set, large unsegmented address space, and relatively high speed for the era, the 68k was a popular design through the 1980s. It was widely used in a new generation of personal computers with graphical user interfaces, including the Macintosh 128K, Amiga, Atari ST, and X68000, as well as video game consoles such as the Sega Genesis/Mega Drive console. Several arcade game systems also used the 68000.
Later processors in the Motorola 68000 series, beginning with the Motorola 68020, use full 32-bit ALUs and have full 32-bit address and data buses, speeding up 32-bit operations and allowing 32-bit addressing, rather than the 24-bit addressing of the 68000 and 68010 or the 31-bit addressing of the Motorola 68012. The original 68k is generally software forward-compatible with the rest of the line despite being limited to a 16-bit wide external bus.
Although the processors are no longer in production, functionally-identical clones and reproductions of the 68000 are still actively made.
Development
6800
Motorola's first widely produced microprocessor was the 6800, introduced in early 1974 and available in quantity late that year. The company set itself the goal of selling 25,000 units by September 1976, a goal they did meet. Although a capable design, it was eclipsed by more powerful designs, such as the Zilog Z80, and less expensive designs, such as the MOS Technology 6502. By late 1976, the sales book was flat and the division was only saved by a project for General Motors that turned into a huge product line for engine control and other tasks.Moving to 16-bit
By the time the 6800 was introduced, a small number of 16-bit designs had come to market. These were generally modeled on minicomputer platforms like the Data General Nova or PDP-11. Based on the semiconductor manufacturing processes of the era, these were often multi-chip solutions like the National Semiconductor IMP-16, or the single-chip PACE that had issues with speed.With the sales prospects for the 6800 dimming, but still cash-flush from the engine control sales, in late 1976 Colin Crook, Operations Manager, began considering how to successfully win future sales. They were aware that Intel was working on a 16-bit extension of their 8080 series, which would emerge as the Intel 8086, and had heard rumors of a 16-bit Zilog Z80, which became the Z8000. These would use new design techniques that would eliminate the problems seen in earlier 16-bit systems.
Motorola knew that if they launched a product similar to the 8086, within 10% of its capabilities, Intel would outperform them in the market. In order to compete, they set themselves the goal of being two times as powerful at the same cost, or one-half the cost with the same performance. Crook decided that they would attack the high-end of the market with the most powerful processor on the market. Another 16-bit would not do, their design would have to be bigger, and that meant having some 32-bit features. Crook had decided on this approach by the end of 1976.
MACSS
Crook formed the Motorola Advanced Computer System on Silicon project to build the design and hired Tom Gunter to be its principal architect. Gunter began forming his team in January 1977. The performance goal was set at 1 million instructions per second. They wanted the design to not only win back microcomputer vendors like Apple Computer and Tandy, but also minicomputer companies like NCR and AT&T.The team decided to abandon an attempt at backward compatibility with the 6800, as they felt the 8-bit designs were too limited to be the basis for new designs. The new system was influenced by the PDP-11, the most popular minicomputer design of the era. At the time, a key concept in minis was the concept of an orthogonal instruction set, in which every operation was allowed to work on any sort of data, and the PDP-11 was considered the canonical example of this concept. This resulted in many different instructions, which were minor variations that changed where the data came from. To feed the correct data into the internal units, MACSS made extensive use of microcode, essentially small programs in read only memory that gathered up the required data, performed the operations, and then wrote out the results. This was common in mainframes and minis, but MACSS would be among the first to use this technique in a microprocessor.
There was a large amount of support hardware for the 6800 that would remain useful, things like UARTs and similar interfacing systems. For this reason, the new design retained a bus protocol compatibility mode for existing 6800 peripheral devices.
A chip with 32 data and 32 addressing pins would require 64 pins, plus more for power and other features. At the time, 64-pin dual inline package s were "large, heavy-cost" systems and "just terrible", making that the largest they could consider. To make it fit, Crook selected a hybrid design, with a 32-bit instruction set architecture but 16-bit components implementing it, like the arithmetic logic unit. The external interface was reduced to 16 data pins and 24 for addresses, allowing it all to fit in a 64-pin package. This became known as the "Texas Cockroach".
By the mid-1970s, Motorola's MOS design techniques had become less advanced than their competition, and their fabrication lines at times struggled with low yields. By the late-1970s, the company had entered a technology exchange program with Hitachi, dramatically improving their production capabilities. As part of this, a new fab named MOS-8 was built using the latest 5-inch wafer sizes and Intel's HMOS process with a 3.5 μm feature size. This was an investment aimed at catching the competition: even upstart semiconductor companies such as Zilog and MOS Technology had introduced CPUs fabricated on depletion-mode NMOS logic before Motorola did. In fact, Motorola may have substantially lagged contemporaries in phasing out enhancement mode and metal gate, with Gunter recollecting that the 68000 itself had to succeed despite initially adopting a metal-gate design. Though the point about playing catch-up is clear, this could not have been an entirely accurate summary because Motorola's 1976 datasheets, predating the inception of the MACCS project, denote the majority of its 6800 family in silicon-gate. Indeed, Gunter's own 1979 article introducing the 68000 highlighted it as a silicon-gate depletion-mode HMOS design. Whatever the degree of Motorola's process and manufacturing deficits in the early days, the team was undeterred and would not compromise in its pursuit of a microprocessor with industry-leading performance.
Sampling and production
Formally introduced in September 1979, initial samples were released in February 1980, with production chips available over the counter in November. Initial speed grades were 4, 6, and 8 MHz. 10 MHz chips became available during 1981, and 12.5 MHz chips by June 1982. The 16.67 MHz "12F" version of the MC68000, the fastest version of the original HMOS chip, was not produced until the late 1980s.Motorola MC68000 Design Module
Along with initial chip sampling, Motorola offered a development board, the Motorola MC68000 Design Module. The board featured a 68000 microprocessor with 32k bytes of DRAM. It had two 16 bit peripheral interface adapter ports on the ejector edge, and a male edge connector for the older Motorola 6800 EXORciser bus at the opposite end, allowing it to be used with standard 6800 emulators. One asynchronous communication port was configured to connect with a standard RS-232C data terminal, and the other was configured to emulate an RS-232C terminal, enabling communication with a host computer. A transparent mode allowed a program created on a host computer to be directly downloaded into the 68000 memory. Contents of the 68000's memory could also be uploaded into the host computer for further processing.The KDM board came with socketed ROM chips that contained Motorola's new MacsBug debugger. A switch on the KDM board activated the debugger. MacsBug was later used in Apple's early Macintosh computers.
Apple adoption
By the start of 1981, the 68k was winning orders in the high end, and Gunter began to approach Apple to win their business. At that time, the 68k sold for about $125 in quantity. In meetings with Steve Jobs, Jobs talked about using the 68k in the Apple Lisa, but stated "the real future is in this product that I'm personally doing. If you want this business, you got to commit that you'll sell it for $15." Motorola countered by offering to sell it at $55 at first, then step down to $35, and so on. Jobs agreed, and the Macintosh moved from the 6809 to the 68k. The average price eventually reached $14.76.Variants
In 1982, the 68000 received a minor update to its instruction set architecture to support virtual memory and to conform to the Popek and Goldberg virtualization requirements. The updated chip is called the 68010. It also adds a new "loop mode" which speeds up small loops, and increases overall performance by about 10% at the same clock speeds. A further extended version, which exposes 31 bits of the address bus, was also produced in small quantities as the 68012.To support lower-cost systems and control applications with smaller memory sizes, Motorola introduced the 8-bit compatible 68008, also in 1982. This is a 68000 with an 8-bit data bus and a smaller address bus. After 1982, Motorola devoted more attention to the 68020 and 88000 projects.