1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Størrelse: px
Begynne med side:

Download "1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte"

Transkript

1 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte

2 ISA (5) 2

3 Instruksjonsformat kort/langt 3

4 Adresseringsmodi 4

5 Instruksjonstypar I/O avbrudd 5

6 Avbrudd: Kva og korleis ISA-definert 6

7 Avbrudd (Interrupt, Irq) 7 IR CPU PC intr request intr ack data/address status reg data reg mechanism Kva som skjer definert på ISA nivå Som programerarar må me vite dette for å kunne lage program Avbruddshantering krever maskinvare Handtering: styreeining Avbrudsinformasjon register

8 Avbrudd (f.eks) Programmering av I/O: 8 Busy-wait CPU test status of I/O (løkke/loop) CPU utfører løkke til aktuell status endring oppstår I løkke les status til I/O eining loopstart Read keyboard status if keypressed goto selectaction loopend selectaction if key = x do. if key = y do. : goto loopstart

9 Avbrudd Programering av I/O: 9 Busy-wait CPU test status of I/O (løkke/loop) CPU utfører løkke til aktuell status endring oppstår I løkke les status til I/O eining Interrupt Eining gir signal til CPU ved behov CPU kan utføre andre oppgåver CPU har innebygde mekanismar for å detektere å handtere avbrudd

10 Avbrudd: Grensesnitt (internt externt) 10 IR CPU PC intr request intr ack data/address status reg data reg mechanism Device request CPU CPU receive Irq input signal CPU acknowledge request Utfør kode for avbrudd F.eks Data transferee (CPU <-> device)

11 8051 register bruk 11

12 Minnemodell 8051 (minnekart) 12

13 Avbrudd register 13 Interrupt vector Adresse CPU hoppar til ved avbrudd Avbudskode eller ei ny adresse som peikar på koden Interrupt register Register der kvar avbrudskjelde kan setje eit bit (sett ved avbrudd) Interrupt mask register Register der ein kan skru av og på kvart enkelt avbrudd Maskable interrupt NMI (NonMaskable Interrupt) Kan ikkje maskerast Interrupt priority register(s) Register der det er mogleg å prioritere avbrudd Ved samtidig avbrudd frå fleire kjelder er rekkefølgjen av avbrudda gitt I dette registeret NMI (NonMaskable Interrupt) alltid høgast (kan ikkje endrast)

14 Interupts vector 14 Internt register Adressa til interrupt kode Adressa til koden som skal utførast Adressa til interrupt handler 8051 interrupts: Interrupt Flag Interrupt Handler Address External 0 IE0 0003h Timer 0 TF0 000Bh External 1 IE1 0013h Timer 1 TF1 001Bh Serial RI/TI 0023h

15 Interupts vector 15 0x

16 Interupts vector 16 0x x x x

17 Interupts vector 17 CPU har mange avbrudskjelder Mulige kjelder Irq Asynchronous serial port Synchronous serial port Bus logic Timer General purpose Irq-line(s) (external) NMI Prosessor kan definere vector for kvart avbrudd Prosessor kan definere ein vector for IRQ-kode (SW) Fleireavbrudd kan dele eit fysisk avbrudd

18 Interupts register 18 Tre kjelder vist RS232 Serial receive device (RS232 R) RS232 Serial transmit device (RS232 T) Timer Kvar kan gi avbrudd, avbrudd set flag I interrupt register: IrqAsR IrqAsT IrqTimC

19 Interupts register Signal til CPU kontrolllogikk: Interrupt detektert Interrupt register Kvart Irq kan setje eit bit Kan lese registeret for å finne ut kva avbrudd som er aktivt 19 Til CPU-kontroll logikk

20 Interupts mask register Enable/disable interrupts Kan disable midlertidig for å ikkje å få avbrudd i avbrudd Bit I register 1 Irq enable, 0 disable 20 Irq-mask register IrqAsR IrqAsT IrqXX IrqXX IrqXX IrqXX IrqXX IrqTimC Irq-register IrqAsR IrqAsT IrqXX IrqXX IrqXX IrqXX IrqXX IrqTimC Logic Logic Logic Shift Register Shift Register Timer register CLK CLK RS232 R RS232 T Timer CLK

