Redigerer
UltraSPARC
(avsnitt)
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
== Strukturell oppbygning == En av de sentrale arkitektene bak UltraSPARC var [[Marc Tremblay]]. En 167 MHz UltraSPARC med 2 MB Nivå-2 [[hurtigminne]], hadde en ytelse på 240 SPECint92 og 350 SPECfp92.<ref name=Tremblay1995>Mark Tremblay: UltraSPARC(™)-I: A 64-bit Superscalar Processor with Multimedia Support, SPARC Technology Business, Sun Microsystems Inc., Hot Chips VII, [[august]] [[1995]]</ref><ref>Linley Gwennap: UltraSparc Unleashes SPARC Performance, Microprocessor Report, Volume 8, Number 13, 3. oktober, [[1994]]</ref> ===Ni enheter=== UltraSPARC var sammensatt av ni enheter: * 2 [[aritmetisk logisk enhet|aritmetisk logiske enheter]] for heltall * 1 LOAD/STORE enhet * 3 desimaltallsenheter * 2 grafikkenheter * 1 ''branch predictor'' UltraSPARC var en fire-veis superskalær prosessor, og kunne utføre fire instruksjoner per klokkesyklus.<ref>Dale Greenley, J. Bauman, D. Chang, Dennis Chen, R. Eltejaein, P. Ferolito, P. Fu, R. Garner, D. Greenhill, H. Grewal, K. Holdbrook, B. Kim, L. Kohn, H. Kwan, M. Levitt, G. Maturana, D. Mrazek, C. Narasimhaiah, K. Normoyle, N. Parveen, P. Patel, A. Prabhu, M. Tremblay, M. Wong, L. Yang, K. Yarlagadda, R. Yu, R. Yung, G. Zyner: ''UltraSPARC: the next generation superscalar 64-bit SPARC'', compcon, side.442-451, 40th IEEE Computer Society International Conference (COMPCON'95), [[1995]]</ref> Ved betingede hopp var prosessorens ''branch 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.<ref name=Tremblay1995/> De utførende enhetene i UltraSPARC var forenklet i forhold til [[SuperSPARC]] 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 8 [[register vindu]]er, 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 nye [[SIMD]] instruksjoner som var definert av [[Visual Instruction Set]].<ref>Marc Tremblay, J. Michael O'Connor: ''UltraSparc I:A Four-Issue Processor Supporting Multimedia'', IEEE Micro, Volume 16, Issue 2, IEEE Computer Society Press, Los Alamitos, CA, USA, april 1996, side 42–50, ISSN 0272-1732</ref><ref>Linley Gwennap: [http://docencia.ac.upc.edu/ETSETB/SEGPAR/microprocessors/sparcX%20(mpr).pdf UltraSparc Adds Multimedia Instructions (pdf)], Microprocessor Report, 5. desember [[1994]]</ref> Desimaltallprosessoren og grafikkprosessoren delte 32 stk 64-bit registre. ===9-trinns pipe ved heltallsberegninger=== {| class="wikitable" |- style="background:#efefef;" ! 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 av ''miss'' og ''hits'' i data-cachen. I trinn syv venter prosessoren på en ''pipe'' fra desimaltallsprosessoren og grafikk-enheten. I trinn åtte blir avbrudd håndtert. Og i det niende og siste trinnet skrives resultatet til minnet. ===4-trinns pipe for desimaltall- og grafikkenheten=== {| class="wikitable" |- style="background:#efefef;" ! 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). ===Hurtigminne=== 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. [[Fil:Sun Enterprise4500 Front.JPG|thumb|right|250px|Sun Enterprise 4500 Server kjørte opptil 14 stk UltraSPARC prosessorer i parallell]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon