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



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

TDT DESEMBER, 2013, 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

TDT DESEMBER, 2014, 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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT DESEMBER, 2008, 09:00 13:00

TDT DESEMBER, 2011, 09:00 13:00

TDT AUGUST, 2011, 09:00 13:00

TDT AUGUST, 2009, 09:00 13:00

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

TDT DESEMBER, 2009, 09:00 13:00

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 AUGUST, 2008, 09:00 13:00

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

Kapittel 4: Microarchitecture level

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Eksamensoppgåve i TDT4160 datamaskiner og digitalteknikk

ANSWER KEY FOR THE EXAM

ANSWER KEY FOR THE EXAM

TDT DESEMBER, 2009, 09:00 13:00

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

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Fortsetelse Microarchitecture level

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

Forelesning ISA: IJVM Kap 4.2

INF2270. Datamaskin Arkitektur

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF2270. Datamaskin Arkitektur

Oppgave 2 Maskinkode (vekt 12%)

dynamiske data dynamiske data statiske data program dynamiske data statiske data reservert program dynamiske data statiske data reservert program

Fortsetelse Microarchitecture level

ytelsen til hukommelseshierarkier

NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Fortsetelse Microarchitecture level

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Forelesning Adresseringsmodi Kap 5.4

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Instruksjonstyper Kap 5.5

MAX MIN RESET. 7 Data Inn Data Ut. Load

Tema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9

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

IN1020. Datamaskinarkitektur

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Forelesning Mikroprogram for IJVM Kap 4.3

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

DM6814/DM5814 User s Manual

Dagens temaer. tema er hentet fra kapittel 4.3 og 4.4 om pipelining. til neste ukes forelesning (hvis tid) INF ! Mikrokode. !

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

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

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

Maskinvaredelen av INF 103: oversikt og innhold (1)

Generell informasjon

4/2 enkel pipelining in 147, våren 1997 pipelining 1. Pipelining. når tema læreboka. 11/3 problemer

EKSAMENSOPPGAVE, INF-2200

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

INF1400 Kap4rest Kombinatorisk Logikk

UNIVERSITETET I OSLO

befinner seg. Deretter leses instruksjonen fra i registerfilen ved ny stigende klokkepuls.

Seksjon 1. INF2270-V16 Forside. Eksamen INF2270. Dato 1. juni 2016 Tid Alle trykte og skrevne hjelpemidler, og en kalkulator, er tillatt.

Forelesning 5. Diverse komponenter/større system

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Intel Core i7. Omid Mirmotahari 4

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

1 TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Kap. 8 del 1 kodegenerering INF5110 Vår2007

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Digital logic level: Oppsummering

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Dark load-store-maskin

Exercise 1: Phase Splitter DC Operation

Løsningsforslag til eksamen i INF2270

Tilstandsmaskiner (FSM) Kapittel 5

Transkript:

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 Tufte 7359356/9742478 Tillatte hjelpemidler: D. Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Målform: Bokmål Page 1 of 2

OPPGAVE 1: OPPSTART, LITT AV HVERT (25 %) a. Minnesystemet i en datamaskin har ett nivå av hurtigbuffer (cache). Hva er gjennomsnittlig minneaksesstid (memory access time) for minnesystemet hvis hovedminnet har en aksesstid på 1µs og hurtigbuffer har en aksesstid på 1µs med et trefforholdstall (hit ratio) på 8 %? b. Hva er den funksjonelle forskjellen mellom en halvadderer (half adder) og en fulladderer (full adder)? c. Hva karakteriserer en "array processor"? d. Hva er RAW-avhengighet? e. I minnesystemsammenheng, forklar lokalitetsprinsippet (the locality principle). Page 2 of 2

OPPGAVE 2: DIGITALT LOGISK NIVÅ (25 % (15 % PÅ A, 5 % PÅ B OG C)) I figur 1 er det eksterne bussgrensesnittet for en mikrokontroller vist. Det er brukt en RAM-brikke på 64kB for data og en ROM-brikke på kb for program. En sensor som overvåker strålingsnivå og en alarm er I/O-enhetene i systemet. Alle enhetene har et aktivt lavt (logisk ) CS (Chip Select)-signal. A Address bus A15 Microcontroller N INV OR CS R/W D[7:] N N CS R D[7:] RAM CS R Sensor D CS W Alarm D ROM R/W Data[7:] Data bus D[7:] 8 Figur 1: Address decoding. a. Etter en programvareoppdatering er programstørrelsen økt fra 12 14 til 28 14 bytes. Det nødvendige dataområdet for å kjøre programvaren er økt fra 29 4 til 78 bytes. i) Kan programminnet lagre den nye programvaren? Forklar. ii) Kan dataminnet støtte den nye programvaren? Forklar. b. Er full adressedekoding (address decoding) brukt på noen av enhetene som er koblet til bussen? Forklar. c. Svar på følgende spørsmål ut i fra den informasjonen du har tilgjengelig: i) Er minneenehetene synkrone eller asynkrone? Forklar. ii) Er "handshaking brukt? Forklar. Page 3 of 2

OPPGAVE 3: MIKROARKITEKTUR OG MIKROINSTRUKSJONER (25 % (5 % PÅ A, 1 % PÅ B OG C)) Bruk vedlagte diagram i figur 3, figur 4, figur 5 og figur 6 for IJVM til å løse oppgavene. a. Er innholdet i registeret MIR tilgjengelig for programmereren? Forklar. b. Lag mikroinstruksjon(er) for følgende IJVM-operasjon: OPC = TOS + LV + CPP. Du trenger ikke ta hensyn til Addr- og J-feltene. Oppgi korrekt bit-verdi for ALU-, C-, Memog B-feltene. Se figur 4. c. IJVM-registrene i figur 3 er satt til følgende verdier: SP : hex(1), LV : hex(55), CPP : hex(3), TOS : hex(4), OPC : hex(5), H : hex(ffa). Hva er TOS-registerets innhold etter at de to følgende mikroinstruksjonene har blitt utført? Oppgi svaret i hex-format. 1: ALU: 11, C: 1, Mem: og B: 11 2: ALU: 11111, C: 1, Mem: og B: 11 Page 4 of 2

OPPGAVE 4: INSTRUKSJONSSETT ARKITEKTUR (ISA)(25 %) En svært enkel prosessor har en laste- og lagre-instruksjon (load and store instruction), 8 ALUinstruksjoner, noen spesielle instruksjoner som inkluderer NOP-instruksjonen og to flytkontrollinstruksjoner (flow control instructions). Instruksjonsformatet er vist i figur 2. Alle registre og busser er -bit. Prosessoren har en Harvard-arkitektur. Load/store: Load: opcode Rn Rn DC Store: opcode Rn Rn DC 8 bit 8 bit 8 bit 8 bit ALU: opcode Rn Rn Rn opcode Rn Rn DC 8 bit 8 bit 8 bit 8 bit Spesial: NOP: opcode DC DC DC 8 bit 8 bit 8 bit 8 bit MOVC: opcode Rn Constant 8 bit 8 bit 16 bit CP: opcode Rn Rn DC 8 bit 8 bit 8 bit 8 bit Flow control: BZ opcode Rn DC 8 bit 8 bit 16 bit RT opcode DC DC DC 8 bit 8 bit 8 bit 8 bit Rn: any user register, R - R15 DC: Don t care: any data memory location Figur 2: Instruction formats. Page 5 of 2

Instructions set: LOAD: Load data from memory. load Rn, Rn Load register Rn from memory location in Rn. STORE: Store data in memory. store Rn, Rn Store register Rn in memory location in Rn. ALU: Data manipulation, register register operations. ADD Rn, Rn, Rn ADD, Rn = Rn + Rn. Set Z-flag if result =. N Rn, Rn, Rn Bitwise N, Rn = Rn Rn. Set Z-flag if result =. OR Rn, Rn, Rn Bitwice OR, Rn = Rn + Rn. Set Z-flag if result =. INV Rn, Rn Bitwice invert, Rn = Rn. Set Z-flag if result =. INC Rn, Rn Increment, Rn = Rn + 1. Set Z-flag if result =. DEC Rn, Rn Decrement, Rn = Rn 1. Set Z-flag if result =. MUL Rn, Rn, Rn Multiplication, Rn = Rn Rn. Set Z-flag if result =. CMP, Rn, Rn Compare, Set Z-flag if Rn = Rn Special: Misc. CP Rn, Rn Copy, Rn < Rn NOP Waste of time, 1 clk cycle. MOVC Rn, constant Put a constant in register Rn = C. Flow control: Branch. BZ, Rn Conditional branch on zero, PC = Rn. RT Return, return from branch. Rn: Any user register. DC: Don t care. Page 6 of 2

a. Instruksjonen BZ lagrer innholdet av PC og statusregisteret før hoppet (the branch) utføres. i) Hvorfor? ii) Hvor lagres slik informasjon vanligvis? b. Denne prosessoren er sterkt influert av RISC designfilosofi. Hvilke deler av den tilgjengelige informasjonen støtter dette utsagnet? c. Hvilke typer adresseringsmodi (addressing modes) er brukt for de ulike instruksjonene i denne prosessoren? Page 7 of 2

