Adressöversättning zRepetition av virtuellt minne zTLB - cacheminne för sidtabellinformation zVirtuellt eller fysiskt adresserat cacheminne zTricket -

Slides:



Advertisements
Liknande presentationer
Operativsystem.
Advertisements

Kampanjuppföljning Hur den senaste kupongkampanjen gick totalt sett vet du säkert. Men hur gick den i exempelvis Skåne jämfört med i Göteborg? Var resultatet.
Simulering av MIPS32 4K med TLB och CACHE Andrei Krougliak Simon Olsson Luleå tekniska universitet 2005.
Hur går det till att rapportera in betyg idag?
Flynns taxonomi ● Single Instruction, Single Data (SISD) – en instruktion i taget opererar på ett värde i taget ● Single Instruction, Multiple Data (SIMD)
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Datorarkitekturer och operativsystem
Enkel dator teknik Tips och tricks.
Arbeta med bilder Bengt Kjöllerström Att bearbeta bilder och lägga in dem i Disgen Bengt Kjöllerström.
Persondatorer Datorns internminne (Kapitel 6)
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
ZIP-formatet Av Viktor Ekholm.
William Sandqvist System Management functions S Burd, Systems Architecture ISBN Figure 11-2 CPU Management Memory Management.
©annax1 PC-teknik Minnen. 2 MINNEN Segmenterat minne 16 bits segmentregister + 32 bits offset = 64k*4Gbyte = 512Tb obs! Ofta används inte alla 16 bitarna.
23 August 2014 IS1200 Datorteknik vt09, föreläsning 10, (E och I mfl)1 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory.
Tumregel z10 procent av minnet används 90 procent av tiden.
Skrivning i cacheminnen zTräff zMiss zSkrivbuffert.
Denna föreläsning zVad kursen handlar om zKursupplägg, litteratur, bra att veta zPrestanda - ämnet för dagen.
Adressöversättning Repetition av virtuellt minne
Programmeringsteknik K och Media
Distribuerade filsystem
DAV B04 - Databasteknik Indexering (kap 14).
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 9: Virtuellt minne.
Epsilon statistik Epsilon statistik definitioner Besök - Ett virtuellt besök är en serie av anrop efter datafiler, med ett uppehåll mindre.
Övning 1 Grundtjänster vid ÖHs datanät. Innehåll Under övningen skall du lära dig att Under övningen skall du lära dig att –Byta lösenord –Använda de.
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Källor! Hur gör man egentligen?
Polfärskt Bröd Elisabeth Wahlström.
Välkommen till Del 1.
1 Pass 2 Allmän IT Hårdvara Hårdvara Hårdvara = Maskinvara Hårdvara är ett samlingsnamn för olika fysiska tillbehör till en dator. T. ex. Systemenhet.
OPERATIVSYSTEM WINDOWS
William Sandqvist C:s minnesmodell.
Operativsystem Vad är det för något ? Varför har man operativsystem ?
Samordnad vårdplanering Regelverk och konfiguration Mats Forsberg Ingrid Joustra Enquist.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( ) Innehåll: -Producent – konsument problemet -Förmedling av fildeskriptorer.
Databashantering MS Access 2003 Lektion 2
Integrera mp3 i hotpotatoes.  Se hur test-övningen kommer att se ut: N1_Audio_01.htm
Mahmud Al Hakim 2  Mål för kursen  Kursplanering  Kurslitteratur  Betygsättning  Grunder om databaser  Tabeller.
Prestanda ● Vad påverkar datorprestanda ● Hur mäter man datorprestanda ● Räkna klockcykler - ett sätt att analysera ● Amdahls lag - gräns för förbättringar.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 3
31 March 2015IS1200 Datorteknik, förel 101 IS1200 Datorteknik Föreläsning Processorkonstruktion 2. DMA, Direct Memory Access 3. Byte-code i JAVA.
Cacheminnen: skrivning ● Träff ● Skrivbuffert ● Miss.
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
NÄTVERKSPROTOKOLL Föreläsning
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
Bibliotek
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
Anders Sjögren Data (i primärminnet) som en länkad lista datatypen för varje element i listan är en struktur, post ( struct )
6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.
Föreläsning 1 Introduktion till kursen. Algoritmer
12 June G1518, Föreäsningl 8, vt07 (E/I/CL)1 2G1518 Datorteknik Föreläsning 8 Cache Memory vt 2007 (period 3-4) för E, I och CLMDA.
Föreläsning3 Operativsystem Datorkommunikation. Tal representation Teckenrepresentation Heltalrepresentation Decimaltalrepresentation.
Denna föreläsning zVad kursen handlar om zKursupplägg, litteratur, bra att veta zPrestanda - ämnet för dagen.
Enkel dator teknik Tips och tricks. Välja storlek och radavstånd Här väljer du storlek på texten vi vill att ni använder 14 p till rubriker och 12 p till.
På vissa datorer behöver du trycka på F5 för att starta bildspelet.
Operativsystem Vad är det för något ? Varför har man operativsystem ? Vilka finns det ?
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
Operativsystem s63 Win 7 Länken mellan datorn och omvärlden Användare kan ge kommandon till datorn Starta program Skriva text via tangentbordet Matar ut.
Information inför Office 365
Datorer och nätverk.
I vissa datorer behöver du trycka på F5 för att starta bildspelet
Rapporter.
Grundläggande datavetenskap, 4p
Datorer och nätverk.
Dataskyddsutbildning för avdelningar 2018
Presentationens avskrift:

Adressöversättning zRepetition av virtuellt minne zTLB - cacheminne för sidtabellinformation zVirtuellt eller fysiskt adresserat cacheminne zTricket - det bästa av två världar zMinneshierarki

Repetition av virtuellt minne process 1 - virtuell adressrymd 1 process 2 - virtuell adressrymd 2 sidtabell 1sidtabell 2 fysiskt minne skivminne

Adressöversättning virtuell adress virtuellt sidnummer (VPN)sidoffset (PO) fysisk adress fysiskt sidnummer (PPN)sidoffset (PO) adress- översättning

Enkel sidtabell

Minneslayout zKod, data, stack utspridda zMånga ogiltiga sidor zEnkel sidtabell blir stor och tom adress 0 största möjliga adress kod data stack utökning av dataområdet utökning av stacken

Problem zMånga (möjliga) virtuella sidor medför zstora sidtabeller som medför zsidtabeller i primärminnet som medför zlångsam uppslagning

Flernivåers sidtabell zTomma sidtabeller på nivå 2 och 3 kan ersättas med nollställd giltigbit på nivån ovanför

Flernivåers sidtabell, exempel

TLB Translation Lookaside Buffer zCacheminne för adressöversättning zDelmängd av sidtabellen zAssociativt, mindre än 200 platser zSitter på processorchippet zMiss-rate under 1 procent zMissar hanteras i programvara i Riscar

Misshantering i programvara zTLB-miss ger felavbrott (exception) zFelavbrottsrutinen läser sidtabellen zSidfel upptäcks som TLB-miss, felavbrotts- rutinen ser i tabellen att det är sidfel zVanligt i Riscar, som saknar mikroprogram zx86 hanterar TLB-miss i hårdvara

TLB-miss i mjukvara medför: zOperativsystemet bestämmer hur sidtabellen ser ut zOperativsystemet bestämmer TLB:ns utbytesalgoritm zInstruktioner för att läsa/skriva TLB-platser zDelar av sidtabell kan hamna i datacachen

Statusbitar zSidbytesrutin behöver use-bit och dirty-bit zuse-bit: har sidan använts sen sist? Behövs för att approximera LRU zdirty-bit: har sidan skrivits sen sist? Kan spara onödig skrivning till skivminnet

Statusbitar i TLB:n zTLB behöver ingen use-bit - endast nyligen använda sidor finns i TLB:n zTLB behöver ingen dirty-bit, eftersom: ynär en sidas översättning lagras i TLB:n markeras sidan som skrivskyddad yförsta skrivning ger felavbrott, programrutinen sätter dirty-bit i sidtabellen

Täckning (coverage) zCoverage = sidstorlek x antal sidor i TLB zStörre täckning ger färre missar zÖkad sidstorlek ger ökad täckning zTvå sidstorlekar vanligt, exempelvis 4 kB och 4 MB zBildminne och OS kan ligga i stora sidor

Virtuellt eller fysiskt adresserat cacheminne CPU TLB cacheminne CPU TLB cacheminne z Virtuella adresser i adresslapparna z TLB används bara vid miss z Fysiska adresser i adresslapparna z TLB används vid varje referens

Fördelar med virtuellt adresserade cacheminnen zSnabbare, behöver inte vänta på TLB:n ykortare cykeltid ystörre cacheminne ykortare pipeline zTLB:n används mer sällan ygemensam TLB räcker yTLB:n kan vara större och långsammare zFalska konflikter undviks i cacheminnet

Nackdelar med virtuellt adresserade cacheminnen zSynonymer - olika virtuella adresser blir samma fysiska ysamma fil inmappad på två ställen i en process ysamma fil eller delade bibliotek inmappade i två olika processer zHomonymer - samma virtuella adress blir olika fysiska yvid processbyte

Synonymproblem zOm A och B är två olika virtuella adresser som mappas till samma fysiska, så kan STOREA <- #0 LOADR3 <- B resultera i att B  0 zLösning: låt OS:et förbjuda synonymer

Homonymproblem zOm den virtuella adressen A motsvarar den fysiska adressen X som finns i cacheminnet och TLB:n uppdateras så att A motsvarar en annan fysisk adress Y, så kan LOADR3 <- A ge värdet från X i stället för från Y

Processbyte i virtuellt adresserat cacheminne zHela adressrymden byts vid processbyte. För att lösa homonymproblemen kan man yinvalidera hela cacheminnet, eller ylägga till processnummer till varje adresslapp zOperativsystemet använder ofta fysiska adresser direkt, varje systemanrop blir ett byte av adressrymd

Fysiskt adresserade cacheminnen zFördelar: yInga synonym- eller homonymproblem yBehöver ej invalideras vid processbyte yOperativsystemet kan använda cacheminnet (med fysiska adresser) zNackdelar: yTLB-uppslagning före varje referens yFalska konflikter

Tricket - samtidig uppslagning i TLB och cacheminne

Trickets restriktion zIngen enda bit från adresslappen får användas som indexbit! Detta medför att: zCachestorlek  associativitetstal x sidstorlek

Sidfärgning (page coloring) zDen virtuella adressen används som index, den fysiska finns i adresslappen virtuellt sidnummersidoffset index fysiskt sidnummersidoffset får inte ändras av adressöversättningen

Sidfärgning zTricket kan användas i större cacheminnen zSidbytesalgoritmen väljer alltid sidor så att överlappande bitar ej ändras av TLB:n zHuvudminnet som cache för hårddisken - inte längre fullt associativt zFalska konflikter minskar eller försvinner

Hierarki av cacheminnen zRegister zI- och D-cache zLevel 2, Level 3 zHuvudminne zSkivminne