Intel P6

P6  er en superskalær superpipelining-arkitektur udviklet af Intel og understøtter Pentium Pro- , Pentium II- , Pentium III- , Celeron- og Xeon-mikroprocessorerne . I modsætning til x86 -kompatible processorer fra tidligere generationer med en CISC -kerne, har P6-arkitekturprocessorer en RISC -kerne, der ikke udfører komplekse x86-instruktioner direkte, men først afkoder dem til simple interne mikrooperationer.

Den første processor i P6-arkitekturen var Pentium Pro-processoren, som blev annonceret den 1. november 1995 , rettet mod arbejdsstations- og servermarkedet . Pentium Pro-processorerne blev udgivet parallelt med P5 -arkitektur-processorerne ( Pentium og Pentium MMX ) designet til personlige computere . Den 7. maj 1997 annoncerede Intel Pentium II-processoren, som erstattede P5-arkitektur-processorerne. [en]

I 2000 blev P6-arkitekturen på desktop- og serverprocessormarkedet erstattet af NetBurst -arkitekturen , men P6-arkitekturen blev udviklet i Pentium M og Core mobile processorer . I 2006 blev processorerne i NetBurst-arkitekturen erstattet af Core 2 Duo- familien af ​​processorer , hvis arkitektur også er en udvikling af P6-arkitekturen. [2] [3]

Funktionelle enheder

P6-arkitekturprocessorer består af fire hovedundersystemer:

Bestilt forbehandlingsundersystem

Enhederne i dette delsystem omfatter:

Processorer baseret på Tualatin-kernen indeholder desuden en instruktionsforhenter ( Prefetcher ), som forudhenter instruktioner baseret på grentabellen.

Udførelseskerne med gensekventering

Udførelse uden for sekvens, som ændrer rækkefølgen, som instruktioner udføres i uden at ændre resultatet, fremskynder arbejdet ved bedre at fordele anmodninger til hjælpeblokke og minimere deres nedetid. Enheder til at organisere ydeevne med en ændring i rækkefølge omfatter:

Kerneudførelsesenheder inkluderer:

Bestilt færdiggørelsesundersystem Hukommelse undersystem L2 volumen af ​​P6 arkitektur processorer
Volumen (KB) Processorer
0 Celeron Covington
128 Celeron ( Mendocino , Coppermine-128 ), Pentium III ( Coppermine til Xbox [4] )
256 Pentium Pro , Pentium III (Coppermine, Tualatin-256 ), Xeon ( Cascades )
512 Pentium Pro, Pentium II , Pentium III ( Katmai , Tualatin ), Xeon ( Drake , Tanner )
1024 Pentium Pro, Xeon (Drake, Tanner)
2048 Xeon (Drake, Tanner, Cascades 2 MB)

Hukommelsesundersystemet interagerer med hovedhukommelsen. Dette delsystem inkluderer:

Instruktionsudførelse

Pentium Pro processor pipeline

Transportøren består af 12 trin [5] :

Udførelsen af ​​en instruktion begynder med dens hentning og afkodning. For at gøre dette vælges 64 bytes (to linjer) fra instruktionscachen på det første niveau på adressen fra grenforudsigelsesbufferen. Af disse bliver 16 bytes, startende ved adressen fra den næste instruktionsadresseberegningsblok, justeret og videregivet til instruktionsdekoderen, som konverterer x86 instruktioner til mikrooperationer. Hvis instruktionen svarer til én mikrooperation, udføres afkodningen af ​​en af ​​dekoderne for simple instruktioner. Hvis instruktionen svarer til to, tre eller fire mikrooperationer, udføres afkodningen af ​​den komplekse instruktionsdekoder. Hvis instruktionen svarer til et større antal mikrooperationer, dannes de af mikrooperationssekvensplanlæggeren.

Efter at instruktionerne er afkodet , omdøbes registrene , og mikrooperationer og data placeres i en buffer - en backupstation, hvorfra, i overensstemmelse med den optimale eksekveringsrækkefølge og med forbehold for sikkerheden af ​​de operander, der er nødvendige for deres udførelse, de sendes til udførelsesenhederne (maks. 5 instruktioner pr. cyklus). Mikro-ops eksekveringsstatus og dens resultater gemmes i mikro-ops genbestillingsbuffer, og da resultaterne af udførelsen af ​​nogle mikrooperationer kan tjene som operander for andre, placeres de også i redundansstationen.

Baseret på resultaterne af mikrooperationer bestemmes deres parathed til pensionering .  Hvis de er klar, afvises de i den rækkefølge, som programmet angiver, under hvilken tilstanden af ​​de logiske registre opdateres, såvel som den forsinkede lagring af resultaterne i hukommelsen (dataoptagelsesrækkefølgen styres af hukommelsens genbestillingsbuffer) [ 1] .

Arkitektoniske træk

De første processorer i P6-arkitekturen på udgivelsestidspunktet var væsentligt forskellige fra eksisterende processorer. Pentium Pro-processoren blev kendetegnet ved brugen af ​​dynamisk eksekveringsteknologi (ændring af rækkefølgen for udførelse af instruktioner) såvel som Dual Independent Bus-arkitekturen ,  på grund af hvilken mange af de hukommelsesbåndbreddebegrænsninger, der er typiske for forgængere og konkurrenter, blev fjernet. Den første processor i P6-arkitekturen blev clocket til 150 MHz , mens de seneste repræsentanter for denne arkitektur havde en clockhastighed på 1,4 GHz . P6-arkitekturprocessorerne havde en 36-bit adressebus, der gjorde det muligt for dem at adressere op til 64 GB hukommelse (med en process lineære adresserum begrænset til 4 GB, se PAE ).

Superscalar mekanisme til at udføre instruktioner med ændring af deres rækkefølge

Den grundlæggende forskel mellem P6-arkitekturen og dens forgængere er RISC-kernen, som ikke fungerer med x86-instruktioner, men med simple interne mikrooperationer. Dette fjerner mange begrænsninger af x86-instruktionssættet, såsom uregelmæssig instruktionskodning, variabel-længde operander og register-til-hukommelse heltal overførselsoperationer [1] . Derudover udføres mikrooperationer ikke i den sekvens, som programmet giver, men i den optimale med hensyn til ydeevne, og brugen af ​​tre-pipeline-behandling tillader at udføre flere instruktioner i en cyklus [6] .

Superpiping

P6-arkitekturprocessorerne har en 12-trins pipeline. Dette gør det muligt at opnå højere clockhastigheder sammenlignet med processorer, der har en kortere pipeline med samme produktionsteknologi. Så for eksempel er den maksimale klokfrekvens for AMD K6-processorer på kernen (pipeline-dybde - 6 trin, 180-nm-teknologi) 550 MHz, og Pentium III-processorer på Coppermine-kernen kan fungere ved en frekvens, der overstiger 1000 MHz.

For at forhindre situationen med at vente på udførelsen af ​​en instruktion (og følgelig den ledige tid af pipelinen), hvis resultater udførelsen eller ikke-udførelsen af ​​en betinget gren afhænger af, bruger P6-arkitekturprocessorerne grenforudsigelse . For at gøre dette bruger P6-arkitekturprocessorer en kombination af statisk og dynamisk forudsigelse: en adaptiv historisk algoritme på to niveauer ( Bimodal  branch prediction ) bruges, hvis grenforudsigelsesbufferen indeholder en grenhistorie, ellers bruges en statisk algoritme [6] [ 7] .

Dobbelt uafhængig bus

For at øge båndbredden af ​​hukommelsesundersystemet bruger P6-arkitekturprocessorerne en dobbelt uafhængig bus. I modsætning til tidligere processorer, hvis systembus blev delt af flere enheder, har P6-arkitekturprocessorerne to separate busser: Bagsidebus, der forbinder processoren med andet niveaus cache, og frontsidebus , der forbinder processoren med chipsættets nordbro [6 ] .

Fordele

P6-arkitekturprocessorerne havde en pipelinet matematisk coprocessor ( FPU ), som gjorde det muligt at opnå overlegenhed i forhold til sine forgængere og konkurrenter i hastigheden af ​​beregninger med rigtige tal [8] . FPU af P6-arkitektur-processorerne forblev den bedste blandt konkurrenterne indtil introduktionen af ​​AMD Athlon-processoren i 1999 [9] .

Derudover havde processorerne i P6-arkitekturen overlegenhed i forhold til konkurrenterne i hastigheden af ​​at arbejde med andet niveaus cache. Pentium Pro og Pentium II havde en dobbelt uafhængig bus, mens konkurrerende processorer ( AMD K5 , K6, Cyrix 6x86 , M-II) havde en traditionel systembus, hvortil blandt andet en second-level cache var tilsluttet [10] . Med fremkomsten af ​​Athlon-processorer, der også brugte den dobbelte uafhængige busarkitektur, blev ydeevnegabet indsnævret, men Pentium III-processorernes 256-bit BSB (startende med Coppermine-kernen) gjorde det muligt at bevare L2-cache-ydelsesfordelen i forhold til K7 arkitektur processorer, som havde 64-bit BSB. Den dengang forældede systembus af P6-arkitekturprocessorerne, kombineret med den store mængde L1-cachehukommelse i K7-arkitekturprocessorerne, tillod dog ikke at opnå fordele i hukommelsesbåndbredde [11] .

Ulemper

Den største ulempe ved de første P6-arkitekturprocessorer ( Pentium Pro ) var lav ydeevne, når man arbejdede med 16-bit software, der var udbredt på det tidspunkt. Dette skyldtes det faktum, at når man arbejdede med sådanne applikationer, var udførelse af instruktioner ikke i orden (for eksempel kunne Pentium Pro-processoren ikke læse fra et 32-bit register, hvis dens 16-bit lave del havde været skrevet før, og kommandoen, der udførte skrivningen, blev ikke tilsidesat [12] ). I Pentium II-processoren blev denne mangel rettet, hvilket førte til en stigning i ydeevnen ved arbejde med 16-bit programmer med mere end en tredjedel [13] .

P6-arkitekturprocessorerne understøttede drift i multiprocessorsystemer, dog blev der brugt en delt systembus, som gjorde det muligt at forenkle sporingen af ​​bundkort, men påvirkede ydeevnen af ​​processorhukommelsesundersystemet negativt og begrænsede det maksimale antal processorer i system [9] [14] .

P6 arkitektur processorer

CPU Nucleus Produktionsteknologi Udgivelsesår
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 (kobbermine) Pentium IIIS (Tualatin)
Pentium III mobil Celeron (Mendocino) Celeron (Mendocino) Celeron (Coppermine-128)

Udviklingen af ​​Intel-arkitekturer

Noter

  1. 1 2 3 Waiting for Willamette - Historien om IA-32-arkitekturen og hvordan P6-familiens processorer fungerer . Hentet 12. august 2008. Arkiveret fra originalen 2. juli 2013.
  2. Pentium M: en god "desktop" CPU ... som vi ikke vil have (utilgængeligt link) . IXBT.com (26. juli 2005). Dato for adgang: 16. august 2008. Arkiveret fra originalen 24. august 2011. 
  3. Ny vin i gamle vinskind. Conroe: barnebarnet til Pentium III-processoren, nevøen til NetBurst-arkitekturen? (utilgængeligt link) . IXBT.com (9. september 2005). Hentet 16. august 2008. Arkiveret fra originalen 3. januar 2014. 
  4. I modsætning til Celeron-processoren baseret på Coppermine-128-kernen, som har en 4-kanals associativ L2-cache, har denne processor en 8-kanals cache. Se: "Spillekonsollernes verden. Femte del, Upgrade Magazine, 2007, nr. 28 (325), s. 24
  5. Jon Stokes. The Pentium: An Architectural History of the World's Most Famous Desktop Processor (Del I)  (engelsk)  (utilgængeligt link) . Ars Technica (11. juli 2004). Dato for adgang: 19. august 2008. Arkiveret fra originalen 28. januar 2012.
  6. 1 2 3 X86-arkitekturer er forskellige ... . Hentet 11. maj 2022. Arkiveret fra originalen 4. januar 2012.
  7. http://www.pcmag.ru/issues/sub_detail.php?ID=10105&SUB_PAGE=8 - RISC Legacy: Branch Prediction.
  8. Sammenligning af Super Socket-7 og Slot-1 baserede systemer . Hentet 12. august 2008. Arkiveret fra originalen 2. juli 2013.
  9. 1 2 Oversigt over AMD Athlon 600 MHz-processoren . Hentet 12. august 2008. Arkiveret fra originalen 4. april 2013.
  10. PCI bus (Peripheral Component Interconnect bus) Arkiveret 4. april 2013 på Wayback Machine  - se diagram
  11. 1000 MHz processorer . Hentet 12. august 2008. Arkiveret fra originalen 23. juni 2008.
  12. Maxim Len: "ARCHITECTURE P6: HERITAGE OF GENERATIONS" (publiceret på webstedet fcenter.ru den 22. november 2000) - backup- link  (utilgængeligt link)
  13. http://www.pcmag.ru/issues/sub_detail.php?ID=9935&SUB_PAGE=3 - Pentium: historien fortsætter.
  14. Dual-processor Socket A-systemer baseret på AMD 760MP-chipsættet . Hentet 11. maj 2022. Arkiveret fra originalen 23. februar 2009.

Links

Officiel information

Karakteristika for P6-arkitekturprocessorer

Processor anmeldelser