R10000

A Wikipédiából, a szabad enciklopédiából
Ugrás a navigációhoz Ugrás a kereséshez
NEC VR10000

Az R10000, kódnevén „T5”, egy RISC mikroprocesszor, a 64 bites MIPS IV utasításkészlet-architektúra (ISA) megvalósítása, amit a MIPS Technologies, Inc. (MTI) fejlesztett, ami 1996-ban a Silicon Graphics, Inc. (SGI) részlege volt. A fejlesztés vezető tervezői Chris Rowen és Kenneth C. Yeager voltak. Az R10000 mikroarchitektúra ANDES néven ismert, ami az Architecture with Non-sequential Dynamic Execution Scheduling (nemszekvenciális dinamikus végrehajtás-ütemezés) rövidítése. Az R10000 leginkább a csúcskategóriás R8000 és az általános R4400 típusokat váltotta fel. Az MTI egy gyártókapacitás nélküli félvezetőgyártó volt, így az R10000-et a NEC és a Toshiba gyártotta. A MIPS mikroprocesszorok korábbi gyártói, mint az Integrated Device Technology (IDT) és három másik cég nem gyártotta az R10000-et, mert a gyártás drágább lett volna, mint az R4000 és R4400-é.

Történet[szerkesztés]

Az R10000-es processzort 1996 januárjában mutatták be, 175 MHz és 195 MHz órajelű kezdeti változatokban. Egy 150 MHz-es változata 1997-ben jelent meg az O2 termékvonalban, de ez nem sokkal később megszűnt, mivel a vásárlók a 175 MHz-es változatot részesítették előnyben. Az R10000 csak az év második felében volt elérhető nagyobb mennyiségben, a MIPS bérgyártóinál tapasztalt gyártási problémák miatt. 1996-ban a 195 MHz-es verzió hiánycikk volt, és ára ennek következtében 3000 USD-re ment fel.[1]

1996. szeptember 25-én az SGI bejelentette, hogy a NEC által az adott évben március és július vége között gyártott R10000-esek hibásak voltak: túl sok áramot vettek fel, és működés közben a rendszerek leállását okozták. Emiatt a cég visszahívott 10 000 db. R10000-est, amelyek már elkészült és kiszállított rendszerekben kerültek a felhasználókhoz, és ez érzékelhető hatással volt a vállalat bevételére.

1997-ben elkészült az R10000 egy 0,25 µm-es folyamattal gyártott verziója, ami lehetővé tette, hogy a mikroprocesszor elérje a 250 MHz-es órajelet.

Felhasználók[szerkesztés]

Az R10000 felhasználói a következők:

Leírás[szerkesztés]

NEC VR10000 lapka

Az R10000 egy négyutas szuperskalár kialakítás, amely megvalósítja a regiszterátnevezés technikát, és az utasításokat „soron kívül”, a programutasítások sorrendjétől eltérő módon (out-of-order) hajtja végre. Kialakítása eltér a korábbi MTI mikroprocesszoroktól, például az R4000-től, ami egy sokkal egyszerűbb skalár sorrendi végrehajtású kialakítás, amely a teljesítmény szempontjából nagyrészt a magas órajelekre támaszkodik.

Az R10000 ciklusonként négy utasítást kér le az utasítás-gyorsítótárából. Ezeket az utasításokat dekódolja, majd az utasítás típusától függően a fixpontos, lebegőpontos vagy a betöltő/tároló utasítássorba helyezi azokat. A dekódoló egységet az utasítás-gyorsítótárból érkező elődekódolt utasítások segítik, amelyekben minden utasítás öt bittel egészül ki; ez a dekódoló egységet segíti annak gyors eldöntésében, hogy az utasítás melyik végrehajtási egységben kerül végrehajtásra, és hogyan rendezze át az utasítás formátumát, a dekódolási folyamat optimalizálása érdekében.

Mindegyik utasítássor legfeljebb négy utasítást fogadhat a dekódertől, elkerülve ezzel a szűk keresztmetszeteket. Az utasítássorok dinamikusan adják ki az utasításaikat a végrehajtó egységeiknek, az operandusok és erőforrások elérhetőségétől függően. A betöltési/tárolási sor kivételével mindegyik sor ciklusonként legfeljebb két utasítást adhat ki a végrehajtási egységeinek. A betöltési/tárolási sor csak egy utasítást adhat ki. Az R10000 így ciklusonként legfeljebb öt utasítást tud kiadni.

Fixpontos egység[szerkesztés]

A fixpontos egység a fixpontos regiszterfájlból és három – két fixpontos, egy betöltő/tároló – utasítás-futószalagból áll. A fixpontos (integer) regiszterfájl 64 bit széles és 64 bejegyzést tartalmaz, ezekből 32 architekturális regiszter és 32 átnevezőregiszter, amelyek a regiszterátnevezést valósítják meg. A regiszterfájl hét olvasási és három írási kapuval (porttal) rendelkezik. Mindkét fixpontos futószalagnak van egy összeadója és egy logikai egysége. Ugyanakkor csak az első futószalag rendelkezik barrel shifterrel[2] és a feltételes elágazások előrejelzését megerősítő hardverrel. A második futószalag a szorzó- és osztóegységek elérésére szolgál. A szorzás futószalagos, késleltetése 32 bites egész számok esetén hat ciklus, 64 bites egész számok esetén tíz ciklus. Az osztás nem futószalagos. Az osztóegység egy nem visszaállító algoritmust használ (non-restoring algorithm), ami ciklusonként egy bitet állít elő. A 32 bites és 64 bites osztások késleltetése 35, illetve 67 ciklus.

Lebegőpontos egység[szerkesztés]

Az lebegőpontos egység (FPU) négy funkcionális egységből, egy összeadóból, egy szorzóból, egy osztóegységből és egy négyzetgyökszámító egységből áll. Az összeadó és a szorzó futószalagos, de az osztó és négyzetgyök egységek nem. Az összeadás és szorzás késleltetése három ciklus, az összeadó és a szorzóegység minden ciklusban képes új utasítást fogadni. Az osztó egység késleltetése 12 vagy 19 ciklus, attól függően, hogy az osztás egyszeres vagy kétszeres pontosságú.

A négyzetgyök egység négyzetgyök és reciprok négyzetgyök utasításokat hajt végre. A négyzetgyök(vonás) utasítások késleltetése 18- vagy 33 ciklus, egyszeres illetve kétszeres pontosságú számoknál. Egy új négyzetgyök utasítás adható ki az osztó egységnek 20 vagy 35 ciklusonként, egyszeres ill. kétszeres pontosság esetén. A reciprok négyzetgyök késleltetési ideje hosszabb, 30–52 ciklus egyszeres pontosságú (32 bites) és kétszeres pontosságú (64 bites) számoknál.

A lebegőpontos regisztertár hatvannégy 64 bites regisztert tartalmaz, amelyből harminckettő architekturális regiszter, a többi pedig átnevezőregiszter. Az összeadó saját dedikált olvasási és írási portokkal rendelkezik, míg a szorzó megosztja (azokat) az osztó és négyzetgyök egységgel.

Az osztó és a négyzetgyök egység az SRT algoritmust használja. Az MIPS IV ISA rendelkezik szorzás-összeadás utasítással is. Ezt az utasítást az R10000 elkerüléssel valósítja meg – a szorzás eredménye elkerülheti a regiszterfájlt és operandusként kerülhet az összeadó futószalagba, így ez nem egy összevont szorzás-összeadás, és négy ciklusos késleltetéssel rendelkezik.

Gyorsítótárak[szerkesztés]

Az R10000-nek két, viszonylag nagy csipen belüli gyorsítótára van, egy 32 KiB-os utasítás-gyorsítótár és egy 32 KiB-os adat-gyorsítótár. Az utasítás-gyorsítótár kétutas csoport-asszociatív és sormérete 128 bájt. Az utasítások részlegesen dekódoltak: minden utasítás (amelyek hossza 32 bit) négy bittel egészül ki, mielőtt a gyorsítótárba kerül.

A 32 KiB-os adat-gyorsítótár két porttal van ellátva a kétutas átlapolt felépítésen keresztül. Két 16 KiB memóriabankból áll, mindkét bank kétutas csoport-asszociatív. A gyorsítótár sorai 64 bájtosak, write-back protokollt használ, és virtuálisan indexelt, fizikailag címkézett, hogy lehetővé tegye a gyorsítótár indexelését a műveletekkel egyidejűleg, ugyanabban az óraciklusban és hogy fenntartsa a koherenciát a másodlagos gyorsítótárral.