IJVM appendix Page 8 of 2

Figur 3: Block diagram (IJVM). Page 9 of 2

Figur 4: Microinstruction format (IJVM). Page 1 of 2

ANSWER KEY FOR THE EXAM Page 1 of 2

OPPGAVE 1: OPPSTART, LITT AV HVERT (25 %) a. Minnesystemet i en datamaskin har ett nivå av hurtigbuffer (cache). Hva er gjennomsnittlig minneaksesstid (memory access time) for minnesystemet hvis hovedminnet har en aksesstid på 1µs og hurtigbuffer har en aksesstid på 1µs med et trefforholdstall (hit ratio) på 8 %? Answer: 2s; mean access time = c + (1 h) m); 1 + (1.8) 1) = 2 b. Hva er den funksjonelle forskjellen mellom en halvadderer (half adder) og en fulladderer (full adder)? Answer: A full adder calculate a + b + carry and outputs the sum and a carry bit. A half adder calculates a + b and outputs the sum and a carry bit. c. Hva karakteriserer en "array processor"? Answer: large number of identical processors executing the same program on different data sets. d. Hva er RAW-avhengighet? Answer: A micro instruction (or pipeline stage try to read a register before it is written to by the previous (micro) instruction. e. I minnesystemsammenheng, forklar lokalitetsprinsippet (the locality principle). Answer: Locality in space and time. If a memory location has been accessed, probability of a access a neighbouring address. If a data has been accessed, probability of re-accessing. The cache and memory hierarchies build on these principles. Page 2 of 2

OPPGAVE 2: DIGITALT LOGISK NIVÅ (25 % (15 % PÅ A, 5 % PÅ B OG C)) I figur 1 er det eksterne bussgrensesnittet for en mikrokontroller vist. Det er brukt en RAM-brikke på 64kB for data og en ROM-brikke på kb for program. En sensor som overvåker strålingsnivå og en alarm er I/O-enhetene i systemet. Alle enhetene har et aktivt lavt (logisk ) CS (Chip Select)-signal. a. Etter en programvareoppdatering er programstørrelsen økt fra 12 14 til 28 14 bytes. Det nødvendige dataområdet for å kjøre programvaren er økt fra 29 4 til 78 bytes. i) Kan programminnet lagre den nye programvaren? Forklar. ii) Kan dataminnet støtte den nye programvaren? Forklar. Answer: i) no its only 2 14 of program memory ii) yes, the data memory is of size 2 1 5 2. b. Er full adressedekoding (address decoding) brukt på noen av enhetene som er koblet til bussen? Forklar. Answer: Yes on the sensor and alarm. All addresses fully specified. c. Svar på følgende spørsmål ut i fra den informasjonen du har tilgjengelig: i) Er minneenehetene synkrone eller asynkrone? Forklar. ii) Er "handshaking brukt? Forklar. Answer: Asyncron, no clock. No handshaking, no req ack signals. Page 3 of 2

OPPGAVE 3: MIKROARKITEKTUR OG MIKROINSTRUKSJONER (25 % (5 % PÅ A, 1 % PÅ B OG C)) Bruk vedlagte diagram i figur 3, figur 4, figur 5 og figur 6 for IJVM til å løse oppgavene. a. Er innholdet i registeret MIR tilgjengelig for programmereren? Forklar. Answer: Not visible. No way to address MIR directly. b. Lag mikroinstruksjon(er) for følgende IJVM-operasjon: OPC = TOS + LV + CPP. Du trenger ikke ta hensyn til Addr- og J-feltene. Oppgi korrekt bit-verdi for ALU-, C-, Memog B-feltene. Se figur 4. Answer: Can use: 1: ALU: B-function, B-bus: TOS, C-bus: H 2: ALU: A + B, B-Bus: LV, C-bus: H 3: ALU: A + B, B-bus: CPP, C-bus: OPC Or any other combination solving the spesification. c. IJVM-registrene i figur 3 er satt til følgende verdier: SP : hex(1), LV : hex(55), CPP : hex(3), TOS : hex(4), OPC : hex(5), H : hex(ffa). Hva er TOS-registerets innhold etter at de to følgende mikroinstruksjonene har blitt utført? Oppgi svaret i hex-format. 1: ALU: 11, C: 1, Mem: og B: 11 2: ALU: 11111, C: 1, Mem: og B: 11 Answer: 1: ALU: 11 (B) C: 1 (H) Mem: (ingen mem opprasjon) B: 11 (5 LV) 2 ALU: 11111 (A+B +1) C: 1 (TOS) Mem: (ingen mem opprasjon) B: 11 (5 LV) (TOS = AB) Page 4 of 2

OPPGAVE 4: INSTRUKSJONSSETT ARKITEKTUR (ISA)(25 %) En svært enkel prosessor har en laste- og lagre-instruksjon (load and store instruction), 8 ALUinstruksjoner, noen spesielle instruksjoner som inkluderer NOP-instruksjonen og to flytkontrollinstruksjoner (flow control instructions). Instruksjonsformatet er vist i figur 2. Alle registre og busser er -bit. Prosessoren har en Harvard-arkitektur. Page 5 of 2

Instructions set: LOAD: Load data from memory. load Rn, Rn Load register Rn from memory location in Rn. STORE: Store data in memory. store Rn, Rn Store register Rn in memory location in Rn. ALU: Data manipulation, register register operations. ADD Rn, Rn, Rn ADD, Rn = Rn + Rn. Set Z-flag if result =. N Rn, Rn, Rn Bitwise N, Rn = Rn Rn. Set Z-flag if result =. OR Rn, Rn, Rn Bitwice OR, Rn = Rn + Rn. Set Z-flag if result =. INV Rn, Rn Bitwice invert, Rn = Rn. Set Z-flag if result =. INC Rn, Rn Increment, Rn = Rn + 1. Set Z-flag if result =. DEC Rn, Rn Decrement, Rn = Rn 1. Set Z-flag if result =. MUL Rn, Rn, Rn Multiplication, Rn = Rn Rn. Set Z-flag if result =. CMP, Rn, Rn Compare, Set Z-flag if Rn = Rn Special: Misc. CP Rn, Rn Copy, Rn < Rn NOP Waste of time, 1 clk cycle. MOVC Rn, constant Put a constant in register Rn = C. Flow control: Branch. BZ, Rn Conditional branch on zero, PC = Rn. RT Return, return from branch. Rn: Any user register. DC: Don t care. Page 6 of 2

a. Instruksjonen BZ lagrer innholdet av PC og statusregisteret før hoppet (the branch) utføres. i) Hvorfor? ii) Hvor lagres slik informasjon vanligvis? Answer: i) PC: to be able to return from a subrutine ststus register: to restore the status register to be able to resume the main program. ii) On a stack. b. Denne prosessoren er sterkt influert av RISC designfilosofi. Hvilke deler av den tilgjengelige informasjonen støtter dette utsagnet? Answer: 1) All instructions equal length. 2) Load/store architecture. 3) General registers. c. Hvilke typer adresseringsmodi (addressing modes) er brukt for de ulike instruksjonene i denne prosessoren? Answer: Register, e.g. ALU instructions Register Indirect: Load/store, BZ Imidiate: MOVC A bit of slack here on names as long as explained or if they mess with instruction types (zero adr, 2 adr etc). Page 7 of 2

IJVM appendix Page 8 of 2

SLR1 SLL8 Function No shift 1 Shift 8 bit left 1 Shift 1 bit right Figur 5: ALU functions (IJVM). Page 9 of 2

Figur 6: Timing diagram (IJVM). Page 1 of 2

Figur 7: Alternative microarchitecture I. Page 11 of 2

Figur 8: Alternative microarchitecture II. Page 12 of 2

A Address bus A15 Microcontroller N INV OR CS R/W D[7:] N N CS R D[7:] RAM CS R Sensor D CS W Alarm D ROM R/W Data[7:] Data bus D[7:] 8 Figur 9: Address decoding. Page 13 of 2

Load/store: Load: opcode Rn Rn DC Store: opcode Rn Rn DC 8 bit 8 bit 8 bit 8 bit ALU: opcode Rn Rn Rn opcode Rn Rn DC 8 bit 8 bit 8 bit 8 bit Spesial: NOP: opcode DC DC DC 8 bit 8 bit 8 bit 8 bit MOVC: opcode Rn Constant 8 bit 8 bit 16 bit CP: opcode Rn Rn DC 8 bit 8 bit 8 bit 8 bit Flow control: BZ opcode Rn DC 8 bit 8 bit 16 bit RT opcode DC DC DC 8 bit 8 bit 8 bit 8 bit Rn: any user register, R - R15 DC: Don t care: any data memory location Figur 1: Instruction formats. Page 14 of 2

Figur 11: Block diagram (IJVM). Page 15 of 2

Figur 12: Microinstruction format (IJVM). Page 16 of 2

SLR1 SLL8 Function No shift 1 Shift 8 bit left 1 Shift 1 bit right Figur 13: ALU functions (IJVM). Page 17 of 2

Figur 14: Timing diagram (IJVM). Page 18 of 2

Figur 15: Alternative microarchitecture I. Page 19 of 2

Figur 16: Alternative microarchitecture II. Page 2 of 2