Motorola 88000

A Wikipédiából, a szabad enciklopédiából

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, az MC88110MP, amely chipre integrált kommunikációs egységet is tartalmazott, kifejezetten multiprocesszoros rendszerek felépítése céljából. Ez az 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 az MC88120 jelű 100 MHz-es órajelű, BiCMOS eljárással készülő modell, valamint az MC88300 jelű, beágyazott rendszerekbe szánt csipek 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]

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

Kapcsolódó szócikkek[szerkesztés]