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

Størrelse: px
Starte visningen fra side:

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

Transkript

1 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes som en helhed. Vægtningen af de enkelte spørgsmål i en opgave vil ikke være præcist proportional med tidsangivelserne, som altså kun er vejledende. Opgave Tid 1 60 min min min min. Alle de sædvanlige hjælpemidler må benyttes, herunder også lydløse elektroniske lommeregnere og PDA ere (f.eks. Palm Pilot), dog ikke hvis disse har trådløs netadgang eller telefoni. En almindelig bærbar PC vil ikke være tilstrækkelig lydløs p.g.a. blæser, harddisk og støjende tastatur. Det er tilladt at bruge blyant til besvarelsen, såfremt denne er tydelig.

2 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 1 af 17 Opgave 1: Arkitektur (60 min.) Spørgsmål 1.1 (15 min.) En maskine, der har en ordlængde på 32 bit og benytter byte-addressering, anvender en 2-vejs sæt-associativ cache således, at hvert sæt-element er organiseret med en blokstørrelse på 16 ord (64 byte). Cachen kan ialt rumme 512 KB. a) Beskriv felterne i adresseformatet, og angiv felternes størrelse. b) Beregn hvor mange bit, det kræver at implementere cachen samt størrelsen af det absolutte overhead. Adresseformatet består af 4 felter: Felt antal bit bit Tag Index Block offset Byte offset Byte offset er på 2 bit da 4 byte pr. ord. Block offset er på 4 bit da 16 ord pr. blok. Der er 16*4= 64 byte pr. blok og 2 blokke pr. index (da 2-vejs set-associativ). Antal cache indgange er derfor 512KB/128B eller 4K. For at adressere 4K må index-feltet være 12 bit. Tag-feltet bliver derfor = 14 bit. Antal bit i implementationen bliver ( ) eller bit lig 527 Kbyte. Det absolutte overhead er derfor 527 Kbyte Kbyte = 15 Kbyte. Spørgsmål 1.2 (10 min.) En processor er forbundet med 4 ydre enheder, der hver kan afbryde processoren ved et interrupt (et højt signal - logisk 1) på en interruptlinie I i, i = Da flere enheder samtidig kan signalere en afbrydelse, benyttes en interruptprioriteringsenhed, der som inddata tager signalerne I i, og producerer signalerne Int og (O 1 O 0 ). Signalet Int angiver, om mindst en enhed signalerer et interrupt. De to signaler O j koder (binært) indeks på den enhed med højeste

3 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 2 af 17 prioritet, som ønsker betjening. Et signal på linien I i er højere prioriteret end et signal på linien I j hvis i < j. Hvis ingen enheder signalerer interrupt, er værdien af O 1 og O 0 ligegyldig (don t care). a) Angiv optimerede logiske udtryk for O 1 og O 0. Karnaughkortet for (O 1, O 0 ) er: De optimerede udtryk bliver: (I 0 I 1 ) O 1 O xx (I 2 I 3 ) O 0 = Ī0I 1 + Ī0Ī2 O 1 = Ī0Ī1 Spørgsmål 1.3 (35 min.) Betragt decimaltallene A = 17, B = 11, og C = a) Angiv bitmønstrene for angivelse af de tre tal A, B, og C ved brug af IEEE-754 standarden for flydende tal i 32 bit. b) Angiv bitmønstrene for tallene A og B, begge opfattet som heltal, ved 2-komplement repræsentation i 6 bit. c) Beskriv detaljeret hvorledes multiplikation af tallene A og B, begge opfattet som heltal og repræsenteret i 6 bits 2-komplement, foretages ved brug af Booths algoritme. Det anbefales at benytte et skema, hvor hver linie beskriver et trin i processen og bl.a. viser bitmønstrene for indholdet af de registre, der benyttes i metoden. Husk at kommentere hvert trin.

4 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 3 af 17 Skrives R =(f,m,e) for (fortegn, mantisse-1, eksponent+127) fås: R A = (1, 1/16, 131), R B = (0, 3/8, 130), R A = (1, 3/4, 127). Bitmønstrene bliver: B A = B B = B C = bits repræsentation i 2-komplement af A og B bliver: C A = og C B = Booths algoritme benytter to registre: Et 6-bits multiplikantregister der konstant har værdien af multiplikanten, der her vælges lig B = , og et 12-bits produktregister, hvis venstre 6 bit er initialiseret med 0 og hvis 6 højre bit er initialiseret med A = Produktregisteret indeholder desuden en bit (til højre for den mindst betydende bit af A), initialiseret med værdien 0. Efter initialisering har algoritmen 6 trin (iterationer). Værdien af de to mindst betydende bit i det udvidede produktregister benyttes i hvert trin til at foretage en operation efter skemaet: Bitmønster Operation 00 Ingen operation 01 Adder B til venstre halvdel af register 10 Subtraher B fra venstre halvdel af register 11 Ingen operation Efter hver aktion jvf. ovenstående skema skiftes produktregisteret en position til højre. Skiftet foretages med fortegnsbevarelse. Nedenstående skema viser indholdet af produktregisteret for hvert af de 6 trin samt en kommentar til hvad der er sket i trinet. Bemærk at vi under tiden skal subtrahere B svarende til at addere B =

5 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 4 af 17 Trin Produktregister Kommentar Initiel værdi Subtraher B Skift Ingen operation Skift Ingen Operation Skift Ingen operation Skift Adder B Skift Subtraher B Skift Værdien af multiplikationen fås af produktregisteret som -( ) = -187 (= -11*17).

6 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 5 af 17 Opgave 2: Grammatikker og automater (60 min.) Spørgsmål 2.1 (10 min.) a) Lav en DFA for følgende sprog: ikke-tomme bitfølger, hvor der maksimalt er tre ens bit efter hinanden Spørgsmål 2.2 (50 min.) Vi betragter en simpel variant af XML hvor end-tags er stavet omvendt end de tilsvarende tags. F.eks. vil <cat> blive afsluttet med </tac>. Endvidere begrænser vi de bogstaver, man kan bruge i tags til sættet {a, c, g, t}. Et eksempel på en tekst i denne variant af XML er angivet herunder. Linieskift og blanktegn er indsat for læselighedens skyld og er ikke en del af teksten. <gattaca> <act><cc></cc><cc></cc></tca> <act><gag><cat></tac></gag></tca> </acattag> Følgende grammatik beskriver denne XML variant: X X X X X < T > T > X < / T a T a T c T c T g T g T t T t

7 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 6 af 17 Læg mærke til, at < / er to separate tegn. a) Vis at grammatikken er tvetydig, ved at angive to forskellige syntakstræer for den tomme tegnfølge. X ɛ X X X ɛ ɛ b) Omskriv grammatikken, så den er entydig. Vi omskriver X, så der ikke er både venstre- og højrerekursion: T er uændret. X X < T > X c) Er den nye grammatik LL(1)? Med andre ord, kan man vælge produktion entydigt ved at se på næste inddatategn?. Begrund svaret. Vink: På hvilke symboler vælges den tomme produktion for X? På grund af den første produktion for T ligger < i F OLLOW (X), så både den tomme produktion for X og den produktion, hvis højreside starter med <, kan vælges ved dette symbol. d) Hvis grammatikken ikke er LL(1), så omskriv den, så den bliver det. Vink: Del første produktion for T op i to ved at tage den del af højresiden, der starter med X over i en ny produktion. Omskriv derefter denne nye produktion.

8 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 7 af 17 Vi skal omskrive den første produktion for T, så vi undgår at < ligger i F OLLOW (X). Vi starter med at dele produktionen op før X et: T > T T X < / Dernæst indsætter vi i T de to muligheder for X og laver venstrefaktorisering: T < T T / T T > X < / Vi ser nu, at den sidste del af sidste produktion er identisk med den oprindelige produktion for T, så vi erstatter dette med T : T / T T > T Tilsidst sættes den ekstra startproduktion ind. Den samlede grammatik bliver X X $ X X < T > X T > T T a T a T c T c T g T g T t T t T < T T / T T > T e) Vis LL(1) tabellen for den i delspørsgmål d omskrevne grammatik. Hvis ikke du har løst delspørgsmål d, så brug den entydige grammatik fra delspørgsmål b og påpeg eventuelle konflikter i tabellen.

9 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 8 af 17 Af pladshensyn vises kun højresiderne af produktionerne i tabellen. Venstresiderne fremgår af rækken. Læg mærke til at den tomme produktion nu er angivet med ɛ for at undgå forveksling med tomme indgange i tabellen. a c g t < > / $ X X$ X$ X <T >X ɛ T at a ct c gt g tt t >T T <T T T >T T >T T >T T >T T >T /

10 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 9 af 17 Opgave 3: Oversætterteknik (60 min.) Spørgsmål 3.1 (8 min.) Figur 5.2 i Basics of Compiler Design viser typecheck af simple udtryk. Vi ændrer nu sproget, så + operatoren også er defineret for argumenter af type bool. I givet fald skal begge argumenter være boolske værdier, og resulatet bliver da den logiske disjunktion (eller) mellem disse værdier. a) Vis hvordan Check Exp funktionen fra figur 5.2 skal ændres, så + virker både på heltal (som tidligere) og på boolske værdier (som beskrevet herover). Vi modificerer indgangen for +: Check Exp (Exp, vtable, ftable) = case Exp of Exp 1 + Exp 2 t 1 = Check Exp (Exp 1, vtable, ftable) t 2 = Check Exp (Exp 2, vtable, ftable) if t 1 = t 2 then t 1 else error(); t 1 Spørgsmål 3.2 (26 min.) I nogle processorer bruger aritmetiske instruktioner kun to registre, idet resulatet lægges i samme register, som indeholder det første argument til operationen. Eksempelvis kan kopi- og additionsinstruktionerne se ud som følger: MOV r d, r t r d := r t ADD r d, r t r d := r d + r t ADDI r d, k r d := r d + k Notationen er ækvivalent til den, der er brugt i figur 7.1 i Basics of Compiler Design. Ligesom på MIPS er register 0 (R0) konstant lig med 0. a) Tilføj mønstre til kodegenerering (i stil med figur 7.1) for hver af følgende mellemkodeinstruktioner:

11 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 10 af 17 r d := k r d := r s + r t r d := r s + k hvor r d er forskellig fra r s og r t. Brug kun de ovenover viste kopi- og additionsinstruktioner. MOV r d, R0 r d := k ADDI r d, k MOV r d, r s r d := r s + r t ADD r d, r t MOV r d, r s r d := r s + k ADDI r d, k b) Foreslå metoder til at mindske antallet af ekstra kopiinstruktioner, som denne kodegenerering indfører. Vink: Dette kan ske i forskellige faser i oversættelsen. Genereringen af mellemkode kan prøve at lade additionsoperationer bruge samme register til argument og resultat. I figur 6.3 i Basics of Compiler Design betyder det at man i reglerne for unop og binop ikke genererer en ny mellemkodevariabel (place 1 ) for første argument, men i stedet genbruger den nedarvede (place). Dette kræver dog en modifikation af genereringen af tildelingssætninger i figur 6.5, da man ikke kan bruge destinationsvariablen som place, da place med ovennævnte modifikation kan overskrives inden en brug af variablen i udtrykket. I stedet skal en ny place genereres, og værdien i denne kopieres over i variablen til sidst. Dette giver så en ekstra kopiinstruktion ved tildelinger, så man kan evt. bruge den oprindelige oversættelse i de situationer, hvor venstresidevariablen ikke forekommer på højresiden. Alternativt kan man lade registerallokatoren forsøge at allokere samme register til de variabler, der bruges som resultat og første argument til en additionsoperation. Dette kan gøres med biased colouring, som

12 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 11 af 17 omtalt i afsnit i Basics of Compiler Design. Hvis registerallokering sker på det symbolske maskinsprog (assemblerkoden), kan biased colouring bruges til at fjerne overflødige kopiinstruktioner efter, at de er genereret. Spørgsmål 3.3 (26 min.) Det er kendt at logisk konjunktion er associativ, dvs. at: p (q r) = (p q) r. Afsnit i Basic of Compiler Design omhandler såkaldte sekventielle logiske operatorer, hvor andet argument til operatoren ikke udregnes, hvis værdien af det første argument er tilstrækkeligt til at finde resultatet. F.eks. udregnes andet argument til && (sekventiel logisk konjunktion) ikke, hvis det første argument har værdien false, a) Argumenter uformelt for, at den sekventielle logiske konjunktionsoperator også er associativ, dvs. at p && (q && r) og (p && q) && r har samme betydning, inklusive hvorvidt deludtrykkene p, q og r bliver beregnet. Vi ser på de forskellige mulige tilfælde: Hvis p er falsk i p && (q && r) udregnes (q && r) ikke. I (p && q) && r udregnes q ikke, og (p && q) giver værdien false. Dermed udregnes heller ikke r. Hvis p er sand i p && (q && r), udregnes (q && r). Hvis q er falsk, udregnes r ikke. Hvis p er sand og q er falsk, giver (p && q) værdien false. Dermed udregnes r heller ikke i (p && q) && r. Hvis både p og q er sande, udregnes r i begge tilfælde, og værdien af r er hele udtrykkets værdi. b) Vis koden for p && (q && r) jvf. figur 6.8 i Basics of Compiler Design. I det yderste kald til T rans Cond har attributterne label t og label f værdierne l 1 og l 2. Kald til newlabel() giver l 3, l 4, l 5,... i nævnte rækkefølge. Udfold ikke kaldene til T rans Cond for p, q og r.

13 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 12 af 17 T rans Cond (p, l 3, l 2, vtable, ftable) ++[LABEL l 3 ]++ T rans Cond (p, l 4, l 2, vtable, ftable) ++[LABEL l 4 ]++ T rans Cond (p, l 1, l 2, vtable, ftable) c) Vis koden for (p && q) && r under samme forudsætninger som i delspørgsmål b. T rans Cond (p, l 4, l 2, vtable, ftable) ++[LABEL l 4 ]++ T rans Cond (p, l 3, l 2, vtable, ftable) ++[LABEL l 3 ]++ T rans Cond (p, l 1, l 2, vtable, ftable) d) Sammenlign koden fra delspørgsmål b og c. Fremgår associativiteten klart? Koden er ens pånær navngivning af labels, så associativiteten fremgår ret tydeligt.

14 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 13 af 17 Opgave 4: Maskinsprog og ydelse (60 min.) Vi ønsker at forbedre ydelsen af et grafikprogram på en pipelinet maskine som den, der er beskrevet i Patterson & Hennessy, kap (maskinen er udvidet til også at kunne udføre addi ordrer). Vi er i den specielle situation, at kildekoden til grafikprogrammet er forsvundet, og vi har kun adgang til programmets maskinkode. Derfor kan vi kun foretage simple ændringer i selve maskinprogrammet, og overvejer derfor fortrinsvis at ændre selve maskinen for at opnå en bedre ydelse. Spørgsmål 4.1 (15 min.) Vores nuværende maskine kører med en klokfrekvens på 500 MHz. Maskinprogrammet udfører ialt 10 7 maskinordrer, heraf hent/gem ordrer og hopordrer. Hent/gem ordrerne har et CPI (Cycles Per Instruction) på 1.7, mens hopordrer tager 1 CPI plus et overhead til dårligt forudsagte (mispredicted) hop på ialt cykler. Alle andre ordrer har et CPI på 1.0. a) Hvor mange klokcykler udfører maskinprogrammet ialt? Antal klokcykler: Hent/gem ordrer: = Hopordrer: = Andre ordrer: = Antal klokcykler ialt: ( ) 10 6 = (eller 12.6 mio. klokcykler). b) Hvad er udførelsestiden? Udførelsestiden er / = 12.6/500 = s = 25.2ms. c) Hvor stor forbedring i udførelsestid (i procent) kan en forbedret hopforudsigelse maksimalt give? Det antages at hardwaren til hopforudsigelse kan ændres ubegrænset, men klokfrekvensen og maskinprogrammet kan ikke ændres.

15 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 14 af 17 I bedste tilfælde kan alle hoporder komme ned på et CPI på 1.0, dvs. at der ikke bliver tabt nogen klokcykler i forbindelse med hop. Det samlede antal udførte klokcykler bliver derfor = 12.1 mio. klokcyckler eller en besparelse på 0.5/ %. Spørgsmål 4.2 (15 min.) En nærmere analyse af traces af maskinprogrammets kørsel afslører, at der ofte udføres ordresekvenser som og sw $t1, 0($t2) addi $t2, $t2, 4 lw $t1, 0($t2) addi $t2, $t2, 4 a) Hvad indikerer disse ofte forekommende sw/addi og lw/addi sekvenser at programmet laver? Disse sekvenser kunne tyde på, at programmet ofte læser og skriver større blokke fra lageret ad gangen. Dette kan ses af ovenstående ved at adressen går et ord frem efter hver hent/gem ordre. b) Vi overvejer at implementere to nye maskinordrer, der kan udføre hver af disse to typer ordresekvenser som en ordre. Beskriv kort hvad der taler for og imod en sådan ændring af arkitekturen. Fordele: En udførelse af to ordrer som en ordre giver mulighed for en bedre ydelse, idet de to ordrer (teoretisk) kan udføres i løbet af en klokcyklus. Ulemper: Tilføjelse af ordrer til arkitekturen kan give problemer med at holde klokfrekvensen oppe. Man kan altså risikere, at klokfrekvensen falder, hvilket kan resultere i lavere ydelse generelt. Desuden er det principielt og erfaringsmæssigt forkert på moderne arkitekturer at implementere komplekse ordrer, der kan simuleres ved en eller flere simplere ordrer. Man bryder altså med det som hele RISC arkitekturen som den beskrevne arkitektur netop er et godt eksempel på er bygget over, nemlig et simpelt og enkelt ordresæt.

16 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 15 af 17 Spørgsmål 4.3 (30 min.) Det viser sig, at 70% af alle udførte hent/gem ordrer i maskinprogrammet bliver efterfulgt af en addi ordre, der udelukkende opererer på base-adresse registeret (som vist i spørgsmål 4.2). Vi beslutter os derfor først for at implementere følgende nye ordre: swaddi register1, value(register2) Denne ordre har samme layout som en almindelig sw ordre, men har følgende effekt: Værdien af register1 gemmes på adressen angivet ved register2. Herefter sættes register2 til at være lige med register2 + value, dvs. at konstanten value adderes til værdien af register2 og resultatet skrives tilbage til register2. a) Beskriv overordnet hvordan du ville implementere swaddi på datavejen. Benyt figur 6.30 i Patterson & Hennessy som udgangspunkt for din beskrivelse; ignorer eventuelle nye datahazards. De væsentlige ændringer i forhold til en sw ordre er som følger: IF Ingen ændringer. DE Der vælges en indkodning af den nye ordre og denne afkodes i kontrol-muxen. De to registre, register1 og register2, udlæses som sædvanligt fra registerbanken. EX ALUen beregner register2 + value ligesom for en sw ordre. Desuden videreføres register2 også udenom ALUen til EX/MEM pipeline registret. MEM Adressen angivet ved register2 benyttes ved skrivning af register1 til lageret. WB Resultatet af register2 + value skrives tilbage til register2. b) Beskriv hvad en lignende ordre lwaddi ville udføre, og giv en overordnet beskrivelse af, hvordan du ville implementere denne ordre på datavejen. Angiv væsentlige forskelle i forhold til implementationen af swaddi.

17 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 16 af 17 En lignende lwaddi skulle udføre dette: Ordet på adressen angivet ved register2 indlæses og skrives til register1. Herefter sættes register2 til at være lige med register2 + value, dvs. at konstanten value adderes til værdien af register2 og resultatet skrives tilbage til register2. De væsentlige ændringer i forhold til en lw ordre er som følger: IF Ingen ændringer. DE Der vælges en indkodning af den nye ordre og denne afkodes i kontrol-muxen. Register register2 udlæses som sædvanligt fra registerbanken. EX ALUen beregner register2 + value ligesom for en lw ordre. Desuden videreføres register2 også udenom ALUen til EX/MEM pipeline registret. MEM Ordet på adressen angivet ved register2 hentes fra lageret. WB Resultatet af indlæsningen fra lageret skrives tilbage til register1 samtidig med at register2 + value skrives tilbage til register2. Det bemærkes, at dette kræver en ekstra skriveport til registerbanken, hvilket er en væsentlig ændring, også i forhold til swaddi som ikke kræver dette. c) Efter at have implementeret disse to nye ordrer viser det sig, at klokfrekvensen falder til 450 MHz. Hvad bliver udførelsestiden for maskinprogrammet der benytter de nye ordrer? instruktionstal og CPI værdierne fra spørgsmål 4.1 antages at være uændret. Specielt kan det antages, at den nye ordre også har et CPI på 1.7. Antallet af maskinordrer fra spørgsmål 4.1 skal justeres svarende til brug af de nye ordrer.

18 Vejledende løsning til skriftlig eksamen juni 2003 i Datalogi 1E side 17 af 17 I forhold til opgave 4.1 er = addi ordrer, hver med et CPI på 1.0 blevet fjernet helt. Altså har vi sparet det samme antal klokcykler. Derfor bliver udførelsestiden: ( )/ s = 23.3ms.

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

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

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

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.

