# Motorola 88000

De 88000 (afgekort m88k) is een RISC-instructiesetarchitectuur (ISA) ontwikkeld door Motorola in de jaren tachtig. De MC88100 kwam in 1988 op de markt, ongeveer twee jaar na de concurrerende SPARC en MIPS. Vanwege de late start en grote vertragingen bij het uitbrengen van de tweede generatie MC88110 kende de m88k een zeer beperkt succes buiten het MVME-platform en embedded controller-omgevingen. Toen Motorola in 1991 lid werd van de AIM-alliantie om de PowerPC te ontwikkelen, werd de 88000 geschrapt.

## Geschiedenis

Motorola begon de jaren tachtig in een sterke positie: hun onlangs geïntroduceerde Motorola 68000 presteerde moeiteloos beter dan elke andere microprocessor op de markt en zijn 32-bits architectuur was uitermate geschikt voor de opkomende markt van werkstations. Intel was niet overdreven actief op het vlak van 32-bit en de bedrijven die dat wel waren, met name National Semiconductor, kwamen niet tot concrete resultaten en lieten Motorola de controle over alles wat niet Intel was.
Begin jaren tachtig werd het RISC-concept geïntroduceerd. In eerste instantie was er een intens debat binnen de industrie of het concept de prestaties daadwerkelijk zou verbeteren, dan wel of de grotere machinetaalprogramma's de uitvoering zouden vertragen door extra geheugentoegang. Deze discussies werden halverwege de jaren tachtig beslecht toen de eerste op RISC gebaseerde werkstations verschenen: de nieuwste Sun-3/80 met een 20 MHz Motorola 68030 leverde ongeveer 3 MIPS, terwijl de eerste SPARC-gebaseerde Sun-4/260 met een 16 MHz SPARC vlot 10 MIPS leverde. Hewlett-Packard, DEC en andere grote leveranciers begonnen allemaal over te schakelen naar RISC-platforms.
Deze verschuiving in de markt had het potentieel om Motorola buitenspel te zetten op de werkstationmarkt. Apple was de enige grote afnemer van de 68000-reeks die niet actief was op de werkstationmarkt en andere afnemers, met name Atari Corporation en Commodore International, hadden het moeilijk op een markt die in sneltempo standaardiseerde op IBM PC-compatibele computers.
Motorola's publicaties over het 88000-ontwerp spraken over instructies met één cyclus, grote registerbanken en andere kenmerken van het RISC-concept, maar het woord "RISC" werd niet één keer gebruikt. Omdat er op dat moment al RISC-ontwerpen op de markt waren gekomen, besloot Motorola dat ze niet zouden proberen hiermee te concurreren en in plaats daarvan de krachtigste processor ter wereld zouden produceren. Net als bij de eerdere 68000 koos Motorola bij de 88000 voor een strak ontwerp: een pure 32-bits load/store-architectuur met afzonderlijke instructie- en datacaches (een zogenaamde Harvard-architectuur), afzonderlijke data- en adresbussen, een kleine maar krachtige instructieset en een platte adresruimte.
In april 1988 was het 88000-ontwerp klaar. Als neveneffect van de complexiteit van het ontwerp paste de CPU niet op één chip. De 68030 die een jaar eerder werd uitgebracht had 273.000 transistors met de ALU en de MMU op één chip en de optionele FPU op een afzonderlijke chip. Het 88000-ontwerp daarentegen verpakte de ALU en FPU samen op de MC88100-chip met 165.000 transistors en de MMU en 16 KB statische RAM-cache op de MC88200-chip met 750.000 transistors. In tegenstelling tot de 68030, waar de FPU echt optioneel was, kon een praktisch 88000-systeem niet worden gebouwd zonder ten minste één MC88200. Systemen konden meer dan één MC88200 bevatten, waardoor grotere caches en meerdere paden naar het hoofdgeheugen mogelijk waren voor betere prestaties.
Motorola mikte met het 88000-ontwerp uitsluitend op de markt voor high-end toepassingen zoals telecommunicatie, kunstmatige intelligentie, beeldverwerking, 3D-animatie, simulatie, parallelle verwerking en supercomputers, terwijl ze suggereerden dat de bestaande 68000-serie beschikbaar zou blijven voor gebruik op de werkstationmarkt. In plaats daarvan negeerden de meeste potentiële klanten de 88000 en het systeem werd weinig gebruikt.
Omdat de oorspronkelijke versie vrijwel niet gebruikt werd buiten Motorola's eigen producten, en de traditionele klanten begonnen over te stappen op andere RISC-ontwerpen, lanceerde het bedrijf in 1992 het ontwerp opnieuw in een versie met één chip: de MC88110. Eind jaren tachtig waren verschillende bedrijven, waaronder NeXT, Apple Computer en Apollo Computer, actief bezig met de 88000-serie te evalueren voor toekomstig gebruik, maar ze hadden het ontwerp allemaal opgegeven tegen de tijd dat de MC88110 eindelijk beschikbaar was.
Begin jaren negentig sloot Motorola zich aan bij de AIM-alliantie om een nieuwe RISC-architectuur te creëren, gebaseerd op de IBM POWER-architectuur. Ze verwerkten een paar kenmerken van de 88000 in de nieuwe PowerPC-architectuur, waarna de 88000 zo snel mogelijk gedumpt werd.

## Architectuur

RISC-ontwerpen zijn een bewuste poging om de processor af te stemmen op de soorten bewerkingen die door de compilers op dat platform gegenereerd worden, in het geval van Unix-werkstations is dat de programmeertaal C. In het baanbrekende IBM 801-project was opgemerkt dat compilers over het algemeen niet de overgrote meerderheid van de beschikbare instructies benutten, maar in plaats daarvan alleen de eenvoudigste versie van een instructie gebruikt, vaak omdat deze het snelst presteert. Maar de elektronische schakelingen die de andere versies van deze instructie implementeren, voegen zelfs aan de eenvoudigste versie extra overhead toe. Door deze ongebruikte instructies uit de CPU te verwijderen, werd deze overhead geëlimineerd en werd er aanzienlijke ruimte op de chip vrijgemaakt. Dit maakte het mogelijk om het aantal processorregisters te vergroten, wat een veel grotere impact had op de prestaties dan de verwijderde instructies voor speciale gevallen.
Het 88000-ontwerp maakt gebruik van afzonderlijke data- en instructieadresbussen. Dit is kostbaar in termen van het aantal pinnen: zowel de instructie- als de datacache hebben 32 pinnen voor hun adres en 32 pinnen voor de gegevens, wat betekent dat het geheel 128 pinnen gebruikt. Dit ontwerp was gebaseerd op de observatie dat slechts ongeveer een derde van de operaties geheugengerelateerd is, de rest werkt op basis van reeds gelezen gegevens. Dit pleitte sterk voor een speciaal instructiepad naar een externe instructiecache. De caches en de bijbehorende memory management unit (MMU) waren aanvankelijk extern. Een cachecontroller kon worden aangesloten op de data- of instructiebussen en op beide bussen konden maximaal vier controllers worden gebruikt. Intern waren er drie 32-bits bussen, die op verschillende manieren met de interne eenheden waren verbonden, zoals vereist voor het lezen en schrijven van gegevens naar de registers.
Motorola ging ook inspiratie halen bij een van de snelste computers uit een vorig tijdperk: de CDC 6600-supercomputer. In het bijzonder namen ze het 6600-concept van een "scorebord" over. Dankzij een scorebord kon de CPU het gebruik van registers door de instructies onderzoeken en onmiddellijk die instructies lanceren die niet afhankelijk waren van andere berekeningen die nog niet voltooid waren. Hierdoor konden de instructies zodanig herschikt worden dat instructies met de vereiste gegevens al werden uitgevoerd terwijl de gegevens voor andere instructies uit de cache of het geheugen werden geladen. Deze herschikking van de instructies zou een optimalisatie met maar liefst 35% kunnen opleveren.
Een ander kenmerk van het nieuwe ontwerp was de ingebouwde ondersteuning voor gespecialiseerde co-processors, de zogenaamde SFU's. Naast de interne instructies die standaard worden ondersteund, zijn er blokken van 256 instructies gereserveerd die door co-processors kunnen worden gebruikt. Dit was bedoeld voor ontwerpers die het systeem wilden aanpassen: nieuwe functionele eenheden kunnen toegevoegd worden zonder de bestaande instructiesetarchitectuur te beïnvloeden, waardoor softwarecompatibiliteit voor de hoofdfunctionaliteit gegarandeerd wordt. Elke 88000 werd geleverd met SFU1 al geïnstalleerd: de floating-point unit (FPU).

## Implementatie

De eerste implementatie van de 88000-ISA was de MC88100-microprocessor, die een geïntegreerde FPU bevatte. Hieraan gekoppeld was de MC88200 MMU en cachecontroller. Het idee achter deze taakverdeling was om het bouwen van multiprocessorsystemen gemakkelijker te maken: een enkele MC88200 kan maximaal vier MC88100's ondersteunen. Dit betekende echter ook dat voor het bouwen van het meest eenvoudige systeem met één enkele processor beide chips en een aanzienlijke bedrading ertussen nodig was, wat de kosten opdreef. Dit was waarschijnlijk een belangrijke reden voor het beperkte succes van de 88000.
Dit probleem werd later aangepakt door de superscalaire MC88110, die de CPU, FPU, MMU, L1-cache en grafische instructies in één chip combineerde. Een aanvullende wijziging, aangebracht in opdracht van het *T-project van het MIT, resulteerde in de MC88110MP die on-chip-communicatie bevatte voor gebruik in systemen met meerdere processors. Er stond ook nog een versie met snelheden tot 100 MHz gepland als de MC88120, maar die is er nooit gekomen.
Een implementatie voor embedded systems, de MC88300, was begin jaren negentig in ontwikkeling maar werd uiteindelijk geannuleerd. Ford Motor Company was van plan om deze chips te gebruiken, maar kreeg een PowerPC-ontwerp aangeboden als vervanging, wat ze accepteerden.

## Producten en toepassingen

Motorola heeft een serie single-board computers uitgebracht, bekend als de MVME-serie, voor het bouwen van systemen op basis van de 88000, evenals de Serie 900 stapelbare computers die gebruik maken van deze MVME-kaarten. In tegenstelling tot toren- of rekmontagesystemen werd de Serie 900 op elkaar gestapeld en onderling verbonden via busachtige bekabeling. Het concept sloeg nooit aan.
Buiten Motorola werd de 88000 weinig gebruikt. De enige grote afnemer was Data General die de processor gebruikte in de eerste generatie AViiON-servers. Voor de tweede generatie AViiON-servers stapte Data General over naar Intel. Encore Computer bouwde hun Encore-91-machine op de m88k en introduceerde vervolgens een volledig nieuw ontwerp als de Infinity 90-serie, maar het is onduidelijk hoeveel van deze machines er zijn verkocht. Encore schakelde uiteindelijk over naar de Alpha. Tektronix introduceerde in april 1989 hun XD88-lijn van grafische werkstations.
GEC Computers gebruikte de MC88100 om de GEC 4310 te bouwen, maar problemen met het geheugenbeheer zorgden ervoor dat deze niet zo goed presteerde als hun eerdere GEC 4000-serie computers. Het BBN Butterfly model TC-2000 gebruikte de MC88100-processor en werd opgeschaald naar 512 CPU's. Linotype-Hell gebruikte de 88110 in hun Power-werkstations met de DaVinci grafische editor voor manipulatie van rasterafbeeldingen.
De MC88110 maakte deel uit van een aantal versies van een nooit uitgebrachte NeXT-machine, het NeXT RISC Workstation, maar het project werd samen met alle NeXT-hardwareprojecten in 1993 geannuleerd. De Omron LUNA-88K-machines met vier processors uit Japan gebruikten de m88k en waren korte tijd gebruikt in het Machkernel-project aan de Carnegie Mellon University. Begin jaren negentig gebruikte Northern Telecom de MC88100 en MC88110 als centrale processor in zijn DMS SuperNode-familie van telefooncentrales.
De meeste andere gebruikers waren veel kleiner. Alpha Microsystems was oorspronkelijk van plan om van de Motorola 68000 naar de 88K-architectuur te migreren en creëerde intern een machine eromheen met UNIX System V, maar deze werd later geschrapt ten gunste van latere 68K-processoren. NCD gebruikte de 88100 (zonder de 88200) in zijn 88K X-terminals. Dolphin Server, een spin-off van Norsk Data, bouwde servers op basis van de 88k. Tussen 1988 en 1992 werden ongeveer 100 systemen verscheept.
Virtuality gebruikte de MC88110 in de SU2000 virtual reality-arcademachine als grafische processor, met één MC88110 per scherm van elke virtual reality-headset.

## Besturingssystemen

Motorola heeft zijn eigen UNIX System V-variant, System V/88, uitgebracht voor zijn op 88000 gebaseerde systemen. Er waren twee grote releases: Release 3.2 versie 3 en release 4.0 versie 3. Data General AViiON-systemen draaiden DG/UX. Er bestaan OpenBSD-porteringen voor de MVME-systemen, LUNA-88K werkstations, en Data General AViiON-servers. Er bestaat minstens één onofficiële experimentele NetBSD-portering voor de MVME-systemen.

## Externe link

* Motorola 88000-documentatie op de website van bitsavers.org
* Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Motorola 88000 op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.
* ↑ (en) Reimer, Jeremy, Total share: 30 years of personal computer market share figures. Ars Technica (15 december 2005).
* 1 2 3 4 5 (en) Alsup, Mitch (juni 1990). Motorola's 88000 Family Architecture. IEEE Micro 10 (3): 48-64. DOI:10.1109/40.56325.
* 1 2 (en) Lifting The Lid Off The Motorola 88000 – To Find Do-It-Yourself Co-Processors. TechMonitor (14 september 1988).
* ↑ (en) Motorola's Risc, Set To Go In April, Is Tailored For Unix. TechMonitor (18 februari 1988).
* ↑ (en) Ford, Motorola form strategic technology partnership. upi.com (12 juni 1991).
* ↑ (en) CPU of the Day: Motorola XC88110 88000 RISC Processor. The CPUSHACK Museum (2 april 2013).
* ↑ (en) Marshall, Martin (24 april 1989). Tektronix Unveils Family Of Graphics Workstations. InfoWorld 11 (17): 36
* ↑ (en) AMPM: The Alpha Micro Pageant of Machines. The Alpha Micro Phun Machine.
* ↑ (en) Wilson, David (juli 1991). Tested Mettle: The Dolphin Server Technology Triton 88 . UNIX Review 9 (7): 38, 40, 43–44, 46, 48
* ↑ (en) Patterson, Barbara, Motorola System V/88 R4v3.1. Motorola Computer Group (2 november 1991). Gearchiveerd op 5 mei 2006.
* ↑ (en) OpenBSD/mvme88k. openbsd.org.
* ↑ (en) OpenBSD/luna88k. openbsd.org.
* ↑ (en) OpenBSD/aviion. openbsd.org.
* ↑ (en) NetBSD/m88k. radiofreeomaha.net. Gearchiveerd op 12 januari 2013.