Motorola 88000

(M88k szócikkből átirányítva)

A 88000 (vagy rövidítve m88k) a Motorola saját fejlesztésű 32 bites RISC utasításkészlet-architektúrája (ISA). A 88000 fejlesztése az 1980-as években kezdődött, első implementációja 1988-ban jelent meg, megjelenése így két évet késett a konkurens SPARC és MIPS architektúrákhoz képest. Legfőbb alkalmazása az MVME platformon és a beágyazott vezérlők területén történt. A korlátozott piaci siker oka a késői indulás és a MC88110 processzor késedelmes megjelenése volt.

Történet szerkesztés

1988 áprilisában jelent meg az architektúrán alapuló első processzor, a MC88100 CPU, a hozzá tartozó MC88200 CMMU (cache vezérlő és MMU) chippel együtt. A CPU végezte a lebegőpontos számításokat is. A CPU Harvard-architektúrájú, külön külső, 32 bites, nem multiplexelt utasítás- és adatbusszal rendelkezik. Működéséhez nem feltétlenül szükséges a CMMU, de a legtöbb felépítésben legalább 2 ilyen egység csatlakozik a processzorhoz. A processzorhoz több CMMU is csatlakozhat, legfeljebb 2 × 4 db. A processzor 20 és 25 MHz-es órajelű változatokban jelent meg.

1992-ben követte a továbbfejlesztett MC88110 jelű változat. Ez egy belsőleg Harvard-architektúrájú szimmetrikus szuperskalár végrehajtású RISC processzor, a CPU mellett integrált kiterjesztett pontosságú FPU-t, 2 db 64 bites 3D grafikai feldolgozóegységet, 2 belső MMU-t és L1 cache-t tartalmaz az adat- és utasításfeldolgozó egységek számára. A processzorhoz csatlakozhat a MC88410 cache-vezérlő, amely akár 2 MiB L2 gyorsítótárat kezelhet. A sebesség növelése érdekében a processzorban egyéb felépítésbeli újdonságokat is bevezettek, mint pl. a sorrenden kívüli (out-of-order) és spekulatív végrehajtás. A processzorok órajele elérhette az 50 MHz-et. A MC88110MP jelű változatot multiprocesszoros működéshez optimalizálták.

Az 1980-as évek végén a NeXT, Apple Computer és Apollo Computer cégeknek is szándékukban állt a processzorok felhasználása, azonban mire a 88110-es megjelent, már feladták a várakozást.

A rendszer népszerűsítésére létrehozták a 88open konzorciumot, amelynek a Motorola 88000 platformra szánt Unix rendszerek fejlesztését kellett volna elősegítenie, de ez a kísérlet sem volt sikeres.[1]

Az 1990-es évek elején a Motorola csatlakozott az AIM szövetséghez, amely az IBM POWER architektúrán alapuló újabb RISC rendszer létrehozásán munkálkodott. A Motorola ezután a PowerPC processzorok fejlesztésére koncentrált, a 88k család fejlesztését beszüntette.[2]

Architektúra szerkesztés

A 88000 egy teljesen 32 bites load-store architektúra, belső felépítése a Harvard-architektúrát követi. A 88100-ban ez a külső felépítésben is megjelenik: a processzornak két-két különálló cím- és adatbusza van az utasítások és az adatok számára, ezekhez csatlakozhat a külső CMMU (cache és memóriavezérlő) egység. A 88110-ben a belső felépítés Harvard-architektúrájú, a 2 CMMU a chipen belülre került, külön belső cím- és adatbuszok szolgálnak az utasítások és adatok számára.

Az utasításkészlet kevés, ám hatékony utasításból áll (MC88100: 51 utasítás, ebből 12 lebegőpontos; MC88110: 66 utasítás, ebből 16 lebegőpontos, 9 grafikai); az utasításokat külön belső egységekbe – Special Function Unit – osztották, így pl. a lebegőpontos utasításokat az SFU1, az MC88110 processzorban megjelent grafikai utasításokat az SFU2 végezte.

Az utasításkészlet nem kompatibilis az m68k családdal.[3] A Motorola processzorokhoz hasonlóan a memóriacímzés ennél is folytonos (lineáris, a memória nem szegmentált). A processzorok több független és konkurens működésű belső egységgel rendelkeznek, pl. a MC88100 processzorban négy belső végrehajtó egység van: az egészértékű egység (integer unit) és a lebegőpontos szorzó és összeadó egység végzi az adatmanipulációs műveleteket, az adatmemória-hozzáférést és az utasításlehívást külön egységek végzik. A lebegőpontos egységben külön 5-fokozatú futószalag szolgál az összeadások, és külön 6-fokozatú futószalag a szorzások számára.[4]

A regiszterfájl 32 db. 32 bites általános célú regisztert tartalmaz, az r0 tartalma a 0 állandó (egyedül ez nem módosítható). A regiszterfájl az összes egységet kiszolgálja: operandusokat szolgáltat az integer és lebegőpontos egységeknek, forrás és céloperandusokat a ld és st utasításokhoz, valamint címeket az elágazások és memóriahozzáférés számára. A regiszterfájl 2 bemeneti és egy ki-bemeneti porttal rendelkezik, ezek a három belső buszhoz (S1, S2, D) csatlakoznak. A tényt, hogy az integer és a lebegőpontos utasítások ugyanazt a regiszterfájlt használják, felépítésbeli hibaként említik, ui. a kevés port korlátozza a munkafrekvencia növelését a szuperskalár implementáció esetén, azonban az MC88110-ben az általános regiszterfájl több portot kapott és megjelent benne a kiterjesztett regiszterfájl.[5]

A processzorban nincs feltételkód: az állapotinformációt regiszterekben kezelik. Az MC88100 három címzési móddal rendelkezik az adatmemória felé és négy címzési móddal az utasításmemóriához, ezek a következők.

  • Adatcímzési módok:
    • Regiszter indirekt előjel nélküli közvetlen indexszel
    • Regiszter indirekt előjel regiszter indexszel
    • Regiszter indirekt előjel skálázott regiszter indexszel
  • Utasításcímzési módok:
    • Regiszter 9 bites vektorszámmal
    • Regiszter 16 bites címeltolással
    • IP-relatív (IP: utasításmutató, 26 bites előjeles eltolással)
    • Regiszter direkt címzés

További jellemzők: több műveleti egység (pl. az MC88100-ben négy, az MC88110-ben 10), ezek belső futószalagokat használnak, a több egység párhuzamos utasításvégrehajtásra képes. Az MC88110-nél megjelenik a szimmetrikus szuperskalár felépítés, a soronkívüli (out-of-order) végrehajtás, az ugrás-előrejelző egység; a regiszterhasználatot egy scoreboard irányítja.

Implementációk szerkesztés

 
Motorola 88100 RISC CPU

A 88000 ISA első megvalósítása a MC88100 mikroprocesszor volt, amely integrált FPU-t tartalmazott, de nem volt belső memóriavezérlő egysége, ezt a feladatot az MC88200 MMU és gyorsítótár- (cache-) vezérlő chip (CMMU) végezheti. Ezt abból a meggondolásból tették így, hogy megkönnyítsék a multiprocesszoros rendszerek felépítését 88k processzorokkal. Azonban az egyszerűbb felépítésű gépekben mindkét csip szerepelt (általánosan 1 CPU és 2 CMMU), ami költségnövelő tényező volt.

 
Motorola 88110 RISC CPU

Ezt javította a szuperskalár MC88110 megjelenése, amelyben CPU, FPU, MMU és L1 cache kapott helyet egyetlen chipben.

Egy további változat is megjelent, a MC88110MP, amely chipre integrált kommunikációs egységet is tartalmazott, kifejezetten multiprocesszoros rendszerek felépítése céljából. Ezt a MIT *T projektjének keretében történt, amely párhuzamos felépítésű gépek alkotóelemeinek létrehozására irányult.[6]

Az 1990-es évek elején fejlesztés alatt állt a MC88120 jelű 100 MHz-es órajelű, BiCMOS eljárással készülő modell, valamint a MC88300 jelű beágyazott rendszerekbe szánt chipek tervezése de a fejlesztéseket leállították. A 88000-es architektúra egyes elemeit a PowerPC tervekben használták fel.

Alkalmazás szerkesztés

 
MVME-197LE

A Motorola 88100 CPU-t a következő eszközökben használtak:

  • BBN TC2000
  • Data General AViiON AV200, AV300, AV310, AV400, AV410, AV530, AV3200, AV4100, AV4300, AV4320, AV4600, AV4605, AV4625, AV5100, AV5240, AV6100, AV6240, AV6280, AV8000-8, AV8500 és AV9500
  • Encore 91 és 93 sorozat
  • Harris Night Hawk 4400 és 4800
  • MVME180, MVME181
  • MVME187
  • MVME188
  • Motorola Delta Series 8220, 8420/8440, 8520/8540, 8620/8640, 8820/8840 és 8940
  • Motorola M8120 (MVME187-based)
  • Motorola Series 900 Model 810 (MVME187-based)
  • Omron LUNA88K és LUNA88K2
  • Tadpole TP880V, TP881V, TP882V
  • Triton Dolphin System 100 (MVME187-based)

Forrás:[7]

A Motorola 88110 CPU-t a következő eszközökben használtak:

  • Data General AViiON AV500, AV550, AV4500, AV5500, AV8500+, AV9500+
  • MVME197LE
  • MVME197SP és MVME197DP
  • Motorola Delta Series 95xx, 99xx
  • Motorola Series 900 Model 921 (MVME197-based)
  • Motorola Series 900 Model 922 (MVME197-based)
  • Motorola XR Series 900 Model XR9109
  • Motorola XR Series 900 Model XR9209
  • NeXTstation RISC Prototype
  • Tadpole TP810V

Forrás:[8]

Legfőbb felhasználásuk a Motorola MVME egykártyás gépcsaládjában történt, valamint a Series 900 bővíthető gépekben, amik szintén MVME lapokat használtak. A Motorolán kívül kevés cég használta. Az egyik nagyobb felhasználó az Data general, amely Data General AViiON sorozatába építette ezeket a processzorokat. További felhasználók az Encore Computer, GEC Computers (GEC 4310), BBN Butterfly a többprocesszoros 512 processzorig skálázható TC-2000 modellben, Linotype-Hell munkaállomásokban, NeXT a NeXT RISC Workstation gépekben, OMRON, Northern Telecom DMS SuperNode telefonkapcsoló rendszereiben. Az Alpha Microsystems tervezett egy 88k alapú, UNIX System V operációs rendszerű gépet, de ez csak egy kísérlet maradt.[9] Az NCD 88k alapú X-terminálokat épített. A Norsk Data utóda, a Dolphin Server 88k alapú szervereket épített, 1988 és 1992 között kb. 100 példányt adott el.

Beágyazott rendszerként a "Tri-channel VMS Computer", a F-15 S/MTD vadászgép háromszorosan redundáns fedélzeti számítógépe 3 db. 88k processzorból épült fel.[10]

Operációs rendszer támogatás szerkesztés

A Motorola kibocsátott egy UNIX System V változatot a 88000-alapú rendszerekhez. Ennek két főbb verziója volt: a Release 3.2 Version 3 és a Release 4.0 Version 3.[11] A Data General AViiON rendszerek DG/UX operációs rendszert futtattak. OpenBSD portok léteznek az MVME rendszerekhez,[12] LUNA-88K munkaállmásokhoz,[13] és a Data General AViiON rendszereihez.[14] Legalább egy nemhivatalos, kísérleti NetBSD port létezik az MVME rendszerekhez is.[15]

Jegyzetek szerkesztés

  1. Updegrove, Andrew: STANDARDS WARS: SITUATIONS, STRATEGIES AND OUTCOMES (PDF). ConsortiumInfo.org, 2006. March. [2016. március 3-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. június 16.)
  2. Zipper, Stuart: Motorola PowerPC deal with Ford raises questions on 88K RISC fate. Electronic News, 1993. május 24. (Hozzáférés: 2009. június 16.)[halott link]
  3. Margarita Esponda, Raul Rojas: The RISC Concept - A Survey of Implementations (angol nyelven). Freie Universität Berlin, 1991. September. (Hozzáférés: 2012) 6.4 The Motorola 88000 family
  4. MC88100, RISC Microprocessor User's Manual, Motorola, 1989, 1990, Prentice Hall, ISBN 0-13-567090-X; 1.2 Overview
  5. MC88110, Second Generation RISC Microprocessor User's Manual, Motorola, 1991; 1.3.2 General Register File; "... GRF has six output ports and two output ports ..."
  6. Papadopoulos et al.: *T: Integrated Building Blocks for Parallel Computing (PDF). Massachusetts Institute of Technology, 1993. július 28. (Hozzáférés: 2009. június 16.)
  7. Paul Weissmann: Motorola 88100 CPU (angol nyelven). Badabada, 2008. január 1. [2011. július 25-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012)
  8. Paul Weissmann: Motorola 88110 CPU (angol nyelven). Badabada, 2008. június 21. [2011. július 25-i dátummal az eredetiből archiválva]. (Hozzáférés: 2012)
  9. http://ampm.floodgap.com/www/models.htm
  10. Nobbs, Steven G: PSC Implementation and Integration (PDF). NASA. (Hozzáférés: 2009. június 16.)
  11. Patterson, Barbara: Motorola System V/88 R4v3.1. Motorola Computer Group, 1991. november 2. [2006. május 5-i dátummal az eredetiből archiválva]. (Hozzáférés: 2009. június 16.)
  12. OpenBSD/mvme88k
  13. OpenBSD/luna88k
  14. OpenBSD/aviion
  15. NetBSD/m88k Archiválva 2013. január 12-i dátummal az Archive.is-en Unofficial port of NetBSD 3.x

Fordítás szerkesztés

  • Ez a szócikk részben vagy egészben a Motorola 88000 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források szerkesztés

További információk szerkesztés

A Wikimédia Commons tartalmaz Motorola 88000 témájú médiaállományokat.

Kapcsolódó szócikkek szerkesztés