Några gamla tentamensuppgifter: Minneshantering

Relevanta dokument
Minnet från processorns sida Datorteknik

Minneshantering segmentering och virtuellminne. Föreläsning 3

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

4 grundregler. Minneshantering. Problemet. Windows minkrav

Datorteknik ERIK LARSSON

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

Tentamen den 17 mars 2016 Datorteknik, EIT070

CE_O5. Cacheminne. Hemlaboration 2.

Digitala System: Datorteknik ERIK LARSSON

LYCKA TILL MED TENTAMENSLÄSNINGEN! 3. Antag givet ett system i vilket rent CPU-bundna processer med följande egenskaper exekveras.

119 Minnesallokering. Detta kapitel behandlar kort, som vanligt, dessa 'policies' och avslutas med ett avsnitt om 'caches'.

Digitala System: Datorteknik ERIK LARSSON

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Datorarkitekturer med operativsystem ERIK LARSSON

Snapdragon 810: Cacheminnet

Tentamen den 18 mars svar Datorteknik, EIT070

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Datorarkitekturer med Operativsystem

Föreläsningsanteckningar 5. Cacheminnen

Närliggande allokering Datorteknik

Digitalteknik och Datorarkitektur 5hp

Minneshantering - grunderna. Föreläsning 2

Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON

Innehåll. Minneshantering. Systemet hivlls... Föreläsning 1. Problemformuleringar. Problem a[ lösa idag (...)

Operativsystem (IS1350) :00-12:00

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

CE_O8. Cacheminne. Hemlaboration 2.

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Datorsystemteknik för E/D

Operativsystem (ID2200/06) XX XX:00-XX:00

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Cacheminne i en AMD Opteron Processor

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Mer datorarkitektur. En titt I datorn Minnen

Uppgift 1: a) u= a c + a bc+ ab d +b cd

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Grundläggande datavetenskap, 4p

Datorteknik ERIK LARSSON

Exempeltentamen Datorteknik, EIT070,

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Hantering av hazards i pipelines

Operativsystem ID1200/06 Tentamen :00-18:00

Lösningsförslag till Tenta i Mikrodator

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Datorsystem. Tentamen

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Cacheminne i en Intel Core 2 Duo-processor

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Pipelining i Intel Pentium II

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

Operativsystem - Minneshantering I

Jämförelse av skrivtekniker till cacheminne

Datorsystemteknik DAVA14 Föreläsning 10

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Datorsystem. Tentamen

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Digital- och datorteknik

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT

Lösningsförslag till tentamen i IS1350 Operativsystem

HF0010. Introduktionskurs i datateknik 1,5 hp

Cacheminne och adressöversättning

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

MESI i Intel Core 2 Duo

Operativsystem - input/output, skydd, virtualisering

Datorarkitekturer med operativsystem ERIK LARSSON

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Minnesisolering för virtuella maskiner

Digital- och datorteknik

Lösningsförslag till Tenta i Mikrodator

Parallellism i CDC 7600, pipelinens ursprung

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Läsminne Read Only Memory ROM

Datorsystem. Exempeltentamen

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Operativsystem ID2200/06 omtentamen :00-18:00

Multi-ported cache En rapport om några lösningar till att få flera minnesaccesser simultant.

Operativsystem ID1200/06 Tentamen :00-18:00

Datorarkitekturer med operativsystem ERIK LARSSON

Databaser - Design och programmering. Minnesteknik. Minnesteknik, forts. Hårddisk. Primärminne (kretsteknik) Fysisk design av databasen

Transkript:

1 Tentamen 1992-08-26 5. I ett virtuellt minne med skiva är primärminnets accesstid 1 mikrosekund, sidstorleken 1 K, skivans rotationstid 10 millisekunder, inställningstiden för skivans arm 5 millisekunder och antalet ord per spår 16 K. Hur stor sidfelsfrekvens kan tolereras om vi vill ha en upplevd (eng. effective) accesstid på 1.15 mikrosekunder? 7. I ett sidindelat system har uppmätts att CPU-utnyttjandet är 20%, "swap"- disken används till 97% och andra i/o-enheter till 5%. Vilka av följande åtgärder skulle (sannolikt) förbättra CPU-utnyttjandet? Förklara noga! a. Installera mera primärminne. b. Installera en större disk. c. Öka graden av multiprogrammering. d. Minska graden av multiprogrammering. e. Installera mera cacheminne. f. Installera en snabbare disk. Tentamen 1993-01-12 4. I ett system byggt på sidindelning är det fysiska adressrummet 4 M, det logiska (virtuella) adressrummet 4 G (2 32, 32 bitars virtuell adress) och sidstorleken 1 K. a. Redogör allmänt för sidindelning (paging) som ett sätt att åstadkomma virtuellt minne. b. Ange innehåll i, storlek på och representation av de tabeller som är lämpliga givet dessa data. c. Hur översätts en logisk adress till en fysisk adress. 5. Tillämpning av olika utbytesalgoritmer kan påverka sidfelfrekvensen under i övrigt identiska förutsättningar. Antag givet referernssträngen w = 1 2 7 1 4 5 1 2 1 4 5 7 4 5, att primärminnet rymmer 4 sidplatser och att minnet initialt är tomt. Bestäm och kommentera antalet sidfel för a. FIFO b. LRU c. Den optimala 'algoritmen' OPT (B o ). Tentamen 1991-12-19 5. I ett sidindelat system består den logiska adressen av 22 bitar varav 12 anger sidnummer. Minnesstorleken är 64K. a. Hur stort är det virtuella minnet? b. Hur många sidoramar ryms i det fysiska minnet? c. Beskriv i text och figur hur adressöversättningen från logisk till fysisk adress går till. d. Vilken är den virtuella adress som avbildas på den fysiska adressen 2700 (hexadecimalt) då den aktuella sidtabellen innehåller följande sidoramsnummer: [6, 7, 2, 5, 9, 1, 8]? 6. Visa att det för FIFO algoritmen kan gälla att ett utökat antal sidramar kan ge en STÖRRE sidfelsfrekvens (FIFO-anomalin, Beladys anomali) för given programreferenssträng. Kan motsvarande anomali förekomma för LRU-algoritmen? Motivera noga! Tentamen 1992-10-21 4. I ett segmenterat system får finnas maximalt 2 24 segment. Ett segment kan vara maximalt 1 M varför segmenten sidindelas i sidor om 1 K. Konstruktörerna har gjort den kompromissen att en process bara tillåts referera 64 stycken segment åt gången (dvs utan att byta domän). Visa med hjälp av kommenterade figurer hur adressöversättningen går till i detta system från exekverande minnesrefererande instruktion till sökt ord i primärminnet. Ange storlekar på alla tabeller. Glöm inte att beskriva referenskontroller, 'page faults' och missar i det tillhörande (nödvändiga!) associativa cacheminnet.

2 5. Thrashing kan uppstå i sidindelade system. Antag att ett primärminne rymmer 90 sidoramar för nio processer som alla har referenssträngen w = 0123456789 0123456789... där denna sidföljd återupprepas godtyckligt antal gånger. Eftersom alla sidor ryms i minnet kommer sidfelfrekvensen att vara 0 och cpu-utnyttjandet 100%. Beräkna sidfelfrekvensen då en tioende process med samma w som de tidigare aktiveras. Förutsätt att varje process får 9 sidoramar och att utbyteslgoritmen är LRU (least recently used). 6. I ett visst läge då buddy-metoden används som placeringsalgoritm ser allokeringen ut som följer. Adress Innehåll Blocknamn Storlek Status --------------------------------------------- 0 0000 a 2 ledigt 0 0010 b 2 upptaget 0 0100 c 4 ledigt 0 1000 d 2 upptaget 0 1010 e 2 ledigt 0 1100 f 4 upptaget 1 0000 g 4 ledigt 1 0100 h 4 upptaget 1 1000 i 8 ledigt ----------------------------------------------- Visa med två figurer hur 'kartan' ser ut dels då ett block av storlek 1 allokerats, dels då därefter block d frigjorts. Tentamen 1992-12-19 4. I den maskin som de flesta på DoCS använder finns en mmu (memory management unit) för översättning av logiska linjära 32-bitars adresser till fysiska platser. Tillsammans med SPARC arkitekturen fungerar denna mmu på följande sätt. I varje ögonblick anges ett aktuellt kontext med ett 12 bitars register. Registerinnehållet används som index i en kontexttabell. Den adress som genereras av processorn omfattar 32 bitar. MMU-logiken delar upp denna som bestående av fyra delar: -- index1; 8 bitar -- index2; 6 bitar -- index3; 6 bitar -- offset; 12 bitar -- Givet ett kontextvärde (mellan 0 och 4095) pekar motsvarande kontexttabellelement ut en 'first level' tabell (FLT). Index1 används som index i denna. Detta FLT-element pekar ut en 'second level' tabell (SLT) som i sin tur indexeras via index2 för att finna en 'third level' tabell (TLT). Värdet på index3 anger ett element i TLT som pekar ut avsedd sidoram i primärminnet (eller anger sidfel). a. Varför finns tre nivåers tabeller i stället för bara en (sid)tabell? b. Vilket syfte har kontexttabellen? c. Vad är sidstorleken? d. Vilken ytterligare maskinvara måste systemet ha för att minnesaccesstiden ska bli rimlig? e. Är det möjligt att implementera segmentering under de givna förutsättningarna? f. Hur stort är det virtuella adressrummet? Ge noggranna motiveringar för alla svar! 5. Tids- (temporal) eller rums- (spatial) lokalitet (locality) är grundförutsättningar för att ett system med virtuellt minne baserat på 'paging' ska bli attraktivt. a. Förklara hur denna egenskap påverkar sidfelfrekvensen (page fault frequency). b. Relatera till och förklara innebörden av utbytesalgoritmerna FIFO, LRU, den optimala OPT och NRU (eller clock). Ranka, med motivering, metoderna efter den ordning de föredras att användas i ett operativsystems minneshanterare. c. Påverkar lokaliteten risken för 'thrashing' och i så fall hur?

3 Tentamen 1993-03-13 4. Vid minneshantering fästes ibland avseende vid bra understöd för i. Delning av kod och data mellan processer ii. Minnesskydd iii. Dynamiska datastrukturer iv. Dynamisk länkning Visa hur dessa önskemål är 'svåra' att hantera vid ett sidindelat system och hur segmentering kan användas för att understödja i., ii., iii. och iv. 5. I ett virtuellt minne baserat på sidindelning är primärminnets accesstid 100 ns, sidstorleken 4K, diskens rotationstid 8 ms, inställningstiden för armen 4 ms och antalet sidor per spår 16. Vilken sidfelsfrekvens f krävs för att den från processorn upplevda accesstiden ska vara högst 110 ns och hur mycket (i %) kan f tillåtas öka om sidstorleken halveras? Tid för adressöversättning kan försummas då en sida finns i primärminnet. 6. Beskriv fenoment 'thrashing', dess orsaker och motåtgärder. Tentamen 1993-12-17 4. I ett sidindelat system med 32 bitars virtuella/logiska adresser L uppdelar adressöversättaren L i fyra fält L = <a, b, c, d> för att därigenom åstadkomma ett tre-nivås sidtabellsystem. a. Varför uppdelas sidnumret p i tre delar p = (a, b, c)? b. Hur sker adressöversättningen till fysisk adress (plats) och hur ser sidtabellelementen ut? c. Vilka av fälten a, b, c, eller d påverkar det maximala antalet sidor varje process kan ha? 5. Tillämpa LRU och FIFO på process-referenssträngen w = 0172327103 och bestäm antalet sidfel då minnet rymmer fyra sidoramar och är tomt initialt. 6. Länkning och delning kan göras dynamiskt som i tex Multics. Antag att två processer p1 och p2 exekverar samma procedur P som i sin tur refererar ett datasegment D. Efter det att alla länkar till P lösts upp är minnet allokerat som följande figur visar (nästa sida). a. Gör ovanstående figur fullständig genom att rita ut länksegmenten för p1 och p2 innan det att instruktionerna add utförts. Dessa börjar vid adesser 10 000 respektive 11 000. b. Hur har länksegmenten ändrats när add instruktionerna utförts? Tentamen 1994-08-16 4. Digitals nya, 1993/4, processor Alpha AXP är en 64 bitars arkitektur. Det virtuella adressrummet är således 2 64. Alpha kan konfigueras att utnyttja olika sidstorlekar; 8K, 16K, 32K eller 64K. Konstruera asressöversättningsmekanismen (sidtabellerna, mm) för skyddat virtuellt minne för sidstorleken 64K. Du kan anta att det fysiska minnet är (maximalt) 4G = 2 32. Konstruktionen ska avse tabellstruktur, innehåll i sidtabellelement och tilhörande associativt cache (translation look-aside buffer). Ange tabell- och tabellfältsstorlekar. 5. Apples, IBMs och Motorolas nya,1993/4, processor PowerPC innehåller möjlighet till segmentering. Förklara utförligt skillnaderna mellan segmentering och sidindelning både vad gäller användning (externt) och implementering (internt). 6. Bestäm antalet sidfel under följande förutsättningar: Sidstorleken är 100, två sidoramar finns tillgängliga per process, initialt är sidoramarna tomma, den genererade adressekvensen är 10, 11, 104, 170, 73, 309, 185, 245, 246, 434, 458, 364 och a. utbytesalgoritmen är LRU. b. utbytesalgoritmen är FIFO.

4 Segmenttabeller Procedursegment för P Datasegment D 1000 1005 5000 Symboltabell 9000 X 15 9001 Y 0 9002 Symboltabell 2000 5010 D, X Data 2012 5020 D, Y Ren kod Länkavsnittsmall (evt) add* 0, lp Länksegment för p1 och P add* 5, lp 10 000 Upptagna tabellelement 6000 10, 10, trap trap tag tag 6005 20, 20, trap trap tag tag Länksegment för p2 Länkavsnittsmall 11 000 Segmenttabeller: för p1 startar den vid adress 1000 och nästa lediga element finns vid adress 1005. för p2 startar den vid adress 2000 och nästa lediga element finns vid adress 2012. Segmentet P: Symboltabellen börjar vid adress 5000. Kodavsnittet börjar vid adress 5050. Länkavsnittmallen börjar vid adress 6000. Segmentet D: Symboltabellen börjar vid adress 9000. Data som sådana börjar vid adress 9002. Tentamen 1994-12-19 4. Ett datorsystem innehåller 1 Mbyte primärminne så 20 bitars adresser används. Cacheminnet C innehåller 1024 rader ('lines') omfattande 16 bytes vardera. Hur många bitar behövs totalt för C:s 'tags' (etiketter) om C är a. direktadresserat ('direct mapped')? b. 4-vägs partiellt associativt ('four-way set associative')? c. fullständigt associativt? 5. Betrakta ett virtuellt minnessystem med följande egenskaper: 32 bitars virtuell adress, 4 Kb sidstorlek och 32 bitars fysisk adress. a. Vad är den totala storleken på sidtabellen uttryckt i Kb för en process i detta system? Antag att skyddsbitar, närvarobit, statistikbitar, etc omfattar 12 bitar och att aktuell process utnyttjar hela virtuella adressrummet. b. Beskriv hur man går till väga för att hantera "så stora" sidtabeller i praktiken. c. Beskriv hur man förfar för att erhålla rimliga minnesaccesstider.

5 6. I många system arbetar DMA-kanaler med adresser i det fysiska minnet. Vilka "problem" orskar detta i ett system som i övrigt bygger på virtuellt minne tex sidindelning? Tentamen 1995-01-12 4. M68020 använder (som bekant?) 32 bitars virtuella adresser, VA, och byte-adressering. (Vi bortser från de tre bitarna FC0- FC2 som kan användas för att välja adressrymd.) Systemet har ett 'direct mapped cache', CM, för instruktioner. Detta CM består av 64 rader om vardera två ord a 16 bitar. a. Vilka bitar i VA används som etikett ('tag'), radnummer respektive ordnummer? b. Hur många bitar omfattar M68020:s CM totalt? c. Varför har konstruktörerna valt att placera bara instruktioner och inte data i systemets CM? 5. Betrakta ett virtuellt minnessystem, VM, med följande egenskaper: 32 bitars virtuell adress, 4 Kb sidstorlek och 32 bitars fysisk adress (alla behöver inte användas). Systemet sidindelas via två nivåers sidtabeller, som alltid lagras på "sidskarvar". a. Hur många bitar omfattar "adressfältet" i sidtabellelementen och vilka övriga bitar bör ingå i dessa element? b. Hur många element omfattar sidtabellerna totalt (om en process utnyttjar hela VM)? c. Hur bör en 'translation look aside buffer' (associativa register), TLB, för uppsnabbning av adressöversättningen organiseras, dvs hur många bitar bör varje element i denna TLB omfatta? Andra tentamina 4. I sidindelade system säger man ju att relokeringen sker dynamiskt. Varför behövs i sådana system likväl en 'relocationg loader' som utför statisk relokering/länkning? 6. I ett sidindelat system är det möjligt att låta flera olika processer dela på samma program (sidor) genmom att de olika processernas sidtabeller pekar ut samma sida. Antag följande situation: En process p1 kräver programmen q1 och q2, en temporör lagringsarea t1 och en dataarea d1. Dessa länkas ihop till ett sammanhängande block med storlek q1 + q2 + t1 + d1 i det virtuella minnet. Medan p1 fortfarande är aktiv begär en annan process p2 laddning av q1', q2, t1' och d1 där q1' < q1 och t1' > t1 och där q2 och d1 ska delas mellan p1 och p2. a. Skissera ett möjligt utseende på sidtabellerna för p1 och p2. b. Vilka problem uppstår om en ny process p3 aktiveras och vill dela q1' och q1?