Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Geheugen-hiërarchie.

Slides:



Advertisements
Verwante presentaties
Test computertermen: Deze test gaat over de vorige les. Je krijgt steeds een vraag te zien waarop je het juist antwoord moet aanklikken. Is je antwoord.
Advertisements

Snelheid van digitale IC’s
Deeltjesmodel oplossingen.
PROS2 Les 13 Programmeren en Software Engineering 2.
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Aflezen van analoge en digitale meetinstrumenten
Serieel naar parallel omzetting
De fundamenten van de organisatiestructuur
Componenten voor een werkende computer
1.Er wordt als groep gereden, dus: Samen uit, samen thuis! 2.Cycletime is een toerfietsvereniging, de tochten zijn geen wedstrijd 3.ledereen houdt zich.
Programmeren met Alice
Parallel naar serieel omzetting
Week 1: overzicht computersysteem-organisatie
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 4(2): Digitale.
Par. 3.3 Het geheugen.
Extern Geheugen Lol.
Hoofdstuk 8: Recursie.
Het computergeheugen.
Hardware (2) SGDB Informatica.
BESTURINGS SYSTEMEN Vincent Naessens.
PROS2 Les 11 Programmeren en Software Engineering 2.
Computerarchitectuur
automatiseringselektronica
Steven Van Acker. Transmeta Crusoe - Steven Van Acker - Mei Overzicht  Inleiding  Het Idee  De Technologie  CodeMorphing  LongRun  NorthBridge.
Inleiding: De bepaalde integraal
Instructie Programmeren Debuggen 5JJ70. Debuggen: Wat is het probleem Je programma compileert, maar werkt niet zoals verwacht, wat nu? Vraag je af: wat.
Tussenpresentatie Modelleren C Random Seeds Sanne Ernst Jarno van Roosmalen.
Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Instructie set: principes.
Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Geavanceerde pipelining en parallellisme op het niveau van instructies (ILP:
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Advanced Encryption Standard
Opdracht 2. premisse: het Nederlandse over in contexten waarin het vertaald wordt door about is een instantiatie van de focus-of- attention sense incorrecte.
De computer: Hardware Het beeldscherm Het toetsenbord De muis
Hoofdstuk 5 Het belang van geheugens Prof. dr. ir. Dirk Stroobandt Academiejaar
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 1(2): overzicht.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1.
Verdieping Programmeren in Java - deel 1 college 6 mei 2001.
PIR sensor.
Slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers De Intel 80x86 reeks voor PC.
Hoe werkt een rekenmachine?
10 juni 2002 TIF Slide Welkom 1 W.M. Everse | Z.Y. Ye | P. Groenenberg.
SPAM SPAM. Heeft u veel SPAM? Kan uw provider het niet tegenhouden?
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
Klik ergens op het witte deel van deze pagina om verder te gaan
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
FlexForum februari 2009 Deel : Release
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau klokken en geheugens.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
PO informatica SSD en Monitor
Processor Hart van de computer.
Hoofdstuk 5 Vijfkaart hoog, eerste verkenning 1e9 NdF-h1 NdF-h5 1 1.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 9(1): Virtual.
Rekenen groep 4.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
HOGESCHOOL ROTTERDAM / CMI Computersystemen 2 (TIRCCMS02 - Operating systems)
Online filmpjes maken. (
Online filmpjes maken. (
Instructie Programmeren Task 7
Cache Prestatie & Energieverbruik. Overzicht Voorbeelden energieverbruik Cache.
Onderzoeksvaardigheden 3
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hardware (2) SGDB Informatica.
Computersystemen 2 (TIRCCMS02 - Operating systems)
3 Hardware 3.1 De processor en intern geheugen
Hardware (2) SGDB Informatica.
Besturingssystemen Ga verder met een muisklik..
Transcript van de presentatie:

slide 1Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers Geheugen-hiërarchie

slide 2Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers geheugenhiërarchie (slide uit H1) n axioma van hardware ontwerp: klein is snel u klein: signalen moeten minder ver gaan u meer voeding mogelijk per cel Z wel veel duurder n van groot belang bij geheugens u grote bandbreedte (in MB/sec.) u kleine toegangstijden n data toegang u meest recent gebruikt komt vaak terug (temporal locality) u wat in de buurt ligt is vaak ook nodig (spacial locality) n combinatie van deze elementen met de wet van Amdahl: geheugen hiërarchie is de oplossing (fig. 1.15)

slide 3Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers geheugenhiërarchie (vervolg) n doelstelling van geheugenhiërarchie u kost van het geheel moet bijna gelijk zijn aan het goedkoopste deel van de hiërarchie u snelheid van het geheel moet bijna gelijk zijn als het snelste deel uit de hiërarchie n organisatie u meestal is elk deel een subset van een ander deel u het laagste deel uit de hiërarchie bevat alles n invloed op adressen u adressen moeten vertaald (+ gechecked, beveiliging) worden van een grotere adresruimte naar een kleinere adresruimte n fig 1.16: typische waarden van grootte en snelheid van de verschillende delen van de hiërarchie

slide 4Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers belang van caches n basisprobleem: performantieverbetering van CPU stijgt sneller over de jaren dan de performantieverbetering van geheugens (fig. 5.1) n het verschil tussen de snelheid van de CPU en die van het hoofdgeheugen wordt opgevangen door caches momenteel vaak meerdere niveaus: l snelheid van cache wordt mede bepaald door grootte: hoe kleiner, hoe sneller l cache moet aansluiten bij de snelheid van de CPU maar groot genoeg zijn of er zijn teveel cache misses l oplossing: 2 of zelfs 3 caches van verschillend niveau

slide 5Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers de werking van een cache n een cache wordt getypeerd door 4 eigenschappen: l plaatsing van een blok l zoeken van een blok l vervanging van een blok door een ander l strategie voor het wegschrijven van gewijzigde blok u plaatsing van een blok s volledig associatief (elk blok kan overal) s directe plaatsing (elk blok kan maar op 1 plaats) s ‘set associative’ (elk blok kan op een verzameling plaatsen) –als verzameling 1 groot is = directe plaatsing –als verzameling de hele cache is = volledig associatief

slide 6Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers de werking van een cache n 4 eigenschappen (vervolg) u zoeken van een blok l gebeurt in parallel l in elk adres –eerste deel (tag) bepaalt welk blok in de verzameling –tweede deel (index) bepaalt de verzameling –derde deel (offset) bepaalt element in het blok l hoe groter de verzameling, hoe kleiner de index (bij volledige associativiteit valt de index weg) l zie ook voorbeeld figuur 5.5 block offset indextag block address

slide 7Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers de werking van een cache (vervolg) n 4 eigenschappen (vervolg) u vervanging van een blok door een ander l bij cache miss komt er een nieuw blok in de cache –welk blok gaat er dan uit ? –bij direct mapping heel eenvoudig: geen keuze mogelijke –bij set-associatieve of volledig associatieve geheugens: –random (is goedkoop) –LRU (is duur)

slide 8Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers de werking van een cache (vervolg) n 4 eigenschappen (vervolg) u strategie voor het wegschrijven van gewijzigde blok l write through –informatie wordt weggeschreven in cache en hoofdgeheugen –dit kan leiden tot vertraging bij een write (schrijven naar hoofdgeheugen is traag) –oplossing: write buffer l write back: –informatie wordt eerst enkel in de cache gewijzigd –blok wordt naar hoofdgeheugen gekopieerd bij vervanging

slide 9Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie van caches verbeteren n performantie van een cache kan verbeterd worden door u het aantal cache misses te verminderen u de tijd die je verliest bij een cache miss te verminderen u de ‘hit tijd’ te verminderen (de tijd die nodig is om te zien of iets in de cache aanwezig is) _ deze methoden worden elk uitgewerkt in de volgende slides

slide 10Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers performantie van caches verbeteren (vervolg) n het aantal cache misses verminderen u soorten cache misses l verplicht –bij het eerste gebruik heb je altijd een cache miss l grootte van de cache –als het programma voortdurend meer gegevens gebruikt dan in de cache passen heb je veel cache misses l conflict in blokken –een blok verdwijnt niet omdat het niet meer gebruikt wordt, maar vanwege een conflict –zo kun je 2 blokken telkens om beurt weer moeten inladen

slide 11Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n het aantal cache misses verminderen (vervolg) u oplossingen l grotere blokken –verlaagt missen bij eerste gebruik –verhoogt kost bij een miss –verhoogt eventueel het aantal conflict-misses l grotere associativiteit (minder conflicten) –kost meer tijd bij nakijken of blok er is (hit tijd) l slachtoffer-cache: bijhouden van enkele blokken die er als slachtoffer uitgingen –bv 1 tot 5 blokken –interessant bij direct associatieve caches performantie van caches verbeteren (vervolg)

slide 12Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n het aantal cache misses verminderen (vervolg) u oplossingen l pseudo-associatieve caches: –eerst zoek je direct-associatief –daarna nog ergens anders (bv inverteren meest significante bit van index) l hardware gecontroleerde prefetch naar een speciale buffer tussen hoofdgeheugen en cache –bij elke fetch ook het volgende blok inladen l compiler gecontroleerde prefetch l compiler optimisaties (verhogen van temporele en ruimtelijke localiteit, herordenen van procedures) performantie van caches verbeteren (vervolg)

slide 13Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n de tijd die je verliest bij een cache miss verminderen u voorrang geven aan read misses boven writes l bij read miss niet wachten tot alles weggeschreven is maar ook checken in write buffers of gezocht blok daar in zit u werken met sub-blokken als blokken erg groot zijn l elk sub-blok heeft ‘valid’ bit, niet alle sub-blokken inlezen l een sub-blok binnenhalen bij cache miss is sneller dan de hele blok u woord snel doorgeven aan CPU (voordat heel blok in cache is) l van zodra gevraagd woord binnen is: doorgeven l of zelfs eerst woord ophalen en dan heel blok u niet-blokkerende caches l bij een miss, terwijl cache gegevens ophaalt, andere aanvragen behandelen (belangrijk bij multiple issue) performantie van caches verbeteren (vervolg)

slide 14Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n de tijd die je verliest bij een cache miss verminderen (vervolg) u invoeren van een L2-cache l groter wordend verschil tussen snelheid CPU en hoofdgeheugen: –of cache sneller maken (dichter bij CPU) –of cache groter maken (dichter bij hoofdgeheugen) l dit dilemma oplossen door een nieuw niveau van cache te plaatsen, dan is het antwoord op beide vragen ‘ja’ –L1 cache klein genoeg: werkt op kloksnelheid van CPU –L2 cache groot genoeg: bijna geen misses meer (buiten de eerste) performantie van caches verbeteren (vervolg)

slide 15Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n ‘hit tijd’ verminderen (tijd nodig om zien of geg. in cache) u hit tijd van groot belang: beïnvloedt de kloksnelheid van CPU u oplossingen l kleine, eenvoudige caches –bv directe plaatsing, vergelijken van tag in parallel met sturen naar CPU (als niet klopte dan data tegenhouden) l geen adresvertaling (van virtueel naar fysisch) –gebruik virtuele adressen in de cache –bij proces-switch moet cache geflushed worden –of toevoegen van een PID l pipelining van writes –normaal: eerst checken van tag (zeker zijn dat dit het juiste blok is), dan pas schrijven –bij pipelining: één write per cycle performantie van caches verbeteren (vervolg)

slide 16Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers hoofdgeheugen n belangrijke tijden: access time en cycle time n huidige technologie: DRAM u D staat voor dynamisch: elke bit gebruikt 1 transistor l deze bit wordt verstoord bij het lezen een gelezen geheugenplaats moet herschreven worden: daardoor is cycle time groter dan access time l deze bit heeft regelmatig een ‘refresh’ nodig of het verliest zijn informatie u door het groter worden van de DRAMs is vaak bespaard op adreslijnen: men gebruikt de helft van de adreslijnen l de eerste helft van een adres wordt verstuurd: Row Access Strobe (RAS) l gevolgd door de tweede helft van het adres: Column Access Strobe (CAS)

slide 17Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n snellere (maar duurdere technologie): SRAM u S staat voor statisch: elke bit wordt door 4 tot 6 transistors voorgesteld l dus veel duurder l cycle time is gelijk aan access time l cycle time is 8 tot 16 keer sneller dan bij DRAMs l bijna alle caches gebruiken SRAM n VRAM, RAMBUS: een chip dat een geheugensysteem voorstelt: u geen RAS/CAS, maar een speciale bus u na 1 aanvraag kan de chip variabele hoeveelheid informatie teruggeven aan grote snelheid u wordt gebruikt voor grafische schermen (VRAM = Video RAM) hoofdgeheugen (vervolg)

slide 18Structuur en Organisatie van Computersystemen: deel 2Yolande Berbers n methoden voor het verhogen van de bandbreedte van het hoofdgeheugen (fig. 5.31) u breed hoofdgeheugen l ipv 1 woord tegelijk te lezen, leest men 2 of 4 woorden tegelijk (bv 256 bits in de Alpha AXP 21064) l bus moet dan zo breed worden l multiplexer (tussen L2-cache en L1-cache, of tussen L1-cache en CPU) kiest dan juist gedeelte u gebruik van interleaving met verschillende geheugenbanken l hier gebruikt men het parallellisme tussen DRAMs l bandbreedte van de verschillende banken worden opgeteld u gebruik van onafhankelijke geheugenbanken (elk ev. eigen bus) u RAMBUS of VRAM (zie eerder) hoofdgeheugen (vervolg)