21 Avbrudd prioritering 21

22 Avbrudd prioritering 22

23 Interupts priority register Brukast for å prioritere kva som er viktigaste kjelde 23 Irq-priority register IrqAsR IrqAsT IrqXX IrqXX IrqXX IrqXX IrqXX IrqTimC Irq-mask register IrqAsR IrqAsT IrqXX IrqXX IrqXX IrqXX IrqXX IrqTimC Irq-register IrqAsR IrqAsT IrqXX IrqXX IrqXX IrqXX IrqXX IrqTimC Logic Logic Logic Shift Register Shift Register Timer register CLK CLK RS232 R RS232 T Timer CLK

24 Interupts priority register 24 F.eks: IrqAsR level 2 IrqAsT level 3 IrqTimC level 4 NMI level 0 (alltid)

25 Interupts programming Initialization of programm Set interrupt priority as needed Mask out interrupts that is not in use 25

26 Irq: Program running Ved interrupt (CPU): PC stored Status register stored JMP Irq vector read Irq-register (user) LDA Irq-register Disable Irq? Write Irq mask register Mask register BEQ receive, IrqAsR BEQ transmit, IrqAsT BEQ Timer, IrqTimC Return from Irq-routine restore PC, status (CPU) restore status register Clear Irq bit Write to Interrupt register Enable interrupt Write to Interrupt mask register 26

27 Avbrudd (utføring) 27

28 Flytkontrol (flow control) 28

29 Flytkontrol (flow control) 29

30 Abstraksjonar bryt saman 30

31 Prosedyre 31

32 Prosedyre (stack) 32

33 Prosedyre oppsummering 33

34 Ko-rutiner 34

35 Trap 35

36 Ferdig, manglar litt bits & pices 36 Kva no? Manglar nokre små ting Avhengigheitar Flyttal Div snusk MEN NO: Snu på hovude (ned opp (eller opp ned) Reversert gjennom det Prøve å knytte saman med nokre eksempel

37 Har introdusert 6 nivå 37

38 For å få samanheng: 38

39 Nokre endringar 39 IJVM Assambly

40 Nokre endringar 40 IJVM Assambly

41 Ein slags Top-down av pensum 41 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Ønskjer ei maskin å køyre program på EIT program: Assambly) Bryr oss ikkje med OS-ting (traps, korutiner osv) Må definere ISA Insruksjonsformat Minnemodell Instruksjonsset Maskin: Må ha ein Mikroarkitektur Lage ein prosessorarkitektur Støtte instruksjonar: kunne utføre (effektivt) alle inst. på ISA-nivå Handtering av minne Konstruere mikroarkitektur på digitalt logisk nivå Datapath (utførandeiningar) Control (styreeining) (Realisere prosessoren i silisium)

42 ISA Instruction Set Architecture 42 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Går gjennom JAVA (forenkla her) Kva instruksjonar må/bør/kjektogha for å kunne køyre bytecode MÅ: Minne operasjonar (datatransport) Aritmetiske operasjonar Logiske operasjonar Betinga hopp Ubetinga hopp Også: Methode Utvida bitbredde (utvida instruksjonsbredde) NOP

43 ISA Instruction Set Architecture (5) 43 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Må definere ISA Insruksjonsformat Minnemodell Instruksjonsset

44 Datatype: Heiltal, IntegerJavaVM 44

45 ISA Instruction Set Architecture 45 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Må definere ISA Insruksjonsformat Kva er effiktivt Minnemodell Korleis skal data hentast lagrast og mellomlagrast? Instruksjonsset Instruksjonar mot minne og datapath

46 ISA Instruction Set Architecture 46 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Insruksjonsformat: Undersøker IJVM behov, Kan klare oss med 1 adresse instruksjonar 0 adresse instruksjonar

47 47

48 48

49 Minne modell Utfrå behov i x-adresseinstruksjonar Utfrå IJVM program (feks methodar (korutiner)) STACK maskin Gir minnemodell 49

50 Minne modell og 0/1-adresseinstruksjonar Ingen direkte minneadresser er synlege men: Definerar korleis minne akseserast med register Desse registera manipulerar me aldri direkte PC LV SP CPP 50

51 Minne modell og 0/1-adresseinstruksjonar Ingen direkte minneadresser er synlege men: Definerar korleis minne akseserast med register Desse registera manipulerar me aldri direkte PC LV SP CPP Men indirekte Skjult for programerar, men nyttar Immidiate Register indirekte 51

52 Immediate adressering 52

53 Register-indirekte adressering 53

54 Har då: Datatype: Integer 0-adresse og 1-adresse instruksjonar Minnemodel: Stackmaskin Implisit adresering Immidiate Register imidiate 54 Kan lage oss eit instruksjonsset

55 ISA Instruction Set Architecture 55 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Går gjennom JAVA (forenkla her) Kva instruksjonar må/bør/kjekt å ha for å kunne køyre bytecode MÅ: Minne operasjonar datatransport (huks at minne er minne, register, mem osv) Aritmetiske operasjonar Logiske operasjonar Betinga hopp Ubetinga hopp Bør: Methode Utvida bitbredde (utvida instruksjonsbredde) NOP

56 ISA Instruction Set Architecture Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack ERR N/A Print an error message and halt the simulator GOTO label name Unconditional jump HALTN /A Halt the simulator IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equa INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing OUTN /A Pop word off stack and print it to standard out POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index 56

57 Instruksjonstypar datatransport 57

58 Instruction Set: datatransport Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equa INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index 58

59 Instruksjonstypar datamanipulering59

60 Instruction Set: Aritmetiske operasjonar 60 Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equali INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index

61 Instruction Set: Logiske operasjonar Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than z Pop two words from stack and branch if they are e INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit inde 61

62 Instruksjonstypar betingahopp 62

63 Instruction Set: Betingahopp Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equali INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index 63

64 Instruction Set: Ubetingahopp Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than z Pop two words from stack and branch if they are e INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit inde 64

65 Instruksjonstypar prosedyrekall 65

66 Instruction Set: Methode (pross. kall) Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than z Pop two words from stack and branch if they are e INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit inde 66

67 Instruction Set: Andre Mnemonic Operands Description BIPUSH byte Push a byte onto stack DUPN /A Copy top word on stack and push ontostack GOTO label name Unconditional jump IADDN /A Pop two words from stack; push their sumi ANDN /A Pop two words from stack; push Boolean AN DIFEQ label name Pop word from stack and branch if it is zero IFLT IF_ICMPEQ label name label name Pop word from stack and branch if it is less than zero Pop two words from stack and branch if they are equal INC byte Add a constant value to a local variable ILOAD variable name Push local variable onto stack INVOKEVIRTUAL method name Invoke a methodi ORN /A Pop two words from stack; push Boolean OR IRETURNN /A Return from method with integer value ISTORE variable name Pop word from stack and store in local variable ISUBN /A Pop two words from stack; push their difference LDC_Wconstant name Push constant from constant pool onto stack NOPN /A Do nothing POPN /A Delete word from top of stack SWAPN /A Swap the two top words on the stack WIDEN /A Prefix instruction; next instruction has a 16-bit index 67

68 Har då: Datatype: Integer 68 0-adresse og 1-adresse instruksjonar Minnemodel: Stackmaskin Instruksjonsset

69 Neste gong 69 Fredag 11/11 ISA: frå ISA til microarkitektur og vidare til digital logikk

70 Instruksjonstypar DMA 70

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte Ein slags Top-down av pensum 2 Kva ønskjer me? Har eit høgnivåspråk JAVA (forenkla til Integer Java) Ønskjer ei maskin å køyre program på EIT program:

Detaljer

Forelesning ISA: IJVM Kap 4.2

Forelesning ISA: IJVM Kap 4.2 TDT4160 Datamaskiner Grunnkurs Forelesning 27.10 ISA: IJVM Kap 4.2 Dagens tema Repetisjon: ISA vs. mikroarkitektur ISA: IJVM (4.2) Lagring av lokale variable Minnemodell Instruksjonssett Metodekall Kompilering

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Ny Arkitektur: IJVM 4 Instruksjonsett Stack basert 5 Mikroprogramm 0001010010000000000000111 001111000000010000001000

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Kapittel 4: Microarchitecture level Nivå mellom Under Instruction Level Architecture (ISA) Over Digital logic

Detaljer

Fortsetelse Microarchitecture level

Fortsetelse Microarchitecture level 1 Fortsetelse Microarchitecture level 2 Kva kan datamaskiner (frå 1. forelesing) Aritmetiske Logiske funksjonar Flytte data frå ein plass til ein anna Test er eit tal 0? Gjere desse operasjonane FORT Berekne

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Auka yting IJVM 4 IJVM: MicrArch vs Instruction Set Architecture Instruksjonsset: Minnemodell: MIC 1 MIC 2 ISA

Detaljer

Forelesning Mikroprogram for IJVM Kap 4.3

Forelesning Mikroprogram for IJVM Kap 4.3 TDT4160 Datamasiner Grunnurs Forelesning 31.10 Miroprogram for IJVM Kap 4.3 Dagens tema Repetison: IJVM Miroaritetur IJVM-Instrusoner Registerbru Miroprogram for IJVM (4.3) Micro Assembly Language (MAL)

Detaljer

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Forelesning Instruksjonstyper Kap 5.5

Forelesning Instruksjonstyper Kap 5.5 TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler

Detaljer

Fortsetelse Microarchitecture level

Fortsetelse Microarchitecture level 1 Fortsetelse Microarchitecture level IJVM 2 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon

Detaljer

Kapittel 4: Microarchitecture level

Kapittel 4: Microarchitecture level 1 Kapittel 4: Microarchitecture level 2 Kapittel 4: Microarchitecture level 3 Kva er og Kva gjer Realisera Instruction Level Architecture (ISA) 4 Nivå 2: Instruksjonssetarkitektur (ISA) Instruksjonssettark.

Detaljer

Fortsetelse Microarchitecture level

Fortsetelse Microarchitecture level 1 Fortsetelse Microarchitecture level 2 Implementasjon Kva kan gjerast for å auke ytinga 3 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga

Detaljer

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 17. AUGUST, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Kapittel 4: Microarchitecture level 4 Kapittel 4: Microarchitecture level Nivå mellom Under Instruction Level

Detaljer

TDT DESEMBER, 2009, 09:00 13:00

TDT DESEMBER, 2009, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Forelesning Adresseringsmodi Kap 5.4

Forelesning Adresseringsmodi Kap 5.4 TDT4160 Datamaskiner Grunnkurs Forelesning 21.11 Adresseringsmodi Kap 5.4 Dagens tema Adresseringsmodi (5.4) Hva? Gjennomgang av 6 forskjellige modi Bruk av stakk Eksempler Repetisjon: Instruksjonsformat

Detaljer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 18 Faglig kontakt under eksamen: Magnus Jahre (952 22 309) EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Detaljer

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 16. DESEMBER, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

DM6814/DM5814 User s Manual

DM6814/DM5814 User s Manual (Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt

Detaljer

INF1400 Kap4rest Kombinatorisk Logikk

INF1400 Kap4rest Kombinatorisk Logikk INF4 Kap4rest Kombinatorisk Logikk Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU FIFO Stack En minimal RISC - CPU Komparator Komparator sammenligner to tall A og B 3

Detaljer

TDT4160 15. AUGUST, 2011, 09:00 13:00

TDT4160 15. AUGUST, 2011, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Maskinvaredelen av INF 103: oversikt og innhold (1)

Maskinvaredelen av INF 103: oversikt og innhold (1) Maskinvaredelen av INF 3: oversikt og innhold () Boolsk algebra: Regning med og, og AND, OR og NOT Analyse og design av logiske kretser: AND, OR og NOT som byggeblokker Hukommelse og sekvensiell logikk:

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 Dagens forelesing Kapittel 1 Datamaskinsystem Kapittel 2 start 3 Gunnar Fakta Datamaskingruppa Biologisk inspirerte system: Unconvential Computing Machines

Detaljer

TDT DESEMBER, 2008, 09:00 13:00

TDT DESEMBER, 2008, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS EKSAMEN 17. DESEMBER, 2012, 09:00 13:00 Kontakt under eksamen:

Detaljer

Introduksjon til DARK assembly

Introduksjon til DARK assembly Introduksjon til DARK assembly Magnus Jahre Institutt for datateknikk og informasjonsvitenskap 2 Plan Assembly vs. Java Dark stakkmaskin Oversikt over stakkmaskinen Dark stakkmaskin eksempel Dark Load-Store

Detaljer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 12 Faglig kontakt under eksamen: Magnus Jahre (952 22 309) EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Detaljer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Bussar og busshierarki Tape Optical Bus 3 CPU og buss komunikasjon Tape Optical Bus 4 Buss linjer Bus Adr/data Bit 0 Adr/data Bit 1 Adr/data Bit 2 Adr/data

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 I dag Kva er inni 8051, P4 og UltraSparc Digital logic level (start kapitel 3) VIKTIG MELDING Alle som har brukt NTNU-passord for AoC pålogging må skifte

Detaljer

TDT AUGUST, 2015, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT AUGUST, 2015, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 6. AUGUST, 215, 9: 13: Kontakt under eksamen: Odd Rune

Detaljer

ANSWER KEY FOR THE EXAM

ANSWER KEY FOR THE EXAM ANSWER KEY FOR THE EXAM Page 1 of 19 OPPGÅVE 1: DIGITALTLOGISKNIVÅ (25% (10% PÅ A OG B; 5% PÅ C)) a. I figur 1 er EPROM og RAM kopla til ein felles buss. Finn adresseområde for EPROM og RAM og teikn minnekart.

Detaljer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Kapittel 3: Digital logic level

Kapittel 3: Digital logic level 1 Spørjetime 2008 2 Spørsmål (botn opp) Fulladder, halvadder etc Avbrudahandtering 1 Adressedekoding Generelle I/O-berekningar (rekne klokke antal bit) DMA Arbitrering IJVM (litt om alt) IJVM-mikroprogramm

Detaljer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 18 Faglig kontakt under eksamen: Magnus Jahre (952 22 309) EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 Dagens forelesing Kven er Eg? Kva gjer eg Kva kan eg TDT4160 2008 Fagstab Førelesningar Øvingar Pensum Kvifor Datamaskiner Grunnkurs Kva kan datamaskiner

Detaljer

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9 IT1101 Informatikk basisfag, dobbeltime 11/9 Hittil: sett på representasjon av informasjon og manipulering av bits i kretser Idag: hever oss til nivået over og ser på hvordan program kjører i maskinen

Detaljer

TDT4258 Eksamen vår 2013

TDT4258 Eksamen vår 2013 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 5. Diverse komponenter/større system Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall

Detaljer

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

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl. 09.00 13.00 Side 1 av 13 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN

Detaljer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4431 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

TDT4160 8. AUGUST, 2009, 09:00 13:00

TDT4160 8. AUGUST, 2009, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Dagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter.

Dagens tema. LC-2 LC-2 er en «ekstrem-risc»; den har 16 instruksjoner og 3 adresseringsmåter. Dagens tema Mer programmering i assemblerspråk Masking Hopp, tester og flagg Varianter over ld og st Vektorer og tekster Rutiner Stakker Programmering i assembler Dere kjenner sikkert den gamle gåten:

Detaljer

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO

Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke

Detaljer

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

EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS. D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I FAG TDT4160 DATAMASKINER GRUNNKURS Faglig kontakt under eksamen: Jon Olav

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

TDT4160 AUGUST, 2008, 09:00 13:00

TDT4160 AUGUST, 2008, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

IN1020. Datamaskinarkitektur

IN1020. Datamaskinarkitektur IN1020 Datamaskinarkitektur Hovedpunkter Von Neumann Arkitektur BUS Pipeline Hazarder Intel Core i7 Omid Mirmotahari 4 Von Neumann Arkitektur John von Neumann publiserte i 1945 en model for datamaskin

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 19.09.2006 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

TDT DESEMBER, 2009, 09:00 13:00

TDT DESEMBER, 2009, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Instruksjonsettarkitektur 2 Knut Nygård / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University

Detaljer

Kap. 8 del 1 kodegenerering INF5110 Vår2007

Kap. 8 del 1 kodegenerering INF5110 Vår2007 Kap. 8 del 1 kodegenerering INF5110 Vår2007 Stein Krogdahl, Ifi UiO Forelesninger framover: Tirsdag 8. mai: Vanlig forelesning Torsdag 10. mai: Ikke forelesning Tirsdag 15. mai: Vanlig forelesning (siste?)

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

ANSWER KEY FOR THE EXAM

ANSWER KEY FOR THE EXAM ANSWER KEY FOR THE EXAM Page 1 of 19 OPPGÅVE 1: DIGITALTLOGISKNIVÅ (25% (10% PÅ A OG B; 5% PÅ C)) a. I figur 1 er EPROM og RAM kopla til ein felles buss. Finn adresseområde for EPROM og RAM og teikn minnekart.

Detaljer

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner

Dagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner Dagens tema Dagens tema Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Rasko-kode Raskas-kode Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Kompilator rusc

Detaljer

Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk

Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk Institutt for datateknikk og informasjonsvitenskap Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk Fagleg kontakt under eksamen: Gunnar Tufte Tlf.: 97402478 Eksamensdato: 28 november 2016 Eksamenstid

Detaljer

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? 1 oppgave 1 Hvorfor har

Detaljer

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.

En overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode. Dagens tema Dagens tema Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Kompilator rusc raskas Rasko-kode 401020000000001...

Detaljer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013

Detaljer

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer. Dagens tema Dagens tema Charles Babbage Datamaskinenes historie maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner kode kode Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

Detaljer

Hvorfor lære om maskinvare*?

Hvorfor lære om maskinvare*? Litt om maskinvare Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende

Detaljer

TDT4160 2. DESEMBER, 2011, 09:00 13:00

TDT4160 2. DESEMBER, 2011, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Dagens forelesing Kven er Eg? Kva gjer eg Kva kan eg TDT4160 2011 Fagstab Førelesningar Øvingar Pensum Kvifor Datamaskiner Grunnkurs Kva kan datamaskiner

Detaljer

Dark Stakkmaskin. Aritmetiske instruksjoner

Dark Stakkmaskin. Aritmetiske instruksjoner Dark Stakkmaskin Figur 1: Stakk arkitektur i Dark Dette dokumentet beskriver arkitekturen til stakkmaskina som benyttes i Dark. Figur 1 viser hvordan maskinen ser ut. Det finnes et register i prosessoren,

Detaljer

C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1

C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 { F A G P R Ø V E N V Å R E N 1 9 9 9 Universitetet i Bergen Institutt for den Faste Jords Fysikk A D - K O R T P R O G R

Detaljer

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene? Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)

Detaljer

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 3: Digital logic level 3 Nivå 0: Digtalekretsar Fundamentale komponentar AND, OR, NOT,NAND, NOR XOR porter D-vipper for lagring av ett bit

Detaljer

SIE 4005, 9/10 (4. Forelesn.)

SIE 4005, 9/10 (4. Forelesn.) SIE 4005, 9/10 (4. Forelesn.) Tredje forelesning: 8.1 The control unit 8.2 Algorithmic state machines 8.3 Design example: Binary multiplier 8.4 Hardwired Control Fjerde forelesning: litt repetisjon 8.4

Detaljer

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

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00 Side 1 av 11 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN

Detaljer

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt

INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden

Detaljer

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum.

4/5 store parallelle maskiner /4 felles hukommelse in 147, våren 1999 parallelle datamaskiner 1. når tema pensum. Parallellitet når tema pensum 27/4 felles hukommelse 9.2 9.3 4/5 store parallelle maskiner 9.4 9.6 in 147, våren 1999 parallelle datamaskiner 1 Tema for denne forelesningen: kraftigere enn én prosessor

Detaljer

Kap. 8 del 1 kodegenerering INF april, 2008

Kap. 8 del 1 kodegenerering INF april, 2008 Kap. 8 del 1 kodegenerering INF5110 22. april, 2008 Stein Krogdahl, Ifi UiO Forelesninger framover: Torsdag 24 april: Ikke forelesning Tirsdag 29. april: Vanlig forelesning Torsdag 1. mai: Fridag Tirsdag

Detaljer

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen 1 Bussar Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen 2 Buss tilkopling Bus Adr/data Bit 0 Adr/data Bit 1 Adr/data Bit

Detaljer

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 OG IT2201 DATAMASKINER

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start

Detaljer

Intel Core i7. Omid Mirmotahari 4

Intel Core i7. Omid Mirmotahari 4 INF2270 Pipeline Hovedpunkter Oppsummering av én-sykel implementasjon Forbedring av én-sykel designet Introduksjon til pipelining Oppbygning av datapath med pipelining Intel Core i7 Omid Mirmotahari 4

Detaljer

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

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning 9: Instruksjonsettarkitektur 3 Knut H. Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Enkoder/demultiplekser (avslutte fra forrige gang)! Kort repetisjon 2-komplements form! Binær addisjon/subtraksjon!

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied

Detaljer

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Eivind Gard Lund 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen Informasjon Semantikksjekk Kodegenerering Oblig 2 tilgjengelig på kurssiden Bygger på deres oblig 1 kode. Det er lagt ut

Detaljer

TwidoSuite kommunikasjon

TwidoSuite kommunikasjon TwidoSuite kommunikasjon TwidoSuite kursunderlag: Kommunikasjon via Modbus seriell, Ethernet, Remote link, ASCII, CanOpen og AS-i. Macroer for kommunikasjon Modbus 2 Modbus port Bruk programmeringsporten

Detaljer

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Stein Krogdahl, Ifi UiO NB: Innfører noen begreper som først og fremst har mening om man skal gå videre med

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Lager 2.1 2.2 Hard disc Tape storage RAM Module Optical disc Register bank Core memory 3 Ein-prosessor maskin 4 Lager og prosessor overordna Tape Optical

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Dagens tema Mer MIPS maskinkode (P&H: 4.4 + 3.6 + 3.3 + A.6 + A.10) Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Ark 1 av 16 Forelesning

Detaljer

Dark load-store-maskin

Dark load-store-maskin Dark load-store-maskin Figur 1: Load-store arkitektur i Dark Dette dokumentet beskriver arkitekturen til load-store-maskina som benyttes i Dark. Figur 1 viser hvordan den ser ut. Det finnes 32 registre

Detaljer

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1)

Dagens temaer. Intern hukommelse (1) Maskinvaredelen av INF 103: oversikt og innhold (2) Maskinvaredelen av INF 103: oversikt og innhold (1) Maskvaredelen av INF 3: oversikt og nhold () Boolsk algebra: Regng med og, og AND, OR og NOT Analyse og design av logiske kretser: AND, OR og NOT som byggeblokker Hukommelse og sekvensiell logikk: Konstruksjon

Detaljer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Oppgave 1 Oversettelse (total vekt 20%)

Oppgave 1 Oversettelse (total vekt 20%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 27. mai 998 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler:

Detaljer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Innhold. Oppgave 1 Oversettelse (vekt 15%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 29. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte

Detaljer

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2015 TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst

Detaljer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS EKSAMEN 17. DESEMBER, 2012, 09:00 13:00 Kontakt under eksamen:

Detaljer

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer