Løsningsforslag til eksamen i IN 147(A)
|
|
- Hannah Løken
- 6 år siden
- Visninger:
Transkript
1 Løsningsforslag til eksamen i IN 147(A) Dag Langmyhr (oppgave 1, 2 og 6) Sigbjørn Næss (oppgave 3, 4 og 5) 29. mai Oversettelse Assemblerversjonen av split ser slik ut: 1 #include <regdef.h> 2 3.text 4.globl split 5 6 # Navn: split. 7 # Synopsis: Splitter en vektor i stor» og liten» del. 8 # C-signatur: int split(int a[], int n). 9 # Registre: a0: &a[0] 10 # a1: n 11 # t0: i 12 # t1: &a[i] 13 # t2: a[i] 14 # t3: &a[big] 15 # t4: a[0] 16 # t9: bruk og kast» 17 # v0: big split: move v0,zero # big = 0; 20 move t3,a0 # addi t0,a1,-1 # (n-1) 23 sra t0,t0,1 # i = /2; 24 sll t9,t0,2 # [i] 25 add t1,a0,t9 # $t1 = &a ; 26 lw t9,0(a0) # t = a[0]; 27 lw t4,0(t1) # $t4 = a[i]; 28 sw t9,0(t1) # a[i] = t; 29 sw t4,0(a0) # a[0] = $t4; li t0,1 # i = 1; 32 addi t1,a0,4 # 33 spl_1: bge t0,a1,spl_9 # while (t0 < n) 34 # 35 lw t2,0(t1) # if (a[i] 36 bge t2,t4,spl_5 # <a[0]) 37 # 38 addi v0,v0,1 # ++big; 39 addi t3,t3,4 # 40 lw t9,0(t3) # t = a[big]; 41 sw t2,0(t3) # a[big] = a[i]; 42 sw t9,0(t1) # a[i] = t; 43 # } 44 spl_5: addi t0,t0,1 # ++i; 1
2 45 addi t1,t1,4 # 46 j spl_1 # } spl_9: lw t9,0(t3) # t = a[big]; 49 sw t4,0(t3) # a[big] = a[0]; 50 sw t9,0(a0) # a[0] = t; jr ra # return big; Følgende er verdt å merke seg: Vektoren er en int-vektor, så adressene øker med 4 for hvert element (se linje 24, 32 og 45). 2 Maskinkode Den lille funksjonen, som altså finner det minste av to heltall, ser slik ut i assemblerspråk: 1 # Navn: min. 2 # Synopsis: Finner det minste av to heltall. 3 # C-signatur: int min(int a, int b). 4 5 min: add v0,zero,a0 6 slt t0,a0,a1 7 bne t0,zero,min_x 8 nop 9 add v0,zero,a1 10 min_x: jr ra 11 nop (Det er lagt inn to nop-er slik at man skal slippe å bekymre seg om pipelineen.) 3 Digitalteknikk Design av T-flipflop med D-flipflop og eksterne porter. Observasjonen man gjør her er at den karakteristiske likningen til en D-flipflop er Q(t + 1) = D, dvs at nestetilstanden er lik nåværende inngang (D-inngangen). For en T- flipflop er nestetilstand lik 1 når Q(t) =0og T = 1, ognårq(t)=1og T = 0, dvsatq(t+1)=q(t)t +Q (t)t. Dette kan implementeres med en XOR-port slik det er vist i figuren under: Figur 1: Løsning på oppgave 3A Eventuelt kan man bruke 2 AND-porter, 1 OR-port og 2 invertere istedenfor XOR-porten, men dette er ikke like elegant siden man bruker 5 porter istedenfor
3 Det letteste for å sjekke om de foreslåtte forenklingene er korrekte er å sette opp sannhetsverditabeller for F 1 og F 2,ogG 1 og G 2, og sjekke at for samme input gir de samme output: a b c F 1 F 2 G 1 G Tabell 1: Sannhetsverditabell til løsning av oppgave 3b Av tabell 1 ser man at F 1 = F 2,ogatG 1 =G 2. 4 Instruksjonssett Generell kommentar: Oppgave a c ligner på tilsvarende oppgave som ble gitt i 1998, men bør være tilstrekkelig forskjellig til at man må ha forstått problemstillingen for å kunne svare korrekt. Oppgave 4a Hvis Ainvert=1, Binvert=1, CarryIn=1 og Operation=0, utføres logisk AND mellom den inverterte verdien av a og b, altså, Result=a AND b.selvom Operation=0, vil adderen fremdeles generere Carryout, og for de gitte verdiene a = 0, b = 0 blir CarryOut=1 (fordi a = 1, b = 1 og resultatet av addisjonen = 11). Oppgave 4b Gitt kontrollordet i figur 5 utfører ALU-en Result=a + b + 1. (Legg merke til at dette er aritmetisk «+» og ikke logisk OR.) Dette bør observeres som Result=(a + 1)+b=b a, fordi man nå beregner 2-komplementet av a ved først å snu alle bit-ene og så legge til 1 ved å sette CarryIn=1. Forståelsen av hva ALU-en utfører med input gitt i denne oppgaven er nødvendig for å kunne svare på oppgave 4c. Oppgave 4c For å svare på dette punktet, må man granske både figur 3, 4, 5 og 6. Ved å betrakte kontrollordet i figur 5 finner man ut hvilke signalveier som benyttes i datapath-en i figur 3, mens oppgave 4b benyttes som underlag for å bestemme hva ALU-en gjør. Selve instruksjonsformatet sier hva som er source- og target-registre for operasjonen. RegDst=0 angir at resultatet på instruksjonen skal legges tilbake i registerfilen gitt ved RT. ALUSrc=0 betyr at ALU-inngang B skal hentes direkte fra registerfilen og ikke direkte fra instruksjonen. MemReg og MemRead er begge 0 siden det ikke skal leses fra minnet. Branch=1 betyr at det er en hoppinstruksjon som vil endre hvor neste instruksjon skal hentes fra avhengig av AluZero og InvZero. I dette tilfellet vil instruksjonen gjøre et hopp hvis AluZero=1 (det forutsettes 3
4 at AluZero=1 når resultatet av operasjonen i ALU-en er 0), siden InvZero=0, med andre ord vil instruksjonen gjøre et betinget hopp hvis resultatet av operasjonen i ALU-en er 0. ALU-en utfører operasjonen gitt i oppgave 4, dvs at den beregner den aritmetiske differensen mellom b- og a-inngangene. Da blir operasjonen som utføres lik «RT = RT - RS», med hopp hvis resultatet av operasjonen er 0, m.a.o «General decrement and branch if zero». Ulempen med instruksjonen er at RS kan ha en vilkårlig verdi, slik at man kan risikere å dekrementere seg «forbi» 0, og følgelig ikke foreta hopp, selvom det kanskje var tanken. En mer naturlig variant ville nok være å sjekke på om resultatet var større/mindre enn 0 enn eksakt 0 i et tilfelle med vilkårlig dekrementeringsverdi. Oppgave 4d Denne oppgaven kan løses på flere måter. En mulighet er å sjekke om bit 15 1 er satt, og hvis det er tilfelle, sette inn 1-bit på de øverste 16 bitene og 0 ellers. Det er nødvendig å sette inn 0 hvis tallet er positivt fordi det ikke er gjort forutsetninger om hva som ligger i dette feltet. Funksjonen kan da se ut slik: 1 void SignExtend(int *inpval) /* Forutsetter at int er 32 bit */ 2 3 int temp = *inptval; 4 5 if (temp & 0x ) /* Sjekk hva bit 15 er satt til */ 6 temp = temp 0xFFFF0000; /* Tallet er negativt, sett inn 16 1-bit */ 7 else 8 temp = temp & 0x0000FFFF; /* Tallet er positivt, sett inn 16 0-bit */ 9 10 *inpval = temp; 11 return; 12 } Her kan man selvfølgelig programmere mer elegant og kompakt, f.eks 1 Void SignExtend(int *inpvalue) 2 3 *inpval = (*inpval)& ? 4 (*inpval) 0xFFFF0000 : 5 (*inpval) & 0x0000FFFF; 6 return; 7 } 5 Flervalgsoppgave 5a) Påstand 1 er korrekt 5b) Påstand 2 er korrekt 5c) Påstand 4 er korrekt 5d) Påstand 1 er korrekt 5e) Påstand 2 er korrekt 5f) Påstand 4 er korrekt 5g) Påstand 4 er korrekt 5h) Påstand 3 er korrekt 1 Bit-ene nummereres fra 0 til 31 fra høyre mot venstre på vanlig måte. 4
5 6 Parallellstyring Det første problemet er et rent produsent/konsument-problem, men med den globale telleren n i tillegg. Vi trenger derfor de faste tre semaforene pluss én til å kontrollere n. 1 semaphore n_sem = 1, tomme = 10, fulle = 0, mutex = 1; 2 3 void P(int i) 4 5 int nx; 6 7 while (1) 8 down(n_sem); nx = n++; up(n_sem); 9 10 generér fargene i kolonne `nx'» 11 down(tomme); down(mutex); 12 legg fargedata i bufferen» 13 up(mutex); up(fulle); 14 } 15 } void K(void) while (1) 20 down(fulle); down(mutex); 21 hent en kolonne med fargedata fra bufferen» 22 up(mutex); up(tomme); 23 tegn kolonnen på skjermen» 24 } 25 } Når det gjelder problemet med de spisende filosofer, har jeg valgt å bruke en melding som inneholder tre elementer: mottaker, avsender og avsenders status. Prosessene identifiseres som K = 0, F 1 = 1, F 2 = 2, osv. Aktuell status er sulten og mett. 1 typedef enum sulten, mett } status; 2 typedef struct 3 int til, fra; 4 status stat; 5 } f_meld; Da er det enkelt å skrive filosofenes kode; når de er sultne, ber de kelneren om gafler og venter til de får dem. Når de har spist ferdig, sender de ny melding til kelneren om at andre kan få gaflene. 6 void filosof(int i) 7 8 f_meld m; 9 10 while (1) 11 tenk» 12 m.til = 0; m.fra = i; m.stat = sulten; send(q, 0, &m); 13 receive(q, i, &m); 14 spis» 15 m.til = 0; m.fra = i; m.stat = mett; send(q, 0, &m); 16 } 17 } Kelneren er litt mer komplisert å programmere, for han må holde orden på en kø av ventende sultne filosofer. 5
6 18 void kelner(void) f_meld m; 21 int ant_g = g»; while (1) 24 receive(q, 0, &m); 25 if (m.stat == sulten) 26 if (ant_g >= 2) 27 ant_g -= 2; 28 m.til = m.fra; m.fra = 0; send(q, m.til, &m); 29 } else sett m.fra inn i k en av de som venter» 30 } else 31 ant_g += 2; 32 if ( noen som venter på gafler») 33 ant_g -= 2; 34 m.til = neste i k en»; m.fra = 0; send(q, m.til, &m); 35 } 36 } 37 } 38 } 6
Oppgave 2 Maskinkode (vekt 12%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 47 Program- og maskinvare Eksamensdag: 29. mai 2 Tid for eksamen: 9. 5. Oppgavesettet er på 8 sider. Vedlegg: Ingen Tillatte
DetaljerLøsningsforslag til eksamen i IN147(A)
Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 27. mai 1998 Oppgave 1: Oversettelse En ganske rett frem oversettelse ser slik ut: 1 #include 2.text 4.globl iavg 6 #
DetaljerInnhold. 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
DetaljerOppgave 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:
DetaljerLøsningsforslag til eksamen i IN 147 og IN 147A
Løsningsforslag til eksamen i IN 17 og IN 17A Dag Langmyhr Øystein Gran Larsen Våren 1996 1 Oversettelse I vårt forslag har vi lagt større vekt på at oversettelsen skal vært «rett frem» og lett forståelig
DetaljerLøsningsforslag til eksamen i IN 147(A)
Løsningsforslag til eksamen i IN 147(A) Dag Langmyhr (oppgave 1, 4 og 6) ØysteinGranLarsen (oppgave 2, 3 og 5) 31. mai 1999 1 Oversettelse Funksjonen strxxx går gjennom en tekst og finner adresessen til
DetaljerDagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form
Dagens tema Dagens temaer hentes fra kapittel 3 i læreboken Repetisjon, design av digitale kretser Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works
DetaljerOppgave 1 Oversettelse (vekt 16%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 31. mai 1999 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg: Tillatte
DetaljerOversikt over IN147(A):
Oversikt over IN147(A): Programmerings- og operativsystem-delen Oppsummering for IN147(A) Bit-mønstre Tallsystemer MIPS assemblerspråk C Datatyper Tillegg for de som tar hele IN147 Operativsystemer Parallellisering
DetaljerLøsningsforslag til eksamen i IN147(A)
Løsningsforslag til eksamen i IN147(A) Dag Langmyhr Øystein Gran Larsen 12 mai 1997 Oppgave 1: JK-flip-flop Boolsk ligning D-signalet bestemmer neste utgang, dvs Q(t + 1), og D-signalet tar derfor de samme
DetaljerIN 147 Program og maskinvare
Dagens tema: Oversikt over min del av IN147A Bit-mønstre Tallsystemer MIPS assemblerspråk C Datatyper... samt for de som tar hele IN147 Operativsystemer Parallellisering Pensum Eksamen Veien videre Ark
DetaljerDagens 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 15. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerDagens 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!
DetaljerDagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form
Dagens temaer Dagens temaer hentes fra kapittel 3 i læreboken Oppbygging av flip-flop er og latcher Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works
DetaljerLøsningsforslag til eksamen i INF2270
Løsningsforslag til eksamen i INF227 Oppgave 9 Omid Mirmotahari Oppgave 6 Dag Langmyhr. juni 24 Eksamen INF227 Sensorveiledning Oppgave 2 Kretsforenkling Hva er funksjonsuttrykket for Output gitt av A
DetaljerITPE2400/DATS2400: Datamaskinarkitektur
ITPE2400/DATS2400: Datamaskinarkitektur Forelesning 6: Mer om kombinatoriske kretser Aritmetikk Sekvensiell logikk Desta H. Hagos / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art
DetaljerLøsningsforslag til eksamen i INF103
Løsningsforslag til eksamen i INF03 Kjell Åge Bringsrud (oppgave 4 og 5) Dag Langmyhr (oppgave 2 og 3). desember 2003 Sigbjørn Næss (oppgave og 6) Boolsk algebra Sannhetsverditabellen er vist i tabell
DetaljerDagens tema: Enda mer MIPS maskinkode
Dagens tema: Enda mer MIPS maskinkode (P&H: 3.6 3.8 + 6.1 + A.6 + A.10) Pseudoinstruksjoner Flere instruksjoner Mer om funksjonskall Stakken Avhengigheter Direktiver Alt er bit! Kommunikasjon med C Ark
DetaljerKort notat om parallellstyring IN147
Kort notat om parallellstyring IN147 Kristin Skar 18. mai 2001 1 Kommunikasjon mellom prosesser Mange problemer man kommer borti kan kreve en paralell løsning: Man kan ha behov for økt hastighet, og dermed
DetaljerIN 147 Program og maskinvare
Dagens tema: Lettvektsprosesser Moderne synkroniseringsmetoder Meldinger Monitorer Programkode er også bit-mønstre! Selvmodifiserende kode Ark 1 av 23 Forelesning 7.5.2001 Lettvektsprosesser Det er vanlig
DetaljerDagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch
Dagens temaer Sekvensiell logikk: Kretser med minne RS-latch: Enkleste minnekrets D-flipflop: Forbedring av RS-latch Presentasjon av obligatorisk oppgave (se også oppgaveteksten på hjemmesiden). 9.9.3
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 15. juni 2006 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 7 sider. Vedlegg: INF1070 Datamaskinarkitektur Ingen
DetaljerOppgave 1 JK-flip-flop (Total vekt 20%)
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 12. mai 1997 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte
DetaljerLøsningsforslag til eksamen i INF2270
Løsningsforslag til eksamen i INF2270 Omid Mirmotahari (oppgave 1 4) Dag Langmyhr (oppgave 5 6) 14. juni 2012 Eksamen inf2270 V12 - fasit 1) (5%) Forkort følgende uttrykk med karnaugh diagram zw xy 00
DetaljerForelesning 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF103 Fra brukergrensesnitt til maskinvare Eksamensdag: 11. desember 2003 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerINF1400 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
DetaljerEn oppsummering (og litt som står igjen)
En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerProsessoren. 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)
DetaljerOppsummering 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
DetaljerHva er datamaskinarkitektur?
Hva er datamaskinarkitektur? Datamaskinarkitektur forholder seg til informatikk som motorlære forholder seg til samferdsel! Motorlære: bil buss motorsykkel generator bremse akselerere... Datamaskinarkitektur:
DetaljerHvordan en prosessor arbeider, del 1
Hvordan en prosessor arbeider, del 1 Læringsmål Kompilator, interpret og maskinkode CPU, registre Enkle instruksjoner: de fire regnearter Mer informasjon om temaet Internett Lokalnett (LAN) Mitt program
DetaljerOverordnet 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
DetaljerOppgaver til kodegenerering etc. INF-5110, 16. mai, 2014
Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) Se på detaljene i hvorfor
DetaljerDen siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen
Den siste dagen Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen En oppsummering Oppsummering Pensum Læreboken til og med kapittel 7, kompendiet, forelesningene
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 14. juni 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 9 sider. Vedlegg: INF1070 og INF2270 Datamaskinarkitektur
DetaljerDagens tema: Synkronisering
Dagens tema: Synkronisering Kappløp og kritiske regioner Blokkering Produsent/konsument-problemet Semaforer Fraktaleksemplet med semaforer og delt lager. «De spisende filosofer»: 3 gale løsninger En foreløbig
DetaljerIN 147 Program og maskinvare. Dagens tema:
Dagens tema: Semaforer Hva er en semafor? Produsent/konsument-problemet Fraktaleksemplet med semaforer og delt lager. Klassisk eksempel: «De spisende filosofer» Vranglås «De spisende filosofer»: løsning
DetaljerPensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering
Oppsummering Pensum Grovt sett er alt fra forelesningene og øvingsoppgavene pensum. Detaljert oversikt finnes på kurssidene. Hovedtanker fra kurset Litt om eksamen Hvorfor har dere lært dette? Ikke mange
DetaljerDagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er
Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre INF2270 1/19
DetaljerDagens tema. Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere
Dagens tema Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere Formål: Nyttige å bruke under programmeringen Trening i programmering i C
DetaljerDagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.
Dagens temaer 1 Dagens Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre Sekvensiell
DetaljerIN 147 Program og maskinvare. Vranglås De spisende filosofer Lettvektsprosesser Moderne synkroniseringsmetoder Meldinger Monitorer Linda
Dagens tema: Vranglås De spisende filosofer Lettvektsprosesser Moderne synkroniseringsmetoder Meldinger Monitorer Linda Hvorfor nyttig? Parallellstyring brukes mye innen operativsystemer, systemprogrammer,
DetaljerDagens 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:
DetaljerOppgaver til kodegenerering etc. INF-5110, 12. mai, 2015
Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)
DetaljerINF2270. 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
DetaljerOppsummering av IN147 siste del Operativsystemer Parallellisering Veien videre
Oppsummering av IN147 siste del Operativsystemer Parallellisering Veien videre Ark 1 av 12 Forelesning 12.5.1999 Operativsystemer I kurset har vi fokusert på UNIX, men prinsippene gjelder i større eller
DetaljerEn mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:
2 Dagens temaer Dagens 4 Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture Design Flip-flop er av sekvensielle kretser Tellere Tilstandsdiagram og registre Sekvensiell Hvis
DetaljerLøsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006
Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006 Oppgave 1 Papirsimulering av utførende enhet Styreordsekvens Registeroperasjon 011 011 001 0 0010 0 1 R3 R3 + R1 ; R3 = 01100111
DetaljerDagens tema: Synkronisering
Dagens tema: Synkronisering Kappløp og kritiske regioner Blokkering Produsent/konsument-problemet Semaforer Fraktaleksemplet med semaforer og delt lager. «De spisende filosofer»: 3 gale løsninger En foreløbig
DetaljerITPE/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
DetaljerRepetisjon digital-teknikk. teknikk,, INF2270
Repetisjon digital-teknikk teknikk,, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse,
DetaljerTDT 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
DetaljerINF2270. 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
DetaljerForelesning 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
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerDagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre
Dagens tema Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Tellere og registre Design av sekvensielle kretser (Tilstandsdiagram) 1/19 Sekvensiell
DetaljerKapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
DetaljerSIE 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
DetaljerINF1400. Kombinatorisk Logikk
INF1400 Kombinatorisk Logikk Hva lærte vi forrige uke? www.socrative.com Student login Omid Mirmotahari 1 Læringsutbytte Kunnskapsmål: Kunnskap om hvordan addisjon og subtraksjon for binære tall gjøres
DetaljerEKSAMENSOPPGAVE. Kontaktperson under eksamen: Steffen Viken Valvåg Telefon:
EKSAMENSOPPGAVE Eksamen i: INF-1100 Innføring i programmering og datamaskiners virkemåte Dato: Tirsdag 8. desember 2015 Tid: Kl 09:00 13:00 Sted: Teorifagbygget, Hus 1 Tillatte hjelpemidler: Ingen Oppgavesettet
DetaljerOppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Grovt sett inneholder det En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerIN1020. Logiske porter om forenkling til ALU
IN2 Logiske porter om forenkling til ALU Hovedpunkter Utlesing av sannhetsverdi-tabell; Max og Min-termer Forenkling av uttrykk med Karnaugh diagram Portimplementasjon Kretsanalyse Adder og subtraktor
DetaljerSIE 4005, 2/10 (2. Forelesn.)
SIE 4005, 2/10 (2. Forelesn.) Første forelesning: 7.1 Datapaths and operations 7.2 Register Transfer operations 7.3 Microoperations (atitm., logic, shift) 7.4 MUX-based transfer 7.5 Bus-based transfer
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerForelesning 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
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Hovedkortet Grovt sett inneholder et hovedkort En prosessor Minne (for både program og data) Klokke Kontrollere for periferutstyr.
DetaljerTFE4101 Krets- og Digitalteknikk Høst 2016
Norges teknisk naturvitenskapelige universitet Institutt for elektronikk og telekomunikasjon TFE40 Krets- og Digitalteknikk Høst 206 Løsningsforslag Øving 6 Teknologi-mapping a) Siden funksjonen T er på
DetaljerTDT4160 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
DetaljerTema for denne forelesningen: tilpassing til pipeline. forwarding. eliminere NOP. faktisk MIPS. in 147, våren 1999 pipelining 1 9
Tema for denne forelesningen: tilpassing til pipeline forwarding eliminere NOP faktisk IPS in 147, våren 1999 pipelining 1 9 Schedulering av instruksjoner #include int kombiner( int antall, int*
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum
Detaljerif (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3 Terje Rydland - IDI/NTNU 2 if (be): else (not_to_be): 3 Læringsmål og pensum
DetaljerTDT 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
DetaljerEKSAMEN 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
DetaljerAB 0 CD + ABC 0 D 0 + ABC 0 D + ABCD 0 + ABCD + AB 0 CD 0
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 15. desember 1993 Tidforeksamen: Oppgavesettet erpå5sider. Vedlegg: Tillatte hjelpemidler: IN240DigitalSystemkonstruksjon
DetaljerKodegenerering, 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
DetaljerDagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang
Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Kort repetisjon fra forrige gang! Kombinatorisk logikk! Analyse av kretser! Eksempler på byggeblokker! Forenkling
DetaljerINF1400. Kombinatorisk Logikk
INF4 Kombinatorisk Logikk Oversikt Binær addisjon Negative binære tall - 2 er komplement Binær subtraksjon Binær adder Halvadder Fulladder Flerbitsadder Carry propagation / carry lookahead Generell analyseprosedyre
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk
DetaljerOppsummering av digitalteknikkdelen
Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk
DetaljerEKSAMENSOPPGAVE, INF-2200
EKSAMENSOPPGAVE, INF-2200 Eksamen i : INF-2200 Datamaskinarkitektur og organisering Eksamensdato : Mandag 20. februar 2012 Tid : 09:00 13:00 Sted Tillatte hjelpemidler : Aud. max. : Ingen Oppgavesettet
DetaljerINF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
DetaljerMAT1030 Plenumsregning 3
MAT1030 Plenumsregning 3 Ukeoppgaver Mathias Barra - 30. januar 2009 (Sist oppdatert: 2009-02-02 14:26) Plenumsregning 3 Oppgave 2.7 - Horners metode (a) 7216 8 : 7 8+2 58 8+1 465 8+6 3726. Svar: 3726
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO et matematisk-naturvitenskapelige fakultet Eksamen i: INF1400 igital teknologi Eksamensdag: 3. desember 2008 Tid for eksamen: 14:30 17:30 Oppgavesettet er på 5 sider Vedlegg: 1 Tillatte
DetaljerIntroduksjon 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
DetaljerIN 147 Program og maskinvare
Dagens tema: Tallsystemer (P&H: 4.1 4.2) Generelt Binære, oktale og heksadesimale tall Tall, bit og byte Negative tall Assemblerspråk (P&H: 3.1 3.3 + A.9) Datamaskinens oppbygging Enkel aritmetikk Flytting
Detaljerhvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.
Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan
DetaljerMaskinvaredelen 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:
DetaljerTDT4160 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
DetaljerHovedansvarlig. Symbolgenerator. Tregenerator. Litt mer kompliserte setninger med betingelser
Dagens tema: Kodegenerering Listing Minila Hovedansvarlig Listeansvarlig Flok Tegngenerator Linjegenerator Symbolgenerator Flinkrepresentant Tregenerator Kodegenerator Del 0 Del 1 Del 2 Introduksjon FlinkRepresentation
DetaljerDagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler
Dagens temaer Dagens temaer er hentet fra P&P kapittel 3 Motivet for å bruke binær representasjon Boolsk algebra: Definisjoner og regler Kombinatorisk logikk Eksempler på byggeblokker 05.09.2003 INF 103
DetaljerEksamen i emne TFE4110 DIGITALTEKNIKK MED KRETSTEKNIKK
NORGES TEKNISK- NATURVITENSKAPLIGE UNIVERSITET Institutt for elektronikk og telekommunikasjon Faglig kontakt under eksamen: Ragnar Hergum 73 59 20 23 / 920 87 172 Bjørn B. Larsen 73 59 44 93 / 902 08 317
DetaljerINF3430. 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
DetaljerDet viktigste i en moderne datamaskin er hovedkortet («motherboard»):
Hovedkortet Det viktigste i en moderne datamaskin er hovedkortet («motherboard»): Data.data Stakk %EAX %ECX %EDX %EBP %ESP Prosessor Kode Minne.text Hovedkortet Grovt sett inneholder et hovedkort En prosessor
Detaljerpublic 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
DetaljerDagens tema. Er maskinen big endian? Denne funksjonen tester det: INF1070 INF1070 INF1070 INF1070
Dagens tema Bit fikling Makroer Blanding av C og assemblerkode Mer om Core War Dag Langmyhr,Ifi,UiO: Forelesning 22. mai 2006 Ark 1 av 25 Bit fikling Når alt er bit, gir det oss som programmerere nye muligheter.
Detaljer