You are on page 1of 14

Projekat Intel IA-64 Itanium 2

Fakultet Informacionih tehnologija


Draško Gajić
Broj indeksa 318

Beograd, 23 Mart 2008.


Draško Gajić, Projekat Intel IA-64 Itanium 2

Sadržaj
Uvod......................................................................................................................................................3
Osnovne karakteristike EPIC arhitekture...........................................................................................4
Osnovne karakteristike procesora Intel IA-64 Itanium 2.......................................................................5
EPIC jezgro procesora Intel IA-64 Itanium 2......................................................................................5
Izvršavanje instrukcija u protočnom sistemu procesora....................................................................6
Blok dijagram.....................................................................................................................................6
Obrada instrukcija.................................................................................................................................7
Pribavljanje i rano pribavljanje instrukcija.........................................................................................7
Predviđanje grananja.........................................................................................................................7
Logika za raspoređivanje instrukcija..................................................................................................8
Izvršavanje instrukcija...........................................................................................................................8
FPU – Jedinica za rad u pokretnom zarezu........................................................................................8
Celobrojna logika...............................................................................................................................9
Registri...............................................................................................................................................9
Registri opšte namene...................................................................................................................9
Registri za operacije u pokretnom zarezu......................................................................................9
Registri predikata...........................................................................................................................9
Registri grananja..........................................................................................................................10
RSE – Register stack engine.............................................................................................................10
Upravljanje..........................................................................................................................................10
Memorijski podsistem.........................................................................................................................10
Koherentnost keša...........................................................................................................................11
IA-32 izvršavanje..............................................................................................................................11
Zastupljenost Intel IA-64 Itanium 2 procesora.................................................................................12
Oblast primene Intel IA-64 Itanium 2 procesora..............................................................................13
Primeri korišćenja Itanum 2 procesora u superkompjuterima....................................................13
Columbia System Facts................................................................................................................13

2
Draško Gajić, Projekat Intel IA-64 Itanium 2

Uvod
Procesor Itanium 2 je druga po redu implementacija Itanium ISA arhitekture. U ovom
mikroprocesoru su upotrebljeni koncepti EPIC (Explicit Parallel Instruction Computing) dizajna, sa
ciljem da se ostvari bolje funkcionisanje i povezanost hardvera i softvera. U ovom načinu dizajna,
interfejs između hardvera i softvera je dizajniran na način koji omogućava da softver koristi sve
informacije koje su mu na raspolaganju tokom kompajliranja i da ih na efikasan način prenese
hardveru.

Takođe, EPIC dizajn omogućava da se prevaziđu neke od pojava koje loše utiču na performanse u
modernim računarima. EPIC konstrukcije pružaju moćnu arhitekturalnu semantiku i omogućavaju
softveru da izvrši širok opseg optimizacija na globalnom nivou , te na taj način omogući da hardver
koristi ILP (paralelizam na nivou instrukcija). Hardver je sa svoje strane projektovan tako da ovaj ILP
iskoristi u punom obimu. Takođe, hardver je u mogućnosti da vrši dinamičke optimizacije tokom faze
izvođenja i na taj način omogući veoma brzo izvršavanje. Ova strategija povećava povezanost
hardvera i softvera pri radu i dovodi do boljih ukupnih performansi.

3
Draško Gajić, Projekat Intel IA-64 Itanium 2

Osnovne karakteristike EPIC arhitekture


Na slici su prikazan konceptualni prikaz EPIC hardvera. On ilustruje na koji su način različite
karakteristike EPIC seta instrukcija mapirane na mikroprotočne stepene u samom hardveru.

Jezgro mašine je izvršna jedinica, koja je dizajnirana na taj način da obezbedi veliku propusnost koju
EPIC kod sa visokim ILP-om zahteva prilikom spekulativnih i predikatskih operacija.
Kontrola izvršavanja je izvršena sa strukturom koja se naziva ALAT, treba da podrži spekulacije sa
podacima i u saradnji sa hardverom, što više smanji pojavu izuzetaka prilikom spekulativnog
izvršavanja. Hardversko upravljanje spekulacijama je veoma jednostavno:
dodavanje jednog bita na podatke ima za cilj lakše odbacivanje rezultata pogrešne spekulacije.

Operandi se učitavaju u jezgro mašine iz polja registara, koje i za registre opšte namene, i za FP
registre ima podršku za dinamičku dodjelu registara i rotaciju registara. Hardver za upravljanje
registrima je opremljen jedinicom Register Stack Engine koja vrši snimanje i restauriranje sadržaja
registara prilikom prekoračenja opsega u registarskom steku.

Mreža za raspoređivanje instrukcija puni protočni sistem. Ova mreža koristi eksplicitni paralelizam i
skupove instrukcija da bi efikasno dodelila pribavljene instrukcije na ispravne portove, eliminišući
složenu logiku za detekciju međuzavisnosti. Odvojeni sklopovi za pribavljanje instrukcija koriste
napredne tehnike ranog pribavljanja i tehnike za previđanje grananja da bi se osiguralo da
pribavljene instrukcije dođu sa korektne putanje i da se pribave dovoljno rano da se izbjegnu
slučajevi promašaja u kešu. Konačno, lokalnost memorije je iskorištena od strane keš podsistema za
unapređivanje postupaka pri alokaciji i izmeni podataka u kešu, što ima za rezultat bolje iskorišćenje
tri nivoa keša na čipu i veću propusnost memorijskog podsistema.

EPIC osobine omogućavaju softveru da efikasnije razmjenjuje semantičke informacije visokog nivoa
sa hardverom i na taj način eliminiše potrebu za redundantnim hardverom manje efikasnosti i
dovodi do efikasnijeg dizajna. Očigledno je da se u ovakvoj hardverskoj konstrukciji ne nalaze složene
strukture kao drugim procesorima iste namene. Rezervacione stanice, baferi preuređenja, i baferi
uređenja memorije su zamenjeni jednostavnijim hardverom za spekulacije. Tabele aliasa za registre
koje se inače koriste za preimenovanje registara zamenjene su jednostavnijim u semantički bogatijim

4
Draško Gajić, Projekat Intel IA-64 Itanium 2
hardverom za remapiranje registara. Skupa logika za detekciju međuzavisnosti registara eliminisana
je direktivama eksplicitnog paralelizma koje su preračunate od strane softvera.
Korištenjem EPIC konstrukcija, kompajler optimizuje kod u odnosu na mnoge faktore. Ovaj opseg
optimizacija umnogome prevazilazi opseg koji harver vidi u vidu nekoliko stotina instrukcija u sličnim
procesorima. Kao rezultat ovog procesa ima se EPIC mašina u kojoj uska saradnja hardvera i softvera
dovodi do visokih performansi sa većim stepenom ukupne efikasnosti.

Osnovne karakteristike procesora Intel IA-64 Itanium 2


Itanium 2 je opremljen protočnim sistemom sa 8 stepeni koji ima 6 paralelnih tokova instrukcija i koji
radi na 1 GHz ili na 900 MHz. Resursi procesora na ovaj način maksimalno koriste ILP i takt visoke
frekvencije za minimizaciju kašnjenja svake instrukcije. Izvršna jedinica procesora se sastoji od 6
jedinica za rad sa celobrojnim instrukcijama, 6 jedinica za multimedijalne instrukcije, po dve jedinice
za čitanje, odnosno upisivanje u memoriju, tri jedinice za grananja, četiri jedinice za rad u pokretnom
zarezu od kojih su dve u običnoj, a dve u proširenoj preciznosti. Hardver ima i jedinice za rano
učitavanje instrukcija, predviđanje grananja, neblokirajući keš i tzv scoreboard, koji se koristi za
minimizaciju hazarda zavisnosti po podacima. Minimiziranje ukupne latentnosti memorije postignuto
je upotrebom tri nivoa keš memorije na samom čipu procesora. Keš memorija trećeg nivoa L3 radi na
brzini jezgra, i ima kapacitet 3 MB ili 1,5 MB, te propusnost od čak 32 GB u jednom ciklusu. Sistemska
magistrala je dizajnirana za lako povezivanje više CPU i podržava 4 CPU po jednoj magistrali, pa se
Itanium 2 može koristiti za lako formiranje velikih sistema. Dobro izbalansirane performanse jezgra i
memorijskog podsistema pružaju visoke performanse za širok opseg primena, od komercijalnih
aplikacija do tehničkih proračuna visokih performansi.

EPIC jezgro procesora Intel IA-64 Itanium 2


Protočni sistem procesora Itanium 2 je 8-mo stepeni sa 6 paralelnih tokova instrukcija, i zasnovan je
na EPIC dizajnu. Na taj način se podaci upućuju na sledeće izvršne jedinice: 6 celoborojnih ALU, 6
ALU za multimediju, 2 FP jedinice u proširenoj preciznosti, 2 FP jedinice koje rade u običnoj
preciznosti, 2 jedinice za učitavanaja iz memorije (Load), 2 jedinice za upis u memoriju (Store), i 3
jedinice za grananja (Branch). Moguće je izvršavanje 6 instrukcija, ili 2 grupe instrukcija, u jednom
ciklusu.
Jedna grupa instrukcija sadrži tri instrukcije i indikator “template”, koji je dodijeljen od strane
kompajlera. Svaka instrukcija iz grupe raspoređuje se na jedan od 6 paralelnih protočnih stepeni, na
osnovu svog tipa. Na slici su prikazani tipični primeri instrukcija u naučnim, odnosno komercijalnim
aplikacijama.

5
Draško Gajić, Projekat Intel IA-64 Itanium 2
Izvršavanje instrukcija u protočnom sistemu procesora
Hardver procesora je organizovan u 8-mo stepeni protočni sistem prikazan na sledećoj slici, koji
može paralelno da izvršava do 6 instrukcija.

Prva dva stepena u protočnom sistemu vrše pribavljanje instrukcija i šalju ih u bafer za razdvajanje u
ROT stepenu koji omogućava da front-end deo sistema radi nezavisno od backend dela. Linija
između dva dela protočnog sistema pokazuje tačku razdvajanja.
Raspoređivanje instrukcija i mapiranje registara se obavlja u naredne dve faze, EXP (expand) i REG
(register rename). Pribavljanje operanada se vrši u REG fazi, kada se vrši pristupanje registrima i
podacima posle procesiranja kontrole predikata. Konačno, u poslednja tri stepena se vrši paralelno
izvršavanje nakon kojeg se vrši upravljanje izuzecima i memorisanje rezultata. Specijalno, DET stepen
vrši određivanje grananja, obezbjeđuje podršku za spekulacije i upravlja eventualnim izuzecima
nastalim u komunikaciji sa memorijom.

Blok dijagram
Na narednoj slici prikazan je blok dijagram procesora Itanium 2. Funkcije procesora su podijeljene u
pet grupa, od kojih je svaka detaljno opisana u narednom tekstu.

1. Instruction processing – obrada instrukcija


6
Draško Gajić, Projekat Intel IA-64 Itanium 2
Blok za obradu instrukcija sadrži logiku za rano pribavljanje instrukcija, pribavljanje instrukcija, L1 keš
za instrukcije, predviđanje grananja, generisanje adresa, bafere za instrukcije, dodelu i
raspoređivanje instrukcija.
2. Execution – izvršavanje instrukcija
Blok za izvršavanje instrukcija sastoji se od logike za multimediju, celobrojne ALU, FP logike, bloka
celobrojnih registara, bloka FP registara i L1 keša za podatke.
3. Control – Upravljačka jedinica
Upravljačka jedinica sastoji se od bloka za obradu izuzetaka – exceptions, bloka za upravljanje
protočnim stepenom, te RSE (Register Stack Engine) – bloka za upravljanje registrima
4. Memory subsystem – Memorijski podsistem
Memorijski podsistem sastoji se od jedinstvenog L2 keša, L3 keša, PIC – programabilnog kontrolera
prekida, TLB bafera za instrukcije i podatke, ALAT – tabele za učitavanje adresa i logike za
komunikaciju sa sistemskom magistralom.
5. IA-32 compatibility execution engine – Blok za izvršavanje IA-32 instrukcija
Ovaj blok vrši pribavljanje, dekodiranje i pripremu za izvršavanje IA-32 instrukcija.

Obrada instrukcija
Pribavljanje i rano pribavljanje instrukcija
Itanium 2 vrši rano pribavljanje instrukcija iz protočnog keša u bafer za raspoređivanje na osnovu
spekulacija. Pri tome se koristi napredna strategija predviđanja grananja i nagovještaji od strane
kompajlera. Jedinica za sekvenciranje instrukcija vrši pribavljanje instrukcija i njihovo raspoređivanje
na izvršne jedinice. Jedinica za generisanje adrese instrukcije bira naredni IP, koji se bira kao jedna
od: sledeće adrese u sekvenci, statički i dinamički predviđenih adresa grananja, adrese instrukcije
koja je pribavljena od strane logike za kompatibilnost, potvrđene mete grananja, adrese koja vrši
korekciju pogrešnog grananja ili adresa procedure za obradu izuzetaka.

U jednom ciklusu se učitavaju dve grupe instrukcija (od kojih svaka grupa sadrži po 3 instrukcije) iz L1
keša instrukcija (L1I) i smeštaju se u bafere instrukcija. Baferi instrukcija čuvaju grupe instrukcija koje
čekaju da budu raspoređene u izvršne jedinice. Da bi se minimizovali efekti grešaka pogrešnog
predviđanja grananja uzrokovanih promašajima u keš, grupe instrukcija učitane iz bafera instrukcija
se šalju u logiku za dodelu instrukcija u zavisnosti od raspoloživih resursa za izvršavanje.

Predviđanje grananja
Logika za predviđanje grananja koristi napredne šeme predviđanja za određivanje pravac i metu
svakog grananja koje se učitava iz keša instrukcija. Kad god dođe do grananja, meta za grananje će
biti upućena ka logici za određivanje pokazivača instrukcije.

Logika za rano pribavljanje instrukcija služi kao interfejs između L1I i L2 keša. Ona pribavlja
instrukcije iz L2 pre nego što su one potrebne, sa ciljem da se preduhitre promašaji L1I keša.

Rano pribavljanje se vrši pod kontrolom kompajlera. Ako ipak dođe do promašaja u L1i kešu,
zaustavlja se logika za generisanje adrese i vrši se pribavljanje informacija iz L2 keša. Ako se
instrukcija ne nalazi u L2 kešu, nastavlja se sa proverom L3 keša.

7
Draško Gajić, Projekat Intel IA-64 Itanium 2

Logika za raspoređivanje instrukcija


Instrukcije mogu da budu grupisane na 12 različitih načina. U jednoj grupi se nalaze 3 instrukcije, a
procesor može da obrađuje 2 grupe, tj. 6 instrukcija u jednom ciklusu. Logika za raspoređivanje šalje
svaku instrukciju na jednu od protočnih funkcionalnih jedinica preko svojih portova za dodelu.

Bafer instrukcija može da sadrži do 8 grupa instrukcija, i u svakom ciklusu može da prosledi 2 grupe
instrukcija ka logici za raspoređivanje. U opštem slučaju, instrukcije se šalju odgovarajućem portu za
izvršavanje koji je slobodan u datom trenutku.

Izvršavanje instrukcija
Izvršna jedinica se sastoji od 6 jedinica za multimediju, 6 jedinica za rad sa celim brojevima, 2 FP
jedinice, 3 jedinice za grananja i 4 jedinice za učitavanje/upis u memoriju. Itanium 2 ima registre
opšte namene i FP registre koji se koriste tokom obrade. Učitavanja celobrojnih podataka se vrše
preko L1 keša, dok se memorisanja celobrojnih obavljaju pomoću L2 keša.

Učitavanja i memorisanja FP podataka se obavljaju pomoću L2 keša. Kad god se podatak zatraži iz L1
keša, šalje se i spekulativni zahtev u L2 keš.

Jedinice za multimedijalne instrukcije posmatraju 64-bitne podatke kao 2 x 32-bitne, 4 x 16-bitne ili 8
x 8-bitne pakovane podatke. Na pakovanim ili SIMD podacima mogu da se izvršavaju tri klase
aritmetičkih operacija: aritmetičke, operacije pomjeranja ili raspoređivanje podataka. Jedinice za
celobrojne operacje podržavaju do 6 nepakovanih operacija iz klase celobrojne aritmetike ili logičkih
operacija. U svakom ciklusu može se izvršiti do 6 celobrojnih ili multimedijalnih operacija.

FPU – Jedinica za rad u pokretnom zarezu


FPU procesora Itanium 2 sastoji se od 4-stepenog protočnog stepena. Ova jedinica ima logiku koja
omogućava brzo prosleđivanje podataka iz svakog stepena ovog protočnog sistema na stepen za upis
rezultata. Takođe, FP logika sadrži FMAC jedinicu (Floating Point Multiply Accumulate), logiku za brzo
zaokruživanje i podršku za SIMD formate. Procesor Itanium 2 može da izvršava do 2 FP instrukcije ili
2 celobrojna množenja plus 2 FP učitavanja i 2 FP memorisanja (ili 4 FP učitavanja) u svakom
taktnom intervalu. Numerički operandi se provjeravaju pre nego što instrukcija uđe u FP protočni
sistem. Rezultati se upisuju na izlazu iz protočnog sistema.

8
Draško Gajić, Projekat Intel IA-64 Itanium 2

Celobrojna logika
Šest jedinica za celobrojne operacije izvršavaju instrukcije za 64-bitne aritmetičke, logičke, operacije
pomeranja i manupulacije bitom. Nadalje, one mogu da izvršavaju instrukcije kojima se ubrzavaju
operacije nad 32-bitnim pokazivačima. Ostale operacije uključuju izračunavanje predikata, linearnih
adresa i generisanje statusnih bita za IA-32 jedinicu.

Celobrojna logika se sastoji od 6 ALU opšte namene, te dva porta za učitavanje i dva za memorisanje.
Sve ALU imaju mogućnosti brzog zaobilaženja pojedinih stepeni.

Registri
Jedna od osnovnih karakteristika IA-64 ISA arhitekture je i veliki broj registara. Veliki broj registara
omogućava da se mnoge operacije izvrše bez čitanja iz memorije ili upisa u memoriju. Osnovni skup
registara sastoji se iz:

• 128 registara opšte namene


• 128 FP registara
• 64 registra predikata
• 8 registara za grananja

Registri opšte namene


Skup od 128 64-bitnih registara opšte namene je osnovni resurs za sva izračunavanja sa celobrojnim
podacima, uključujući i celobrojne multimedijalne instrukcije. Imaju oznake od GR0 do GR127, i
mogu ih koristiti svi programi na svim nivoima privilegija.

Registri opšte namene su podeljeni na dva podskupa. Statički registri opšte namene su registri od 0
do 31. Među njima, GR0 je poseban na taj način da uvek kada je referenciran kao operand vraća
vrednost 0, dok pokušaj upisivanja u GR0 dovodi do greške Illegal Operation. Registri opšte namene
od 32 do 127 se nazivaju stacked – magacinski. Oni se stavljaju na raspolaganje programu na taj
način da se formira registarski prozor koji se sastoji od programabilnog broja lokalnih i izlaznih
registara.

Registri za operacije u pokretnom zarezu


Za računanja u pokretnom zarezu koristi se skup od 128 registara, koji su 82-bitni. Označeni su sa FR0
do FR127 i dostupni su za sve programe na svim nivoima privilegija.
Registri FR0 do FR31 su takođe statički registri, dok su registri od 32 do 127 rotirajući registri.
Registar FR0 uvek vraća +0.0 kada se koristi kao operand, dok registar FR1 uvek vraća +1.0 pri
referenciranju. Ako se u FR0 ili FR1 pokuša upisati vrednost, doći će do greške.

Registri predikata
Ovi registri su 1-bitni i ima ih 64. Koriste se za čuvanje rezultata pri operacijama poređenja.
Označavaju se sa PR0 do PR63 i mogu ih koristiti svi programi. Služe za uslovno izvršavanje
instrukcija.

I predikatni registri su podijeljeni u dve grupe. Statički registri predikata su registri od PR0 do PR15,
pri čemu je PR0 uvek “1”, a u njega se ne može vršiti upis. Statički registri predikata se koriste i
prilikom uslovnih grananja.

Registri predikata PR16 do PR63 spadaju u grupu rotirajućih registara predikata. Ovi registri služe kao
podrška prilikom petlji sofrverske protočnosti.

9
Draško Gajić, Projekat Intel IA-64 Itanium 2
Registri grananja
Informacije o grananjima sadržane su u 8 64-bitnih registara grananja. Ovi registri se koriste za
određivanje adrese mete grananja za indirektna grananja. Oni su označeni sa BR0 do BR7, i mogu ih
koristiti svi programi.

RSE – Register stack engine


Tradicionalna metoda čuvanja i restauriranja sadržaja registara izbegava se u Itanium ISA arhitekturi
uz pomoć velikog broja registara, korištenjem registarskih prozora i deljenjem promjenljivih između
procedura preko registara.

Prilikom poziva procedure, toj proceduri se dodjeljuje novi skup registara, bez potrebe da se prazne
registri pozivajuće procedure. Podaci ostaju u ovim registrima sve dok postoji dovoljno registara za
dodjeljivanje. Kada broj potrebnih registara prekorači fizički kapacitet, RSE, koji radi na bazi stanja, će
snimiti u memoriju stanje registara sa ciljem da se oslobode neophodni registri koji su potrebni za
opsluživanje slijedećeg poziva. Na taj način RSE održava privid da postoji beskonačan broj registara.

Prilikom povratka iz procedure, potrebni registri se restauriraju na one vrednosti koje koristi pozivna
procedura. Često se povratak iz procedure desi čak i pre nego što se pojavi potreba za snimanjem
registara, pa tada nije neophodno njihovo snimanje. U slučaju da je RSE snimio neke od registara
pozivne procedure, procesor će pričekati sa povratkom iz pozvane procedure sve dok RSE ne
restaurira odgovarajući broj registara pozivne procedure.

Upravljanje
Upravljačka jedinica se sastoji od kontrole protočnog sistema i logike za obradu izuzetaka –
exception handler. Kontroler protočnog sistema sadrži tabelu stanja-scoreboard, da bi detektovao
zavisnosti između registara i keš za podršku spekulacija sa podacima. Mašina će se zaustaviti samo
onda kada izvorišni - source operandi nisu dostupni. Kontroler protočnog sistema podržava
predikaciju preko registara predikata. Takođe, jedinica za upravljanje protočnim sistemom sadrži
jedinicu za nadgledanje performansi kojom se vrši analiza performansi sistema.

Memorijski podsistem
Glavnoj memoriji sistema se pristupa preko 128-bitne sistemske magistrale, kao na slici.

Sistemska matistrala je transaction-oriented i ona je protočna na isti način kao i glavna magistrala
Itanium 2 procesora. Memorijski podsistem Itanium 2 procesora sastoji se od interfejsa na
magistralu, L1D keša, L2 keša, L3 keša, kontrolera prekida, ALAT i TLB.

10
Draško Gajić, Projekat Intel IA-64 Itanium 2
L1, L2 i L3 keš je neblokirajućeg tipa. Razdvojeni su keš za instrukcije L1I, kapaciteta 16 KB i keš za
podatke L1D, kapaciteta takođe 16 KB. Radi se o set-asocijativnim keš memorijama kojima se
pristupa kao 64-bitnim podacima. Karakteristika L1D keša je da se u njega mogu smeštati samo
celobrojni podaci. L1I keš je potpuno protočan, dok je L1D write-through tipa.

L2 keš je jedinstven, i može sadržati i instrukcije i podatke. Kapacitet mu je 256 KB, i radi se o set-
asocijativnoj memoriji kojoj se pristupa preko linija od 128 bita. L2 keš ima zadatak da, osim
funkcionisanja u slučaju promašaja L1D i L1I keša, se koristi u toku svih FP pristupa memoriji, a
takođe i sve operacije sa semaforima se obrađuju upotrebom L2 keša.

L3 keš ovog mikroprocesora ima kapacitet 1.5 MB ili 3 MB. Radi se o jednoportnom kešu koji je fizički
indeksiran i set asocijativnog tipa.
Integrisani kontroler vanjsih prekida povezan je sa sistemskom magistralom i vrši prem svih vanjskih i
internih prekida preko svoje lokacije mapirane u memoriji.

ALAT (Advanced Load Address Table) je keš struktura koja se koristi za omogućavanje spekulacija sa
podacima u procesoru Itanium 2. ALAT čuva informacije o spekulativnim čitanjima podataka od
strane mašine, te svim upisima podataka koji su povezani sa ovim čitanjima. Ova struktura ima 32
ulaza, i radi se o potpuno asocijativnom polju koja u jednom ciklusu može da obavi 2 učitavanja i 2
upisa.

Itanium 2 ima i dve vrste TLB-ova: TLB za podatke – DTLB i TLB za instrukcije – ITLB.
Oba TLB-a su sa dva nivoa, pri čemu samo L1D keš zavisi i od L1 DTLB i od L2 DTLB.
Smeštanja podataka i zahtevi za L2/L3 kešom su zasnovani samo na saradnji sa L2 DTLB.

DTLB1 vrši translaciju virtuelne u fizičku adresu za transakcije u L1 keš, ima dva porta za čitanje i
jedan za upis, potpuno je asocijativan i ima 32 stavke. DTLB2 vrši translacije virtuelnih adresa u
fizičke za referenciranje podataka tokom snimanja, i vrši proveru zaštite tokom čitanja. Ima 128 ulaza
i takođe je poptuno asocijativan.

ITLB1 je odgovoran za translacije virtuelnih u fizičke adrese prilikom referenciranja instrukcija u L1I
kešu. ITLB2 se koristi prilikom translacija virtuelnih u fizičke adrese prilikom referenciranja memorije
koja promaše ITLB1. Ostale karakteristike za ITLB su slične onima kod DTLB.

Koherentnost keša
Sistem keša sa tri nivoa omogućava postizanje konzistentnosti podataka u različitim nivoima keša.
Svaki pristup memorijskoj adresi koji treba da izvrši čitanje, uvek mora da sa te adrese očita
najažurniji podatak. Pošto je L1 write-through tipa, on mora da ima bit ispravnosti, koji vrši indikaciju
da li je ta linija podatka u kešu validna. Koherencija podataka u L2 i L3 kešu ostvaruje se preko MESI
protokola.

IA-32 izvršavanje
Itanium omogućava izvršavanje IA-32 aplikacija. Ovo uključuje pokretanje IA-32 i Itaniumbaziranih
aplikacija na operativnom sistemu koji je prilagođen Itanium arhitekturi, i u jednoprocesorskoj i u
višeprocesorskoj konfiguraciji. IA-32 izvršna jedinica je dizajnirana na taj način da koristi registre, keš
i resurse za izvršavanje EPIC mašine. Da bi se ostvarile visoke performanse, IA-32 izvršna jedinica vrši
dinamičko raspoređivanje instrukcija.

11
Draško Gajić, Projekat Intel IA-64 Itanium 2

Zastupljenost Intel IA-64 Itanium 2 procesora


Itanium 2 je procesor relativno nove generacije njegova zastupljenost je prikazana na grafikonima.

12
Draško Gajić, Projekat Intel IA-64 Itanium 2
Oblast primene Intel IA-64 Itanium 2 procesora
Najveći procenat primene Itanium 2 procesora se koristi u sledećeim oblastima:
 Industriji
 Istraživanju
 Univerzitetima i Akademijama
 Državnim službama

Primeri korišćenja Itanum 2 procesora u superkompjuterima


Projekat Columbia je jedna od najvećih implementacija koja je urađena u NASA istraživačkom centru
za Istraživanje vasione i analize klimatskih promena, implementaciju je uradila firma Silicon Graphics.

Columbia System Facts


Nodes Type Speed Cache
11 Altix 3700 (512 cores) Madison 1.5 GHz 6MB
3 Altix 3700-BX2 (512 cores) Madison 1.5 GHz 6MB
5 Altix 3700-BX2 (512 cores) Madison 1.6 GHz 9MB
1 Altix 4700 (512 cores) Montecito 1.6 GHz 9MB
1 Altix 4700 (2048 cores) Montecito 1.6 GHz 9MB
2 Altix 4700 (1024 cores) Montvale 1.6 GHz 9MB
23 Total Compute Nodes (14,336 Total Cores)

System Architecture
 304 compute node cabinets
 87.24 teraflop/s theoretical peak (Original 10,240 system - 63 Tflop/s)

13
Draško Gajić, Projekat Intel IA-64 Itanium 2

Subsystems
 2 Data Life Cycle (DLM) systems
 3 front-end nodes

Memory
 Type - double data rate synchronous dynamic random access memory (DDR SDRAM)
 Per Processor (core) - 2GB
 Total Memory - 1,280GB

Interconnects
 NUMALink interconnected single-system image compute nodes
 Internode
o InfiniBand - 4x (Single Data Rate, Double Data Rate)
o 10Gb Ethernet LAN/WAN interconnect
o 1Gb Ethernet LAN/WAN interconnect

Storage
 Online - DataDirect Networks & LSI RAID, 1PB (raw)
o 3 SGI CXFS domains
o Local SGI XFS fileystems
 Archival - Attached to high-end computing SGI CXFS SAN filesystem

Operating Environment
 Operating system - SUSE Linux Enterprise
 Job Scheduler - PBS
 Compilers - Intel Fortran, C, SGI MPI

14

You might also like