Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaJúlia Balogné Megváltozta több, mint 10 éve
1
Mikroprocesszorok
2
X86 – amit mi is használunk Eredetileg 16 bites CISC Először 8, 16, majd 32 bitesre bővítve IA32 néven Kívül CISC, belül RISC (Pentium Pro) Dinamikus szuperskalár (Pentium Pro) Lebegőpontos elágazásbecslés Előnyök: olcsó, könnyen programozható, viszonylag nagy teljesítmény Probléma: memória-késleltetés növekszik, függőség
3
x86 – fejlődés Szuperskalár: a Pentium óta megszokott egy processzorba több utasítás-végrehajtó egységet tervezni, így lehetőség van egy órajel alatt több utasítás végrehajtására. Szorzó: Eredetileg a processzor és a RAM órajele azonos volt, a 80486-tal kezdődően vezették be az FSB-t (Front Side Bus), és a processzor belső szorzóját. FSB: A processzor és a memóriavezérlő közötti gyors busz. Szorzó: Azt határozza meg, hogy FSB órajelenként a processzor hány órajel-ciklust végez el. A processzor belső szorzójával megszorozva a FSB-t megkapjuk a processzor belső órajelét. Példák: »Intel Celeron 300 MHz: FSB: 66 Mhz szorzó: 4.5x »AMD Duron 1000 MHz: FSB:100(200 effektív) MHz szorzó:10x »Intel Pentium 4 3200 MHz: FSB: 200MHz(800 effektív) szorzó: 16x
4
Kívül CISC, belül RISC A 80486-os processzorok idején az x86 architektúra elérte a korlátait. A Pentium Pro (később Pentuium - II) processzorok voltak az első kívül CISC, belül RISC processzorok: Az egyszerűbb utasításokat egy órajel alatt végrehajtják A bonyolultabb, de gyakran használt utasításokat huzalozottan hajtották végre A nagyon bonyolult és ritkán használt utasításokat jóval több órajel (esetleg több 10) alatt hajtják végre (mikrokóddal) »Bár ezen utasításokat ma is támogatják a processzorok (kompatibilitási okokból), az új fordítóprogramok már igyekeznek kikerülni ezeket, így általában nem jelentenek nagy problémát.
5
Függőség problémája Példa: (10 lépcsős futószalag) A 3. utasítás függ a 2. végeredményétől –10 lépcsős futószalag -> 10 órajel alatt lesz kész a második végeredmény –Amikor a program a 3. utasításhoz ér, meg kell várnia az előző végeredményét, azaz 9 órajel-ciklus alatt nem végez utasítást. Példa: a := 1 b := 2 c := a + b A harmadik utasítás végrehajtása optimális esetben is csak a második után 10 órajellel kezdődik el.
6
Konkrét Példa: AMD Athlon XP 2500+ (Barton) Végrehajtóegységek: 3 db egész(10 fokozat) 1 db Lebegő pontos(12 fokozat) 2 db MMX 2 db 3Dnow! 1 db SSE Memóriák (késleltetés) 64 Kbyte L1 gyorsítótár(utasítások)(1 órajel) 64 Kbyte L1 gyorsítótár(adatok)(1 órajel) 512 Kbyte L2 gyorsítótár(2-4 órajel) Rendszermemória (típustól függően minimum100-125 órajel)
7
Memóriakésleltetés Az itt közölt adatok csak példák, nem pontosak. Rendszermemória késleltetés: ~100-125 órajel Megtalálás a gyorsítótárakban (optimális esetben, egyszerűsített példa): L1: 80% L2: 90% „Cache miss” : 2% 100 átlagos utasítás memória igénybevétele (egyszerűsített példa): 80*1+18*3+2*120=374 órajel (átlagosan) Azon 98 utasításra, melyekhez a szükséges adatok valamely gyorsító-tárban voltak kevesebbet kellett várni, mint arra a kettőre, mely a rendszermemóriából érte el az adatait
8
A tendencia 1994 : Pentium 75 MHz, 50MHz SDRAM –Órajel/RAM : 1.5 2003: Athlon Xp 3200+ :~400 MHz DDR SDRAM (DDR 200MHz) –Órajel/RAM : 5.5 2003: Pentium 4 3200 MHz-800 MHz DDR SDRAM (kétcsatornás DDR 200 Mhz) –Órajel/RAM : 8(4) –Bár a RAM sávszélessége nagyjából 800 Mhz-nek felel meg, a kétcsatornás kialakítás miatt a nagyobb problémát jelentő késleltetés több, mint a 400MHz-eseknél.
9
Konklúzió A probléma : az x86 utasításkészletek problémája abban a felépítésben rejlik, hogy az adat a memóriából abban a pillanatban rendelkezésre áll, ahogy arra szükség van. (ez az 8088-nál még így volt, sőt a 80386-nál is majdnem) Ez komoly gátat a fejlődésnek a nálam okosabbak szerint olyan 10 év múlva jelent majd. Ugyan ez a probléma a RISC architektúrák esetében is jelentkezik, de kisebb mértékben, és később fog gondot okozni.
10
Lehetséges megoldások Utasításkészlet bővítés: SIMD utasításkészletek : Single Instruction Multiple Data (egy utasítás több adattal) Ezek vektorműveletek, előreolvasott, regiszterekben tárolt adatokkal. Működése független az ALU-tól -> előreolvasott adatokkal dolgozik Fordítóprogramok nem nagyon tudják használni, csak Assembly, ezért korlátozottan használható. Pl. : MMX, SSE(1,2,3) 3DNow! Adat-előolvasás megvalósítása a nem SIMD műveleteknél is megjelenik, de körülményesebb
11
Egy másik út:SMT SMT : Simultaneous Multithreading 2 „program” (thread=szál) párhuzamos futtatása. Az elmélet: Ha az egyik szál „Cache-miss”-el akkor amíg megérkezik az adat egy másik szál fut, aminek elő vannak készítve az adatai a gyorsítótárban A megvalósítása ennél sokkal bonyolultabb, tulajdonképpen a szálak néha tényleg párhuzamosan futnak, csak más-más végrehajtóegységeken. Intel Pentium 4(közül az újabbak) támogatja Az operációs rendszer 2 processzort „lát”
12
Miért is jó a 64Bit? A megcímezhető memória 4 GByte fölé emelkedik Ez az otthon használt gépekben jelenleg nem jelent gondot, de sok professzionális alkalmazás sokkal többet is tudna használni A Pentium - III ill. Athlon óta lehetőség van egy különleges 36 bites címzésre –Lassú, körülményes a használata, kevéssé elterjedt. Utasítások operandusza általában 64bites lesz –Ez bizonyos esetekben teljesítménynövekedést jelenthet.
13
64 Bites megoldások AMD Hammer Intel Itanium HP Pa-RISC DEC Alpha IBM Power sorozat SUN ULTRASparc
14
AMD Hammer AMD64 utasításkészlet (az x86 64 bitre bővített változata) Előnyei: – A jelenleg használt programokat is futtathatjuk rajta, felülről kompatibilis (nagyon nagy előny) –Rendkívül gyors processzor „olcsón” –Kimagasló többprocesszoros megoldás Hátrányai: –Cipeli magával az X86 hibáit, és az imént említett problémákat. Jövője: rövidtávon valószínűleg siker, hosszabb távon attól függ, meg tudják-e oldani az AMD mérnökei a memóriakésleltetési problémát.
15
CISC/RISC vs. VLIW CISC/RISC program felépítése: Processzor INTEGER FPU MMX1 INTEGER INT1INT8MMX4MMX6MMX11INT2INT10FP9INT12INT3INT5INT7FP13 A végrehajtás ideális sorrendje INT1 INT2 INT3 MMX4 INT5 INT7 INT8 FP9 MMX6 INT10 INT12 FP13 MMX11 A végrehajtás valós menete … INT1 INT2 INT3 MMX4 INT5 MMX6 INT7
16
Okai Pl. nincs a gyorsítótárakban a kívánt adat, ekkor több, mint 100 órajelet vár a kérdéses utasítás. (A processzor megpróbál előreolvasni több kevesebb sikerrel) Lehet, hogy INT3 egyik operandusza INT2 végeredménye. A kódot szekvenciálisan olvassa a processzor A párhuzamosítás általában távol van a tökéletestől.
17
VLIW program Az utasítások végrehajtása is hasonló módon történik, egy utasításszó végrehajtása a másikat követi. A párhuzamosítást a fordító (programozó) végzi, ez hatékonyabb működést tesz lehetővé, és egyszerűsíti a processzor felépítését. Az utasításokhoz szükséges adatokat előre beolvassa regiszterekbe, így a memóriakésleltetés problémája jóval kisebb. Az utasításszavakban vannak különböző vezérlőjelek is, amelyek a processzor felépítésének további egyszerűsítését teszik lehetővé. … INT2 INT3 INT1 FP4 FP5 INT7 INT8 INT6 FP9 FP10 INT12 INT13 INT11 FP14 FP15 INT17 INT18 INT16 FP19 FP20 … 1. Utasítás- Szó 5. Utasítás- Szó 3. Utasítás- Szó 4. Utasítás- Szó 2. Utasítás- Szó
18
Újabb gnereációs VLIW processzor … Új végrehajtó- egységek kihasználatlanul INT2 INT3 INT1 FP4 FP5 INT7 INT8 INT6 FP9 FP10 INT12 INT13 INT11 FP14 FP15 INT17 INT18 INT16 FP19 FP20 … 1. Utasítás- Szó 5. Utasítás- Szó 3. Utasítás- Szó 4. Utasítás- Szó 2. Utasítás- Szó
19
VLIW: VERY LONG INSTRUCTION WORD VLIW elv: Olyan szuperskalár processzor, ahol a az utasításszó az összes utasítás végrehajtó egység számára tartalmaz utasításokat. RISC/CISC szuperskalár –A párhuzamosítást a processzor végzi a futás közben, dinamikusan. Mivel ez futás időben történik, a párhuzamosítás nem tökéletes, és nagyon erőforrás igényes VLIW szuperskalár –A párhuzamosítást a fordító végzi ez sokkal hatékonyabb, és egyszerűbb processzor felépítést tesz lehetővé.
20
VLIW vs. CISC/RISC CISC/RISC –Egyszerűbb fordító –Egy lefordított program újrafordítás nélkül használható egy újabb generációjú processzoron futtatva is gyorsabban fut majd. VLIW –Nagyon bonyolult fordító. –Egy lefordított program újrafordítást igényel, hogy újabb processzorgeneráción gyorsabb legyen, bizonyos esetekben újrafordítás nélkül lassulhat is.
21
VLIW a gyakorlatban VLIW processzorokat (nem általános célúakat) használnak ott, ahol speciális programoknak viszonylag nagy teljesítménye van szüksége: Mp3 lejátszók DVD lejátszók Routerek,HUBok CD/DVD olvasók (CRC ellenőrzés) CD/DVD írók (CRC kód generálás) (DVD felvevők: MPEG kódolás valós időben) Kézi kamerák (digitális jelrögzítés) Autók vezérlő elektronikája Kriptográfiai (kódoló/dekódoló) processzorok Digitális kamerák (JPEG kódolás) ECC RAM vezérlők Transmeta Crusoe Transmeta Efficeon
22
Transmeta Crusoe/Efficeon Nagyon alacsony fogyasztású hordozható gépekbe fejlesztett mobil processzorok. Hagyományos X86 utasításokat hajt végre, ezeket egy úgynevezett Code-morphing szoftver fordít le furás közben a processzor belső VLIW urasításaira. Viszonylag kis teljesítmény, és nagyon kis fogyasztás. A VLIW utasítások sokkal könnyebben végrehajthatóak, mint az X86 utasítások, jóval egyszerűbb processzormagot használhatnak. Transmeta Efficeon 1 Ghz: Fogyaztás: 4-5 W (Intel Pentium 4 3.2 Ghz: 85W) 256-bites utasításszavak Integrált memória, videó, AGP, PCI, IDE, USB vezérlő (nincs szükség chip-setre) Sebessége egy 1-1.2 Ghz körüli PentiumIII-hoz hasonló
23
Intel VLIW (EPIC a fantázianeve) A fordító 9 év fejlesztés után sem túl jó, ez a VLIW szerű architektúra számára nagyon nagy hátrány. Nincs dinamikus elágazásbecslés, a fordító próbálja „megjósolni” hogy melyik ág fog végrehajtódni. Ez nagy előny lehet, mert a fordítónak jóval több információja, és ideje van a párhuzamosságot, és a függőséget vizsgálni, de nincsen semmilyen információja arról, hogy a program milyen környezetben fog futni, mekkora lesz a processzor kihasználtsága. Előre kell terveznie, hogy mikorra lesz kész egy utasítás eredménye… Gyakran a processzor az elágazás mindkét ágát elkezdi végrehajtani, majd amikor meg lesz az eredmény, a feleslegeset eldobja.
24
EPIC (Extreemly Paralell Instruction Computer) A VLIW átalakítása, ami a programok rugalmatlanságát próbálta meg javítani bizonyos átalakításokkal. Bár a programok a CISC/RISC társaiknál még mindig jóval rugalmatlanabbak, de jobbak, mint a hagyományos VLIW architektúrák esetén.
25
Intel Itanium Az Intel a HP-vel közösen fejleszti Most a 2. generációnál tart, eddig összesen 50000- 60000 darabot adtak el, ez nagyon kevés. (a HP a kifutó Alpha processzorokból többet ad el) Nem CISC vagy RISC, hanem VLIW(EPIC) processzor Sokkal kevésbé jelentkezik a memóriakésleltetés problémája, mint a versenytársainál Jövője kérdéses: –Mivel senki sem veszi, nem is fejlesztenek rá szoftvereket. –Mivel nincsenek rá szoftverek, senki sem veszi.
26
Itanium: statikus elágazásbecslés Az elágazásoknál a fordító próbálja megjósolni, hogy melyik ág fog nagyobb valószínűséggel végrehajtódni. Ma is kérdéses, hogy ez a megoldás, vagy a dinamikus elágazásbecslés a hatékonyabb. A tények: Az Itaniumon kívül minden más processzor dinamikus elágazásbecslést használ (IBM, SUN, AMD, HP). A VLIW- processzoroknál nehezen megoldható a dinamikus elágazásbecslés.
27
Itanium (Itanic?) Összegzés: –Rendkívül innovatív technológia, hosszú távú jövőt az architektúra biztosítja –Alacsony eladások –Sok optimalizációt igényel, költséges a szoftverfejlesztés hozzá –Drága –Az Intel szerint a piaci siker 5-10 éven belül várható (Bár 1997ben váltig állították, hogy 2005-ben már piaci fölényben lesznek, amire semmi esély)
28
HP-PaRISC Klasszikus RISC architektúra A HP az Itanium társfejlesztője, a Pa-RISC jövője kétséges. (Bár ha az Itanium eladásai nem változnak, valószínűleg marad) Jó többprocesszoros teljesítmény, Adatbázis és web szervereknél használják előszeretettel.
29
DEC Alpha A DEC Az első 64bites általános célú RISC processzor. Első szuperskalár processzor. Rendkívül nagy lebegőpontos teljesítmény 10 évig piacvezető volt, 2003-ban jelent meg az utolsó generáció(EV-7), a Compaq és a HP fúziója megpecsételte a sorsát.
30
Compaq/HP Alpha Az Alpha processzorok története Processzor Megjelenés éveÓrajel Csíkszéless ég Tranzisztor ok száma Alpha EV41992150-2000,75 mikron1,7 millió Alpha EV51995250-3000,5 mikron9,3 millió Alpha EV561996400-6250,35 mikron9,3 millió Alpha EV61998500-6000,35 mikron15 millió Alpha EV671999600-8000,25 mikron15 millió Alpha EV682000833-12500,18 mikron15 millió Alpha EV720031000-11500,18 mikron152 millió Alpha EV792004??0,13 mikron152 millió
31
IBM Power 4 Az IBM egyik processzor-architektúrája, 64bites szuperskalár CMP RISC –CMP single Chip Multi Processor : Egy szilicium- lapkán két processzormag található, így egy egyprocesszoros Power4 rendszer tulajdonképpen kétprocesszoros. Maximum 128 Mbyte L3 Cache Hamarosan érkezik a Power5( 2 processzormaggal, magonként 2 szál egyidejű végrehajtásával)
32
IBM PowerPC G5 Power4-en alapuló, egy processzormagos PPC processzor, az Apple legújabb gépeiben találkozunk vele Kiegészítették 4 db Különböző SIMD egységgel, de ezekkel elég jól boldogulnak a fordítók Teljesítményben felveszi a versenyt a legújabb Intel, illetve AMD processzorokkal, multimédiás alkalmazások területén gyakran megveri azokat, de jóval drágább. Csak az Apple árul erre épülő számítógépeket. (a legolcsóbb alapmodell kb. 500000Ft)
33
Sun Ultrasparc IIIi SPARC: Scaleable Processor ARChitecture Kb. 30 éves archiektúra, ennek ellenére nem avult el, mint az X86 nagy része Jelenleg Ultrasparc IIIi a legújabb –Egyprocesszoros környezetben viszonylag alacsony teljesítmény, nagygépekbe tervezték –8+ processzoros gépekben kiemelkedően skálázódik, a leggyorsabb „nem-szuperszámítógép” nagygépeket a Sun gyártja ezzel a processzorral.
34
Sun: egy másik út A Sun processzorai nem egyenként gyorsak, a többprocesszoros képességeik kiemelkedők. Ennek fényében a SUN másképp képzeli el a jövőt: Ők nem akár a frekvenciát az egekbe tornászni, mint a versenytársaik, ők egy processzorba szeretnének több magot ültetni. (hasonlóan az IBM POWER4-hez). Az első processzoruk, mely erre az új megközelítésre épül kb. 1 év múlva várható, 2 maggal, de hosszú távú terveik között szerepel egyetlen Processzorra 16-64 (!) processzormagot integrálni 5 éven belül. Mivel az órajel nem lesz magas, a memória késleltetés nem jelent majd problémát, a sok processzor ellátása adattal pedig egyszerűen megoldható többcsatornás memóriavezérlőkkel.
35
Első lépés 2005ben jelenik meg, már meg vannak a prototípusok –8 processzormag egy szilíciumlapon –1 processzormag 4 programszál futtatására képes –Programszál váltás: minden Load/Store műveletnél –4 db. 128bites DDR memóriavezérlő –I/O, processzor-processzor sín: Hyper Transport
36
Összehasonlító táblázat ProcesszorÓrajelCsíksz.TranzisztorMagméret Itanium 2*1 GHz0,18 mikron221M421 mm2 Itanium800 MHz0,18 mikron30MN/A HP PA-8600552 MHz0,25 mikron140M467 mm2 HP PA-8700800 MHz0,18 mikron200M350 mm2 HP PA-8800*1 GHz0,13 mikron300M361 mm2 Alpha EV6575 MHz0,35 mikron15,2M314 mm2 Alpha EV67750 MHz0,25 mikron15,2M225 mm2 Alpha EV68C1,25 GHz0,18 mikron15,2M125 mm2 Alpha EV7*~1,2 GHz0,18 mikron152M400 mm2 UltraSPARC III Cu1,05 GHz0,18 mikron29M244 mm2 IBM Power41,3 GHz0,18 mikron170M400 mm2
37
Többprocesszoros gépek megvalósítása a gyakorlatban Intel Pentium 4 AMD Opteron DEC Alpha EV7
38
CHIPSETCHIPSET Klasszikus felépítés Északi híd Déli híd Processzor FSB Memória Videó- kártya AGP Mem csatorna USB ATA PCI Merevlemez Bővítőkártyák ISA Bővítőkártyák …
39
Intel Pentium4 XEON Ez nagyon nem hatékony 6.4 Gbyte/sec CHIPSETCHIPSET Processzor MEMÓRIA 1 Gbyte/sec) Egyéb eszközök: Hálózati vezérlő… 6.4 Gbyte/s
40
AMD OPTERON Processzor Memóriavezérlő 6.4 Gbyte/sec Memória Hyper transport vezérlő 6.4 Gbyte/sec AGP vezérlő, déli híd
41
AMD Opteron Processzor Memória Chipset Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória Processzor Memória
42
DEC Alpha
43
CLUSTER(hálózatos megoldás) Node Ez 2 dimenziós háló. Sok esetben kevésbé hatékony, mint ugyanannyi processzor egy gépben, de egy bizonyos szint felett már csak ez a megoldás lehetséges. Olcsóbb, mint az egy-gépbe-sok-processzor megoldás,, ezért egyre elterjedtebb. Adatbázis kezelésben például jelentéktelen a különbség.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.