160 likes | 328 Views
Számítógépek felépítése/architektúrák előadás. Gyorsítótár (cache). Dr. Istenes Zoltán ELTE – IK – PSZT ELTE IK Nyílt Nap 2006/01/19. Probléma felvetés. Processzor : 6800 M utasítás/s x 4 Byte => 27200MB/s Memória : 2150MB/s
E N D
Számítógépek felépítése/architektúrák előadás Gyorsítótár (cache) Dr. Istenes ZoltánELTE – IK – PSZTELTE IK Nyílt Nap 2006/01/19
Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Probléma felvetés Processzor : 6800 M utasítás/s x 4 Byte => 27200MB/s Memória : 2150MB/s 27200/2150 ≈ 13 x több (gyorsabb) információra van szükségea processzornak mint amit a memória biztosítani tud… Processzor : Intel Pentium M 1.70GHz Mért sebesség : 6800 MIPS 6800 MIPS = 6.800.000.000 utasítás/s Memória : DDR-SDRAM 512MB/64 @ 166Mt/s Sebesség : 2 x 166 MHz x 64 bit => 2656MB/s Mért sebesség : 2150MB/s A processzorhoz képest, nagyon lassú a memória Alaplap (sínrendszer) „Front side bus” : 4 x 100 MHz x 64 bit => 3200MB/s Probléma ? Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Moore törvénye (Intel processzorok) Gordon Moore 1965 Forrás: http://www.intel.com/research/silicon/mooreslaw.htm Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Processzor-Memóriarés(késleltetés) µProc 60%/év. (2x/1.5év) 1000 CPU “Moore törvénye” 100 Processzor-Memória teljesítményrés:(növekedés 50%/év) Teljesítmény 10 DRAM DRAM 9%/év (2x/10 év) 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Idő Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Gyorsítótár (cache) alapötlet • A „leggyakrabban” használt memóriaszavak legyenek a gyorsítótárban • Amikor a processzornak szüksége van egy memóriaszóra, először a gyorsítótárban keresi, ha nincs benne, akkor fordul csak a központi memóriához • Ha a memóriaszavak jelentős része a gyorsítótárban van, akkor az átlagos elérési idő nagymértékben csökken. Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Gyorsítótár működés (olvasás) ? CPU Memória ! ? cache találat CPU Cache Memória ! cache hiba ? ? CPU Cache Memória ! ! Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Gyorsítótár működés (írás) Írásáteresztés (write through) ! ! CPU Cache Memória Késleltetett írású (write back) ! módosítás bejegyzése CPU Cache Memória ! CPU Cache Memória módosított rész visszaírása Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Találati arány - Átlagos elérési idő • Találati arány (h) : az összes memória hivatkozás mekkora hányada volt a gyorsítótárban • Gyorsítótár elérési ideje (c) • Memória elérési ideje (m) • Átlagos elérési idő = c + (1-h)*m Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Hova kerüljön egy blokk a gyorsítótárban? • Teljesen asszociatív • Minden egyes blokk bárhova rakható • Közvetlen leképzés • Minden egyes blokk csak egy helyre kerülhet • Halmaz asszociatív • Minden egyes blokk csak egy adott halmazba kerülhet • N utas halmazkezelésű gyorsítótár • LRU… Mi van ha nincs hely a gyorsítótárban ?Melyik blokkot szabadítsuk fel? Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Lokalitás és blokkos kezelés Miért is tud egyáltalán működni a gyorsítótár ? Memória Térbeli lokalitás „adat” „program” Időbeli lokalitás Blokkos adatátvitel Gyorsítótársor (cache line) Cache Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Memória-Gyorsítótár sebességteszt L1 cache 17000MB/s L2 cache 8500MB/s központi memória 1000MB/s 32KByte 2MByte L1 cache L2 cache • 32 Kbyte adat cache • 32 KByte utasítás cache • késleltetett írású • 8 utas halmazkezelésű • 64 Byte / gyorsítótársor • 2 Mbyte alaplapi cache • 8 utas halmazkezelésű • 64 Byte / gyorsítótársor Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
„Még gyorsabban az adatot…” AMD Dual coreAthlon 64 X2 4800+ merevlemez 8MB cache CPU 0 CPU 1 1MB cache 1MB cache 4,7PB lemez (4,7x1015 byte) web, „proxy” Istenes Zoltán - Számítógépek felépítése - Gyorsítótár
Köszönöm a figyelmet ! „kell a sebesség” „a legjobban keresett” istenes@inf.elte.hu http://quasar.inf.elte.hu Istenes Zoltán - Számítógépek felépítése - Gyorsítótár