SPARC64

**SPARC64** var en 64-biter mikroprosessor som ble utviklet av HAL Computer Systems og produsert av Fujitsu. SPARC64 var den første implementasjonen av spesifikasjonen SPARC Versjon 9. Den var også den første mikroprosessoren til HAL Computer Systems. SPARC64 ble formelt annonsert den 19. september 1995 og ble lansert i oktober samme år.

SPARC64 ble lansert i klokkefrekvenser på 101 og 118 MHz, med en ytelse på henholdsvis 181 SPECint92/212 SPECfp92 for 101 MHz utgaven og 212 SPECint92/271 SPECfp92 for 118 MHz utgaven. SPARC64 ble utelukkende benyttet i Fujitsu's egne arbeidsstasjoner Fujitsu HALstation Model 330 (101 MHz) og Fujitsu HALstation Model 350 (118 Mhz). 

I 1996 ble SPARC 64 erstattet av SPARC64 II.

Både SPARC64 og dens etterfølger SPARC64 II benyttet operativsystemet SPARC64/OS, en avart av UNIX SVR4, basert på Solaris 2.4. SPARC64/OS var den første 64-bit utvidelsen av Solaris, og det første operativsystemet som ble skapt for mikroprosessorer som er bygd etter versjon 9 av SPARC-spesifikasjonen.

SPARC64 var i likhet med UltraSPARC en superskalær mikroprosessor som kunne utføre fire instruksjoner per klokkepuls. SPARC64 bestod av syv ulike brikker: En brikke for mikroprosessoren, en brikke for MMU, fire brikker for hurtigminnet, og en brikke for klokken.

Totalt bestod SPARC64 av 21.9 millioner transistorer, fabrikkert av Fujitsu i deres CS-55 400 nanometers, fire lags CMOS-prosess. 

## Mikroprosessoren

Mikroprosessoren inneholdt de fleste logiske kretsene, og bestod av 2.7 millioner transistorer. Den hadde 817 pinner for signaler, og 1 695 pinner for håndtering av strømtilførsel og jording. Dens størrelse var 17.53 mm x 16.92 mm eller 297 mm².

Mikroprosessoren inneholdt alle de utførende enhetene, samt en 4 Kb nivå-0 instruksjons-cache, som var direkte-mappet med en latens på en klokkepuls. De utførende enhetene bestod av to heltalls-enheter, to enheter for henholdsvis LOAD og STORE, en *branch predictor* og to desimaltalls-enheter. Enheten for *branch prediction* hadde en *branch history table* med 1,024 «inngangsporter» til forskjellige utfall av betingede hopp. Den ene desimaltallsenheten var en såkalt *fused multiply add* (FMA) for utførelse av multiplikasjon og addisjon, og benyttet seg av *pipelining*. Den andre desimaltallsenheten ble benyttet til divisjon, og benyttet ikke *pipelining*.

Mikroprosessoren hadde 116 generelle registre, og fire register-filer.

Mikroprosessoren var tilknyttet MMU og Cache-RAM brikkene gjennom ti ulike 64-bit busser. Fire adressebusser overførte virtuelle adresser til hver av de fire cache-RAM brikkene. To databusser overførte data fra registerfilen til de to cache-RAM brikkene som utgjorde systemets data-cache. Fire busser overførte data og instruksjoner fra hver av de fire cache-RAM brikkene til mikroprosessoren.

## MMU
MMU-enheten hadde en størrelse på 163 mm². I tillegg til logikk for  minnehåndtering, inneholdt den en cache-kontroller og to busser mot eksterne enheter. En 128-bit buss ble brukt til å aksessere minnet, mens den såkalte HAL I/O-bussen var en 64-bit, asynkron buss mot periferienheter.

## Hurtigminne
Nivå-1 hurtigminne ble implementert med fire brikker: To stk 64 Kb-brikker for 128 Kb hurtigminne for instruksjoner og to stk 64 Kb-brikker for 128 Kb hurtigminne for data. Totalt bestod det av 4,3 millioner transistorer, med en størrelse på 14.0 mm x 10.11 mm, eller 142 mm². De fire brikkene hadde totalt 1,854 pinner, hvorav 446 ble brukt til signaler og 1,408 til strømtilførsel og jording.

## Multi-brikke modul
De syv enhetene var produsert som et rektangulært multi-brikke modul av keramikk, organisert i en PGA med 565 pinner, hvorav 286 var dedikert signaler, og 218 strømtilførselen.

## Referanser