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



Like dokumenter
INF2270. Minnehierarki

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

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

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

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

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

Tildeling av minne til prosesser

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

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

Tildeling av minne til prosesser

Forelesning Hurtigbuffer Kap 4.5

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program

ytelsen til hukommelseshierarkier

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

IN1020. Minnehierarki

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

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

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

Dagens tema. Flere teknikker for å øke hastigheten

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

Oppsummering av digitalteknikkdelen

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

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

Optimalisering av flyttallsintensive programmer. Bjørn Lande

Tildeling av minne til prosesser

Håndtering av minne i et OS

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

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

Minnehåndtering i operativsystemer

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

Internminne og Cache. RAM = Random Access Memory

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

Minnehåndtering i operativsystemer

Innhold. Oppgave 1 Oversettelse (vekt 15%)

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

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

Maskinvaredelen av INF 103: oversikt og innhold (1)

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

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

UNIVERSITETET I OSLO

Generell informasjon

UNIVERSITETET I OSLO

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

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

UNIVERSITETET I OSLO

Minnebehandling. Skrive ut Skriverminne. Bruke farger. Papirhåndtering. Vedlikehold. Problemløsing. Administrasjon.

F9 IN Minnesystemer og cache. Yngve Hafting,

Internminnet. Håkon Tolsby Håkon Tolsby

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

HØGSKOLEN I SØR-TRØNDELAG

En oppsummering (og litt som står igjen)

Litt om Javas class-filer og byte-kode

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4258 Eksamen vår 2013

HØGSKOLEN I SØR-TRØNDELAG

DAT kandidatnummer: 142

Filsystemet fra innsiden

Datamaskinens oppbygning og virkemåte

Faglig kontakt under eksamen: Orestis Gkorgkas

Skriverminne. Minnebehandling 1. Skrive ut. Bruke farger. Papirhåndtering. Vedlikehold. Problemløsing. Administrasjon.

Løsningsforslag eksamen TDT4160 høsten 2005

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

Samtidige prosesser. Prosessor modus. Hvordan kan OS effektivt kontrollere brukerprosesser? Hvordan kan OS. kontrollere brukerprosesser?

Internminnet. Håkon Tolsby Håkon Tolsby

Minnehåndtering. Lars Vidar Magnusson. October 4, Lars Vidar Magnusson () Forelesning i Operativsystemer October 4, / 20

Eksamensoppgave i TDT4186 Operativsystemer

Oppgave 1 Oversettelse (vekt 16%)

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Operativsystemet Internt

Oppgave 1 - Linux kommandolinje (%)

Oppgave 8.1 fra COD2e

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

UNIVERSITETET I OSLO

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Filsystemet fra innsiden

Flerveis søketrær og B-trær

Spøkelsesjakten. Introduksjon

Løsningsforslag for TDT4186 Operativsystemer

UNIVERSITETET I OSLO

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

UNIVERSITETET I OSLO

TDT4225 Lagring og behandling av store datamengder

Generelt om operativsystemer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

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

Operativsystemer og grensesnitt

Forelesning ISA-nivået Kap 5.1

Løsningsforslag, Ukeoppgaver 10 INF2310, våren 2011 kompresjon og koding del II

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Oppgave 2 Maskinkode (vekt 12%)

Transkript:

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

Virtuelt minne Lagringskapasiteten i RAM må deles mellom flere ulike prosesser: ûoperativsystemet ûdriver-rutiner ûbakgrunnsjobber (eks utskrifter) ûbrukerprogrammer som kjøres samtidig ûulike brukere som deler samme RAM Dette får to konsekvenser: Hver prosess har mye mindre hurtigminne til rådighet enn den totale kapasiteten. De ulike prosessenes minneområder må beskyttes mot overskrivning av andre prosesser. 02.04.200 Hukommelseshierarki-2 2

Virtuelt minne løser disse to problemene ved å ûgi prosesser tilgang til nesten ubegrenset minne ved å bruke deler av harddisken som hurtigminne (dvs. RAM). ûholde styr på hvilke prosesser som får lov til å skrive til hvilke områder i det virtuelle minnet. Virtuelt minne implementeres som en del av operativsystemet. En prosess bruker virtuelle adresser som så oversettes til fysiske adresser. Et program må ha relokerbar kode 02.04.200 Hukommelseshierarki-2 3

Oversettelse mellom fysiske og virtuelle adresser Virtuell adresser Fysiske adresser i hurtigminne Diskadresser 02.04.200 Hukommelseshierarki-2 4

Operativsystem-delen som håndterer virtuelt minne må ta seg av flere oppgaver: Plassering i hurtigminne (RAM). Plassering på harddisk. Konsistens mellom data i hurtigminne og på harddisk ved skriving Flytting mellom harddisk og hurtigminne (begge veier) hvis data ikke ligger i hurtigminne. Det finnes to hovedtyper virtuelt minne: Paging: Det virtuelle minnet deles opp i blokker med fast størrelse og et én-dimensjonalt adresserom. Segmentering: Det virtuelle minnet deles opp i blokker med variabel størrelse (uavhengig segmentnummer og offset). 02.04.200 Hukommelseshierarki-2 5

Avbildning fra fysiske til virtuelle adresser ved paging: Virtuell adresse 3 30 29 28 27 5 4 3 2 0 9 8 3 2 0 Virtuelt sidenummer Side-offset Oversettelse 29 28 27 5 4 3 2 0 9 8 3 2 0 Fysisk sidenummer Side-offset Fysisk adresse Sidestørrelsen er på 2 2 = 4 KB Maksimum antall sider i fysisk minne er 2 8 Det fysiske adresserommet er maksimalt GB. Det virtuelle adresserommet er maksimalt 4 GB 02.04.200 Hukommelseshierarki-2 6

Kostnaden ved page fault (dvs at en side ikke finnes i hutigminnet, men på disk) er svært stor. Dette får følgende konsekvenser: Sidestørrelsen må være tilstrekkelig stor (> 4 KB). Bruker full asossiativ plassering av sider. Bruker SW-agoritmer for å bestemme plasseringen. Bruker write-back istedenfor write-through. 02.04.200 Hukommelseshierarki-2 7

Plassering av sider og gjenfinning av data For å redusere sjansen for page fault brukes full assosiativ plassering. Når en ny blokk hentes inn fra harddisken kan den plasseres på en vilkårlig ledig plass. For å finne og plassere en bestemt blokk bruker man en komplett sidetabell ( page register ), slik at man slipper et fullt søk hver gang. Sidetabellen gir opplysning om Hva den fysiske adressen er gitt den virtuelle Informasjon om innholdet på en gitt fysisk adresse tilsvarer den virtuelle. Sidetabellen ligger i en egen enhet som kalles MMU (Memory Management Unit). 02.04.200 Hukommelseshierarki-2 8

Sidetabell register Virtuell adresse 3 30 29 28 27 5 4 3 2 0 9 8 3 2 0 Virtuelt sidenummer Side offset 2 0 2 Gyldig Fysisk sidenummer Sidetabell Hvis 0 så er siden ikke i minnet 8 29 28 27 5 4 3 2 0 9 8 3 2 0 Fysisk sidenummer Side offset Fysisk adresse Antall fysiske adresser er 2 30 = GB Antall virtuelle adresser er 2 32 = 4 GB Sidestørrelsen er 2 2 = 4 KB Antall linjer i sidetabellen er 2 20 =, 048, 576 02.04.200 Hukommelseshierarki-2 9

Hvis riktig side ikke finnes i det fysiske minnet (dvs. page fault ) skjer følgende: ) Operativsystemet tar over kontrollen. 2) En intern datastruktur aksesesere for å finnes siden på harddisken. 3) Sidetabellen oppdateres. 4) Det fysiske minnet oppdateres med riktig innhold fra harddisken. Virtuelt sidenummer Sidetabellen Fysisk minne V a lid P h y s ic a l p a g e o r d is k a d d r e s s 0 0 Disk 0 02.04.200 Hukommelseshierarki-2 0

Hvis det fysiske minnet ikke inneholder noen ledig plass, må en side fjernes for å få plass til en ny. Siden som erstattes, må skrives tilbake til disk. Mest vanlig er å erstatte den siden som har ligget lengst i fysisk minne uten å bli brukt (Least Recently Used, LRU). LRU implmenteres ved et eget bit som settes når blokken aksesseres, og som slettes ved jevne mellomrom av opertivsystemet. Operativsystemet inneholder en tabell sidene sortert etter LRU (kan også sorteres etter andre kriterier, f.eks FIFO). 02.04.200 Hukommelseshierarki-2

Samme problem oppstrår ved skriving til fysisk minne som ved skriving til cache. Write-through er upraktisk fordi skriving til harddisk er meget langsomt. Mest vanlig er write-back som oppdaterer siden på harddisken kun ved en page fault En blokk som erstattes trenger kun å skrives til harddisk hvis innholdet er modifisert (unødvendig hvis f.eks blokken kun inneholder instruksjoner) Et eget bit, dirty bit, settes hvis siden er skrevet til etter at den ble hentet fra harddisken. 02.04.200 Hukommelseshierarki-2 2

Virtuelt minne kan føre til at minneaksess tar dobbelt så lang tid: ) Slå opp i sidetabellen. 2) Les fra fysisk minne. Ved å benytte en egen cache, TLB (Translation Lookaside Buffer), for de siste oppslagene, slipper man oppslag i sidetabellen. Tag-feltet i TLB inneholder deler av et virtuelt sidenummer, mens datafeltet inneholder det fysiske sidenummeret. Ved hver minne-referanse gjøres oppslag i TLB: ) Hvis lokasjonen er indeksert av TLB, hentes innholdet direkte. 2) Hvis lokasjonen ikke finnes i TLB, må det først sjekkes om den finnes i fysisk minne. 3) Finnes den i fysisk minne, oppdateres TLB og man fortsetter fra ). 4) Hvis lokasjonen verken finnes i TLB eller fysisk minne, genereres en page fault, og deretter går man videre fra 2). 02.04.200 Hukommelseshierarki-2 3

Virtuelt sidenummer V a lid Tag TLB Fysisk sideadresse Fysisk minne 0 Sidetabellen P h y sica l p a g e V a lid o r d is k a d d r e s s Disk 0 0 0 TLB inneholder dirty bit, slik at det må gjøres writeback. TLB er enten fullt assosiativ (ved små TLB) eller set-assosiativ 02.04.200 Hukommelseshierarki-2 4

Virtuell adresse 3 30 29 5 4 3 2 0 9 8 3 2 0 20 Virtual page number Page offset 2 TLB TLB hit Valid Dirty Tag Physical page number 20 Fysisk adresse Physical page number Page offset Physical address tag Cache index 6 4 2 Byte offset Valid Tag Data Cache 32 Cache hit Data 02.04.200 Hukommelseshierarki-2 5

Virtuelt minne kan brukes til å beskytte prosesser fra å overskrive hverandres adresserom. Prosessers skrving/lesning til/fra minne må kontrolleres av operativsystemet Beskyttelse oppnås gjennom blant annet å: Begrense visse operasjoner som en bruker-prosess får lov til å gjøre (i motsetning til OS-prosesser) La visse deler av CPU kun være tilgjengelig for lesning fra brukerprosesser (f.eks bit et som indikerer super/bruker-privilegier). Tilby mekansimer for å veksle mellom brukermodus og supermodus. Sjekke lese/skriveaksess til et bestemt område for en gitt prosess. Lagre prosessens sidetabell i operativsystemets adresseområde 02.04.200 Hukommelseshierarki-2 6