Jump to content

Motorola 88000

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 83.208.207.158 (talk) at 01:11, 19 January 2016 (History: ,s/name change/number change/). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

M88000
DesignerMotorola
Bits32-bit
Introduced1988
DesignRISC
TypeRegister-Register
EncodingFixed
BranchingCompare and branch
EndiannessBi
ExtensionsGraphics instructions (88110 only)
OpenNo
Registers
General-purpose32 32-bit
Floating point32 80-bit (88110 only)

The 88000 (m88k for short) is a RISC instruction set architecture (ISA) developed by Motorola. The 88000 was Motorola's attempt at a home-grown RISC architecture, started in the 1980s. The 88000 arrived on the market 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.

Though sometimes referred to as A88k, the Apollo PRISM is not related to the Motorola 88000.[1]

History

Originally called the 78000 as a homage to their famed 68000 series, the design went through a tortured development path, including the number change, before finally emerging in April 1988. This initial version generally required a separate MMU, and saw little use. A follow-on version combining the CPU and MMU was planned. In the late 1980s several companies were actively watching the 88000 series for future use, including NeXT, Apple Computer and Apollo Computer, but all gave up by the time the 88110 was 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.[2]

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.[3]

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[citation needed] 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[citation needed].

Implementations

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 is likely another major reason for the 88000's limited success.

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.[4] 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 was the only design win, and they were offered a PowerPC design as a replacement, which they accepted.[5]

Products and applications

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.

GEC Computers used the 88100 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 88100 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 88110 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 luna88k 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 88100 and 88110 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.[6] 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 88110 in the SU2000 virtual reality arcade machine as a graphics processor, with one 88110 per screen of each head-mounted display

In the embedded computer space, the "Tri-channel VMS Computer" in the F-15 S/MTD used three 88000s in a triply redundant computer.[7]

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.[8] Data General AViiON systems ran DG/UX. OpenBSD ports exist for the MVME systems,[9] LUNA-88K workstations,[10] and Data General AViiON systems.[11] At least one unofficial experimental NetBSD port exists for the MVME systems.[12]

References

  1. ^ "Motorola 88000". ClassicCmp. Retrieved 2009-06-16.
  2. ^ Updegrove, Andrew (March 2006). "STANDARDS WARS: SITUATIONS, STRATEGIES AND OUTCOMES" (PDF). ConsortiumInfo.org. p. 7. Retrieved 2009-06-16.
  3. ^ Zipper, Stuart (May 24, 1993). "Motorola PowerPC deal with Ford raises questions on 88K RISC fate". Electronic News. Retrieved 2009-06-16.
  4. ^ Papadopoulos; et al. (July 28, 1993). "*T: Integrated Building Blocks for Parallel Computing" (PDF). Massachusetts Institute of Technology. Retrieved 2009-06-16.
  5. ^ http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/NeXTWORLD_Extra/92.06.June.NWE/92.06.June.NWExtra05.html
  6. ^ http://ampm.floodgap.com/www/models.htm
  7. ^ Nobbs, Steven G. "PSC Implementation and Integration" (PDF). NASA. p. 63. Retrieved 2009-06-16.
  8. ^ Patterson, Barbara (November 2, 1991). "Motorola System V/88 R4v3.1". Motorola Computer Group. Retrieved 2009-06-16.
  9. ^ OpenBSD/mvme88k
  10. ^ OpenBSD/luna88k
  11. ^ OpenBSD/aviion
  12. ^ NetBSD/m88k Unofficial port of NetBSD 3.x