Intel P6

P6  este o arhitectură superscalar superpipelining dezvoltată de Intel și care stă la baza microprocesoarelor Pentium Pro , Pentium II , Pentium III , Celeron și Xeon . Spre deosebire de procesoarele compatibile x86 din generațiile anterioare cu un nucleu CISC , procesoarele cu arhitectură P6 au un nucleu RISC care execută instrucțiuni x86 complexe nu direct, ci mai întâi le decodifică în micro-operații interne simple.

Primul procesor al arhitecturii P6 a fost procesorul Pentium Pro, anunțat la 1 noiembrie 1995 , destinat pieței stațiilor de lucru și serverelor . Procesoarele Pentium Pro au fost lansate în paralel cu procesoarele cu arhitectură P5 ( Pentium și Pentium MMX ) concepute pentru computerele personale . Pe 7 mai 1997, Intel a anunțat procesorul Pentium II, care a înlocuit procesoarele cu arhitectură P5. [unu]

În 2000, arhitectura P6 pe piața procesoarelor desktop și server a fost înlocuită cu arhitectura NetBurst , cu toate acestea, arhitectura P6 a fost dezvoltată în procesoarele mobile Pentium M și Core . În 2006, procesoarele arhitecturii NetBurst au fost înlocuite cu familia de procesoare Core 2 Duo , a cărei arhitectură este, de asemenea, o evoluție a arhitecturii P6. [2] [3]

Dispozitive funcționale

Procesoarele cu arhitectură P6 constau din patru subsisteme principale:

Subsistem de preprocesare comandat

Dispozitivele acestui subsistem includ:

Procesoarele bazate pe nucleul Tualatin conțin în plus un prefetcher de instrucțiuni ( Prefetcher ), care preface instrucțiunile bazate pe tabelul de ramuri.

Miez de execuție cu resecvențiere

Execuția în afara secvenței, care modifică ordinea în care instrucțiunile sunt executate fără a modifica rezultatul, accelerează munca prin distribuirea mai bună a cererilor către blocurile auxiliare și minimizând timpul de nefuncționare a acestora. Dispozitivele pentru organizarea performanței cu o modificare a secvenței includ:

Unitățile de execuție ale nucleului includ:

Subsistemul de finalizare comandată Subsistemul de memorie Volumul L2 al procesoarelor cu arhitectură P6
Volumul (KB) Procesoare
0 Celeron Covington
128 Celeron ( Mendocino , Coppermine-128 ), Pentium III ( Coppermine pentru Xbox [4] )
256 Pentium Pro , Pentium III (Coppermine, Tualatin-256 ), Xeon ( Cascade )
512 Pentium Pro, Pentium II , Pentium III ( Katmai , Tualatin ), Xeon ( Drake , Tanner )
1024 Pentium Pro, Xeon (Drake, Tanner)
2048 Xeon (Drake, Tanner, Cascades 2MB)

Subsistemul de memorie interacționează cu memoria principală. Acest subsistem include:

Executarea instrucțiunii

Conducta procesor Pentium Pro

Transportorul este format din 12 trepte [5] :

Execuția unei instrucțiuni începe cu preluarea și decodarea acesteia. Pentru a face acest lucru, 64 de octeți (două linii) sunt selectați din memoria cache de instrucțiuni de la primul nivel la adresa din buffer-ul de predicție al ramurilor. Dintre aceștia, 16 octeți, începând de la adresa din următorul bloc de calcul al adresei de instrucțiune, sunt aliniați și trecuți la decodorul de instrucțiuni, care convertește instrucțiunile x86 în micro-ops. Dacă instrucțiunea corespunde unei micro-operații, decodarea este efectuată de unul dintre decodoarele de instrucțiuni simple. Dacă instrucțiunea corespunde la două, trei sau patru micro-operații, decodarea este efectuată de decodorul de instrucțiuni complexe. Dacă instrucțiunea corespunde unui număr mai mare de micro-operații, atunci acestea sunt formate de planificatorul secvenței de micro-operații.

După decodificarea instrucțiunilor , registrele sunt redenumite , iar micro-operațiunile și datele sunt plasate într-un buffer - o stație de rezervă, de unde, în conformitate cu ordinea optimă de execuție și cu certitudinea operanzilor necesari executării lor, acestea sunt trimise la unitățile de execuție (maximum 5 instrucțiuni pe ciclu). Starea de execuție a micro-op-urilor și rezultatele sale sunt stocate în buffer-ul de reordonare a micro-op-urilor și, deoarece rezultatele execuției unor micro-op-uri pot servi ca operanzi ai altora, ele sunt de asemenea plasate în stația de redundanță.

Pe baza rezultatelor micro-operațiunilor, se determină pregătirea acestora pentru pensionare .  Dacă sunt gata, acestea sunt respinse în ordinea furnizată de program, în timpul căreia starea registrelor logice este actualizată, precum și stocarea întârziată a rezultatelor în memorie (ordinea de înregistrare a datelor este controlată de bufferul de reordonare a memoriei) [ 1] .

Caracteristici arhitecturale

Primele procesoare ale arhitecturii P6 la momentul lansării erau semnificativ diferite de procesoarele existente. Procesorul Pentium Pro s-a remarcat prin utilizarea tehnologiei de execuție dinamică (schimbarea ordinii de execuție a instrucțiunilor), precum și arhitectura Dual Independent Bus ,  datorită căreia multe dintre limitările de lățime de bandă a memoriei tipice predecesorilor și concurenților au fost eliminate. Primul procesor al arhitecturii P6 a fost tactat la 150 MHz , în timp ce ultimii reprezentanți ai acestei arhitecturi aveau o viteză de tac de 1,4 GHz . Procesoarele cu arhitectură P6 aveau o magistrală de adrese pe 36 de biți, permițându-le să adreseze până la 64 GB de memorie (cu spațiul de adrese liniar al unui proces limitat la 4 GB, vezi PAE ).

Mecanism suprascalar pentru executarea instrucțiunilor cu modificarea secvenței acestora

Diferența fundamentală dintre arhitectura P6 și predecesorii săi este nucleul RISC, care nu funcționează cu instrucțiuni x86, ci cu micro-opțiuni interne simple. Acest lucru elimină multe limitări ale setului de instrucțiuni x86, cum ar fi codificarea neregulată a instrucțiunilor, operanzii cu lungime variabilă și operațiile de transfer de numere întregi de la registru la memorie [1] . În plus, microoperațiile nu sunt executate în secvența oferită de program, ci în cea optimă din punct de vedere al performanței, iar utilizarea procesării în trei conducte permite executarea mai multor instrucțiuni într-un singur ciclu [6] .

Superpiping

Procesoarele cu arhitectură P6 au o conductă în 12 etape. Acest lucru permite atingerea unor viteze de ceas mai mari în comparație cu procesoarele care au o conductă mai scurtă cu aceeași tehnologie de fabricație. Deci, de exemplu, frecvența maximă de ceas a procesoarelor AMD K6 de pe nucleu (adâncimea conductei - 6 etape, tehnologie 180-nm) este de 550 MHz, iar procesoarele Pentium III de pe nucleul Coppermine pot funcționa la o frecvență care depășește 1000 MHz.

Pentru a preveni situația de așteptare a execuției unei instrucțiuni (și, în consecință, timpul inactiv al conductei), de rezultatele căreia depinde execuția sau neexecuția unei ramuri condiționate, procesoarele cu arhitectură P6 folosesc predicția ramurilor. . Pentru a face acest lucru, procesoarele cu arhitectură P6 folosesc o combinație de predicție statică și dinamică: se folosește un algoritm istoric adaptiv pe două niveluri ( Bimodal  branch prediction ) dacă tamponul de predicție al ramurilor conține un istoric al ramurilor, în caz contrar se folosește un algoritm static [6] [ 7] .

Autobuz dublu independent

Pentru a crește lățimea de bandă a subsistemului de memorie, procesoarele cu arhitectură P6 folosesc o magistrală duală independentă. Spre deosebire de procesoarele anterioare, a căror magistrală de sistem a fost partajată de mai multe dispozitive, procesoarele cu arhitectură P6 au două magistrale separate: magistrala din spate care conectează procesorul la nivelul cache al doilea și magistrala frontală care conectează procesorul la podul de nord al chipset-ului [6] ] .

Avantaje

Procesoarele cu arhitectură P6 aveau un coprocesor matematic pipeline ( FPU ), care a făcut posibilă atingerea superiorității față de predecesorii și concurenții săi în viteza calculelor cu numere reale [8] . FPU-ul procesoarelor cu arhitectură P6 a rămas cel mai bun dintre concurenți până la introducerea procesorului AMD Athlon în 1999 [9] .

În plus, procesoarele arhitecturii P6 aveau superioritate față de concurenți în viteza de lucru cu cache-ul de nivel al doilea. Pentium Pro și Pentium II aveau o magistrală dublă independentă, în timp ce procesoarele concurente ( AMD K5 , K6, Cyrix 6x86 , M-II) aveau o magistrală de sistem tradițională, la care, printre altele, era conectat un cache de nivel al doilea [10] . Odată cu apariția procesoarelor Athlon, folosind și arhitectura magistrală duală independentă, decalajul de performanță s-a redus, dar BSB-ul pe 256 de biți al procesoarelor Pentium III (începând cu nucleul Coppermine) a făcut posibilă menținerea avantajului de performanță cache L2 față de Procesoare cu arhitectură K7, care aveau BSB pe 64 de biți. Cu toate acestea, magistrala de sistem depășită de atunci a procesoarelor cu arhitectură P6, combinată cu cantitatea mare de memorie cache L1 din procesoarele cu arhitectură K7, nu a permis obținerea de avantaje în lățimea de bandă a memoriei [11] .

Dezavantaje

Principalul dezavantaj al primelor procesoare cu arhitectură P6 ( Pentium Pro ) a fost performanța scăzută atunci când lucrați cu software pe 16 biți care era larg răspândit la acea vreme. Acest lucru s-a datorat faptului că atunci când lucrați cu astfel de aplicații, execuția necorespunzătoare a instrucțiunilor era dificilă (de exemplu, procesorul Pentium Pro nu putea citi dintr-un registru de 32 de biți dacă partea sa inferioară de 16 biți ar fi fost scrisă înainte, iar comanda care a efectuat scrierea nu a fost lăsată deoparte [12] ). La procesorul Pentium II, acest neajuns a fost corectat, ceea ce a dus la o creștere a performanței la lucrul cu programe pe 16 biți cu mai mult de o treime [13] .

Procesoarele cu arhitectură P6 au suportat funcționarea în sistemele multiprocesor, cu toate acestea, a fost folosită o magistrală de sistem partajată, care a făcut posibilă simplificarea urmăririi plăcilor de bază, dar a afectat negativ performanța subsistemului procesor-memorie și a limitat numărul maxim de procesoare din sistem [9] [14] .

Procesoare cu arhitectură P6

CPU Nucleu Tehnologia de producție Ani de lansare
Pentium Pro P6 CMOS / BiCMOS , 500-350 nm 1995 - 1998
Pentium II Klamath, Deschutes CMOS, 350-250 nm 1997 - 1999
Pentium III Katmai, Coppermine, Tualatin-256 CMOS, 250-130 nm 1999—2002 _
Pentium III-S Tualatin CMOS, 130 nm 2001-2002 _
Celeron Covington, Mendocino, Coppermine-128, Tualatin-256 CMOS, 250-130 nm 1998-2002
Pentium II Xeon Drake CMOS, 250 nm 1998-1999
Pentium III Xeon Tanner, Cascades, Cascades 2MB CMOS, 250-180 nm 1999-2001
Pentium Pro (P6) Pentium II (Deschutes) Pentium III (mine de cupru) Pentium IIIS (Tualatin)
Pentium III Mobile Celeron (Mendocino) Celeron (Mendocino) Celeron (Coppermine-128)

Evoluția arhitecturilor Intel

Note

  1. 1 2 3 În așteptarea lui Willamette - Istoria arhitecturii IA-32 și modul în care funcționează procesoarele din familia P6 . Consultat la 12 august 2008. Arhivat din original la 2 iulie 2013.
  2. Pentium M: un procesor „desktop” bun... pe care nu îl vom avea (link inaccesibil) . IXBT.com (26 iulie 2005). Data accesului: 16 august 2008. Arhivat din original la 24 august 2011. 
  3. Vin nou în burdufuri vechi. Conroe: nepotul procesorului Pentium III, nepotul arhitecturii NetBurst? (link indisponibil) . IXBT.com (9 septembrie 2005). Preluat la 16 august 2008. Arhivat din original la 3 ianuarie 2014. 
  4. Spre deosebire de procesorul Celeron bazat pe nucleul Coppermine-128, care are un cache L2 asociativ cu 4 canale, acest procesor are un cache cu 8 canale. Vezi: „Lumea consolelor de jocuri. Partea a cincea, Revista Upgrade, 2007, nr. 28 (325), p. 24
  5. Jon Stokes. The Pentium: O istorie arhitecturală a celui mai faimos procesor desktop din lume (Partea I)  (engleză)  (link indisponibil) . Ars Technica (11 iulie 2004). Data accesului: 19 august 2008. Arhivat din original la 28 ianuarie 2012.
  6. 1 2 3 Arhitecturile X86 sunt diferite... . Preluat la 11 mai 2022. Arhivat din original la 4 ianuarie 2012.
  7. http://www.pcmag.ru/issues/sub_detail.php?ID=10105&SUB_PAGE=8 - RISC Legacy: Branch Prediction.
  8. Comparația sistemelor bazate pe Super Socket-7 și Slot-1 . Consultat la 12 august 2008. Arhivat din original la 2 iulie 2013.
  9. 1 2 Prezentare generală a procesorului AMD Athlon 600 MHz . Consultat la 12 august 2008. Arhivat din original la 4 aprilie 2013.
  10. PCI bus (Peripheral Component Interconnect bus) Arhivat 4 aprilie 2013 la Wayback Machine  - vezi diagrama
  11. procesoare 1000 MHz . Preluat la 12 august 2008. Arhivat din original la 23 iunie 2008.
  12. Maxim Len: „ARHITECTURA P6: PATRIMONIUL GENERAȚILOR” (publicat pe site-ul fcenter.ru la 22 noiembrie 2000) - link de rezervă ( link  inaccesibil)
  13. http://www.pcmag.ru/issues/sub_detail.php?ID=9935&SUB_PAGE=3 - Pentium: povestea continuă.
  14. Sisteme Socket A cu dublu procesor bazate pe chipset-ul AMD 760MP . Preluat la 11 mai 2022. Arhivat din original la 23 februarie 2009.

Link -uri

Informații oficiale

Caracteristicile procesoarelor cu arhitectură P6

Recenzii procesoare