Motorola 88000

The 88000 (m88k for short) is a RISC instruction set architecture (ISA) developed by Motorola during the 1980s. The MC88100 arrived on the market in 1988, some two years after the competing SPARC and MIPS. Due to the late start and extensive delays releasing the second-generation MC88110, the m88k achieved very limited success outside of the MVME platform and embedded controller environments. When Motorola joined the AIM alliance in 1991 to develop the PowerPC, further development of the 88000 ended.
History.
Background.
Motorola entered the 1980s in a position of strength; their recently-introduced Motorola 68000 easily outperformed any other microprocessor on the market, and its 32-bit architecture was naturally suited to the emerging Unix workstation market. Intel was not moving aggressively into the 32-bit space, and the companies that did, notably National Semiconductor, botched their releases and left Motorola in control of everything that was not Intel. At the time, Intel held about 80% of the overall computer market, while Motorola controlled 90% of the rest.
Into this came the early 1980's introduction of the RISC concept. At first, there was an intense debate within the industry whether the concept would actually improve performance, or if it's longer machine language programs would actually slow the execution through additional memory accesses. All such debate was ended by the mid-1980s when the first RISC-based workstations emerged; the latest Sun-3/80 running on a 20 MHz Motorola 68030 delivered about 3 MIPS, whereas the first SPARC-based Sun-4/260 with a 16 MHz SPARC delivered 10 MIPS. Hewlett-Packard, DEC and other large vendors all began moving to RISC platforms.
This shift in the market had the potential to lock Motorola out of one of its only strongholds, and among its most lucrative. Apple remained the company's only large vendor outside the workstation space; other users of the 68000, notably Atari and Commodore International, were floundering in a market that was rapidly standardizing on the PC clone.
Motorola's approach.
RISC designs were a conscious effort to tailor the processor to the types of operations being called by the compilers on that platform, in the case of Unix workstations, the C programming language. The seminal IBM 801 project had noted that compilers generally did not use the vast majority of the instructions available to them, and instead used the simplest version of the instructions, often because these performed the fastest. Removing these unused instructions from the CPU freed up significant room on the chip. This gave room to increase the number of processor registers, which had a far greater impact on performance than special-case instructions. For this reason, the RISC concept can be said to be driven by the real-world design of compilers.
In contrast, Motorola chose to ignore this approach and designed an entirely new concept not based on compiler design. The idea was that they would not attempt to compete with the ever-growing list of similar RISC designs on the market, instead, they would produce the world's most powerful processor. To do this, they took design notes from one of the fastest computers of the era, the CDC Cyber supercomputer, notably using its concept of a scoreboard, which was used as it was in the CDC machines to aid instruction dispatch, but also as a way to improve subroutine call performance.
Another feature of the new design was its built-in support for specialized co-processors. In addition to the internal commands supported out of the box, it set aside a number of blocks of 256 instructions that could be used by co-processors. This was aimed at designers who wished to customize the system; new functional units could be added without affecting the existing instruction set architecture, ensuring software compatibility for the main functionality.
Release.
By 1987 it was widely known that Motorola was designing its own RISC processor. Referred to by the computer industry as the "78000", an homage to the earlier 68000, it became the 88000 when it was released in April 1988.
As a side-effect of the complexity of the design, the CPU did not fit on a single chip. The 68030, released the year earlier, had 273,000 transistors, including the arithmetic logic unit (ALU) and memory management unit (MMU) on a single chip, with the optional floating point unit (FPU) as a separate chip. In contrast, the 88000 packaged the ALU and FPU together on the 750,000 transistor MC88100, and the memory management unit (MMU) and 16 kB static RAM cache in the 750,000 transistor MC88200. In contrast to the 68030 where the FPU was truly optional, a practical 88000 system could not be built without a MC88200. Systems could include more than one MC88200, producing larger caches and allowing multiple paths to main memory for improved performance.
Aimed at the high-end of the market, it was claimed to be the fastest 32-bit processor in the world when it was released. Running at 20 MHz, it reached 34,000 Dhrystones or 17 VUPS, compared to about 12 MIPS for a 12.5 MHz SPARC of the same vintage in the SPARCstation. It was also available as a 25 MHz part at 21 MIPS, 48,387 Dhrystones.
At the time, Motorola marketed the 88000 strictly to the high-end of the market, including "telecommunications artificial intelligence, graphics, three-dimensional animation, simulation, parallel processing and supercomputers", while they suggested the existing 68k series would continue to be used in the workstation market. Instead, most potential customers ignored the 88000, and the system saw little use.
Re-release.
As the original release saw next to no use outside Motorola's own products, and those traditional customers were starting to move to other RISC designs, the company re-launched the design in a single-chip form, the MC88110. In the late 1980s, several companies were actively examining the 88000 series for future use, including NeXT, Apple Computer and Apollo Computer, but all had given up on the design by the time the 88110 was finally available in 1990.
There was an attempt to popularize the system with the 88open group, similar to what Sun Microsystems was attempting with their SPARC design. It appears to have failed in any practical sense.
Abandonment.
In the early 1990s Motorola joined the AIM effort to create a new RISC architecture based on the IBM POWER architecture. They worked a few features of the 88000 into the new PowerPC architecture to offer their customer base some sort of upgrade path. At that point the 88000 was dumped as soon as possible.
Architecture.
Like the 68000 before it, the 88000 was considered to be a very "clean" design. It was a pure 32-bit load/store architecture, using separate instruction and data caches (Harvard architecture), and separate data and address buses. It had a small but powerful command set, and, like all Motorola CPUs, did not use memory segmentation.
A major architectural mistake was that both integer instructions and floating-point instructions used the same register file. This required the single register file to have sufficient read and write ports to support both the integer execution unit and the floating-point unit. The connections for each port is an additional capacitive load that must be driven by register memory cell. This made it more difficult to build high frequency superscalar implementations.
Implementations.
The first implementation of the 88000 ISA was the MC88100 microprocessor, which included an integrated FPU. Mated to this was the MC88200 MMU and cache controller. The idea behind this splitting of duties was to allow multiprocessor systems to be built more easily; a single MC88200 could support up to four MC88100s. However, this also meant that building the most basic system, with a single processor, required both chips and considerable wiring between them, driving up costs. This was likely to be another major reason for the 88000's limited success.
This was later addressed by the superscalar MC88110, which combined the CPU, FPU, MMU, and L1 cache into a single package. An additional modification, made at the behest of MIT's *T project, resulted in the MC88110MP, including on-chip communications for use in multi-processor systems. A version capable of speeds up to 100 MHz was planned as the MC88120, but was never built.
An implementation for embedded applications, the MC88300, was under development during the early 1990s, but was eventually canceled. Ford Motor Company had planned to use the chips, so they were offered a PowerPC design as a replacement, which they accepted.
Products and applications.
Motorola released a series of single-board computers, known as the MVME series, for building "out of the box" systems based on the 88000, as well as the Series 900 "stackable" computers employing these MVME boards. Unlike tower or rack mount systems, the Series 900 sat on top of each other and connected to one another with bus-like cabling. The concept never caught on.
Major 3rd party users were limited. The only widespread use would be in the Data General AViiON series. These were fairly popular, and remain in limited use today. For later models, DG moved to Intel. Encore Computer built their Encore-91 machine on the m88k, then introduced a completely ground-up redesign as the Infinity 90 series, but it is unclear how many of these machines were sold. Encore moved to the Alpha.
GEC Computers used the MC88100 to build the GEC 4310, one of the GEC 4000 series computers, but issues with memory management meant it didn't perform as well as their earlier gate array based and Am2900 based GEC 4000 series computers. The BBN Butterfly model TC-2000 used the MC88100 processor, and scaled to 512 CPUs. Linotype-Hell used the 88110 in their "Power" workstations running the DaVinci raster graphics editor for image manipulation.
The MC88110 made it into some versions of a never released NeXT machine, the NeXT RISC Workstation, but the project was canceled along with all NeXT hardware projects in 1993. The 4-processor OMRON LUNA-88K machines from Japan used the m88k, and were used for a short time on the Mach kernel project at Carnegie Mellon University. In the early 1990s Northern Telecom used the MC88100 and MC88110 as the central processor in its DMS SuperNode family of telephone switches.
Most other users were much smaller. Alpha Microsystems originally planned to migrate to the 88K architecture from the Motorola 68000, and internally created a machine around it running UNIX System V, but it was later scrapped in favour of later 68K derivatives. NCD used the 88100 (without the 88200) in its 88K X-Terminals. Dolphin Server, a spin-off from the dying Norsk Data built servers based on the 88k. Around 100 systems were shipped during 1988-1992.
Virtuality used the MC88110 in the SU2000 virtual reality arcade machine as a graphics processor, with one MC88110 per screen of each virtual reality headset.
In the embedded computer space, the "Tri-channel VMS Computer" in the F-15 S/MTD used three 88000s in a triply redundant computer.
Operating system support.
Motorola released its own UNIX System V derivative, System V/88, for its 88000-based systems. There were two major releases: Release 3.2 Version 3 and Release 4.0 Version 3.<ref name="UNIX System V/88"></ref> Data General AViiON systems ran DG/UX. OpenBSD ports exist for the MVME systems,<ref name="OpenBSD/mvme88k">OpenBSD/mvme88k</ref> LUNA-88K workstations,<ref name="OpenBSD/luna88k">OpenBSD/luna88k</ref> and Data General AViiON systems.<ref name="OpenBSD/aviion">OpenBSD/aviion</ref> At least one unofficial experimental NetBSD port exists for the MVME systems.<ref name="NetBSD/m88k">NetBSD/m88k Unofficial port of NetBSD 3.x</ref>