Faglig kontakt under eksamen: Institutt for datateknikk og informasjonsvitenskap, Gløshaugen Steinar Line /

Like dokumenter
NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP

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

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

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

Øving 1: Busser, adressemodi, multiplekser og styreord

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

TDT4160 AUGUST, 2008, 09:00 13:00

Løsningsforslag eksamen TDT4160 høsten 2005

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

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

INF2270. Datamaskin Arkitektur

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Forelesning Instruksjonstyper Kap 5.5

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

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

TDT DESEMBER, 2008, 09:00 13:00

Oppsummering av digitalteknikkdelen

INF1400 Kap4rest Kombinatorisk Logikk

Forelesning Adresseringsmodi Kap 5.4

TDT4160 OG IT2201 DATAMASKINER GRUNNKURS EKSAMEN

INF2270. Datamaskin Arkitektur

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

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

IN1020. Datamaskinarkitektur

Datamaskinens oppbygning

Forelesning 5. Diverse komponenter/større system

Introduksjon til DARK assembly

Maskinvaredelen av INF 103: oversikt og innhold (1)

Intel Core i7. Omid Mirmotahari 4

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

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Forelesning Forgreningspredikering Kap 4.5 Superskalaritet Kap 4.5 Spekulativ utføring Kap 4.5

Løsningsforslag til eksamen i INF2270

TDT4258 Eksamen vår 2013

Institiutt for informatikk og e-læring, NTNU Kontrollenheten Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

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

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Dagens emner er hentet fra Englander kapittel 10 (side ) Mer om adresseringsmodi. RISC og CISC-prosessorer.

Fortsetelse Microarchitecture level

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Dagens temaer. Mer om adresseringsmodi. Indeksert adressering med offset og auto-inkrement eller dekrement. Register-indirekte adressering

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

UNIVERSITETET I OSLO

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

UNIVERSITETET I OSLO

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Dark Stakkmaskin. Aritmetiske instruksjoner

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

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

UNIVERSITETET I OSLO

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

Dagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)

Forelesning ISA-nivået Kap 5.1

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Hvorfor lære om maskinvare*?

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

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

MINIKOMPENDIUM. av Rune Vistnes TDT4160 DATAMASKINER GK. Versjon november 2003 :: 1 ::

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

Generell informasjon

Dagens tema. Dagens tema er hentet fra kapittel 4.3 og 4.4. Mer om pipelining Ytelse Hasarder. Pipelining i Pentium-arkitekturen

SIE 4005, 8/10 (3. Forelesn.)

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

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Internminnet. Håkon Tolsby Håkon Tolsby

Institiutt for informatikk og e-læring, NTNU CPUens deler og virkemåte Geir Ove Rosvold 4. januar 2016 Opphavsrett: Forfatter og Stiftelsen TISIP

Eksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Internminnet. Håkon Tolsby Håkon Tolsby

UNIVERSITETET I OSLO

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

Eksamen INF2270 våren 2018

UNIVERSITETET I OSLO

Oppgave 2 Maskinkode (vekt 12%)

Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Intel Core i7. Omid Mirmotahari 4

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

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Kapittel 4: Microarchitecture level

TDT AUGUST, 2011, 09:00 13:00

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

tema er hentet fra kapittel 4.3 og 4.4 om pipelining Mikroprogrammert Dagens temaer Hard-wired Mikrokode Hasarder Ytelse

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Transkript:

Side 1 av 13 NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Institutt for datateknikk og informasjonsvitenskap, Gløshaugen Steinar Line 735 93680 / 90864408 EKSAMEN I EMNE TDT4160 DATAMASKINER GRUNNKURS MED LØSNINGSFORSLAG TIRSDAG 2. DESEMBER 2003 KL. 09.00 13.00 Hjelpemidler: D Ingen trykte eller håndskrevne hjelpemidler tillatt. Bestemt, enkel kalkulator tillatt. Sensuren faller 23. desember 2003. Resultater gjøres kjent på http://studweb.ntnu.no/ og sensurtelefon 810 48 014. Antall sider: 13 + 2 vedlegg Vedlegg: Manual DARK load/store-arkitektur Prosentsatser viser hvor mye hver oppgave teller innen settet. Lykke til!

Side 2 av 13 Oppgave 1 Flervalgsoppgaver (36%) Bruk svararket bakerst i oppgaveteksten for å svare på denne oppgaven. Du kan få nytt ark av eksamensvaktene dersom du trenger dette. Gal avkrysning eller blankt svar på et spørsmål gir 0 poeng. NB! Det er ikke mulig å gardere ved å krysse av flere alternativer. Dette gir i så fall 0 poeng. Kun ett svar er helt rett på hvert spørsmål. 1) 1% Hva er forholdet mellom en mikrooperasjon og en instruksjon? a) De er en og samme ting b) En mikrooperasjon er en elementær operasjon prosessoren kan utføre mens en instruksjon kan bestå av flere mikrooperasjoner c) En instruksjon er en elementær operasjon prosessoren kan utføre mens en mikrooperasjon kan bestå av flere instruksjoner d) Mikrooperasjoner benyttes til programmer som skal være ram-effektive 2) 2% Hvilken hovedfunksjon har statusregisteret (SR)? a) Statusregisteret inneholder hurtigbufferstatus, det vil si antall treff (hit) og bom (miss) i hurtigbufferet b) Statusregisteret brukes til å lagre midlertidige data i c) Statusregisteret inneholder informasjon om resultatet fra forrige instruksjon. Dette kan brukes til betingede hopp. Svar: C 3) 1% Hva er en ALU? a) En enhet som sørger for å hente neste instruksjon fra instruksjonslageret b) En enhet som kun har til oppgave å regne ut aritmetiske og logiske operasjoner c) En sentral del av styreenheten som inneholder mikroinstruksjoner og logikk for sekvensiell uthenting av disse 4) 2% Hva er IKKE riktig om samlebånd? a) Samlebånd utnytter at man kan benytte flere sentrale enheter i prosessoren i parallell og dermed kunne ha flere instruksjoner under utførelse samtidig. b) Parallelliteten som er tilstede i alle samlebånd medfører at vi får en CPI (cycles per instruction) mindre enn 1; vi får altså ferdigstilt mer enn en instruksjon for hver sykel. c) Maksimal hastighetsøkning for et samlebånd sammenlignet med den tilsvarende flersykelmaskinen vil være avhengig av antall samlebåndssteg. d) Prosessorer med samlebånd benyttes i så godt som alle PC-er.. Et typisk samlebånd av typen forklart i AoC ferdigstiller maksimalt én instruksjon pr. sykel, i gjennomsnitt litt færre.

Side 3 av 13 5) 2% Et samlebånd har 5 steg. Disse har forsinkelse på hhv. 12ns, 15ns, 13ns, 8ns, 22ns. Hva blir maksimal klokkefrekvens? a) 1 / (12 * 10^-9) Hz b) 1 / (14 * 10^-9) Hz c) 1 / (22 * 10^-9) Hz d) 1 / (70 * 10^-9) Hz Svar: C. Klokkesykelen må være lang nok til det tregeste steget: 22ns. Klokkefrekvensen er inversen av dette. 6) 2% Dersom du har et vanlig (in-order execution) samlebånd, hvilke dataavhengigheter vil skape problemer i følgende program (Dark-syntaks se vedlegg)? ADD $3, $1, $8 SUB $8, $3, $1 a) Avhengigheten på grunn av register 1 b) Avhengigheten på grunn av register 3 c) Avhengigheten på grunn av register 8. Vi får bare et problem dersom instruksjon 2 benytter seg av resultatet fra instruksjon 1. 7) 1% Hva er en adresseringsmodus? a) En regel som forteller prosessoren hvordan den skal finne frem til operanden ut fra informasjonen i instruksjonsordet. b) En operands adresse c) Dersom operanden benyttes som en adresse sies den å være i adresseringsmodus Svar: A 8) 1% Hvilket felt er IKKE vanlig å ha i instruksjonsordet? a) Opkode b) Destinasjonsoperand c) Kildeoperander d) Akkumulator e) Funksjonskode Svar: D. En akkumulator er et spesielt register benyttet i akkumulatormaskiner, det finnes ikke noe felt i instruksjonsordet med dette navnet. 9) 1% Hvilken prosessortype har som oftest kortest instruksjonsord? a) Akkumulatormaskin b) Load/store-maskin c) Stakkmaskin Svar: C. Stakkmaskinen har stort sett bare null-operandinstruksjoner og vil derfor ikke trenge like stort instruksjonsord som f.eks en load/store-maskin med tre-operandinstruksjoner.