A külső másodlagos egyesített gyorsítótár 512 KiB és 16 MiB közötti kapacitást támogat. Kereskedelemben kapható szinkron statikus RAM-okkal (SSRAM-ok) valósították meg. A gyorsítótár-hozzáférés saját 128 bites sínjén keresztül történik, amelyet 9 bites hibajavító kód (ECC) véd. A gyorsítótár és sín ugyanazon az órajelen működik, mint az R10000, amelynek maximális frekvenciája 200 MHz volt. 200 MHz-en a sín 3,2 GB/s maximális sávszélességet eredményezett. A gyorsítótár kétutas csoport-asszociatív, de a magas tűszám elkerülése érdekében az R10000 előre jelzi, hogy melyik úton történik a hozzáférés.

Címzés[szerkesztés]

A MIPS IV 64 bites architektúra, de a költségek csökkentése érdekében az R10000 nem valósítja meg a teljes fizikai vagy virtuális címet. Ehelyett ennek egy 40 bites fizikai címet és egy 44 bites virtuális címet alkalmaz, amivel 1 TiB fizikai memória és 16 TiB virtuális memória címzésére képes.

Az Avalanche rendszersín[szerkesztés]

Az R10000 az Avalanche sínt használja, ami egy 64 bites, maximálisan 100 MHz-es frekvencián működő sín. Az Avalanche egy multiplexelt cím- és adatsín, tehát 100 MHz-en maximális elméleti sávszélessége 800 MB/s, de a gyakorlati maximuma 640 MB/s, mivel a címek továbbításához néhány ciklusra van szükség.

A rendszerinterfész-vezérlő támogatja az illesztő logika nélküli szimmetrikus multiprocesszálást (SMP), legfeljebb négy mikroprocesszorból álló konfigurációban. Az R10000-et külső logikával használó rendszerek több száz processzorig skálázhatók. Ilyen rendszer például az Origin 2000.

Gyártás[szerkesztés]

Az R10000 körülbelül 6,8 millió tranzisztorból áll, amiből körülbelül 4,4 millió az elsődleges gyorsítótárakban található.[3] A lapka mérete 16,640 × 17,934 mm, lapkaterülete 298,422 mm2. 0,35 µm-es folyamattal gyártják és 599 érintkezős kerámia land grid array (LGA) tokozásban készült. Az R10000 bevezetése előtt, az 1994-es Microprocessor Forum (rendezvényről) beszámoló Microprocessor Report azt közölte, hogy tokozása 527 tűs kerámia tűrácsos tömb (CPGA); és hogy a gyártók vizsgálták egy 339 tűs többcsipes modul (multi-chip module, MCM) használatának lehetőségét is, amely a mikroprocesszort és egy 1 MiB-os gyorsítótárat tartalmaz.[4]

Származékok[szerkesztés]

Az R10000 több egymást követő származékkal bővült. Az R12000 utáni összes származék órajel-frekvenciáját a lehető legalacsonyabban tartották, hogy az energiaveszteséget a 15–20 W-os tartományban tartsák, és így sűrűn beépíthetők legyenek az SGI nagy teljesítményű számítástechnikai (high performance computing, HPC) rendszereibe.

R12000[szerkesztés]

NEC VR12000 lapka

Az R12000 az R10000-nek a MIPS által elkezdett és az SGI által befejezett származéka. A NEC és a Toshiba gyártotta. A NEC által gyártott változat neve VR12000. A mikroprocesszort 1998 novemberében mutatták be. 270, 300 és 360 MHz-es órajelen volt elérhető. Az R12000-et átmeneti megoldásként fejlesztették ki a „Beast” projekt törlését követően, amely az R10000 utódját kívánta létrehozni. Az R12000 felhasználói közé tartozik NEC, Siemens-Nixdorf, SGI és Tandem Computers (és később a Compaq, a Tandem felvásárlása után).

Az R12000 továbbfejleszti az R10000 mikroarchitektúrát a következőkkel: egy további futószalagfokozat beillesztése, az órajelfrekvencia javítása érdekében a kritikus útvonal feloldásával; a bejegyzések számának növelése az elágazástörténeti táblázatban, ami javítja az előrejelzést; az utasítássorok módosítása úgy, hogy azok figyelembe vegyék a sorba állított utasítások korát, lehetővé téve a régebbi utasítások végrehajtását az újabbak előtt, amennyiben az lehetséges.

Az R12000-et a NEC és a Toshiba gyártotta 0,25 µm-es CMOS folyamattal, négy rétegű alumínium fémezéssel. Az új eljárás új felhasználása nem jelenti azt, hogy az R12000 egyszerű zsugorított csip volt, finomított mikroarchitektúrával; a lapka elrendezése úgy van optimalizálva, hogy kihasználja a 0,25 µm-es folyamat előnyeit.[5][6] A NEC által gyártott VR12000 7,15 millió tranzisztort tartalmaz, mérete 15,7 × 14,6 mm (229,22 mm2).

R12000A[szerkesztés]

Az SGI által kifejlesztett R12000A az R12000 származéka. 2000. júliusában mutatták be, 400 MHz-en működik és a NEC gyártotta 0,18 µm-es folyamattal, alumínium fémezéssel.

R14000[szerkesztés]

Az R14000 az R12000 továbbfejlesztése, amelyet 2001 júliusában jelentettek be. Az R14000 500 MHz-en működik. 0,13 µm-es CMOS folyamattal készült, öt rétegű réz fémezéssel, ez a gyártási eljárás tette lehetővé a magas üzemi frekvenciáját. Javították benne az R12000 mikroarchitektúráját, támogatja a kétszeres átviteli sebességű (DDR) SSRAM-ok használatát a másodlagos gyorsítótárakban és egy 200 MHz-es rendszersín használatát.[7]

R14000A[szerkesztés]

Az R14000A az R14000 2002 februárjában bejelentett továbbfejlesztése. Órajele 600 MHz, disszipációja közelítőleg 17 W, és a NEC Corporation gyártotta 0,13 µm-es CMOS folyamattal, hét rétegű réz fémezéssel.[7]

R16000[szerkesztés]

Az R16000, kódnevén „N0”, az R10000 utolsó származéka. Az SGI fejlesztette ki és a NEC gyártotta 0,11 µm-es CMOS folyamatával, nyolc rétegű réz fémezéssel. A mikroprocesszort 2003. január 9-én mutatták be, 700 MHz-es órajelen mutatkozott be az SGI Fuel munkaállomásban, és az SGI az Onyx4 Ultimate Vision gépeit is ezzel szerelte.[8] 2003 áprilisában egy 600 MHz-es változatot mutattak be, amelyet az Origin 350 gépekben alkalmaztak. A processzorban végrehajtott fejlesztések közé tartozik a 64 KiB méretű utasítás- és adat-gyorsítótár.

R16000A[szerkesztés]

Az R16000A jelölés a 700 MHz-nél nagyobb órajelű R16000 mikroprocesszorokra vonatkozik. Az első R16000A egy 800 MHz-es változat volt, amelyet 2004. február 4-én mutattak be. Később egy 900 MHz-es változatot is bemutattak, és egy ideig ez volt a leggyorsabb általánosan ismert R16000A – az SGI később beismerte, hogy kiválasztott ügyfeleknek 1 GHz-es R16000-eseket is szállítottak. Az R16000 felhasználói közé tartozott a HP és az SGI. Az SGI a mikroprocesszort Fuel és Tezro munkaállomásokban használta; valamint Origin 3000 sorozatú szerverei és szuperszámítógépeiben (egyes Origin modellek 512 vagy több ezer processzorig voltak skálázhatók, 2003 és 2005 között). A HP az R16000A-t NonStop Himalaya S-Series hibatűrő szervereiben használta, amelyeket a Compaqon keresztül a Tandemtől örökölt.

R18000[szerkesztés]

Az R18000 az R10000 mikroarchitektúra törölt továbbfejlesztése, ami a Silicon Graphics, Inc. által a 2001-es Hot Chips szimpóziumon ismertetett jelentős fejlesztéseket tartalmazott. Az R18000-et kifejezetten az SGI ccNUMA szervereihez és szuperszámítógépeihez tervezték. Egy feltételezett rendszerben minden csomópont két R18000-et tartalmaz, amelyek multiplexelt sínen kapcsolódnak egy rendszervezérlőhöz, amely hiperkocka topológiájú hálózaton keresztül kapcsolja össze a mikroprocesszorokat a hozzájuk rendelt helyi memóriával és a rendszer többi részével.

Az R18000-ben továbbfejlesztették a lebegőpontos utasítássorokat és átdolgozták a lebegőpontos egységet, két szorzó-összeadó egységgel egészítve ki azt, így megnégyszerezve a lebegőpontos műveletek FLOPS csúcsértékét. Az osztás és a négyzetgyökvonás különálló, nem futószalagos egységekben történik a szorzó-összeadó egységekkel párhuzamosan. A rendszerinterfészt és memória-hierarchiát is jelentősen átdolgozták. A processzor 52 bites virtuális címet és 48 bites fizikai címet alkalmaz. A korábbi modellek kétirányú multiplexelt cím- és adat-rendszersínjét két egyirányú DDR átviteli vonal (kapcsolat) váltotta fel benne, egy 64 bites multiplexelt cím- és írási útvonal, és egy 128 bites olvasási útvonal. Az útvonalak multiplexeléssel megoszthatók egy másik R18000-essel. A sín SysAD vagy Avalanche konfigurációban is használható, az R10000-es rendszerekkel való visszafelé kompatibilitás érdekében.

A tervezett R18000-es rendelkezett volna egy lapkára integrált 1 MiB négyutas csoport-asszociatív másodlagos gyorsítótárral, opcionális harmadik szintű gyorsítótárral kiegészítve, amely egyszeres (SDR) vagy kétszeres (DDR) átviteli sebességű SSRAM-okkal épülhet fel, 2–64 MiB kapacitással. A tervezett rendszerben az L3 gyorsítótárnak 400 KiB-nak megfelelő gyorsítótárcímkékkel kell rendelkezne, amelyek a késleltetés csökkentése érdekében a lapkán helyezkednek el. Az L3 gyorsítótár egy 144 bites sínen keresztül elérhető, amelyből 128 bit az adat, 16 bit pedig az ECC átvitelére szolgál. Az L3 gyorsítótár órajele programozható.

Az R18000-et a NEC UX5 folyamatával gyártották volna, amely egy 0,13 µm-es CMOS folyamat, kilenc rétegű réz fémezéssel. 1,2 V-os tápfeszültséget használt volna és hővesztesége kevesebb lett volna, mint a korabeli szerver-mikroprocesszoroké, hogy sűrűn beépíthető legyen a rendszerekbe.

Jegyzetek[szerkesztés]

  1. Gwennap, Linley (27 January 1997). "Alpha Sails, PowerPC Flails". Microprocessor Report, pp. 1, 6–9., p. 8."
  2. barrel shifter: eltolási kombinációs hálózat, tetszőleges eltolást egy lépésben végrehajtó léptetőregiszter, amelynél az eltolás/léptetés mértéke paraméteresen megadható
  3. Yeager, Kenneth C. (1996. április 1.). „The MIPS R10000 Superscalar Microprocessor”. IEEE Micro 16 (2), 28. o. [2011. július 19-i dátummal az eredetiből archiválva]. DOI:10.1109/40.491460. (Hozzáférés ideje: 2022. szeptember 11.)  
  4. Gwennap, Linley (1994. október 24.). „MIPS R10000 Uses Decoupled Architecture”. Microprocessor Report 8, 4. o.  
  5. Gwennap, Linley (1997. október 6.). „MIPS R12000 to Hit 300 MHz”. Microprocessor Report 11.  
  6. Halfhill, Tom R.. RISC Fights Back with the Mips R12000, 49-50. o. (1998. január 1.) 
  7. a b ComputerWire: SGI to develop MIPS chips for Origin, Onyx. The Register , 2002. július 2.
  8. Silicon Graphics, Inc. (9 January 2003). SGI Boosts Price/Performance on Silicon Graphics Fuel Visual Workstation Family up to 25%. (Press release).

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben a R10000 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ások[szerkesztés]

Ld. jegyzetek

További információk[szerkesztés]

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