9. Tétel: Második generációs (széles) szuperskalár processzorok Flashcards

1
Q

Szuperskalár processzorok

A
Feltétel:
o Dinamikus utasítás ütemezés.
o Regiszter átnevezés révén kiküszöböli az álfüggőségeket -> ez által a kibocsátási szűk
keresztmetszetet.
d) Feltétel 
o Elágazások becslése dinamikusan
történik.
o Dinamikus előrejelzés (spekulatív becslés) 90 – 95% pontossággal. 
e) Feltétel 
o Kifinomult és kibővített gyorsító tár alrendszer.
f) Sorrenden kívüli betöltés.
Teljesítmény:
- RISC kb. 4 utasítás/ciklus
- CISC kb. 3 utasítás /ciklus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Dinamikus becslés

A

Az egyes elágazások történetét a CPU történetbitek formájában írják le.
Fajtái:
• 1 bites: 1 mélységben vizsgálja az utasításokat: 1 bit azt jelzi, hogy az adott elágazás a legutolsó
végrehajtáskor bekövetkezett-e vagy sem.
• 2 bites
• 3 bites

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

2 bites dinamikus becslés

A
4 állapotú véges automata. A CPU 4 állapotot tart nyilván az elágazásokhoz. (Minden elágazáshoz
külön!) Fajtái:
• 00 határozott soros folytatás
• 01 gyenge soros folytatás
• 10 gyenge elágazás
• 11 határozott elágazás
A kezdő állapot 11
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Dinamikus ütemezés

A
- Más néven
várakoztatás vagy pufferelt utasítás
kibocsátás
- Várakoztató állomás
Lényege:
• pufferelt utasítás kibocsátás
• sorrenden kívüli utasítás ütemezés
Elve (RISC)
kép32
- F, D Issue – kibocsátás nominális rátával működhet mivel nincs függőség vizsgálat!
- Az adatok/utasítások kiküldése a VE-ek felé sorrenden kívül történik. 3 út/ciklus
tudja feltölteni a várakoztató állomásokat 
- Az utasításablak magába foglalja a teljes várakoztató
állomást. Ez az egész ellenőrzésre kerül
végrehajthatóság szempontjából.
- 4 utasítás / ciklus RISC
- 3 utasítás / ciklus CISC
kép33
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Regiszter átnevezés „piszkozat regiszter”

A

Cél: ál-adatfüggőségek kiküszöbölés WAR WAW
A CPU minden célregiszterhez allokál egy átnevezési regisztert.
-> Megnövekszik a független utasítások száma. Mert nem az architektúrális regiszterben tárol.
Átnevezési logika (+ HW ) átnevezi a forrás regisztereket is.
Kell egy átnevezési logika, ezt egy plusz hardver beépítésével tudták megoldani a mérnökök. Ez átnevezi
a forrásregisztereket is annak érdekében, hogy biztosítsa az operandusnak a megfelelő helyről való
beolvasást. Hogyha megszűnik a függőség, akkor az eredményeket visszaírja az architektúrális regiszter
megfelelő helyére. A piszkozat regiszterben végzi el a műveleteket => nem veszélyezteti a regiszter
tartalmakat a hibás becslés.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A II. Generációs szuperskalár RISC CPU végrehajtási modellje

A
- Tipikusan 4 utasítás széles
kép34
Állapot bitek:
0: Operandus nem áll rendelkezésre. 
1: Az operandus rendelkezésre áll, és kiküldhető.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CISC CPU

A

Nóvum (újdonság) : CISC utasításokat átkonvertálják RISC szerű utasításokká.
Átlagosan egy CISC utasítás megközelítőleg átlagosan 1,2-1,5 RISC utasításnak felel meg.
II. generáció összefoglalás:
• VEZÉRLÉS FÜGGŐSÉGEK
o Dinamikus utasítás kezeléssel és
o Spekulatív elágazás kezeléssel Kezelve
o Sorenden kívül kiküldéssel
• Erősforrás függőségek végrehajtó egységek többszörözésével KEZELVE
• Áladat függőségek regiszter átnevezéssel MEGOLDVA
• Való adat függőségek (RAW) – Blokkol, részben kicsit kezeljük a spekulatív elágazás kezeléssel
Mikor történik a végrehajtás?
- Amikor a bemenő operandusai rendelkezésre állnak!
- Adatvezérelt végrehajtás (STRÉBER modell)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Esettanulmány

A

Pentium Pro 1995 – 133MHz (CISC processzor -> CISC megette a RISCeket)
FX futószalag 14 fokozatú (RISC futószalag, de CISC processzor) Központi
várakoztató állomás: 20 bejegyzés.
A szigorúan soros konzisztenciát a ROB biztosította. A
ROB végezte a regiszter átnevezést is.
1) Lehívás
128 bites blokkokban -> utasítás cache
Először ezeket az utasítás részleteket utasítás határra kell illeszteni.
2) Dekódolás, átalakítás
- Ciklusonként maximum 3 utasítás dekódolása RISC-szerű műveletekké
- D1: legfeljebb 4 RISC utasítássá alakítja át a CISC utasításokat
- D2, D3: egyszerű dekódolók -> egy CISC utasítást egy RISC utasítássá tud átalakítani (pl.:+, -)
- MIS dekódoló: 4-nél több RISC-szerű utasítássá dekódol
Minden létrehozott RISC utasítás azonos hosszúságú, azonos formátumú és 128 bites A
RISC szerű utasítások egy várakoztató sorba kerülnek, ami hat bejegyzéses.
Sebesség
Max. 6 RISC utasítás/ciklus
Ha az átnevezési regiszter azonosítóhoz: még nem állt elő az eredmény (a forrás operandus), akkor a CPU a regiszterazonosítót írja be a várakoztató állomásban levő utasítás operandus mezőjébe, és az állapot bitjét 0-ra állítja.
kép35
3 operandusos RISC utasítás. r3 az állapotbit értékét 1-re állítja.
kép36
A CPU csak az állapotbiteket vizsgálja.
Kiküldés: sorrenden kívüli kiküldés, több független utasítás esetén az idősebbet részesíti előnyben.
Visszaírás két helyre történhet:
• ROB
• várakoztató állomásba
ROB frissítése 2 célt szolgál:
• a következő utasítás felhasználhassa az eredményt
• a szigorúan szekvenciális konzisztencia megőrzése A
regiszterek átnevezési sorrendben vannak
kép37
Kiíratási szabályok:
• Csak akkor írható ki, ha minden őt megelőző
utasítás már kiírásra került.
• CISC utasításhoz RISC utasítás csak egyszerre
írhatóak ki. (ez a RISC-CISC konverzió)
• Spekulatív állapotban lévő utasítások nem
írhatók ki. Kiírás után a ROB regisztereket
felszabadítja.
kép38
Kiíratás várakoztató állomásba:
kép39
ha az állapotbit:
• 0, = regiszterazonosító
• 1, = operandus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly