Oppgave 5. Mikrokontroller. Gruppe GF506: Per Christian Henden
|
|
- Gunhild Ingvaldsen
- 7 år siden
- Visninger:
Transkript
1 Oppgave 5 Mikrokontroller Gruppe GF502: Marianne Andersson Kyrre Giertsen Gruppe GF506: Per Christian Henden SIE4005 DIGITALTEKNIKK OG DATAMASKINER NTNU 2001
2
3 Mikrokontroller
4
5 Sammendrag 1. Tema Laboratorieoppgave 5 i faget Digitalteknikk og Datamaskiner gikk ut på å kort undersøke virkemåten til en mikrokontroller av 8051-familien. 2. Problemstilling Det skulle skrives Assemblykode for kommunikasjon med tilknyttede inn- og utenheter. Dette skulle gjøres på to forskjellige måter; ved polling og ved avbrudd. Deretter skulle ekvivalente rutiner i høynivåspråket C og lavnivåspråket Assembler sammenlignes. 3. Resultater Vi greide å løse alle oppgavene. Under arbeidet fant vi at C-ekvivalenten kompilert til Assembler tok opp mange flere kodelinjer. I ett tilfelle så vi at 3 C-kodelinjer vi skrev ble gjort om til 10 Assembly-kodelinjer.
6
7 Innhold 1 Innledning 2 2 Bakgrunnsteori GT-kort Tastatur /8051 mikrokontroller Registre og I/O enheter Instruksjonssett Polling og avbrudd Stakk Keil PK Arbeidsbeskrivelse Oppgave Oppgave Oppgave Resultater Oppgave Oppgave Oppgave Konkluksjon 14 6 Utstyr 15 7 Tilbakemelding 15
8
9 1 INNLEDNING 1 Innledning Oppgaven gikk ut på å programmere en 8031 mikrokontroller ved hjelp av utviklingsmiljøet Keil PK51. Programmeringsspråkene C og Assembler skulle brukes i dette arbeidet, og en sammenligning av språkene skulle gjøres. Det var nødvendig å sette seg inn i instruksjonssettet og virkemåten til 8051-familien for å gjøre oppgavene. Mikrokontrolleren var koblet til et GT-kort 1. GT-kortet hadde blant annet skjerm og tastatur. Vi hadde tre oppgaver: 1. Programmere en rutine for å lese ett tegn fra tastatur og presentere det på skjermen til GT-kortet ved å bruke polling. 2. Bruke rutinen fra oppgave 1 sammen med en avbruddsrutine i et større program. 3. Undersøke et C-program med hensyn på generert Assemblykode for gitt C-kodebit. Vi skrev inn koden på datamaskina, kompilerte, simulerte og lastet ned koden til GT- kortet for så å teste programmet. I seksjon 3 på side 8 beskrives det hvordan vi i detalj gjennomførte arbeidet. 1 Detaljer om GT-kortet og teori bak avbrudd og polling kommer i neste seksjon 2
10 2 BAKGRUNNSTEORI 2 Bakgrunnsteori 2.1 GT-kort På labben bruker vi et spesialdesignet GT-kort, avbildet på figur 1. GT-kortet inneholder disse hovedkomponentene: Xess-kort, tastatur og brytere, to typer LCDdisplay, lysdioder, inn- og ut-porter og Codec 2. Xess-kortet inneholder blant annet mikrokontrolleren (8031), som denne rapporten hovedsaklig dreier seg om. Det inneholder også FPGA 3, ram 4 og kontakter for strøm og dataoverføring fra PC. Figur 1: GT-kort 2 Coder-Decoder. Behandler lydsignal fra mikrofon og sender ut på høyttaler-utgang 3 Field Programmable Gate Array, en brikke med programmerbar logikk 4 Random Access Memory, mikrokontrollerens program lagres her 3
11 /8051 mikrokontroller 2 BAKGRUNNSTEORI Tastatur Tastaturet krever ekstra oppmerksomhet. Det er en forskjell på signalet som sendes når vi trykker på en vilkårlig tast, og symbolet som er påmerket den tasten. For eksempel gir en 7 på tastaturet signalet 8, se figur 2 og 3. Vi trenger altså å konvertere verdiene vi får fra tastaturet om vi skal behandle dem matematisk eller vise dem på et av GT-kortets LCD-skjermer. Vi realiserer dette programmeringsmessig ved å lagre en tabell over hva de forskjellige interne verdiene tilsvarer for å så gjøre oppslag i denne. Konkret bruker vi formelen adresse = startadresse + index, hvor index er den verdien vi får av å trykke på knapp nummer index og startadresse er der konverteringstabellen starter i minnet. På den utregnede adressa vil vi da finne den "riktige" verdien for tastetrykket. Figur 2: Tastaturet på GT-kortet /8051 mikrokontroller En mikrokontroller er en liten prosessor som har forskjellige inn- og ut-enheter på samme brikke, og kan programmeres til å utføre flere forskjellige funksjoner familien av mikrokontrollere er verdens mest brukte. Over halvparten av alle verdens prosessorer er av denne typen. Den ble først lansert av Intel i 1980 og er senere produsert av en rekke leverandører i ulike varianter. Vår variant heter 8031 og har den forskjellen fra 8051 at den ikke har noen ROM, som typisk brukes for lagring av program. Den består av en sentral prosesseringsenhet (CPU), intern 4
12 2 BAKGRUNNSTEORI /8051 mikrokontroller RAM (128 byte), 4 stk. 8-bits I/O-porter, en serieport for seriell overføring, to tellere, avbruddskontroll og busskontroll. Den kan adressere 64Kbyte minne og kjører på en frekvens på 6.17 Mhz Registre og I/O enheter Figur 3 på neste side er en skjemategning av GT-labkortet med eksternt minne og I/O enheter. Alle I/O-enheter må tilordnes adresser som man kan lese inn til minnet og adresser og prosessere hvis man trenger det. På samme måten kan man skrive ut til denne adressen om enheten tillater dette. I vårt tilfelle brukte vi GT-kortets tastatur som INN-enhet og syvsegment-displayet som UT-enhet. I oppgave 3 benyttet vi også LCD-displayet til utskrift. Her følger en tabell over de enkelte I/O-enhetenes adresser: Adresse (HEX) Enhet Adresse (HEX) Enhet 8000 LCD-disp. Write code 9000 Tastatur, Read 8100 LCD-disp. Write data A000 Logikk R/W 8200 LCD-disp. Read code B000 Relé, Write 8300 LCD-disp. Read data F004 7-segmentdisplay Tabell 1: adresser for I/O enheter I Assembler kan vi definere konstanter. Det forenkler koden om vi definerer IO-adressene til konstanter. For eksempel: TASTATUR EQU 09000H gjør det mulig å bruke #TASTATUR for å referere til tastaturet. Den nedre delen av det interne minnet (0x00 til 0x29) til mikrokontrolleren brukes til en rekke spesielle registre, se tabell 2 på side 7. Området 0x30 til 0x7E kan brukes til datalagring. Vanligvis vil vi lagre stakken 5 her. I vårt oppsett hadde mikrokontrolleren adgang til 32Kbyte eksternt minne på GT-kortet. Der lagret vi programmer. Den siste, øvre delen av det intene minnet (0x7F til 0xFF) brukes til en rekke spesielle registre. Dette minneområdet kalles SFR 6. De registrene vi kommer til å manipulere er gjengitt i tabell 2 på side 7. 5 Forklaring i 2.4 på side 8 6 Spesial Functions Register 5
13 /8051 mikrokontroller 2 BAKGRUNNSTEORI Figur 3: Hva mikrokontrolleren er koblet til Fordi kontrolleren bare har 8-bits registre må vi gjøre et "triks" når vi skal aksessere I/O enhetene koblet til mikrokontrolleren. Det er fordi disse har 16-bits adresser. Vi lagrer de første åtte bit-ene i ett register (DPH) og de åtte siste bitene i ett annet register (DPL). Dette sammensatte registeret er på 16bit og kalles DPTR Instruksjonssett Figur 4 på side 16 inneholder et utdrag av instruksjonssettet til 8051/8031 mikrokontrolleren. For eksempel kan instruksjoner se slik ut: MOV Rn,#01H MOV Rn,Rm ADD Rn,Rm MOVX hvor n og m er registernummer fra 0 til 7. 6
14 2 BAKGRUNNSTEORI 2.3 Polling og avbrudd Register Forklaring Adresse SP Stakkpeker 81H DPL Datapeker lav 82H DPH Datapeker høy 83H TCON Timer register 88H IE Interrupt Enable register A8H A Akkumulator E0H Tabell 2: Spesielle registre For å plassere en instruksjonssekvens et bestemt sted i minnet brukes direktivet ORG. ORG 0003H betyr at de etterfølgende instruksjonene blir plassert fra 0x003 og oppover. 2.3 Polling og avbrudd Ved polling kjører datamaskinen et program i løkke hele tiden. Den utfører kun det spesielle programmet. En ulempe med det er at vi ikke får gjort noe annet enn de spesielle handlingene inni løkka. Avbrudd, derimot, er en ordning som tilrettelegger for at utførelsen av et program kan bli avbrutt for å gjøre spesielle operasjoner. I vårt tilfelle skriver vi tall til skjermen når noen trykker på en tast kan håndtere to eksterne avbrudd. Disse er satt til INT0 og INT1. Disse avbruddene må "skrus på" før prosessoren tar hensyn til dem. Dette gjøres ved å sette bit-ene IE (interrupt enable) og TCON (timer register). Avbruddet INT0 skjer når noen trykker på tastaturet. Vi skrudde på denne funksjonaliteten ved å sette EX0 bit-et. Vi satte også IT0 i TCON registeret, slik at prosessoren skulle "lytte" på negative flanke. I IE registeret måtte bit 7 (EA - enable interrupts) settes. TCON: TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IE: EA ET2 ES ET1 EX1 ET0 EX0 Når et avbrudd inntreffer vil mikrokontrolleren gå til en forhåndsdefinert plass i programminnet der avbruddrutinen for det aktuelle avbruddet er definert til å 7
15 2.4 Stakk 3 ARBEIDSBESKRIVELSE ligge. Avbruddet vi skal bruke (INT0) er tildelt plassen 0x03 i minnet. Neste forhåndsdefinerte avbruddsrutine er TF0 på adresse 0x0B. Det betyr at vår avbruddsrutine for INTO ikke kan ta opp mer enn 8 instruksjoner for å ikke kollidere med TF0. Instruksjonssekvensen vi skulle bruke var lengre enn dette. Dette problemet løste vi ved å legge inn et "hopp" (jump) til et annet sted i minnet for å få kjørt alle de instruksjonene vi ville. Merk: Vi kunne ha skrevet over avbruddsområdet til TF0 i dette tilfellet fordi vi ikke brukte TF0, men løsningen med hopp er mer generell. 2.4 Stakk En stakk er en LIFO 7 kø. Det er en datatype som har den egenskapen at man bare kan manipulere det øverste (siste som ble lagt på) elementet. Å legge til et element på stakken kalles en PUSH operasjon, og å ta ut det øverste elementet kalles en POP operasjon. Stakken har ingen fast plass i minnet på 8031, men stakkpekeren har fast posisjon i SFR. Vi setter stakkpekeren til adressa nederste element i stakken ligger på. Når vi legger noe på stakken må vi bruke minneadressen til elementet. For eksempel vil PUSH 82H legge DPL på stakken. 2.5 Keil PK51 På labben bruker vi et utviklingsmiljø laget av Keil Software, kalt Keil PK51, for å programmere 8031 kontrolleren. Det inneholder blant annet editor og debugger. Vi kan skrive både Assembly- og c-kode og kompilere denne til en hex-fil 8, som kan lastes ned til mikrokontrollerens minne (ekstern RAM på GT-kortet). Det er mulig å kompilere C-kode til Assembler. Debuggeren gjør det mulig å observere registre, programminne, dataminne, RAM og mer under hele kjøringen av programmet. 3 Arbeidsbeskrivelse I de følgende avsnittene beskrives det hvordan vi i detalj gjennomførte arbeidet. 7 Last In First Out 8 Fil som innholder maskinkode på binær form 8
16 3 ARBEIDSBESKRIVELSE 3.1 Oppgave Oppgave 1 Oppgave 1 gikk ut på å lage en assemblyrutine som skulle gå i en evig løkke og lese tastaturet på GT- labkortet hele tiden. Dette kalles polling. Den skulle også skrive ut verdien som ble påtrykket tastaturet til syvsegmentsdisplayet. Følgende pseudokode var gitt til oppgaven: LOOP: Les tastatur. Filtrer bort 4MSB(null ut). Beregn oppslagsadresse i konverteringstabell. Gjør oppslag. Skriv verdi til 7- segmentdisplay. Hopp til LOOP. Vi skulle altså lage en løkke som oppfylte kravsspesifikasjonene gitt i pseudokoden, og sette inn denne på gitt plass i assemblyprogrammet gitt i oppgaven. Vi begynte med å kopiere katalogen lab5 til vårt område, og åpnet prosjektet lab5_1.prj i programmet KEIL. Så åpnet vi filen LAB5_A51 i prosjektet. I denne fila fantes et mangelfullt assemblyprogramm for oppgave 1. Ved hjelp av utdraget fra instruksjonssettet til mikrokontroller 8051/ 8031 som var gitt i labheftet, lagde vi følgende assemblykode for å løse oppgaven: 1 CLR A 2 MOV DPTR, # TASTATUR 3 MOVX 4 ANL A, # 0 FH 5 ADD A, R2 6 MOV R1, A 7 MOV 8 MOV DPTR, # SYVSEGM 9 A 10 JMP LOOP Forklaring: 1. Sletter evt. innhold i akkumulatoren 2. Laster DPTR med adressa til tastaturet 9
17 3.2 Oppgave 2 3 ARBEIDSBESKRIVELSE 3. Last data fra det DPTR peker på til akkumulator 4. Logisk and med for å filtere ut de fire første bit-ene 5. Legger innholdet i register R2 til det som er i akk. og lagrer resultatet i akkumulator. 6. Laster akkumulatoren til register R1 7. Laster det som adressa lagret i R1 peker på (konvertert tastaturverdi) til akkumulator 8. Last inn adressa til syvsegmentdisplayet i DPTR 9. Skriv data fra A til minneområdet DPTR peker på (syvegmentdisplayet) Videre kompilerte vi programmet. Det oppstod ingen problemer og programmet var klart til simulering i dscope- 51. For å kunne kompilere et prosjekt må vi ha ei ini- fil som inneholder navnene til alle filene som er med i prosjektet. For å realisere dette var det satt opp i en ini- fil, som lå ferdig til bruk. Vi anga plasseringen til ini- fila, og startet dscope- 51. Se figur 5 på side 17 for et skjermbilde. I dette skjermbildet fantes et Regs (register)- vindu. Mens vi gikk stegvis gjennom programmet, observerte vi i Regs- vinduet A (akkumulator), registrene R0 tilr7, DPTR, PSW (program status register), SP (stakk peker), og hvor lang tid(hvor mange sykler) koden brukte. Når vi mente at programmet fungerte som ønsket under simulering, lastet vi det ned til GT- labkortet. Vi trykte inn ulike verdier på tastaturet, og kontrollerte at de verdiene som stod på tastaturet var de samme som ble skrevet ut på syvsegmentsdisplayet. 3.2 Oppgave 2 I oppgave 2 skulle koden fra oppgave 1 skrives om til å bli et avbruddsdrevet program. Det avbruddsdrevne programmet skulle ha et hovedprogram som initialiserer for eksternt avbrudd 0, og ellers går i en evig løkke. Man må også ha en avbruddsrutine som leser tastaturet og skriver verdien til syvsegmentsdisplayet. Vi begynte med å åpne prosjektet lab5_2.prj, og videre å åpne fila lab_2.a51 som lå i det. Først skrev vi ei subrutine for avbrudd, og deretter initialiserte for avbrudd i hovedprogrammet. Vi brukte kode fra oppgave1 for å lese fra tastatur og skrive til syvsegmentsdisplayet. 10
18 3 ARBEIDSBESKRIVELSE 3.2 Oppgave 2 1 ; a v b r u d d s v e k t o r og a v b r u d d s s u b r u t i n e 2 3 ORG 0003H 4 PUSH 0 8 2H 5 PUSH 0 8 3H 6 PUSH 0 E0H 7 JMP AVBRUDD 8 9 AVBRUDD: ; Kode f o r IO f r a oppgave CLR A 14 MOV DPTR, # TASTATUR 15 MOVX 16 ANL A, # 0 FH 17 ADD A, R2 18 MOV R1, A 19 MOV 20 MOV DPTR, # SYVSEGM 21 A POP 0 E0H 24 POP 0 8 3H 25 POP 0 8 2H RETI ; i n i t i a l i s e r i n g f o r e k s t e r n e avbrudd SETB IT0 32 SETB EA 33 SETB EX0 Forklaring: 11
19 3.3 Oppgave 3 3 ARBEIDSBESKRIVELSE 3 ORG 0003H 4 PUSH 082H 5 PUSH 083H 6 PUSH 0E0H 7 JMP AVBRUDD 9 AVBRUDD: 10 ; Koden fra oppgave 1 23 Hente DPL ut fra stakken 24 Hente DPH ut fra stakken 25 Hente akkumulator ut fra stakken 26 ; Initialisering for eksterne avbrudd 27 Returner etter avbrudd, fortsetter med å blinke lys 31 Setter på mikrokontrolleren reagerer på negativ flanke for avbrudd 32 Setter på avbrudd 33 Setter på eksternt avbrudd 0 Vi kompilerte programmet, anga som i oppgave1 plasseringa til ini- fila, og startet dscope- 51. Vi åpnet Vinduet " Interrupt System" i dscope- 51. Her krysset vi av for eksternt avbrudd 0. Se figur 6 på side 18 Nå begynte vi å gå stegvis gjennom koden, og å observere at de riktige bitene ble satt når enable for avbrudd var satt høy i assemblykoden. Nå når disse bit-ene var satt, brukte vi avkrysningsboksen IEO til å generere avbrudd under kjøringa. Mens vi nå "steppet" gjennom programmet observerte vi innholdet i akkumulator, DPTR og Rn, der n = 0?7. Når disse verdien var som forventet lastet vi hexfila samt fila lab5.bit ned til GT- kortet. Vi observerte nå at det ble skrevet ut et løpelys på den ene dioderekka på GT- kortet. Da kunne vi begynne å kontrollere at programmet virket som ønsket. Vi testet dette på samme måte som i oppgave1 ved å skrive inn verdier på tastaturet og kontrollere at de verdiene som vistes på syvsegmentsdisplayet var de samme. 3.3 Oppgave 3 I oppgave 3 skulle vi få demonstrert hvordan et program skrevet i C- kode ville bli oversatt til assemblykode. På labben begynte vi med å åpne prosjektet lab5_3.prj, og så åpne fila LAB5_3.C som lå i prosjektet. Her lå det kode for å utføre regnestykket Produkt = Tall1 * Tall2 I denne koden lå blant annet kode for lesing av tastatur og skriving til LCDdisplay, initialisering for avbrudd, selve avbruddsrutina og hovedrutina. Mikro- 12
20 4 RESULTATER kontrolleren jobber såpass fort at det kan være vanskelig for oss å følge med på det som skjer. Derfor er det laget en funksjon delay() som legger inn pauser i programmet. Det vi gjorde var å lage en funksjon som kalte opp denne funksjonen flere ganger, slik at pausen ble lengre. 1 l o n g _ d e l a y ( i n t t ) 2 while ( t > 0 ) { 3 void ( d e l a y ( ) ) ; 4 t ; 5 } Når dette var gjort kompilerte vi prosjektet i Vision. Så anga vi plasseringen til ini- fila som hørte til oppgave3, og startet dscope- 51. Her brukte vi kommandoen StepInto til å steppe en instruksjon. Da hoppet vi til hovedprogrammet og så det i Module- vinduet. I vinduet kunne vi velge om vi ville se høynivåkoden, eller lavnivåkoden eller begge deler samtidig(mixed). Vi valgte mixed, og scrollet oss fram til det punktet hvor funksjonen long_delay() ble utført. Så fant vi fram til hvor mange kodelinjer vi hadde skrevet i C, og hvor mange assemblylinjer dette tilsvarte. Videre lukket vi dscope, lastet designet ned til testbenken og prøvde multipikatoren en del ganger. Dette gjorde vi ved å skrive to tall adskilt med * inn på tastaturet, og så å skrive # som var kommandoen for å regne ut regnestykket. Vi regnet produktene om fra heksasesimale tall og kontrollerte at de stemte med de forventede produktene. 4 Resultater 4.1 Oppgave 1 Under simuleringen så vi at registrene inneholdt de rette verdiene gjennom hele programrutinen vår. Etter å ha lastet ned kompilert kode til GT-kort, fant vi at den verdien vi trykket på tastaturet viste i syvsegmentdisplayet, som det skulle. 4.2 Oppgave 2 Under simuleringen så vi at registrene inneholdt de rette verdiene gjennom hele programrutinen vår. Ved jump-instruksjonen hoppet programpekeren til rett sted i minnet. Når vi sendte et avbrudd ved å velge avbrudd INT0 på meny, så vi at programpekere flyttet seg til rett sted (0x003). Da ble vår kode for å lese fra 13
21 4.3 Oppgave 3 5 KONKLUKSJON tastatur og skrive til skjerm ble utført. Etter å ha lastet ned kompilert kode til GTkort, fant vi at den verdien vi trykket på tastaturet viste i syvsegmentdisplayet, som det skulle. I tillegg til dette blinket alle lysene i sekvens på GT-kortet. Det så ut som om blinkinga og skriving til display skjedde samtidig, men mikroprosseren byttet på oppgavene. Byttet gikk så fort at vi ikke kunne se det. 4.3 Oppgave 3 Når vi prøvde ut multiplikasjon på GT-kortet fikk vi disse resultatene: 5*5= 19 8*8= 40 8*6= 30 9*8= 48 Inn-verdi og ut-verdi er hexadesimale verdier, og er rette. I denne oppgaven observerte vi at det er mye lettere å programmere i C, enn å programmere rett i assembly-kode. Grunnen til dette er at C-kode er mye mer oversiktlig og ganske likt andre kjente programmeringsspråk. I tillegg blir det mindre å skrive. Vi skrev 3 linjer C-kode (se oppgave 3) som ble til 10 linjer assembly-kode. Man har mer kontroll når man skriver direkte i assembly- kode. Skriver man i C vil kompilatoren oversette til assembly-kode. Det er ikke sikkert at den koden kompilatoren velger er den beste. 5 Konkluksjon Gjennom arbeidet med lab5 lærte vi forskjellen på polling og avbrudd, og litt om 8051-Assembly. Vi ble også kjent med programmeringsmiljøet Keil PK51 som vi brukte i arbeidet. Ved å se på en rutine for å gange sammen to tall i C og Assembly fikk vi sammenliknet programmering i de to språkene, og sett på forskjellene i arbeidsmengde og funksjonalitet. Det oppstod ingen problemer under arbeidet med oppgaven. 14
22 7 TILBAKEMELDING 6 Utstyr GT-kort nummer 13 Microsoft Windows NT 4.0 Service Pack 6 build 1381 Bitware Uvision/5.1 versjon 1.24 Evaluation Edition Keil dscope-251/51 versjon 1.3p 7 Tilbakemelding Labben har vært grei, synes vi. Det har vært for få studasser til tider på labben. Også på forberedelsene. Det har vært svært dårlig luft på labben, og vi får hodepine av det. 15
23 7 TILBAKEMELDING Figur 4: Utdrag av instruksjonssettet til 8051/8031 mikrokontroller 16
24 7 TILBAKEMELDING Figur 5: dscope debugger 17
25 7 TILBAKEMELDING Figur 6: Interrupt vindu 18
Debugging. Tore Berg Hansen, TISIP
Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...
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
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen malloc
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
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
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 9/1/2005 inf1060 V05 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
DetaljerProgrammeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
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
DetaljerRapport Øving 1 TDT4258 Mikrokontroller Systemdesign
Rapport Øving 1 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 21. februar 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et assemblyprogramm for å få knappene til å styre
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
Detaljer! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
DetaljerCodevisionAVR. Start CodevisionAVR. Velg Settings Terminal og sett opp kommunikasjonsparametrene som figur 1 viser. avrlab07a.doc HVE RI Arnfinn Lunde
AVR-LAB 07 Echo: Seriell I/O side 1 av 5 Hensikt I denne øvelsen benytter vi RS-232 overføring av data mellom STK-200 og vår PC. Programmet Terminalprogrammet på CodevisionAVR benyttes på PC. Karakterer
DetaljerInnhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)
2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2
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
DetaljerHvorfor lære om maskinvare*?
Litt om maskinvare Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende
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
DetaljerDagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen
Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerLæringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om
DetaljerRapport Øving 2 TDT4258 Mikrokontroller Systemdesign
Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 19. mars 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et program for å generere lyd på et utviklingskort [4].
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
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
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
DetaljerBruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink)
Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink) Kristian Thorsen April 2010 T-01 Sammendrag Sammendrag På laboratoriene til Institutt for Data- og Elektroteknikk ved UiS,
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
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.
DetaljerLabVIEW seriekommunikasjon med mikrokontroller
KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.15 OPPG.NR.: LV3 LabVIEW seriekommunikasjon med mikrokontroller Oppgave Denne oppgaven går ut på å lage et LabVIEW-program som kan kommunisere med en
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang
2 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 3 https://www.youtube.com/watch? v=nkiu9yen5nc 4 Læringsmål og pensum Mål Lære om
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerRapport. Lab 1. Absoluttverdikrets - portkretser
TFE4105 Digitalteknikk og datamaskiner Rapport Lab 1 Absoluttverdikrets - portkretser av Even Wiik Thomassen Broen van Besien Gruppe 193 Lab utført: 8. september 2004 Rapport levert: 12. november 2004
DetaljerDark Stakkmaskin. Aritmetiske instruksjoner
Dark Stakkmaskin Figur 1: Stakk arkitektur i Dark Dette dokumentet beskriver arkitekturen til stakkmaskina som benyttes i Dark. Figur 1 viser hvordan maskinen ser ut. Det finnes et register i prosessoren,
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
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
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
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
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no 30.08.2005 inf1060 H05 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 30.08.2005
DetaljerDagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.
Dagens tema Dagens tema Charles Babbage Datamaskinenes historie maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner kode kode Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.
DetaljerAVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00
Side 1 av 11 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN
DetaljerEC-Styring med "Magelis" berøringsskjerm. 1. Oppstart og initialisering av maskin... 2
Innhold 1. Oppstart og initialisering av maskin... 2 2. Drift av maskinen... 3 2.1 Beskrivelse av hovedmeny...3 2.2 Endre program...4 2.3 Opprette et program - eksempel på programmering av en profil...5
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
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerTDT4258 Eksamen vår 2013
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng
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.
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
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
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
DetaljerZelio Soft grunnkurs. Zelio Logic reléerstatter programmering
Zelio Soft grunnkurs Zelio Logic reléerstatter programmering Zelio Soft programvare for programmering av Zelio Logic reléerstatter Grunnkurset forutsetter at Zelio Soft er installert på PC Skjermbilder
DetaljerLitt om Javas class-filer og byte-kode
Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet
DetaljerWORKSHOP BRUK AV SENSORTEKNOLOGI
WORKSHOP BRUK AV SENSORTEKNOLOGI MIKROKONTROLLERE - ARDUINO KURS 27.08.16 ANALOG - DIGITAL FRA VARIASJONER AV STRØMSTYRKE TIL TALL ARDUINO BRUKES TIL Å UTFØRE SLIK KONVERTERING STRØM/TALL ELLER TALL/STRØM
DetaljerDagens tema C, adresser og pekere
Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Ark 1 av 26 Adresser Som nevnt tidligere ligger
DetaljerArk 3 av 26. printf("i adresse %08x ligger b med verdien %d.\n", &b, b); printf("i adresse %08x ligger a med verdien %d.
Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Adresser Som nevnt tidligere ligger data og programkode
DetaljerForelesning ISA-nivået Kap 5.1
TDT4160 Datamaskiner Grunnkurs Forelesning 10.11 ISA-nivået Kap 5.1 Dagens tema Instruksjonssettarkitektur (5.1) Hva er ISA? Bakoverkompatibilitet Hva omfatter ISA? Minnemodeller Registre Instruksjoner
DetaljerDagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)
Dagems temaer Fra Kort Organisering Register kapittel 4 i Computer Organisation and Architecture om hurtigminne (RAM) av CPU: von Neuman-modellen Transfer Language (RTL) Instruksjonseksekvering Pipelining
DetaljerProgrammeringsspråket C Del 2
Programmeringsspråket C Del 2 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Et eksempel Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. 8/25/10 inf1060
DetaljerDagens tema. Rask-maskinen. Rasko-kode Raskas-kode. Litt datamaskinhistorie Registre og lagre Instruksjoner
Dagens tema Dagens tema Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Rasko-kode Raskas-kode Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Kompilator rusc
DetaljerProgrammeringsspråket C Del 2
Et eksempel Programmeringsspråket C Del 2 Dette er lite eksempel som ber om et tall, leser det og så teller fra det ned til 0. Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no inf1060 1 inf1060 2 Forklaring:
DetaljerEn overikt. Dagens tema. Datamaskinenes historie. Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner. Rasko-kode.
Dagens tema Dagens tema Dagens tema En overikt RusC-program x = x+1; ADD R1,R2,R1 Raskas-kode Rask-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Kompilator rusc raskas Rasko-kode 401020000000001...
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:
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
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. 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:
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
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerDatamaskinens oppbygning
Datamaskinens oppbygning Håkon Tolsby 18.09.2014 Håkon Tolsby 1 Innhold Hovedenheten Hovedkort Prosessor CISC og RISC 18.09.2014 Håkon Tolsby 2 Datamaskinens bestanddeler Hovedenhet Skjerm Tastatur Mus
DetaljerINF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer
INF3430/4431 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker
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
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
DetaljerDagems temaer INF ! Fra kapittel 4 i Computer Organisation and Architecture. ! Kort om hurtigminne (RAM)
Dagems temaer! ra kapittel 4 i Computer Organisation and Architecture! Kort om hurtigminne (RAM)! Organisering av CPU: von Neuman-modellen! Register Transfer Language (RTL)! Instruksjonseksekvering! Pipelining
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start
DetaljerForelesning ISA: IJVM Kap 4.2
TDT4160 Datamaskiner Grunnkurs Forelesning 27.10 ISA: IJVM Kap 4.2 Dagens tema Repetisjon: ISA vs. mikroarkitektur ISA: IJVM (4.2) Lagring av lokale variable Minnemodell Instruksjonssett Metodekall Kompilering
DetaljerDefinisjon av prosess
Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre
DetaljerJavas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)
Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerAvdeling for ingeniørutdanning Elektrogrunnlagslaboratoriet DIGITALE SYSTEMER
Avdeling for ingeniørutdanning Elektrogrunnlagslaboratoriet DIGITALE SYSTEMER Oppgavens navn: Styring av stepmotor Lab. oppgave nr.: M3 Dato utført: Klasse: Protokoll skriver : Gruppe: Øvrige gruppedeltagere
DetaljerInstallere JBuilder Foundation i Windows XP
Installere JBuilder Foundation i Windows XP Installasjon av JBuilder Foundation på Windows (dekker her spesifikt fremgangen ved bruk av Microsoft Windows XP Professional, men det vil mest trolig ikke være
DetaljerConcurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
Concurrency Lars Vidar Magnusson September 20, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 20, 2011 1 / 17 Oversikt Concurrency 1 Concurrency Beskrivelse Prinsipper
DetaljerKjøresystemer. Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Parametre (2.7.7) Statiske språk (
Kjøresystemer Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Statiske språk (2.7.1-2.7.2) FORTRAN, COBOL Stakk-baserte språk (2.7.3-2.7.4) ALGOL 60 Dynamiske språk
DetaljerITPE/DATS 2400: Datamaskinarkitektur og Nettverk
ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied
DetaljerOperativsystemer og grensesnitt
Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe
Detaljeroppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere
DetaljerLage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre
Lage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Kunne
DetaljerDel 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
DetaljerKapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte
Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte «Fluency with Information Technology» Sixth Edition by Lawrence Snyder Oversatt av Rune Sætre, 2013 bearbeidet av Terje Rydland, 2015
DetaljerErik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6.
Skrevet av: Erik Grindheim, IFJF - UiB * Dato: 15. februar 2000 * Revisjon 1.12 * Språk: MPASM (Microchip) * Processor: PIC16F84 * Watchdog timer: off * Code protect: off * Programmet starter opp med å
DetaljerI denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke JS Bin
Detaljer1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern!
D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 1\K8055_LV2012_SANN1_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 1 SANNTID MED LABVIEW Bli kjent med USB I/O kort K8055. NB! Ta med multimeter
DetaljerSingletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.
-OS i i L1 og L2 og og Basis for flerprosess-systemer. Adresser.. 2 1 0 OS Device minne Skjerm minne Brukerprogram Brukerdata/heap Stack Stack: brukes bl. a. til å lagre adressen som skal returneres til
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab
1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget vest (Gløshaugen) Epost: terjery@idi.ntnu.no
DetaljerDatamaskinens virkemåte
Geir Ove Rosvold 6. januar 26 Opphavsrett: Forfatter og Stiftelsen TISIP Resymé: I denne leksjonen ser vi på den grunnleggende virkemåten til en datamaskin. Vi ser på de forskjellige delene - blant annet
DetaljerTDT4160 Datamaskiner Grunnkurs Gunnar Tufte
1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 4: Microarchitecture level 3 Ny Arkitektur: IJVM 4 Instruksjonsett Stack basert 5 Mikroprogramm 0001010010000000000000111 001111000000010000001000
DetaljerGruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)
HØGSKOLEN I OSLO Avdeling for ingeniørutdanning EKSAMENSOPPGAVE Fag: ELEKTRONIKK II Fagnr: SO313E Faglig veileder: K. H. Nygård, V. Tyssø Gruppe(r): 2EY Dato: 30.05.02 Eksamenstid, fra-til: 09 00-14 00
DetaljerOppgave 1 - Linux kommandolinje (%)
Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no
DetaljerNORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP
Side 1 av 9 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Jon Olav Hauglid, Tlf 93440 Institutt for datateknikk og informasjonsvitenskap,
DetaljerINF2100. Dagens tema: Flink-maskinen Litt datamaskinhistorie. Registre og lagre. Instruksjoner. Flass-koden
Dagens tema: Flink-maskinen Litt datamaskinhistorie Registre og lagre Instruksjoner Flass-koden Dag Langmyhr,Ifi,UiO: Forelesning 30. august 2005 Ark 1 av 20 Datamaskinenes historie Menneskene har alltid
DetaljerHer skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.
PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig
DetaljerDagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache
Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2015
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:
DetaljerMinnehåndtering i operativsystemer
Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet
Detaljer