Side 4 av 13 10) 2% Hvilket utsagn om EEPROM (Electronically Erasable Read Only Memory) er FEIL? a) Innholdet kan slettes ved hjelp av spesielle elektriske pulser. b) EEPROM-brikken kan skrives om mange ganger. c) Innholdet slettes blokk for blokk. d) Det er dyrt og går tregt å skrive/slette. Svar: C. EEPROM kan slette enkeltbytes 11) 2% Anta en harddisk med følgende egenskaper: 7200 omdreininger per minutt, 120 sektorer per spor (track) dvs. CAV (Constant Angular Velocity), sektorstørrelse 512 bytes og gjennomsnittlig søketid 7,5 ms. Hva er nedre grense for å lese en 200 MB fil fra disk (der 200 MB regnes som 200*1024*1024 Bytes)? a) 27,1s b) 28,4s c) 34,6s d) 35,9s. ((200 * 1024 * 1024) / 512) / 120 * (1 / (7200 / 60)) 12) 2% Hvilket av alternativene er IKKE en egenskap ved SDRAM? a) Innholdet kan bare slettes blokk for blokk (blokk > byte) b) SDRAM støtter "burst mode" som gjør at sekvensielle data kan overføres uten separate adressefaser for hver datafase. c) Når prosessoren sender en forespørsel til en SDRAM-modul, blir prosessoren frigjort mens forespørselen behandles. d) SDRAM er synkronisert mot ekstern klokke (typisk klokke på systembuss). Bruker flere minnebanker slik at muligheten for parallellitet øker. Svar: A SDRAM kan slette enkeltbytes 13) 1% Hva er fordelen ved å bruke Hamming-kode fremfor bruk av paritetsbit? a) Den er enklere å beregne. b) Den kan brukes til å detektere enkeltbit-feil. c) Bedre sikkerhet mot uautorisert aksess. d) Den kan brukes til å korrigere enkeltbit-feil. Svar: D. Paritetsbit kan benyttes til å detektere enkeltbitfeil. Hammingkode kan i tillegg til å detektere enkeltbitfeil også korrigere enkeltbitfeil 14) 1% Du skal konvertere tallet 120.1(4) (altså i firetallsystemet) til et desimaltall med to siffer etter desimalpunktum. Hvilket av alternativene er korrekt svar? a) 3.40 b) 24.25 c) 48.40 d) 96.25

Side 5 av 13 15) 1% I dagens systemer kan aksess til hovedlager være en flaskehals. Dette problemet kan løses på forskjellige måter. Hvilken av metodene nedenfor er ikke egnet til å redusere dette problemet? a) Øke antallet bit som hentes på en gang. b) Inkludere hurtigbuffer på hver minnebrikke. c) Øke hastigheten på eksisterende hurtigbuffer. d) Mer komplekse og større hurtigbuffer mellom prosessor og hovedlager. Svar: C. Flaskehalsen blir bare enda trangere dersom hastigheten på eksisterende hurtigbuffer økes 16) 1% Hva er arbitrering? (Velg det mest dekkende alternativet) a) Generering av tilfeldige tall. b) Det samme som tidsstyring av prosesser. c) Tildeling av blokk i hurtigbuffer. d) Tildeling av aksess til bussen. Svar: D 17) 1% Hvilket nivå av RAID baserer seg på speiling av disken? a) RAID 0 b) RAID 1 c) RAID 2 d) RAID 3 18) 2% Hvilket av alternativene er IKKE en grunn til å ha hierarkiske busser i en datamaskin? a) Det er ønskelig å skille trege enheter fra raske enheter b) En lang buss får gjerne høy transmisjonsforsinkelse c) Med flere busser kan flere enheter overføre data samtidig d) Lokalitetsprinsippet gjør det mindre sannsynlig at fjerne enheter blir brukt Svar: D. Lokalitetsprinsippet har å gjøre med lagerhierarkiet 19) 1% Hva er en multiplekser (MUX)? a) En MUX er en kombinatorisk krets som velger en av inngangene og sender den ut på utgangen. b) En MUX er en kombinatorisk krets som tar inngangen og splitter den opp til flere utganger. c) En MUX er en sekvensiell krets som alltid tar inn to verdier og gir ut en kombinasjon av disse på utgangen. d) En MUX brukes til å dekode inngangen og gi riktig verdi til de ulike registrene. Svar: A 20) 1% Hvorfor er det gjerne ønskelig med flere nivå med hurtigbuffer? a) Det forenkler tilbakeskriving fra hurtigbuffer til hovedlager. b) Hvis man ønsker en rask hurtigbuffer, er det begrenset hvor stor denne kan være. c) Det gjør det mulig å kjøre større programmer uten bruk av virtuelt minne. d) Det forenkler design av prosessorbrikker.

Side 6 av 13 21) 2% Hva er ulempen med skrivestrategien "utsatt tilbakeskriving" for hurtigbuffer? a) Den gir lavere ytelse enn gjennomskriving b) Den er dyrere (krever mer maskinvare) enn gjennomskriving c) Den medfører inkonsistens i lagerhierarkiet og kan skape problemer i multiprosessorsystemer og systemer med DMA-enheter Svar: C. Forskjellen i arealforbruk (maskinvarestørrelse) er ubetydelig (i hverfall når man ser på hele hurtigbufferet under ett). Inkonsistens i lagerhierarkiet er derimot en viktig faktor 22) 2% Hvorfor fungerer lagerhierarkiet så godt? a) Lagerhierarkiet er en akademisk konstruksjon laget av pedagogiske hensyn og fungerer ikke godt i praksis. b) Lokalitet i referanser gjør at prosessoren bare jobber på et lite subsett av data av gangen. Vi vil få en stor hastighetsøkning ved å bufre dette subsettet med en raskere lagertype. c) Hierarkiske datastrukturer (f.eks binærtrær for søking) vil kunne lagres effektivt i et hierarkisk lager fordi vi har maskinvarestøtte for traversering av slike strukturer. 23) 2% Gitt et tomt, direkteavbildet hurtigbuffer med 1024 linjer som hver inneholder én byte med data. Prosessoren gjør en lageraksess til adresse 1026 og deretter en lageraksess til adresse 2050. Hva vil skje? a) Adresse 1026 vil bufres i linje 0 og adresse 2050 vil bufres i linje 1. b) Adresse 1026 vil bufres i linje 2 og adresse 2050 vil ikke hurtigbufres fordi linje 2 er opptatt c) Adresse 1026 vil bufres i linje 2 og adresse 2050 vil overskrive linje 2 med nye data d) Adresse 1026 vil bufres i linje 2 og adresse 2050 vil bufres i linje 2 + (1024 / 2) = 514 Svar: C 24) 1% Hva er et innvevd system? a) Norsk ord for "plug-in" (brukes f.eks i en nettleser) b) Datamaskin som gjør en spesifikk oppgave og er del i et større system c) En PC i nettverk med andre datamaskiner 25) 1% Mange innvevde systemer benytter seg av en mikrokontroller. Hva er en mikrokontroller? a) En enkelt brikke som inneholder en fullstendig datamaskin (CPU, RAM, ROM, I/O-kontrollere) b) En I/O-kontroller som tilfredsstiller visse krav til fysisk størrelse og strømforbruk c) En I/O-kontroller med bare ett enkelt bruksområde d) En svak prosessor Svar: A

Side 7 av 13 Oppgave 2 Kortsvarsoppgaver (46%) Noen av oppgavene krever et eksakt tallsvar eller uttrykk. Andre krever en tekstlig forklaring. Svar kort, oversiktlig og strukturert på oppgavene. Strek gjerne under sentrale begreper som omtales.

Side 8 av 13 Bruk tabellene gitt ovenfor, som beskriver styreordet til en prosessor, og figuren på forrige side, som skisserer en utførende enhet i denne prosessoren, til å besvare oppgavene under. 1) 1% Hva blir styreordet for operasjonen R5 <- sr R3 der x skal beskrive ubrukte bits? 101 011 xxx x 10000 0 1 2) 1% Hva blir styreordet for operasjonen R4 <- R5 + ~R3 + 1 der x skal beskrive ubrukte bits? 100 101 011 0 00101 0 1 3) 2% Hvilken mikrooperasjon tilsvarer styreordet 111010xxxx0000101 der x beskriver ubrukte bits? R7 <- R2 + 1 4) 2% Hvilken mikrooperasjon tilsvarer styreordet 11100101100010101 der x beskriver ubrukte bits? R7 <- R1 + ~R3 + 1 (eller R7 <- R1 R3) For en gitt CISC-prosessor kan MOV-instruksjonen i assembler være definert med flere adresseringsmodi slik: MOV Rn, #Imm ; Immediate MOV Rn, Addr ; Direkte MOV Rn, [Addr] ; Indirekte MOV Rn, Rm ; Register MOV Rn, [Rm] ; Register indirekte MOV Rn, Addr(Rm) ; Displacement PUSH Rn ; Stakk push POP Rn ; Stakk pop Rn/Rm indikerer register nummer n/m. Addr og Imm kan være tallverdier eller variabler. MOV fungerer slik: MOV til-operand, fra-operand

Side 9 av 13 Gitt et lite utdrag av en datamaskins minne på et gitt stadium som skal benyttes for å besvare spørsmålene under: Hovedlager Registre Definerte variabler Adresse Verdi Registernr Verdi Navn Verdi 0 71 R0 5 teller 64 1 54 R1 15 i 3 2 12 R2 8 antall 4 3 86 R3 7 tab 3 4 28 R4 8 x 7 5 56 R5 55 retur 11 6 3 R6 9 7 8 R7 35 8 13 9 7 10 45 11 82 5) 1% Hva vil verdien til R0 være etter følgende instruksjon: MOV R0, [7]? 13 6) 1% Hva vil verdien til R1 være etter følgende instruksjon: MOV R1, [R3]? 8 7) 1% Hva vil verdien til R2 være etter følgende instruksjon: MOV R2, tab(r2)? 82 8) 3% Hva vil verdiene til R4,R5,R6 og R7 være etter følgende instruksjoner: PUSH R4 MOV R5, #antall MOV R6, [R5] POP R5 MOV R7, 1(R5) MOV R6, 10 R4 = 8, R5 = 8, R6 = 45, R7 = 7 9) 4% Hvilke hovedmåter kan en kontrollenhet implementeres på? Beskriv kort de enkelte. Fastprogrammert (hardwired): kombinatorikk og vipper (dersom FSM) med fast oppkoblet oppførsel Mikroprogrammert: oppførsel er implementert vha sekvenser av uinstruksjoner lagret i et styrelager 10) 3% Hva bygges et instruksjonsord opp av? Nødvendig: Opkode Andre felter: destinasjonsoperand, kildeoperander, funksjonskode, neste adresse, shamt 11) 3% Hvor mange operander har normalt en instruksjon for en load/store-maskin? 3 12) 3% Nevn tre av kontroll- og status-registrene for en typisk prosessor som benyttes ifm. utføring av instruksjoner. PC, IR, SR, MAR, MBR

Side 10 av 13 13) 3% Hvor mange bits opkode (operasjonskode) vil Dark sin load/store-maskin behøve? Maskinen har 30 ulike mnemonics (assemblerord), men 13 av disse har to ulike adressemodi, eks: add register, register, {register nummer variabel} (der nummer og variabel vil bety det samme for prosessoren da kompilatoren oversetter variabelverdien til nummer ved kompilering). 6 (fordi (2 ^ 6 = 64) > (30 + 13)) 14) 4% En gitt datamaskin benytter et femstegs samlebånd: - Fetch instruction, - Decode instruction, - Calculate and fetch operands, - Execute instruction og - Write operand Maskinen forutser forgreininger i programmene avhengig av opkode. Den gjetter riktig forgreining i 80% av tilfellene. I gjennomsnitt er 10% av instruksjonene som blir utført på denne datamaskinen forgreininger. Hvor mange sykler vil gjennomsnittlig bli brukt på å utføre 100 instruksjoner? 100 + 4 + 100 * 0,10 * 0,20 * 3 = 110 15) 3% Hva skjer i avbruddsfasen av en prosessors instruksjonssyklus dersom et avbrudd blir oppdaget? Lagre tilstand på stakk (PC og muligens også SR og andre registre). Hoppe til interruptrutine og kjøre denne. Deretter laste tilbake tilstand fra stakk og fortsette der den slapp. (Kan også ta med noe om interruptkjeder med INT_ACK-signaler og interruptvektor, ikke krav) 16) 4% Hvilke alternative strategier finnes for å forsøke å forhindre forsinkelser ved forgreiningsinstruksjoner allerede ved innhenting av en ny instruksjon? Forklar kort de enkelte. Forutsi: alltid tatt, aldri tatt, basert på opkode, hopptabell, (multiple strømmer, ikke krav) 17) 4% Hva kan du si om egenskapene til RISC når det gjelder ting som: - antall og typer instruksjoner relativt lite antall (dvs mindre enn typisk CISC), enkle instruksjoner - antall og typer adressemodi få og enkle - instruksjonsformat få og enkle - antall og typer registre mange generelle registre 18) 3% Hva betyr begrepet dataavhengigheter i forbindelse med et samlebånd i en prosessor? Hvis man stokker om på instruksjoner og oppførselen endrer seg har man dataavhengigheter En instruksjon er avhengig av resultatet av en annen Oppgave 3 Assemblerprogrammering (18%) Introduksjon: Toerskomplement er en vanlig måte å representere binære tall på som gjør aritmetikk som addisjon og subtraksjon av binære tall forholdsvis enkelt. Toerskomplement til et positivt binærtall finnes ved å invertere alle bitene og addere med 1. Slik får man dette tallets negative utgave. Følgende eksempel beskriver dette for et 4 bits tall der bitet lengst til venstre (mest signifikante) fungerer som fortegnsbit: +4 10 = 0100-4 10 = 1011+1 = 1100 (på toerskomplement form)

Side 11 av 13 Oppgaven: Skriv et assemblerprogram for load/store-arkitekturen til Dark som gjennomfører toerskomplement på et binært tall. Instruksjonssettet for arkitekturen er beskrevet i vedlegg 1. Du skal anta at binærtallet som skal omformes ligger lagret i et område av minnet med et bit per minneadresse. Minst signifikante bit ligger i første minneadresse. Før ditt program kjøres: - Register 4 inneholder adressen til begynnelsen av minneområdet som leses fra - Register 5 inneholder adressen til første minneadresse utenfor området (dvs. slutten av minneområdet). - Register 6 inneholder starten på minneområdet som lagres til (se under) Figuren nedenfor illustrerer dette: Etter programmet er kjørt: - Tallet som er omformet til toerskomplement form skal skrives til et minneområde med et bit per minneadresse (som Register 6 peker på starten til). - Register 7 skal inneholde første adresse utenfor området. Tallet skal lagres med minst signifikante bit på første adresse i minneområdet. Eksempel: Vi skal ta toerskomplement på tallet 100100 2 (36 10 ). Tabell 1 og Tabell 2 viser tilstanden til maskinen før programmet har utført sine beregninger (X betyr udefinert). Adresse 100 101 102 103 104 105 106 Verdi 0 0 1 0 0 1 X Tabell 1 : Tilstanden til minnet før programmet starter. Register R4 R5 R6 R7 Verdi 100 106 100 X Tabell 2 : Tilstanden til noen av registrene før programmet starter. Tabell 3 og Tabell 4 viser tilstanden til maskinen etter at beregningen er utført. Adresse 100 101 102 103 104 105 106 Verdi 0 0 1 1 1 0 X Tabell 3 : Tilstanden til minnet etter at programmet har utført sine beregninger. Register R4 R5 R6 R7 Verdi 100 106 100 106 Analyse av tabell 3 viser at toerskomplement av 100100 er 011011+1 = 011100. Tips: det kan lønne seg å løse oppgaven i to operasjoner: 1. invertere alle bitene 2. addere 1 i minst signifikante bit

Side 12 av 13 Forslag til løsning der man benytter en løkke (både invertering og +1 utføres i samme løkken). Alternativt kan dette utføres i hver sin separate løkke. start ; $4 - fra-adresse ; $5 - fra-adresse slutt ; $6 - til-adresse ; $7 - til-adresse slutt ; $8 - bit som behandles ; $9 - mente ; $10 - temp ; $11 - peker som telles opp load $9, 1 add $7, $6, 0 add $11, $4, 0 ; mente = 1 fordi vi ønsker å legge til 1 etter negasjon ; Løkke med invertering og addisjon i ett loop: jge $11, $5, loopend load $8, $11, 0 not $8, $8 ; invertering av bitene add $10, $8, $9 ; summen av mente og minneadr på et gitt pkt. and $9, $8, $9 ; beregning av mente mod $8, $10, 2 ; store $8, $7, 0 ; lagrer tilbake verdien til minnet inc $7 inc $11 jmp loop loopend: end start.

Powered by TCPDF (www.tcpdf.org) Svarark for oppgave 1 Studentnr: Side 13 av 13 Fagnummer: Eksamensdato: 2. desember 2003 Side av a b c d e 1 1 2 2 3 1 4 2 5 2 6 2 7 1 8 1 9 1 10 2 11 2 12 2 13 1 14 1 15 1 16 1 17 1 18 2 19 1 20 1 21 2 22 2 23 2 24 1 25 1 NB! Ikke glem å levere dette arket! Bla igjennom den papirbunken du gir fra deg til slutt, for å sjekke at svar på avkrysningsoppgaven er med.