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

Like dokumenter
Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

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

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

IN1020. Minnehierarki

Dagens tema. Flere teknikker for å øke hastigheten

Oppsummering av digitalteknikkdelen

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

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

INF2270. Minnehierarki

Oppsummering digital-teknikk, teknikk, INF2270

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

Internminnet. Håkon Tolsby Håkon Tolsby

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

Dagens temaer. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten. Organisation and Architecture )

Internminnet. Håkon Tolsby Håkon Tolsby

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

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

Praktisk anvendelse: Satellittkommunikasjon

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

I dag. Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss

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

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

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

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

Teoretisk minnemodell Flyktig minne - SRAM -DRAM Ikke-flyktig minne -ROM -EPROM - EEPROM Flash

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

Forelesning Hurtigbuffer Kap 4.5

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

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

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Forelesning 9. Registre, tellere og minne

INF2270. Input / Output (I/O)

Hvorfor lære om maskinvare*?

Digital logic level: Oppsummering

INF2270. Input / Output (I/O)

UNIVERSITETET I OSLO

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070

INF2270 I/O. Omid Mirmotahari Omid Mirmotahari 1

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

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

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

2. Hvor mye Internminne har den? Svar: 2GB

Maskinvaredelen av INF 103: oversikt og innhold (1)

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

Datamaskinens oppbygning

Minnehåndtering i operativsystemer

Tildeling av minne til prosesser

IN1020. Datamaskinarkitektur

Datamaskinens oppbygning og virkemåte

Oppgave 8.1 fra COD2e

Intel Core i7. Omid Mirmotahari 4

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

UNIVERSITETET I OSLO

TDT4160 AUGUST, 2008, 09:00 13:00

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

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

INF2270. Datamaskin Arkitektur

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

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

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

INF3430/4431. Kretsteknologier Max. kap. 3

Oppgave 2 Maskinkode (vekt 12%)

Dagens temaer. Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj INF 1070

INF2270. Datamaskin Arkitektur

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

P1 P2 P3 P1 P2 P3 P1 P2. OS gjør Contex Switch fra P1 til P2

Lab oppgave gruppe 2 IT-ledelse (Jonas F, Robin PN, Aksel S, Magnus M, Erik I)

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Phu Pham Laboppgave 29. September 2015

Forelesning Instruksjonstyper Kap 5.5

Minnehåndtering i operativsystemer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Tildeling av minne til prosesser

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

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

Generell informasjon

Hovedkort, brikkesett og busser

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Clock speed 3.20GHz Bus Speed 800MHz L2 Cache 4MB 2 Cores Ikke Hyperthreading 64 BIT

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

Filsystemet fra innsiden

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Transkript:

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

Cache (repetisjon) Ønsker så mye og rask hukommelse som mulig tilgjengelig for et program under eksekvering, både for instruksjoner og data Cache-minnet er mye raskere enn konvensjonell RAM (ca 10-100 ganger), men dyrere slik at man ikke kan ha like mye av det som RAM Cache inneholder en kopi av områder i RAM Cache er integrert på CPU en eller plassert rett ved siden av (eller begge deler) CPU Cache RAM 2

Cache (repetisjon) Kapasiteten til cache ligger i mellom det interne i CPUen og RAM. Typiske verdier er fra 8 KB til 2 MB L1 cache ligger på samme brikke som CPU en, mens L2 og L3 ligger ved siden av Siden cache n er nesten like rask som CPUen, trenger ikke CPU en å stoppe opp og vente i mange klokkesykler på at RAM skal levere data. CPU en vet ikke om data eller instruksjoner ligger i cache eller i RAM CPUen får beskjed utefra (buss- eller cache-kontroller) når data er klare. Om CPUen venter 1 eller 100 000 klokkesykler spiller ingen rolle annet enn for hastigheten. 3

Cache (repetisjon) Siden cache n er mindre en hurtigminnet (RAM) består mesteparten av administrasjonen av cache i å velge ut hvilken del av programmet og hvilke data som skal ligge i cache, og hvilke som må ligge i RAM. Cache benytter seg av lokalitetsprinsippet: Instruksjoner/data aksesseres som regel sekvensielt, dvs fra samme område i hukommelsen Som en konsekvens vil de samme instruksjonene/data også aksesseres nær hverandre i tid Cache kopierer derfor hele blokker (størrelse fra 4 byte opp til noen kilobyte) 4

Tag-felt Slot-nummer Blokk Tag+Slot =adresse 6410 1880 0064 0 1 2 3 0 1 2 3 0 1 2 3 6410 6411 6412 6413 1880 1881 1882 1883 0064 0065 0066 0067 Startadresse i blokken Tilsvarer adresse i RAM 5

CPU 1) Cachekontroller Når en prosessor skal hente en instruksjon eller lese/skrive data, vet den ikke om den skal hente fra RAM eller cache. Hvis det prosessoren ber om ligger i cache, kalles det for cache hit: Figur til høyre: CPUen ber om å få innholdet i lokasjon 1881 2) Tag-felt 6410 1880 0064 Slot 0 1 2 3 0 1 2 3 0 1 2 3 Blokk 3) 6

5) CPU 1) Cachekontroller Hvis data ikke ligger i cache, får man en cache miss Figur til høyre: CPU en ber om lokasjon 9872 Cachekontrolleren finner ut at denne ikke finnes i cachen Blokken som starter på 9870 leses inn fra RAM Blokken som starter på 6410 overskrives for å gi plass til 9870 2) Tag-felt 6410 9870 1880 0064 Blokk RAM 4) 3) 7

Read/write hit/miss Cache-kontrolleren må håndetere 4 tilstander av aksess av cache Read hit Det skal leses fra hukommelsen og blokken med ordet befinner seg i cache Data leveres med en gang fra cache n til CPU en Read miss Det skal leses fra hukommelsen, men blokken det skal leses fra er ikke i cache Cache-kontrolleren må bestemme Hvilken blokk i cache som kan/skal overskrives Kopiere inn riktig blokk fra RAM til cache Levere ordet til CPU en Ved begge read-operasjoner vil innholdet i RAM og innholdet i kopien av blokkene i cache være identiske -> OK 8

Read/write hit/miss (forts) Write hit Det skal skrives til hukommelsen og blokken med lokasjonen det skal skrives til ligger i cache Data skrives til riktig lokasjon i blokken i cache Write miss Det skal skrives til hukommelsen og blokken med lokasjonen det skal skrives til ligger ikke i cache Cache-kontrolleren må bestemme Hvilken blokk i cache som kan/skal overskrives Kopiere inn riktig blokk fra RAM til cache Besørge skriving til riktig lokasjon i cache Ved begge write-operasjoner vil innholdet ikke innholdet i RAM og innholdet i kopien av blokkene i cache være identiske -> ikke OK 9

Mer om write hit/miss Hvis det bare skrives til cache og ikke RAM, vil ikke RAM inneholde gyldige data Hvis en blokk det er skrevet til kastes ut fordi cache er full, mister man data To strategier benyttes for å håndtere write-operasjonen korrekt: Write-through: Etter hver gang det skrives til en blokk, skrives innholdet i blokken også tilbake til RAM Fordel: Enkelt å implementere i cache-kontrolleren Ulempe: Hvis det skal skrives flere ganger rett etterhverandre til samme blokk må prosessoren vente mellom hver gang 10

Mer om write hit/miss (forts.) Write-back Innholdet i en blokk i cache kopieres kun tilbake til RAM hvis blokken skal overskrives i cache og det har blitt skrevet til den i cache For raskt å detektere om en blokk har blitt skrevet til benyttes et kontroll-bit i cache (kalles dirty-bit et) Fordel: Gir ingen hastighetsreduksjon ved flere påfølgende write-operasjoner til samme blokk siden CPU en ikke trenger vente mellom hver skriving Ulempe: Hvis det skal skrives flere ganger rett etterhverandre til samme blokk må prosessoren vente mellom hver gang. Hvis arkitekturen støtter direkte lesing/skriving mellom RAM og Input/Output-enheter uten å gå via CPU en (kalt Direct memory Access eller DMA), risikerer man inkonsistente data hvis ikke DMA-kontrolleren kommuniserer med cache-kontrolleren 11

Indeksering av cache og blokkoverskriving To gjenstående utfordringer ved design av cache: Hvordan cache-kontrolleren indekserer (dvs leter fram) riktig blokk ved lesing/skriving Hvilken blokk som skal overskrives/kastes ut når cache er full Det finnes tre ulike indekseringsteknikker for blokker i cache: Direkte-avbildet, Set-assosiativ Full assosiativ. Metodene skiller seg fra hverandre ved Hvor enkle de er å implementere, Hvor raskt det går å finne en blokken/tag Hvor god utnyttelse man får av cache Hvor ofte man får cache miss. 12

Direkte-avbildet: En bestemt blokk fra RAM kan bare plasseres i en bestemt blokk i cache. Flere RAM-lokasjoner må konkurrere om samme blokk i cache. Adresse Data Tag Blokk Cache Fordel: Lett å sjekke om riktig blokk finnes i cache: Sjekk kun ett tag-felt og se om denne inneholder blokken man leter etter. Ulempe: Høyere miss-rate (selv om det er ledig plass andre steder, kan en blokk kun plasseres ett bestemt sted) 13

Set-assosiativ: En bestemt blokk fra RAM kan plasseres i et begrenset antall blokk-lokasjoner i cache Adresse Data Tag Blokk Cache RAM Fordel: Lett å sjekke om riktig blokk finnes i cache: Søk gjennom et begrenset antall tag-felt og se om blokken man leter finnes i cache. Bedre utnyttelse av cache fordi en blokk kan plasseres flere steder Ulempe: Høyere miss-rate og lenger søketid enn ved direkte-avbildet (med mindre man søker i parallell gjennom tag-feltene). 14

Full assosiativ: En bestemt blokk fra RAM kan plasseres hvorsomhelst i cache Adresse Data Tag Blokk Cache RAM Fordel: Cachen utnyttes meget godt, og har minst sjanse for cache miss av de tre metodene Ulempe: Søket for å finne en blokk kan bli tidkrevende, og man lager mekanismer for å forenkle søk, f.eks hashing. Dette kompliserer imidlertid cache-kontrolleren og krever ekstra hardware 15

Ved cache miss må noen ganger en eksisterende blokk kastes ut for å gi plass til en ny blokk. Hvilken blokk som fjernes kan ha stor betydning for hastigheten til programmet som eksekveres. LRU (Least Recently Used): Blokken som har ligget lengst i cache uten å ha blitt skrevet til eller lest skrives over, pga. lokalitetsprinsippet Ren LRU benyttes sjelden fordi det medfører mye administrasjon som i seg selv er tidkrevende (bl.a må et tidsstempel oppdateres hver gang en blokk aksesseres) Random: Kaster man ut en tilfeldig blokk når man trenger å frigi plass til en blokk. Hybrid: Deler inn blokker i tidsgrupper, og kaster så ut en tidfeldig valgt fra den gruppen som har ligget lengst i cache uten å bli brukt. 16

RAM-typer RAM kan implemeteres på ulike måter, avhengig av bruksområde De to vanligste hovedtypene er Statisk RAM og Dynamisk RAM Statisk RAM: Hver enkelt lagercelle er laget av en RS-flipflop med transistorer Fordeler: Kort aksesstid Holder lagret verdi så lenge det er spenning på chip en Ulemper: Hver celle trenger 5-10 ganger mer plass enn dynamisk RAM Dyrere per bit A 0 A 1 A n Row select R/W Column I/O D 0 D 1 D 2 D m 17

RAM-typer (forts) Dynamisk RAM: Hver enkelt lagercelle er laget av en kondensator Fordeler: Mer kompakt enn SRAM Billigere per bit enn SRAM Ulemper: Innholdet blir borte etter kort tid (15ns) Trenger ekstra logikk for å friske opp innholdet slik at lagringen blir permanent A 0 A 1 A n Row select RAS Refresh Column select/ sense circuit D out D in W CAS 18

ROM I motseting til RAM kan Read-Only Memory (ROM) kun skrives til et begrenset antall ganger Den vanligste formen er ROM som enten prefabrikeres (hard-wired) med et fast innhold i hver celle programmeres én gang av brukeren (PROM) EPROM er en type som kan nullstilles og programmeres igjen Ultrafiolett lys brukes til å nullstille koblingspunkter EEPROM bruker elektrisk spenning istedenfor UV-lys for å nullstille NVRAM er svært utbredt i dag Kan re-programmeres ca 100 000 ganger Skriving er flere størrelsesordener langsommere enn lesing Brukes i bl.a. MP3-spillere og mobiltelefoner 19

Interne busser Siden datamaskiner støtter mange ulike typer RAM, grafikkort, nettverkskort etc, kreves ekstra brikker for å interface prosessoren Arkitekturen vist under er mest utbredt i dag Processor Prosessor-spesifikt grensesnitt Maskin-spesifikke grensesnitt Grafikk Disk Nettverk Northbridge Southbridge Hurtigminne PCI Audio USB 20

Buss Busser er enten synkrone eller asynkrone: Synkron: Endringer på bussen skjer etter en fast protokoll, relativt til et klokkesignal i kontrollinjene. Raskere enn asynkrone Knytter sammen enheter med samme klokkehastighet Enhetene må ligge nær hverandre fysisk Asynkron: Intet klokkesignal blant kontrollinjene. Overføring av data skjer etter regler avtalt mellom enhetene ( handshaking ) Knytter sammen enheter med ulik hastighet Gir færre begrensninger i busslengde Mer komplisert protokoll for synkronisering Mer om temaet på siste ordinære forelesning! 21