10 000 R

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 31. ledna 2020; kontroly vyžadují 4 úpravy .

R10000 (kódové označení "T5") je RISC mikroprocesor , který implementuje instrukční sadu MIPS IV . Vyvinuto společností MIPS Technoligies, Inc. (MTI, která se později stala divizí SGI ). Hlavními vývojáři jsou Chris Rowan a Kenneth S. Yeager. R10000 je založen na mikroarchitektuře ANDES (Architecture with Non-sequential Dynamic Execution Scheduling) . [1] R10000 do značné míry nahradil R8000 ve vysoce výkonném segmentu a R4400 v jiných aplikacích. MTI je společnost bez továren a procesory R10000 byly vyrobeny společnostmi NEC a Toshiba . Předchozí výrobci mikroprocesorů MIPS, IDT a další nevyráběli R10000, protože byl dražší než R4000 a R4400.

Historie

R10000 byl představen v lednu 1996 ve verzích 175 MHz a 195 MHz. V roce 1997 byla v produktové řadě O2 uvedena 150 MHz verze, která však byla brzy ukončena pro větší oblibu 175 MHz modelu. R10000 nebyl k dispozici ve velkých objemech až do konce roku kvůli výrobním problémům. 195 MHz verze zůstala nedostatkovým zbožím po celý rok 1996 a prodávala se za 3 000 USD. [2]

25. září 1996 společnost SGI oznámila, že R10000 vyrobené společností NEC v březnu a na konci července byly vadné, odebíraly příliš mnoho proudu a způsobily vypínání systémů během provozu. Společnost SGI stáhla systémy používající přibližně 10 000 procesorů R10000, což ovlivnilo hospodářský výsledek společnosti. [3] [4]

V roce 1997 dosáhla 0,25 µm verze R10000 250 MHz.

Aplikace

R10000 byl použit v několika počítačových systémech:

Popis

R10000 má superskalární design se 4 pipelines, implementuje přejmenování registrů a využívá provádění instrukcí mimo pořadí . Konstrukce R10000 se liší od předchozích mikroprocesorů MIPS, jako je R4000, což byl skalární procesor bez provádění mimo pořadí a spoléhal především na vysoké takty pro výkon.

Každý cyklus hodin v R10000 může vyžadovat až čtyři instrukce z instrukční mezipaměti . Tyto instrukce jsou dekódovány a poté, v závislosti na typu, umístěny do jedné z prováděcích front: celočíselné operace, instrukce s pohyblivou řádovou čárkou nebo instrukce načtení/uložení. Blok dekódování používá rady typu instrukce připravené mezipamětí instrukcí: každá instrukce je označena pěti bity, aby se určilo, do kterých prováděcích jednotek se má instrukce poslat, a optimalizuje se proces dekódování.

Každá z instrukčních front může přijímat až čtyři instrukce z dekodéru. Instrukce z front jsou vydávány k provedení do odpovídajícího prováděcího kanálu dynamicky v závislosti na připravenosti jejich operandů a dostupnosti zdrojů. Každá z front, s výjimkou fronty načítání/ukládání, může vydávat až dvě instrukce za hodinu. Ve frontě načtení/uložení může běžet pouze jedna instrukce. R10000 tedy může provádět až pět instrukcí na takt.

Blok celočíselných operací

Celočíselné zařízení se skládá ze souboru celočíselného registru a tří kanálů : dva pro celočíselné operace a jeden pro paměťové operace. Soubor celočíselného registru je 64 bitů široký a obsahuje 64 registrů, z nichž 32 je architektonických a 32 se používá pro přejmenování registrů. Registrační soubor má sedm portů pro čtení a tři porty pro zápis. Oba celočíselné kanály mají sčítací a booleovské bloky. Pouze první potrubí však poskytuje zařízení pro posouvání sudů a potvrzovací předpovědi větví. Druhé potrubí se používá pro přístup k multiplikátoru a rozdělovači. Multiplikátor je zřetězen, má šesticyklovou latenci pro 32bitová celá čísla a deseticyklovou latenci pro 64bitová celá čísla. Dělicí blok není zřetězen. Dělení se provádí podle neobnovovacího algoritmu , který produkuje jeden bit na takt. Zpoždění dělení pro 32bitová a 64bitová celá čísla je 35 a 67 cyklů.

Blok s plovoucí desetinnou čárkou

Jednotka s plovoucí desetinnou čárkou (FPU) se skládá ze čtyř funkčních jednotek: sčítačky, násobiče, jednotky dělení a jednotky druhé odmocniny. Sčítačka a násobič jsou zřetězeny, dělení a blok druhé odmocniny zřetězeny nejsou. Sčítání a násobení mají zpoždění tří cyklů a každý cyklus může přijmout novou instrukci. Dělicí blok má zpoždění 12 nebo 19 cyklů, v závislosti na bitové hloubce dat, pro jednoduchou přesnost a dvojitou přesnost .

Druhá odmocnina Blok provádí operace druhé odmocniny a inverzní odmocniny . Instrukce druhé odmocniny mají latenci 18 a 33 cyklů pro jednoduchou a dvojitou přesnost. Každých 20 nebo 35 cyklů lze zadat novou instrukci druhé odmocniny do bloku pro jednoduchou a dvojitou přesnost. Inverzní odmocniny se počítají ve 30 nebo 52 cyklech pro jednoduchou (32bitovou) a dvojitou přesnost (64bitovou).

Soubor registrů s plovoucí desetinnou čárkou obsahuje šedesát čtyři 64bitových registrů, z nichž 32 je architektonických a 32 je pro přejmenování registrů. Sčítačka má vlastní vyhrazené porty pro čtení a zápis, pro zbývající bloky se používá sdílený port.

Bloky dělení a odmocniny používají algoritmus SRT . MIPS IV má příkaz multiply-add. Tato instrukce je implementována v R10000 pomocí bypassu - výsledek násobení může být doručen obcházením souboru registru přímo do sčítacího potrubí jako operand. Proto tato implementace není kombinovaným násobením a sčítáním a má čtyři cykly zpoždění.

Vyrovnávací paměť

R10000 používá dvě relativně velké mezipaměti implementované na stejném čipu: 32 KB instrukční cache a 32 KB datovou cache. Instrukční mezipaměť je 2-kanálová, multiasociativní , používá řádky 128 bajtů. Instrukce se částečně dekódují přidáním čtyř bitů ke každé instrukci (velikost jedné instrukce je 32 bitů).

Datová mezipaměť 32 KB je dvouportová, dvakrát prokládaná mezipaměť. Skládá se ze dvou 16K bank a každá banka používá dvoukanálovou asociativitu. Mezipaměť používá 64bajtové řetězce, protokol zpětného zápisu , je virtuálně indexována a fyzicky označena . Tento přístup umožňuje indexování ve stejném cyklu a zachování koherence s mezipamětí L2.

Externí mezipaměť L2 je sdílena mezi instrukcemi a daty a může mít velikost od 512 KB do 16 MB. Je implementován na bázi synchronní statické paměti (SSRAM). Ke cache se přistupuje přes 128bitovou sběrnici chráněnou 9bitovým kódem pro opravu chyb (ECC). Cache a sběrnice běží na frekvenci procesoru R10000. Při 200 MHz má sběrnice špičkovou šířku pásma 3,2 GB/s. Mezipaměť používá dvoukanálovou asociativitu, ale pro snížení počtu kontaktů R10000 předpovídá, že kanál zasáhne.

Adresování

MIPS IV je 64bitová architektura, ale R10000 neimplementuje celý fyzický nebo virtuální adresní prostor , aby se snížily náklady. Procesor nabízí 40bitové fyzické adresování a 44bitové virtuální adresování, což umožňuje adresovat až 1 TB fyzické paměti a až 16 TB virtuální paměti .

Systémová sběrnice Avalance

Avalance se používá jako systémová sběrnice - 64bitová sběrnice pracující na frekvencích do 100 MHz. Sběrnice Avalance multiplexuje adresy a data, takže z maximální teoretické propustnosti 800 MB/s na 100 MHz je pro přenos dat k dispozici pouze 640 MB/s, protože část taktů je využita pro přenos adres.

Vestavěný řadič systémového rozhraní podporuje implementaci symetrických víceprocesorových systémů ( SMP ) až se čtyřmi mikroprocesory včetně. Použití externích řadičů umožňuje vytvářet systémy ze stovek procesorů R10000. Příkladem takového systému je SGI Origin 2000 .

Výroba

Procesor R10000 má asi 6,8 milionu tranzistorů, z nichž asi 4,4 milionu tvoří implementace mezipaměti první úrovně. [5] Čip má rozměry 16,64 x 17,934 mm s celkovou plochou 298,42 mm 2 . Byl vyroben podle výrobního procesu 0,35 mikronu a zabalen do keramického pouzdra LGA s 599 kolíky. [6]

Derivační procesory

R10000 byl rozšířen v několika derivátových projektech. Všechny deriváty po R12000 měly sníženou rychlost hodin, aby se ztrátový výkon udržoval v rozsahu 15 až 20 wattů. To umožnilo, aby byly procesory pevně zabaleny do vysoce výkonných výpočetních systémů SGI .

R12000

R12000 je derivátem R10000, který začal u MIPS a byl dokončen u SGI. Byl vyroben společnostmi NEC a Toshiba. Verze od NEC se jmenuje VR12000. Mikroprocesor byl představen v listopadu 1998 a byl dostupný na 270, 300 a 360 MHz. R12000 byl vyvinut jako dočasné řešení po zrušení projektu Beast, který plánoval vytvořit nástupce R10000. Procesor R12000 byl používán společnostmi NEC, Siemens-Nixdorf , SGI a Tandem Computers (pozdější část Compaq).

R12000 vylepšuje mikroarchitekturu R10000 tím, že zahrnuje další fáze potrubí pro zvýšení rychlosti hodin, zvýšení počtu záznamů v tabulkách historie větví, zlepšení predikce větví, změnu front instrukcí tak, aby zohledňovaly stáří instrukce (starší instrukce mají přednost při provádění).

R12000 byl vyroben společnostmi NEC a Toshiba v 0,25 µm CMOS procesu se čtyřmi úrovněmi hliníkové vazby. Použití nové procesní technologie neznamená, že R12000 byl pouze zmenšením předchozího návrhu s optimalizací mikroarchitektury. Topologie R12000 byla optimalizována tak, aby využívala výhody procesní technologie 0,25 µm. [7] [8] Procesory VR12000 společnosti NEC obsahují 7,15 milionu tranzistorů v matrici 15,7 x 14,6 mm (229,22 mm 2 ).

R12000A

R12000A je derivátem R12000 vyvinutého společností SGI. Uvedený v červenci 2000, pracuje na 400 MHz a vyrábí ho NEC v 0,18 µm procesu se sloučeninami hliníku.

R14000

R14000 je dalším vývojem R12000, který byl oznámen v červenci 2001. R14000 pracuje na frekvenci 500 MHz pomocí 0,13µm CMOS procesu s pěti vrstvami měděných propojovacích vodičů . Kromě vylepšení mikroarchitektury R12000 procesor podporuje Double Data Rate (DDR) SSRAM pro sekundární mezipaměť a 200MHz systémovou sběrnici. [9]

R14000A

R14000A je dalším vývojem R14000, který byl oznámen v únoru 2002. Pracuje na frekvenci 600 MHz, rozptyluje asi 17 W a vyrábí ho NEC v 0,13µm CMOS procesu se sedmi vrstvami měděných spojů.

R16000

R16000 (kódové označení "N0") je nejnovější derivát R10000. Procesor byl navržen společností SGI a vyroben společností NEC v procesu 0,11 mikronu s osmi vrstvami měděných propojovacích vodičů. Mikroprocesor byl představen 9. ledna 2003, debutoval na 700 MHz pro počítač SGI Fuel . Používá se také v SGI Onyx4 Ultimate Vision . [10] V dubnu 2003 byla představena 600 MHz verze pro SGI Origin 350 . V R16000 byla velikost mezipaměti instrukcí a dat zvýšena na 64 KB.

R16000A

Pod R16000A označují varianty procesorů R16000 s taktovací frekvencí nad 700 MHz. První R16000A s 800 MHz byl představen 4. února 2004. Později se objevila verze 900 MHz. Pro některé zákazníky společnost SGI dodala R16000 na 1,0 GHz. Mezi uživatele R16000 patří HP a SGI. SGI použila mikroprocesor ve svých pracovních stanicích Fuel a Tezro a ve svých serverech Origin 3000 . HP používá R16000A v serverech NonStop Himalaya S-Series odolných proti chybám (zděděných od Tandemu přes Compaq).

R18000

R18000 - Zrušený vývojový projekt pro R10000. Plánované změny mikroarchitektury představila společnost Silicon Graphics na Hot Chips Symposium v ​​roce 2001. R18000 byl navržen speciálně pro servery a superpočítače SGI ccNUMA. Každý uzel by používal dva R18000 připojené přes multiplexní sběrnici k systémovému řadiči. Propojuje mikroprocesory s místní pamětí a zbytkem systému prostřednictvím topologie sítě hypercube.

R18000 má vylepšené fronty instrukcí s pohyblivou řádovou čárkou a jednotka s pohyblivou řádovou čárkou používá dvě zařízení s vícenásobným sčítáním, což zvyšuje maximální rychlost FLOPS 4krát. Operace dělení a odmocniny lze provádět v samostatných nezřetězených jednotkách současně se sčítáním a násobením. Systémové rozhraní a hierarchie paměti byly výrazně přepracovány. Používají se 52bitové virtuální adresy a 48bitové fyzické adresy. Obousměrná multiplexovaná systémová sběrnice dřívějších modelů je nahrazena dvěma jednosměrnými kanály DDR: 64bitovým multiplexovaným kanálem pro adresy a zápisy dat a 128bitovým kanálem pro čtení. Tyto dva kanály lze sdílet s druhým procesorem R18000 prostřednictvím multiplexování. Sběrnici lze také překonfigurovat na režimy SysAD nebo Avalance pro zpětnou kompatibilitu se systémy R10000.

R18000 používá 1 MB čtyřcestnou L2 multiasociativní mezipaměť implementovanou na stejném čipu. Volitelně lze použít mezipaměť třetí úrovně, sestavenou z paměti SDR nebo DDR SSRAM, případně z DDR SDRAM o kapacitě 2 až 64 MB. Tato mezipaměť L3 je doplněna o 400 KB mezipaměť tagů umístěná na matrici procesoru pro snížení latence. Pro přístup k L3 cache se používá 144bitová široká sběrnice: 128 bitů pro data a 16 bitů pro ECC. Frekvence mezipaměti L3 lze konfigurovat.

R18000 byl plánován pro proces NEC „UX5“ 0,13 µm CMOS s devíti úrovněmi měděných spojů . Tento proces využívá napájení 1,2 V, což by ve velkých systémech snížilo rozptyl tepla a zvýšilo hustotu náplně.

Poznámky

  1. „MIPS tvrdí záznam s pohyblivou čárkou s R10000, nejžhavějším čipem na fóru mikroprocesorů“  (nedostupný odkaz) (31. října 1994). Computer Business Review.
  2. Gwennap, Linley (27. ledna 1997). Alpha Sails, PowerPC cepy. Zpráva o mikroprocesoru , str. 1, 6-9., str. osm."
  3. „Defects Reveal in SGI R10000 MIPS Systems, Revenues Hit“ Archivováno 26. září 2018 na Wayback Machine . (26. září 1996). Computer Business Review.
  4. „SGI To Recall 10 000 R10000s“ Archivováno 26. září 2018 na Wayback Machine (30. září 1996). Computer Business Review.
  5. Yeager, Kenneth C. „Superskalární mikroprocesor MIPS R10000“. IEEE Micro. dubna 1996, str. 28. doi:10.1109/40.491460
  6. Gwennap, Linley (24. října 1994). „MIPS R10000 používá oddělenou architekturu“ . Zpráva o mikroprocesoru, ročník 8, číslo 14., str. 4 . Získáno 25. září 2018. Archivováno z originálu 25. září 2020.
  7. Gwennap, Linley (6. října 1997). "MIPS R12000 až Hit 300 MHz". Zpráva o mikroprocesoru, ročník 11, číslo 13. . Získáno 25. září 2018. Archivováno z originálu 4. srpna 2020.
  8. Halfhill, Tom R. (leden 1998). „RISC bojuje s Mips R12000“ . Časopis Byte.
  9. ComputerWire (2. července 2002). „SGI vyvine čipy MIPS pro Origin, Onyx“ Archivováno 25. září 2018 na Wayback Machine . Registrace.
  10. Silicon Graphics, Inc. (9. ledna 2003). SGI zvyšuje cenu/výkon rodiny vizuálních pracovních stanic s technologií Silicon Graphics až o 25 %. (Tisková zpráva).

Odkazy