3. Tétel: Az ILP Processzorok Fejlődésének Fő Irányvonala Flashcards
Utasításszinten párhuzamos architektúrák
- utasítás szinten párhuzamos
- előd: Neumann CPU, szekvenciális utasítás végrehajtás
- 1985: időbeli párhuzamosság első formái: futószalag elvű feldolgozás -> igény volt a teljesítménynövekedésre
Párhuzamos utasításvégrehajtás megvalósításai
Futószalag elvű: utasítások több részre bontása
Térbeli többszörözés: több vezérlő egység párhuzamos utasítás végrehajtása
A Neumann féle hagyományos architektúra jellemzői
1950-től: Neumann féle hagyományos architektúra
- soros kibocsátás
- soros végrehajtás
- SISD
- szekvenciális feldolgozás
- egyetlen, nem futószalag elvű processzor Intel 8080
Skaláris ILP jellemzői
- 1985-89
- soros kibocsátás
- párhuzamos végrehajtás
- gyorsítótár, elágazás feldolgozás
- SIMD
- időbeli párhuzamosság (ez a fő csapásirány)
- egyetlen futószalag elvű processzor Intel 80286
Szuperskalár ILP jellemzői
- 1990-93
- párhuzamos kibocsátás
- párhuzamos végrehajtás
- térbeli párhuzamosság
- MIMD
- időbeli+térbeli párhuzamosság
- több, futószalag elvű végrehajtó egységet tartalmazó processzor (VLIV)
Szuperskalár ILP + MM/3D kiegészítés
- párhuzamos kibocsátás
- párhuzamos végrehajtás
- utasításokon belüli párhuzamos SIMD
- időbeli, térbeli, utasításon belüli párhuzamosság
- több, futószalag elvű processzor utasításon belüli párhuzamossággal kiegészítve
Mi tette lehetővé a teljesítménynövekedést?
A teljesítménynövekedést a cache memóriák (gyorsítótár) és az elágazásbecslés fejlődése tette lehetővé.
Kibocsátás fajtái
- Statikusan ütemezett VLIW architektúrák.
-compiler oldotta meg a párhuzamosítást. - Dinamikusan működő szuperskalár architektúrák.
-Hardver oldja meg a párhuzamosítást
I. generációs szuperskalár: Pufferelés nélküli utasítás kibocsátás, ez együtt járt egy fejlett
ugrás kezelő, hatékony memória alrendszerrel. - Problémája: Kibocsátási szűk keresztmetszet, ha függőségek alakulnak ki, akkor azok
blokkolják a feldolgozást. - Megoldás: Utasítás várakoztatás – pufferelés.
VLIW fejlődése
VLIW: Intel Itaniumnál használják
- 80-as évek: A statikus függőségeket compiler kezelte.
- 90-es évek: 2. generációs szuperskalárok.
o A függőségeket hardver kezeli dinamikusan.
- 1994 MMX:
o Nincsen függőség.
o Sok adat van, és ezek mind előre rendelkezésre állnak.
2000-től többmagos
- 2000-től o Evolúciós irány:
Feldolgozási sávszélesség 32bitről 64bitre nőtt.
Logikai architektúra változatlan maradt.
CPU AMD X64 utasítás készlet.
o Revolúciós irány:
Teljesen új 64 bites architektúra IA64.
Utasításon belüli műveletek számának többszörözése. (modern VLIW arch.)
Az ILP CPU célja, követelményei, függőségek kezelése
Cél: Hardver erőforrások hatékony kihasználása.
Minden ILP CPU-ra vonatkozó követelmény:
- Az utasítások végrehajtása során figyelembe kell venni a függőségeket.
- Meg kell őrizni az utasítás végrehajtás konzisztenciáját.
Függőségek kezelése:
Futószalag fokozatok:
• Időveszteségek
• Függőségek