Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Like dokumenter
Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

TDT4258 Eksamen vår 2013

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

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

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

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

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

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Faglig kontakt under eksamen: Orestis Gkorgkas

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Eksamensoppgave i TDT4186 Operativsystemer

INF2270. Input / Output (I/O)

Oppsummering av digitalteknikkdelen

INF2270. Input / Output (I/O)

Tildeling av minne til prosesser

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

TDT4160 AUGUST, 2008, 09:00 13:00

Eksamensoppgave i MA1201 Lineær algebra og geometri

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

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

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i MA1202/MA6202 Lineær algebra med anvendelser

Løsningsforslag for TDT4186 Operativsystemer

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad

Eksamensoppgave i TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Digital logic level: Oppsummering

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

Eksamensoppgave i TMA4140 Diskret matematikk

Scheduling og prosesshåndtering

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

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

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

UNIVERSITETET I OSLO

Forelesning Instruksjonstyper Kap 5.5

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

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

Hvorfor lære om maskinvare*?

Generell informasjon

Løsningsforslag til Eksamensoppgave i TDT4190 Distribuerte systemer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

UNIVERSITETET I OSLO

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

LF til KRETSDELEN AV Eksamen i TFE4101 Kretsteknikk og digitalteknikk

EKSAMEN (Del 1, høsten 2015)

Eksamensoppgave i TMA4140 Diskret matematikk

Definisjon av prosess

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

Introduksjon til kurset og dets innhold

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

HØGSKOLEN I SØR-TRØNDELAG

Operativsystemer og grensesnitt

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

Eksamensoppgave i TKT4124 Mekanikk 3

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4186 Operativsystemer August 2005,

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i TMA4150 Algebra

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

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

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

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

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

Eksamensoppgave i TMA4140 Diskret matematikk

Datamaskinens oppbygning

Eksamensoppgave i PSY3100 Forskningsmetode - Kvantitativ

Eksamensoppgave i MA1103 Flerdimensjonal analyse

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Eksamensoppgave i MA1101/MA6101 Grunnkurs i analyse I. LØSNINGSFORSLAG

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

Eksamensoppgave i PED3544 Matematikkproblemer

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

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

STE6221 Sanntidssystemer LØSNINGSFORSLAG TIL EKSAMEN

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

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

Eksamensoppgave i TMA4240 Statistikk

Eksamensoppgave i SØK2103 Økonomiske perspektiver på politiske beslutninger

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

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

Forelesning ISA-nivået Kap 5.1

Transkript:

Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid (fra-til): 0900-1200 Hjelpemiddelkode/Tillatte hjelpemidler: D (Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt.) Annen informasjon: - Målform/språk: Bokmål Antall sider: 5 Antall sider vedlegg: 0 Kontrollert av: Dato Sign Merk! Studenter finner sensur i Studentweb. Har du spørsmål om din sensur må du kontakte instituttet ditt. Eksamenskontoret vil ikke kunne svare på slike spørsmål.

Problem 1 20 poeng Flervalgsoppgave Du får 2,5 poeng for hvert riktige svar og 0 poeng hvis svaret mangler. Hvis svaret er feil gis -1 poeng. Kun ett alternativ er riktig. a) Hvilken av følgende er ikke en fordel ved bruk av DMA til dataoverføringer, sammenlignet med å overføre data med CPU? 1. CPU får bedre tid til å gjøre andre oppgaver 2. Strømforbruk kan gå ned 3. Det er lettere å programmere 4. Det er mulig å sette CPU i sovetilstand selv om dataoverføringen er i gang Riktig svar: Alternativ 3 b) Hvilken av følgende påstander om I/O er ikke sann? 1. Interrupts tillater at CPU gjør andre oppgaver mens den venter på I/O 2. Interrupts har høyere energiforbruk enn polling fordi prosessoren ikke kan sove mens den venter på et interrupt 3. Minneavbildet (memory mapped) I/O gjør at I/O-enheter og minne deler samme adresserom 4. Det er vanlig å bruke en interruptkontroller til å samle interruptlinjer fra flere forskjellige I/O-enheter Riktig svar: Alternativ 2 c) Hva lagres i CPU-ens exceptionvektortabell? 1. Adresser (eller hoppinstruksjoner) til de forskjellige exceptionhandlerene 2. Prioriteringsinformasjon om de forskjellige exceptiontypene 3. Statusinformasjon om en prosess som har blitt avbrutt av en exception 4. Data om hvilken I/O-enhet som var årsaken til en exception Riktig svar: Alternativ 1 d) Hva er ikke riktig om exceptions? 1. En exceptionhandler kjører i priviligert modus 2. En exceptionhandler kan ikke bruke stakken 2

3. Et interrupt er en vanlig form for exception 4. I en datamaskin med operativsystem så er exceptionhandlerene en del av operativsystemet Riktig svar: Alternativ 2 e) Hva er hensikten med et prosessorsamlebånd? 1. Redusere latency 2. Øke throughput 3. Forbedre programmerbarhet 4. Muliggjøre exceptionhåndtering Riktig svar: Alternativ 2 f) Hvilket er ikke en cache miss type? 1. Avbrudd (Interrupt miss) 2. Tvungen (Compulsory miss) 3. Kapasitet (Capacity miss) 4. Konflikt (Conflict miss) Riktig svar: Alternativ 1 g) Hva er ikke riktig om hurtigbuffer (cache)? 1. L1 hurtigbuffer er ofte separert i data- og instruksjonshurtigbuffer 2. Det finnes ofte flere nivåer med hurtigbuffer 3. Hurtigbuffer består av SRAM mens hovedlageret ofte består av DRAM 4. Hurtigbuffer er bare positivt for hastighet, energiforbruket vil alltid øke ved bruk av hurtigbuffer Riktig svar: Alternativ 4 3

h) Hva er ikke en god grunn til å bruke virtuelt minne med paging? 1. Det muliggjør private adresserom for hver prosess 2. Det muliggjør allokering av sammenhengende virtuelle minneblokker selv om fysisk minne er fragmentert 3. Det muligjør allokering av mer minne enn det som er tilgjengelig av fysisk minne 4. Det løser problemet med synkronisering av prosesser Riktig svar: Alternativ 4 Problem 2 10 poeng Buss a) Hva er forskjellen på en synkron buss og en asynkron buss? Løsning: En synkron buss krever en klokke som synkroniserer alle busstransaksjoner. En asynkron buss har ingen klokke, men benytter i stedet handshaking ved hver overføring. b) Du skal lage en synkron buss for kommunikasjon mellom en master og en slave. Signaler som skal brukes: clk request write_enable address data_out data_in Anta at slaven kan svare med data allerede påfølgende sykel etter at masteren har gjort en leseforespørsel. Anta også at slaven er rask nok til å akseptere data hver sykel ved en skriveoperasjon. Vis hvordan du gjør følgende på denne bussen ved hjelp av et timingdiagram: Skrive verdien 0xaa til adresse 0x100 Lese fra adresse 0x200, hvor verdien 0xbb ligger Merk at det er flere måter å løse oppgaven på, alle fornuftige svar blir godkjent. Beskriv med tekst dersom du gjør antagelser som ikke kommer frem i timingdiagrammet. Løsning: Figur 1 viser dette. 4

clk req write_enable adress 0x100 0x200 data_out data_in 0xaa 0xbb Figure 1: Asynkron buss, four cycle handshake c) Et mikrokontrollersystem kan bestå av flere komponenter, koblet sammen med busser. Ofte finnes flere forskjellige typer busser. Hva kan være årsaker til dette? Løsning: Komponenter som krever høy hastighet kobles på en høyhastighetsbuss, hvor typisk både CPU og minne befinner seg. Dette fordyrer komponentene, så lavhastighetskomponenter sitter oftest på en lavhastighetsbuss som er koblet sammen med høyhastighetsbussen med en bridge. Det kan også være nødvendig med flere typer busser pga at alle komponenter ikke støtter samme busstandard. Problem 3 10 poeng OS og toolchain a) Hva representeres med en kontroll-dataflytgraf (CDFG)? Tegn en CDFG for følgende kode: bb1(); for(int i = 0; i < n; i++) { bb2(); } Løsning: En CDFG er en grafrepresentasjon av et program, hvor kontrollflyt mellom basic blocks vises. Figur 2 viser dette grafisk. b) Gitt følgende C-program: int x = 0; void f(void) { int y = 0; int *z = (int*)malloc(sizeof(int));... } 5

bb1(); i = 0; i < n F T bb2(); i++; Figure 2: CDFG for Oppgave 3a) Hva skiller variablene x, y og z med tanke på hvor i minnet de lagres? Hvorfor er det forskjell på hvor variablene lagres? Løsning: x reserveres i datasegmentet til prosessen. y lagres på stakken. z lagres på heapen. x og y er forskjellige for å kunne støtte rekursive funksjoner. c) Beskriv hensikten med å skille på priviligerte og upriviligerte moduser i en CPU. Beskriv hvordan et systemkall typisk implementeres i en moderne datamaskin, og forklar hvordan dette hjelper til å holde priviligert og upriviligert programkode adskilt. Løsning: Bør få med: Kernelspace Userspace Mekanisme (sammen med bl.a VM) som sørger for isolasjon mellom prosesser (og kjerne) Vanlige prosesser må ofte gjøre operasjoner som krever priviligert tilgang (f.eks bruk av en I/O-enhet). Siden vanlige prosesser ikke kjører priviligert så må dette alltid gjøres via OS-kjernen. Syscalls er kjernens grensesnitt mot userspace. Syscalls implementeres med en SVC- eller SWI-instruksjon. Fører til en exception og dermed kall til en exception handler i operativsystemet som kjører i priviligert modus. Siden en prosess ikke kan installere sine egne exceptionhandlere er vi garantert at bare godkjent OS kode kjører priviligert. 6

Problem 4 10 poeng Energi a) I en digital krets skilles det ofte mellom statisk og dynamisk effektforbruk. Forklar kort hva forskjellen er. Løsning: Statisk effektforbruk kommer av lekkasjestrømmer i kretsen og er tilstede hele tiden kretsen er koblet til en spenningskilde. Dynamisk effektforbruk er det forbruket som er resultatet av at porter og vipper switcher. Forbruket kommer av opp- og utladninger av kapasitanser i kretsen ved switching, samt av midlertidige kortslutninger i switcheøyeblikket. b) Hvilken rolle har klokkefrekvens og spenning for effektforbruket til en digital krets? Løsning: Klokkefrekvensen påvirker bare dynamisk effekt. Spenning påvirker både dynamisk og statisk effektforbruk. c) Hvilken rolle spiller klokkefrekvens og spenning for energiforbruket til en prosessor som skal utføre en gitt funksjon? Løsning: Hvis vi reduserer klokkefrekvensen vil energiforbruket stige. Grunnen til dette er at vi ikke endrer antall switcheoperasjoner, så dynamisk forbruk er det samme. Derimot tar det lengere tid, så statisk forbruk øker. Hvis vi reduserer spenningen vil både statisk og dynamisk energiforbruk minske. 7