2013 m. sausio 10 d., ketvirtadienis

11.4. Konvejerio ilgis



Procesoriuose skiriasi konvejerio ilgis – pakopų skaičius. Pavyzdžiui, “Pentium II” ir “Pentium III” yra 11 pakopų, o “Pentium 4” – 20. “Athlon” ALU konvejeriai turi 10 pakopų, o FPU/MMX/SSE konvejeriai - 15.
Pentium 2 konvejeris yra 11 pakopų. Išskiriamos 3 komandos išrinkimo, 2 dekodavimo, 3 parengiamieji (registrų peradresavimo, vykdymo buferių formavimo ir spartaus perdavimo), 1 vykdantysis ir 2 rezultato įsiminimo blokai.


IFU       Instruction Fetch Unit
ID         Instruction Decode
RAT     Register Allocator
ROB     Reorder Buffer
DIS       Dispatcher
EX        Execute Stage
RET      Retire Unit


Akivaizdu, jog kuo ilgesnis konvejeris, tuo lengviau didinti taktinį dažnį. Reikalas tame, jog didesnis konvejerio pakopų skaičius atskiriems taktams paskirsto mažiau darbo, tuo pačiu taktas vykdomas greičiau. Pentium 3 turi 12 pakopų konvejerį (FPU  -17-os). Athlon – 10.  Svarbu prisiminti, kad tais atvejais, kai programose yra daug ciklų, neteisingo nuspėjimo atveju konvejeris iškraunamas ir vėl užpildomas kitomis komandomis, todėl per didelis  pakopų skaičius gali turėti ir neigiamą įtaką procesoriaus spartai.
Procesoriaus efektyvumą galima įvertinti ir pagal IPC skaičių (komandas per valandą). Šiuo atžvilgiu AMD “Athlon XP” lenkia “Pentium 4”. AMD “Athlon XP” procesoriai iš tiesų daug spartesni už “Pentium 4”, esant tokiems patiems taktiniams dažniams. Tą patį galima pasakyti apie “Motorola” procesorius “G4”, naudojamus, pavyzdžiui, “Macintosh” kompiuteriuose. “G4” turi tik 4 stadijų konvejerį, todėl iš esmės gali atlikti tą patį, ką ir  “Pentium 4” per pusę taktinio dažnio ar net mažiau. pasirinko “Pentium 4” su labai ilgu konvejeriu.



Vienintelė problema – su tokiu trumpu konvejeriu taktinio dažnio nebegalima smarkiai padidinti.

Pentium 4 turintis 20 pakopų ilgio konvejerį, turi ir mažiausią takto vykdymo laiką, leidžiantį pasiekti didžiausią taktinį dažnį. Deja, vykdant susietas tarpusavyje operacijas, antrajai  teks 20 taktų laukti, kol pasibaigs pirmoji operacija).
Ši problema dalinai išsprendžiama dėka buferio. Kai kurias operacijas iš jo galima vykdyti nepriklausomai nuo ankstesnių rezultato. Tam reikia tiksliai nuspėti atšakas. Taigi, pirmo lygio priešatmintinės talpa Pentium 4 procesoriuje padidintas iki 256 KB (palyginimui: Pentium 3 turi 32, Athlon-128 KBaitus). Be to, naujasis atšakų nuspėjimo mechanizmas leido padidinti atšakų nuspėjimo tikslumą iki 95%.


11.1 lentelė. Procesorių konvejerių pakopos
CPU
Konvejerio pakopos
Maksimalus taktinis dažnis
“Pentium”
5
300 MHz
“Motorola G4”
4
500 MHz
“Motorola G4e”
7
1000 MHz
“Pentium II, III”
12
1400 MHz
“Athlon XP”
10/15
2500 MHz
“Athlon Clawhammer”
12/17
>3000 MHz
“Pentium 4”
20
>5000 MHz

Atkreipkite dėmesį, kad dviejų AMD procesorių sveikųjų skaičių ir slankiojo kablelio skaičių konvejerių ilgis skiriasi .
Procesorinės architektūros naujove tapo priešatmintinė su instrukcijų tvarkymo mechanizmu. Jos užduotis – instrukcijų saugojimas ta tvarka, kurią jos turi būti vykdomos. T.y.,  jei pirmoji instrukcija, esanti adresu 100, nukreipia valdymą į instrukciją esančią adresu 200, tai priešatmintinėje ji bus tiesiogiai po pirmos, instrukcijos, būtent taip kaip turi būti vykdoma ir t.t..

Komentarų nėra:

Rašyti komentarą

Tinklaraščio archyvas

Etiketės