UltraSPARC | |||
---|---|---|---|
Mikroprosessor | |||
![]() | |||
200 MHz UltraSPARC mikroprosessor | |||
Produsert | 1995–1997 | ||
Utviklet av | Sun Microsystems | ||
Produsent | Texas Instruments | ||
Klokkefrekvens | 143, 167 og 200MHz | ||
Prosess | 470 nmCMOS | ||
Transistorer | 5,2 millioner (herav 1,8 millioner til hurtigminne) | ||
Databuss | 128 biter + EEC | ||
Adressebuss | 35 biter + paritet | ||
Hurtigminne Nivå I, I | 16 Kb | ||
Hurtigminne Nivå I, Data | 16 Kb | ||
Hurtigminne Nivå II | 512 Kb, 1 Mb eller 2 Mb (eksternt) | ||
Prosessorsokkel | 521 pinner (PBGA) | ||
Størrelse | 315 mm² | ||
Kjerne | EnkjernersRISC | ||
Instruksjonsett | SPARC versjon 9 | ||
Forgjenger | SuperSPARC | ||
Etterfølger | UltraSPARC II | ||
UltraSPARC (kodenavn:«Spitfire», produktkode:Sun STP1030) var en64-biterRISCmikroprosessor som ble utviklet avSun Microsystems og som ble produsert avTexas Instruments. Mikroprosessoren var fire-veissuperskalær og kunne utføre to heltallsberegninger og toflyttallberegninger per klokkepuls. UltraSPARC var den første mikroprosessoren som fulgte spesifikasjonenSPARC versjon 9.
Mikroprosessoren ble annonsert av Sun Microsystems den 3. oktober 1994. Den 7. november 1995 ble den tilgjengelig i maskiner på det åpne marked i utgaver på 143 og 167 MHz. I juni 1996 fulgte en versjon på 200 MHz.
Den fremste konkurrenten varSPARC64, en annen 64-biter superskalær RISC-mikroprosessor, som ble lansert avFujitsu i 1995. Den var også en implementasjon av SPARC versjon 9.
UltraSPARC var etterfølgeren tilSuperSPARC. Dette var en toveis superskalær og 32-biter mikroprosessor, som var en implementasjon avSPARC versjon 8. Dens fremste konkurrent varhyperSPARC.
UltraSPARC ble i 1997 etterfulgt avUltraSPARC II.
UltraSPARC var den første implementasjonen av spesifikasjonenSPARC versjon 9, som ble publisert i 1992.[1] Denne manualen beskriver en 64-biter arkitektur av typenSPARC.[2]
UltraSPARC bestod av 5.2 millioner transistorer. Av disse ble 3.4 millioner transistorer benyttet til logiske kretser, mens resten ble brukt til å implementerehurtigminne.[3] Den ble fabrikkert ved hjelp av Texas Instruments' EPIC-3 prosess, en 470 nanometers 4-lags CMOS prosess.
Størrelsen var 17.7 x 17.8 mm, eller 315 mm². Den interne elektriske spenningen var 3.3 Volt. Ved 167 MHz ga dette en effekt på 28 Watt og 20 mW i sovemodus. Prosessoren var forsynt med 521 pinner i et PBGA.
I1998 lanserte Sun Microsystems en 200 MHz versjon med kodenavnet «Hornet». Den var produsert med 420 nanometers transistorer, og hadde en størrelse på 265 mm². De øvrige tekniske spesifikasjonene var uendret.
En av de sentrale arkitektene bak UltraSPARC varMarc Tremblay.
En 167 MHz UltraSPARC med 2 MB Nivå-2hurtigminne, hadde en ytelse på 240 SPECint92 og 350 SPECfp92.[3][4]
UltraSPARC var sammensatt av ni enheter:
UltraSPARC var en fire-veis superskalær prosessor, og kunne utføre fire instruksjoner per klokkesyklus.[5]
Ved betingede hopp var prosessorensbranch predictor istand til å foreta spekulativ utførelse − «forutsigelser» av hvilken «grein» (branch) av programmet som fortsetter under betingede hopp, basert på erfaringer fra programutførelsens historikk. Ved betingede hopp hadde UltraSPARC en treffsikkerhet på 88% SPECint92 og 94% SPECfp92.[3]
De utførende enhetene i UltraSPARC var forenklet i forhold tilSuperSPARC for å oppnå høyere klokkefrekvens. De aritmetisk logiske enhetene var f.eks. ikke i kaskade, slik tilfellet var på SuperSPARC.
Registerfilen for de to artimetisk logiske enhetene og LOAD/STORE enheten bestod av 32 stk 64-bit registre. Ettersom UltraSPARC benyttet 8register vinduer, var det virtuelle antallet register 144. Begge de to aritmetisk logiske enhetene kunne utføre artitmetikk, logiske og shift instruksjoner, men bare den ene av dem kunne utføre multiplikasjon og divisjon.
Desimaltallprosessoren bestod av tre funksjonelle enheter: En for addisjon og subtraksjon, en for multiplikasjon og en for divisjon og beregning av kvadratrøtter.
To funksjonelle enheter utgjorde grafikkprosessoren, som utførte UltraSPARCs nyeSIMD instruksjoner som var definert avVisual Instruction Set.[6][7]
Desimaltallprosessoren og grafikkprosessoren delte 32 stk 64-bit registre.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
HENT | DEKOD | GRUPPER | UTFØR | CACHE-TILGANG | N1 | N2 | N3 | SKRIV |
I første trinn hentes instruksjoner fra instruksjons-cachen. I andre trinn dekodes instruksjonene og plasseres i instruksjons-bufferet. I trinn tre blir opptil fire instruksjoner grupperte hver for seg, og klargjorte for utførelse. Trinn fire utfører heltallsinstruksjoner og beregner virtuelle adresser.
I trinn fem aksesseres data-cachen. «Forutsigelser» under betingede hopp som ikke er korrekte blir forkastet. I trinn seks sjekkes graden avmiss oghits i data-cachen. I trinn syv venter prosessoren på enpipe fra desimaltallsprosessoren og grafikk-enheten. I trinn åtte blir avbrudd håndtert. Og i det niende og siste trinnet skrives resultatet til minnet.
1 | 2 | 3 | 4 |
---|---|---|---|
REGISTER | X1 | X2 | X3 |
I første trinn blir desimaltall- og grafikk-instruksjoner dekodet, og registerfilen blir aksessert. De neste trinnene er å starte utførelsen (X1), fortsette utførelsen (X2) og å avslutte utførelsen (X3).
UltraSPARC hadde et delt nivå-1 hurtigminne: 16 KB for data og 16 Kb for instruksjoner.
Prosessoren hadde også en integrert kontroller for et eksternt nivå-2 hurtigminne for både data og instruksjoner, som kjørte i samme hastighet som prosessoren. Størrelsen var valgfri, og kunne være 512 KB, 1 MB eller 2 MB.
Mellom 1995 og 2001 ble UltraSPARC benyttet på fem modeller av arbeidsstasjoner iSun Ultra-serien:Ultra 1 (1 prosessor),Ultra 1 E (1 prosessor),Ultra 2 (1-2 prosessorer),Ultra 3000 (1-6 prosessorer) ogUltra 4000 (1-14 prosessorer).
I serieneUltra Server,Ultra Enterprise ogSun Enterprise ble den benyttet i datamaskiner med opptil 30 stk 167 Mhz UltraSPARC prosessorer (Enterprise 6500).