kategória | ||||||||||
| ||||||||||
| ||
|
||||||||||
Elsö generációs (keskeny) szuperskalár processzorok áttekintése(közvetlen kibocsátás, végrehajtási modelljük, kibocsátási szük keresztmetszetük)
Jellemzöi:
Közvetlen (nem pufferelt) utasítás-kibocsátás.
Statikus elágazásbecslés:
o A programkód jellemzöi alapján történik az írás becslése
o Pontosabb, mint a fix elörejelzés
A memória-alrendszer kétszintü gyorsítótárat tartalmaz:
o L1:
A processzorlapkán helyezkedik el
Külön adat- és utasítás-gyorsítótár
egyportos
o L2:
Külön lapkákon helyezkedik el
Közös gyorsítótár az adatok és az utasítások számára
A processzorsínre csatlakozik
Közvetlen utasítás-kibocsátás:
Megvalósítása: Utasítás-puffer
Müködési alternatívák:
Az utasítások sorrendiségének tekintetében
o Sorrendben történö kibocsátás: a függö utasítások blokkolják az utasítás-kibocsátást
o Sorrenden kívül történö kibocsátás: a függö utasítások nem blokkolják az utasítás-kibocsátást
Az utasítás-ablak feltöltése:
o Az utasításokat egyenként pótoljuk
o Az utasítások ablak teljes kiürülése után az egészet pótoljuk
Tipikus példa az elsö generációs szuperskalárra:
Sorrendben történö utasítás kibocsátás
Az utasítás-ablak teljes kiürülése után a teljes feltöltése
Az utasítás-ablak 3 db utasítást tartalma
Jelölés:
Az i-edik ciklusban egyetlen utasítás tudunk kibocsátani, mert az i2 blokkolja a további utasítás kibocsátást.
Az i+1 ciklusban idöközben feloldódott az i2 függösége,
ezért kibocsátható mind az i2, mind pedig az i3. Az
utasítás-ablak ezáltal teljesen kiürül.
Az i+2 cikusban teljesen feltöltjük az utasítás-ablakot, és két független utasítást tudunk kibocsátani.
Az elsö generációs szuperskalár RISC processzor müködési modellje
Az utasítás feldolgozási rendszert alrendszerekre tudjuk bontani, és ezeket külön vizsgálhatjuk
Értelmezhetjük a rendszer átbocsátó-képességét (rátáját, szélességét)
A teljes utasítás-feldolgozási rendszer átbocsátási rátáját a legszükebb keresztmetszetü alrendszer átbocsátási rátája határozza meg
Az egyes alkalmazások utasítás-mixe sajátos és távol áll az utasítás feldolgozásának szempontjából ideális utasítás-mixtöl → minden alkalmazásnak más az átbocsátási rátája
Kibocsátási szük keresztmetszet
Kezeljük a:
o Behívási függöségeket gyorsítótárakkal
o A vezérlés-függöségeket statikus elágazás-becsléssel
Az adatfüggöségek (a valódi és álfüggöségek) okoznak föképpen teljesítmény-csökkenést
o A tipikus példákból láthatjuk, hogy a 3 utasítás-szélességü ablakból nem mindig sikerül kibocsátani 3 utasítást, a függöségek miatt
o A gyakorlatban:
RISC esetén 2-3,
CISC esetén 2 utasítás feldolgozása történik óraciklusonként
o Tehát az elsö generációs szuperskalárokat keskeny szuperskalároknak nevezzük
Jellemzö megvalósítások:
Viszonylag általános célú 2 db futószalag (Pentium I)
2-4 db dedikált futószalag (Alpha 21064)
Találat: 438