Computertechniek Wouter van Ooijen Mail: [email protected] Sheets en info: www.voti.nl/hvu/D4ECPT1 Onderwerp: Literatuur: Computersystemen (deel 2) Computersystemen en embedded systemen Leo van Moergestel let op: deze sheets zijn (deels) behandeld maar zijn geen onderdeel van de te tentamineren stof (komt alsnog in deel 2). Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Computertechniek soorten geheugens caching harde schijven RAID Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 2 Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3 Computertechniek 4 registers on-chip cache externe cache hoofdgeheugen (DRAM) harde schijf CD rom, tape, internet Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek processors worden steeds sneller geheugen wordt ook wel wat sneller het geheugen wordt de beperking Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 5 Computertechniek de oplosing: caching! neem een klein stukje sneller geheugen, zorg dat dit transparant het langzamere geheugen vervangt Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 6 Computertechniek 7 een separate RAM cache Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 8 associatieve adressering Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 1 associatieve geheugen cel Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 9 Computertechniek een cache met adressen en data Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 10 Computertechniek fully associative cache: iedere geheugencel heeft comparators voor het volledige adres - veel hardware - veel stroom - dus lage integratie Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 11 Computertechniek veel minder hardware: een direct mapped cache heeft maar 1 comparator! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 12 Computertechniek het compromis: een set-associative cache Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 13 Computertechniek zoals altijd: een compromis tussen performance en prijs... in de praktijk is een cache meestal 2 .. 16-way set-associatief Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 14 Computertechniek maar wat bewaar je in een cache? dat wat je snel weer nodig hebt, je wil dus eigenlijk voorspellen... caching berust op localiteit of eigenlijk: wat gooi je weg? LRU, LFU, FIFO, MRU (!), random (!), ... Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 15 Computertechniek wat lees je in bij een misser? RAM geheugen is meestal sneller in sequential access access is vaak sequentieel, dus ... sommige processor/cache combinaties hebben een speciale pre-fetch instructie! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 16 Computertechniek separate data / instruction caches combined (unified) cache Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 17 Computertechniek wat te doen bij schrijven? write-trough write-back let op bij multiprocessor systemen! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 18 Computertechniek een probleem bij real-time systemen: onvoorspelbaarheid benchmarking is lastig Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 19 Computertechniek omgedraaide cache: virtueel geheugen! maak (schijnbaar) meer geheugen door (transparant) een lager deel van de hierargie te gebruiken ‘t is maar hoe je het ziet... Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 20 Computertechniek 21 oefening neem aan dat de cache initieel leeg is Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek A 1 6 22 34 23 9 34 6 1 9 41 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 23 A 1 6 34 23 9 34 6 1 9 41 A % 8 1 6 2 2 1 1 1 7 1 6 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 24 A 1 6 34 23 9 34 6 1 9 41 A % 8 C 1 6 2 7 1 2 6 1 1 1 - - - - 1 34 6 9 1 9 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 25 A 1 6 34 23 9 34 6 1 9 41 A % 8 C 1 6 2 7 1 2 6 1 1 1 - - - - 1 34 6 9 1 9 H? - - - - N Y N N N Y Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek indeling van een harde schijf Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 26 Computertechniek een verzameling tracks vormt een cylinder Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 27 Computertechniek data ophalen (of wegschrijven) op een harde schijf: 1 selecteer de juiste kop (niet altijd) 2 beweeg de kop(pen) naar de juiste track (ttt) 3 wacht tot de juiste sector langskomt (latency) 4 lees (of schrijf) de data (transfer) 2 is meestal de langzaamste stap (tenminste: bij random access!) elevator algorithm Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 28 Computertechniek 29 adresseren van gegevens op een harde schijf: vroeger door expliciet head, track (cylinder) en sector te specificeren tegenvoordig vaak nog met zo’n drietal, maar er is meestal geen relatie meer met de fysieke schijf (address translation) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek als de processor langzaam is: interlaving Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 30 Computertechniek 31 IDE ‘domme’ schijven (goedkoop) korte kabel, max 2 schijven, 1 operatie tegelijk Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 32 SCSI ‘intelligente’ schijven (duurder) kabel kan langer zijn, meerdere schijven, meerdere operaties tegelijk (zinning?) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek Trend: van parallel naar serieel Bij ‘lagere’ snelheden: meer draadjes meer bits (per tijdseenheid) meer throughput! (IDE, SCSI, HP-GPIB, CPU-RAM interface) Bij ‘hogere’ snelheden: meer draadjes looptijdverschillen probleem! (USB, FireWire, serial-ATAPI, Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 33 Computertechniek harde schijf organisatie • • • • ruimteverlies bij kleine files fragmentatie FAT page file Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 34 Computertechniek File opslag in een netwerk (1) DAS: Direct Attached Storage Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 35 Computertechniek File opslag in een netwerk (2) NAS: Network Attached Storage Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 36 Computertechniek File opslag in een netwerk (3) SAN: Storage Area Network Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 37 Computertechniek 38 Redundant Array of Independent (or Inexpensive) Disks waarom? schijven zijn tegenwoordig goedkoop (micro) controllers zijn (veel) sneller dan schijven betrouwbaarheid en snelheid zijn belangrijk Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek RAID 0 = striping : informatie verdelen,meerdere schijven “zien” als 1 grotere, + geen overhead, + snellere random access, - geen winst in betrouwbaarheid Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 39 Computertechniek RAID 1 = shadowing / mirroring: 2 copien van alle informatie + simpel, + leest snel, - verspilling van ruimte Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 40 Computertechniek RAID 3 = striping + parity + lage overhead, + hoge leessnelheid, + 1 fout bestendig, - write bottleneck Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 41 Computertechniek RAID 5 = store distributed parity code, + lage overhead, + hoge lees snelheid, + 1 fout bestendig, multiple writes! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 42 Computertechniek 43 doen 1 lees hoofdstukken 11 en 12 (12: alleen caching, dus t/m 12.1.3) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Computertechniek 44 doen 2 zoek uit: wat is (bv op jouw computer) • de prijs • omvang • prijs per byte • aandeel in de totale prijs van - hoofdgeheugen - harde schijf opslag Verslagje maken Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology