DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E



Relaterede dokumenter
DATALOGI MASKINARKITEKTUR

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006

Oversættere / Datalogi 1E

MIPS, registerallokering og MARS

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj min min min min.

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen torsdag den 16. januar 2003

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005

Computerarkitektur Eksamen 2014Q2. Niels Olof Bouvin A. Studienummer Navn

Eksamen Computerarkitektur 2013Q4. Niels Olof Bouvin. Studienummer Navn

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

Skriftlig eksamen i Datalogi

Processoren: Enkelt-cyklus implementation

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Indholdsfortegnelse :

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

DM13-1. Obligatoriske Opgave - Kredsløbs design

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Dat1E K1-1 - En pipelinet mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen

Dat1E G2 - En enkelt/dobbelt-cyklus mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen

Oversættere Skriftlig eksamen onsdag d. 19. april 2006

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

JavaScript. nedarvning.

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 25. januar 2006

Niveauer af abstrakte maskiner

Oversættere Skriftlig eksamen onsdag d. 20. april 2005

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

DM507 Algoritmer og datastrukturer

Eksamen dcomnet Q2/2010. Navn

DATALOGISK INSTITUT, AARHUS UNIVERSITET

EUX-eksamensreglement for Den Jydske Haandværkerskole

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

Algoritmer og Datastrukturer 1

Danmarks Tekniske Universitet

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET

Opgaver i logik, torsdag den 20. april

Eksempler på elevbesvarelser af gådedelen:

uprocessorens hardware

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Substitutions- og indkomsteffekt ved prisændringer

Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse.

Uge 25: Verden omkring mig. Baseret på førskoleprogrammet HippHopp Uge 25 Verden omkring mig side 1 HIPPY

Matematiske metoder - Opgaver

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Niveauer af abstrakte maskiner

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Bits DM534. Rolf Fagerberg, 2012

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Læsetræning 2B. Margaret Maggs & Jørgen Brenting. - læs og forstå. illustration: Birgitte Flarup

Bits, bit operationer, integers og floating point

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

JAR Øvelse nr. 2. JAR-Manual, Version 1.0. Avanceret søgning. Regionsvejledning

Opgaver hørende til undervisningsmateriale om Herons formel

Computeren inderst inde

DM507 Algoritmer og datastrukturer

Logik. Af Peter Harremoës Niels Brock

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Eksamensprojekt for grundforløb 2, ernæringsassistent

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

Matematik B. Højere forberedelseseksamen

BOSK F2011, 1. del: Udsagnslogik

Repræsentation af tal

Gamle eksamensopgaver. Diskret Matematik med Anvendelser (DM72) & Diskrete Strukturer (DM504)

Tegn med GPS 1 - Vejledning

Bestået/ikke bestået. Bevis udstedes. Bestået/ikke bestået. Bestået/ikke bestået

DM507 Algoritmer og datastrukturer

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater

DATALOGI 0GB. Skriftlig eksamen tirsdag den 6. januar 2004

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Noter til C# Programmering Selektion

DM507 Algoritmer og datastrukturer

CANSAT & ARDUINO step by step

Eksempel: Skat i år 2000

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Varmeligningen og cosinuspolynomier.

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DM507 Algoritmer og datastrukturer

CPUer og maskinkode DM534. Rolf Fagerberg

GUX Matematik Niveau B prøveform b Vejledende sæt 2

Transkript:

Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Vejledende løsninger til Skriftlig eksamen fredag den 21. januar 2005 2 timer Der er fem opgaver i alt og disse giver følgende antal point: Spørgsmål Vægt 1 20 point 2 20 point 3 20 point 4 20 point 5 20 point max 100 point Alle de sædvanlige hjælpemidler må benyttes, herunder lærebog, kopier af transperenter, egne noter etc. Lydløse elektroniske lommeregnere mv. må benyttes, hvis disse ikke har trådløs netadgang eller telefoni. En almindelig bærbar PC vil ikke være tilstrækkelig lydløs pga. blæser, harddisk og støjende tastatur. Det er tilladt at bruge blyant til besvarelsen, såfremt denne er tydelig. I opgaveteksten refereres til lærebogen COD: David A. Patterson og John L. Hennessy, Computer Organization & Design: The Hardware/Software Interface, 2./3. oplag, Morgan Kaufmann Publishers, Inc. (1998/2005).

Vejledende løsning til skriftlig eksamenjanuar 2005 i DAT-MASKINARKITEKTUR side 1 af 6 Opgave 1: Assemblerprogrammering (20 point) Betragt nedenstående funktion skrevet i MIPS-assemblersproget:.data # 1. _infinity:.word 0x80000000 # 2..text # 3..globl ilogb # 4. ilogb: bne $a0, $zero, start # 5. lw $v0, _infinity # 6. jr $ra # 7. start: add $t0, $a0, $zero # 8. add $v0, $zero, $zero # 9. loop: srl $t0, $t0, 1 #10. beq $t0, $zero, return #11. addi $v0, $v0, 1 #12. j loop #13. return: jr $ra #14. Spørgsmål 1.1 (5 point) Beskriv detaljeret, hvilken funktion de benyttede registre har i funktionen ilogb. Spørgsmål 1.2 (5 point) Giv en overordnet beskrivelse af, hvordan assemblerfunktionen ilogb fungerer, og hvad den gør. Spørgsmål 1.3 (5 point) Skriv en funktion i et højniveausprog (f.eks. Java eller C) eller i pseudokode, der udfører den samme operation som assemblerfunktionen ilogb. Funktionen skal så vidt muligt fungere på samme måde som assemblerfunktionen. Spørgsmål 1.4 (5 point) Assemblerfunktionen ilogb er ydelsesmæssigt ikke optimal. Angiv, hvordan man kan forbedre udførelsestiden for funktionen. Argumenter også for, hvorfor din løsning er bedre. Afventer

Vejledende løsning til skriftlig eksamenjanuar 2005 i DAT-MASKINARKITEKTUR side 2 af 6 Opgave 2: Talrepræsentation (20 point) Lad A og B være heltallene: A = (200) 10 og B = ( 208) 10. Spørgsmål 2.1 (6 point) Angiv de 9 bit, som repræsenterer heltallene A og B i 2-komplementform med 9 bit. Svar: A 2c = 0.1100.1000 og B 2c = 1.0011.0000 Spørgsmål 2.2 (6 point) Angiv de 9 bit, som repræsenterer heltallene A og B i 9 bit i biased notation med en forskydning på 255. Svar: A bias = 1.1100.0111 og B bias = 0.0010.1111 Spørgsmål 2.3 (8 point) Angiv de 32 bit, som repræsenterer B i IEEE 754-standarden for 32-bit flydende tal. Tallet er negativt så bit 31 er 0. Da 128 < 208 < 256, da 128 = 2 7, og da bias er 127 er eksponentværdien lig 127 + 7 = 134. Bit 30-23 er derfor 10000110. Da (208/128 1) = 80/128 = 5/8 = (4 + 1)/8 fås bit 22-20 lig 101. Bit 19-0 er alle lig 0. Samlet fås: 1.10000110.1010000 000000000000000000 Opgave 3: Logiske udtryk og kredsløb (20 point) Spørgsmål 3.1 (6 point) Den logiske funktion xnor er givet ved udtrykket A xnor B = (A and B) or (Ā and B),

Vejledende løsning til skriftlig eksamenjanuar 2005 i DAT-MASKINARKITEKTUR side 3 af 6 hvor A og B er logiske (boolske) variabler, and og or er and- og or-operationer og Ā og B er not-operationen på henholdsvis A og B. Opskriv sandhedstabellen for udtrykket A xnor B. Spørgsmål 3.2 (7 point) Som en del af et processordesign er der opstået et behov for at beregne tre logiske funktioner F, G og H ud fra inputtene A, B og C. Sandhedstabellen for F, G og H er givet ved: A B C F G H 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 Opskriv funktionerne F, G og H som logiske udtryk på form af sum af produkter udelukkende ved brug af operationerne and, or, og not. Spørgsmål 3.3 (7 point) Tegn de fundne udtryk fra spørgsmål 3.2 som kredsløb udelukkende ved brug af and-, or-, og not-gates.

Vejledende løsning til skriftlig eksamenjanuar 2005 i DAT-MASKINARKITEKTUR side 4 af 6 3.1) 3.2) A B A xnor B 0 0 1 0 1 0 1 0 0 1 1 1 F = ABC (1) G = A xor B xor C (2) = Ā BC + ĀB C + A B C + ABC (3) H = AB +C (4) = (A +C)(B +C) (5) = Ā BC + ĀBC + A BC + AB C + ABC (6) 3.3) afventer Opgave 4: Lagerhierarki (20 point) Antag at der er givet en maskine med en cache, som er forsynet med 512 indgange hver med en blokstørrelse på 8 ord. Antag også, at adressefeltet er på 32 bit, og at cachen benytter direct mapping. Spørgsmål 4.1 (4 point) Tegn en skitse for, hvordan cachen er opdelt. Spørgsmål 4.2 (6 point) Tegn opdelingen af en adresse i byte offset, block offset, index og tag, og angiv hvor mange bits, der benyttes til hver del. Spørgsmål 4.3 (5 point) Hvor mange byte data kan cachen indeholde?

Vejledende løsning til skriftlig eksamenjanuar 2005 i DAT-MASKINARKITEKTUR side 5 af 6 Spørgsmål 4.4 (5 point) Hvor mange byte bruger cachen ialt? 4.1) [valid, tag, data 1, data 2,..., data8] 4.2) Der skal bruges 2 bit til at udpege en byte i et ord, 3 bit til at udpege et ord i en blok på 8, og 9 bit til at udpege ind indgang ud af 512. Da adressefeltet er på 32 bit medfører den en opdeling af adressefeltet som følger: [tag: 32-9 - 3-2 bit= 18 bit, index: 9 bit, ord-offset: 3 bit, byteoffset : 2 bit] 4.3) Der er 512 indgange og hver har 8 ord, hvilket vil sige at cachen kan indeholde data svarende til: 512 blok * 8 ord/blok * 4 Byte/ord = 16384 Byte = 16 KByte 4.4) Hver indgang bruger 1 valid bit, 18 tag bit og 8 ord, hvilket ialt er: 1 bit + 18 bit + 8 ord * 32 bit/ord = 275 bit. Derfor bruger cachen i alt: 512 indgang * 275 bit/indgang = 140800 bit = 17.1875 KByte. Opgave 5: Processorimplementering (20 point) Denne opgave omhandler den pipelinede processorimplementering, som er beskrevet i lærebogen [COD, afsnit 6.1 6.6]. I bogen går man ud fra at de eneste instruktioner, som genvejsenheden er nødt til at håndtere, er de fire R-type instruktioner: add, sub, and og or. I denne opgave ser vi på, hvordan kontrollogikken i/for/af genvejsenheden bør udvides for også at understøtte andre instruktioner. Spørgsmål 5.1 (10 point) Vis, hvordan kontrollogikken i/for/af genvejsenheden kan udvides, sådan at alle datahazarder undgås i forbindelse med skriveinstruktioner (sw). Overvej i særdeleshed de to tilfælde, hvor a) en R-type instruktion bliver efterfulgt af en skriveinstruktion og b) en læseinstruktion (lw) bliver efterfulgt af en skriveinstruktion.

Vejledende løsning til skriftlig eksamenjanuar 2005 i DAT-MASKINARKITEKTUR side 6 af 6 Spørgsmål 5.2 (10 point) Vis, hvordan kontrollogikken i/for/af genvejsenheden kan udvides, sådan at alle datahazarder undgås i forbindelse med betingede hop (beq) og sådan at disse bliver færdiggjort i ID-trinnet. Overvej i særdeleshed de to tilfælde hvor a) en R-type instruktion bliver efterfulgt af et betingede hop, og b) en læseinstruktion bliver efterfulgt af et betingede hop. Afventer (Slut på eksamensspørgsmålene)