Πολυεπεξεργαστές

Click here to load reader

download Πολυεπεξεργαστές

of 30

description

Πολυεπεξεργαστές. Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011. Πολυεπεξεργαστές. Απλοί στη σχεδίαση και στον προγραμματισμό Απλό δίκτυο ( bus) Δε μπορούμε να έχουμε πολλούς επεξεργαστές (συνήθως Ν < 16) - PowerPoint PPT Presentation

Transcript of Πολυεπεξεργαστές

-

2011 hardware / . 3 cache. : cache cache(cache coherence problem) cache / . 4 cache cache ; ; cache ; cache - / . 5Cache = , . cache cache cache (2) / . 7 cache . 128 256 512 bytes, : k X k+1 . cache / . 6CPUcachebus cache (3) / . 80data block01data block12data block2Mdata blockM . . . . . . . . . . . . . . . . . . . . . . . . .X ? () () cache (4) / . 9 h (hit rate). cache, block, , . h > 99% (miss-rate) m = 100% - h cache. 0,5 - 1 Mb block. > 32 bytes cache (direct-mapped, fully associative, set associative) cache (5) / . 10 cache 4 : (Read-hit) (Read-miss) (Write-hit) (Write-miss)Read-hit / . 111. Read-hit: , D, cache. D cache Read-miss / . 122. Read-miss: , D, cache. cache block B D D cache. block B .Write-hit / . 133. Write-hit: , D, cache. cache 2 :. D cache ( write-back). cache-. block B, D, . : dirty_bit = 1. D cache ( write-through). cache-Write-back Write-through; / . 14Write-back write-through write-through cache , . , (20% 80%) write-through cache . write-back Write-miss / . 154. Write-miss: , D, cache. cache 2 :. block B, D, cache cache ( write-allocate). write-back.. D ( no-write-allocate). write-through. cachecache-coherence / . 16 cache .cache Acache B D0D=11A read DD=1D=12B read DD=1D=1D=13A write D=2D=2D=1D=13*A write D=2D=2D=1D=2 write-back write-through / . 17: . . . / . 18 (snooping) bus --> - (directory-based) --> - - snooping / . 19 : cache cache ( write) . = bus bus snooping (2) / . 20 write-back cache i D. write-miss write-hit cache. : cache block B D (write-invalidate) cache D (write-update)write-invalidate write-update; / . 21 write-invalidate block B D D block block write-update cache write-invalidate write-update snooping (3) / . 22 i D cache. cache i bus () cache () . cache , D . snooping / . 23 (Finite State Machines) = () (input) (actions) block :/ = cache = snooping (2) / . 24 cache (actions) :() (CPU)() bus cache (). CPU BUS. snooping (3) / . 25/ ... CPUread/ bus. block cacheread/ cacheread/ cachewrite/ cachewrite/ bus. block cachewrite/ bus cache snooping (4) / . 26/ ... BUSreadwritewrite/ block busread/ block busread/ block buswrite/ block bus / . 27 snooping bus . ;: directory-based snooping. : cache (Uncached) (Shared) (Exclusive) (2) / . 28 snooping: snooping: block cache = binary string (0= , 1= ). 01000011000 (3) / . 29 block, . block. .: Snooping ; / . 30Snooping bus: bus () snooping (- ) .