NetBurst

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

Microarhitectura NetBurst este arhitectura moștenitoare a P6 din familia CPU Intel x86 . Primul nucleu bazat pe această arhitectură a fost Pentium 4 Willamette , lansat la sfârșitul anului 2000 . A fost primul din linia de procesoare Pentium 4 și, de atunci, toate procesoarele Pentium 4 au folosit doar arhitectura NetBurst.

La mijlocul anului 2001 , Intel a lansat nucleul Foster , bazat tot pe NetBurst, trecând și procesorii Xeon la noua arhitectură. Unele procesoare Celeron au folosit și NetBurst. NetBurst este uneori denumit Intel P7 sau Intel 80786 , dar acestea nu sunt nume oficiale.

Cursa GHz

Arhitectura NetBurst a fost dezvoltată atunci când drumul înalt către creșterea performanței părea să crească frecvența de operare. De fapt, a fost o arhitectură creată pentru a împinge procesorul la frecvențe de 10 GHz și, în acest scop, echipată cu conducte foarte lungi care, în ultima sa încarnare, a atins până la 31 de etape. Astfel de conducte lungi suferă penalizări foarte mari în cazul salturilor care nu sunt prezise corect sau în cazul instrucțiunilor care trebuie să se blocheze din cauza lipsei unor resurse. Pentru a minimiza problema, NetBurst a implementat practic toate tehnicile disponibile pentru a reduce blocajele conductelor și a integrat mai multe conducte pentru a profita de paralelismul codului.

Caracteristici tehnice

Pietrele de temelie ale arhitecturii NetBurst

Arhitectura NetBurst se referă, în principiu, la un set de caracteristici, dintre care cele mai importante sunt „Tehnologia Hyper Pipelined”, „Motorul de execuție rapidă” și „Memoria cache de execuție”.

Tehnologie Hyper Pipelined

Acesta este numele pe care Intel l-a ales pentru conducta în douăzeci de etape prevăzută de prima generație a arhitecturii NetBurst. Aceasta este o creștere semnificativă în comparație cu doar 10 etape în conducta Pentium III . Cu toate acestea, o conductă atât de lungă are dezavantaje, în special un IPC redus ( instrucțiuni pe ciclu ), oricum atenuat de posibilitatea creșterii vitezei ceasului. Un alt dezavantaj este dat de numărul mare de etape care trebuie reluate în cazul în care algoritmul de predicție a ramurilor face o eroare ( cache cache ). Pentru a limita daunele ( pedeapsa ratată ) din cauza acestor probleme inevitabile, Intel a introdus tehnologiile „Rapid Execution Engine” și „Execution Trace Cache” și a rafinat algoritmul de ramificare, îmbunătățind considerabil rata de accesare .

Motor de execuție rapidă

Intel a adăugat două unități pentru operațiuni întregi în ALU peste arhitectura P6. Adăugările sunt un sumator pentru numere întregi și o unitate de calcul pentru adrese. Dar cea mai importantă inovație introdusă de această tehnologie este viteza de ceas a ALU, care funcționează la viteza de ceas dublă. Aceasta înseamnă că, într-un procesor de 3 GHz , ALU funcționează la 6 GHz. Aceste îmbunătățiri combate scăderea IPC și îmbunătățesc foarte mult performanța procesorului în calculele întregi. Dezavantajul este că unele instrucțiuni sunt mai lente, cum ar fi schimbarea , din cauza lipsei unui schimbător de cilindri , care a fost încorporat în fiecare procesor de la 80386 .

Execuție Trace Cache

În memoria cache L2 a procesorului Intel a încorporat o memorie cache de execuție . Această memorie cache stochează micro-operația după decodarea scenei, astfel încât atunci când trebuie să treacă la o nouă operație, în loc să fie nevoită să execute din nou instrucțiunile de preluare și decodare , CPU poate accesa direct la micro-operații prin cache-ul de urmărire, economisind o cantitate semnificativă de timp. În plus, micro-operațiunile sunt păstrate în cache în conformitate cu ordinea de execuție prognozată algoritmic, ceea ce înseamnă că atunci când CPU preia instrucțiunile din cache, acestea sunt deja prezente în ordinea corectă.

Principiile de funcționare

Funcționarea Pentium 4 poate fi rezumată în câțiva pași de bază:

  • Procesorul încarcă operațiile care trebuie efectuate până la maximum 32 de biți
  • Operațiunile cu lungime variabilă x86 sunt traduse în micro-operațiuni similare RISC de 118 biți. Operațiile x86 pot fi, de asemenea, traduse în 4 micro-operațiuni în cazul instrucțiunilor mai complexe.
  • Procesorul rulează micro-operațiunile în conductele sale în modul out-of-order pentru a maximiza paralelismul intern al operațiunilor.
  • Rezultatele sunt colectate și transferate în registrul corespunzător în ordinea stabilită de programul original.
Arhitectura Pentium 4.png

După cum am menționat, scopul arhitecturii NetBurst a fost de a obține frecvențe de operare foarte mari și totul a fost conceput în acest sens. Procesorul încarcă inițial datele, le transformă în microoperări și le plasează într-un buffer numit fereastră de instrucțiuni, precum și semnalizarea microoperărilor decodate într-un buffer numit trace buffer care este utilizat intern de procesor pentru predicția saltului, tratarea excepțiilor și pentru reordonarea corectă datele după efectuarea operațiunilor. Micro-operațiunile sunt operațiuni conceptuale de tip RISC, dar au o lungime de 118 biți pentru a gestiona corect modurile multiple de adresare ale operațiilor x86 . Procesorul continuă să încarce date până când fereastra de instrucțiuni este plină. Unitatea de predicție a saltului , care se bazează pe un tabel cu 512 elemente, care ține evidența celor mai recente salturi și rezultatul lor analizează micro-operațiunile și decide asupra oricărui salt. În cazul unui salt, procesorul verifică tabelul și, dacă constată că instrucțiunea de salt a fost deja executată în trecut, se comportă în conformitate cu conținutul tabelului. În cazul lipsei de date, procesorul se bazează pe un tabel static. O singură predicție greșită poate reduce performanța procesorului cu 20% -30% din cauza conductelor foarte lungi. Procesorul efectuează redenumirea registrelor atât pentru a obține paralelismul maxim permis de executarea în afara ordinii a instrucțiunilor, cât și pentru a contracara limitările arhitecturii x86 care prevede prezența a doar 8 registre de uz general. Procesorul are 128 de registre ascunse pe care le atribuie dinamic la diferite instrucțiuni cu redenumirea registrelor pentru a reduce conflictele. Operațiile sunt împărțite în două cozi: una coadă colectează operațiuni în memorie (încărcare și stocare) și cealaltă pentru toate celelalte tipuri de operații. Fiecare coadă funcționează în modul first-in first-out (FIFO), dar nu există nicio relație între ordinea celor două cozi de îndată ce o unitate funcțională compatibilă cu o instrucțiune fără conflicte devine disponibilă programatorul de coadă transferă educația în funcțional unitate. Programatorii sunt capabili să aloce până la șase operații elementare pe ciclu de ceas. De fapt, ALU-urile pentru operații simple funcționează la o frecvență de ceas dublă, astfel încât pentru fiecare ciclu de ceas sunt capabile să proceseze patru instrucțiuni, celelalte două unități funcționale pot efectua câte o operație și, prin urmare, teoretic pot fi efectuate până la șase operații. deși în realitate acest lucru se întâmplă foarte rar. Procesorul pentru a contracara timpii de acces la memorie care sunt extrem de importanți cu o frecvență de funcționare apropiată de 4 Gigahertz implementează un mecanism de preîncărcare a datelor. Acest lucru este gestionat atât de patru instrucțiuni SSE pentru codul special compilat, cât și de un mecanism de predicție dinamic implementat în procesor, care încearcă să prezică în avans ce cod va fi încărcat. După efectuarea operațiunilor, unitatea finală actualizează registrele în conformitate cu ordinea programului original, trebuie remarcat faptul că orice excepții generate de instrucțiuni sunt tratate și de această unitate, de fapt, excepțiile trebuie ridicate numai atunci când ordinea logică a programului prezice acest lucru și, de îndată ce apar altfel, ar exista un comportament imprevizibil al programelor.

Performanţă

Performanța Pentium 4 în comparație cu frecvența de funcționare nu este deosebit de ridicată. Pentium 4, așa cum am menționat la început, a fost născut pentru a funcționa la frecvențe de operare foarte mari. De fapt, la aceeași frecvență de ceas, oferă performanțe ușor mai mici decât Pentium III anterior. Obiectivul frecvențelor foarte mari a fost atins doar parțial, dat fiind că limitele tehnologice neprevăzute inițial au împiedicat proiectul să atingă frecvențele inițial așteptate de 10 GHz. paritate pentru a obține performanțe mai mari și un consum mai mic.

Procesoare bazate pe arhitectura NetBurst

Succesorul

Arhitectura NetBurst a dat loc, la mijlocul anului 2006 , noii microarhitecturi Intel Core , care își are rădăcinile de design în evoluția proiectului Pentium M Banias , Core Duo Yonah .

Primii exponenți ai noii arhitecturi au fost nucleele Merom , Conroe și Woodcrest , respectiv pentru sectoarele: mobil, desktop și server. Cu toate acestea , în 2006, Intel și-a declarat intenția de a introduce o nouă arhitectură la fiecare 2 ani și, de fapt, în noiembrie 2008 a fost introdus Nehalem , la baza procesoarelor Core i7 , iar pentru începutul anului 2011 sosirea procesoarelor bazate pe Sandy Bridge . Deci, NetBurst ar trebui să fie și ultima arhitectură x86 de lungă durată.

Harta rutieră

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT