Korszakváltás a processzorok fejlődésében Sima Dezső 2009 őszi félév
Áttekintés 1 Processzorok teljesítménye 2 A processzorok hatékonysága 3 A processzor hatékonyság stagnálása által kiváltott fejlődési főirányok áttekintése 4 Az órafrekvencia erőteljes növelése 5 A Hatékonysági korlát 6 A disszipációs korlát 7 Párhuzamos buszok frekvenciakorlátja 8 EPIC architektúrák/processzorok 9 Paradigmaváltás
1. Processzorok teljesítménye 1.1. Bevezetés (1) Abszolút teljesítmény Relatív teljesítmény Eredményesen végrehajtott utasítások száma/sec Egy benchmark programcsomag valamely referenciarendszeren és a vizsgált rendszeren mért futási időinek összevetése az alábbi értelmezéssel: Eredményesen végrehajtott műveletek száma/sec (SIMD) fc: Órafrekvencia IPC: Utasítások száma/ciklus OPI: Műveletek száma/utasítás Pl: SPECint92, SPECint_base2000 (Pa nehezen mérhető, alkalmazásfüggő)
1.1. Bevezetés (2) De mivel: 1.1. ábra: Programcsomag egyes programjainak futásidő arányai Forrás: http://www.spec.org
Általános célú alkalmazásokban: 1.1. Bevezetés (3) Általános célú alkalmazásokban: ahol: IPC : kibocsájtott utasítások száma ciklusonként η : eredményesen végrehajtott/kibocsájtott utasítások száma (spekulatív végrehajtás hatékonysága)
1.2. A processzor teljesítmények növekedése (1) 1.2. ábra: Az x86 alapú Intel processzorok fixpontos teljesítményének növekedése
1.2. A processzor teljesítmények növekedése (2) 1.3. ábra: A fixpontos teljesítmények növekedése (általában - 1) Forrás: X86-64 Technology White Paper, AMD Inc., Sunnyvale, CA, 2000
1.2. A processzor teljesítmények növekedése (3) 3. 1.4. ábra: A fixpontos teljesítmények növekedése (általában - 2) Forrás: F. Labonte, www-vlsi.stanford.edu/group/chart/specInf2000.pdf
2. A processzorok hatékonysága 2.1. Bevezetés ?
2.2. A processzorok hatékonyságának növekedése (1) 2.1. ábra: Intel processzorok hatékonysága
2.2. A processzorok hatékonyságának növekedése (2) 2.2. ábra: Processzorok teljesítményének/hatékonyságának növekedése (általában) Forrás:J. Birnbaum, „Architecture at HP: Two decades of Innovation”, Microprocessor Forum, October 14, 1997.
2.3. A hatékonyság növelés hozzájárulása a teljesítmények növeléséhez (2. generációig) ? A második generációig az órafrekvencia és a hatékonyság növelése egyenlő arányban járultak hozzá a teljesítmény növeléséhez.
2.4. A hatékonyság növelés forrásai Szóhossz növelése 8/16 32 bit (286 386DX) Időbeli párhuzamosság bevezetése, növelése 1. és 2. generációs futószalag processzorok (386DX, 486DX) Kibocsátási párhuzamosság bevezetése, növelése 1. és 2. generációs szuperskalárok (Pentium, Pentium Pro)
2.5. A hatékonyság növelésének korlátja (1) 2. generációs szuperskalárok (széles szuperskalárok) Feldolgozási szélesség 4 RISC utasítás/ciklus ~3 CISC utasítás/ciklus Forrás: Wall: Limits of ILP, WRL TN-15, Dec. 1990 2.3. ábra: A feldolgozás szélessége és az általános célú alkalmazásokban rejlő párhuzamosság mértéke a 2. generációs (széles) szuperskalárokban
2.5. A hatékonyság növelésének korlátja (2) 2.4. ábra: Processzorok hatékonyságának növekedése (általában)
2.5. A hatékonyság növelésének korlátja (3) Általános célú alkalmazásokban: 2. generációs szuperskalárok szélessége már megközelíti rendelkezésre álló ILP mértékét Általános célú alkalmazásokban a 2. generációs (széles) szuperskalárokkal kezdődően a hatékonyság növelésének extenzív forrásai kimerültek
3. A processzor hatékonyság stagnálása által kiváltott fejlődési főirányok áttekintése Az órafrekvencia erőteljes növelése EPIC architektúrák kifejlesztése (4. – 7. pontok) (8. pont) A fejlődés fővonala
4. Az órafrekvencia erőteljes növelése 4.1. Az órafrekvencia növelésének forrásai (1) Az órafrekvencia növelése A gyártási technológia vonalvastagságának csökkentése A futószalag fokozatok logikai hosszának csökkentése
4.1. Az órafrekvencia növelésének forrásai (2) 4.1. ábra: Az Intel gyártási technológiák fejlődése Forrás: D. Bhandarkar: „The Dawn of a New Era”, 11. EMEA, May, 2006.
4.1. Az órafrekvencia növelésének forrásai (3) No of pipeline stages 40 P4 Prescott (~30) 30 * Pentium 4 (~20) Core Duo 20 * Conroe Pentium Pro Athlon-64 (12) (14) (~12) Athlon (6) Pentium * 10 * K6 (6) * (5) * * * Year 1990 1995 2000 2005 4.2 ábra: A futószalag fokozatok száma Intel és AMD processzorokban
4.1. Az órafrekvencia növelésének forrásai (4) 4.3. ábra: Futószalag fokozatok logikai hossza processzorokban (FO4) Forrás: F. Labonte www-vlsi.stanford.edu/group/chart/CycleFO4.pdf
4.2. Az órafrekvenciák növekedési üteme (1) 4.4. ábra: Az x86 alapú Intel processzorok órafrekvenciájának növekedése
4.2. Az órafrekvenciák növekedési üteme (2) 4.5. ábra: Az órafrekvenciák növekedési üteme (általában)
4.3. Az órafrekvencia erőteljes növelésének konzekvenciái 4.3.1. Áttekintés RISC processzorok kiszorulása (4.3.2) Fejlődési korlátok megjelenése (4.3.3)
4.3.2. RISC processzorok kiszorulása (1) 4.6. ábra: RISC processzorok kiszorulása
4.3.2. RISC processzorok kiszorulása (2) 1995-2000: A CISC processzorok átvették a vezetést a teljesítmény versenyben, mivel magasabb órafrekvenciáról indulva (RISC) nem volt tartható az azonos iramú frekvencia növelés, mint alacsonyabb frekvencia értékről (CISC) 1997: Intel és HP bejelentették az IA-64/Merced architektúrát/processzorcsaládot, mint a jövendő új generációt A legtöbb RISC processzorcsalád fejlesztésének leállítása, mint pl. MIPS R családja, HP Alpha és PA családjai, illetve a PowerPC Consortium PowerPC családja
4.3.3. Fejlődési korlátok megjelenése Hatékonysági korlát (5. pont) Disszipációs korlát (6. pont) Párhuzamos buszok frekvenciakorlátja (7. pont)
5. A Hatékonysági korlát 5.1. Áttekintés Alapvető ok: A processzor és a memória közötti sebességolló (növekvő órafrekvenciákon tágul)
5.1. Áttekintés (2) A sebességolló konkrét megnyilvánulásai: DRAM késleltetési ideje Memória átviteli rátája L2 cache tárak elérési ideje A processzor busz átviteli rátája
5.2. A processzor és a memória közötti sebességolló (1) 5.1a ábra: DRAM típusok
5.2. A processzor és a memória közötti sebességolló (2) Read latency1 (ns) 200 200 * 180 160 150 * 140 120 100 100 * 80 80 * * 80 70 * 60 60 60 * * 50 * * 40 40 50 * * 30 40 * 25 35 * * 20 30 * * * 24 22 81 82 83 84 85 86 87 88 89 1990 91 92 93 94 95 96 97 98 99 2000 01 02 03 04 05 06 07 Year Desktop processor PC AT 386 DX 486 DX P PII PIII P4 Core2 Chipset 420TX 430LX 430FX 430VX 440ZX 8152 8202 850 845 8453 915 865 835 DRAM type DRAM DRAM DRAM DRAM FPM DRAM FPM FPM FPM EDO FPM EDO FPM SDRAM EDO SDRAM RDRAM SDRAM SDRAM DDR DDR DDR2 DDR2 DDR3 DDR2 RDRAM Typ. DRAM parts (bits) 16 K 64 K 64 K 64 K 256 K 256 K 256 K 4 M 4 M 16 M 64 M 128 M 64 M 256 M 256 M 512 M 512 M 128 K 128 K 1 M 1 M 1 M 16 M 16 M 64 M 128 M 256 M 128 M 512 M 512 M 1 G 1 G 256 K 4 M 64 M 256 M 256 M 1 G 1 G 2 G 512 M 1 Read latency of DRAM, FPM, EDO and BEDO parts = tRAC (Row access time (time from row address until data valid)) Read latency of SDRAM parts = CL + tRCD (Cslumn delay + Row to Cloumn delay) 2 The 815 chipset support SDRAM while the 820 RDRAM 3 A new revision of the 845 supports DDR instead of SDRAM 5.1b ábra: DRAM chipek késeltetési ideje
5.2. A processzor és a memória közötti sebességolló (3) Memory latency ns 300 210 200 * 200 * RDRAM 160 * 155 * 135 140 * * 120 110 * 100 * 85 * 70 * 50 81 82 83 84 85 86 87 88 89 1990 91 92 93 94 95 96 97 98 99 2000 01 02 03 04 05 06 07 08 Year Desktop PC AT 386 DX 486 DX P PPro PII PIII P4 Core2 processor (8088) (286) Chipset 420TX 430LX 430FX 430VX 440ZX 8152 8202 850 845 8453 915 865 835 DRAM type DRAM DRAM DRAM DRAM FPM DRAM FPM FPM FPM EDO FPM EDO FPM SDRAM EDO SDRAM RDRAM SDRAM SDRAM DDR DDR DDR2 DDR2 DDR3 DDR2 RDRAM Typ. DRAM parts (bits) 16 K 64 K 64 K 64 K 256 K 256 K 256 K 4 M 4 M 16 M 64 M 128 M 64 M 256 M 256 M 512 M 512 M 128 K 128 K 1 M 1 M 1 M 16 M 16 M 64 M 128 M 256 M 128 M 512 M 512 M 1 G 1 G 256 K 4 M 64 M 256 M 256 M 1 G 1 G 2 G 512 M 5.1c ábra: DRAM memóriák tipikus késleletetési ideje x86-os rendszerekben (ns)
5.2. A processzor és a memória közötti sebességolló (4) Memory latency in proc. cycles 1000 500 240 280 300 220 * * * 200 180 RDRAM * 100 85 * 50 40 * 30 20 10 10 * 5 3 3 * 2 1 1 1 * * 81 82 83 84 85 86 87 88 89 1990 91 92 93 94 95 96 97 98 99 2000 01 02 03 04 05 06 07 08 Year Desktop PC AT 386 DX 486 DX P PPro PII PIII P4 Core2 processor (8088) (286) Chipset 420TX 430LX 430FX 430VX 440ZX 8152 8202 850 845 8453 915 865 835 DRAM type DRAM DRAM DRAM DRAM FPM DRAM FPM FPM FPM EDO FPM EDO FPM SDRAM EDO SDRAM RDRAM SDRAM SDRAM DDR DDR DDR2 DDR2 DDR3 DDR2 RDRAM Typ. DRAM parts (bits) 16 K 64 K 64 K 64 K 256 K 256 K 256 K 4 M 4 M 16 M 64 M 128 M 64 M 256 M 256 M 512 M 512 M 128 K 128 K 1 M 1 M 1 M 16 M 16 M 64 M 128 M 256 M 128 M 512 M 512 M 1 G 1 G 256 K 4 M 64 M 256 M 256 M 1 G 1 G 2 G 512 M 5.1d ábra: DRAM memóriák tipikus késleletetési ideje x86-os rendszerekben (ciklusokban)
5.2. A processzor és a memória közötti sebességolló (5) 5.2. ábra: Memóriák relatív átviteli rátája (D: kétcsatornás)
5.2. A processzor és a memória közötti sebességolló (6) fc max at intro. (GHz) L2 size (Kbyte) L2 latency (clock cycles) Willamette 1.5 128 7 Northwood 2.0 512 16 Prescott 3.4 1024 23 5.3. ábra: L2 cache tárak elérési ideje
5.2. A processzor és a memória közötti sebességolló (7) 5.4. ábra: A processzor busz relatív átviteli rátája
5.3. A 3. generációs szuperskalárok hatékonysága (1) 5.5. ábra: Intel Pentium III és Pentium 4 processzorainak hatékonysága fixpontos feldolgozás esetén
5.3. A 3. generációs szuperskalárok hatékonysága (2) 5.6. ábra: AMD Athlon, Athlon XP és Athlon 64 processzorainak hatékonysága fixpontos feldolgozás esetén
5.3. A 3. generációs szuperskalárok hatékonysága (3) 5.7. ábra: A fejlett szuperskalárok hatékonyságát megszabó legfontosabb tényezők
5.3. A 3. generációs szuperskalárok hatékonysága (4) 5.8. ábra: Intel és AMD processzorok hatékonyságának összehasonlítása
5.3. A 3. generációs szuperskalárok hatékonysága (5) 5.9. ábra: Intel és AMD processzorok tervezési filozófiájának összehasonlítása
5.3. A 3. generációs szuperskalárok hatékonysága (6) A processzorok hatékonysági korlátjának konzekvenciája: Növekvő órafrekvenciákon egyre csökkenő teljesítménytöbblet
6. A disszipációs korlát (1) Disszipáció (D) : Dinamikus Statikus Dd=A*C*V2*fc Ds=V*Ileak ahol: 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
6. A disszipációs korlát (2) 6.1 ábra: A dinamikus és a statikus disszipáció növekedési trendje Forrás: N. S. Kim et al., „Leakage Current: Moore’s Law Meets Static Power”, Computer, Dec. 2003, pp. 68-75.
6. A disszipációs korlát (3) 6.2. ábra: Intel processzorok fajlagos disszipációja
6. A disszipációs korlát (4) 6.3. ábra: Intel és AMD processzorok
6. A disszipációs korlát (5) 6.4. ábra: Intel P4 processzorcsaládja (Netburst architektúra)
6. A disszipációs korlát (6) 6.5. ábra: A fajlagos disszipáció értékének növekedése (általában) Forrás: R Hetherington, „The UltraSPARC T1 Processor” White Paper, Sun Inc., 2005
6. A disszipációs korlát (7) 6.1 ábra: A dinamikus és a statikus disszipáció növekedési trendje Forrás: N. S. Kim et al., „Leakage Current: Moore’s Law Meets Static Power”, Computer, Dec. 2003, pp. 68-75.
6. A disszipációs korlát (8) 6.6. ábra: A Penryn processzor tranzisztorainak felépítése (1) Kapcsolási sebesség: 120 % Szivárgási áram: 10 %
6. A disszipációs korlát (9) Source:[5] 6.7. ábra: A Penryn processzor tranzisztorainak felépítése (2)
6. A disszipációs korlát (10) A disszipációs korlát konzekvenciái: Az órafrekvencia növelésén alapuló fejlesztési irány háttérbe szorulása A processzorok tervezésében a disszipáció csökkentő technikák előtérbe kerülése
7. Párhuzamos buszok frekvenciakorlátja (1) Kiváltó ok: 7.1. ábra: Párhuzamos buszok bitvezetékei közötti futási idő különbségek (skew)
7. Párhuzamos buszok frekvenciakorlátja (2) 7.2. ábra: A futási idő különbségek (skew) kiegyenlítése a MSI 915 G Combo alaplap processzor buszánál
7. Párhuzamos buszok frekvenciakorlátja (3) Párhuzamos buszok frekvenciakorlátja által kiváltott trend: Soros buszok használata (lassú buszoknál is, költségokokból) 7.3. ábra: Jelátvitel soros buszon
A fejlődési korlátok felerősödésének konzekvenciája Az órafrekvenciák növelésén alapuló fejlődési főirány hatékonysági, disszipációs és skew korlátokba ütközik és tovább már nem követhető
8. EPIC architektúrák/processzorok (1) Az órafrekvencia erőteljes növelése EPIC architektúrák kifejlesztése (4. – 7. pontok) (8. pont) A fejlődés fővonala
8. EPIC architektúrák/processzorok (2) Szuperskalár feldolgozás elve F E dinamikus függőség kezelés Processzor függő utasítások utasítások VLIW feldolgozás elve F E VLIW: Very Large Instruction Word független utasítások (statikus függőség kezelés) Processzor 8.1. ábra: VLIW processzorok működési elve
8. EPIC architektúrák/processzorok (3) VLIW EPIC EPIC: Explicitly Parallel Instruction Computer Továbbfejlesztett VLIW (fejlett szuperskalár vonások integrálása) elágazásbecslés explicit cache utasítások 1994: Intel, HP 1997:EPIC elnevezés 2001: IA-64 Itanium
8. EPIC architektúrák/processzorok (4) 8.2. ábra: Itanium alapú magok áttekintése
8. EPIC architektúrák/processzorok (5) 8.3. ábra: Itanium processzorok hatékonysága
8. EPIC architektúrák/processzorok (6) 8.4. ábra: Az IA-64 architektúra elterjedésével kapcsolatos várakozások Forrás: L. Gwennap: Intel’s Itanium and IA-64: Technology and Market Forecast, MDR, 2000
8. EPIC architektúrák/processzorok (7) 8.5. ábra: Az Itanium processzorok értékesítési elvárásainak módosulása
8. EPIC architektúrák/processzorok (8) Általános célú alkalmazásokban az EPIC architektúrák/processzorok kiszorulása
Egymagos szuperskalárok 9. Paradigmaváltás (1) Általános célú alkalmazásokban a 2. generációs szuperskalárok megjelenésével a processzorok hatékonysága stagnálni kezdett, ez két fejlesztési főirányt váltott ki, de mindkét megközelítés korlátokba ütközött Egymagos szuperskalárok - egy korszak alkonya
9. Paradigmaváltás (2) A rendelkezésre álló hardver komplexitás továbbra is exponenciálisan nő (Moore törvénye) Jelenleg a tranzisztorszám ~ 24 havonta duplázódik Paradigmaváltás a processzorok fejlesztésében A többmagos (többszálas) processzorok korszakába léptunk A magok várható duplázódási ideje is közelítőleg ~ 24 hónap
9. Paradigmaváltás (3) 9.1. ábra:Többmagos processzorok robbanásszerű elterjedése az Intel processzorok példáján