Avdelingfor ingeniørotdanning

Like dokumenter
rn;t--~! Dato: !Eksamenstid: Alle trykte og skrevne hjelpemidler. -- Kalkulator som ikke kan kommunisere

G høgskolen i oslo ~~'~6"'-- - i Kalkulator som ikke kan kommunisere med andre. Dato:OS~3. Faglig veileder: Lars Kristiansen.

I Kalkulator som ikke kan kommunisere med andre

.~~uppe(r): Dato: Eksamenstid: ;1.00 Eksamensoppgaven Antall sider (inkl Antall oppgaver: I Antall vedlegg:

Avdelingfor ingeniørutdanning

Avdelingfor ingeniørutdanning

. (AABBCCDDEEFF)16 X (16)10 = (:1:)16. (AABBCCDDEEFF)16 X (20)8 = (1/)8. (AABBCCDDEEFF)16 + (1)2 = {Z)16. (1)10 + (1)10 = (W)10

, ~', -~ lalle trykte og skrevne hjelpemidler. I Kalkulator som ikke kan kommunisere med andre.

Software Faults and Failure Testing Issues 8.1 / 8.2

Løsningsforslag eksamen 4MX230UM2-K 5.desember 2013

UNIVERSITETET l OSLO Det matematisk-naturvitenskapelige fakultet

Emne: Datamaskinarkitektur Emnekode:lO 134A Faglig veileder: Lars Kristiansen

Løsningsforslag øving 5, ST1301

SHL Talent Central. Hurtigveiledning. Innhold: Opprette et prosjekt Administrere og redigere et prosjekt Vise et prosjekt / vurderingsresultater

STORM&KULING VARSEL FOR NOVEMBER & DESEMBER PIRATENE

Det Gode Lokallag. Av: Ola Venås, lagsutviklingsleder NBU

Personvernsreglene. Bruk og beskyttelse av personopplysninger. Vår Policy om Personvern

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

Så har vi fått et nytt medlem i klubben. Hvordan skal vi beholde medlemmet?

Introduksjon til Retrievers nye analyseverktøy

1.0 Innledning Utstyr: Appendiks 3. LABHEFTE Bygg en fuktighetsmåler

s = 0, b) H0: d = 0 mot H1: d 0. T = D 0,81 s 10 SE(μˆ ) =

Victor Reader Stratus 12 M

Fjerne prosess og produkt rapport som overskrift. Ha det som bunntekst.

Dato. Alle skrevne og trykte. kalkulator som ikke kan kommunisere med andre.

RAMMER FOR MUNTLIG-PRAKTISK EKSAMEN I INFORMASJONSTEKNOLOGI ELEVER OG PRIVATISTER 2015

Skal gjøre. - Gjør oppgave 1-6 s Gjør oppgave 1, 2 og 4 s Gjør oppgave 1,2,3,5 og 7 s Gjør oppgave 1-3 s. 139

Hvordan ta med seg spillets idé i treninga og kampen?

Krav til pilot Magasinmodul. MUSIT Ny IT-arkitektur, planleggingsfasen

Sikkerhets- og samhandlingsarkitektur ved intern samhandling

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

Dagens situasjon... 1 Hano Systemet inneholder følgende funksjonalitet: Problemer:... 4 Fixit... 4

Belbinrapport Samspill i par

Signalregulering styring og prioritering. Prioritet. Primær og. Sekundærkonflikter. Arvid Aakre. NTNU / SINTEF Veg og samferdsel. arvid.aakre@ntnu.

IN1020. Logiske porter om forenkling til ALU

LØSNINGSFORSLAG TIL ØVING NR. 7, HØST 2009

Viktig informasjon om Fotosyntesen

Emne:Menneske/daumaskin-interaksjon ~mnekode: LVa'l3A Faglig veileder: Ann-Mari T orvatn

Arbeidsrutiner for klassekontakter Vedtatt i FAU-møte den...

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

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

Brukerhåndbok. Victor Reader Stream 2. Bojo as. Akersbakken 12, 0172 OSLO. Utgave 0213

Hobøl Drill Søknad om deltakelse pa drillkonkurranser i 2015

VEILEDER FOR EXTRANET

INF1410: Innføring i LTspice

Mona Sigvartsen Haugen. Barns trivsel voksnes ansvar

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

Veileder for Extranet. Juni 2013

INVITASJON TIL KURS FOR UNGDOM i BRUK AV SMARTTELEFONER

Vurderingsveiledning DAT3002 «Apparat og Utstyr»

Kontinuasjonseksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK

Det er et krav at dere gjennom prosjektet demonstrerer en beherskelse av:

Vurderingskriterier: Se Forskrift om opptak, studier og eksamen, 31 Sensur: Se Forskrift om opptak, studier og eksamen, 30

ReadIT. Sluttrapport

Brukerhåndbok. Victor Reader Stream 2. Bojo as. Akersbakken 12, 0172 OSLO. Utgave 0214

EVU kurs Arbeidsvarsling kurs for kursholdere Oslo uke 5/2008 og Trondheim uke 7/2008. Trafikk og fysikk

Versjonsbrev. for Extensor05 versjon

6 høgskolen i oslo. I Emne: I Emnekode: I Faglig veileder:~ -

7. Hvilket alternativ (A, B eller C) representerer hexadesimaltallet B737 (16) på oktal form?

Sang: "A B C - D E F G, H I J K L " DU KAN NOE INGEN ANDRE KAN

Plus500CY Ltd. Erklæring om personvern og cookie regler

Evaluering av tiltak i skjermet virksomhet. AB-tiltaket

Informasjonsmøte. Matematikk 1P (Mat 1011) og 1T (Mat 1013)

Kravspesifikasjon Leie av lokaler for ikt backup-løsning

BRUKERVEILEDNING - P360 VED NMBU. 1 Skjerming og tilgangsgrupper Versjon/dato for revisjon:

- Under Detaljer kan du finne eller redigere diverse informasjoner. Blant annet:

MED SPILLETS IDE I SPILL- OG KAMPDIMENSJONEN år.

Universitetet i Oslo Institutt for statsvitenskap

4.2. Prosesser ved konstant volum Helmholtz energi

TILLITSVALGTE: Intervjuguide

Informasjonsmøte. Matematikk 1PY (Mat 1001)

PERSONVERN. DIN INFORMASJON. DIN TRYGGHET

Boligpolitisk handlingsplan Leirfjord kommune

Brukerveiledning for utskrift fra mobile enheter. Canon og UniFlow, Konica Minolta og SafeQ

Introduksjon til DARK assembly

Hvordan ta med seg spillets idé i treninga og kampen?

Viktig sikkerhetsinformasjon for pasienter/omsorgspersoner

Sjekkliste for vurdering av en oversiktsartikkel

Instituttets krav om autentisitet og regler for obligatoriske oppgaver gjelder.

Tiden som aspirant i 1. Kolbotn

Beregnet til Halden kommune. Dokument type Notat. Dato Juni 2012 HALDEN KOMMUNE BRUKERUNDERSØKELSE PERSONER MED REDUSERT FUNKSJONSEVNE

Veiledning for rapportering av tekniske data for nettanlegg til NVE

Presentasjon Pokerarkitektur. Blå gruppe

1) Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en. 3) Hvor mye Cache har maskinen? Hvilken oppgave har Cache i maskinen?

Vurderingskriterier: Se Forskrift om opptak, studier og eksamen, 31 Sensur: Se Forskrift om opptak, studier og eksamen, 30

Indre Østfold Drillklubb Koreografi og trening

Et lite kompendium i Systemutvikling

Kapittelprøve hypoteser, planlegge og. laboratorieutstyr (se s. 20) CL-metodikk

Matindustriens Opplæringskontor i Oslo og Akershus OPPLÆRINGSBOK FOR AUTOMATISERINGSFAGET

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Ettervern og oppfølgingsrutiner nå r student er involvert i ulykke/hendelse eller ved dødsfåll:

VEILEDNINGSSDOKUMENT FOR

Årsplan: Naturfag 5 trinn

SOSIAL LÆREPLAN FOR ORMESTAD SKOLE

Elhub Vedlegg til BRS Målerverdirapportering, prosesspesifikke meldingsvalideringer

Uttalelse til planprogram og hovedutfordringer for vannregion Agder

«FRISKUS» FRISKE BARN I SUNNE BARNEHAGER

Statens lånekasse for utdanning. Brukerhåndbok Arbeidsflate for lærestedene

Høringsuttalelse NOU 2015:2 Å høre til

Transkript:

Avdelingfr ingeniørtdanning

Denne eksamnen består av fire ppgaver. Det er sannsynlig at de tre første ppgavene tilsammen vil telle rundt 50 prsent g at den siste ppgaven (ppgave 4) vil telle rundt 50 prsent. Oppgave Oppgave a En funksjn F er gitt ved F(X,Y,Z) = ~m(o,,6,7). Tegn en kmbinatrisk krets sm implementerer F. Kretsen skal innehlde så få prter sm mulig, g den skal ikke innehlde ne annet enn AND-, OR- g NOT-prter. Oppgave b En funksjn F er gitt ved F(W,X,Y,Z) = ~m(5,6,7,3,4,5). Tegn en kmbinatrisk krets sm implementerer F. Kretsen skal innehlde så få prter sm mulig, g den skal ikke innehlde ne annet enn AND-, OR- g NOT-prter. Oppgave 2 Du skal skrive et assemblerprgram fr assembleren TASM. Prgrammet skal lese inne en rekke psitive heltall fra bruker. Du har gitt en macr les inn. Denne macren ber bruker m å gi et heltall, leser inn dette heltallet g legger det i registeret al. Macren sørger fr at heltallet bruker ppgir ligger i intervallet O... 255. Macren frandrer ikke innhldet av andre registere enn al. (Dette er alt du trenger å vite m macren lesinn. Du trenger ikke å vite hvrdan innmaten i macren ser ut.) Skrivet assemblerprgram sm leser inn tall fra bruker ved å kalle macren lesinn. Innlesningen av tall skal terminere når macren lesinn legger O i registeret al, eller når bruker frsøker å skrive inn mer enn 00 tall. Når prgrammet terminerer skal summen av alle partallene sm ble skrevet inn, ligge i registeret cx, mens summen av alle ddetallene skal ligge i registeret dx. (Husk at et partall er et tall sm er delelig på 2, g at et ddetall er et tall sm ikke er det.) Oppgave 3 Funksjnen F er gitt ved det blske uttrykket X (Y + Z) + X Y Z. Oppgave a Implementer F ved hjelp av AND-prter, OR-prter g NOT-prter. Du skal ikke bruke prter sm har mer en t innganger. Oppgave b Gi F sm en sum av mintermer. Oppgave c Gi F sm et prdukt av makstermer.

Oppgave d Implementer F utelukkende ved help av NOR-prter g NOT-prter. Du kan bruke NORprter med et vilkårlig antall innganger. Implementasjnen skal være så flat sm mulig, dvs. det skal være maksimalt t NOR-prter mellm utgangen g hver av inngangene. Oppgave e Implementer F utelukkende ved hjelp av NOT-prter g en 4-til-l multiplekser. Oppgave 4 Denne ppgaven dreier seg m en datamaskin med en meget enkel arkitektur. Figur l er et diagram ver maskinens datapath. La ss begynne med å se nærmere på maskinens aritmetisk-lgiske enhet. Den er merket AL U i figuren. Den tar imt et l6-bits tall på inngangen merket A g et l6-bits tall på inngangen merket B. Den gir ut ett l6-bits tall på utgangen merket C. Enheten har t styringsbit Sl g SO. Tabellen styringsbit 8 80.} l O input A B a b a b a b a b utput C b-a a 26 - (O hvis underflw) ("6 enere") beskriver funksjnaliteten til ALU. Vi ser at ALU "trekker fra" når Sl = O g SO = O. Merk at det er tallet på inngang A sm trekkes fra tallet på inngang B! Ikke mvendt. Dersm en subtraksjn ender med underftw, vil ALU gi O sm utput. Videre ser vi at når Sl = O g SO =, så vil input på inngangen A "gå rett gjennm ALU". Når Sl = g SO = O, vil utput fra AL U være 26 - uansett hva inputene A g B måtte være. (Merk at (26 - )0 = ()2.) Når Sl = g SO =, vil utput fra ALU være O uansett hva inputene A g B måtte være. Videre finner du i diagrammet ver datapathen en standard 5-til-32 dekder med "enable"- inngang E, en standard 32-til- multiplekser g en standard 2-til- multiplekser. Du ser gså at datapathen innehlder registere. Dette er 6 bits standard registere med en "lad"- inngang tegnet på venstre side. Hver utgang fra dekderen er kblet til "lad"-inngangen på ett register. Vi kaller registerne sm er kblet pp mt dekderen på denne måten fr R, RI, R2,..., R3. Utgang i fra dekderen er kblet til "lad"-inngangen på registeret Ri. I datapathen finner du gså et "perand"-register sm er merket Opr. (I teksten kalles dette registeret Opr.) Diagrammet viser at datapathen har seks input R (5 bit), M ( bit), L ( bit), Sl ( bit), SO ( bit) g E ( bit). Det betyr at den styres av kntrllrd på 0 bit. Vi sier at et slikt kntrllrd skal gis på frmen (R, M, L, Sl, SO, E). Merk at R går til tre frskjellige enheter (den.lille multiplekseren, den stre multiplekseren g dekderen). Registeret Opr har en spesiell g meget sentral rlle i datapathen. Utgangen fra dette registeret er kblet direkte til inngang A på den aritmetisk-lgiske enheten ALU. Dette medfører at perasjner sm R7 +- R7 - Rs, dvs. legge differansen av innhldet iregisterne R7 g Rs i registeret R7, må utføres ver t klkkesykler. Under den første klkkesyklusen 2

må innhldet av registeret Rs verføres til register t Opr. Under den andre klkkesyklusen, må innhldet av registeret R7 styres til inngang B på ALU, g utput fra ALU må styres til registeret R7. Bitene M g L i kntllrdet styrer hvilke data sm verføres til registeret Opr. Dersm L =, lastes det nye data inn i Opr. Dersm L = O, lastes det ikke nye data inn i Opr. Bitet M styrer hvr data eventuelt skal lastes fra. Dersm M =, vil data sm kmmer fra et eller annet register (via den stre multiplekseren) verføres til Opr. Dersm M = O, settes de mest signifikante bitene i Opr til O, g de 5 minst signifikante bitene i Opr settes til tallet sm gis av de fem bitene i input R. Oppgave a Gi et kntrllrd sm legger (000)2 i registeret Opr. ((000)2 er desimaltallet 7.) Kntrllrdet skal ikke frandre innhldet av andre registere enn Opr. Gi et kntrllrd sm legger O i registeret R3. Kntrllrdet skal ikke frandre innhldet av andre registere enn R3. (Slutt. Oppgave a.j I figur 2 ser vi hvrdan datapathen inngår sm en del aven primitiv ensykel datamaskin. Du finner den sm kmpnenten merket Datapath. Maskinen kan prgrammeres ved at man legger et assemblerprgram i maskinens ROM. Assemblerspråket har seks instruksjner: () cpr c (2) rpr Rk (3) put Rk (4).ub Rk (5) Bet Rk (6) reset Rk Vi nummerer g tilrdner intruksjnene til hver sin binærkde: 000 00 00 0 00 0 cpr rpr put sub Bet reset Hver instruksjn skal gis ved 8 bit i,il,i2,ij,i4,is,i6,i7. Vi bruker de tre første bitene i,il,i2 til å angi hvilken av de seks intruksjnen det dreier seg m. De fem siste bitene i3, i4, is, i6, i7 angir instruksjnens parameter.. Instruksjnen cpr c. (i = O, il = O, i2 = O.) Denne instruksjnen setter registeret Opr til knstanten c. Bitene i3, i., is, i6, i7 gir c. (Intet annet register enn Opr skal frandre innhld når denne instruksjnen eksekveres.). Instruksjnen rpr Rk. (i = O,il = O,i2 =.) Denne instruksjnen utfører prasjnen Opr +- RA:, dvs. den,?verfører innhldet av registeret RA: til registeret Opr. Bitene i3, i4, is, i6, i7 gir k. (Intet annet register enn Opr skal frandre innhld når denne instruksjnen eksekveres.). Instruksjnen put Rk. (i = O, il =, i2 = O.) Denne instruksjnen utfører prmjnen Rk t- Opr, dvs. den verfører innhldet av registeret OpT til registeret Rk. Bitene i3, i4, is, i6, i7 gir k. (Intet annet register enn Rk skal frandre innhld når denne instruksjnen eksekveres.) Instruksjnen sub Rk. (i = O, i l =, i2 =.) Denne instruksjnen utfører prasjnen Rk f- Rk - Opr, dvs. den legger differansen mellm innhldet iregisterne Rk ~

g Opr i registeret Rk' Bitene i3, i4, is, i6, i7 gir k. (Intet annet register enn Rk skal frandre innhld når denne instruksjnen eksekveres.). Instruksjnen set Rk. (i =, il = O, i2 = O.) Denne instruksjnen utfører prasjnen Rk ~ 26 -, dvs. registeret Rk settes til "bare enere". Bitene i3,i4,is,i6,i7 gir k. (Intet annet register enn RA; skal frandre innhld når denne instruksjnen eksekveres. ). Instruksjnen reset Rk. (i =, il = O, i2 =.) Denne instruksjnen utfører prasjnen Rk t-- O, dvs. registeret Rk settes til "bare nuller". Bitene i3,i4,is,i6,i7 gir k. (Intet annet register enn Rk skal frandre innhld når denne instruksjnen eksekveres.) Oppgave b Skrivet prgram i assemblerspråket sm utfører perasjnen R +- RI - R2' (Prgrammet skal altså trekke innhldet i registert R2 fra innhldet i registert RI, Differeansen skal legges i registeret R. Se brt fra prblemer sm måtte ppstå ved underflw.) Hvert av registerne RI, R2"'" R3I skal hlde den samme verdi når prgrammet terminerer sm det hldt da prgrammet staret. (Slutt. Oppgave b.) Oppgave c Under finner du et prgram skrevet i assemblerspråket. Prgrammet er gitt i binær frm, dvs. prgrammet er gitt slik det vil se ut i maskinens ROM. 00 0000000 0 Frklar hva dette prgrammet gjør. Svar krt! (Slutt. Oppgave c.) Kmpnetene i figur 3 sm er merket ROM g Cunter er standard hyllevare. ROM er et 32 x 8 bit "read nly memry", dvs. at det har en adresseinngang på 5 bit g gir 8 bit ut (i, il, i2, i3, i., is, i6, i7)' Cunter er en standard 5-bits teller med parallell innlasting (lad). Tabellen lad cunt )( perasjn øker med parallell innlasting frteller det du trenger å" vite m Cunter. Figuren viser at inngangen lad er kblet til lgisk O, g inngangen cunt er kblet til lgisk. (Vi antar at Cunter er nullstilt når eksekveringen av et prgram starter.) Ingen av figurene våre viser klkker g klkkeinnganger, men samtlige klkkeinnganger i arkitekturen er selvsagt kblet til den sammen klkken. Den eneste kmpntente i figur 3 vi ikke har frklart, er maskinens instruksjnsdekder, dvs. den kmbinatriske kretsen sm er merket Decder. Det er din ppgave å gi funksjnaliteten til denne kretsen slik at maskinen virker g blir i stand til å eksekvere assemblerkde sm ligger i ROM. 4

Oppgave d Gi funksjnaliteten til kretsen Decder ved å fylle ut tabellen Eventuelle "dn't care"-felter i tabellen skal markeres (ved hjelp av kryss). Du skal ikke gjøre ne annet enn å fylle ut tabellen, f.eks. tegne kretsen. (Slutt. Oppgave d.) Vi skal utvide assemblerspråket vårt med t hppinstruksjner:. Instruksjnen jz linjenr. (i =,il =,i2 = O.) Dette er en betinget hppinstruksjn. De fem siste bitene i3, i4, is, i6, i7 frteller hvilken linje i assemblerprgrammet det eventuelt skal hppes til. Det skal hppes dersm registeret Opr hlder O.. Instruksjnen jmp linjenr. (i =,i =,i2 =.) Dette er en ubetinget hppinstruksjn. (Det skal hppes hver gang instruksjnen utføres.) De fem siste bitene ij,i4,is,i6,i7 frteller hvilken linje i assemblerprgrammet det skal hpp es til. Oppgave e Skisser hvrdan arkitekturen i figur 2 g 3 kan utvides, slik at maskinen vår gså blir i stand til å eksekvere disse t hppintsruksjnene. Skissen skal være så detaljert sm mulig, men du skal ikke spesifisere innmaten i den utvidede maskinens instruksjnsdekder. Alle andre kretser g enheter den utvidede maskinen måtte innehlde, kan du spesifisere innhldet av dersm du har tid. (Slutt. Oppgave e.) Oppgave f Her er et lite prgram gitt i Java-aktig kde: it RO = O then Ri:= else Ri:= 2 Skriv det tilsvarende prgrammet i det utvidede assemblerspråket. (Språket med instruksjnene cpr, rpr, put, sub, set, reset, jmp g jz.) Prgrammet skal altså legge i registeret RI dersm det ligger O i R. Ligger det ligger ne annet i R, skal prgrammet legge 2 i registeret RI. (Ikke gi prgrammet på binær frm.) (Slutt. Oppgave J.) 5

Oppgave g (Vanskelig) Skrivet prgram i det utvidede assemblerspråket, dvs. språket med instruksjnene cpr, rpr, put, sub, Bet, reset, jmp g jz, sm øker verdien av registeret R med l. Dette er faktisk mulig, men prgrammet må ødelegge innhldet av nen hjelperegistere. Se brt fra prblemer sm ppstår ved eventuell verflw. (Slutt. Opggave g.) 6

E R /'5".~ 5-til-32 DECODER i 3. RO Rl R3 A "5 32-til-l i MUX 3. R '~S"". 6 Ilr-~~ M 2-til-l!lUX L Opr 5 s A ALU c B. Figure : Datapath

Figure 2: Hele arkitekturen 8