Inleiding computersystemen en netwerken deel 3 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.5.1 Inleiding computersystemen en netwerken deel 3 Systeemprestaties • Wat is bepalend voor de systeemprestaties? • Hoe versnellen we het data transport? • Hoe versnellen we de geheugen toegang? • Hoe verbeteren we de CPU snelheid? Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.5.2 Inleiding computersystemen en netwerken deel 3 3.5.3 Von Neumann cyclus Bus operation to memory IF 1) Instruction Fetch Internal processing 4) Execute and operand store EX/ OS ID 2) Instruction Decode Internal registers or Bus operation to memory 3) Operand(s) Fetch OF Internal registers or Bus operation to memory Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.4 Bus gebruik in de tijd IF ID t? OF EX OS t? t Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.5 IF Bus operatie CPU 1. Adres (bus) 2. Geheugen selectie (glue) 3. Data beschikbaar (memory) 4. Data overdracht (bus) memory Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 Bus snelheid? • • • • Zender Rijs-tijd Reistijd Ontvanger medium 100 Mhz (10 nsec) ? Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 3.5.6 Inleiding computersystemen en netwerken deel 3 3.5.7 Geheugens a0 an r/w CS* EN* a0 am Statische RAM Cycle time = Access time r/w RAS* CAS* Dynamische RAM Cycle time = Access time + pre-charge time Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.8 Dynamische RAM RAS* a0 am Versnellen van data transport? r o w Page mode Interleaving Column data CAS* r/w Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.9 Cache memory CPU cache memory Stay on chip! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.10 Cache types • Instructie cache • Data cache • Mixed or unified cache Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.11 Associatief geheugen adres comparator nx adres comparator data Hit ? data Extern adres Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Data uit Inleiding computersystemen en netwerken deel 3 3.5.12 fully associative cache • iedere geheugencel heeft comparators voor het volledige adres – veel hardware – veel stroom Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.13 Direct mapping cache Veel minder hardware: een direct mapped cache heeft maar 1 comparator! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.14 Set-associatieve cache Het compromis: een set-associative cache Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.15 Een compromis tussen performance en prijs in de praktijk is een cache meestal 2 .. 16way set-associatief Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.16 Cache inhoud (hit) Wat bewaar je in een cache? dat wat je snel weer nodig hebt, je wil dus eigenlijk voorspellen... caching berust op lokaliteit of eigenlijk: wat gooi je weg? Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.17 Cache mis wat lees je in bij een misser? RAM geheugen is meestal sneller in sequential access access is vaak sequentieel, dus ... Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.18 Cached data write wat te doen bij schrijven? write-trough write-back let op bij multiprocessor systemen! Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.19 Tijdaspect een probleem bij real-time systemen: onvoorspelbaarheid benchmarking is lastig Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.20 gnihcaC omgedraaide cache: virtueel geheugen! maak (schijnbaar) meer geheugen door (transparant) een lager deel van de hiërarchie te gebruiken ‘t is maar hoe je het ziet... Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.21 Gefaseerde uitvoering van instructies (instruction) Fetch (instruction) Decode, Execute Nadeel: op ieder moment is maar een deel (in dit geval ¼) van je hardware echt bezig! (result) Store Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.22 Pipelining Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.23 pipelining: overlappende uitvoering van instructies instructies worden 4 keer zo snel uitgevoerd doordat op ieder moment alle delen van de hardware bezig zijn (ieder met een verschillende instructie) Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.24 Pipelining problem IF ID OF EX OS IF ID OF EX IF ID OF IF ID IF Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.25 CISC <-> RISC complex instruction set computer reduced instruction set computer • • • • • De instructies verrichten simpele taken Alle instructies zijn even groot Er is geen uitgebreide keuze aan adresseer-modes Er zijn veel interne registers beschikbaar Load and Store architecture Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.26 ARM7 3-stage pipeline Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.27 Superscalair Int unit Int unit cache Instruction queue FP unit Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.28 Multiprocessor systemen (classificatie van Flynn) • • • • SISD SIMD MISD MIMD single instruction single data single instruction multiple data multiple instruction single data multiple instruction multiple data Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology Inleiding computersystemen en netwerken deel 3 3.5.29 Opdracht: • Onderzoek versnellingstechnieken toegpast bij de Pentium 4 processor • Werking en type cache(s) • Samenhang met het toegepaste geheugen Bestudeer: hoofdstuk 9 Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology