Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Relevanta dokument
Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen den 18 mars svar Datorteknik, EIT070

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

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

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Exempeltentamen Datorteknik, EIT070,

Minnet från processorns sida Datorteknik

CE_O5. Cacheminne. Hemlaboration 2.

Föreläsningsanteckningar 5. Cacheminnen

CE_O8. Cacheminne. Hemlaboration 2.

Datorteknik ERIK LARSSON

Snapdragon 810: Cacheminnet

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

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.

Datorarkitekturer med Operativsystem

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON

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

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

Digitala System: Datorteknik ERIK LARSSON

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Datorteknik ERIK LARSSON

Datorsystem. Tentamen

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

Jämförelse av skrivtekniker till cacheminne

Pipelining i Intel 80486

Datorsystemteknik för E/D

Datorteknik ERIK LARSSON

MESI i Intel Core 2 Duo

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

TSEA28 Datorteknik Y (och U)

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

Datorteknik ERIK LARSSON

Parallellism i CDC 7600, pipelinens ursprung

Datorarkitekturer med operativsystem ERIK LARSSON

HF0010. Introduktionskurs i datateknik 1,5 hp

Närliggande allokering Datorteknik

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

Hantering av hazards i pipelines

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)

Några gamla tentamensuppgifter: Minneshantering

Cacheminne i en AMD Opteron Processor

Hemlaboration Cache Cacheminnen

Datorsystemteknik DVGA03 Föreläsning 8

Omtentamen i CDT204 - Datorarkitektur

Digitalteknik och Datorarkitektur 5hp

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

Lösningar till valda övningsuppgifter i. Computer Organization & Design The Hardware / Software Interface (2nd ed.)

Lösningar till tentamen i EIT070 Datorteknik

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

TSEA28 Datorteknik Y (och U)

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

Fetch-Execute. Datorteknik. Pipelining. Pipeline diagram (vid en viss tidpunkt)

Cacheminne och adressöversättning

Cacheminne Intel Core i7

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

Hemlaboration Cache Cacheminnen

Föreläsning 5 1 CPI Sammanfattning pipelining Cacheminnen

Lösningsförslag till Tenta i Mikrodator

Datorsystem. Tentamen

Datorarkitekturer med operativsystem ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON

TSEA28 Datorteknik Y (och U)

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

IBM POWER4, den första flerkärniga processorn och dess pipelines.

OBS!! Detta är DEL 2 av tentan. För att få ut denna måste du ha lämnat in del 1. Om du inte fått ut del 1 bör du meddela skrivningsvakten. OBS!!

Cacheminne i en Intel Core 2 Duo-processor

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Datorarkitekturer med operativsystem ERIK LARSSON

Datorteknik. Föreläsning 6. Processorns uppbyggnad, pipelining. Institutionen för elektro- och informationsteknologi, LTH. Mål

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

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

Föreläsning 5 1 CPI. Sammanfattning pipelining Cacheminnen

Tentamen. Datorteknik Y, TSEA28

Lösningar till tentamen i EIT070 Datorteknik

Hyper Threading Intels implementation av SMT. Datorarkitekturer med operativsystem - EITF60. Felix Danielsson IDA2

Cache-koherens protokoll MESI och MOSI

Pipelining i RISC-processorn. Joakim Lindström Institutionen för informationsbehandling Åbo Akademi E-post: jolindst@abo.fi

Datorsystemteknik för IT

Datorarkitekturer med operativsystem ERIK LARSSON

Processor pipelining genom historien (Intel i9-intel i7)

MESI protokollet och dess derivater

MESI-Protokollet. Richard Elvhammar. Lund Universitet 4/12-16

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

Lösningsförslag till Tenta i Mikrodator

Tentamen PC-teknik 5 p Lösningar och kommentarer

Föreläsningsanteckningar 4. Pipelining

Betygsgränser: För. Skriv endast på en. Denna. Uppgift. 1. (2p) 2. (2p) Uppgift. Uppgift 1) 4. Var god. vänd.

Tentamensskrivning 11 januari 2016

Tentamen i Digital Design

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

Öka prestanda i Shared-Cache multi-core processorer

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

Rapport (1,5 HP) Lunds Universitet HT15

4. Pipelining. 4. Pipelining

Datorarkitekturer med operativsystem ERIK LARSSON

Transkript:

Lunds Universitet LTH Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30 poäng För betyg 5 krävs 40 poäng Alla lösa blad skall vara samlade i omslagsarket. Inlämnade uppgifter skall vara försedda med uppgiftens nummer. Lösningarna skrivs in i nummerordning. Kryssa för lösta uppgifter och ange antalet inlämnade blad. 1

Uppgift 1. Totalt 5 poäng. Antag att dator A har en klockcykeltid (clock cycle time) på 250 ps och en CPI på 2.0 för något program, och att dator B har en klockcykeltid på 500 ps and CPI of 1.2 för samma program. Vilken dator är snabbast? Hur mycket snabbare är den? Svar: se sida 36 i kursboken. 2

Uppgift 2. Totalt 2 poäng. Följande är givet: Processorn använder direktmappat cache Dataord är på 8 bitar Minnet är byte adresserat En fysisk adress är 20 bitar En tag i cacheminnet är 11 bitar Varje block/cacherad består av 16 bytes Hur många block finns i cacheminnet? Svar: Det är givet att 20 bitar används för adress och av dessa är 11 bitar TAG. Alltså är det 9 bitar som är kvar för index och offset. Vi kan också bestämma antal bitar i offset eftersom det är givet att dataord är på 8 bitar, minnet är byteadresserbart och varje block/cacherad är på 16 bytes. Eftersom varje block/cacherad är på 16 bytes och det är byteadresserat behövs 4 bitar för offset. Det gör att det är (20-11-4=)5 bitar kvar till index. Vi vet att 5 bitar kan adressera: 2^5=32 så är det 32 block/cacherader i cacheminnet. 3

Uppgift 3. Totalt 4 poäng. Följande är givet: Antag ett 16-way set-associative cache Cacheminnet består av 2Mbytes (2^21 bytes) Dataord (word) är 8 bitar Systemet är byteadresserat Block/cacherad storlek är 32 dataord (words) Den fysiska adressen är på 64 bitar. Hur är de 64 bitarna fördelade på tag, index och offset? Svar: Vi börjar med att räkna ut bitar för offset. Det är 32 dataord per block/cacherad, vilket gör att 5 bitar behövs (2^5=32). Alltså är offset=5. För att beräkna index så vet vi att cacheminnet är på 2Mbytes (2^21 bytes) och vi vet att varje block/cacherad består av 32 (2^5) dataord som vardera är 8 (1 byte) bitar. Varje block/cacherad består alltså av 32 bytes, så antal block blir: 2^21/2^5=2^16. Eftersom minnet är 16-way set-associative grupperas blocken i set om 16. Antal set blir: 2^16/16=2^16/2^4=2^12. Det behövs alltså 12 bitar för index. För att räkna ut antal bitar för tag så vet vi att fysiska adressen är 64 bitar. Alltså blir tag=bitar för fysisk adress offset index=64-5-12=47 bitar. För att summera: Tag: 47 bitar, index: 12 bitar, offset: 5 bitar. 4

Uppgift 4. Totalt 3 poäng. Följande är givet: Dataord är på 64 bitar Minnet är byte adresserat En fysisk adress är 32 bitar En tag i cacheminnet är 11 bitar Varje block/cacherad består av 16 bytes Hur många block finns i cacheminnet? Svar: se sida 388 i kursboken 5

Uppgift 5. Totalt 5 poäng. Medeltid (average) för läsning/skrivning (access) i ett datorsystem med ett L1 cache är 2.4 klockcykler. Om data är tillgängligt (hit), kostar det 1 klockcykel. Om data inte är tillgängligt (miss) kostar det 80 klockcykler, eftersom data måste hämtas från primärminnet. För att förbättra medeltid för minnesaccesser (average memory access time) med 65% genom att använda ett L2 cache. Detta L2 cacheminne har accesstid på 6 klockcykler. Ett L2 cacheminne påverkar inte access eller hit tider för L1 och access till primärminnet kostar fortfarande 80 klockcykler. För att uppnå 65% förbättring av medeltid för minnesaccesser, vilken hit rate krävs i L2 (visa uttryck och förenkla så långt det går)? Svar: Medeltid för minnesaccesser består av två fall: hit tid och miss tid som vi tecknar: hit tid + miss rate * miss penalty Om medeltid för accesser är 2.4, hit tid=1 och misstid är 80 får vi uttrycket: 2.4 = 1 + miss rate * 80. Vi räknar ut miss rate till: (2.4-1)/80=1.4/80 (1.75%) Vi vill ha en speedup på 65% så vi tecknar ett uttryck: Speedup = Tid (gammal lösning)/tid (ny lösning) Vi fyller i siffror: 1.65 = 2.4/Tid (ny lösning) och räknar ut: Tid (ny lösning) = 2.4/1.65 Vi tecknar nu uttryck för medeltid med L2: Tid(ny lösning) = Hit tid+miss rate*(l2_tid + Miss Rate (L2))*80) Med siffror: 2.4/1.65=1+1.4/80*(6+Miss rate(l2)*80) Som är: 2.4/1.65=1+1.4/80*6+1.4*Miss rate (L2) Miss rate (L2)=(2.4/1.65-1-1.4/80*6)/1.4 Hit rate (L2)=1-Miss rate(l2). Alltså måste hit rate (L2) minst vara: 1 (2.4/1.65-1-1.4/80*6)/1.4 6

Uppgift 6. Totalt 5 poäng. Anta en processor med 6 cores och ett program. Programmet består av: 450000 iterationer. Bortse för tid för uppstart och avslut (fokusera enbart på iterationerna) Varje iteration tar 100 klockcykler Om mer än 1 core används tillkommer overhead för kommunikation mellan cores. Om 2 cores används tillkommer 10 klockcykler per iteration, om 3 cores används tillkommer 20 klockcykler per iteration, o s v. Teckna ett uttryck som kan bestämma hur många cores som ska användas för att snabbast exekvera programmet. Svar: Ett uttryck för exekveringstiden består av tid för loopar och tid för kommunikation mellan cores, d v s T= Tkom + Tloop där Tkom beror på hur många cores X som används och hur många iterationer N som görs. För X>1 kostar varje loop 10 klockcykler. Detta gör: Tkom= N*(X-1)*10. När det gäller Tloop så beror det på N och X och tid per loop. Uttryck för Tloop blir=100*n/x. Det totala uttrycket blir: T=Tkom+Tloop=N*(X-1)*10+100*N/X 7

Uppgift 7. Totalt 5 poäng. Enligt Amdahls lag, vilken speed-up fås om ett program kan köras parallellt till 80% och antalet beräkningsenheter är 4? Svar: Låt Ts vara tiden som krävs för att exekvera programmet på en beräkningsenhet och Tp vara tiden som krävs för att exekvera programmet på 4 beräkningsenheter. Speed-up ges av: Ts/Tp. Amdahls lag är: Tp=f*Ts+(1-f)*Ts/p där f är del av program som måste exekveras sekventiellt och p är antal beräkningsenheter. I uppgiften ges att 1-f=80%, vilket för att f=20%=0.2 och att antal beräkningsenheter p är 4. Vi räknar ut Tp= f*ts+(1- f)*ts/p=0.2*ts+0.8*ts/4. Vi är intresserade av Ts/Tp, vilket blir: Ts/(f*Ts+(1-f)*Ts/p)=1/(f+(1- f)/p)=1/(0.2+0.8/4)=1/(0.2+0.2)=1/0.4=2.5 Enligt Amdahls lag, hur parallellt måste ett program minst göras för att få en speed-up (Ts/Tp) på 2 när antalet beräkningsenheter är 4? Svar: Givet är att Amdahls lag är: Tp=f*Ts+(1-f)*Ts/p och vi vet att p=4 och Ts/Tp=2. Vi ska nu räkna ut f. Eftersom Ts/Tp=2, så är Tp/Ts=1/2. Eftersom Tp=f*Ts+(1-f)*Ts/p så är Tp/Ts=f+(1- f)/p. Vi känner Tp/Ts och p och får: 1/2=f+(1-f)/4 vilket gör att f=1/3. Enligt Amdahls lag, hur mycket speed-up är teoretiskt möjlig att få om ett program kan köras parallellt till 80%? Svar: Givet är att Amdahls lag är: Tp=f*Ts+(1-f)*Ts/p och att 1- f=80%, f=0.2. Detta ger: Tp=0.2*Ts+0.8*Ts/p. Eftersom speedup är: Ts/Tp, får vi att Ts/Tp=1/(0.2+0.8/p). Vi ökar nu på (vi låter p gå mot oändligheten) och får då att termen 0.8/p går mot 0. Uttrycket för Ts/Tp blir 1/0.2, vilket är 5. 8

Uppgift 8. Totalt 2 poäng. Tid för de olika stegen i en processor visas nedan: IF DI EX MEM WB 250ps 350ps 150ps 300ps 200ps Om processorn är icke-pipelinad (non-pipelined), vad är klockcykeltiden? Om processorn är pipelinad (pipelined), vad är klockcykeltiden? Svar: Se sidan 275 i kursboken 9

Uppgift 9. Totalt 10 poäng. Antag ett datorsystem som använder virtuelltminne och cacheminne. Det virtuellaminnet använder sig av en TLB och sidtabeller. Ett antal alternativ kan uppkomma, markerade som a-f i tabellen nedan. Tabellen läses enligt följande. I uppgift a gäller att det vid en minnesaccess blir det en hit i TLB, en hit i sidtabell och en miss i cache. För varje alternativ nedan (a-f) diskutera vilka som är möjliga och förklara varför/varför inte. Uppgift TLB Sidtabell Cache a hit hit miss b miss hit hit c miss hit miss d miss miss miss e hit miss miss f hit miss hit g miss miss hit Svar: se sida 443 i kursboken. 10

Uppgift 10 Totalt 10 poäng. Följande är givet för ett datorsystem: en miss rate på 2% i instruktions cache en miss rate på 4 % i data cache processor har CPI=2 när det inte inträffar några missar, dvs bara cache hits av alla instruktioner som exekveras så är 36% instruktioner med läsning/skrivning. en cache miss har en miss penalty på 100 cykler. Om 100 instruktioner exekveras, vad är den förväntade tiden för att: hantera missar i instruktionscachen? hantera missar i datacachen? hantera missar i både instruktionscachen och datacachen? exekvera instruktionerna och hantera missar i både instruktionscachen och datacachen? Svar: se sida 410 i kursboken. 11