Motorola 88000

Last updated
M88000
Designer Motorola
Bits32-bit
Introduced1988
Design RISC
TypeRegister-Register
Encoding Fixed
Branching Compare and branch
Endianness Bi
ExtensionsGraphics instructions (88110 only)
OpenNo
Registers
General-purpose 32 32-bit
Floating point 32 80-bit (88110 only)

The 88000 (m88k for short) is a RISC instruction set architecture 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.

Contents

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 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 its 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 the workstation market, 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 Corporation and Commodore International, were floundering in a market that was rapidly standardizing on IBM PC compatibles.

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. Yet providing the other versions of these basic instructions also added overhead to the basic version. Removing these unused instructions from the CPU eliminated this overhead and 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 the removed special-case instructions. For this reason, the RISC concept can be said to be driven by the real-world design of compilers. [1]

Motorola's articles on the 88000 design speak of single-cycle instructions, large processor register files and other hallmarks of the RISC concept, but don't mention the word "RISC" even once. [2] As existing RISC designs had entered the market already, the company decided that they would not attempt to compete with these and would instead produce the world's most powerful processor. To do this, they took design notes from one of the fastest computers of a previous era, the CDC 6600 supercomputer. In particular, they adopted the 6600's concept of a scoreboard. Scoreboarding allowed the CPU to examine the instruction's use of registers and immediately dispatch those that did not rely on previous calculations that were not yet complete; this allowed the instructions to be re-ordered to allow ones that had their required data to run while others had their data loaded from the cache or memory. This instruction reordering could improve usage as much as 35%. [3]

The design also used separate data and instruction address busses. This was costly in terms of pin count; both the instruction and data caches had 32 pins for their address and 32 pins for the data, meaning the complete system used 128 pins on the "P-bus". This design was based on the observation that only about one-third of operations were memory-related; the rest were operating on data already read. This strongly favored having a dedicated instruction pathway to an external instruction cache. The caches, and associated memory management units (MMU) were initially external, a cache controller could be connected to either the data or instruction busses, and up to four controllers could be used on either bus. Internally there were three 32-bit busses, connected to the internal units in different ways as required for reading and writing data to the registers. [4]

Another feature of the new design was its built-in support for specialized co-processors, or "special function units", or SFUs. [4] 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. [1] Every 88000 came with SFU1 already installed, the floating point unit (FPU). [4] The branch and jump instructions incorporate a delayed branch option (.n), which can be specified to ensure that the subsequent sequential instruction is executed prior to the branch target instruction, irrespective of the branch condition. [5] Placing branch instruction or other instruction which may change the instruction pointer, in the branch delay slot is deprecated in order to maintain future compatibility. [6]

Release

By 1987 it was widely known that Motorola was designing its own RISC processor. Referred to by the computer industry as the "78000", [lower-alpha 1] an homage to the earlier 68000, [1] 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 a 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 at least one MC88200. Systems could include more than one MC88200, producing larger caches and allowing multiple paths to main memory for improved performance. [1]

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, [7] compared to about 12 MIPS for a 12.5 MHz SPARC of the same vintage in the SPARCstation, or around 3.3 MIPS of the 20 MHz 68030. It was also available as a 25 MHz part at 21 MIPS, 48,387 Dhrystones. [8]

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, [7] 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. [9]

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 (such as a compatible bus interface [10] ) 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. [11]

Architecture

Like the 68000 before it, the 88000 was considered to be a "clean" design. It is a pure 32-bit load/store architecture with separate instruction and data caches (Harvard architecture) [12] , and separate data and address buses. It has a small, powerful command set and uses a flat address space.

An unusual architectural feature is that both integer instructions and floating-point instructions use the same register file.

Implementations

Motorola 88100 RISC CPU Motorola MC88100RC20 CPU overhead view.jpg
Motorola 88100 RISC CPU

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.

Motorola 88110 RISC CPU Motorola XC88110RS50G CPU overhead view.jpg
Motorola 88110 RISC CPU

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. [13] 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. [14]

Products and applications

MVME-197LE Mvme-197le.jpg
MVME-197LE

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. Tektronix introduced their XD88 line of graphics workstations in April 1989. [15]

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. [16] 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. [17]

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. [18] Data General AViiON systems ran DG/UX. OpenBSD ports exist for the MVME systems, [19] LUNA-88K workstations, [20] and Data General AViiON systems. [21] At least one unofficial experimental NetBSD port exists for the MVME systems. [22]

Notes

  1. It is not clear whether this was an official name or not.

Related Research Articles

<span class="mw-page-title-main">Motorola 68020</span> 32-bit microprocessor

The Motorola 68020 is a 32-bit microprocessor from Motorola, released in 1984. A lower-cost version was also made available, known as the 68EC020. In keeping with naming practices common to Motorola designs, the 68020 is usually referred to as the "020", pronounced "oh-two-oh" or "oh-twenty".

<span class="mw-page-title-main">Motorola 68030</span> 32-bit microprocessor

The Motorola 68030 ("sixty-eight-oh-thirty") is a 32-bit microprocessor in the Motorola 68000 family. It was released in 1987. The 68030 was the successor to the Motorola 68020, and was followed by the Motorola 68040. In keeping with general Motorola naming, this CPU is often referred to as the 030.

<span class="mw-page-title-main">Motorola 68040</span> 32-bit microprocessor

The Motorola 68040 ("sixty-eight-oh-forty") is a 32-bit microprocessor in the Motorola 68000 series, released in 1990. It is the successor to the 68030 and is followed by the 68060, skipping the 68050. In keeping with general Motorola naming, the 68040 is often referred to as simply the '040.

<span class="mw-page-title-main">Motorola 68060</span> Motorola 680x0 microprocessor, released in 1994

The Motorola 68060 ("sixty-eight-oh-sixty") is a 32-bit microprocessor from Motorola released in 1994. It is the successor to the Motorola 68040 and is the highest performing member of the 68000 series. Two derivatives were produced, the 68LC060 and the 68EC060.

<span class="mw-page-title-main">Pentium (original)</span> Intel microprocessor

The Pentium is a x86 microprocessor introduced by Intel on March 22, 1993. It is the first CPU using the Pentium brand. Considered the fifth generation in the 8086 compatible line of processors, its implementation and microarchitecture was internally called P5.

<span class="mw-page-title-main">Reduced instruction set computer</span> Processor executing one instruction in minimal clock cycles

In computer science, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set computer (CISC), a RISC computer might require more instructions in order to accomplish a task because the individual instructions are written in simpler code. The goal is to offset the need to process more instructions by increasing the speed of each instruction, in particular by implementing an instruction pipeline, which may be simpler to achieve given simpler instructions.

The NS32000, sometimes known as the 32k, is a series of microprocessors produced by National Semiconductor. The first member of the family came to market in 1982, briefly known as the 16032 before becoming the 32016. It was the first general-purpose microprocessor on the market that used 32-bit data throughout: the Motorola 68000 used 32-bit data but had a 16-bit ALU and thus took twice as long perform many operations. However, the 32016 contained many bugs and often could not be run at its rated speed. These problems, and the presence of the otherwise similar 68000 which had been available since 1980, led to little use in the market.

The Motorola 68000 series is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and were the primary competitors of Intel's x86 microprocessors. They were best known as the processors used in the early Apple Macintosh, the Sharp X68000, the Commodore Amiga, the Sinclair QL, the Atari ST and Falcon, the Atari Jaguar, the Sega Genesis, the Philips CD-i, the Capcom System I (Arcade), the AT&T UNIX PC, the Tandy Model 16/16B/6000, the Sun Microsystems Sun-1, Sun-2 and Sun-3, the NeXT Computer, NeXTcube, NeXTstation, and NeXTcube Turbo, early Silicon Graphics IRIS workstations, computers from MASSCOMP, the Texas Instruments TI-89/TI-92 calculators, the Palm Pilot, the Control Data Corporation CDCNET Device Interface, and the Space Shuttle. Although no modern desktop computers are based on processors in the 680x0 series, derivative processors are still widely used in embedded systems.

<span class="mw-page-title-main">Intel i960</span> RISC-based microprocessor design

Intel's i960 was a RISC-based microprocessor design that became popular during the early 1990s as an embedded microcontroller. It became a best-selling CPU in that segment, along with the competing AMD 29000. In spite of its success, Intel stopped marketing the i960 in the late 1990s, as a result of a settlement with DEC whereby Intel received the rights to produce the StrongARM CPU. The processor continues to be used for a few military applications.

<span class="mw-page-title-main">DEC PRISM</span> RISC instruction set architecture

PRISM was a 32-bit RISC instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). It was the outcome of a number of DEC research projects from the 1982–1985 time-frame, and the project was subject to continually changing requirements and planned uses that delayed its introduction. This process eventually decided to use the design for a new line of Unix workstations. The arithmetic logic unit (ALU) of the microPrism version had completed design in April 1988 and samples were fabricated, but the design of other components like the floating point unit (FPU) and memory management unit (MMU) were still not complete in the summer when DEC management decided to cancel the project in favor of MIPS-based systems. An operating system codenamed MICA was developed for the PRISM architecture, which would have served as a replacement for both VAX/VMS and ULTRIX on PRISM.

<span class="mw-page-title-main">Weitek</span>

Weitek Corporation was an American chip-design company that originally focused on floating-point units for a number of commercial CPU designs. During the early to mid-1980s, Weitek designs could be found powering a number of high-end designs and parallel-processing supercomputers.

SPARC64 is a microprocessor developed by HAL Computer Systems and fabricated by Fujitsu. It implements the SPARC V9 instruction set architecture (ISA), the first microprocessor to do so. SPARC64 was HAL's first microprocessor and was the first in the SPARC64 brand. It operates at 101 and 118 MHz. The SPARC64 was used exclusively by Fujitsu in their systems; the first systems, the Fujitsu HALstation Model 330 and Model 350 workstations, were formally announced in September 1995 and were introduced in October 1995, two years late. It was succeeded by the SPARC64 II in 1996.

<span class="mw-page-title-main">AMD Am29000</span> Family of RISC microprocessors and microcontrollers

The AMD Am29000, commonly shortened to 29k, is a family of 32-bit RISC microprocessors and microcontrollers developed and fabricated by Advanced Micro Devices (AMD). Based on the seminal Berkeley RISC, the 29k added a number of significant improvements. They were, for a time, the most popular RISC chips on the market, widely used in laser printers from a variety of manufacturers.

<span class="mw-page-title-main">R4000</span> MIPS microprocessor

The R4000 is a microprocessor developed by MIPS Computer Systems that implements the MIPS III instruction set architecture (ISA). Officially announced on 1 October 1991, it was one of the first 64-bit microprocessors and the first MIPS III implementation. In the early 1990s, when RISC microprocessors were expected to replace CISC microprocessors such as the Intel i486, the R4000 was selected to be the microprocessor of the Advanced Computing Environment (ACE), an industry standard that intended to define a common RISC platform. ACE ultimately failed for a number of reasons, but the R4000 found success in the workstation and server markets.

The R2000 is a 32-bit microprocessor chip set developed by MIPS Computer Systems that implemented the MIPS I instruction set architecture (ISA). Introduced in January 1986, it was the first commercial implementation of the MIPS architecture and the first commercial RISC processor available to all companies. The R2000 competed with Digital Equipment Corporation (DEC) VAX minicomputers and with Motorola 68000 and Intel Corporation 80386 microprocessors. R2000 users included Ardent Computer, DEC, Silicon Graphics, Northern Telecom and MIPS's own Unix workstations.

<span class="mw-page-title-main">Motorola 88110</span> Microprocessor developed by Motorola

The MC88110 was a microprocessor developed by Motorola that implemented the 88000 instruction set architecture (ISA). The MC88110 was a second-generation implementation of the 88000 ISA, succeeding the MC88100. It was designed for use in personal computers and workstations.

<span class="mw-page-title-main">Motorola 88100</span>

The MC88100 is a microprocessor developed by Motorola that implemented 88000 RISC instruction set architecture. Announced in 1988, the MC88100 was the first 88000 implementation. It was succeeded by the MC88110 in the early 1990s.

Since 1985, many processors implementing some version of the MIPS architecture have been designed and used widely.

References

Citations

  1. 1 2 3 4 Lid.
  2. Alsup 1990.
  3. Alsup 1990, p. 51.
  4. 1 2 3 Alsup 1990, p. 49.
  5. "MC88100 RISC Microprocessor User's Manual" (PDF). p. 81(3-26). Retrieved 2023-12-21.
  6. "MC88100 RISC Microprocessor User's Manual" (PDF). p. 88(3-33). Retrieved 2023-12-30.
  7. 1 2 April.
  8. Volume.
  9. Updegrove, Andrew (March 2006). "Standards Wars: Situations, Strategies and Outcomes" (PDF). ConsortiumInfo.org. p. 7. Archived from the original (PDF) on 2016-03-03. Retrieved 2009-06-16.
  10. Cox, Steven (October 19, 2021). "CPU of the Day: Motorola XC88110 88000 RISC Processor" . Retrieved 2023-08-25.
  11. Zipper, Stuart (May 24, 1993). "Motorola PowerPC deal with Ford raises questions on 88K RISC fate". Electronic News. Retrieved 2009-06-16.[ permanent dead link ]
  12. "Figure 1-2 and §1.2.7 Multiple External Buses". MC88100 RISC Microprocessor User's Manual, Second edition (PDF). 1990. Retrieved 25 August 2023.
  13. Papadopoulos; et al. (July 28, 1993). "*T: Integrated Building Blocks for Parallel Computing" (PDF). Massachusetts Institute of Technology. Retrieved 2009-06-16.
  14. Garfinkel, Simson (June 1992). "Motorola looks to 68060 chip". NeXTWORLD.
  15. Marshall, Martin (April 24, 1989). "Tektronix Unveils Family Of Graphics Workstations". InfoWorld.
  16. "AMPM: The Alpha Micro Pageant of Machines". The Alpha Micro Phun Machine.
  17. Nobbs, Steven G. "PSC Implementation and Integration" (PDF). NASA. p. 63. Retrieved 2009-06-16.
  18. Patterson, Barbara (November 2, 1991). "Motorola System V/88 R4v3.1". Motorola Computer Group. Archived from the original on May 5, 2006. Retrieved 2009-06-16.
  19. OpenBSD/mvme88k
  20. OpenBSD/luna88k
  21. OpenBSD/aviion
  22. NetBSD/m88k Archived 2013-01-12 at archive.today Unofficial port of NetBSD 3.x

Bibliography