Nehalem (hardware)

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Nehalem este un nume de cod folosit de mai multe ori de Intel , începând din 2001 , pentru a indica mai multe proiecte dedicate dezvoltării de noi microprocesoare .

De-a lungul anilor au existat nenumărate indiscreții cu privire la produsele identificabile cu numele de cod Nehalem, adesea nu complet exhaustive și, în consecință, discordante între ele; toate acestea s-au datorat și faptului că ori de câte ori apăreau știri despre un procesor Nehalem „evaziv”, se refereau întotdeauna la un produs încă îndepărtat în timp și pe care informațiile erau încă foarte rare.

Pentru a complica în continuare imaginea ipotezelor s-a adăugat și faptul că proiectul Nehalem a suferit de-a lungul timpului diferite revizuiri, până la anularea acestuia și apoi reutilizarea numelui pentru a indica un proiect complet revizuit și mult mai important.

Primele proiecte

Primele știri referitoare la dezvoltarea Nehalem s-au scurs în 2001 și s-au referit la o arhitectură pe 32 de biți care ar fi trebuit să ajungă în 2004 pentru a o înlocui treptat pe cea NetBurst de la baza Pentium 4 , probabil că va avea succes în nucleul Northwood . a doua generație a Pentium 4).

Ulterior, Intel a decis să continue dezvoltarea arhitecturii NetBurst chiar și după nucleul Northwood, introducând în 2004 a treia generație, cunoscută sub numele de Prescott și începând dezvoltarea succesorului, Tejas . În acest moment, noile clarificări au amânat sosirea lui Nehalem până în 2005 și l-au indicat drept moștenitor al procesorului lui Tejas, care ar fi trebuit, așadar, să fie ultimul procesor NetBurst, dar care nu a ajuns niciodată pe piață ca Intel în 2004. a decis să-și oprească dezvoltarea. datorită diferitelor probleme de stabilitate operațională, în primul rând disipării termice ridicate cerute de ceasul de funcționare ridicat prevăzut de acest proiect.

Având în vedere că Tejas ar fi trebuit să depășească 6 GHz, era de așteptat ca Nehalem să depășească cu siguranță această frecvență folosind procesul de producție de 65 nm deja introdus cu cele mai recente evoluții Tejas, ajungând chiar la 10,20 GHz cu un autobuz la cel puțin 1200 MHz (dar unele zvonuri indicau una inovatoare de la chiar 3 GHz). Cel mai probabil, această nouă încarnare a proiectului Nehalem s-a bazat pe proiectul Tejas și, prin urmare, nu este surprinzător faptul că, după anularea acestuia din urmă, Intel a redus și mai mult știrile referitoare la procesorul Nehalem; în plus, având în vedere calendarul scontat, multe voci au dorit chiar să suspende acest proiect.

Spre sfârșitul anului 2004, însă, se părea că Nehalem revenise la foaia de parcurs Intel, probabil într-o versiune decisiv modificată în comparație cu cea planificată inițial: de fapt, s-a vorbit despre 2006 ca data sosirii acestui nou procesor care acum ar fi fost de tip dual core și cu extensii EM64T (niciodată menționate până acum pentru acest procesor) pentru a efectua calcule pe 64 de biți .

Aceasta a fost ultima știre cu privire la procesorul Nehalem, după care nu s-a mai auzit nimic despre el timp de aproape 2 ani, atât de mult încât este foarte probabil, deși nu s-a declarat niciodată explicit, că proiectul a fost complet suspendat.

Nehalem devine o arhitectură completă

Pe 29 aprilie 2006, numele Nehalem a reapărut, aproape sigur reutilizat pentru a indica un proiect complet diferit de cel planificat inițial. Într-un document de prezentare Intel s-a vorbit înainte de sosirea iminentă a procesoarelor bazate pe arhitectura „ Core ” sau Core 2 Duo Conroe , care au fost de fapt prezentate apoi în iulie 2006 , în timp ce 2007 va fi amintit pentru primele procesoare la 45 nm , care sunt folosite de Intel pentru a testa noul proces de producție combinat cu o arhitectură acum matură, pentru a putea apoi utiliza noul proces pentru noua arhitectură, numai după ce acesta a fost testat pe larg.

În concordanță cu intenția declarată în 2006 de Intel, de a prezenta o nouă arhitectură la fiecare 2 ani, în 2008 va fi prezentată noua generație de arhitectură x86 , denumită cod, Nehalem, bazată pe arhitectura Core a Core 2 Duo. mari diferențe că este considerată o arhitectură complet nouă. La bază va exista utilizarea procesului de producție de 45 nm pe care Intel îl consideră pe deplin exploatat pentru caracteristicile sale în acest proiect. Prin urmare, Nehalem nu mai indică un procesor specific sau una dintre numeroasele etape evolutive ale unei arhitecturi deja consolidate, ci, dimpotrivă, o arhitectură complet reînnoită, care va ocupa toate sectoarele pieței de la mobil la serverul multiprocesor , datorită unui serie de procesoare bazate pe această arhitectură.

Între sfârșitul anului 2009 și începutul anului 2010 , sub denumirea de Westmere (cunoscută inițial sub numele de Nehalem-C ), va sosi a doua generație a arhitecturii Nehalem, ale cărei procesoare vor fi produse la 32nm .

Arhitectura Nehalem este inspirată de Core și se îmbunătățește

Schema bloc a arhitecturii Nehalem

După marele succes obținut cu arhitectura Core, Intel a decis să bazeze proiectul Nehalem pe arhitectura anterioară, optimizând cât mai mult posibil o serie întreagă de aspecte deosebite ale acestui proiect, încercând astfel să „stoarcă” cât mai mult din soluțiile dovedite , adăugând, de asemenea, noi tehnologii care, alături de cele deja introduse în arhitectura Core, vă permit să creșteți și mai mult nivelul de performanță și eficiență al procesoarelor dvs.

Dacă obiectivul urmărit cu dezvoltarea arhitecturii Core anterioare ar fi fost eficiența energetică maximă și, în consecință, ar fi fost necesar să-și bazeze proiectul pe un procesor din sectorul mobil, Nehalem Intel și-a propus să depășească toate limitările arhitecturii anterioare. în celelalte sectoare de piață, în special în cel server, unde concurența AMD este mai evidentă cu propriile sale soluții Opteron . Toate acestea fără a uita eficiența generală a procesorului și, de fapt, obiectivul principal al noii arhitecturi este tocmai optimizarea utilizării puterii disponibile și o gestionare mai eficientă a ciclurilor de ceas, pentru a obține performanțe mai mari în același timp nivelul.resurselor de energie. Noile caracteristici se concentrează mai mult pe optimizarea nucleelor ​​unice și pe arhitectura generală pentru a îmbunătăți sinergia operațională între diferitele nuclee de procesor în beneficiul aplicațiilor, indiferent dacă acestea sunt single threaded sau multi threaded .

Trebuie amintit că arhitectura Core a fost dezvoltată destul de repede pornind de la cea extrem de eficientă a Pentium M pentru a putea oferi într-un timp scurt o nouă linie de procesoare care să le înlocuiască pe cele anterioare bazate pe arhitectura NetBurst a Pentium 4 și Pentium D și astfel să poată recâștiga sceptrul de performanță pierdut în favoarea AMD. Inginerii, începând de la proiectarea unui procesor pur mobil, au trebuit să creeze o gamă complet nouă de procesoare care ar putea varia de la toate sectoarele pieței, inclusiv desktop și server; având în vedere duratele scurte de dezvoltare, a fost necesar să se „stabilească” pentru a oferi practic același CPU pentru toate sectoarele pieței, diferențierea modelelor în special pentru cantitatea de cache L2 și frecvențele de operare (ceas și BUS). În practică, arhitectura Core nu era modulară, sau era doar minim modulară. În orice caz, a fost prima arhitectură Intel care a fost optimizată pentru crearea de procesoare dual core și, datorită trucului Die Double, a fost posibil să se obțină cu ușurință versiuni cu 4 nuclee.

Intel a spus că, pentru a-și atinge obiectivul de eficiență energetică maximă posibilă, a fost necesar să analizăm cu atenție fiecare propunere de îmbunătățire arhitecturală, mergând chiar până la eliminarea celor care nu au putut oferi o îmbunătățire a performanței în ordinea 1% comparativ cu consumul de energie sub 3%. În același timp, dezvoltarea s-a axat pe optimizarea execuției paralele , datorită și unui nou manager de instrucțiuni dedicat instrucțiunilor independente, adică acelea care nu au legătură cu rezultatul altor instrucțiuni și care, tocmai datorită acestei caracteristici, pot fi executate în paralel cu alte instrucțiuni.creșterea astfel a vitezei generale de execuție.

Un exemplu de optimizare a energiei este dat de faptul că, potrivit Intel, noile procesoare vor putea comuta între diferitele stări de energie mai rapid decât cele bazate pe arhitectura anterioară: „ timpul de blocare PLL ”, de exemplu, ar fi fost accelerat cu 56%.

Macro-Fusion, de asemenea, pe 64 de biți

În arhitectura Core a existat o limită intrinsecă în implementarea unei noi caracteristici, cunoscută sub numele de Macro-Fusion , care nu a funcționat în prezența codului pe 64 de biți și în mediul server (unde acest tip de cod este acum banal ) aceasta a fost o limitare evidentă, depășită în Nehalem.

În plus, în general, numărul și varietatea instrucțiunilor x86 care pot fi „îmbinate” împreună au fost considerabil crescute, astfel încât această operațiune să poată fi efectuată în mod repetat în cursul unei singure prelucrări.

Am îmbunătățit detectorul Loop Stream

O altă caracteristică introdusă cu arhitectura anterioară și îmbunătățită în proiectul Nehalem se referă la așa-numitul Loop Stream Detector . Intel a declarat că acest nume indică de fapt un buffer specific în interiorul procesorului, care are scopul de a stoca o serie de instrucțiuni pe care procesorul va trebui să le proceseze la scurt timp după aceea; dacă se detectează o „buclă” sau un „ciclu” în acest buffer, este clar că ar fi de prisos, într-adevăr dăunător performanței, dacă procesorul ar prelua datele care urmează să fie procesate în cache la fiecare iterație prevăzută pentru prin această buclă și, în consecință, „Loop Stream Detector” vă permite să aveți toate instrucțiunile pentru a fi procesate în buclă într-un buffer foarte mic, rezultând astfel o creștere a eficienței de calcul.

Cu Nehalem, Intel a îmbunătățit această funcționalitate aducând instrucțiunile pe care acest buffer le poate stoca de la 18 la 28 și, în plus, nu mai sunt de tipul x86, ci direct µops (micro-operațiuni); o altă îmbunătățire importantă a fost obținută mai ales prin deplasarea fizică a poziției sale în lanțul de conducte ; dacă în arhitectura Core a fost poziționat imediat după faza de „preluare” a instrucțiunilor (adică după faza de citire a instrucțiunilor care urmează a fi procesate), în Nehalem se află după faza „decodează”, dezactivând astfel partea „în amonte” „al conductei în prezența unei bucle, aceasta afectează mai multe etape ale acesteia din urmă permițând economii mai mari de energie în timpul procesării acestor cicluri.

Faptul că instrucțiunile tampon nu mai sunt instrucțiuni complexe x86, dar µops simpli pot aminti cu ușurință structura cache Pentium 4 L1. De fapt, echipa de dezvoltare a arhitecturii Nehalem nu mai este cea din Haifa din Israel care a construit arhitectura Core, ci cea din Hillsboro din Oregon care la acea vreme proiectase arhitectura NetBurst la baza Pentium 4; prin urmare, nu este prea surprinzător faptul că acești ingineri au „resuscitat” într-un anumit sens unele soluții dezvoltate la acea vreme pentru a le putea integra în acest nou proiect. Evident, un proiect care durează aproape 10 ani nu ar putea fi integrat în Nehalem fără modificări adecvate și, de fapt, în timp ce în Pentium 4 exista un singur decodor capabil să diagnosticheze o „ratare a cache-ului de date” sau absența unor date specifice în cache , în noua întruchipare a acestei tehnologii există 4 dintre aceste decodoare flancate de detectorul Loop Stream, care în anumite situații îmbunătățește și mai mult activitatea acestor decodoare.

Noi algoritmi optimizați

Pentru a îmbunătăți performanța cât mai mult posibil, Intel a integrat, de asemenea, o serie de algoritmi noi în întreaga arhitectură Nehalem, inclusiv:

  • Sincronizarea mai rapidă a primitivelor : odată cu difuzarea progresivă a software-ului multithread , prezența unui sistem adecvat de sincronizare a firelor devine din ce în ce mai importantă. Arhitectura Nehalem îmbunătățește sincronizarea instrucțiunilor de limbaj al mașinii pentru a oferi o îmbunătățire a performanței software-ului optimizat pentru multithreading.
  • Managementul rapid al predicției ramurilor : o tehnică larg utilizată pentru îmbunătățirea performanței constă în așa-numitul „ mecanism de predicție a ramurilor ” sau în predicția rezultatelor unei operații care implică un salt condițional, pentru a accelera execuția codului. În cazul în care predicția se dovedește a fi greșită, arhitectura Nehalem ar trebui să permită o degradare a performanței limitată și mai mică comparativ cu procesoarele din generația anterioară.
  • Hardware de preluare îmbunătățit : Nehalem colectează moștenirea lăsată de arhitectura Core anterioară în ceea ce privește operațiunile de preluare (adică recuperarea datelor și instrucțiunilor înainte de momentul utilizării lor reale) și le îmbunătățește eficiența, permițând realizarea chiar și în acest caz, mai mică latențe de acces.

Pietrele de temelie ale arhitecturii Nehalem

Pe lângă reviziunile funcționale deja menționate deja prezente în arhitectura anterioară, noua arhitectură Nehalem a văzut introducerea a 5 inovații majore comparativ cu trecutul, descrise pe scurt mai jos; nu toate sunt complet noi, dar pentru integrare în noua arhitectură au fost perfecționate în continuare pentru a fi optimizate pentru acest nou proiect. Pe de altă parte, cele nepublicate vor duce la o adevărată ruptură cu trecutul, promițând să ofere o eficiență generală din ce în ce mai mare.

Arhitectură scalabilă dinamic

Cu acest nume Intel vrea să indice o particularitate a noii arhitecturi care este definită de producător ca fiind „ scalabilă dinamic ”; pentru a realiza acest lucru, dezvoltatorii au proiectat fiecare modul de bază al procesorului separat, astfel încât să poată „asambla” diversele module ca într-un joc de construcții pentru a crea diferitele modele pentru diferitele sectoare ale pieței. Intențiile Intel sunt, prin urmare, de a putea adapta proiectul la diferitele segmente de piață într-un mod chiar mai simplu decât în ​​trecut, putând opera cu ușurință pe cantitatea de cache, pe interconectarea și controlerele de memorie integrate în procesoare pentru a să poată realiza produse foarte diferite în funcție de nevoile pieței, cu o intervenție minimă asupra proiectului arhitectural general. În acest sens, este util să se ia în considerare 2 procesoare anunțate, Beckton și Havendale (de fapt, ultimul proiect a fost suspendat în primul trimestru al anului 2009 din motive pur comerciale), care vor avea caracteristici atât de diferite încât să pară aproape 2 proiecte complet separate și în schimb, ambele se bazează pe noua arhitectură Nehalem și, prin urmare, reprezintă un exemplu excelent pentru a înțelege potențialul acestei abordări „scalabile” ilustrată de Intel.

La mijlocul lunii iunie 2008, Intel a furnizat câteva detalii despre modul în care a configurat organizarea internă a noii arhitecturi pentru a fi scalabilă în funcție de domeniul de utilizare pentru care va fi destinată o versiune specifică a procesorului. Componentele interne ale procesorului, cum ar fi nucleul, controlerul de memorie și BUS-ul I / O , pot gestiona independent frecvența de funcționare și tensiunea de alimentare. Acest rezultat a fost obținut prin intermediul unei interfețe de tip sincron, și nu asincron cum sa întâmplat în abordările anterioare cu domeniu similar, astfel încât să se minimizeze latența de acces.

Intel QuickPath Interconnect (QPI)

Arhitectura Nehalem a adus cu sine mai multe inovații, într-un anumit fel revoluționare, cel puțin în casa Intel; printre acestea este necesar să ne amintim de adoptarea noii magistrale seriale CSI (acronim pentru Common System Interface) care a fost apoi redenumită oficial în „ Intel QuickPath Interconnect ” (QPI). Acesta este un nou tip de BUS de comunicații care este integrat în procesoare destinate serverului high-end și sectorului desktop, care reprezintă în multe feluri alternativa Intel la HyperTransport , standardul de comunicație utilizat de AMD în arhitecturile sale Athlon 64 , Opteron . Și Fenomen .

Soluțiile anterioare bazate pe sistemul tradițional BUS au început să-și arate limitele de performanță în special în domeniul serverului și mai precis în domeniul multiprocesorului , unde acum existau adevărate blocaje în comunicarea dintre diferitele procesoare și chipset-uri . Scopul principal al QPI BUS este acela de a permite procesorului să comunice direct cu diferitele alte componente conectate la placa de bază , beneficiind astfel de o lățime de bandă mai mare și de latențe din ce în ce mai reduse. Caracteristica particulară a QPI este aceea de a fi o tehnologie de conectare „punct la punct” care elimină dezavantajele provocate de un singur BUS partajat între toate procesoarele, controlerul de memorie și controlerul I / O. QPI utilizează linkuri de 6,4 Gigatransfer pe secundă, pentru o lățime totală de bandă totală care poate ajunge până la 25 GB / s pentru fiecare link (jumătate, 12,8 GB / s, în fiecare direcție); cu alte cuvinte, fiecare procesor din sistem comunică cu chipset-ul printr-un link de lățime de bandă de 25 GB / s.

La fel ca întreaga arhitectură, chiar și QPI BUS în sine a fost conceput pentru a fi foarte scalabil și ca o demonstrație a acestui fapt putem menționa faptul că există mai multe proiecte diferite bazate pe numărul de legături QPI și frecvența lor de funcționare. Procesoarele Bloomfield deja prezentate integrează o singură conexiune, în timp ce Gainestown, care va sta la baza următorului Xeon DP pentru sistemele biprocesor , va avea 2; versiunea destinată sectorului serverului multiprocesor , Beckton, pe de altă parte, va avea 4 și nu este exclusă o versiune cu 8 conexiuni QPI distincte, ceea ce face posibilă construirea de sisteme de server până la 8 moduri bazate pe aceste procesoare, care sunt capabile pentru a face schimb de informații între ele direct sau pentru a fi conectat întotdeauna direct la un număr mare de periferice. În sectorul serverelor, se pare că tehnologia QPI va fi implementată prin intermediul a 2 legături pe lățime completă și 2 pe jumătate, pentru un total de 32 GB lățime de bandă disponibilă.

O altă caracteristică foarte importantă promisă prin adoptarea standardului QPI este implementarea acestui BUS nu numai în procesoarele x86 bazate pe Nehalem, ci și în viitoarele soluții Itanium 2 Tukwila , pentru a „uni” cele două lumi x86 și IA-64 . Intel promite că în viitor va fi posibilă înlocuirea unui procesor Xeon cu un Itanium 2 pe aceeași platformă hardware fără a fi nevoie de intervenții suplimentare.

Controler de memorie RAM integrat

Noul BUS serial nu este singura caracteristică inspirată de soluțiile AMD care a fost implementată în procesoare bazate pe arhitectura Nehalem: controlerul de memorie RAM este, de asemenea, integrat în toate noile procesoare. Inițial, era de așteptat ca doar unele versiuni să integreze acest controler, dar mai târziu Intel a decis să extindă această funcționalitate la întreaga gamă.

Prezența unui "controler de memorie" integrat în procesor permite obținerea a 2 beneficii importante: în primul rând reducerea latenței legate de comunicațiile procesorului cu memoria, în al doilea rând o scalabilitate a lățimii de bandă direct proporțională cu numărul de procesoare prezente in sistem.

Spre deosebire de ceea ce se întâmplă în cele mai recente proiecte de acasă AMD, procesoarele Phenom , în care există 2 controlere de memorie DDR2 pe 64 de biți fiecare, controlerul integrat în soluțiile Nehalem acceptă memorie DDR3 până la configurații pe 4 canale (numai pentru soluțiile Xeon MP pentru multiprocesor sisteme); deja cu 3 canale de memorie (utilizate pentru soluțiile high-end de pe piața desktopurilor) cu suport pentru memoria PC3-12800 (adică DDR3 la 1600 MHz) este posibil să se obțină o bandă teoretică de memorie de 38,4 GB / s, care constituie totuși , un salt semnificativ în comparație cu trecutul. Cea mai bună performanță realizabilă cu soluțiile anterioare arhitecturii Nehalem, care sunt cel mult dual channel, ating „doar” 21,3 GB / s. La modelele cu controlere de memorie triplă canal care funcționează cu module DDR3-1333, aceasta atinge 32 GB / s, dar numai unele modele pot profita de acest standard de memorie, în timp ce altele sunt limitate la DDR3-1066.

Deși în domeniul monoprocesorului avantajele acestei integrări sunt mai mult teoretice decât practice (creșterea performanței, deși vizibilă, nu este tocmai izbitoare), avantajele reale ale acestei noi abordări introduse de Intel vor fi mai evidente în sectorul serverelor și în în special în sectorul multiprocesorului (încă o dată este evident că Intel cu Nehalem s-a gândit mai ales să optimizeze acest sector). Folosind abordarea tradițională, în care controlerul de memorie RAM era amplasat în podul nordic al chipset-ului, cu fiecare nou CPU plasat în sistem, lățimea de bandă a canalului dedicat comunicării cu memoria a rămas constantă, devenind, de asemenea, un blocaj. configurații mai extreme. Acum, deoarece controlerul este prezent în fiecare procesor, cu fiecare procesor adăugat, lățimea canalului către memorie crește, de asemenea, proporțional, deoarece fiecare dintre ele are propriul său spațiu de memorie locală.

Deoarece există mai multe controlere de memorie independente și, prin urmare, fiecare procesor are un spațiu de memorie rezervat, este clar că Intel a trebuit să ofere posibilitatea fiecărui procesor de a accesa spațiul de memorie al altuia; Prin urmare, este posibil să distingem 2 situații diferite de acces la memorie, în funcție de faptul dacă un procesor încearcă să acceseze o datum prezentă în spațiul său de memorie, care ia numele de „memorie locală”, sau dacă încearcă să acceseze o datum prezentă în memorie spațiul altcuiva sau încercați să accesați „memoria la distanță”. În primul caz, amplitudinea canalului de legătură va fi maximă și latența de acces minimă, în timp ce în al doilea caz, deoarece transferul de date este necesar printr-o legătură QPI între cele 2 procesoare, va exista o ușoară scădere a performanței.

Pare foarte dificil să se prevadă cât de mult poate încetini încetinirea datorată acestei organizări a memoriei în termeni practici, întrucât depinde în mare măsură de tipul aplicației utilizate; conform Intel, latența unui acces la „memoria la distanță” este mai mare cu aproximativ 70%, în timp ce lățimea de bandă poate fi redusă la jumătate, comparativ cu accesul la „memoria locală”.

Multi-Threading simultan

O nouă încarnare a tehnologiei Hyper-Threading a fost integrată în arhitectura Nehalem, care a luat numele de simultan Multi-Threading (acesta este de fapt denumirea generică a acestei tehnologii deja folosită de alți producători și care a fost redenumită de Intel la momentul lansării procesoarelor cu Hyper-Threading). Tehnologia Hyper-Threading a fost abandonată de Intel împreună cu trecerea de la arhitectura NetBurst la Core, deoarece părea că nu aduce practic beneficii atunci când este asociată cu procesoare dual core bazate pe acea arhitectură.

Este probabil, deși nu a fost confirmat oficial de Intel, că reapariția unei tehnologii de acest gen, precum ceea ce s-a făcut pentru inovațiile făcute la „Loop Stream Detector” menționate mai sus și care este evident inspirată de ceea ce a fost dezvoltat la timpul pentru Pentium 4, depinde de faptul că echipa de dezvoltare este aceeași; de fapt, este destul de înțeles că, după o serie de eforturi dedicate dezvoltării anumitor tehnologii, dezvoltatorii înșiși sunt reticenți să le abandoneze complet și, de asemenea, unele modificări interne ale arhitecturii Nehalem, cum ar fi creșterea lățimii de bandă a memoriei și latența scăzută a accesului dată de controlerul integrat a favorizat cu siguranță reintroducerea acestuia.

La fel ca ceea ce este posibil cu Hyper-Threading, noua versiune, simultană Multi-Threading, permite fiecărui nucleu să proceseze două fire simultan, pentru un total de fire de gestiune egale, prin urmare, egale cu dublul nucleelor ​​procesorului prezente în sistem. Practic, în prezența unor astfel de tehnologii, sistemul de operare „vede” dublul nucleelor ​​existente fizic în sistem; luând de exemplu un procesor Nehalem cu 4 nuclee „fizice”, dacă tehnologia SMT este activată de BIOS, sistemul de operare va vedea 8 nuclee „logice” care din punct de vedere al software-ului nu vor putea fi distinse de 8 nuclee fizice reale.

Trebuie subliniat faptul că, pentru a utiliza tehnologii precum SMT, este încă necesară duplicarea unor zone interne ale procesorului, și în special a registrelor (aceasta este totuși o economie considerabilă în comparație cu duplicarea nucleelor ​​întregi, „plătite” evident cu un impact mai mic asupra performanței reale). Intel nu a furnizat multe detalii cu privire la principiile de funcționare care diferențiau această nouă încarnare a tehnologiei în comparație cu ceea ce se întâmplase în momentul Pentium 4, limitându-se la a spune că este substanțial diferită, mai ales în ceea ce privește eficiența generală, datorită, de asemenea, prezența unei cantități mai mari de cache și lățime de bandă de memorie mai mare datorită controlerului de memorie integrat.

Pentru moment, se știe că o diferență depinde tocmai de abordarea diferită pe care vechea arhitectură NetBurst și noul Nehalem o au față de paralelismul instrucțiunilor; în timp ce vechiul proiect furniza procesorelor conducte foarte lungi (inițial 20 de etape, dar chiar și 31, în versiunile ulterioare), în arhitectura Nehalem dezvoltatorii au optat pentru o creștere a numărului de unități de execuție: acum sunt 6 capabili să efectueze 3 operații de calcul și 3 operațiuni de schimb de date către memoria sistemului. Un astfel de număr de unități de execuție a priori ar putea fi, de asemenea, un defect, de fapt, în general, ar fi mai dificil să existe un număr suficient de instrucțiuni care pot fi procesate în paralel prin „saturarea” tuturor celor 6 unități; Intel a compensat această limitare făcând ca noua tehnologie SMT să poată căuta instrucțiuni de executat în paralel în 2 fire în loc de unul singur, așa cum a făcut în vechiul Hyper-Threading.

Pentru a exploata în mod adecvat noile caracteristici ale tehnologiei, Intel le-a furnizat mult timp dezvoltatorilor de software câteva informații specifice pentru a putea integra suportul corect în aplicațiile lor, făcând posibilă și stabilirea dacă un anumit fir de discuții ar trebui trimis către un fizic. nucleu sau către un nucleu.logica făcută vizibilă prin tehnologia SMT.

Pentru a nu crea blocaje, dimensiunile unor buffere din interiorul procesorului au fost, de asemenea, mărite: în special așa-numitul „ Reorder buffer ” care are în practică funcția de stocare a ultimelor instrucțiuni executate în afara ordinii și „reordonare” „pentru a-i optimiza execuția, acum este capabil să stocheze 128 de date față de cele 96 precedente. Alte buffere care au suferit îmbunătățiri sunt următoarele:

  • " Reservation station " - si occupa di smistare le istruzioni tra i vari core - 36 valori (in precedenza erano 32)
  • " Buffer di carico " - 48 valori (in precedenza erano 32)
  • " Buffer di immagazzinamento " - 32 valori (in precedenza erano 20)

Sottosistema video integrato

L'architettura Nehalem, a livello di progetto, prevede inoltre un'altra rivoluzione: la presenza, in alcuni versioni di processori destinate alla fascia economica del mercato, del sottosistema video integrato.

Si tratta di un approccio che segue direttamente quello annunciato da AMD già nel corso del 2006 sotto il nome di Fusion e che non dovrebbe venire alla luce prima del 2010 ; il core grafico verrà inserito nel package in maniera separata dal core della CPU, mediante un approccio aDie Doppio . Inizialmente tale sottosistema video dovrebbe essere una versione overcloccata del core grafico PowerVR e quindi non dovrebbe raggiungere le prestazioni della proposta di AMD sotto questo punto di vista (dato che essa integrerà una GPU derivata dalle soluzioni sviluppate da ATI Technologies ), ma è previsto che in seguito verranno integrate soluzioni derivate dal progetto Larrabee che Intel ha allo studio ormai da diverso tempo e promette di diventare un nuovo riferimento nell'approccio alla grafica 3D.

Inizialmente erano stati annunciati 2 processori (uno desktop e uno mobile) dotati del comparto grafico integrato, ma successivamente, a febbraio 2009 , Intel ha comunicato di aver deciso di "saltare" tali modelli in favore dei loro diretti successori che si differenzieranno soprattutto per essere basati sulla seconda generazione dell'architettura Nehalem e che viene indicata da Intel con il nome in codice di Westmere . La novità più importante introdotta con l'evoluzione Westmere, e quindi con il core Clarkdale è, come già accennato sopra, il nuovo processo produttivo a 32 nm (contro quello a 45 nm previsto da Nehalem) oltre ad altre migliorie generali relative all'architettura.

Altre caratteristiche

Quelli esposti sopra sono solo i "cardini" della nuova architettura, ma non sono le uniche caratteristiche innovative che dovrebbero consentire ad Intel di conservare lo "scettro" delle prestazioni.

Nei nuovi processori sono stati migliorati alcuni algoritmi interni per migliorare l'efficienza complessiva ed è stata adottata una nuova gerarchia della cache. Infine nei nuovi progetti viene integrato l'intero set delle istruzioni SSE4 indicato da Intel come SSE4.2 (dove.2 indica la seconda versione). Il motivo di tale denominazione è da ricercare nel fatto che già nella seconda generazione dei processori basati sull'architettura Core (e realizzati a 45 nm) è stata integrata una parte dell'intero set (e precisamente 47 delle 54 istruzioni), indicato da Intel come SSE4.1.

Le potenzialità delle istruzioni SSE4 erano già state rese evidenti dalla prima implementazione fatta da Intel in quanto esse consentono di migliorare notevolmente le prestazioni in ambito multimediale soprattutto nella codifica/decodifica di flussi video ad alta definizione . Le 7 nuove istruzioni che sono state integrate nell'architettura Nehalem prendono il nome di " ATA " che è l'acronimo di " Application Targeted Accelerators ". Si tratta di piccole istruzioni a bassa latenza destinate all'ottimizzazione di specifiche applicazioni; ad esempio vi è la possibilità di eseguire una serie di operazioni su codice di linguaggi specifici, come XML , e in generale per manipolare le stringhe di caratteri.

Nuovo livello di Cache: Cache a 3 livelli

Schema della struttura della cache dell'architettura Nehalem

Come annunciato sopra, l'architettura Nehalem ha portato con sé una piccola rivoluzione anche nella gestione della cache . A differenza di quanto avvenuto in passato in tutte le ultime generazioni di architetture Intel, in cui essa era divisa in 2 livelli, i nuovi processori ne contengono 3. Anche in questo caso, si notano diverse similitudini con quanto fatto da AMD con la propria architettura concorrente, quella alla base dei processori Phenom , anch'essi dotati di 3 livelli di cache, sebbene tra le 2 implementazioni sussistano molteplici differenze. Intel si è resa conto che una grande cache L2 condivisa tra tutti i core, come avviene nell'architettura precedente, non è efficiente in caso di processori con 4 core nativi (va ricordato infatti che la cache L2 nell'architettura Core era condivisa da ciascuna coppia di core, quindi nelle versioni a 4 core, erano presenti in realtà 2 cache L2 distinte).

Gli sviluppatori hanno quindi deciso di dotare ciascun core una propria cache L1 da 64 KB (divisa a sua volta in 2 blocchi da 32 KB, per le istruzioni e per i dati, al pari di quanto avviene per la precedente architettura Core); la latenza di questa cache però è aumentata leggermente rispetto a quella integrata nell'architettura precedente, 4 cicli di clock contro 3. Intel ha motivato tale scelta con l'intenzione di raggiungere con Nehalem frequenze di clock superiori. Ogni core ha anche una propria cache L2 da 256 KB (a differenza della cache L2 da 4 o 6 MB condivisa tra tutti core dell'architettura Core); una cache L2 così piccola e per di più dedicata a ciascun core ha come conseguenza un netto miglioramento in termini di latenza di accesso che infatti è scesa a soli 10 cicli di clock contro i 15 cicli della cache L2 integrata nei processori basati sulla precedente architettura Core, e che di fatto rende questa cache una sorta di buffer tra quella L1 e la più grande L3, che contiene la maggior parte dei dati in virtù delle maggiori dimensioni. A questi primi 2 livelli di cache si aggiunge, come detto, un'ulteriore cache L3 da 8 MB che viene però condivisa tra tutti i core che dovrebbe avere (ma Intel non ha fatto dichiarazioni ufficiali) un tempo di latenza pari a circa 40 cicli.

Inoltre, al pari di quanto fatto nel processore a bassissimo consumo Atom (presentato nella prima metà del 2008 e destinato ai sistemi ultra portatili) le cache L1 e L2 non sono realizzate attraverso i tradizionali 6 transistor per ogni bit come per le comuni cache dei processori, ma con 8 transistor per ogni bit. Intel ha deciso di utilizzare questo particolare approccio in quanto consente di ridurre la tensione applicata alla cache, e di conseguenza ridurre ulteriormente i consumi.

Cache L3 di tipo inclusivo

Le differenze con il passato non si fermano alla presenza di un ulteriore livello di cache, ma quello che cambia è anche la gestione della gerarchia della cache (e anche in questo caso si tratta di un'ulteriore differenza rispetto all'implementazione AMD): mentre per le architetture precedenti essa era di tipo " esclusivo ", per i processori basati su Nehalem essa è di tipo " inclusivo ". Questa caratteristica significa che all'interno dei nuovi processori la cache L3 contiene anche le informazioni presenti negli altri 2 livelli di gerarchia della cache; in altri termini 1,28 MB circa di cache L3 sono destinati a contenere i dati e le istruzioni presenti nelle altre cache.

A prima vista potrebbe sembrare un approccio poco efficiente, ma Intel ha motivato tale scelta spiegando che nel caso in cui dovesse fallire una richiesta di dati o istruzioni alla cache L3, si avrebbe la garanzia che quanto richiesto si trova al di fuori del processore (quindi nella memoria di sistema) e non vi è così la necessità di dover andare ad ispezionare gli altri livelli di cache come avviene nelle soluzioni tradizionali, a tutto vantaggio di una maggiore velocità computazionale e di una riduzione della latenza. Se al contrario il dato cercato è presente nella L3, allora 1 bit per ciascun core del processore associato ad ogni linea della cache L3 indicherà la "potenziale" presenza di questo dato anche nelle cache di livello più basso e di quale core. Un altro vantaggio derivante da questo approccio è il fatto che lo scambio di dati tra i vari core diminuisce notevolmente, dato che la coerenza della varie cache private è già assicurata.

Nuovo "Translation Lookaside Buffer" (TLB)

Con Nehalem viene introdotto un approccio gerarchico anche per quanto concerne il Translation Lookaside Buffer (TLB); questo buffer contiene una porzione della page table , ovvero quella struttura di dati utilizzata dal sistema operativo che include le corrispondenze tra gli indirizzi virtuali e quelli fisici della memoria. Il TLB, essendo di fatto una cache ad alta velocità, consente di velocizzare la traduzione degli indirizzi virtuali in indirizzi fisici, e si tratta di un elemento presente già da molto tempo nei processori desktop e server, ma unicamente in versione a singolo livello. Più precisamente, nell'architettura Core tale unico livello è di dimensioni estremamente ridotte, pari a soli 16 valori immagazzinabili, seppure molto veloce nel caricamento dei dati, ea questo si aggiungeva un sottolivello (non un vero e proprio secondo livello) in grado di memorizzare 256 valori relativi ai "loads missed".

In Nehalem è stato introdotto un vero e proprio secondo livello da 512 KB per incrementare le prestazioni complessive. Il primo livello è ora condiviso tra dati e istruzioni ed è in grado di memorizzare fino a 64 valori per le cosiddette "small pages" che hanno dimensioni tipiche intorno ai 4 KB, oppure 32 valori per le "large pages", con dimensioni pari a 2-4 MB, in riferimento al caricamento di dati. In riferimento al caricamento delle istruzioni invece esso è pari a quello dell'architettura Core per quanto riguarda le "small pages", quindi 128 valori, e si limita a 7 valori per le "large pages". Il secondo livello, che fa il suo debutto con questa architettura, è in grado invece di operare solo con le "small pages" ma nelle intenzioni del produttore dovrebbe garantire un miglioramento con quelle applicazioni che utilizzano grandi insiemi di dati.

Altre tecnologie implementate: un occhio al risparmio energetico

Oltre alle ormai scontate istruzioni MMX , SSE , SSE2 , SSE3 , SSSE3 , EM64T e XD-bit , è stato implementato, come detto, anche l'intero set di istruzioni SSE4 , indicato come SSE4.2. Non mancano ovviamente la tecnologia di virtualizzazione Vanderpool e quella di risparmio energetico SpeedStep , che nelle nuove CPU vanta decisi miglioramenti; grazie alla nuova tecnologia Power Gate , infatti, i processori della famiglia Nehalem sono in grado di rallentare e accelerare la frequenza di ogni core individualmente a seconda della specifica occupazione e arrivare addirittura allo "spegnimento" indipendente di ogni singolo core, riducendone il voltaggio a zero [1] , e non limitandosi a diminuirne le richieste energetiche. A questa tecnologia se ne unisce anche un'altra esattamente duale, chiamata Intel Turbo Mode [2] che è in sostanza il nuovo nome della Intel Dynamic Acceleration già vista nei Core 2 Duo Merom e Penryn alla base delle piattaforme Centrino Duo Santa Rosa e Centrino 2 Montevina . La nuova architettura Nehalem porta tale tecnologia in tutti i settori di mercato e grazie ad essa è possibile aumentare il clock dei soli core utilizzati in modo da velocizzare l'elaborazione di quelle particolari applicazioni che non sono in grado di sfruttare adeguatamente un processore multi core. Avere meno core attivi, consente infatti di aumentare il clock (e quindi il consumo) dei core rimanenti senza eccedere le specifiche della CPU stessa.

Anche la gestione del calore dissipato ha visto importanti miglioramenti: a differenza di quanto avviene nei processori precedenti, che al raggiungimento di una certa temperatura abbassano istantaneamente il proprio clock al valore più basso possibile, nei nuovi basati sull'architettura Nehalem il clock viene abbassato progressivamente fino al raggiungimento della temperatura adeguata.

Processori basati sull'architettura Nehalem

{{Aggiornare}}

Inizialmente erano previste versioni da 1 a 8 core, ma dato che già a partire dall'inizio del 2008 sono stati presentati i primi processori Celeron Dual Core basati, come il nome lascia facilmente intendere, su un'architettura dual core, appare un po' strano che possa venir presentata una versione di Nehalem ancora single core dopo quasi un anno dalla presentazione delle prime CPU dual core commercializzate a prezzi intorno ai 50 $.

Più probabilmente, e gli ultimi annunci sembrano confermarlo, la famiglia di processori Nehalem sarà costituita "solo" da CPU dual, quad e octo-core. I primi processori basati sulla nuova architettura saranno quelli conosciuti con i seguenti nomi in codice: Bloomfield , Gainestown , Beckton , Clarksfield e Lynnfield . In ogni caso il lancio dei primi processori basati su architettura Nehalem è avvenuta a novembre 2008 , grazie al core Bloomfield.

Come accennato sopra, i processori dotati di comparto video integrato (che erano i progetti Havendale e Auburndale ) sono stati annullati da Intel a febbraio 2009 ; il produttore avrebbe deciso di "saltare" tali step evolutivi in favore delle prime versioni a 32 nm che si chiameranno Clarkdale e Arrandale (rispettivamente per il settore desktop e mobile); ufficialmente tale decisione è stata presa per pure considerazioni di utilità e non per problemi tecnici relativi alla produzione.

A settembre 2007 Intel aveva annunciato di aver appena completato la produzione dei primi prototipi di processori a 4 core, basati su architettura Nehalem, e che questi sono composti da ben 731 milioni di transistor . Si tratta di un valore inferiore rispetto agli 820 milioni di transistor delle soluzioni a 4 core basate sulla seconda generazione dell'architettura "Core" (per esempio il core Yorkfield ) ma giustificata da 2 ragioni fondamentali: la prima risiede nel fatto che la gestione delle comunicazioni interne di un processore a 4 core "nativo" ovvero realizzato in un unico die mediante l'approccio aDie Monolitico , è più semplice da realizzare e richiede quindi meno componenti rispetto alla connessione di 2 die dual core mediante un approccio aDie Doppio come avviene nelle soluzioni precedenti e, in secondo luogo, l'architettura Nehalem è stata sviluppata per sfruttare in maniera ancora più efficiente la cache L2 che è certamente il componente di una CPU che ne fa aumentare più di ogni altro il numero di transistor, e richiederne quindi una quantità minore. Se infatti Yorkfield è dotato di una cache L2 di 12 MB (separata però in 2 blocchi da 6 MB ciascuno condiviso da una sola coppia di core), le soluzioni a 4 core basate su Nehalem ne conterranno 8 MB (condivisa però da tutti e 4 i core).

Prestazioni di Nehalem a confronto con Core

Al momento mancano ovviamente test indipendenti ma sembra che un processore basato su architettura Nehalem, confrontato con un analogo modello appartenente alla precedente generazione (basato quindi sulla versione a 45 nm dell'architettura "Core"), abbia prestazioni single threaded migliori del 10%-25% (a seconda delle applicazioni) e del 20% fino anche al doppio, nelle applicazioni multi threaded . L'aumento di prestazioni sarà dovuto anche al supporto a 128 micro-ops in-flight rispetto alle 96 dell'architettura Core.

Per quanto riguarda invece i consumi, questi dovrebbero essere circa il 30% in meno a parità di prestazioni.

Motherboard completamente ridisegnate

L'architettura Nehalem non va a influenzare solo il progetto dei microprocessori, ma anzi, anche quello delle schede madri (seppure indirettamente). Le varie novità architetturali introdotte con Nehalem, e in particolare il controller della memoria RAM integrato e l'interfaccia QPI, unite ai nuovi socket hanno costretto i vari produttori a riprogettare da zero le proprie soluzioni per poter ospitare i nuovi processori.

Un tale impegno chiaramente ha un impatto negativo sui costi finali dei prodotti, dati dalla necessità da parte dei produttori di ammortizzare l'investimento della riprogettazione; in realtà le nuove caratteristiche introdotte da Nehalem porteranno con sé anche alcuni vantaggi per i produttori di schede madri orientate al settore server. Se fino all'architettura precedente, l'aggiunta di un socket a una scheda madre necessitava anche una buona riprogettazione dei collegamenti tra il chipset e tutti i socket presenti, nelle nuove soluzioni, dato che buona parte delle funzioni precedentemente svolte dal chipset sono ora svolte dalle CPU (controller della memoria e BUS seriale che collega direttamente ciascuna CPU alle altre), l'aggiunta di un nuovo socket alle schede madri diventerà relativamente più semplice ed economico per i produttori.

Considerazioni sull'abbinamento "Processo produttivo/Architettura" di Intel

A partire dall'introduzione dell'architettura Core , successiva alla NetBurst e avvenuta a metà 2006 , Intel ha dichiarato l'intenzione di presentare una nuova architettura ogni 2 anni, in modo da poter tenere il passo con la famosa Legge di Moore . Per aumentare le prestazioni di una CPU mantenendone sotto controllo anche il consumo energetico è necessario non solo ottimizzarne l'architettura, ma anche realizzare i nuovi dispositivi con processi produttivi sempre più raffinati.

Per limitare gli imprevisti delle innovazioni tecnologiche necessarie al rinnovamento generazionale dei propri processori, a partire dagli inizi del 2006 Intel ha iniziato a seguire una strategia denominata " Tick-Tock ": prima viene introdotta una nuova tecnologia produttiva sulla base di un'architettura già collaudata (la fase " Tick ") e in seguito, quando tale tecnologia è in grado di fornire rese elevate, la si adotta per produrre una nuova architettura (la fase " Tock ").

I primi esponenti di questa nuova filosofia di progetto, furono i processori Pentium D Presler (che avevano praticamente la stessa architettura dei precedenti Smithfield ) con cui venne introdotto il processo produttivo a 65 nm (fase " Tick "). Dopo aver collaudato la nuova tecnologia costruttiva con queste CPU, Intel passò alla nuova architettura Core dei Core 2 Duo , prodotta sempre a 65 nm (fase " Tock ").

In maniera analoga, tra la fine del 2007 e l'inizio del 2008 , Intel presentò i processori Penryn e Wolfdale che erano in sostanza dei die-shrink del Core 2 Duo, a 45 nm (fase "Tick"). A fine 2008 , quando anche questo processo produttivo era ormai a punto, arrivò l'architettura Nehalem (fase " Tock "). La sua evoluzione Westmere è stata realizzata a 32 nm a partire dai primi mesi del 2010 (fase "Tick"), in modo da collaudare anche questa tecnologia in vista dell'architettura successiva Sandy Bridge , uscita poi nel 2011 (fase " Tock "). L'intenzione dichiarata di Intel, molto ambiziosa, era quella di migliorare il rapporto performance/watt del 300% entro la fine del decennio.

Seguendo il medesimo principio, Sandy Bridge è stata poi seguita dal die-shrink a 22 nm Ivy Bridge nel 2012 (fase "Tick"), che ha quindi mantenuto la stessa architettura ma ha introdotto un nuovo processo produttivo. Nel 2013 arriverà anche la nuova architettura Haswell (fase " Tock "), il cui die-shrink a 14 nm prenderà il nome di Broadwell (fase "Tick"); quest'ultimo verrà poi seguito negli anni seguenti dall'architettura Skylake (fase " Tock ") e dalla sua ri-scalatura Ice Lake (fase "Tick").

Questa metodologia di sviluppo, nelle intenzioni di Intel, minimizza i rischi propri dell'adozione di una nuova tecnologia produttiva con un'architettura a sua volta completamente nuova, consentendo ai progettisti di concentrarsi, ad anni alterni, sulla risoluzione di una sola classe di problemi.

Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: Intel Tick-Tock .

Il successore

Appurato che bisogna ritenere completamente archiviato il progetto originale, e considerando Nehalem non più uno specifico processore ma un'intera architettura in arrivo alla fine del 2008 , si può identificare Westmere come l'evoluzione a 32 nm dell'architettura Nehalem e, successivamente, l'arrivo di Sandy Bridge (precedentemente conosciuta come Gesher ) a fine del 2010 , rappresenterà l'architettura completamente rinnovata che andrà a succedere a Nehalem.

L'arrivo di Westemere prima, e Sandy Bridge poi, prolungherà quindi la vita dell'approccio " Tick-Tock " descritto poco sopra per l'innovazione delle CPU Intel.

Roadmap

Note

  1. ^ Il nuovo processore per Internet Archiviato il 7 luglio 2009 in Internet Archive .
  2. ^ Intel Turbo Boost technology ( PDF ), su download.intel.com .

Voci correlate

Informatica Portale Informatica : accedi alle voci di Wikipedia che trattano di informatica