Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 10
  • Intel Sandy Bridge procesori - sve tajne. Pet generacija Core i7: od Sandy Bridgea do Skylakea

Intel Sandy Bridge procesori - sve tajne. Pet generacija Core i7: od Sandy Bridgea do Skylakea

“, objavljen prije otprilike godinu dana, razgovarali smo o Nehalem mikroarhitekturi, koja je zamijenila Core krajem 2008. godine. Ovaj pregled će se fokusirati na arhitekturu Sandy Bridge, koja bi trebala u potpunosti zamijeniti Nehalem u vrlo bliskoj budućnosti.

Do danas su čipovi bazirani na Sandy Bridgeu zastupljeni u svim linijama Intel procesora, uključujući server Xeon, desktop i mobilni Core i3/35/i7, Pentium i Celeron i "ekstremni" Core i7 Extreme. Neposredno prije objavljivanja ovog članka, 22. maja 2011. godine, predstavljeno je još sedam novih procesora baziranih na Sandy Bridgeu.

Koje su osnovne razlike između Sandy Bridgea i Nehalema i koje su karakteristike i prednosti nove Intelove mikroarhitekture? Ukratko, ove razlike su sljedeće: ažurirano grafičko jezgro kao dio "sistemskog agenta" nalazi se na istom čipu kao i računarski, novi bafer L0 mikroinstrukcija, zajednička L3 keš memorija, nadograđena Turbo Boost tehnologija, Dostupni su prošireni SIMD AVX set instrukcija i redizajnirani dvokanalni DDR3 1333 MHz RAM kontroler. . Uz novu arhitekturu, pojavio se i novi LGA 1155 procesorski socket.

Jedna od glavnih dizajnerskih razlika između Sandy Bridgea i Nehalema je postavljanje računarskih jezgara i sjevernog mosta (sistemskog agenta) na istom čipu. Podsjetimo da su u Nehalemu sam CPU i sjeverni most bili smješteni pod zajedničkim poklopcem, ali su zapravo bili postavljeni na neovisne čipove, koji su, osim toga, napravljeni prema različitim tehnološkim standardima: CPU - na 32nm, a sjeverni most - na 45nm . U Sandy Bridgeu, ovo je jedna matrica, napravljena po 32-nm procesnoj tehnologiji, na kojoj se nalaze računarska jezgra, grafičko jezgro, RAM kontroleri, PCI Express, napajanje (Power Control Unit, PCU) i video izlaz jedinica.

Novi set SIMD instrukcija u Sandy Bridge čipovima naziva se AVX - Advanced Vector Extensions, odnosno "proširene vektorske instrukcije". Zapravo, ovo je sljedeća generacija SIMD instrukcija (Single Instruction, Multiple Data - "single istruction stream, multiple data stream" SSE5, alternativa x86 skupu koji je razvio AMD. Širina XMM registara u AVX instrukcijama je udvostručena od 128 do 256 bita, 12 novih 4-operandnih instrukcija Podržava tehnologiju hardverske enkripcije Advanced Encryption Standard (AES) i virtuelizirani sistem proširenja virtuelnih mašina (VMX).

Uprkos sličnom dizajnu, Sandy Bridge čipovi imaju više izvršnih jedinica od Nehalema: 15 naspram 12 (pogledajte blok dijagram). Svaka izvršna jedinica je povezana sa planerom instrukcija preko 128-bitnog kanala. Dvije izvršne jedinice se koriste istovremeno za izvršavanje novih AVX instrukcija koje sadrže 256-bitne podatke.

Sandy Bridge čipovi mogu obraditi do četiri instrukcije po taktu zahvaljujući četiri dekodera ugrađena u jedinice za preuzimanje instrukcija. Ovi dekoderi pretvaraju x86 instrukcije u jednostavne mikroinstrukcije slične RISC-u.

Najvažnija inovacija u Sandy Bridge procesorima je takozvani "nulti nivo keš memorije" L0, koji je u osnovi izostao u procesorima prethodne generacije. Ova keš memorija je sposobna da pohrani do 1536 dekodiranih mikroinstrukcija: njegovo značenje je da kada izvršni program uđe u kružnu petlju, odnosno da više puta izvršava iste instrukcije, nije potrebno ponovo dekodirati iste instrukcije. Ova šema može značajno poboljšati performanse: prema Intelovim stručnjacima, L0 se koristi u 80% vremena mašine, odnosno u velikoj većini slučajeva. Osim toga, kada se koristi L0, dekoderi i keš memorija prvog nivoa su onemogućeni, a čip troši manje energije i stvara manje topline.

U vezi sa pojavom „keš memorije na nultom nivou“ u Sandy Bridge čipovima, često se sećaju keš memorije „gigahercnih trka veterana“ – Pentium 4 procesora zasnovanih na NetBurst arhitekturi. U međuvremenu, ovi baferi rade drugačije: u kešu praćenja instrukcije su zapisane tačno onim redosledom kojim su izvršene, tako da se iste instrukcije mogu ponoviti nekoliko puta u njemu. Pojedinačne instrukcije se pohranjuju u L0, što je, naravno, racionalnije.

Blok predviđanja grananja pretrpeo je primetne promene, pošto je primio ciljni bafer grananja duplo veće veličine. Osim toga, u međuspremniku se sada koristi poseban algoritam kompresije podataka, zahvaljujući kojem blok može pripremiti velike količine instrukcija, čime se povećava performanse proračuna.

Memorijski podsistem u Sandy Brigde-u je također optimiziran za rukovanje 256-bitnim AVX instrukcijama. Podsjetimo da je Nehalem koristio namjenske portove za preuzimanje, skladištenje adresa i pohranu podataka koji su vezani za odvojene dispečerske portove, što znači da se 128 bita podataka može učitati iz L1 keš memorije po taktu. U Sandy Brigdeu, portovi za učitavanje i zadržavanje mogu se preraspodijeliti prema potrebi i istovremeno djelovati kao par portova za učitavanje ili zadržavanje, omogućavajući 256 bita podataka po taktu.

Za povezivanje komponenti čipa, odnosno računarskih jezgara, L3 keš memorije, grafičke jezgre i sistemskog agenta (kontrolori memorije, PCI Express, napajanje i displej), Sandy Bridge koristi prstenastu sabirnicu (prstenasta interkonekcija). Brza QPI magistrala (Quick Path Interconnect, propusni opseg do 6,4 GB/s na 3,2 GHz) uzeta je kao osnova, prvi put implementirana u Nehalem Lynnfield čipovima (Core i7 9xxx za Socket LGA1366), namijenjena entuzijastima.

U suštini, sabirnica prstena u Sandy Bridgeu se sastoji od četiri 32-bajtna prstena: sabirnice podataka, sabirnice upita, sabirnice za potvrdu i sabirnice za praćenje. Zahtjevi se obrađuju na frekvenciji računarskih jezgara, dok na frekvenciji takta od 3 GHz, propusni opseg magistrale dostiže 96 GB u sekundi. Istovremeno, sistem automatski određuje najkraći put prijenosa podataka, osiguravajući minimalno kašnjenje.

Upotreba prstenaste magistrale omogućila je implementaciju L3 keš memorije na drugačiji način, koja se u Sandy Bridgeu zvala LLC (Last Level Cache, odnosno "keš zadnjeg nivoa"). Za razliku od Nehalema, ovdje LLC nije zajedničko za sva jezgra, ali se može distribuirati na sva jezgra, kao i na grafiku i sistemski agent, ako je potrebno. Važno je napomenuti da iako svako računarsko jezgro ima svoj LLC segment, ovaj segment nije čvrsto vezan za "svoju" jezgru i njegov volumen se može distribuirati između ostalih komponenti preko prstenaste magistrale.

Prilikom prelaska na Sandy Bridge, Intel je svim komponentama centralnog procesora koje ne pripadaju stvarnim računarskim jezgrama dodijelio zajednički naziv System Agent, odnosno "sistemski agent". Zapravo, sve su to komponente takozvanog "sjevernog mosta" sistemskog logičkog skupa, ali ovaj naziv je ipak prikladniji za zasebno mikrokolo. Kada se primeni na Nehalem, korišćen je čudan i očigledno nesretan naziv "Uncore", odnosno "non-kernel", pa "sistemski agent" zvuči mnogo prikladnije.

Glavni elementi "sistemskog agenta" uključuju nadograđeni dvokanalni DDR3 RAM kontroler do 1333 MHz, PCI Express 2.0 kontroler sa podrškom za jednu x16 magistralu, dvije x8 sabirnice ili jednu x8 magistralu i dva x4. Čip ima posebnu jedinicu za upravljanje napajanjem, na osnovu koje je implementirana tehnologija automatskog overkloka Turbo Boost nove generacije. Zahvaljujući ovoj tehnologiji, koja uzima u obzir stanje i računarske i grafičke jezgre, čip, ako je potrebno, može značajno premašiti svoj termalni paket do 25 sekundi bez oštećenja procesora i ugrožavanja performansi.

Sandy Bridge koristi grafičke procesore Intel HD Graphics 2000 i HD Graphics 3000 sljedeće generacije, koji se mogu sastojati od šest ili dvanaest izvršnih jedinica (EU), ovisno o modelu procesora. Nominalna brzina grafičkog takta je 650 ili 850 MHz, dok se može povećati na 1100, 1250 ili 1350 MHz u Turbo Boost modu, što se sada odnosi i na video akcelerator. Grafika podržava Direct X 10.1 API - programeri su smatrali da je nepotrebno podržavati Direct X 11, s pravom vjerujući da bi ljubitelji kompjuterskih igara u kojima je ovaj API zaista tražen, u svakom slučaju, više voljeli mnogo produktivniju diskretnu grafiku.

Označavanje Sandy Bridge procesora je prilično jednostavno i logično. Kao i ranije, sastoji se od brojčanih indeksa, koji su u nekim slučajevima popraćeni abecednim. Sandy Bridge od Nehalema možete razlikovati po imenu: indeks novih čipova je četverocifreni i počinje s dvije ("druga generacija"), a starih trocifreni. Na primjer, imamo Intel Core i5-2500K procesor. Ovde "Intel Core" označava brend, "i5" je serija, "2" je generacija, "500" je indeks modela, a "K" je slovni indeks.

Što se slovnih indeksa tiče, jedan od njih je poznat iz Nehalem mikroarhitekturnih čipova - to je "S" (i5-750S i i7-860S procesori). Dodeljuje se čipovima namenjenim kućnim multimedijalnim mašinama. Procesori sa istim numeričkim indeksom razlikuju se po tome što modeli sa slovnim indeksom "S" rade na nešto nižoj nominalnoj frekvenciji takta, ali je "turbo frekvencija" postignuta automatskim overklokom Turbo Boost za njih ista. Drugim rečima, u normalnom režimu rada su ekonomičniji, a sistem hlađenja im je tiši nego kod "standardnih" modela. Sve nove desktop jezgre druge generacije bez indeksa troše 95 W, a sa "S" indeksom - 65 W.

Modifikacije sa "T" indeksom rade na čak nižoj taktnoj frekvenciji od "osnovnih", dok je i njihova "turbo frekvencija" niža. Termalni paket takvih procesora je samo 35 ili 45 W, što je sasvim uporedivo sa TDP-om modernih mobilnih čipova.

I konačno, indeks "K" znači otključani množitelj, koji vam omogućava da slobodno overclockate procesor povećavajući njegovu brzinu takta.

Upoznali smo se sa opštim tehničkim rešenjima implementiranim u „desktop“ procesore sa Sandy Bridge arhitekturom. Zatim ćemo razgovarati o karakteristikama različitih serija, proučiti trenutni asortiman modela i dati preporuke o tome koji se konkretni modeli mogu smatrati najboljom kupovinom u svojoj klasi.

Otvaramo seriju članaka o novoj mikroarhitekturi Intel Sandy Bridge procesora. U prvom članku ćemo se dotaknuti teorije - govorit ćemo o promjenama i inovacijama. U bliskoj budućnosti će se na stranicama bloga pojaviti rezultati testiranja nove platforme i mnoge druge zanimljive stvari.

Tick-Tock koncept izmišljen u utrobi Intela nastavlja raditi - svake godine proizvođač uvodi modificiranu mikroarhitekturu procesora. Faza „Krežica“ podrazumijeva unapređenje dosadašnjeg razvoja (smanjenje tehničkog procesa, uvođenje ne previše revolucionarnih novih tehnologija i tako dalje). Otprilike godinu dana nakon "Tika" događa se "Tock" - izdavanje procesora baziranih na potpuno novoj mikroarhitekturi.

Početkom 2010. godine, Intel je predstavio liniju čipova kodnog naziva Westmere/Clarkdale, tehnološko poboljšanje u odnosu na prve Core i3/i5/i7 (Nehalem) modele. Tock je na redu. Upoznajte revolucionarnu Sandy Bridge mikroarhitekturu na kojoj su izgrađeni procesori Core 2011 - potpuno novi modeli Core i3, Core i5, Core i7, kao i jeftini Pentium i Celeron modeli.

Ovog puta proizvođač je odlučio da ne gubi vrijeme na sitnice i odmah je najavio mnoge modele za mobilne i desktop računare u svim cenovnim rangovima. Istina, u prodaju su se pojavile samo neke, daleko od najpristupačnijih verzija, ali o tome kasnije.

Štampa Sandy Bridge naziva jednom od najznačajnijih Intel mikroarhitektura u posljednjih nekoliko godina - proizvođač je učinio sve da svoje procesore dovede na novi nivo performansi, podsjetio je na prethodno predstavljene tehnologije i ponudio nevjerovatnu integraciju računarskih jedinica i kontrolera. U poređenju sa Sandy Bridgeom, prethodno predstavljeni modeli izgledaju kao baby talk. Pogledajmo bliže promjene u Core 2011.

Karakteristike nove mikroarhitekture

Blok dijagram koji prikazuje mikroarhitekturu Sandy Bridgea vjerovatno neće otkriti mnogo o implementiranim tehnologijama i općim promjenama. Međutim, treba znati da se sve komponente novih procesora značajno razlikuju od komponenti istog Westmere/Clarkdalea. Glavna stvar koju treba razumjeti prije nego što istražite karakteristike Sandy Bridgea je da arhitektonska poboljšanja omogućavaju novim procesorima da rade 10-50% brže u odnosu na Core 2010 generaciju.

Intelovi inženjeri su redizajnirali blok za predviđanje grananja, promijenili predprocesor, uveli naprednu dekodiranu keš memoriju, brzu prstenastu sabirnicu, napredni blok za proširenje vektora AVX, redizajnirali integrirani RAM kontroler i veze sa PCI Express magistralom, promijenili integrirani grafički čip do neprepoznatljivosti, uveo fiksni blok za hardversko ubrzanje video transkodiranja, podsjetio na Turbo Boost tehnologiju auto-akceleracije, i tako dalje. Sada vjerovatno vjerujete da ima zaista jako, jako puno promjena? Pokušat ćemo ukratko proći kroz svaki od njih kako bismo dobili određenu sliku prije nego što se potpuno testiranje pojavi na našim blogovima.

Za početak, 4-jezgarni Sandy Bridge modeli se sastoje od 995 miliona tranzistora, proizvedenih korištenjem dobro uspostavljene 32nm procesne tehnologije. Za potrebe grafičkog čipa izdvojeno je oko 114 miliona, svako jezgro zauzima 55 miliona tranzistora, ostatak ide na dodatne kontrolere. Poređenja radi, 4-jezgarni AMD Phenom II X4 procesor sadrži 758 miliona tranzistora, dok su 4-jezgarni Nehalem procesori koristili 731 milion tranzistora. Uz sve to, punopravni Sandy Bridge procesorski čip zauzima površinu od ​​​216 kvadratnih milimetara - čip jednog od prvih 4-jezgrenih Intelovih procesora (Core 2 Quad) zauzimao je sličnu površinu sa mnogo manjim brojem tranzistora i, shodno tome, ponudio neproporcionalno niže performanse.

Sada, hajde da pričamo redom o ključnim inovacijama mikroarhitekture.

Keš dekodiranih instrukcija (mikro-operativni keš) – Uveden u Sandy Bridge, mehanizam mikro-operacije keš memorije pohranjuje instrukcije kako su dekodirane. Prilikom izvođenja proračuna, procesor određuje da li je sljedeća instrukcija dospjela u keš memoriju. Ako je odgovor da, tada su predprocesor i računski cjevovod bez napona, što štedi električnu energiju. Istovremeno, 1,5 KB dekodirane keš memorije je u potpunosti integrisano sa keš memorijom prvog nivoa (L1).

Redizajnirani blok za predviđanje grana može se pohvaliti povećanom preciznošću. Sve je to moguće zahvaljujući nekoliko značajnih dizajnerskih inovacija.

Prstenasta sabirnica - Sandy Bridge procesori koriste naprednu i vrlo brzu prstenastu sabirnicu za povezivanje brojnih arhitektonskih blokova. Interfejs svoj izgled duguje integrisanom grafičkom jezgru i video transkoderu - potreba za komunikacijom sa keš memorijom trećeg nivoa učinila je prethodnu šemu povezivanja (oko 1000 pinova za svako jezgro) neefikasnom. Sve važne komponente procesora su povezane na redizajniranu magistralu - grafika, x86-kompatibilna jezgra, transkoder, System Agent, L3 keš memorija.

Pod imenom "System Agent" (System Agent) krije se blok, ranije poznat kao un-core - ovde su kombinovani kontroleri, koji su prethodno bili smešteni u severnom mostu na matičnoj ploči. Agent uključuje 16 linkova za povezivanje na PCI Express 2.0 magistralu, dvokanalni DDR3 RAM kontroler, interfejs za povezivanje sa zajedničkom sistemskom DMI magistralom, jedinicu za upravljanje napajanjem i grafičku jedinicu odgovornu za prikaz slike.

Jedna od najvažnijih inovacija Sandy Bridgea se smatra redizajniranim grafičkim čipom od nule. Počnimo s činjenicom da je sada grafika integrirana s drugim blokovima u jednom kristalu (ranije su dva odvojena čipa bila skrivena ispod metalnog poklopca Clarkdale procesora). Intelovi inženjeri pokazuju dvostruko veću propusnost od komponenti grafičkog čipa u odnosu na prethodnu generaciju Intel HD Graphics zbog promjene u arhitekturi unificiranih shader procesora, pristupa L3 keš memoriji i drugih poboljšanja. Istovremeno, dva značajno različita modela grafičkih jezgara mogu se naći u novim procesorima odjednom - HD Graphics 2000 i HD Graphics 3000. Prvi nudi šest unificiranih shader procesora, drugi - dvanaest. Prema Intelu i trgovinskoj štampi, nova grafika čini najjeftinije diskretne grafičke kartice suvišnim, ali to tek treba da vidimo u posebnoj recenziji. Skoro smo zaboravili da kažemo da novi HD Graphics modeli podržavaju DirectX 10, a prelazak na modernije grafičke tehnologije će se desiti u narednim generacijama procesora.

Osim toga, novi grafički čip pruža poseban blok Media Engine, koji se sastoji od dva dijela za transkodiranje i dekodiranje videa. Intelovi inženjeri su odlučili da ne iskušavaju sudbinu - ranije su se dekodiranjem i kodiranjem videa bavili unificirani procesori shadera i, dijelom, fiksne jedinice male snage. Prema riječima očevidaca, fiksni Media Engine brže i bolje se nosi sa zadatkom čak i od monstruoznih video kartica najvišeg cenovnog ranga.

Modifikovani Turbo Boost algoritmi automatskog overkloka sada omogućavaju procesoru da malo premaši propisanu potrošnju energije za kratko vreme – u praksi, to znači da će procesor moći da pravi velike brzine na kratkim udaljenostima. Naravno, automatizacija vam neće omogućiti da prijeđete granicu pouzdanosti. Podsjećamo, Turbo Boost automatski povećava frekvenciju jedne, dvije, tri ili četiri jezgre po potrebi. Dakle, najmoćniji model Intel Core i7 2600 može povećati frekvenciju jednog jezgra na 3,8 GHz kada radi sa aplikacijama koje nisu optimizovane za višejezgarnu arhitekturu.
Blokiran overclocking

Još od dana Pentiuma II, Intel prodaje procesore sa zaključanim množiocima tako da korisnici ne mogu da se igraju sa frekvencijom, a sama kompanija je uvek bila u mogućnosti da prodaje iste modele u različitim cenovnim rangovima. Ali overklokeri su uvijek imali mogućnost podešavanja FSB frekvencije. Nažalost, pojavom Sandy Bridgea sve se ponovo mijenja - množitelj u većini modela je čvrsto zaključan, a generator frekvencije magistrale integriran je u jedini most čipseta serije 6 i zaključan je na frekvenciji od 100 MHz.

Modifikacije sa otključanim multiplikatorima ostaju jedini izlaz za overklok - takvih modela je malo u novoj liniji, ali oni postoje i koštaju sasvim adekvatan novac.

Vladar

Vrijeme je da razgovaramo o procesorima koji su predstavljeni na prvom mjestu – da bismo razumjeli nova imena i razumjeli koji procesor treba izabrati za svoje potrebe.
Tokom izdavanja Sandy Bridgea, Intel je predstavio 29 (dvadeset i devet!) novih Core iX modela - četrnaest za desktop i petnaest za mobilne računare.

Proizvođač je prešao na novu, još nejasniju šemu označavanja procesora, u koju moramo kopati.
Dakle, naziv svakog novog procesora desktop linije sastoji se od oznake brenda (Intel Core), naziva određene linije (i3, i5, i7), indeksa (2600) i sufiksa (K). Postoje samo tri sufiksa za desktop lenjir - K (otključani množitelj), S (potrošnja 65 W) i T (potrošnja 34-45 W). Sada, najčudnije je da je moćni HD Graphics 3000 grafički čip uključen samo u modele sa otključanim množiteljem (K), a ostali procesori su zadovoljni osjetno slabijim HD Graphics 2000.

Originalna Core 2011 linija za desktop računare se prilično lijepo raščlanjuje po imenu linije. Dakle, Core i7 procesori su četvorojezgarni čipovi sa podrškom za Hyper Threading (4 jezgra, 8 niti), Core i3 su jednostavni dvojezgarni čipovi bez Turbo Boost podrške, ali sa podrškom za Hyper Threading (2 jezgra, 4 niti), Core i5 je prvi model četverojezgrenih modela sa Turbo Boost podrškom, ali bez Hyper Threadinga. Nažalost, u budućnosti će se dual-core modeli pojaviti kao dio Core i5 linije, ali će biti dostupni prvenstveno graditeljima gotovih sistema.

Drugi razlog za dalju diferencijaciju linije je auto-overclocking integrisane grafičke jezgre. U početku, oba grafička modela rade na 850 MHz, ali Core i5 i Core i3 procesori ga mogu overklokovati na 1100 MHz. Stariji Core i7 - do 1350 MHz. Zamislite sami kako će to uticati na konačni učinak.

S mobilnim modifikacijama Sandy Bridgea stvari su malo složenije. Za početak, apsolutno svi mobilni procesori u novoj liniji koriste moćni HD Graphics 3000 grafički čip (čak i najekonomičniji modeli). Iz nepoznatih razloga, Intel je odlučio da prekrši nepisani zakon marketinga i luta indeksima – još nismo odlučili kako ćemo se nositi s modelima s indeksima 2657, 2537, 2410 i 2720. Što se tiče indeksa, postoje oznake XM, QM, M koje označavaju laptope za različite zadatke. Shodno tome, XM su ekstremni modeli za sisteme za igre, M su dvojezgarni procesori za ekonomične laptopove, QM su četvorojezgarni procesori za mainstream laptopove.

Naravno, ovo nisu svi modeli za narednu godinu - Intel će nastaviti da eksperimentiše i povremeno oduševljava fanove novim modifikacijama. Glavna stvar je ne narušiti logiku vladara koji su sami izmislili.

Platforma

Uz Sandy Bridge, predstavljeni su čipsetovi serije 6 sa potrebnim LGA1155 procesorskim socketom - prvi znakovi su bili Intel P67 i Intel H67. Razumijevanje dvije modifikacije je lako. Intel P67 je pogodan za konfiguracije u kojima će se koristiti diskretna grafička kartica, dok platforma podržava alate za overklok. Plus, ploče zasnovane na P67 nude 2x8 PCI Express 2.0 traka za multi-GPU konfiguracije u AMD CrossFire ili NVIDIA SLI modu. Intel H67 je, naprotiv, od male koristi za overklok, podržava samo jedan PCI Express x16 port, ali može emitovati video signal.

Svi oni koji sanjaju da dobiju sve funkcije na jednoj ploči morat će malo pričekati – negdje u drugom kvartalu 2011. programeri će predstaviti Intel Z68 čipset. Matične ploče zasnovane na ovom čipsetu će podržavati grafičku jezgru ugrađenu u procesor, kao i sve karakteristike Intel P67.

Nekoliko riječi o novom procesorskom soketu - Intel je redizajnirao šemu i strukturu socketa, tako da se stari Core 2010 modeli za LGA 1156 više ne mogu koristiti. Srećom, veličina socketa je ostala ista, tako da ovdje možete instalirati brojne hladnjake za LGA 1156 i ne morate brinuti o pronalaženju najnovijih modela.

Čipseti još uvijek nemaju izvornu podršku za USB 3.0 interfejs, iako se čini da je tržište sasvim spremno za takve "inovacije". Ljubitelji svega najboljeg morat će se fokusirati na napredne matične ploče, gdje proizvođači integriraju USB 3.0 kontrolere treće strane.

Na sreću, Intel nije zaboravio na novu verziju SATA interfejsa - nove platforme podržavaju SATA3 sa propusnim opsegom do 6 Gb/s. Jasno je da za klasične vretenaste čvrste diskove sva ova povećanja brzine nisu neophodna, ali fleš memorijski diskovi će ceniti prozor velike brzine po svojoj pravoj vrednosti. Na primjer, jedan od flash hard diskova predstavljenih na CES izložbi će otkriti svoje brzinske mogućnosti samo u tandemu sa SATA3 - skučen je unutar SATA2 (govorimo o Crucial RealSSD C300). Važno je da SATA3 portovi na novim matičnim pločama stoje rame uz rame sa SATA2, iako novi interfejs nudi potpunu kompatibilnost unazad sa prethodnom generacijom - budite oprezni kada povezujete svoj superskup SSD.

U novim čipsetima, proizvođači konačno počinju da se oslobađaju glavnog arhaizma - BIOS interfejsa. Nespretni plavi ekran iz prošlosti zamjenjuje UEFI - nova školjka podržava kontrolu miša (ili touchpad-a), nudi primjetno modernije i prilagođenije sučelje. Ostale karakteristike UEFI-ja uključuju izvornu podršku za čvrste diskove veće od 2,2 TB.

Šta ćemo završiti?

Među stručnjacima je rasprostranjeno mišljenje da je Sandy Bridge samo evolucija prethodnih mikroarhitektura i kompanija nije predstavila ništa radikalno novo. Slažemo se sa drugim dijelom analitičara. Iako nova linija ne nudi istinski revolucionarne karakteristike, rad koji je obavio Intel je vrijedan svake pohvale. Proizvođač je sve svoje poduhvate doveo do ideala - izvršio je potpunu integraciju svih komponenti, poboljšao grafički čip na prihvatljiv nivo, dovršio prstenastu magistralu, redizajnirao funkcije predprocesora, revidirao mogućnosti automatskog overkloka Turbo Boost, uveo fiksni blok za obradu videa i tako dalje. Kao rezultat, imamo potpuno nove procesore koji su po tehničkim karakteristikama glavom i ramenima ispred prethodnih generacija.

U bliskoj budućnosti, DNS blogovi će uključivati ​​testiranje novog procesora u igricama i popularnim programima, pregled opcija overkloka pomoću vazdušnog hlađenja, test grafičkog čipa u odnosu na jeftine diskretne video kartice. Ne propustite.

Da li je superiornost prvog Core i (Nehalem i 2009. Westmere) nad protivničkim CPU-om finalna? Situacija je pomalo kao u prvoj godini nakon izlaska Pentiuma II: počivajući na lovorikama i ostvarivajući rekordnu zaradu, bilo bi lijepo napraviti nastavak uspješne arhitekture bez mnogo mijenjanja imena, dodavanja novih, upotrebe od kojih će značajno poboljšati performanse, ne zaboravljajući na druge inovacije koje ubrzavaju današnje verzije programa. Istina, za razliku od situacije prije 10 godina, treba obratiti pažnju na trenutno modernu temu energetske efikasnosti, poigranu dvosmislenim pridjevom Cool - "kul" i "hladno", - i ništa manje pomodnu želju da se u procesor ugradi sve koja i dalje postoji kao odvojena. Ovdje se pod takvim sosom servira novitet.

"Prekjučer", "juče" i "danas" Intel procesora.


Prednji transporter. Boje pokazuju različite vrste informacija i blokove koji ih obrađuju ili pohranjuju.

Predviđanje

Počnimo sa Intelovom najavom potpuno redizajniranog (BPU). Kao u Nehalemu, predviđa adresu sljedećeg 32-bajtnog dijela koda svakog ciklusa (i prije stvarnog izvršenja), u zavisnosti od očekivanog ponašanja instrukcija za skok u upravo predviđenom dijelu - i, očigledno, bez obzira na broj i vrsta skokova. Preciznije, ako trenutni dio sadrži navodno pokrenut prijelaz, daju se njegova vlastita i ciljna adresa; u suprotnom, skače na sljedeći dio u nizu. Sama predviđanja su postala još preciznija zbog udvostručavanja (BTB), produžavanja (GBHR) i optimizacije funkcije heš pristupa (BHT). Istina, stvarni testovi su pokazali da je u nekim slučajevima efikasnost predviđanja još uvijek nešto lošija nego u Nehalemu. Možda povećanje performansi sa smanjenjem potrošnje nije kompatibilno s visokokvalitetnim predviđanjem grana? Pokušajmo to shvatiti.

U Nehalemu (kao i drugim modernim arhitekturama) BTB je prisutan u obliku hijerarhije na dva nivoa - mali - "brzi" L1 i veliki - "spori" L2. Ovo se dešava iz istog razloga zašto postoji nekoliko nivoa: jednostepeno rešenje će biti previše kompromisno po svim parametrima (veličina, brzina odziva, potrošnja, itd.). Ali u SB, arhitekte su odlučile da stave jedan nivo, i to duplo veći od Nehalemovog L2 BTB-a, odnosno vjerovatno najmanje 4096 ćelija - to je tačno koliko ih ima u Atomu. (Treba napomenuti da veličina najčešće izvršavanog koda polako raste i da se sve manje uklapa u keš memoriju, čija je veličina ista za sve Intelove procesore iz prvog Pentium M.) U teoriji, ovo će se povećati površina koju zauzima BTB, a pošto se ukupna površina ne preporučuje (ovo je jedan od početnih postulata arhitekture) - nešto će se morati oduzeti nekoj drugoj strukturi. Ali još uvijek postoji brzina. S obzirom na to da SB mora biti dizajniran za nešto veću brzinu za isti proces, očekivalo bi se da ova velika konstrukcija bude usko grlo cijelog transportera - osim ako nije i cjevovodna (dva su već dovoljna). Istina, ukupan broj tranzistora koji rade po ciklusu u BTB-u će se u ovom slučaju udvostručiti, što uopće ne doprinosi uštedi energije. Opet ćorsokak? Na to, Intel odgovara da novi BTB skladišti adrese u nekoj vrsti komprimovanog stanja, što vam omogućava da imate duplo više ćelija sa sličnom površinom i potrošnjom. Ali to još nije moguće provjeriti.

Gledamo sa druge strane. SB nije dobio nove algoritme predviđanja, već optimizovane stare: opšte, za indirektne skokove, petlje i povratke. Nehalem ima 18-bitni GBHR i BHT nepoznate veličine. Međutim, možete garantirati da je broj ćelija u tabeli manji od 2 18 , inače bi zauzela većinu kernela. Stoga postoji posebna hash funkcija koja sažima 18 bitova istorije svih tranzicija i bitova adrese instrukcija u indeks manje dužine. I, najvjerovatnije, postoje najmanje dva hasha - za sve GBHR bitove i za one koji odražavaju rad najtežih prijelaza. I ovdje je efikasnost nasumične distribucije po indeksima različitih obrazaca ponašanja prema broju BHT ćelija određuje uspjeh općeg prediktora. Iako to nije eksplicitno navedeno, Intel je sigurno poboljšao hešove kako bi omogućio duže GBHR-ove sa jednako efikasnim paddingom. Ali još uvijek se može nagađati o veličini BHT-a - kao io tome kako se zapravo promijenila potrošnja energije prediktora u cjelini... Što se tiče (RSB), on je i dalje 16-adresni, ali novo ograničenje na uvedeni su sami pozivi - ne više četiri puta 16 bajtova koda.

Prije nego što krenemo dalje, razgovarajmo o malom neskladu između deklarirane teorije i promatrane prakse – a pokazalo se da je prediktor ciklusa u SB uklonjen, uslijed čega je predviđanje konačnog prijelaza na početak ciklusa napravljen opštim algoritmom, tj. gore. Predstavnik Intela nas je uvjeravao da ne može biti "gore", međutim...

Dekodiranje i IDQ

Unaprijed predviđene adrese izvršnih naredbi (naizmenično za svaku nit - sa omogućenom tehnologijom) se izdaju kako bi se provjerilo njihovo prisustvo u predmemoriji instrukcija (L1I) i (L0m), ali ćemo prešutjeti ovo drugo - opisati ćemo ostatak fronta za sada. Začudo, Intel je zadržao veličinu dijela instrukcija pročitanog iz L1I na 16 bajtova (ovdje se riječ "porcija" razumije prema našem). Do sada je to bila prepreka kodu čija je prosječna veličina instrukcije narasla na 4 bajta, pa stoga 4 instrukcije koje su poželjne za izvršenje po ciklusu više neće stati u 16 bajtova. AMD je riješio ovaj problem u arhitekturi K10 proširivši dio instrukcija na 32 bajta - iako njegovi CPU-i do sada nemaju više od 3 cjevovoda. U SB, nejednakost veličine dovodi do nuspojave: prediktor daje sljedeću adresu 32-bajtnog bloka, a ako se (vjerovatno) aktivirani prijelaz pronađe u njegovoj prvoj polovini, tada nije potrebno čitati i dekodirati drugo poluvrijeme - međutim, to će biti učinjeno.

Od L1I, dio ide u preddekoder, a odatle - do samog mjerača dužine (), obrađujući do 7 ili 6 komandi/sat (sa i bez ; Nehalem je mogao napraviti najviše 6), ovisno o njihovoj ukupnoj dužini i složenost. Odmah nakon tranzicije, obrada počinje naredbom na ciljnoj adresi, inače, od bajta pred kojim je preddekoder zaustavio ciklus ranije. Slično sa završnom tačkom: ili je (vjerovatno) pokrenuta grana, čija je adresa posljednjeg bajta došla iz BTB-a, ili posljednji bajt samog dijela - osim ako se ne dostigne granica od 7 komandi/ciklus, ili nailazi na naredbu "neugodno". Najvjerovatnije, bafer za mjerač dužine ima samo 2-4 porcije, međutim, mjerač dužine može dobiti bilo kojih 16 od njega sukcesivno bajt. Na primjer, ako se na početku dijela prepozna 7 dvobajtnih naredbi, tada se u sljedećem ciklusu može obraditi još 16 bajtova, počevši od 15.

Mjerač dužine, između ostalog, se bavi detekcijom parova naredbi za makro spajanje. O samim parovima ćemo govoriti nešto kasnije, ali za sada imajte na umu da, kao u Nehalemu, ne može se otkriti više od jednog takvog para po ciklusu, iako se mogu označiti najviše 3 (i još jedna pojedinačna naredba). . Međutim, mjerenje dužine instrukcija je djelomično serijski proces, tako da ne bi bilo moguće odrediti nekoliko parova makro spajanja tokom ciklusa.

Označene komande spadaju u jednu od dvije komande (IQ: red instrukcija) - jedna po niti, po 20 komandi (što je 2 više od Nehalema). naizmjenično čita komande iz redova i prevodi ih u uops. Ima 3 jednostavna (prevedi 1 instrukciju u 1 uop, a sa spajanjem makroa - 2 instrukcije u 1 uop), složeni prevodilac (1 instrukcija u 1–4 uop ili 2 naredbe u 1 uop) i mikrosekvencer za većinu složene komande koje zahtijevaju 5 i više krpa od . Štoviše, pohranjuje samo „repove“ svake sekvence, počevši od 5. mopa, jer prva 4 izdaje složeni prevodilac. U isto vrijeme, ako broj uop-ova u firmveru nije djeljiv sa 4, tada će njihova posljednja četiri biti nepotpuna, ali umetanje još 1-3 uop-a od prevoditelja u istoj mjeri neće raditi. Rezultat dekodiranja dolazi i dva (jedan po streamu). Potonji (službeno nazvan IDQ - red dekodiranja instrukcija, red dekodiranih naredbi) još uvijek ima 28 uop-ova i mogućnost blokiranja petlje ako njen izvršni dio stane tamo.

Sve ovo (osim keša za brisanje) je već bilo u Nehalemu. I koje su razlike? Prije svega, očito je da je dekoder naučen da rukuje novim instrukcijama podskupa. Podrška za SSE skupove sa svim ciframa više ne iznenađuje, a ubrzanje šifriranja komandi (uključujući PCLMULQDQ) je dodano Westmereu (32nm verzija Nehalema). Dodata je zamka: ova funkcija ne radi za komande koje imaju i konstantno i RIP-relativno adresiranje (RIP-relativno, adresa u odnosu na pokazivač komande je uobičajen način pristupa podacima u 64-bitnom kodu). Takve naredbe zahtijevaju 2 uops-a (odvojeno učitavanje i rad), što znači da će ih dekoder obraditi ne više od jedne po ciklusu, koristeći samo složeni translator. Intel tvrdi da su ove žrtve podnesene radi uštede energije, ali nije jasno na čemu: dva puta postavljanje, izvršenje i uops će očito uzeti više resursa, a samim tim i potrošiti energiju od jednog.

Makro spajanje je optimizirano - ranije je samo aritmetičko ili logičko poređenje (CMP ili TEST) moglo biti prva naredba spajanja, ali sada su jednostavne aritmetičke naredbe sabiranja i oduzimanja (ADD, SUB, INC, DEC) i logičko "AND" (AND) dozvoljeno, takođe menjači za prelaz (druga ekipa para). Ovo vam omogućava da smanjite posljednje 2 komande na 1 uop u gotovo svakoj petlji. Naravno, ograničenja na spojene komande ostaju, ali nisu kritična, jer se navedene situacije za par naredbi gotovo uvijek izvršavaju:

  • prva od prve naredbe mora biti registar;
  • ako je drugi operand prve instrukcije u memoriji, RIP-relativno adresiranje je nevažeće;
  • druga komanda ne može biti na početku niti prelaziti granicu linije.

Pravila za samu tranziciju su:

  • samo TEST i AND su kompatibilni sa bilo kojim stanjem;
  • poređenja na (ne)jednakim i bilo koje potpisane su kompatibilne sa bilo kojom dozvoljenom prvom komandom;
  • poređenja na (ne)nosi i bilo koja nepotpisana nisu kompatibilna sa INC i DEC;
  • druga poređenja (znak, prelivanje, parnost i njihove negacije) su dozvoljena samo za TEST i AND.

Glavna promjena u redovima uop-ova je da se spojeni uop-ovi tipa , čiji pristup memoriji zahtijeva čitanje indeksnog registra, (i nekoliko drugih rijetkih tipova) dijele se u parove prilikom pisanja u IDQ. Čak i ako postoje 4 takva mopa, tada će svih 8 završnih biti zabilježeno u IDQ-u. Ovo je učinjeno zato što redovi za brisanje (IDQ), dispečer (ROB) i redovi za rezervacije sada koriste skraćeni format mop bez 6-bitnog indeksnog polja (naravno, da bi se uštedio novac prilikom premeštanja mopa). Pretpostavlja se da će ovakvi slučajevi biti rijetki, pa stoga na brzinu neće bitno utjecati.

U nastavku ćemo opisati povijest pojavljivanja režima blokiranja ciklusa u ovom međuspremniku, ali ovdje ćemo navesti samo jednu sitnicu: prijelaz na početak ciklusa prethodno je trajao 1 dodatni ciklus, formirajući "mjehur" između očitavanja kraj i početak ciklusa, ali sada ga nema. Međutim, posljednji uop-ovi iz trenutne iteracije i prvi iz sljedeće ne mogu biti u četiri očitana uop-a po ciklusu, tako da bi u idealnom slučaju broj uop-ova u ciklusu trebao biti djeljiv sa 4. Pa, kriteriji za blokiranje nisu mnogo promijenio:

  • loop mops moraju biti generirani od najviše 8 32-bajtnih dijelova izvornog koda;
  • ovi dijelovi moraju biti keširani u L0m (u Nehalemu, naravno, u L1I);
  • dozvoljeno je do 8 bezuslovnih skokova, predviđenih za pucanje (uključujući i završni);
  • pozivi i povrati nisu dozvoljeni;
  • neupareni pristupi steku nisu dozvoljeni (najčešće sa nejednakim brojem PUSH i POP komandi) - više o tome u nastavku.

stack engine

Postoji još jedan mehanizam, čiji rad nismo razmatrali u prethodnim člancima - mehanizam steka (tracker pokazivača steka, „tracker za pokazivač (na vrh) steka“), koji se nalazi prije IDQ-a. Pojavio se u Pentium M i nije se promijenio do danas. Njegova suština je da se modifikacija pokazivača steka (ESP/RSP registar za 32/64-bitni način rada) naredbama za rad sa njim (PUSH, POP, CALL i RET) vrši posebnim sabiračem, a rezultat se pohranjuje u poseban registar i vraćen u mop kao konstantan - umjesto modifikacije pokazivača na nakon svake instrukcije, kako je potrebno i kao što je bio slučaj sa Intelovim CPU-ima prije Pentium M.

Ovo se dešava sve dok neka naredba ne pristupi pokazivaču direktno (iu nekim drugim rijetkim slučajevima) - mehanizam steka uspoređuje pokazivač sjene sa nulom i, ako je vrijednost različita od nule, ubacuje uops u tok prije nego instrukcija koja poziva pokazivač sinhronizira uop koji zapisuje u pokazivač stvarnu vrijednost iz posebnog registra (a sam registar se resetuje). Pošto je ovo rijetko potrebno, većina pristupa steku koji samo implicitno modificiraju pokazivač koristi njegovu kopiju u sjeni koja se modificira u isto vrijeme kao i druge operacije. Odnosno, sa stanovišta blokova cjevovoda, takve naredbe su kodirane jednim spojenim mopom i ne razlikuju se od običnih pristupa memoriji, bez potrebe za obradom u ALU-u.

Pažljivi Čitalac (dobar dan!) će primijetiti vezu: kada se red uops-ova vrti, neupareni pristupi steku su neprihvatljivi upravo zato što je mehanizam steka u pripremi prije IDQ - ako se nakon sljedeće iteracije vrijednost pokazivača sjene pokaže da je različita od nule, biće potrebno ubaciti synchromop u novu iteraciju, a u cikličnom modu to je nemoguće (uops se čita samo iz IDQ-a). Štaviše, motor steka je generalno isključen radi uštede energije, kao i svi ostali delovi prednje strane.

Tajni život nopsa

Još jedna promjena je napravljena na mjeraču dužine, ali ovaj slučaj se malo ističe. Prvo, prisjetimo se šta su i zašto su potrebni. Nazad u x86 arhitekturi, nop je bio samo 1-bajt. Kada je bilo potrebno pomaknuti kod za više od 1 bajta ili zamijeniti komande duže od 1 bajta, jednostavno su ih ubacili nekoliko puta. Ali uprkos činjenici da ova naredba ne radi ništa, ipak je potrebno vrijeme za dekodiranje, a proporcionalna je broju čvorova. Kako izvedba "zakrpljenog" programa ne bi propala, nop se može produžiti. Međutim, u CPU-u 90-ih, stopa dekodiranja naredbi s brojem prefiksa iznad određene vrijednosti (koja je mnogo manja od maksimalno dozvoljene dužine x86 komande od 15 bajtova) je naglo opala. Osim toga, posebno za nopa, prefiks se u pravilu koristi jedne vrste, ali se ponavlja više puta, što je dopušteno samo kao nepoželjan izuzetak, komplicirajući mjerač dužine.

Da bi se rešili ovi problemi, pošto Pentium Pro i Athlon procesori razumeju "dugo ne" sa modR/M bajtom za "zvanično" produženje komande korišćenjem registara i pomeranja adrese. Naravno, nema operacija sa memorijom i registrima, ali se blokovi iste dužine koriste za određivanje dužine kao i za obične višebajtne komande. Korištenje dugih nops-a sada službeno preporučuju i Intel i AMD tutorijali za optimizaciju softvera niskog nivoa. Inače, SB preddekoder je prepolovio (sa 6 na 3 ciklusa) kaznu za prefikse 66 i 67 koji menjaju dužinu konstante i pomaka adrese - ali, kao u Nehalemu, kazna se ne nameće na komande gde ovi prefiksi rade zapravo ne mijenjaju dužinu (na primjer, ako se prefiks 66 primjenjuje na instrukciju bez neposrednog operanda) ili su dio liste prekidača (što se često koristi u vektorskom kodu).

Maksimalna dužina pravilno formatiranog long nop-a ne prelazi 9 bajtova za Intel i 11 za AMD. I stoga, za poravnanje na 16 ili 32 bajta, još uvijek može postojati nekoliko nops. Međutim, pošto je ova naredba jednostavna, njeno dekodiranje i “izvršenje” neće zahtijevati više resursa od obrade najjednostavnijih operativnih naredbi. Stoga je već dugi niz godina testiranje s dugim nosovima standardna metoda za određivanje parametara prednjeg dijela transportera, posebno mjerača dužine i dekodera. I ovdje je Sandy Bridge predstavio vrlo čudno iznenađenje: testiranje performansi običnih programa nije otkrilo nikakva kašnjenja i usporavanja, ali dežurna sintetička provjera parametara dekodera neočekivano je pokazala da je njegova izvedba jednaka jednoj instrukciji po taktu! Istovremeno, Intel nije dao nikakve službene najave o tako radikalnim promjenama u dekoderu.

Procedura mjerenja je dobro funkcionirala na Nehalemu i pokazala ispravnu 4 . Možete okriviti novi i "preko" aktivni Turbo Boost 2.0, koji je pokvario izmjerene taktove, ali za testove je onemogućen. Pregrijavanje s prigušivanjem koje usporava frekvenciju je također isključeno. A kada je, konačno, razlog otkriven, postalo je još čudnije: ispostavilo se da duge nops na SB obrađuje samo prvi jednostavni prevodilac, iako 1-bajtni nops sa bilo kojim brojem prefiksa i sličnih naredbi „neaktivnosti“ (za na primjer, kopiranje registra u sebe) lako se prihvaćaju sva četiri. Nije jasno zašto je to učinjeno, ali se barem jedan nedostatak ovakvog tehničkog rješenja već jasno pokazao: naš istraživački tim proveo je deset dana da otkrije razloge misteriozne sporosti dekodera... planova određenog kompanija I. da zbuni naivne hrabre istraživače procesora. :)

Inače, kako se ispostavilo, prevodilac broj 1 već je bio „ravnopravniji“ među ostalima. U Nehalemu su instrukcije cikličkog skrolovanja (ROL i ROR) sa eksplicitnim konstantnim operandom također dekodirane samo u prvom translatoru, a četvrti je isključen u istom ciklusu, tako da je IPC vrijednost pala na 3. Čini se - zašto ovdje navoditi tako rijedak primjer? Ali upravo zbog ove kvake, da bi se postigla maksimalna brzina kod algoritama za heširanje poput SHA-1, bilo je potrebno vrlo precizno raspoređivanje instrukcija, s čime kompajleri nisu mogli da se nose. U SB-u su, međutim, takve instrukcije jednostavno postale dvosmjerne, tako da se, zauzimajući složeni prevodilac (koji je već jedan), ponašaju gotovo nerazlučivo za CPU, ali predvidljivije za osobu i kompajler. Sa nopasom je bilo obrnuto. Mop cache

Ciljevi i prethodnici

Nije uzalud odvojili ovo poglavlje od ostatka opisa prednje strane - dodavanje keš memorije za brisanje jasno pokazuje koji je put Intel odabrao za sve svoje procesore, počevši od Core 2. U ovom drugom, po prvi put (za Intel), dodat je blok koji je istovremeno postigao dva, čini se, suprotstavljena cilja: povećanje brzine i uštedu energije. Govorimo o redu komandi (IQ) između preddekodera i dekodera, koji zatim pohranjuje do 18 komandi do 64 bajta ukupno. Kada bi se samo izgladila razlika u brzini pripreme i dekodiranja naredbi (poput normalnog bafera), korist bi bila mala. Ali Intel je pogodio da priključi mali LSD blok na IQ (malo je vjerovatno da su momci nešto "prihvatili", jednostavno imaju takav humor) - Loop Stream Detector, "detektor cikličkog protoka". Kada se otkrije ciklus koji odgovara 18 instrukcija, LSD onemogućuje sve prethodne faze (prediktor, L1I keš i preddekoder) i dekoderu dekodira instrukcije ciklusa dok se ne dovrše, ili dok se ne izvrši prijelaz izvan njega (pozivi i vraćanja nisu dozvoljeno). Tako se štedi energija onemogućavanjem privremeno neaktivnih blokova, a performanse se povećavaju zahvaljujući zagarantovanom protoku od 4 komande/ciklus za dekoder, čak i ako su im „opremljeni“ najnezgodniji prefiksi.

Intelu se očito svidjela ova ideja, pa je shema optimizirana za Nehalem: IQ je dupliran (za dva toka), a između dekodera i dispečera (tj. tačno na granici prednje i zadnje strane), dva IDQ reda od 28 uops svaki je postavljen, a LSD blok je prebačen na njih. Sada, kada je ciklus blokiran, dekoder se takođe isključuje, a performanse su povećane, uključujući i zbog zagarantovanog priliva ne 4 komande, već 4 uop-a po taktu, čak i ako su generisane sa minimumom (za Core 2 / i) tempom od 2 uop/bar. Bijesni obožavatelji Opposite Campa, otrgnuvši se na trenutak od svoje omiljene aktivnosti, odmah će ubaciti ukosnicu: ako je LSD tako dobra stvar, zašto nije ugrađen u Atom? A ukosnica je tačna - imajući 32-uP red nakon dekodera, Atom nije u mogućnosti da blokira ciklus u njemu, što bi bilo vrlo korisno za uštedu dragocjenih milivata. Ipak, Intel nije htio odustati od ideje i pripremio je ažuriranje za nove CPU, i to kakvo ažuriranje!

Zvanični interni naziv za uop keš memoriju je DSB (bafer toka dekodiranja), iako nije toliko tačan kao preporučeni termin DIC (keš dekodiranih instrukcija). Čudno, ne zamjenjuje, već nadopunjuje IDQ redove, koji su sada povezani s dekoderom ili sa zalitom krpa. Prilikom sljedećeg predviđanja grananja, ciljna adresa se istovremeno provjerava u kešu instrukcija i uop. Ako posljednji radi, onda iz njega dolazi dalje čitanje, a ostatak prednje strane je isključen. Zbog toga je uop keš keš keš nivoa 0 za uop, tj. L0m.

Zanimljivo je da se ova ideja može nastaviti pozivanjem IDQ kešova "minus prvi" nivo. :) Ali nije li tako složena hijerarhija u okviru čak ne čitavog jezgra, već samo jednog fronta, suvišna? Neka Intel, kao izuzetak, ne štedi prostor, ali da li će par IDQ-a doneti značajne dodatne uštede, s obzirom da je samo keš memorija uop-a sada onemogućena tokom njihovog rada, pošto je ostatak fronta (osim prediktora) već zaspati? I na kraju krajeva, nećete dobiti posebno povećanje brzine, jer je uop keš također podešen da generiše 4 uop / ciklus. Očigledno, Intelovi inženjeri su odlučili da igra na 3 nivoa vrijedi milivatnih svijeća.

Pored uštede, keš mop ubrzava performanse, uključujući i smanjenjem kazne za lažno predviđanje grananja: u Nehalemu, kada je tačna šifra pronađena u L1I, kazna je bila 17 ciklusa, u SB - 19, ali ako je kod bio pronađeno u L0m - tada samo 14. Štaviše, ovo su maksimalni brojevi: sa lažno predviđenom tranzicijom, planer još uvijek treba da pokrene i završi prethodne uop-ove u programskom redoslijedu, a za to vrijeme L0m može imati vremena da pumpa ispravan uops tako da ih planer može pokrenuti odmah nakon povlačenja komandi prije tranzicije. U Nehalemu, ova tehnika je radila sa IDQ-om i prednjom stranom, ali u prvom slučaju, verovatnoća da će ispravna ciljna adresa takođe biti unutar ciklusa od 28 mop je veoma mala, au drugom je sporost prednje strane u većini slučajevi nisu omogućili smanjenje kašnjenja na nulu. SB ima takvu šansu više.

Uređaj

Topološki, L0m se sastoji od 32 x 8 redova (8-). Svaka linija pohranjuje 6 uops-a (u cijeloj keš memoriji - 1536, tj. "jedan i po kiloope"), a keš može pisati i čitati jedan po red. Prediktor daje adrese blokova od 32 bajta, a ta veličina radi za L0m, stoga, dalje, pod pojmom "komad" podrazumevamo 32-bajtni blok koda koji je poravnat i predviđen kao izvršni blok od 32 bajta koda (a ne 16-bajtnog, kao kod dekodera). Prilikom dekodiranja, L0m kontroler čeka da se dio obradi do kraja ili dok se u njemu ne pokrene prvi prijelaz (naravno, vjerojatno - u nastavku pretpostavljamo da su predviđanja uvijek tačna), akumulirajući uop-ove istovremeno sa njihovim slanjem nazad. Zatim fiksira ulazne i izlazne točke dijela prema ponašanju prijelaza. Obično je ulazna tačka ciljna adresa tranzicije koja je pokrenuta u prethodnom komadu (tačnije, nižih 5 bitova adrese), a izlazna tačka je sopstvena adresa aktiviranog prelaza u ovom delu. U ekstremnom slučaju, ako ni prethodni ni trenutni dio ne pokreću jedan prijelaz (tj. dijelovi se ne samo izvršavaju, već i pohranjuju u nizu), tada će se oba izvršiti u cijelosti - njihov unos će biti na nula mop i prvi bajt prve potpuno uklopljene u ovom dijelu naredbe, a izlaz je na posljednjem mop-u posljednje potpuno usklađene komande i njenom početnom bajtu.

Ako postoji više od 18 uop-ova u dijelu, on se ne kešira. Ovo postavlja minimalnu prosječnu (unutar dijela) veličinu instrukcija na 1,8 bajtova, što neće biti ozbiljno ograničenje u većini programa. Možemo se prisjetiti druge tačke IDQ ograničenja - ako ciklus stane u dio, ali traje od 19 do 28 uops, ni L0m keš ni IDQ red to neće popraviti, iako bi stao svuda po veličini. Međutim, u ovom slučaju, prosječna dužina naredbi bi trebala biti 1,1–1,7 bajtova, što je krajnje malo vjerovatno za dva tuceta naredbi zaredom.

Najvjerovatnije se dio uop-a istovremeno upisuje u keš memoriju, koji zauzima 1-3 reda jednog seta, tako da je za L0m narušen jedan od glavnih principa rada asocijativne keš memorije skupa: obično se aktivira jedan red skupa . Odmah, oznake do tri reda mogu primiti adresu istog dijela, koja se razlikuje samo po serijskim brojevima. Kada predviđena adresa uđe u L0m, očitavanje se dešava na isti način - aktiviraju se 1, 2 ili 3 putanje željenog skupa. Istina, takva shema je puna nedostataka.

Ako se izvršni program u svim delovima dekodira u 13–18 uops-a, što će uzeti 3 L0m reda za sve delove, naći će se sledeće: ako je trenutni skup već zauzet sa dva dela od 3 reda, a treći je pokušavajući da pišete u njega (što neće biti dovoljno za jedan red) , morat ćete zamijeniti jedan od starih, a uzimajući u obzir njegovu povezanost, sve 3 stare. Dakle, više od dva dijela koda "small-command" u skupu ne bi trebalo stati. Prilikom testiranja ove pretpostavke u praksi, dogodilo se ovo: dijelovi s velikim naredbama koje su zahtijevale manje od 7 uops-a spakovane su u L0m sa brojem od 255 (iz nekog razloga nije uspjelo uzeti još jednu), koji je odgovarao skoro 8 KB koda. Srednji komadi (7–12 uops) popunili su svih 128 mogućih pozicija (svaka po 2 reda), keširanih tačno 4 KB. Pa, male komande staju u 66 delova, što je dva više od očekivane vrednosti (2112 bajtova naspram 2048), što se, očigledno, objašnjava graničnim efektima našeg testnog koda. Nedostatak na licu - kada bi se 256 6-mop linija moglo popuniti u potpunosti, bilo bi dovoljno za 85 punih trojki sa ukupnom veličinom koda od 2720 bajtova.

Možda Intel ne očekuje da će u nekom kodu biti toliko kratkih i jednostavnih komandi da će više od 2/3 toga pasti na dijelove od 3 reda, što će jedni druge izbaciti iz L0m prije vremena. Pa čak i ako se naiđe na takav kod - s obzirom na jednostavnost njegovog dekodiranja, ostatak prednjih blokova može se lako nositi sa zadatkom snabdijevanja 4 uops-a / ciklusa potrebnih za stražnji (međutim, bez obećane uštede u vatima i kazne ciklusa u slučaju lažnog predviđanja). Zanimljivo, da L0m ima 6 putanja, ne bi bilo problema. Intel je odlučio da je veličina keša za trećinu veća zbog asocijativnosti važnija ...

Dimenzije

Podsjetimo da ideja keširanja velikog broja uop-ova umjesto x86 instrukcija nije nova. Prvi put se pojavio u Pentiumu 4 u obliku keša uop tragova - sekvenci uop-ova nakon odmotavanja petlje. Štaviše, keš praćenja nije dopunio, već je zamenio L1I koji nedostaje - komande za dekoder su pročitane odmah iz . Uprkos zaboravu NetBurst arhitekture, razumno je pretpostaviti da su Intelovi inženjeri koristili prošlo iskustvo, iako bez odmotavanja petlje i prediktora posvećenog kešu. Uporedimo stara i nova rješenja (novi CPU-i se ovdje nazivaju Core i 2, jer brojevi skoro svih modela sa SB arhitekturom počinju sa dvojkom):

* - vjerovatno

Ovdje nam treba neko objašnjenje. Prvo, propusnost za L0m se zasniva na ukupnom ograničenju širine cevovoda od 4 uops. Iznad smo pretpostavili da L0m može čitati i pisati 18 uop-ova po ciklusu. Međutim, prilikom čitanja, svih 18 (ako ih je bilo toliko pri dekodiranju originalnog dijela) ne može se poslati po taktu, a slanje se odvija u nekoliko taktova.

Nadalje, veličina mopa u bitovima se općenito odnosi na vrlo delikatne informacije koje proizvođači ili ne daju uopće, ili tek kada se pritisnu na zid (kažu, sve ste već izračunali, neka bude - mi ćemo potvrditi). Za Intel CPU, posljednja pouzdano poznata brojka je 118 bita za Pentium Pro. Jasno je da se veličina od tada povećala, ali nagađanje počinje odavde. 118 bita za 32-bitni x86-CPU može se dobiti ako mop ima polja za adresu instrukcije koja ga je generirala (32 bita), neposredni operand (32 bita), pomak adrese (32 bita), operande registra (3 za 3 bita + 2 bita po skali za indeksni registar) i opkod (11 bita, u kojem je kodirana specifična verzija x86 komande, uzimajući u obzir prefikse). Nakon dodavanja , i SSE2, polje opkoda se vjerovatno povećalo za 1 bit, iz čega je dobijen broj 119.

Nakon prelaska na (Prescott i dalje), u teoriji, sva 32-bitna polja bi se trebala povećati na 64 bita. Ali ovdje postoje suptilnosti: 64-bitne konstante u x86-64 dopuštene su samo jedna po jedna (to jest, obje konstante u naredbi definitivno neće zauzimati više od 8 bajtova), a tada, i sada, još uvijek košta 48 bits. Dakle, potrebno je samo 16 bita adrese i 3 dodatna bita registarskih brojeva (od kojih ima 16) da bi se povećala veličina mopa - dobijamo (otprilike) 138 bita. Pa, u SB-u je mop, očigledno, porastao za još 1 bit zbog dodavanja još nekoliko stotina komandi od posljednjeg P4, i još 8 - povećanjem maksimalnog broja eksplicitno specificiranih registara u komandi na 5 (kada koristeći AVX). Ovo posljednje je, međutim, sumnjivo: budući da, zamislite, koliko i i386, ni jedan nije dodat u x86 arhitekturu novo komanda koja zahteva najmanje 4 bajta konstante (sa jedinim nedavnim i izuzetno suptilnim izuzetkom u AMD-ovom SSE4.a za koji čak ni većina programera ne zna). A pošto su Intel AVX i AMD ažurirali kodiranje samo vektorskih instrukcija, bitovi dodatnih registarskih brojeva će stati u gornju polovinu delimično nekorišćenog (za ove instrukcije) 32-bitnog polja neposrednog operanda. Štaviše, u samoj komandi x86, 4. ili 5. registar je kodiran sa samo četiri bita konstante.

Očigledno je da je skladištenje i slanje takvih "čudovišta" u bilo kojoj velikoj količini veoma skupo. Stoga je čak i za P4 Intel smislio skraćenu verziju mopa, u kojoj postoji samo jedno polje za obje konstante, a ako se tu ne uklapaju, bitovi koji nedostaju se stavljaju u isto polje susjednog mopa. . Međutim, ako već tamo pohranjuje svoje konstante, onda je potrebno ubaciti nop kao donor-nosač dodatnih bitova kao susjeda. Kontinuitet takve šeme se također opaža u SB: dodatni čvorovi se ne ubacuju, ali naredbe sa 8-bajtnim konstantama (ili sa zbrojem veličina konstante i pomaka adrese od 5-8 bajtova) imaju dvostruku veličinu u L0m. Međutim, s obzirom na dužinu ovakvih komandi, više od 4 od njih neće stati u jedan dio, tako da je ograničenje zauzetog mopa očito nekritično. Ipak, konstatujemo: SB, za razliku od prethodnih CPU-a, ima čak 3 uop formata - dekodirajući (najpotpuniji), pohranjen u uop kešu (sa konstantnim smanjenjem) i glavni (bez polja indeksnog registra), koji se dalje koristi u cjevovodu . Međutim, većina uop-ova prolazi netaknuta od dekodiranja do penzionisanja.

Ograničenja

"Pravila za korištenje keša" se ne završavaju posebnim formatom mopa. Očigledno, tako zgodan blok kao što je L0m ne bi mogao biti potpuno bez ograničenja ovog ili onog stepena ozbiljnosti, o čemu nam nije rečeno u promotivnim materijalima. :) Počnimo s činjenicom da svi uop-ovi prevedene naredbe moraju stati u jedan red, inače se prenose u sljedeći. Ovo se objašnjava činjenicom da se adrese uop-ova linije pohranjuju odvojeno (da bi se sačuvalo 48 bita u svakom uop-u), a svi uop-ovi generirani naredbom moraju odgovarati adresi njenog prvog bajta, pohranjenog u oznaci samo jednog reda. Za vraćanje originalnih adresa, oznake pohranjuju dužine naredbi koje su generirale uop. “Netolerancija” uops-a donekle kvari efikasnost korišćenja L0m, jer povremeno naišle komande koje generišu nekoliko uop-ova imaju značajnu šansu da ne stanu u sledeći red.

Štaviše, uop-ovi najsloženijih instrukcija su i dalje pohranjeni u ROM-u s mikrokodom, a samo prva 4 uop-a niza, plus link za nastavak, idu na L0m, tako da sve zajedno zauzima cijeli red. Iz ovoga slijedi da se u jednom dijelu ne mogu pojaviti više od tri mikrokodne instrukcije, a s obzirom na prosječnu veličinu instrukcije, dvije će biti vjerovatnije ograničenje. U stvarnosti se, međutim, susreću mnogo rjeđe.

Još jedna bitna tačka - L0m nema svoje. Čini se da bi to trebalo ubrzati verifikaciju adresa (koje su ovdje samo virtuelne) i smanjiti potrošnju energije. Ali sve je mnogo interesantnije - ne uzalud svi moderni kešovi imaju. Virtuelni adresni prostori programa koji se izvršavaju u OS-u mogu se preklapati, stoga, prilikom prebacivanja konteksta zadatka, kako se ne bi čitali stari podaci ili kod na istim adresama, virtuelno adresabilna keš memorija se mora resetovati (to je upravo bio slučaj sa P4 keš praćenja). Naravno, njegova efikasnost će u ovom slučaju biti niska. U nekim arhitekturama tzv. ASID (identifikator adresnog prostora, identifikator adresnog prostora) - jedinstveni brojevi koje OS dodeljuje svakoj niti. Međutim, x86 ne podržava ASID jer je nepotreban – s obzirom na prisustvo fizičkih oznaka za sve keš memorije. Ali onda je L0m došao i razbio sliku. Štaviše, zapamtite da se uop keš, kao i većina resursa kernela, dijeli između dvije niti, tako da sadrži uop-ove iz različitih programa. A ako dodate prebacivanje između virtuelnih operativnih sistema u odgovarajućem režimu, onda se mopovi dva programa mogu podudarati u adresama. sta da radim?

Problem sa nitima je lako rešiti - L0m se jednostavno deli na pola skupovima, tako da broj niti daje najznačajniji bit broja skupa. Osim toga, L1I ima politiku zadržavanja u odnosu na L0m. Stoga, kada je kod izbačen iz L1I, njegovi uops se također uklanjaju iz L0m, što zahtijeva provjeru dva susjedna dijela (veličina linije svih modernih CPU keša, ne računajući sam L0m, je 64 bajta). Dakle, virtuelna adresa iz keširanih uop-ova uvijek se može provjeriti u L1I tagovima koristeći svoj TLB. Ispostavilo se da iako L0m ima virtuelno adresiranje, on pozajmljuje fizičke oznake za kod od L1I. Međutim, postoji situacija u kojoj se L0m potpuno resetuje - kako zamjena u L1I TLB-u, tako i njegovo potpuno resetiranje (uključujući i pri prebacivanju načina rada CPU-a). Takođe, L0m je potpuno onemogućen ako je osnovna adresa birača koda (CS) različita od nule (što je krajnje malo vjerovatno u modernim OS-ovima).

Posao

Glavna tajna uop keša je algoritam koji zamjenjuje rad fronta za obradu komandi u uop čitanjem sa L0m. Počinje korištenjem bitova 5–9 adrese cilja skoka (ili bitova 5–8 plus broj toka u slučaju 2-threadinga) za odabir skupa L0m. Oznake skupa sadrže ulaznu tačku u dio, čiji su uops ispisani u liniji koja odgovara oznaci, i redni broj ovog reda unutar dijela. 1-3 reda se mogu podudarati, koji se (najvjerovatnije) istovremeno čitaju u bafer od 18 mop. Odatle se četiri uop-a šalju u IDQ dok se ne dostigne izlazna tačka - i sve se ponavlja od početka. Štaviše, kada 1-3 posljednja uop-a ostanu neposlana u porciji, oni se šalju sa prvih 3-1 uop-a nove porcije, što ukupno iznosi uobičajena četiri. Odnosno, sa stanovišta prijemnog IDQ reda, svi prelazi se izglađuju u uniforman tok koda - kao u P4, ali bez keša praćenja.

A sada zanimljiv momenat - u liniji nisu dozvoljena više od dva prelaza, a ako je jedan od njih bezuslovan, onda će to biti zadnji za liniju. Naš pažljivi čitalac će shvatiti da je za cijeli dio dozvoljeno imati do 6 uslovnih skokova (od kojih svaki može raditi bez izlazne tačke), ili 5 uslovnih i 1 bezuslovni, što će biti posljednja komanda dijela. Prediktor grananja u Intel CPU-u je dizajniran tako da ne primjećuje uslovnu granu dok se ne pokrene barem jednom, a tek tada će se predvideti njegovo ponašanje. Ali čak i "vječni" prijelazi također podliježu ograničenju. U stvari, to znači da je dozvoljeno dovršiti izvođenje porcije mop i prije njegove izlazne tačke.

Ali sličan trik s višestrukim ulazima neće raditi - ako postoji prijelaz na već keširani dio, ali na drugom pomaku u njemu (na primjer, kada postoji više od jednog bezuvjetnog prijelaza), tada L0m popravlja promašaj, okreće na prednjoj strani i upisuje primljene uops u novi dio. Odnosno, u kešu su dozvoljene kopije za komade sa različitim ulazima i istim, tačno poznatim izlazom (pored još nekoliko mogućih). A kada se kod izbaci iz L1I u L0m, sve linije se brišu, čije ulazne tačke spadaju u bilo koji od 64 bajta dva dela. Inače, kopije su bile moguće i u kešu praćenja P4, a značajno su smanjile efikasnost skladištenja koda...

Ovakva ograničenja smanjuju dostupnost prostora L0m. Pokušajmo izračunati koliko je ostalo za stvarnu upotrebu. Prosječna veličina x86-64 instrukcije je 4 bajta. Prosječan broj uop-ova po timu je 1,1. Odnosno, najvjerovatnije ćete imati 8-10 mop-a po porciji, što je 2 reda. Kako je ranije izračunato, L0m će moći pohraniti 128 takvih parova, što je dovoljno za 4 KB koda. Međutim, uzimajući u obzir neidealnu upotrebu stringova, pravi broj će vjerovatno biti 3-3,5 KB. Pitam se kako se ovo uklapa u ukupnu ravnotežu volumena podsistema keša?

  • 1 (zapravo dio L3, u prosjeku po jezgri) - 2 MB;
  • L2 - 256 KB, 8 puta manje;
  • oba L1 - po 32 KB, 8 puta manje;
  • keširani volumen u L0m je oko 10 puta manji.

Zanimljivo, ako pronađete drugu strukturu u kernelu koja pohranjuje mnoge instrukcije ili uops, onda će se ispostaviti da je to red dispečera ROB, koji stane 168 uops-ova generiranih sa otprilike 650-700 bajtova koda, što je 5 puta manje od efektivni ekvivalentni volumen L0m (3–3,5 KB) i 9 puta manji od punog (6 KB). Na ovaj način, uop keš dopunjuje dobro uređenu hijerarhiju različitih spremišta koda sa različitim, ali dobro izbalansiranim parametrima. Intel tvrdi da u prosjeku 80% pogodaka završi u L0m. Ovo je znatno ispod cifre od 98-99% za 32 KB L1I keš memorije, ali ipak - u četiri od pet slučajeva, uop keš opravdava svoje prisustvo.

Detaljan pregled možete pronaći na našoj web stranici (međutim, podrška za C6 ​​stanje dubokog spavanja i niskonaponsku LV-DDR3 memoriju pojavila se samo u Westmereu). A šta se pojavilo u SB?

Prvi - drugi tip temperaturnih senzora. Poznata termalna dioda, čija očitavanja "vide" BIOS i uslužni programi, mjeri temperaturu radi podešavanja brzine ventilatora i zaštite od pregrijavanja (prigušivanje frekvencije i, ako ne pomogne, hitno isključivanje CPU-a) . Međutim, njegovo područje je veoma veliko, jer postoji samo jedan od njih u svakom jezgru (uključujući GPU) i u sistemskom agentu. Njima je u svakom velikom bloku dodano nekoliko kompaktnih analognih kola s termičkim tranzistorima. Imaju manji radni opseg mjerenja (80–100 °C), ali su potrebni za preciziranje podataka termalne diode i pravljenje precizne karte grijanja kristala, bez koje se nove funkcije TB 2.0 ne mogu implementirati. Štaviše, kontroler napajanja može čak koristiti eksterni senzor ako ga proizvođač matične ploče postavi i poveže - iako nije sasvim jasno kako će to pomoći.

Dodata je funkcija prenumeracije C-stanja, za koju se prati istorija tranzicija između njih za svako jezgro. Prijelaz traje duže, što je veći „broj spavanja“ u koji jezgro ulazi ili izlazi. Kontroler određuje da li ima smisla staviti jezgro u stanje mirovanja, uzimajući u obzir vjerovatnoću njegovog "probuđenja". Ako se uskoro očekuje, tada će umjesto traženog OS-a kernel biti prebačen u C3 odnosno C1, odnosno u aktivnije stanje, koje će brzo krenuti u rad. Začudo, uprkos većoj potrošnji energije u ovom stanju mirovanja, na ukupnu uštedu možda neće uticati, jer su oba prelazna perioda tokom kojih procesor uopšte ne spava, smanjena.

Za mobilne modele, prebacivanje svih jezgri na C6 uzrokuje da se L3 keš resetuje i onemogućuje pomoću tipki za napajanje zajedničkih za banke. Ovo će još više smanjiti potrošnju u stanju mirovanja, ali je ispunjeno dodatnim kašnjenjem pri buđenju, jer će jezgre morati promašiti L3 nekoliko stotina ili hiljada puta dok se tamo ne upumpaju potrebni podaci i kod. Očigledno, u kombinaciji s prethodnom funkcijom, to će se dogoditi samo ako je kontroler siguran da CPU dugo zaspi (po standardima procesorskog vremena).

Core i3/i5 prethodne generacije su bili svojevrsni šampioni po složenosti CPU sistema napajanja na matičnoj ploči, zahtevajući čak 6 napona - tačnije svih 6 je bilo ranije, ali nisu svi vodili do procesora . U SB se mijenjaju ne po broju, već po upotrebi:

  • x86-jezgra i L3 - 0,65–1,05 V (u Nehalemu L3 je odvojen);
  • GPU - slično (u Nehalemu, skoro ceo severni most, koji je, podsećamo, bio tamo drugi CPU čip, napaja se zajedničkom magistralom);
  • sistemski agent sa fiksnom frekvencijom i konstantnim naponom od 0,8, 0,9 ili 0,925 V (prve dvije opcije su za mobilne modele), ili dinamički podesiv 0,879–0,971 V;
  • - konstantni 1,8 V ili podesivi 1,71-1,89 V;
  • drajver memorijske magistrale - 1,5 V ili 1,425–1,575 V;
  • PCIe drajver - 1,05 V.

Regulisane verzije šina za napajanje se koriste u otključanim SB tipovima sa slovom K. Desktop modeli su povećali frekvenciju u mirovanju sa x86 jezgrom sa 1,3 na 1,6 GHz, očigledno bez žrtvovanja ekonomičnosti. Istovremeno, 4-jezgarni CPU troši 3,5-4 vata u punom stanju mirovanja. Mobilne verzije ne rade na 800 MHz i traže još manje. Modeli i čipsetovi

Performanse

Šta ovo poglavlje radi u teoretskom pregledu mikroarhitekture? I činjenica da postoji jedan opštepriznat test koji se koristi već 20 godina (u različitim verzijama) za procenu ne teorijske, već programski dostižne brzine računara - SPEC CPU. Može sveobuhvatno procijeniti performanse procesora, a u najboljem slučaju za njega - kada se izvorni kod testova kompajlira i optimizira za sistem koji se testira (odnosno, usputno se provjerava i kompajler sa bibliotekama). Na ovaj način, korisno programi će biti brži samo sa ručno pisanim umetcima u asembleru, koji su danas retki drski programeri sa mnogo vremena. SPEC se može pripisati polusintetičkim testovima, jer ne izračunava ništa korisno, i ne daje nikakve specifične brojeve (IPC, flops, tajming, itd.) - "papagaji" jednog CPU-a su potrebni samo za poređenje s drugima .

Intel obično daje rezultate za svoje CPU skoro u isto vreme kada su objavljeni. Ali došlo je do neshvatljivog kašnjenja od 3 mjeseca sa SB, a brojke dobijene u martu su još uvijek preliminarne. Nejasno je šta ih tačno odlaže, ali je ipak bolje od situacije da AMD uopće ne objavljuje zvanične rezultate svojih najnovijih CPU-a. Sljedeće brojke za Opteron daju proizvođači servera koji koriste Intelov kompajler, tako da ovi rezultati mogu biti nedovoljno optimizirani: šta Intelov softverski alat može raditi s kodom koji se izvodi na "stranom" CPU-u. ;)


Poređenje sistema u SPEC CPU2006 testovima. Tabelu sastavio David Kanter od marta 2011.

U poređenju sa prethodnim CPU-ima, SB pokazuje odlične (u bukvalnom smislu) rezultate u apsolutnom smislu, pa čak i rekordne rezultate za svako jezgro i gigaherc. Omogućavanje HT-a i dodavanje 2MB na L3 daje +3% stvarne brzine i +15% cjelobrojne brzine. Međutim, 2-jezgarni model ima najveću specifičnu brzinu, i ovo je poučno zapažanje: očito je Intel koristio AVX, ali pošto se još ne može dobiti cjelobrojni dobitak, možemo očekivati ​​naglo ubrzanje samo stvarnih pokazatelja. Ali ni za njih nema skoka, što pokazuje poređenje 4-jezgrenih modela - a rezultati za i3-2120 otkrivaju razlog: imajući ista 2 ICP kanala, svako jezgro prima dvostruko veći memorijski propusni opseg, što je što se odražava povećanjem specifične stvarne brzine od 34%. Očigledno, 6-8 MB L3 keš memorija je premala, a skaliranje vlastitog PS-a pomoću ring magistrale više ne pomaže. Sada je jasno zašto Intel planira da opremi serverske Xeone sa 3-, pa čak i 4-kanalnim ICP-ovima. Samo sada već ima 8 jezgri i nisu dovoljne da se okrenemo do kraja...

Dodatak: Pojavili su se konačni rezultati SB - brojke su (očekivano) malo porasle, ali su kvalitativni zaključci isti. Izgledi i rezultati

Već se dosta zna o 22nm nasljedniku Sandy Bridgea, Ivy Bridgeu, koji izlazi u proljeće 2012. godine. Jezgra opće namjene će podržavati malo ažurirani podskup AES-NI; sasvim je moguće i "besplatno" kopiranje registara u fazi preimenovanja. Poboljšanja u Turbo Boostu se ne očekuju, ali će GPU (koji će, inače, raditi na svim verzijama čipseta) povećati maksimalan broj FU-ova na 16, podržavaće povezivanje ne dva, već tri ekrana, i konačno će steknu normalnu podršku za OpenCL 1.1 (zajedno sa DirectX 11 i OpenGL 3.1) i poboljšaju hardverske mogućnosti obrade videa. Najvjerovatnije će već u desktop i mobilnim modelima ICP podržavati frekvenciju od 1600 MHz, a PCIe kontroler će podržavati verziju sabirnice 3.0. Glavna tehnološka inovacija je da će L3 keš koristiti (prvi put u masovnoj mikroelektronskoj proizvodnji!) tranzistori sa vertikalno lociranim multilateralnim gate-finom (FinFET), koji imaju radikalno poboljšane električne karakteristike (detalji - u jednom od narednih članaka ). Postoje glasine da će GPU verzije ponovo postati multi-chip, samo što će ovaj put jedan ili više brzih video memorijskih čipova biti dodat procesoru.

Ivy Bridge će se povezati na nove čipsetove serije 70 (tj. južne mostove): Z77, Z75 i H77 za dom (zamjenjujući Z68/P67/H67) i Q77, Q75 i B75 za ured (umjesto Q67/Q65/B65). Ona je(tj. fizički čip pod različitim imenima) i dalje neće imati više od dva SATA 3.0 porta, a podrška za USB 3.0 će se konačno pojaviti, ali godinu dana kasnije od konkurenta. Ugrađena PCI podrška će nestati (nakon 19 godina, vrijeme je da se sabirnica odmori), ali kontroler podsistema diska u Z77 i Q77 će dobiti Smart Response tehnologiju za povećanje performansi keširanjem diskova pomoću SSD-a. Međutim, najuzbudljivija vijest je da uprkos dobri stari Tradicionalno, desktop verzije Ivy Bridgea ne samo da će biti postavljene u isti LGA1155 socket kao SB, već će biti i kompatibilne sa njima unazad - odnosno moderne ploče će odgovarati novom CPU-u.

Pa, za entuzijaste će već u 4. kvartalu ove godine biti spreman mnogo moćniji X79 čipset (za 4-8-jezgarni SB-E za “ekstremni server” LGA2011 konektor). Još neće imati USB 3.0, ali će postojati 10 od 14 SATA 3.0 portova (plus podrška za 4 vrste RAID-a), a 4 od 8 PCIe traka se mogu povezati na CPU paralelno sa DMI-om, udvostručavajući CPU-čipset link PS. Nažalost, X79 neće raditi sa 8-jezgarnim Ivy Bridgeom.

Kao izuzetak (a možda i novo pravilo), nećemo dati listu onoga što bismo željeli poboljšati i popraviti u Sandy Bridgeu. Već je očigledno da je svaka promjena složen kompromis - strogo prema zakonu održanja materije (u formulaciji Lomonosova): ako je nešto negdje stiglo, onda će se negdje ista količina smanjiti. Ako bi Intel požurio da ispravi greške stare u svakoj novoj arhitekturi, tada bi broj pokvarenih drva za ogrjev i letećih čipova mogao premašiti dobijenu korist. Stoga je, umjesto ekstrema i nedostižnog ideala, ekonomski isplativije tražiti ravnotežu između stalno promjenjivih i ponekad suprotnih zahtjeva.

Uprkos pojedinim tačkama, nova arhitektura ne samo da bi trebalo da zablista (što, sudeći po testovima, jeste), već i da zasjaji sve prethodne – i svoju i rivala. Najavljeni ciljevi u pogledu performansi i ekonomičnosti su ostvareni, sa izuzetkom optimizacije za AVX set, koji će se pojaviti u novim verzijama popularnih programa. I tada će Gordon Moore još jednom biti iznenađen svojim uvidom. Očigledno, Intel je u potpunosti spreman za Epsku bitku između arhitektura koju ćemo vidjeti ove godine.

Zahvalnost se izražava:

  • Maxim Loktyukhin, isti „predstavnik Intela“, zaposlenik odjela za optimizaciju softvera i hardvera, za odgovore na brojna pitanja koja pojašnjavaju.
  • Za Marka Buxtona, vodećeg softverskog inženjera i šefa optimizacije, za njegove odgovore, kao i za priliku da dobijem neku vrstu službenog odgovora.
  • Agner Fog, programer i istraživač procesora, za nezavisno testiranje niskog nivoa SB-a, koje je otkrilo puno novih i misterioznih stvari.
  • Attentive Reader - za pažnju, postojanost i glasno hrkanje.
  • Bijesni navijači Suprotnog kampa - do gomile.

Konačno, Intel je zvanično najavio nove procesore koji rade na novoj mikroarhitekturi. Sandy Bridge. Za većinu ljudi, “najava Sandy Bridgea” su samo riječi, ali u velikoj mjeri, Intel Core ll generacije su, ako ne nova era, onda barem ažuriranje za gotovo cijelo tržište procesora.


U početku je objavljeno da je pokrenuto samo sedam procesora, ali na najkorisnijoj stranici arc.intel.com već postoje informacije o svim novim proizvodima. Bilo je još nekoliko procesora, odnosno njihovih modifikacija (u zagradama sam naveo procijenjenu cijenu - koliko će koštati svaki procesor u seriji od 1000 komada):

Mobitel:

Intel Core i5-2510E (~266 USD)
Intel Core i5-2520M
Intel Core i5-2537M
Intel Core i5-2540M

Vizuelno detaljno poređenje druge generacije Intel Core i5 mobilnih procesora.

Intel Core i7-2617M
Intel Core i7-2620M
Intel Core i7-2629M
Intel Core i7-2649M
Intel Core i7-2657M
Intel Core i7-2710QE (~378 USD)
Intel Core i7-2720QM
Intel Core i7-2820QM
Intel Core i7-2920XM Extreme Edition

Vizuelno detaljno poređenje druge generacije Intel Core i7 mobilnih procesora.

Desktop:

Intel Core i3-2100 (~117 USD)
Intel Core i3-2100T
Intel Core i3-2120 (138 USD)

Vizuelno, detaljno poređenje 2. generacije Intel Core i3 desktop procesora.

Intel Core i5-2300 (~177 USD)
Intel Core i5-2390T
Intel Core i5-2400S
Intel Core i5-2400 (~184$)
Intel Core i5-2500K (~216 USD)
Intel Core i5-2500T
Intel Core i5-2500S
Intel Core i5-2500 (~205 USD)

Vizuelno, detaljno poređenje 2. generacije Intel Core i5 desktop procesora.

Intel Core i7-2600K (~317 USD)
Intel Core i7-2600S
Intel Core i7-2600 (~294 USD)

Vizuelno detaljno poređenje druge generacije Intel Core i7 desktop procesora.

Kao što vidite, nazivi modela sada imaju četiri cifre u nazivu - to je učinjeno kako ne bi došlo do zabune sa procesorima prethodne generacije. Linija se pokazala prilično kompletnom i logičnom - najzanimljivije serije i7 jasno su odvojene od i5 prisustvom tehnologije Hyper Threading i povećana veličina keša. A procesori porodice i3 razlikuju se od i5 ne samo po manjem broju jezgara, već i po nedostatku tehnologije turbo boost.

Vjerovatno ste obratili pažnju i na slova u nazivima procesora, bez kojih je raspon modela postao vrlo tanak. Dakle, pisma S i T govore o smanjenoj potrošnji energije, i To je besplatni množitelj.

Vizuelna struktura novih procesora:

Kao što vidite, pored grafičkih i računarskih jezgara, keš memorije i memorijskog kontrolera, postoji i tzv. System Agent- tu je bačeno dosta stvari, na primjer, DDR3 memorijski kontroleri i PCI-Express 2.0, model upravljanja napajanjem i blokovi koji su na hardverskom nivou odgovorni za rad ugrađenog GPU-a i za prikaz slike ako je se koristi.

Sve "jezgrene" komponente (uključujući grafički procesor) su međusobno povezane brzom prstenastom magistralom sa punim pristupom L3 keš memoriji, što je povećalo ukupnu brzinu razmjene podataka u samom procesoru; Zanimljivo, ovaj pristup vam omogućava da povećate performanse u budućnosti, jednostavno povećanjem broja jezgara dodatih sabirnici. Iako čak i sada sve obećava da će biti na vrhu - u poređenju sa procesorima prethodne generacije, performanse novih su prilagodljivije i, prema proizvođaču, u mnogim zadacima mogu pokazati 30-50% povećanje brzine izvršavanja zadataka!

Ako želite saznati više o novoj arhitekturi, onda na ruskom mogu savjetovati ova tri članka -,,.

Novi procesori su u potpunosti izgrađeni na 32nm procesu i po prvi put imaju "vizuelno pametnu" mikroarhitekturu koja kombinuje najbolju procesorsku snagu u klasi i tehnologiju obrade 3D grafike na jednom čipu. Zaista postoje mnoge inovacije u Sandy Bridge grafici, uglavnom usmjerene na povećanje performansi pri radu sa 3D. O "nametanju" integrisanog video sistema možete dugo raspravljati, ali drugog rešenja kao takvog nema. Ali postoji takav slajd iz službene prezentacije, za koji se tvrdi da je uvjerljiv, uključujući i mobilne proizvode (laptop):

Već sam govorio o novim tehnologijama druge generacije Intel Core procesora, tako da se neću ponavljati. Ja ću se samo fokusirati na razvoj. Intel Insider, čijim izgledom su mnogi bili iznenađeni. Koliko sam shvatio, ovo će biti neka vrsta prodavnice koja će vlasnicima kompjutera omogućiti pristup filmovima visoke definicije, direktno od kreatora ovih filmova - nešto što se ranije pojavljivalo tek neko vreme nakon najave i pojave DVD-a ili Blu-a. ray diskovi. Da bi demonstrirao ovu funkciju, Intel VP Muli Eden(Mooly Eden) pozvan na binu Kevin Tsujiharu(Kevin Tsujihara), predsjednik Warner Home Entertainment Group. citiram:

« Warner Bros. smatra lične sisteme najsvestranijim i najraširenijim platformama za isporuku visokokvalitetnog zabavnog sadržaja, a sada Intel ovu platformu čini još pouzdanijom i sigurnijom. Od sada ćemo putem WBShop-a, kao i naših partnera kao što je CinemaNow, moći korisnicima PC-a pružiti nova izdanja i filmove iz našeg kataloga u pravom HD kvalitetu.”- Muli Eden je demonstrirao rad ove tehnologije na primjeru filma „Početak“. U partnerstvu sa vodećim studijima i medijskim divovima (kao što su Best Buy CinemaNow, Hungama Digital Media Entertainment, Image Entertainment, Sonic Solutions, Warner Bros. Digital Distribution i još mnogo toga), Intel gradi siguran i protiv piraterije (hardver) ekosistem za distribuciju, skladištenje i reprodukciju video zapisa visokog kvaliteta.

Rad gore pomenute tehnologije biće kompatibilan sa dva podjednako zanimljiva razvoja koja su takođe prisutna u svim modelima procesora nove generacije. Govorim o (Intel WiDi 2.0) i Intel InTru 3-D. Prvi je za bežični prijenos HD videa (podržava rezolucije do 1080p), drugi je za prikazivanje stereo sadržaja na monitorima ili HDTV-ima putem veze HDMI 1.4.

Još dvije funkcije za koje nisam našao pogodnije mjesto u članku - Intel Advanced Vector Extensions(AVX). Podrška procesora za ova uputstva poboljšava performanse aplikacija koje zahtevaju veliki broj podataka, kao što su audio uređivači i profesionalni softver za uređivanje fotografija.

… i Intel Quick Sync Video- Zahvaljujući saradnji sa softverskim kompanijama kao što su CyberLink, Corel i ArcSoft, procesorski gigant je uspeo da poveća performanse ovog zadatka (transkodiranje između H.264 i MPEG-2 formata) za 17 puta u odnosu na performanse integrisane prethodne generacije grafika.

Pretpostavimo da postoje procesori - kako ih koristiti? Tako je - uz njih su najavljeni i novi čipsetovi (logički setovi) koji su predstavnici serije "šezdesete". Očigledno, postoje samo dva seta rezervirana za žedne potrošače, a to su Intel H67 i Intel P67, na kojoj će biti izgrađena većina novih matičnih ploča. H67 je sposoban da radi sa integrisanim video jezgrom, dok je P67 opremljen Performance Tuningom za overklok procesora. Svi procesori će raditi u novom soketu, 1155 .


Drago mi je što se čini da su novi procesori kompatibilni sa Intelovim procesorskim soketima sa arhitekturom sljedeće generacije. Ovaj plus je koristan i za obične korisnike i za proizvođače koji ne moraju redizajnirati i kreirati nove uređaje.

Intel je ukupno predstavio više od 20 čipova, skupova čipova i bežičnih adaptera, uključujući nove Intel Core i7, i5 i i3 procesore, Intel 6 serije čipova i Intel Centrino Wi-Fi i WiMAX adaptere. Pored gore navedenih, na tržištu se mogu pojaviti i sljedeće „značke“:

Ove godine se očekuje puštanje više od 500 modela desktop računara i laptopa vodećih svjetskih brendova na novim procesorima.

I za kraj, još jednom odličan video, ako ga neko nije pogledao:

Top Related Articles