A processzorok fejlődésének hatékonysági határa (ennek alapvető oka és megnyilvánulási formái, hogyan változik az Intel és az AMD x86 családok hatékonysága az órafrekvencia növelésekor, a két család tervezési filozófiájának összehasonlítása a hatékonyság szempontjából, a hatékonysági határ értelmezése)
SzA42.
Alapvető okok: 1) általános célú programoknál a funkcionális (alkalmazásban rejlő) párhuzamosság tovább nem fokozható 2) a processzor és a processzort kiszolgáló alrendszerek közötti sebességolló kinyílása -a 2. generációs szuperskalárokat követően az órafrekvenciák rohamos (tízévente 100-szoros) mértékű növekedésének időszakában a mikroarchitektúra egyes kiszolgáló alrendszereinek -operatív tár, (átviteli ráta, késleltetési idő) -gyorsítótárak, (L2 cache elérési ideje) -processzorbusz (átviteli ráta) „sebességnövekedése” egyre kevésbé tudta követni a processzorok igen gyors sebességnövekedését és így egy egyre táguló sebességolló nyílt ki a processzor és egyes kiszolgáló alrendszerei között. 3) a legjelentősebb sebességbeli különbség az operatív tár esetében történt -lassabb ütemben fejlődött a memória (elérési ideje, átviteli sebessége) mint a processzor következmények: -egyszeres kihasználtságú buszoknak vége Intel: Quad Data Rate: 4*100MHz AMD: Double Data Rate: 2*133MHz -kezdetben északi hídon keresztül kapcsolódott a memória, később közvetlen csatolt lett AMD 2003-tól (HypertTransport a mem. és proc. valamint a proc. és proc. között is (MP szerverek)) Intel 2008-tól Intel x86 processzorok hatékonyságának változása az órafrekvencia növelésével: -y tengely: hatékonyság SPECint rendszerrel mérve -x tengely: frekvencia Gigahertzben -látható, hogy fűrészfogas görbék jellemzik az ábrát, ennek oka: 1) az órafrekvencia növelésekor a hatékonyság csökken, viszont 2) az architektúrális újításokkor a hatékonyság nő SPECint_base2000/fc 0.55 Pentium III
Pentium 4 Irwindale 512K on-die L2 2M on-die L3
0.5
*
800 MHz PC-3200 SATA-150 HT
* 100 MHz PC-100 ATA-100
Katmai 512K dir L2
0.40
*
*
100 MHz * PC-100 SCSI-U2W
*
* *
* *
Coppermine 256K on-die L2
* 100 MHz PC-133 ATA-100
*
800 MHz PC-4300 SATA-150
*
0.35
* *
Northwood A 512K on-die L2
*
*
*
Willamette 256K on-die L2
*
400 MHz PC-800 RDRAM ATA-66
*
400 MHz * PC-800 RDRAM ATA-66
*
*
Prescott (1M) 1M on-die L2
* *
Northwood C 512K on-die L2
* *
*
Prescott (2M) 2M on-die L2
*
*
0.45
0.30
*
* *
* *
800 MHz/PC-3200/SATA-150/HT 800 MHz/PC-3200/ATA-100
* 800 MHz/PC-3200/ATA-100 * 800 MHz/PC-2667/ATA-100
Northwood B 512K on-die L2
*
533 MHz PC-800 RDRAM ATA-100
*
*
~ ~ 0.5
1.0
1.5
2.0
1
2.5
3.0
3.5
4.0
fc
(GHz)
AMD x86 processzorok hatékonyságának változása az órafrekvencia növelésével: -y tengely: hatékonyság SPECint rendszerrel mérve -x tengely: frekvencia Gigahertzben itt is fűrészfogas görbék jellemzik az ábrát, de az is látható, hogy: 1) alacsonyabb órajelen dolgoznak, mint az Intel (AMD max: 2,2 - 2,3GHz) 2) viszont magasabb hatékonyság (0,6 fölött, míg az Intel 0,5-t sem érte el) SPECint_base2000/f c Athlon 64 0.65 Clawhammer 1M on-die L2
*
*
*
f memory =f FSB PC-3200 ATA-133
0.60
~ ~
Athlon-XP
0.50
Barton 512K on-die L2
* 400 MHz/PC-3200/ATA-100 Athlon 0.45 K7 512K dir L2 1
*
* *
K75 200 MHz 512K dir L2 2,3 PC-100 * * ATA-66 * 200 MHz * * PC-100 200 MHz ATA-66 PC-133 ATA-66
0.40
* 333 MHz/PC-2700/ATA-100
Palomino 256K on-die L2
* *
266 MHz PC-2100 ATA-100
*
*
Thorougbread 256K on-die L2
*
266 MHz PC-2100 ATA-100
*
Thunderbird 256K on-die L2
0.35
*
*
200 MHz PC-133 ATA-66
0.30
~ ~ 0.5
1.0 1
f L2 =0.5*f c
1.5 2
2.0
2.5
f L2 =0.4*f c (fc =750/800/850 MHz)
3
3.0
3.5
4.0
f L2 =0.3*f c (fc =900/950/1000 MHz)
Összehasonlítás: Intel: -magasabb órajel, kisebb hatékonyság -a piacon az adott processzort azzal lehetett jól eladni, ha a frekvencia nagyságát feltüntették, szerintük attól lett jobb egy újabb processzor az elődjénél, ha magasabb órajelen járt (jobban eladható) AMD: -alacsonyabb órajel, nagyobb hatékonyság -az AMD az Intel folyamatos frekvencianövelésére válaszul vezette be az ekvivalencia-táblázatot, melyben az Intel és AMD termékeket lehetett egymásnak megfeleltetni (pl: AMD Athlon XP 2200+) Hatékonysági határ értelmezése: Az általános célú programoknál a funkcionális párhuzamosság tovább nem fokozható, azaz az általános célú alkalmazásokban utasításszinten rendelkezésre álló párhuzamosság kimerülése. A hatékonyság növelését célzó hardver többletráfordítások egyre csökkenő mértékben térülnek meg.
2
f c (GHz)
SzA43.
Processzorok fejlődésének termikus határa (a dinamikus és a statikus disszipáció értelmezése, arányváltozása, az összdisszipáció növekedése az órafrekvencia növelésekor, a termikus határ értelmezése, megjelenése és következményei)
A dinamikus és a statikus disszipáció értelmezése: a) dinamikus disszipáció: Dd=A*C*V2*fc A tranzisztorok működéséből adódó hőmennyiség. A processzorokban a tranzisztorok szórtkapacitásként írhatóak fel. Ekkora a tranzisztor működése felírható a kondenzátor feltöltésével és kisütésével.
Magyarázat: 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
Tehát a dinamikus disszipáció lineárisan függ az órafrekvenciától és négyzetesen a feszültségtől! 5V-ról fokozatosan csökkentették, ma nagyjából 1V környékén van. disszipáció csökkentő technikák: 1)-workload meghatározása, és az ehhez tartozó frekvenciaérték, ehhez két alrendszer szükséges: - ami meghatározza a szükséges teljesítményt - fc, Vdd meghatározása (oprendszer feladata) 2)AVS (Adaptive Voltage Scaling) módszer: a chipre egy fc mérő, elkezdi csökkenteni a feszültséget, addig amíg az adott fc-t tartani lehet (alkalmazkodik a terheléshez) b)
statikus (passzív) disszipáció: Ds=V*Ileak A tranzisztorok kikapcsolt állapotában (mivel tökéletes szigetelő nincs) a Gate felől szivárog az áram, így a Source és a Drain között is áram folyik (szivárgási áram). egyik oka: a csíkszélesség csökkentés csökkentette a szigetelő méretét is disszipáció csökkentő technikák: 1) lekapcsol olyan egységeket, melyeket nem használ (pl: FPU) 2) tranzisztor a tápfeszültség és az adott alrendszer közé (egy db tranzisztornak kisebb lesz a szivárgási árama) 3) jobb szigetelő alkalmazása (eddigi szilícium-dioxid helyett, high-k szigetelő alkalmazása)
Kapcsolási sebesség: 120 % Szivárgási áram: 10 %
3
Arányváltozása:
Az összdisszipáció növekedése az órafrekvencia növelésekor: -Az órafrekvencia növelésével a dinamikus disszipáció növekszik, a növelés mértékével egyenes arányban. Ahhoz, hogy egy adott frekvenciát elérjünk, ahhoz egy bizonyos feszültség érték kell (nem lehet korlátlanul csökkenteni a feszültséget). -Mai processzorok >=1V környékén működnek, (így pl: 0,9 2=0,81, tehát a feszültségtényező kisebb lesz a négyzetszám alapjánál) A termikus határ értelmezése, megjelenése és következményei: -Intel: 500MHz környékén jelenik meg a léghűtés -A hőfal a Pentium 4 harmadik (Prescott) magjánál jelenik meg (2000-es évek eleje, közepe), ez egyúttal a termikus határ is, tovább lényeges mértékben (az eddigi 100x/10év ütemben) nem növelhető a frekvencia. -Az Intel a korábban már bejelentett 4 GHz ill. nagyobb órafrekvenciájú Pentium 4 modellek visszavonására, sőt a Netburst architektúra továbbfejlesztésének leállítására kényszerült. -A léghűtés elméleti határa: 100W / 1cm2 következményei:
1) Az órafrekvencia növelésén alapuló fejlesztési irány háttérbe szorulása 2) A processzorok tervezésében a disszipáció csökkentő technikák előtérbe kerülése
4
SzA44.
Processzorok fejlődésének határa a „skew”-növekedése miatt (a „skew” értelmezése, növekedésének következményei, a rendszerbuszok megjelenése)
soros
periféria
illetve
A „skew” értelmezése: Skew: a párhuzamos vezetékek közötti futási idő különbségek
0. bit
63. bit
Skew
probléma: -a felfutó és lefutó él eltolódik (magasabb frekvenciákon még jobban, „trapézosodik” a jel) -a vezeték antennaként működik -> lezárás kell (lezárási impedancia, ha nem megfelelő a lezárás, reflexió keletkezik) -kapacitásként viselkedik: fel kell tölteni, ki kell sütni -> különböző ideig tart -zajra érzékeny -a vezetékek hossza nem azonos három féle rendszer valósítható meg:
a)
földhöz kialakított -zajra legérzékenyebb rendszer, antennaként működik b) adott feszültséghez képest kialakított rendszer -egy referencia feszültséghez képest változik a jel c) differenciális -zajokra érzéketlen, mindkét vezetékre hat a zaj, a különböző fázisban lévő hullámok kioltják egymást "0" "1" D+
DNövekedésének következményei: -a processzorbusz egyre növekedő sebessége miatt (GHz) az impulzus szélességhez viszonyítva egyre dominánsabbá válik a zaj -soros buszok bevezetése -szimmetrikus elrendezés (2 vezeték) -differenciális rendszer ld: fent -lassú buszoknál is ezt használják költséghatékonyságból (USB, USB2.0) -a futási idő különbségeket az alaplapon a vezetők megfelelő elrendezésével próbálják kiegyenlíteni -kisebb feszültség alkalmazása (kisebb amplitúdó), nem 1-2V, hanem 100-500mV A soros periféria illetve rendszerbuszok megjelenése: -FBDIMM: 6-8 csatorna, szemben a párhuzamos 1-2 csatornával szemben -3-4x több csatorna, helytakarékosabb, olcsóbb megoldás -a modulok továbbra is párhuzamosak, de tartalmaznak soros-párhuzamos átalakítót -a memóriák kivételével már eddig is a soros átvitelt preferálták: pl: SATA, USB, PCI-e, HT, QPI -olcsóbb a megvalósítása (kisebb ráfordítás igény), helytakarékosabb 5
SzA45.
EPIC architektúrák/processzorok (értelmezésük, megjelenésük kiváltó oka, fontosabb implementációk, várható jövőjük)
Értelmezésük: -EPIC – Explicitly Parallel Instruction Computer -továbbfejlesztett VLIW architektúra -fejlett szuperskalár vonások integrálása: -SIMD támogatása -elágazásbecslés -explicit cache utasítások -1994,1997 – Intel-HP együttműködés -2001-ben IA-64, Intel Itanium processzor
Megjelenésük kiváltó oka: a processzorok hatékonyságának stagnálása
Fontosabb implementációk: Transmeta Crusoe: -a Transmeta első processzora -kisebb fogyasztású, mint az Intel és AMD processzorai (hosszabb akkumulátor élettartam a mobil eszközökben) -a Code Morphing Software (CMS) segítségével x86 utasításokat is képes volt végrehajtani (de nem volt teljesen kompatibilis az x86 architektúrával) -általános célú alkalmazásokban gyengébb teljesítményt mutatott -a déli híd sávszélessége bekorlátozta az erőteljesebb grafikai és I/O utasítások gyors feldolgozását Intel Itanium -Intel-HP közös processzora -2001-ben jelent meg, de az akkori processzorok teljesítménye alatt maradt (800MHz) -> bukás lett, ezért 2002-től elkezdték az Itanium processzorok cache méretét és FSB szélességét növelni -> Itanium2 -128 bites szóhossz, regiszter-regiszter típusú architektúra -128db integer, 128db 82 bites lebegőpontos, 64db egybites predikátumregiszter és 8 db ugrási regiszter 6
-2010-ben megjelent az új Tukwilla magos Itanium 9300, 2 és 4 magos változatokban, 24MB osztott cache-el, integrált memóriavezérlővel, és a magok közt Quick Path Interconnect kapcsolattal, 1,4 - 1,7 GHz frekvencia között -2010-től a Microsoft nem támogatja az IA-64 architektúrát az operációs rendszereiben Várható jövőjük:
Az IA-64 architektúra elterjedésével kapcsolatos várakozások
2004-től azonban a várakozások módosultak, az általános célú alkalmazásokban az EPIC architektúrák/processzorok kiszorulása következett (kihasználatlan lenne). Jelenleg csak szerver architektúrákban található meg az Itanium processzorcsalád.
7