13. Tétel VLIW-architektúrák Flashcards
VLIW architektúra (Very Long Instruction World) jellemzői
1.) Térbeli és időbeli párhuzamosítás.
2.) Függőségek kezelése Compiler által szoftveresen.
3.) Új utasítás forma:
• több utasítást tartalmazó utasításszó (függőségektől mentes)
Előfeltételei:
• függőségek kezelése
• utasítások hatékony ütemezése
Utasításmező: 1-1 mező 1-1-VE-et vezérel
Utasításszó:
-256-1024 bit
-7-28 utasítás
kép45
VLIW architektúra fejlődése
- Korai vagy, széles VLIW
2. Keskeny VLIW
VLIW architektúra előnyei
- Ugyanolyan fokú párhuzamosság esetén jóval egyszerűbb felépítés.
- Ugyanolyan komplexitás esetén nagyobb feldolgozási sebesség.
VLIW architektúra hátrányai
- Compiler (statikus ütemezés):
Az ő felelőssége minden függőségtípus kezelése
Pontosan kell ismernie a fizikai architektúrát:
VE –egységek típusát és számát
VE ismétlési és késleltetési idejét
a gyorsító tárak betöltési idejét, késleltetését stb.
A compilertől elvárt, hogy agresszív párhuzamosítást hajtson végre, hogy ciklusonként
elegendő párhuzamosan végrehajtható utasítást találjon. - Forradalmian új architektúra
• Teljesen új utasításkészlet architektúra: ISA -> idő, és pénz
Széles VLIW: 10-20 VE Keskeny
VLIW: 4-8 VE
• utasításszó kb. 100 bit
• digitális jelfeldolgozás
• utasításszó: 4 -8 műveletet tartalmazott
VLIW alkalmazási területek
- Digitális jelfeldolgozás, multimédia
- Szerver rendszerek
- Notebook (Transmeta) – kevésbé energiaigényes
Keskeny VLIW-ek jellemzői
- Fordítási időben történő ütemezés szoftveresen
* A CPU egyszerűbb, viszont több hely van a regiszterek, VE-ek valamint a CACHE-nek számára
EPIC
(a VLIW -hez hasonlók, csak itt kifejezetten párhuzamos végrehajtás) (Intel-HP elnevezés a
VLIW-ekre)
o Cél: a lehető legtöbb utasítás fusson párhuzamosan, még ha ezek egy része feleslegesen is
fut le.
o CPU sebesség nőtt, a memóriáé kisebb mértékben.
o Fordítási időben történő ütemezés lehetőséget ad a spekulatív adatbetöltésre pld.: LOAD és USE
(adat megjelenése) közé más független utasításokat tud betölteni „optimalizáló compiler”
Esettanulmány IA-64 architektúra Intel Itanium (Merced, VLIW)
Mit határoz meg az ISA (utasításkészlet architektúra)
• utasításokat
• adatformátumokat (adattípus)
• regisztereket
• címzési módot
• memória modell (memória felépítés)
• megszakítást és a csapdakezelést
• I/O kapcsolatok kezelését
• kompatibilitás más ISA-kal
Ezt mind figyelembe kell venni ezért olyan bonyolult a dolog
Egy teljesen új rendszerben gondolkodtak, ami nem kompatibilis az x86-tal
Merced CPU
• 64 bites, regiszterekben gazdag architektúra. Szószélesség 64 bit és bájtonként címezhető.
• Mindent a Complier vezérel -> többletbitek segítségével (ahogy ez egy VLIW architektúránál
elvárható)
• Utasításszó 128 bit (két szó)
• 128 db általános célú regiszter 64 bitesek
• 128 db FP regiszter 82 bitesek
• 64 db predikátum regiszter 1 bites regiszterek
• 8 db ugrási/branch regiszter
• 4 féle végrehajtó egység típus:
o I: integer unit
o M: LOAD/STORE
műveletekhez
o B: branch műveletekhez
o F: lebegőpontos műveletekhez Logikai architektúrája az IA 64-nek
• Utasításszó 128 bit 3 utasításból és template mezőből áll (Template mező: mely utasítások hajthatók végre párhuzamosan?)
A lehívási ráta L1 Cache-ből 2 utasítás szó /ciklus.
• Template mező: értelmezése nem csak egyetlen utasításra vonatkozik.
• Az utasításszóba bekerülhetnek független és függő utasítások is.
Template mező
• Ez határozza meg, az utasításnak az adott VE-hez történő hozzárendelését. A mező jelzi a STOP-ok meglétét. A STOP előtti 1 v. több utasításnak erőforrás függése van a stop utáni 1 – vagy több utasítással.
Tulajdonságok (intel itanium)
Hardveresen támogatja:
• Előre jelzett végrehajtást
(predicted execution)
• Vezérlési előrejelzést (control speculation)
• Adat előrejelzést (data speculation)
• Szoftver futószalagot
• Egy feltételes elágazás mindkét végét végrehajtja (predikátum regiszter)
• A hivatkozás csak akkor érvényesíthető, ha a predikátum regiszter értéke 1
Vezérlési előrejelzés
Pld. elágazás esetén LOAD utasítás:
o A Compiler kihozza a LOAD utasítást az elágazás elé. o Az eredeti helyre egy ellenőrző (check) utasítást tesz. o => RAM késleltetés csökkentése!
Adat előrejelzés/spekuláció
LOAD lehet spekulatív jellegű => veszélyeztethetné a regiszter tartalmat
Kiküszöbölés: speciális táblázat segítségével követik az aktuális regiszter tartalom hovatartozását.
Szoftver futószalag
Olyan technika mellyel a ciklusmagot lehet párhuzamosan végrehajtani (cikluson belüli
párhuzamosság)
intel itanium összefoglalása
1) Előre jelzett végrehajtás (predicated execution)
2) Control speculation (LOAD)
3) DATA scepulation (speciális táblázat segítségével ellenőrzi a betöltött adatokat)
4) Szoftver futószalag – arra szolgál, hogy a COMPILER segítségével, ciklusmagot ki tudja bontani,
párhuzamosságát meg tudja oldani
Végrehajtási Modell (Intel Itanium esettanulmány)
kép47
VLIW-eket Integrity rendszerekben és RAS szerverekben használják (reliability, availability,
serviceability)
A párhuzamosságok korlátai
o Nem maradt több kimeríthető párhuzamosság utasítás szinten.
o Az extenzív források kimerültek az általános célú alkalmazásokban.
Új irány: frekvencia erőteljes növelése
PIII (pentium 3) 1333Hz 10 fokozatú futószalag, SSE, P6 architektúra
Kiépítettek egy teljesen új architektúrát a mérnökök: Netburst architektúra P4
1700 MHz, 20 fokozatú futószalag
Frekvencia erőteljes növelésének 2 módja
1) csíkszélesség csökkentése:
• 180nm => 65 nm (ez 0,7-szeres csökkentés)
2) futószalag fokozatok hosszának a csökkentése
• egymás utáni NAND kapuk száma (ez a futószalag hossza)
-> Amennyi idő alatt a „jel” átér
A maximális frekvenciát a leghosszabb futószalag fokozat határozza meg
Disszipációs korlát
4GHz felett hőkatasztrófa (statikus disszipáció – a tranzisztor kikapcsolt állapotában is folyik áram a
Source és a Drain között – exponenciális növekedése a szivárgási áram miatt a tranzisztorokon)
100W/cm2 P4-nél
Disszipáció: Dinamikus: Dd=ACV2fc, Statikus: Ds=VIleak
A: aktív kapuk részaránya
C: a kapuk összesített kapacitása
V: tápfeszültség
fc: órafrekvencia
Ileak: szivárgási áram
A dinamikus disszipáció lineárisan nő a frekvencia növelésével (ha a többi változatlan)
DVFS: dinamikus feszültség és frekvencia skálázás bevezetése
Hogyan:
1. Meghatározzuk a szükséges teljesítményt
2. Frekvencia hozzáillesztése a teljesítményhez
3. Az órafrekvencia fenntartásához minimális feszültség kell
4. AVS (Adaptive Voltage Scaling)
Hatékonysági korlát
sebességolló, növekvő órafrekvenciákon egyre csökkenő teljesítménytöbblet (a teljesítmény
növekedése nem áll egyenes arányban a komplexitás növekedésével, egyre több tranzisztor, egyre
nagyobb fogyasztás, egyre több a függőség)
Párhuzamos buszok frekvencia korlátja
Párhuzamos buszok: Skew hatás, keresztirányú áthallás, elektromágneses interferencia (zaj)