Læs mere

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

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

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

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DTLOGI 1E Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

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

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

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

Oversættere Skriftlig eksamen onsdag d. 19. april 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 19. april 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

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

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved

Læs mere

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

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved

Læs mere

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

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag d. 16. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

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

Oversættere Skriftlig eksamen onsdag d. 20. april 2005 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 20. april 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min.

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min. Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

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

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet

Læs mere

Oversættere / Datalogi 1E

Oversættere / Datalogi 1E Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere / Datalogi 1E Skriftlig eksamen onsdag d. 26. januar 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave.

Læs mere

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

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

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

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E 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

Læs mere

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

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen torsdag den 16. januar 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen torsdag den 16. januar 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver

Læs mere

DATALOGI MASKINARKITEKTUR

DATALOGI MASKINARKITEKTUR Københavns Universitet Natrvidenskabelig Embedseksamen DATALOGI ASKINARKITEKTUR Skriftlig eksamen fredag den 29. oktober 24 kl. -2 Frederiksholms kanal 4B Der er fem opgaver i alt og disse giver følgende

Læs mere

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

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg 1 / 18 Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B Martin Zachariasen 10. september 2004 1 Introduktion Dette er den karaktergivende rapportopgave på kurset Maskinarkitektur 1B, efterår

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur og

Læs mere

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

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 25. januar 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 25. januar 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver

Læs mere

MIPS, registerallokering og MARS

MIPS, registerallokering og MARS MIPS, registerallokering og MARS Torben Mogensen 2011 Resumé Vi beskriver modulerne Mips.sml og RegAlloc.sml, samt hvordan de bruges sammen med MIPS-emulatoren MARS. 1 MIPS modulet Modulet Mips.sml indeholder

Læs mere

Yderligere udvidelser af oversætter for Minimal

Yderligere udvidelser af oversætter for Minimal Yderligere udvidelser af oversætter for Minimal Karakteropgave på kurset Oversættere Vinter 2005 1 Introduktion Dette er den anden del af rapportopgaven på Oversættere, vinter 2005. Opgaven skal løses

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM526 Rolf Fagerberg, 2009 Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, kommatal) Bogstaver Computerinstruktion (program)

Læs mere

Processoren: Enkelt-cyklus implementation

Processoren: Enkelt-cyklus implementation Processoren: Enkelt-cyklus implementation Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, afsnit 5.1 5.3 Historisk tilbageblik MIPS-arkitekturen/delmængde Klokning og byggeklodser Opbygning

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

MIPS modulet og registerallokatoren

MIPS modulet og registerallokatoren MIPS modulet og registerallokatoren Værktøjer til oversætterdelen af K1 Dat1E 2001 MIPS modulet Den vigtigste del af modulet MipsData.sml er datatypen mips, som beskriver MIPS ordrer, se figur 1. Alle

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

Skriftlig eksamen, Programmer som Data 2. 3. januar 2014

Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamenssættet udleveres elektronisk fra kursets hjemmeside torsdag 2.

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:

Læs mere

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 21. marts 2013,

Læs mere

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber Produktsystemer, substitutions-permutations-net samt lineær og differentiel kryptoanalyse Kryptologi, fredag den 10. februar 2006 Nils Andersen (Stinson 3., afsnit 2.7 3.4 samt side 95) Produkt af kryptosystemer

Læs mere

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Tirsdag den 20. marts 2012, kl.

Læs mere

Eksamensopgaver i DM17, Januar 2003

Eksamensopgaver i DM17, Januar 2003 Eksamensopgaver i DM17, Januar 2003 Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Universitet Lørdag, den 18. Januar 2003 Alle sædvanlige

Læs mere

Lageradministration. dopsys

Lageradministration. dopsys Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet

Læs mere

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Computerarkitektur. - en introduktion til computerarkitektur med LINDA Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

Eksamen dcomnet 2012Q4. Årskortsnummer Navn Eksamen dcomnet 2012Q4 Årskortsnummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive årskort og navn tydeligt på forsiden, inden eksamen afsluttes. Der er ét rigtigt svar per

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

Udsagnslogik. Anker Mørk Thomsen. 6. december 2013

Udsagnslogik. Anker Mørk Thomsen. 6. december 2013 Udsagnslogik Anker Mørk Thomsen 6. december 2013 Logiske Udsagn Sætningstyper Spørgende (interrogative): Hvor længe bliver du i byen? Befalinger (imperative): Gå tilvenstre efter næste sving? Ønsker (optative):

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

Læs mere

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Baggrundsnote om logiske operatorer

Baggrundsnote om logiske operatorer Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

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

DM13-1. Obligatorisk opgave E.05. Jacob Aae Mikkelsen DM13-1. Obligatorisk opgave E.05 Jacob Aae Mikkelsen - 191076 26. september 2005 Indhold Analyse af problemstillingen........................ 2 Spørgsmål 1................................. 3 Spørgsmål

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Processoren: Fler-cyklus implementation

Processoren: Fler-cyklus implementation Processoren: Fler-cykls implementation artin Zachariasen, DIKU Litteratr: Patterson & Hennessy, afsnit 5.4 5. Ulemper ved enkelt-cykls maskinen Ændring til fler-cykls maskine Styresignaler Implementering

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning) INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 Eksamensdag: Tirsdag den 7. juni 16, kl. 9.-11. Tilladte medbragte

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 1. april 200, kl..00-11.00

Læs mere

De rigtige reelle tal

De rigtige reelle tal De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tolv) Eksamensdag: Fredag den 7. august 009, kl.

Læs mere

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1 Københavns Universitet, Det naturvidenskabelige Fakultet 1 Lineær Algebra (LinAlg) Afleveringsopgave 1 Eventuelle besvarelser laves i grupper af - 3 personer og afleveres i to eksemplarer med 3 udfyldte

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Onsdag den 31. marts 2010, kl.

Læs mere

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 11. august 2011,

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

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

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

Læs mere

Algorithms & Architectures II

Algorithms & Architectures II Algorithms & Architectures II Algorithms & Architectures II Jens Myrup Pedersen Hans Peter Schwefel Kursusholdere Dagens lektion Overordnet mål: At etablere en forståelse for hvordan hardware og hardwarearkitekturer

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

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

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning) INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 10. august 2012, kl. 9.00-11.00 Eksamenslokale: Finlandsgade

Læs mere

Lagervisning. Dina Friis, og Niels Boldt,

Lagervisning. Dina Friis, og Niels Boldt, Lagervisning Dina Friis, dina@diku.dk og Niels Boldt, boldt@diku.dk 6. april 2001 Kapitel 1 Sammenfatning Dette dokument er et eksempel på en delvis besvarelse af G-opgaven stillet på Datalogi 0 2000-2001.

Læs mere

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

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 26. marts 2009, kl.

Læs mere

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

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode - 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 1 November 212, kl. 1 14 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af computer

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

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

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger

Læs mere

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

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

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Integralregning med TI-Interactive! Stamfunktioner Integraler Arealer Jan Leffers (2005)

Integralregning med TI-Interactive! Stamfunktioner Integraler Arealer Jan Leffers (2005) Integralregning med TI-Interactive! Stamfunktioner Integraler Arealer Jan Leffers (005) Indholdsfortegnelse Indholdsfortegnelse... Stamfunktion og integralregning...3 Numerisk integration...3 Areal under

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Et udtryk er (som bekendt?) lineært hvis den differentierede er en konstant funktion, dvs. at den ikke afhænger af x. Betragt f lgende værdiprocedurer

Et udtryk er (som bekendt?) lineært hvis den differentierede er en konstant funktion, dvs. at den ikke afhænger af x. Betragt f lgende værdiprocedurer Opgave 1 (25%) Simple udtryk med +, - og * over heltal og en enkelt variabel x kan repræsenteres som værdier af f lgende type: Type Expression = Sum(const: Int, x: Unit, plus, minus, times: Arguments)

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet

Læs mere

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt

Læs mere

Bits DM534. Rolf Fagerberg, 2012

Bits DM534. Rolf Fagerberg, 2012 Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et

Læs mere

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni 2003 1 25 % 2 10 % 3 25 % 4 10 % 5 30 %

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni 2003 1 25 % 2 10 % 3 25 % 4 10 % 5 30 % Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1F Skriftlig eksamen tirsdag den 10. juni 2003 Opgave Vægtning 1 25 % 2 10 % 3 25 % 4 10 % 5 30 % Alle de sædvanlige hjælpemidler må benyttes,

Læs mere