Niveauer af abstrakte maskiner

Størrelse: px
Starte visningen fra side:

Download "Niveauer af abstrakte maskiner"

Transkript

1 Mikroarkitektur

2 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 IJVM)

3 Maskinniveau Vores fokus er på IJVM maskinen

4 IJVM instruktioner Afvikles i en fetch-decode-execute cyklen af CPU'en

5 Fetch-decode-execute 1. Fetch the next instruction from memory into the instruction register. 2. Change the program counter to point to the following instruction. 3. Determine the type of the instruction just fetched. 4. If the instruction uses a word in memory, determine where it is. 5. Fetch the word, if needed, into a CPU register. 6. Execute the instruction. 7. Go to step 1 to begin executing the following instruction. Se SCO side 54

6 Mikroarkitektur: Mic-1

7 Mikroarkitektur: Mic-1 CPU registre kontrolenhed fetch- decode- Execute af IJVM instruktioner beregningsenhed

8 Registre: MAR: Memory Address Register. MDR: Memory Data Register. PC: Program Counter MBR: Memory Byte/Buffer Register SP: Stack Pointer LV: Local Variable Frame CPP: Constant Pool Pointer TOS: Top Of Stack OPC: Old Program Counter H: Help register

9 Kontrol af beregningsenheden Shifter kontrol: SLL8 (shift left logical 8) SRA1 (shift right arithmetic 1)

10 Timing af beregningsenheden

11 Eksempel: PC=PC

12 Eksempel: PC=PC

13 Eksempel: PC=PC

14 Eksempel: PC=PC

15 Eksempel: PC=PC

16 Lager tilgang Stack Constant Pool Method Area bytes (32 bit) / words (30 bit) PC/MBR bruges til at tilgå Method Area ved brug af byte adresser. MAR/MDR bruges til at tilgå Stack og Constant Pool ved brug af word adresser. Timing: hvis PC (MAR) sættes i cycle k indeholder MBR (MDR) indholdet af lagercellen i starten af cycle k+2.

17 Timing ved lager tilgang MDR/MBR kan læses Cykel k Cykel k+1 Cykel k+2 MAR/PC sættes Bus/lager opererer PC/MBR bruges til at tilgå Method Area ved brug af byte adresser. MAR/MDR bruges til at tilgå Stack og Constant Pool ved brug af word adresser. Timing: hvis PC (MAR) sættes i cycle k indeholder MBR (MDR) indholdet af lagercellen i starten af cycle k+2.

18 Timing ved lager tilgang Mulighed for back-to-back reads jvf. SCO 240 MDR/MBR kan læses Cykel k Cykel k+1 Cykel k+2 MAR/PC sættes Bus/lager opererer PC/MBR bruges til at tilgå Method Area ved brug af byte adresser. MAR/MDR bruges til at tilgå Stack og Constant Pool ved brug af word adresser. Timing: hvis PC (MAR) sættes i cycle k indeholder MBR (MDR) indholdet af lagercellen i starten af cycle k+2.

19 Tolkning af MAR adresse MAR indeholde word-adressen [0, ] på det maskinord der skal indlæses. Dette skal oversættes til en byte-adresse i et 4 Gb lager... Dette gøres ved at gange med 4, dvs. skifte to plads til venstre

20 Udlæsning af MBR til B-bus MBR (en byte) kan udlæses til B-bus, som 1) unsigned, hvis fx argument til iload 2) signed, hvis fx argument til bipush unsigned: w 7 w 6 w 5 w 4 w 3 w 2 w 1 w w 7 w 6 w 5 w 4 w 3 w 2 w 1 w 0 signed: w 7 w 6 w 5 w 4 w 3 w 2 w 1 w 0 w 7 w 7... w 7 w 7 w 7 w 6 w 5 w 4 w 3 w 2 w 1 w 0 Sign extension

21 Mikroarkitektur: Mic-1 CPU registre kontrolenhed fetch- decode- Execute af IJVM instruktioner beregningsenhed

22 Mikroinstruktions format 8 1

23 Mikroinstruktion: PC=PC

24 Mikroinstruktion: PC=PC+1 1 1?????????

25 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig...

26 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = 0

27 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = [0, w]

28 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = [ w, w+ x]

29 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = [ w+ x, w+ x+ y]

30 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = [ w+ x+ y, w+ x+ y+ z]

31 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = end of cycle

32 Der afvikles een mikroinstruktion per clock-cycle, timing er vigtig... T = end of cycle Hvorfor 1-bit flip-flops?

33 Bestemmelse af næste mikroinstruktion N Z JAMN JAMZ Addr MBR JMPC resultat fra ALU er Negativt resultat fra ALU er 0 (Zero) angiver om N/Z skal bruges ved beregning af næste mikroinstruktion 9 bit fra aktuel mikroinstruktion 8 bit fra MBR register angiver om MBR skal bruges ved beregning af næste mikroinstruktion

34 Bestemmelse af næste mikroinstruktion N Z JAMN JAMZ Addr MBR JMPC resultat fra ALU er Negativt resultat fra ALU er 0 (Zero) angiver om N/Z skal bruges ved beregning af næste mikroinstruktion 9 bit fra aktuel mikroinstruktion 8 bit fra MBR register angiver om MBR skal bruges ved beregning af næste mikroinstruktion w 8 w 7 w 6 w 5 w 4 w 3 w 2 w 1 w 0 or N or Z? w 7 w 6 w 5 w 4 w 3 w 2 w 1 w 0 or u 7 u 6 u 5 u 4 u 3 u 2 u 1 u 0 fra Addr hvis JAMN=1 hvis JAMZ=1 fra MBR hvis JMPC=1

35 Eksempel: JAMZ=1 Et betinget hop på Z (indikeret ved JAMZ=1) kan kun hoppe til adresse x (ved Z=0) eller adresse x+256 (Z=1). I eksempelt ovenfor er x = 0x92.

36 Ordreafkodning.method main // int main.args 3 // (int a, int b).define a = 1.define b = 2 iload a iload b isub ireturn main index: 0 method area: 10 bytes ac constant pool: 1 words goto(mbr), Addr= , JMPN=0, JMPZ=0, JMPC=1

37 Ordreafkodning Første mikroinstruktion for iload Første mikroinstruktion for isub 0x15 0x64.method main // int main.args 3 // (int a, int b).define a = 1.define b = 2 iload a iload b isub ireturn main index: 0 method area: 10 bytes ac constant pool: 1 words Hvis 0x15 er indlæst i MBR (via læsning fra adresse PC i lageret), så vil goto(mbr) hoppen til celle 0x15 i mikrolageret... goto(mbr), Addr= , JMPN=0, JMPZ=0, JMPC=1

38 Mikroarkitektur: Mic-1 CPU registre kontrolenhed fetch- decode- Execute af IJVM instruktioner beregningsenhed

39 Mikroprogrammering

40 Mikroprogrammering Skal have et mikroprogram, dvs. et indhold af mikrolageret der realiserer IJVMs instruktionssæt Fetch-Decode-Execute...

41 Fetch-decode-execute 1. Fetch the next instruction from memory into the instruction register. 2. Change the program counter to point to the following instruction. 3. Determine the type of the instruction just fetched. 4. If the instruction uses a word in memory, determine where it is. 5. Fetch the word, if needed, into a CPU register. 6. Execute the instruction. 7. Go to step 1 to begin executing the following instruction. Se SCO side 54

42 Fetch Stack Constant Pool Method Area bytes (32 bit) / words (30 bit) PC/MBR bruges til at tilgå Method Area ved brug af byte adresser. MAR/MDR bruges til at tilgå Stack og Constant Pool ved brug af word adresser. Timing: hvis PC (MAR) sættes i cycle k indeholder MBR (MDR) indholdet af lagercellen i starten af cycle k+2.

43 Fetch MDR/MBR kan læses Cykel k Cykel k+1 Cykel k+2 MAR/PC sættes Bus/lager opererer PC/MBR bruges til at tilgå Method Area ved brug af byte adresser. MAR/MDR bruges til at tilgå Stack og Constant Pool ved brug af word adresser. Timing: hvis PC (MAR) sættes i cycle k indeholder MBR (MDR) indholdet af lagercellen i starten af cycle k+2.

44 Decode.method main // int main.args 3 // (int a, int b).define a = 1.define b = 2 iload a iload b isub ireturn main index: 0 method area: 10 bytes ac constant pool: 1 words goto(mbr), Addr= , JMPN=0, JMPZ=0, JMPC=1

45 Decode Første mikroinstruktion for iload Første mikroinstruktion for isub 0x15 0x64.method main // int main.args 3 // (int a, int b).define a = 1.define b = 2 iload a iload b isub ireturn main index: 0 method area: 10 bytes ac constant pool: 1 words Hvis 0x15 er indlæst i MBR (via læsning fra adresse PC i lageret), så vil goto(mbr) hoppen til celle 0x15 i mikrolageret... goto(mbr), Addr= , JMPN=0, JMPZ=0, JMPC=1

46 Execute Sekvens af mikroinstruktioner der implementerer Meaning...

47 Symbolsk mikroprogrammering (Absolut) Mikroprogram 000: : : : 00203d : 00283d : 00303c : : : 00013f : 000a3f a: 00603f b: 00603f c: d: : : ff: Behov for et symbolsk mikroprogrammeringssprog med tilhørende mikroassembler Micro Assembly Language (MAL) Mikroassembler: mic1-asm

48 Symbolsk mikroprogrammering Behov for at specificere: ALU input registre, ALU og skifter operationer, output registre. Lager operationer (rd,wr,fetch). Ubetingede hop: ifm. næste mikroinstruktion og JMPC bit. Betingede hop: JAMN og JAMZ bits

49 ALU og skifter operationer i MAL Skifter operationer: 1 bit aritmetisk højreskift: >> 1 8 bit logisk venstre skift: << 8

50 Lager operationer Læsning/skrivning af ord (words) i stakområdet: Specificeres ved brug af rd og wr. Ord der læses/skrives udpeges af MAR. Læsning af ord i Constant Pool: Specificeres ved brug af rd. Ord der læses/skrives udpeges af MAR. Læsning af byte i Method Area: Specificeres ved brug af fetch. Byte der læses udpeges af PC.

51 Hop instruktioner Ubetingede hop: goto L På indholdet af MBR (JMPC=1): goto MBR Betingede hop: På N (JAMN = 1) ALU output negativt: if N goto L1; else goto L2 På Z (JAMZ = 1) ALU output 0 (Zero): if Z goto L1; else goto L2

52 Mikroassembler Oversætte symbolsk mikrokode til absolut mikrokode Problem: beregne absolutte adresser for labels under hensyntagen til: Mikroinstruktioner hvis placering er absolut (ordreafkodning). Betingede hop på N og Z. Resultat af oversættelse (512 x 36 bit) lægges ind i kontrollageret.

53 IJVM mikroprogrammet SCO figur 4.17

54 IJVM mikroprogrammet Fetch Decode Execute SCO figur 4.17

55 Invariant ved main1 PC udpeger den byte i Method Area, som indeholder instruktionskoden for den IJVM instruktion der skal afvikles MBR indeholder instruktionskoden for den IJVM instruktion, der skal afvikles, MBR=m[PC] SP udpeger det øverste ord på stakken LV udpeger det første ord i det aktuelle stakafsnit CPP udpeger det første ord i Constant Pool TOS indeholder det øverste ord på stakken, TOS=m[SP]

56 Eksempel: iadd Method Area: 0x60 0x10 0x2a 0x64 PC Opkode for næste instruktion Invariant: MBR=0x60, TOS=m[SP] Ønsker: SP b a SP a+b PC=PC+1 MBR=0x10 SP=SP-1 TOS=a+b

57 Eksempel: bipush Method Area: 0x60 0x10 0x2a 0x64 PC Opkode for næste instruktion Invariant: MBR=0x10, TOS=m[SP] Ønsker: SP a+b SP 0x2a a+b PC=PC+2 MBR=0x64 SP=SP+1 TOS=0x2a

58 Mic-1 værktøjer Beskrevet i Mic-1 Tools Manual MAL Mikroassembler Oversætte MAL programmer til absolut mikrokode: $ mic1-asm ijvm.mal ijvm.mic1 Mic-1 Simulator Afvikle IJVM programmer i bytekode format: $ mic1 ijvm.mic1 min.bc IJVM instruktioner fortolkes nu af mikroprogrammet.

59 IJVM mikroprogrammet Tilgængelig i filen ijvm.mal main: PC = PC + 1; fetch; goto (MBR) nop = 0x00: goto main iadd = 0x60: MAR = SP = SP - 1; rd H = TOS MDR = TOS = MDR + H; wr; goto main

60 Oversættelse til absolut mikrokode $ mic1-asm ijvm.mal ijvm.mic1 entry: : goto 0x002; 001: PC = PC + 1; goto 0x041; 002: PC = PC + 1; fetch; goto (MBR); 003: goto 0x045; 004: H = TOS; goto 0x005; 005: 00103c2140 MDR = TOS = H + MDR; wr; goto 0x002; 006: H = TOS; goto 0x007; 007: 00103f2140 MDR = TOS = MDR - H; wr; goto 0x002; 008: H = TOS; goto 0x009; 009: 00100c2140 MDR = TOS = H and MDR; wr; goto 0x002;

61 Eksempel IJVM program.method main.args 3.define a = 1.define b = 2 bipush 88 iload a iload b invokevirtual min ireturn $ ijvm-asm min.j min.bc main index: 0 method area: 40 bytes b ac b 00 0a a ac constant pool: 2 words e

62 Mic-1 simulator $ mic1 ijvm.mic1 min.bc Mic1 Trace of ijvm.mic1 with min.bc stack = 0, 1, 174, 53, 15 bipush 88 [10 58] stack = 88, 0, 1, 174, 53, 15 iload 1 [15 01] stack = 53, 88, 0, 1, 174, 53, 15 iload 2 [15 02] stack = 174, 53, 88, 0, 1, 174, 53, 15 invokevirtual 1 [b ] stack = 12, 13, 0, 174, 53, 21, 0, 1 iload 1 [15 01] stack = 53, 12, 13, 0, 174, 53, 21, 0 iload 2 [15 02] stack = 174, 53, 12, 13, 0, 174, 53, 21 isub [64] stack = -121, 12, 13, 0, 174, 53, 21, 0 iflt 10 [9b 00 0a] stack = 12, 13, 0, 174, 53, 21, 0, 1 return value: 53

63 Mic-1 simulator %>mic1 b istore ijvm.mic1 min.bc Mic1 Trace of ijvm.mic1 with min.bc stack = 0, 1, 174, 53, 15 bipush 88 [10 58] stack = 88, 0, 1, 174, 53, 15 iload 1 [15 01] stack = 53, 88, 0, 1, 174, 53, 15 iload 1 [15 01] stack = 53, 12, 13, 0, 174, 53, 21, 0 istore 3 [36 03] MAR=23 MDR=53 PC=35 MBR=54 MBRU=54 SP=23 LV=17 CPP=10 TOS=53 OPC=23 H=17 0x002: PC = PC + 1; fetch; goto (MBR); MAR=23 MDR=53 PC=36 MBR=54 MBRU=54 SP=23 LV=17 CPP=10 TOS=53 OPC=23 H=17 0x036: H = LV; goto 0x01d; MAR=23 MDR=53 PC=36 MBR=3 MBRU=3 SP=23 LV=17 CPP=10 TOS=53 OPC=23 H=17 iload 3 [15 03] stack = 53, 12, 13, 53, 174, 53, 21, 0

64 Mikroarkitektur: Mic-1 CPU registre kontrolenhed fetch- decode- Execute af IJVM instruktioner beregningsenhed

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroprogrammering Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Mikroprogrammering: IJVM implementeret på Mic-1 Forbedringer af Mic-1 Metode til udvikling af symbolske maskinsprogsprogrammer

Læs mere

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Level 1: Mikrokode niveauet Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation

Læs mere

Eksamen dcomnet Q2/2010. Navn

Eksamen dcomnet Q2/2010. Navn 2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx

Læs mere

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn

Eksamen dcomnet Q2/2012. Studiekortsnummer Navn Eksamen dcomnet Q2/2012 Studiekortsnummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes. Der er ét rigtigt

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

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1 Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,

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

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn Computerarkitektur Eksamen 2014Q3 Niels Olof Bouvin Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

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

Computerarkitektur Eksamen 2014Q2. Niels Olof Bouvin A. Studienummer Navn Computerarkitektur Eksamen 2014Q2 Niels Olof Bouvin A Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

Eksamen Computerarkitektur 2013Q4. Niels Olof Bouvin. Studienummer Navn

Eksamen Computerarkitektur 2013Q4. Niels Olof Bouvin. Studienummer Navn Eksamen Computerarkitektur 2013Q4 Niels Olof Bouvin Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

Computere og Netværk (dcomnet)

Computere og Netværk (dcomnet) Computere og Netværk (dcomnet) http://www.cs.au.dk/dcomnet Jens Kargaard Madsen (jkm@iha.dk) Jens Bennedsen (jbb@iha.dk) dcomnet 1 Computere og netværk Beskrivelse At give den studerende kendskab til computere

Læs mere

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

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

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

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

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

Introduktion til Computerarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Introduktion til Computerarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Introduktion til Computerarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Formål med dagens forelæsning Kurset læringsmål og emner folk og form eksamen Området maskinarkitektur 2

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Mikroarkitektur: Mic-1 Digitale kredsløb Logiske tilstande: 0 (0-1 V), 1 (2-5 V) Mikroarkitektur: Mic-1 Kombinatoriske kredsløb Logiske tilstande: 0 (0-1

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

Design af et ISA. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Design af et ISA. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Design af et ISA Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level 2: Maskinniveau (ISA) Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation

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

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

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Digitale kredsløb Logiske tilstande: (- V), (2-5 V) Kombinatoriske kredsløb Logiske tilstande: (- V), (2-5 V) Registre Logiske tilstande: (- V), (2-5

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

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

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

program fibomain(input,output); var i, j,result : integer; var x, y: integer;

program fibomain(input,output); var i, j,result : integer; var x, y: integer; program fibomain(input,output); var i, j,result : integer; procedure fib(n : integer); var x, y: integer; begin if (n=0) or (n=1) then result := 1 else begin fib(n-1); x:= result; fib(n-2); y:= result;

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

Lageradministration Paging og segmentering

Lageradministration Paging og segmentering Lageradministration Paging og segmentering 1 Re: Logiske/fysiske adresser... Proces-struktur = kode og data for en proces 4G En proces tilgår sin proces-struktur via et logisk/virtuelt adresserum, fx 0,

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

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003 Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,

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

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

Chapter. Information Representation

Chapter. Information Representation Chapter 3 Information Representation (a) A seven-bit cell. Figure 3. Figure 3. (Continued) (b) Some possible values in a seven-bit cell. Figure 3. (Continued) 6 8 7 2 5 J A N U A R Y (c) Some impossible

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

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

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

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

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

Læs mere

Processer og tråde. dopsys 1

Processer og tråde. dopsys 1 Processer og tråde dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne) hhv. små systemer: Multiprogrammering og time-sharing (fra 60 erne og frem): dopsys

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

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester

INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 7 Eksamenstermin: DECEMBER 2003 / JANUAR 2004 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir

Læs mere

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

//--------------------------------- Definition af porte og funktioner -------------------------

//--------------------------------- Definition af porte og funktioner ------------------------- Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

Boligsøgning / Search for accommodation!

Boligsøgning / Search for accommodation! Boligsøgning / Search for accommodation! For at guide dig frem til den rigtige vejledning, skal du lige svare på et par spørgsmål: To make sure you are using the correct guide for applying you must answer

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato: Side 1 af 13 Dato: 03-06-03 Til Sigurd Som aftalt får du nu tilbygningen til 80C535 kittet, keyboard og programmet med programopdatering. Den sidste opgave her, gik så ud på at tilslutte et tastatur, og

Læs mere

SIMD. 2.1 Computation Reuse [1] Memoization [2] Nagoya Institute of Technology. Nara Institute of Science and Technology

SIMD. 2.1 Computation Reuse [1] Memoization [2] Nagoya Institute of Technology. Nara Institute of Science and Technology 1 1 1 2 1. SIMD 1 CPU [1] 1 Nagoya Institute of Technology 2 Nara Institute of Science and Technology 2. 2.1 Computation Reuse Memoization [2] c 2017 Information Processing Society of Japan 1 [3] Auto-

Læs mere

Operativsystemer - dopsys

Operativsystemer - dopsys Operativsystemer - dopsys Erik Ernst eernst@cs.au.dk dopsys 1 Q/A Mange deltagere er nu på 2. år af datalogistudiet, med dcomnet 1 for år siden Er din baggrund anderledes? dopsys 2 Praktiske oplysninger

Læs mere

Processer og koordinering. dopsys 1

Processer og koordinering. dopsys 1 Processer og koordinering dopsys 1 Motivation.. parallelle processer udnytter hardwaren bedre: Batch operativsystemer (50 erne): Multiprogrammering og time-sharing (60 erne): dopsys 2 Motivation.. parallelle

Læs mere

Koordinering. dopsys

Koordinering. dopsys Koordinering At indføre flertrådethed (1) når tråde tages i brug opstår typisk konflikter (et velkendt eksempel er errno ) 2 At indføre flertrådethed (2) en del konflikter kan afhjælpes med thread-local

Læs mere

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik Peter Kellberg Rundt om Danmarks Statistiks makroer Design, Standardisering, Teknik SAS Forum 2009 Ét makrobibliotek ca 50 makroer, vi selv har lavet mange andre fx CLAN Autocall makroer en makro er et

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

Online kursus: Programming with ANSI C

Online kursus: Programming with ANSI C Online kursus 365 dage DKK 1.999 Nr. 90198 P ekskl. moms Denne kursuspakke giver dig et bredt kendskab til sproget C, hvis standarder er specificeret af American National Standards Institute (ANSI). Kurserne

Læs mere

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

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

Læs mere

Internt interrupt - Arduino

Internt interrupt - Arduino Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt

Læs mere

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1]

