5. VLIW architektúrák Flashcards

1
Q

VLIW működési elve

A

A VLIW (Very Long Instruction Word) architektúrájú CPU-k működési elve összefoglalható az alábbi pontokban:
* időbeli és térbeli párhuzamosság (hasonlóan a szuperskalár architektúrákhoz)
* a függőségek kezelését a compiler végzi (ellentétben a szuperskalárral)
* teljesen új utasításformátummal rendelkezik -> nem kompatibilis egyetlen korábbi architektúrával sem
* egy darab, több (egymástól független) utasítást tartalmazó utasításszó
* a hardver teljesen párhuzamosított kódot kap végrehajtásra (statikus kezelés)
* minden utasítás egy-egy végrehajtó egységet közvetlenül vezérel
* az utasításhossz függ a végrehajtó egységek számáról (akár 1024 bit)

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

Működés előfeltételei

A
  • függőségek kezelése
  • utasítások hatékony ütemezése

Míg a szuperskalár architektúráknál ezek kezelése dinamikus módon (hardveresen) történik, addig a VLIW elvű rendszereknél ez a compiler feladata. Következmény, hogy a VLIW architektúrák egyszerűbb felépítésűek lehetnek, kevesebb tranzisztor szükséges hozzájuk.

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

Előnyei és hátrányai

A

Előnyei a VLIW architektúráknak a szuperskalárokhoz képest:
* Ugyanolyan fokú párhuzamosság mellett jóval egyszerűbb felépítés -> kevesebb tranzisztor
* Azonos számú tranzisztor mellett jóval nagyobb feldolgozási szélesség valósítható meg
Hátrányai:
* Statikus ütemezés (a compiler felelőssége minden egyes függőség típus kezelése) -> a compilernek nagyon pontosan kell ismernie a fizikai architektúrát. Például végrehajtó egységek száma és típusa, ismétlési és késleltetési idők. Ez bonyolult és erősen architektúra függő.
* Elvárás, hogy a compiler agresszív párhuzamos optimalizálást hajtson végre.
* Minden új konfigurációhoz új compilert kell írni.
* Teljesen új utasításkészlet (ISA-t) használ: „hosszú utasítás szó”. Így nem kompatibilis a korábbi programokkal.

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

Logikai ábrázolás

A

A vezérlő logika állítja elő a pufferen keresztül bejövő adatokból az utasítás szavakat, hogy azok kiküldhetőek legyenek a végrehajtó egységek részére párhuzamosan és időben egymástól függetlenül. Minden ciklusban szükséges ugyanannyi utasítást találni.
(KÉP JEGYZETBEN)

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

VLIW típusai

A
  • korai (széles) VLIW architektúra
  • késői (keskeny) VLIW architektúra
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Első generációs (széles) VLIW-ek

A
  • 1970-es években fejlesztették
  • Kb. 10-20 végrehajtó egységgel rendelkeztek
  • Az utasításszavak 256-1024 bit hosszúak voltak. A compilerek ezt még nem tudták kihasználni a kezdetleges függőség kezelés miatt, vagyis a CPU-t nem tudták ellátni elegendő független utasítással.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Második generációs (keskeny) VLIW-ek

A
  • Az 1990-es években új generációs VLIW-eket kezdett fejleszteni az Intel és a HP, Itanium Project néven
  • 2-8 végrehajtó egységgel rendelkeztek, ami lényegesen nagyobb teljesítményt biztosított a fejlettebb compilerek segítségével, mint a korabeli futószalag processzorok.
  • A digitális jelfeldolgozás megjelenése szintén segített a keskeny VLIW architektúrák elterjedésében, mivel ilyen
    feladatoknál nagy mennyiségű független utasítást kell végrehajtani
  • A 2000-es évek elején jelentek
    meg az első ilyen processzorok, 4-8 utasítást tartalmazó utasítás szóval. Az Intel ezeket EPIC (Explicitly Parallel Instruction Computing) processzoroknak nevezte.

Jellemzői:
* Fordítási időben történő ütemezés -> nagy mennyiségű tranzisztor szabadul fel
* A plusz tranzisztorokat extra regiszterek kialakítására használták fel -> regiszterekben gazdag architektúra
* Tervezési elv, hogy a lehető legtöbb utasítás fusson párhuzamosan, akkor is, ha egy részük teljesen feleslegesen hajtódik végre -> növeli a fogyasztást
Tervezési elv előnyei:
* Vezérlés függőség (például feltételes elágazás) esetén mindkét ág végrehajtása kerül  csökken az elágazási késleltetés
* Spekulatív adatbetöltés: optimalizáló compiler funkció, ami annyit jelent, hogy a compiler úgy állítja össze a gépi kódot, hogy amíg például egy adat betöltésére várakozik, addig más utasításokat hajt közben végre.
* Alkalmas nagy megbízhatóságú szerverekben történő alkalmazásra.
Tervezési elv hátrányai:
* Energiapazarló, ezért mobil eszközökben nehezen alkalmazható a nagy fogyasztás miatt.
* Következmény, hogy elsősorban szerverekben terjedt el.

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

IA-64 architektúra

A

Az Intel a VLIW architektúra továbbfejlesztéseként alkotta meg az „új ISA”-t, azaz az IA-64
architektúrát. Ez volt az Intel első 64 bites architektúrája. A tervek között szerepelt az x86 kivezetése
is, viszont az IA-64 nem volt kompatibilis az x86-ra írt szoftverekkel. Bár a Windows XP-t még megírták
IA-64-re is, a drága gyártásnak és a többmagos, 64 bites, de visszafelé kompatibilis x86_64-es
processzorok megjelenésének köszönhetően a fejlesztést 2016-ban végleg leállították.
Maga a VLIW architektúra egy modern, előremutató és megbízható rendszer volt, a fejlesztés
leállításának okai részben üzletiek voltak: amíg az Intel és a HP az IA-64-et fejlesztette, az AMD
megalkotta az x86_64 architektúrát, ami kompatibilis volt az x86-os szoftverekkel. Nem kizárható, hogy
a jövőben még visszatérnek a VLIW CPU-k.

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