8. Első generációs (keskeny) szuperskalár processzorok Flashcards
Szuperskalárok közös jellemzői
Kibocsátási párhuzamosság: a CPU a dekódoló
egységből képes órajelciklusonként több
utasítást kibocsátani (max. 2-6 utasítás /
órajelciklus [kibocsátási ráta]). Vagyis ez már
nem csak időbeli, hanem térbeli
párhuzamosság is. (’90-től)
Utasításablak használata
Függőségkezelés (extra HW)
Evolúciós fejlődési stratégia követése > a korábbi CPU-kra írt utasításokat ezen us le lehetett futtatni.
kép17
Kibocsátás
RISC: max. 3 utasítás / órajelciklus
CISC: max. 2 utasítás / órajelciklus
o 1 db. CISC utasítás = 1-3 db. RISC utasítás
Utasítás ablak
Ez egy része az első és második generációs szuperskalároknak is.
Lényege: olyan puffer, amely az adott ciklusban kibocsátandó
utasításokat tartalmazza. Itt történik a dekódolás és a
függőségek ellenőrzése is. Ha független egy utasítás, akkor az
egy szabad VE-hez kerül tovább.
kép18
Utasítás ablak működési alternatívák
Az utasítás ablak feltöltése történhet:
o utasításonként
o egyszerre az összes, amikor kiürült a teljes utasítás ablak
Utasítások feldolgozása történhet:
o sorrendben
o sorrenden kívül
Utasítás ablak első generációs szuperskalároknál
Egyszerre való feltöltés, sorrendben történő feldolgozás
Harvard architektúra lényege
A programkód és az adatok fizikailag elkülönített útvonalon mozognak és külön tárolódnak.
Harvard architektúra jellemzők
Párhuzamos adatutak vannak, amelyek teljesítménynövekedést eredményeznek
Párhuzamos végrehajtás szempontjából kedvező kialakítás
Képes programot adatként betölteni és adatot programként
Különálló kód- és adat-címtartományokkal rendelkezik
A bithossz eltérő lehet
Manapság módosított módon használják
kép19
Neumann architektúra
Lényege (a fentihez képest): a programkód és az adatok együttes kezelése, tárolása.
Első generációs szuperskalárok tulajdonságai
Jellemzők: Nem pufferelt vagyis közvetlen utasítás kibocsátás: dekódolás után rögtön küldi tovább a VE- nek az utasítást. Statikus elágazáselőrejelzés amint a lehívási (FETCH) alrendszer végez. A programkód bizonyos tulajdonságai alapján dönt az ugrásról. Jól ismeri fel a ciklusokat. 2 szintű gyorsítótár o L1: a CPU lapkán adatgyorsítótár utasításgyorsítótár o L2: külön lapkán 2-3 végrehajtó egység
Példa: első generációs szuperskalárok kibocsátása
Kibocsátjuk a független i1 utasítást.
Utasítás feldolgozás sorrendben történik. Ezért mivel a második utasítás nem hajtható végre, valamilyen függőségre vár, ezért a harmadik utasítás sem fog végrehajtódni.
A következő óraciklusban az i2 utasítás függősége már feloldódott, ezért kibocsátható mind az i2, mind pedig az i3.
Ezzel az utasításablak kiürült.
Feltöltjük a kiürült utasításablakot 3 további utasítással. Közülük az i4 és az i5 független, ezért kibocsátjuk, míg az i6 a függőségek feloldásáig vár a kibocsátásra.
I6 utasítás kibocsátásra kerül.
Utasításablakot feltöltjük. I7 feloldása után nincs függőség. 0 db kibocsátott utasítás
Összes kibocsátása (nincs függőség)
kép20
Végrehajtási modell
Ez egy egyszerűsített működési modell, RISC architektúra.
3 fő részből áll:
1. Első rész: utasítás lehívás (F), utasítás ablak feltöltés
2. Utasítás ablak
3. Hátsó rész: utasítás ablakkiürítés, dekódolás (D), függőség ellenőrzés, kibocsátás, végrehajtás
(E), visszaírás (W/B).
Végrehajtási modell jellemzők
Alrendszerek: F, D, E, W/B
Az alrendszerek pufferekkel vannak elválasztva
A rendszer szélessége: hány utasítást képes feldolgozni ciklusonként. Ezt a legkisebb
kibocsátási képességgel rendelkező alrendszer határozza meg. (Pl PC-nél a HDD.) Ez az egész
rendszer átbocsátási tényezője
Kibocsátási szűk keresztmetszet (D)
Az operandusok az architektúrális regiszterből kerülnek betöltésre
Az eredményeket az architektúrális regiszterbe vagy az operatív tárba írja ki
A feldolgozási ráta közelít az 1-hez! (max. 2 db. utasítás / ciklus)
o < 1 db. utasítás / ciklus a kibocsátásnál o < 1 db. utasítás / ciklus a feldolgozásnál
Függőségek kiküszöbölve, csökkentve a végrehajtási modellben
Memória függőségek csökkentve
Előrejelzés késleltetése csökkentve
Erőforrásfüggőségek csökkentve
Adatfüggőségek NEM csökkentve. A valós és az ál-adatfüggőség is blokkol!
Keskenység
nyilvánvalóan a memória, illetve elágazásfeldolgozás miatt:
o legnagyobb akadály: kibocsátási szűk keresztmetszet
Oka: közvetlen kibocsátás
o a memória problémát a gyorsítótárakkal (L1, L2) kezeljük, csökkentve a szűk
keresztmetszetet
o az elágazásfeldolgozást statikus becsléssel javítjuk.
Példa: Intel Pentium I (első generációs szuperskalár) alaptulajdonságai
- 2 db futószalag, 2 db VE
- 1 db V futószalag
- dedikált
- egyszerű fx, L/S, branch utasítások
- 1 db U futószalag
- univerzális/mester
- minden más művelet elvégzésére
- 5 fokozat
- F lehívás
- D dekódolás
- AG - címszámítás
- E végrehajtás
- W/B visszaírás