Grundlæggende Algoritmer og Datastrukturer. Analyseværktøjer [CLRS, 1-3.1] Grundlæggende Algoritmer og Datastrukturer Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

Pentium IA-32 Maskinarkitekturen

Pentium IA-32 Maskinarkitekturen Pentium IA-32 Maskinarkitekturen 1 Historie (1) Starter i 1970 med udviklingen af Intel 4004: 2 Historie (2) Baglæns kompatibilitet tilbage til 8086. 3 Intel 4004 and Pentium 4 http://www.intel.com/museum/archives/index.htm

Læs mere

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer : Ydre enheder og multiprogrammer Forår 2003 Jørgen Sværke Hansen Planen for idag Samspil mellem CPU og ydre enheder: Generelt Kontrolregistre Afbrydelser Specifikt for Alpha AXP (kernemaskinerne) Multiprogrammering:

Læs mere

Lageradministration Intel Pentium og Unix/Linux

Lageradministration Intel Pentium og Unix/Linux Lageradministration Intel Pentium og Unix/Linux 1 Lageradministration Multiprogrammering Håndtering af flere procesbilleder i lageret Virtuelt lager og swapping Gennemsigtig udnyttelse af disk som udvidelse

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

up/ansi Eksamensspørgsmål

up/ansi Eksamensspørgsmål Side af 3 Dato: 26-06-2003 up/ansi Eksamensspørgsmål Spørgsmål : Erklæring af variable Skal placeres i første blok kan også placeres blandt erklæringer / definitioner af funktioner, dette er dog IKKE klogt.

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

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

DM13-1. Obligatoriske Opgave - Kredsløbs design

DM13-1. Obligatoriske Opgave - Kredsløbs design DM13-1. Obligatoriske Opgave - Kredsløbs design Jacob Christiansen moffe42@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 1. Opgaven Opgaven består i at designe et kredsløb,

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

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm. Computer Literacy Computer Literacy handler om at forstå hvad computer (hardware) og software kan gøre. Denne præsentation fokuserer kun på hardware februar 2002 Computerliteracy -hardware (15 dias) 1

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

Engineering of Chemical Register Machines

Engineering of Chemical Register Machines Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.uni-jena.de 2. June 2008 Outline 1 Motivation Goal Realization

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

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

Algoritmer og invarianter

Algoritmer og invarianter Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

Læs mere

3D NASAL VISTA TEMPORAL

3D NASAL VISTA TEMPORAL USER MANUAL www.nasalsystems.es index index 2 I. System requirements 3 II. Main menu 4 III. Main popup menu 5 IV. Bottom buttons 6-7 V. Other functions/hotkeys 8 2 I. Systems requirements ``Recommended

Læs mere

Verilog HDL. Presented by: Amir Masoud Gharehbaghi

Verilog HDL. Presented by: Amir Masoud Gharehbaghi Verilog HDL Presented by: Amir Masoud Gharehbaghi Email: amgh@mehr.sharif.edu Design Hierarchy Design Specification & Requirements Behavioral Design Register Transfer Level (RTL) Design Logic Design Circuit

Læs mere

Egenskaber for ROM/RAM

Egenskaber for ROM/RAM Egenskaber for ROM/RAM Preben Holm 5-3-3 En ROM-kreds kan lagre nogle data, men disse data kan ikke ændres. Man siger at kredsen har n input og b output. Input s er kaldet adresse ben (f.eks....a5) og

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =

Læs mere

Filsystemer: Anvendelse. dopsys

Filsystemer: Anvendelse. dopsys Filsystemer: Anvendelse 1 Lageret er hierarkisk - Fokus: disk Sekundært lager er nødvendigt: Data i RAM forsvinder når processer terminerer o.lign. Og der er også brug for pladsen 2 Lageret er hierarkisk

Læs mere

Sammenlign og byt. Et eksempel på dokumentering af et program

Sammenlign og byt. Et eksempel på dokumentering af et program Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver

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

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige

Læs mere

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

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Det Digitale Niveau Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level : Det digitale niveau Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level

Læs mere

DM507 Algoritmer og datastrukturer

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

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

3D NASAL VISTA 2.0

3D NASAL VISTA 2.0 USER MANUAL www.nasalsystems.es index index 2 I. System requirements 3 II. Main menu 4 III. Main popup menu 5 IV. Bottom buttons 6-7 V. Other functions/hotkeys 8 2 I. Systems requirements ``Recommended

Læs mere

Kernealphaerne Indhold af G1

Kernealphaerne Indhold af G1 Kernealphaerne Indhold af G1 3 små opgaver: 1. Oversæt en kerne og afvikl den på en kernealpha 2. Håndoversæt en C/C++ funktion til alpha assembler 3. Implementer procedurer til dynamisk lagerallokering

Læs mere

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal

Algoritmer og Datastrukturer 1. Gerth Stølting Brodal Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Design af Algoritmer Korrekt algoritme 1) algoritmen standser på alle input 2) Output er det rigtige på alle input Effektivitet 1) Optimer algoritmerne

Læs mere

Algoritmer og Datastrukturer 1

Algoritmer og Datastrukturer 1 Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1] Eksempler på en beregningsprocess Puslespil ved ombytninger Maximum delsum Hvad er udførselstiden for en algoritme? Maskinkode

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer. API for sekventiel tilgang (API = Application

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Planen for idag. Indhold af G1. Kernealphaerne. Alpha erne. Datalogi 1F Forår 2003

Planen for idag. Indhold af G1. Kernealphaerne. Alpha erne. Datalogi 1F Forår 2003 Planen for idag Datalogi 1F Forår 2003 G1 Et gensyn med KFirst G1 Jørgen Sværke Hansen cyller@diku.dk 2 Sidst så vi hvordan man starter den første proces KCurProc = KWaitQ.Get(); KFirst(KCurProc->sp);

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

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Virtuel Hukommelse. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Virtuel Hukommelse 1 Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Formålet med virtuel hukommelse Organisering af virtuel hukommelse Håndtering af virtuel hukommelse 2 Minimal computerarkitektur

Læs mere

Part 5 Leisure Time and Transport

Part 5 Leisure Time and Transport Part 5 Leisure Time and Transport Lesson 3 Situation and Listen & Practice Situation Line and Louise are colleagues. They meet at a café before work. Line is late because h bike had a puncture on the way.

Læs mere

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere

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

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

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer Maskinsprog Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, kap. 3 Programmer og ordrer Ordretyper Operander og deres placering Ordreformat Procedurekald Andre arkitekturer 1 Stored-program

Læs mere

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. APPETITVÆKKEREN OZ6YM, Palle A. Andersen Efteråret 2017 Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. DEMO-video

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

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer

Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt

Læs mere

ARP og ICMP. - service protokoller, som vi ikke kan undvære! Netteknik 1

ARP og ICMP. - service protokoller, som vi ikke kan undvære! Netteknik 1 ARP og ICMP - service protokoller, som vi ikke kan undvære! Netteknik 1 ARP & ICMP Protokoller, som udfører forskellige servicefunktioner på og imellem OSI lagene 2 og 3 Type Code Checksum Type-specific

Læs mere