Forelesning 3.11. Hurtigbuffer Kap 4.5



Like dokumenter
TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

Løsningsforslag eksamen TDT4160 høsten 2005

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

IN1020. Minnehierarki

Forelesning Instruksjonstyper Kap 5.5

INF2270. Minnehierarki

Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer. CPU Cache RAM. om cache-hukommelse (kapittel 6.5 i Computer Organisation

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

Hukommelseshierarki. 16/3 cache /3 virtuell hukommelse in 147, våren 1999 hukommelseshierarki 1

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Forelesning Optimalisering av μark Kap 4.4

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Øving 1: Busser, adressemodi, multiplekser og styreord

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache Hukommelseshierarki-1 1

TDT4258 Eksamen vår 2013

Forelesning Forgreningspredikering Kap 4.5 Superskalaritet Kap 4.5 Spekulativ utføring Kap 4.5

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning ISA-nivået Kap 5.1

Forelesning ISA: IJVM Kap 4.2

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

Dagens tema. Flere teknikker for å øke hastigheten

Forelesning Adresseringsmodi Kap 5.4

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Dagens temaer. Virtuell hukommelse. Sidetabell. Virtuell hukommelse (forts.)

Tildeling av minne til prosesser

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

En oppsummering (og litt som står igjen)

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Kapittel 3. The fun starts

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

1.8 Binære tall EKSEMPEL

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Fakultet for informasjonsteknologi,

TDT4225 Lagring og behandling av store datamengder

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

UNIVERSITETET I OSLO

Vedlegg 3 ephorte brukerveiledning for utvalgssekretær 1

Læringsmål og pensum. v=nkiu9yen5nc

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Tildeling av minne til prosesser

Brukermanual for kommuneansvarlig og testleder

Oppgave 1 - Linux kommandolinje (%)

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

Steg for steg. Sånn tar du backup av Macen din

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Into da BIOS<3. Bak Skallet

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

! Sentrale begreper er adresserbarhet og adresserom. ! Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Håndtering av minne i et OS

Forelesning Mikroprogram for IJVM Kap 4.3

1. Introduksjon til operativsystemer

Manual MicroBuild.no Engineering

TDT4225 Lagring og behandling av store datamengder

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess

Universitetet i Oslo. Oppgaver kurs i bestillingssystemet for rollen Rekvirent

TDT4110 Informasjonsteknologi grunnkurs: Uke 48 Oppsummering/Spørretime. Professor Alf Inge Wang

Oppgave 1 Datamodellering 25 %

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

Transkript:

TDT4160 Datamaskiner Grunnkurs Forelesning 3.11 Hurtigbuffer Kap 4.5

Dagens tema Hurtigbuffer (4.5) Repetisjon: Hva, hvorfor og hvordan Avbildning Skriveoperasjoner

Hurtigbuffer ( cache ): Hvorfor?

Hurtigbuffer: Hvordan?

Lokalitetsprinsippet (1/2) Hurtigbuffer Størrelse gjerne 0,1% av hovedlager Likevel har hurtigbuffer ofte 95% treffrate Hvordan er dette mulig? Lager aksesseres ikke i et tilfeldig mønster Kan forutse fremtidige lageraksesser Lokalitet i rom: Henter vi fra adresse 100 er det sannsynlig at vi snart kommer til å hente fra adresse 101 Instruksjoner: Sekvensiell utførelse Data: Ofte lagret i blokker (tabeller, bilder o.l.)

Lokalitetsprinsippet (2/2) Lokalitet i tid: Henter vi fra adresse 100 nå, er det sannsynlig at vi snart vil lese fra samme adresse Instruksjoner: Løkker, subrutiner,... Data: Ofte brukte variabler,... Dermed: Hentes noe fra hovedlager... Legg det i hurtigbuffer Hent også data fra etterfølgende adresse(r) til hurtigbufferet Sannsynlig at det vi trenger er i hurtigbuffer

Hurtigbuffer: Organisering CPU Hovedlager deles inn i linjer (eks: á 64 bytes) Hurtigbuffer inneholder kopi av noen av linjene Overføring av data blir dermed: Mellom prosessor og hurtigbuffer: Byte/Ord Mellom hurtigbuffer og hovedlager: Linjer

Avbildning ( Mapping ) Hurtigbuffer inneholder: Kopi av data fra hovedlager (Del av) hovedlageradresse til hver linje Når prosessor aksesserer hovedlager Sjekk om data finnes i hurtigbuffer (match på adr.) Viktige problemstillinger: Hvordan sjekker man om noe ligger i hurtigb.? Hvor i hurtigbuffer kan nye linjer plasseres? Hva skal kastes ut hvis hurtigbuffer er fullt? Avhenger av valgt avbildningsmetode

Direkte avbildning (1/3) En gitt hovedlagerlinje kan bare ligge på en plass Flere hovedlagerlinjer kan ligge på samme plass Tag ( Merkelapp ) forteller hvilken av disse det er

Direkte avbildning (2/3) Hovedlageradresse deles inn i 4 felt Eksempel: Maks 4 GB hovedlager 32 bits adresse 32 bits ord 2 bit BYTE-felt (byte innen ord) 32 bytes linjer 3 bits WORD-felt (ord innen linje) 2048 hurtigbufferlinjer 11 bits LINE-felt Resten (32-2-3-11=16) brukes til TAG-felt Data som ligger på adresser med like LINE-felt, havner på samme hurtigbufferlinje

Direkte avbildning (3/3) Hvordan sjekker man om noe ligger i hurtigb.? Se på LINE-feltet i adressen Slå opp på hurtigbufferlinja med det nummeret Matcher TAG-feltet i adressen og hurtigbufferlinja? Hvor i hurtigbuffer kan nye linjer plasseres? Gitt av LINE-feltet i adressen Hva skal kastes ut hvis hurtigbuffer er fullt? Det som lå på hurtigbufferlinja fra før

Fullt assosiativ avbildning (1/2) Alle linjer kan ligge hvor som helst i hurtigbuffer TAG-felt forteller hvilken linje som ligger der Må sjekke alle TAG-felt ved oppslag Trenger algoritme for utkasting 27 3 2 TAG WORD BYTE

Fullt assosiativ avbildning (2/2) Hvordan sjekker man om noe ligger i hurtigb.? Sjekk alle TAG-felt i hurtigbuffer Se om noen matcher med TAG-felt i adresse Hvor i hurtigbuffer kan nye linjer plasseres? Hvor som helst Hva skal kastes ut hvis hurtigbuffer er fullt? First In First Out? Least Recently Used? Tilfeldig?

Sett-assosiativ avbildning Hver hurtigbufferlinje inneholder et sett med linjer Hurtigbufferlinjenr gitt av LINE-felt i adresse Men: Kan ligge på vilkårlig settposisjon

Dagens oppgave Gitt følgende: 16 MB hovedlager (2^24 = 16 M) 64 bits ordstørrelse 16 ords linjestørrelse Hurtigbuffer på 8 linjer Hvordan blir feltene i adressen med direkte avbildning? Hvordan blir feltene i adressen med fullt assosiativ avbildning?

Hurtigbuffer: Skriveoperasjoner Prosessor ønsker å skrive til hovedlager Data finnes i hurtigbuffer: Write through: Oppdater både hurtigbuffer og hovedlager Write back: Oppdater bare hurtigbuffer Oppdater hovedlager senere Data finnes ikke i hurtigbuffer: Kan omgå hurtigbuffer helt Write allocation: Hent data inn til hurtigbuffer først

Hurtigbuffer: Hva er vanlig? Skjermbilde fra CPU-Z (www.cpuid.com), AMD Athlon 64 CPU