Mine sisu juurde

SPARC

Allikas: Vikipeedia
Redaktsioon seisuga 19. november 2011, kell 01:06 kasutajalt Moment92 (arutelu | kaastöö)

SPARC (inglise Scalable Processor Architecture) on RISC instruktsioonidel põhinev protsessoriarhitektuur, mida arendab Sun Microsystems ning millega tuldi esmakordselt välja 1987. aasta keskpaigas. SPARC leiutati seoses Californias asuva Berkeley ülikooli uuringuga kärbitud käsustikuga arvutite (Reduced Instruction Set Computing) RISC kohta. Esimese SPARC arhitektuuril põhineva protsessori tootsid Sun ja Fujitsu 1986. aastal. Aasta hiljem tuli Sun välja esimese SPARC protsessorit kasutava arvutiga. 1989. aastal asutas Sun Microsystems mittetulundusühingu SPARC International, millele firma loovutas SPARC arhitektuuri omandiõigused. SPARC International tegeleb SPARC tehnoloogia haldamise ja litsenseerimisega. SPARC on avatud arhitektuur, mis tähendab seda, et SPARC tehnoloogia on avalik ning seda tüüpi protsessoreid tohivad toota kõik firmad, kes omavad SPARC litsentsi. SPARC protsessoreid kasutatakse põhiliselt Unix-põhiseid operatsioonisüsteeme kasutavates arvutites ning SPARC on alati olnud eriti tihedalt seotud Sun'i operatsioonisüsteemiga Solaris. [1] [2]

Tehnilised näitajad

SPARC 9, mis on hetkeseisuga kõige uuem SPARC versioon, kasutab lineaarset aadressiruumi ning 64-bitist adresseerimist. Protsessori põhilised andmetüübid on 32- ja 64-bitised täisarvud ning 32-, 64- ja 128-bitised ujuvkomaarvud. Protsessori instruktsioonid on kõik täpselt 32 biti suurused. SPARC protsessoril on kaks erinevat töörežiimi: priviligeeritud ning mittepriviligeeritud. Priviligeeritud režiimis saab protsessor käivitada kõiki olemasolevaid instruktsioone, mittepriviligeeritud režiimis aga mitte.

SPARC protsessoris on kaks põhilist üksust: täisarvuplokk (integer unit) ning ujuvkomaplokk (floating-point unit). Täisarvuploki juurde kuuluvad üldotstarbelised registrid ning see tegeleb lisaks täisarvude arvutamisele ka protsessori üldise juhtimisega. See arvutab ka mäluaadresse ning kontrollib ujuvkomaploki instruktsoonide käivitamist. Ujuvkomaplokk tegeleb ujuvkomaarvutustega. Selle juurde kuulub 32 32-bitist, 32 64-bitist ning 16 128-bitist registrit.

SPARC protsessoril on 2 tüüpi registreid: üldotstarbelised (general-purpose) ja kontroll/staatus registrid. Üldotstarbelised registrid on täisarvude tööregistrid (Integer working registers) ning ujuvkomaarvude tööregistrid (Floating-point working registers). Kontroll/staatus registreid on palju erinavaid ning igaüks neist täidab üsnagi spetsiifilist alaülesannet. Nende üldine eesmärk on aga kontrollida protsessori üldist toimimist erinevate seisundite ning lugejate (counter) kaudu. Kontroll/staatus registrite alla kuuluvad näiteks Program Counter register, Processor State register ja Floating-Point State Register. Osasid registreid on võimalik kasutada ainult priviligeeritud töörežiimis, kuid enamikule neist on olemas juurdepääs ka mittepriviligeeritud režiimis.

SPARC instruktsioonid on kodeeritud neljas erinevas variandis ning on jaotatud 11 kategooriasse. Kui protsessor loeb mälust instruktsiooni, siis on kolm võimalust: instruktsioon käivitatakse, nullitakse või tõkestatakse (trap). Protsessor valib järgmise käsu, mida käivitatakse, kasutades mälu aadressi, mis on kirjas programmi lugejas (program counter). Peale instruktsiooni käitmist suurendatakse automaatselt programmi loendurit, mille tulemusel käivitatakse juba järgmine instruktsioon. SPARC 9 instruktsioonid grupeeritakse järgnevalt: Memory access, Memory synchronization, Integer arithmetic, Control transfer, Conditional moves, Register window management, State register access, Privileged register access, Floating-point operate, Implementation-dependent ja Reserved instruktsioonid. [3]


Ajalugu

1986. aasta paiku tekkis paljudel arvuti originaalseadmete tootjatel (OEM) huvi arendada oma vahenditega protsessoreid. Põhjuseks oli suur sõltuvus Inteli ning Motorola protsessoritest. Teine oluline põhjus oli elektroonikakiipide tootmise märgatav odavnemine seoses sellega, et elektroonikatootjad vajasid oma investeeringute tagasiteenimiseks suuri tootmiskoguseid ning olid seetõttu välja mõelnud viisi, kuidas toota elektroonikakiipe, mis oleksid tootmise algfaasis standardsed ning erinevused tekiksid vaid viimastes tootmisettappides. See võimaldas arvutitootjatel osta odavalt kõrgtasemel elektroonikakiipe. Kolmas oluline põhjus, mis muutis protsessorite tootmise varasemast lihtsamaks, oli uuendusliku tarkvara kasutuselevõtt. Seoses CAD tarkvara kasutuselevõtuga tekkis võimalus digitaalloogikat disainida, simuleerida ning testida ilma seda reaalselt valmis ehitamata. See võimaldas keskenduda rohkem disainimisprotsessile ning põhjalikud teadmised tootmisprotsessist ei olnud enam nii olulised kui varem.

1986. aastal avaldatud Berkeley ülikooli kärbitud käsustikuga arvutite (Reduced Instruction Set Computing) (RISC) uuringu käigus leiutati SPARC protsessor. Juba 1987. aastal tuli Sun välja esimese SPARC protsessoril põhineva arvutiga nimega Sun-4. Järgnevatel aastatel kogus SPARC kiiresti populaarsust, eriti aga just arvutitel mis kasutavad UNIX-põhist operatsioonisüsteemi nagu Solaris, Linux või BSD. SPARC protsessoreid võeti laialdaselt kasutusele ka Sun, Solbourne ja Fujitsu SMP serverites.

1989. aastal asutati SPARC International, mille eesmärgiks sai SPARC arhitektuuri haldamine ja litsenseerimine ning tehnoloogia levitamine.

1993. aastal valmis SPARC versiooninumbriga 9, mida tuntakse ka kui SPARC64 ning mis kasutas 64-bitist adresseerimist. Toimunud on küll edasarendusi, kuid sisuliselt on SPARC 9 kasutusel tänaseni.

2005. aastal otsustas Sun avalikustada UltraSPARC T1 lähtekoodi avatud lähtekoodi kasutavale projektile (open source project) OpenSPARC. Praeguseks on olemas kolm täielikult avatud koodiga SPARC versiooni: LEON, 32-bitine ja ühelõimeline SPARC 8, OPENSPARC T1, 64-bitine ja 32-lõimeline SPARC 9 ning OpenSPARC T2, 64-bitine ja 64-lõimeline SPARC 9. [4]

SPARC Assembler

SPARC protsessoritele mõeldud programmid kompileeritakse SPARC Assembleri. x86 Assembler ja SPARC Assembler on aga piisavalt sarnased, et on enamasti võimalik konvertida ühest keelest teise.

Alljärgnev näide on Solarise operatsioonisüsteemile kirjutatud SPARC Assembleri programmist, mis prindib välja fraasi "Hello world!".

	.section	".text"
	.global		_start
_start:
	mov	4,%g1			! 4 is SYS_write
	mov	1,%o0			! 1 is stdout
	set	.msg,%o1		! pointer to buffer
	mov	(.msgend-.msg),%o2	! length
	ta	8

	mov	1,%g1			! 1 is SYS_exit
	clr	%o0			! return status is 0
	ta	8

.msg:
	.ascii	"Hello world!\n"
.msgend:

Käsku "mov" kasutatakse selleks, et tõsta midagi protsessori registrisse. Näiteks "mov 4,%g1" kirjutab registrisse g1 väärtuse 4. See tähistab süsteemi käsku "SYS_write". Seejärel kirjutatakse output registrisse väärtus 1, mis tähistab väljundit, peale seda kirjutatakse sõne "Hello world!" pointer output registrisse. Lisaks kirjutatakse sinna ka sõne pikkus ning seejärel käivitub süsteemikäsk write(). Peale seda lõpetatakse programmi tegevus sellega, et käivitatakse käsk exit(). [5]

Superarvuti

SPARC64 VIIfx protsessorit kasutatakse Fujitsu toodetud superarvutis nimega K computer, mida peetakse 2011. aasta novembri seisuga maailma kiireimaks arvutiks. K computer valmis Fujitsu ning Riken-i teadlaste koostöös 2011. aastal ning asub Jaapanis Rikeni instituudis. Arvuti kasutab 88128 2.0GHz 8-tuumalist SPARC64 VIIfx protsessorit ehk kokku kasutab arvuti 705024 tuuma.

K computer on saavutanud maksimaalseks kiiruseks 10.51 petaflopsi, mis on üle nelja korra kiirem kui eelmine rekordiomanik Hiina Tianhe-1A. Samas ei ole K computer veel täielikult valmis, arvatakse, et see saadakse täielikult töökorda 2012. aasta novembriks. [6]

Viited

  1. "SPARC International". sparc.org. Vaadatud 17. novembril 2010.
  2. "cpu-collection >> SPARC". cpu-collection.com. Vaadatud 17. novembril 2010.
  3. SPARC International, Inc. (1994), David L. Weaver; Tom Germond (toim-d), The SPARC Architecture Manual , Version 9 (PDF), PTR Prentice Hall, ISBN 0-13-825001-4
  4. "SPARC History". sparcproducthistory.com. Vaadatud 17. novembril 2010.
  5. "SPARC Assembler". dmr.ath.cx. Vaadatud 18. novembril 2010.
  6. "K Computer". fujitsu.com. Vaadatud 17. novembril 2010.