Motorola 88000
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énetSzerkeszté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úraSzerkeszté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ókSzerkesztés
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.
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ásSzerkesztés
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ásSzerkeszté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]
JegyzetekSzerkesztés
- ↑ Updegrove, Andrew: STANDARDS WARS: SITUATIONS, STRATEGIES AND OUTCOMES (PDF). ConsortiumInfo.org, 2006. March. (Hozzáférés: 2009. június 16.)
- ↑ 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]
- ↑ 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
- ↑ MC88100, RISC Microprocessor User's Manual, Motorola, 1989, 1990, Prentice Hall, ISBN 0-13-567090-X; 1.2 Overview
- ↑ 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 ..."
- ↑ 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.)
- ↑ 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)
- ↑ 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)
- ↑ http://ampm.floodgap.com/www/models.htm
- ↑ Nobbs, Steven G: PSC Implementation and Integration (PDF). NASA. (Hozzáférés: 2009. június 16.)
- ↑ 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.)
- ↑ OpenBSD/mvme88k
- ↑ OpenBSD/luna88k
- ↑ OpenBSD/aviion
- ↑ NetBSD/m88k Archiválva 2013. január 12-i dátummal az Archive.is-en Unofficial port of NetBSD 3.x
FordításSzerkeszté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 jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
ForrásokSzerkesztés
- http://www.inf.fu-berlin.de/lehre/WS94/RA/RISC-9.html—6.4[halott link] The Motorola 88000 family
- http://www.cpushack.com/CPU/cpu4.html#Sec4Part7—Part VII: Motorola 88000, Late but elegant (mid 1988) ...
- http://electro.fisica.unlp.edu.ar/arq/downloads/Papers/RISC/IEEE_Micro_1989_-_Motorola_88000.pdf
- MC88100, RISC Microprocessor User's Manual, Motorola, 1989, 1990, Prentice Hall, ISBN 0-13-567090-X
- MC88110, Second Generation RISC Microprocessor User's Manual, Motorola, 1991
További információkSzerkesztés
- Badabada.org Motorola 88k információk (a web.archive.org-on mentett oldalak)
- http://www.geekdot.com/m8120/ Motorola M8120 System (angol)
- Dolphin m88k Dolphin Server Technology