| Hardver | Procesori | Intel Core i7 4770K
Procesori

Intel Core i7 4770K

Haswell pod lupom deo 2

 

Novi setovi instrukcija

 

AVX2 predstavlja set instrukcija za rad sa pakovanim celim brojevima, odnosno sa celobrojnim vektorima, slično kao MMX, sa razlikom što AVX2 radi sa 256 bitnim vektorima, a MMX sa 64 bitnim, dok integer SSE radi sa 128-bitnim. Dakle, razlika je u tome štu u niz od 256-bita, odnosno 32 bajta, staje ukupno 8 pakovanih podataka od po 4 bajta. Instrukcije za manipulaciju bitovima su korisne za kompresovane baze podataka, hešing, aritmetiku velikih brojeva, kao i razne druge potrebe.

 

bitmanip

 

Gather instrukcija se koristi za vektorizovane nizove sa nesusednim elementima. Any-to-any permutiacije su veoma korisne za shuffling operacije. Haswell ima podršku za DWORD (16-bita) i QWORD (32-bita) granularnost, koju može da permutuje kroz celokupan 256-bitni registar. Do sada se koristila PSHUFB instrukcija unutar SSE4 seta za operacije permutovanja, koja je radila naravno, isključivo nad 128-bitnim SSE registrima. AVX2 donosi ekstenziju koja to isto radi, ali sa većim brojem pakovanih brojeva.

 

vec2vecshift

 

shuffling

 

Prema Intelu, ovo su ključne instrukcije za vektorizovanje petlji, sa varijabilnim pomeranjima bitova (bitshifts). Radi DWORD-ovima i QWORD-ovima.

 

fma3

 

VFMADDxxxPS/PD predstavlja instrukciju za rad sa pakovanim vekotorom nad podacima jednostruke preciznosti (32-bita FP) ili dvostruke preciznosti (64-bita DP). Naravno, tu su varijacije na tu operaciju gde je moguće horizontalno sabiranje, oduzimanje, množenje i deljenje vektora. Takođe VFMADDxxxSD/SS predstavlja instrukcije za rad sa skalarnim nizovima FP podataka, takođe jednostruke ili dvosruke preciznosti. Registri koje koriste FMA3 instrukcije poznati su sa AMD Piledriver procesora i iznose 256-bita.

TSX – Transactional Synchronization Extensions predstavljaju instrukcije za kontrolu deljenih memorijskih resursa za multithreadovane aplikacije koje koriste mehanizme „zaključavanja“. TSX sadrži set instrukcija koji dozvoljava programerima da odrede regije koda za transakcionu sinhronizaciju. Ovo bi u praksi trebalo da bolje zaposli sva raspoloživa jezgra i threadove. Zbog Amdahalovog zakona to baš nije tako jednostavno, barem ne u određenim uslovima. Tredovi i jezgra moraju da rade nad deljenim podacima, a velika je verovatnoća da transakcija koju obavlja jedan thread je atomska, što znači da ne može da se pristupi od strane drugog threada deljenoj promenljivoj, odnosno podatku, jer u protivnom to utiče na tačnost rezultata izračunavanja. Previše pristupanja transakcija deljenim promenljivama koje su pod „katancem“ rezultuje lošim skaliranjem performansi u multithread/multicore okruženju. U praksi je to obično rad sa bazama podataka konkretno transakciona obrada, store procedure itd…

TSX instrukcije proširuju x86 instrukcijski set sa dva nova interfejsa: HLE i RTM. RTM je Restricted Transactional Memory, koristi naredbe Xbegin i Xend koje omogućuju developerima da markiraju početak i kraj kritične sekcije. Procesor tretira ovo parče markiranog programskog koda kao atomsku transakciju. Kada se završi ovakva transakcija, tada se promenljive unutar nje oslobađaju. Do sada je ovo bilo rešavano na nivou softvera, odnosno programiranja same baze podataka. Xbegin određuje početak odeljka koji treba ponoviti ukoliko dođe do prekida transakcije, a Xend određuje kraj tog odeljka. Ukoliko sve prođe kako treba i bez ijednog „zaključavanja“ varijabli, transakcija se potvrđuje. U slučaju da je transakcija prekinuta ili je zbog nekog drugog razloga došlo do greške, procesor izvršava rezervnu varijantu gde su promenljive zaključane. Ovime se ubrzava multithreadovan pristup bazama podataka.

 

HLE benefit T

 

HLE – Hardware Lock Elision ide još jedan korak dalje. Ideja da se ukinu katanci i da se cela priča oko konzistentnosti podataka prepusti hardveru u procesoru je osnovni pokretač ove ideje. Konkretno, HLE kao i RTM radi potpuno istu stvar, ali za razliku od RTM-a, HLE koristi softversku biblioteku kojom se omogućuje veća konkurentnost pri izvršavanju transakcija, a bez gubljenja komparibilnosti sa ranijim kodom.

TSX instrukcije koriste L1-Data keš za baferisane upise, sve dok nije potrebno uraditi rollback neke transakcije. Postoje specijalni slučajevi gde HLE/RTM neće raditi. CPU vrši tzv. „fine grain lock“ koje je bazirano na veličini L1 data keš linije, koja iznosi 64 bajtova. Keš linija ima ukupno 512, što daje 32K L1 data keša. Kvaka je u tome što je moguć samo jedan „lock tag“ po keš liniji, što je ukupno 512 „lock“ tagova za ceo CPU. Više od jednog „lock-a“ po keš liniji uzrokuje da se HLE/RTM interfejsi ne koriste.

TSX kod mora biti pozicioniran u L1 kešu. Ako parče kritičnog koda traži „katanac“ nad varijablom iz više od 8 keš linija iz istog seta, HLE takođe neće raditi, jer je L1 keš 8-way asocijativan.

TSX je podržan od strane GCC v4.8, kao i od Visual Studia 2012 i naravno Intelovog C++ kompajlera v13. Implementacijom TSX instrukcija u Haswell mikroarhitekturu Intel očigledno ima za cilj afirmaciju ovog jezgra u Xeon procesore naredne generacije.

 

Ring-Bus/L3 i sistemska arhitektura

 

Za interkonekciju sa sistemskim agentom koristi se identična arhitektura kao i kod Sandy Bridge platforme. U pitanju je Ring Bus, o kojem smo detaljno pisali prilikom opisivanja Sandy Bridge mikroarhitekture.

 

uncore T

 

Kao i SB/IB, Haswell-ov L3 keš je keš memorija relativno niske latencije u poređenju sa onim iz AMD-a. Frekvencija L3 keša zavsi od frekvencije Ring Busa, a ona se sada može razlikovati od frekvencije jezgara. Kod SB/IB Ringbus i L3 su radili na brzini procesora, dok kod Haswell-a i dalje rade na brzini procesora, ali po potrebi mogu obarati brzinu radi uštede energije. Dakle, L3 može da radi i brže od procesora ako ga overklokujete, ali i ne mora. Brzina transfera iz L3 keša ka jezgrima iznosi 32 bajta po ciklusu, odnosno 256-bita, koliko je ujedno i širina Ring Bus magistrale.

 

integratedVRM T

 

Haswell koristi LGA1150 socket koji nije kompatibilan sa prethodnom generacijom baziranom na Sandy Bridge i Ivy Bridge jezgru. Iako koriste identian DMI interfejs za povezivanje sa matičnom pločom, Haswell ima u sebi integrisan PWM kontroler za regulaciju napona. Ipak, i dalje je na matičnoj ploči neophodan regulator napona. Fancy naziv za ovo je FIVR – Fully Integrated Voltage Regulator. Dakle, šta je FIVR? Regulator napona sadrži nekoliko osnovnih komponenti: PWM (pulse with modulation) IC – integralno kolo, zatim drajvere za svaku fazu, kao i tranzistore koji se koriste kao switching komponente (MOSFET) i na kraju elektroliti i prigušnice koji služe za „peglanje“ napona. Filter napona je gotovo nemoguće implementirati na jezgro procesora. Elektroliti su izvedeni putem „thin-film“ tehnologije.

 

thinFilm T powerCell T

 

Intel koristi 20 ćelija za svoj FIVR dizajn. Svaka od ovih ćelija može da podrži 16 faza gde je svaka u mogućnosti da isporuči do 25A struje. Svaka od ovih naponskih faza ima po jedan par low i up side MOSFET-a.

 

masterControl T

 

Kontrola napona je digitalna i izvodi se preko glavnog kontrolnog bloka. Kontrola preko njega je digitalna iako su PWM-ovi analogni. Intel tvrdi da je ovako koncipirana naponska jedinica sa integrisanim VRM-om efikasnija od standardnih digitalnih i da iznosi oko 80%, međutim postoje matične ploče sa standardnim naponskim jedinicama koje daju jednako dobru efikasnost.

 

vripple T

 

Ipak, možda najveći dobitak je u veoma preciznoj regulaciji napona, gde ripple iznosi impresivnih 2mV.

 

Prošireni GPU

 

Haswell-ov GPU koristi praktično identičnu arhitekturu kao i onaj u Ivy Bridge-u. U pitanju je samo nadogradnja već postojeće arhitekture, koja je predstavljala svojevrstan grafički „tock“ i o kojoj smo detaljno pisali kada smo radili opis Ivy Bridge procesora.

 

haswellgpu T gpu block T

 

Haswell-ov GPU isporučivaće se u tri varijante: GT1, GT2 i GT3. GT3 bi trebalo da sadrži dvostruko veći broj izvršnih jedinica nego GT2. GT2 koji je implementiran u testiranom i7 4770K sadrži ukupno 20 EU.

Na nivou shader-a Haswell je razdvojen na dve celine: slice-common i sub-slice. Slice-common kod Haswell-a je deljen sa sub-slice-ovima, koji su duplirani u odnosu na Ivy Bridge koji sadrže izvršne jedinice, instrukcijski i teksturni keš.

 

videocodec T

 

Quicksync engine je uznapredovao po pitanju kvaliteta slike. Uvedena je hardverska podrška za SVC – Scalable Video Encoding koji služi da se od jednog kvalitetnijeg video streama naprave drugi lošijeg kvaliteta. Tu se nalazi i hardverski JPEG i MPEG2 enkoder, kao i nativna podrška za 4K video playback.

 

Ivan Vujić

Software, storage, network etc editor @ AXE
Database migration @ RC ETF

Dodaj komentar

Kliknite ovde da biste poslali komentar