Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink)

Størrelse: px
Begynne med side:

Download "Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink)"

Transkript

1 Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink) Kristian Thorsen April 2010 T-01

2 Sammendrag Sammendrag På laboratoriene til Institutt for Data- og Elektroteknikk ved UiS, er det en utstrakt bruk av FPGA-kretser og såkalte myke prosessorer. Myke prosessorer er mikroprosessorer implementert i programmerbar elektronikk (FPGA). På laboratoriet har man til nå i stor utstrekning brukt den myke prosessoren MicroBlaze fra Xilinx Inc. MicroBlaze er en avansert 32-bits prosessor, men tar relativt stor plass i FPGA-kretsene. For mange applikasjoner og systemer er en 32-bits prosessor det man på engelsk kaller «overkill». Dette gjelder både med tanke på at den er mye kraftigere enn hva man trenger og at den legger beslag på mye mer systemressurser (logiske porter) i FPGA-kretsene. Et MicroBlaze basert system tar for eksempel opp rundt 75 % av systemressursene som er tilgjengelige i de FPGA-kretser som brukes i faget Digital og Analog Elektronikk 1. Det er altså ønskelig å kunne bruke en enklere prosessor for de systemer eller delsystemer som ikke trenger all den regnekraften som MicroBlaze tilbyr. Et alternativ er den myke mikrokontrolleren PicoBlaze fra Xilinx Inc. Dette er er en enkel 8-bits mikrokontroller som i tillegg til prosessorkjerne inneholder internt programminne, arbeidsminne, mulighet for avbrudd samt et sett med inn- og utporter. Målet med denne rapporten er å vise hvordan denne enkle kontrolleren kan implementeres i FPGA-kretsen ved hjelp av verktøyet Xilinx System Generator som kjøres i Matlab (Simulink). 1 Xilninx Spartan-3 XC3S T-01

3 Om PicoBlaze 1 Om PicoBlaze PicoBlaze er en enkel 8-bits mikrokontroller som kan implementeres i de fleste av Xilinxs FPGA-familier. PicoBlaze finnes i flere versjoner og hvilken versjon som brukes avhenger av FPGA-familien det implementeres mot. For Spartan-3, Virtex II og Virtex II-Pro FPGA-er er det versjon 3 som er aktuell. PicoBlaze3 har blant annet følgende egenskaper: 16, 8-bits registre. RISC design med totalt 53 forskjellige instruksjoner. Internt programminne (ROM) med plass til 1024 instruksjoner (18-bit pr. instruksjon). Internt arbeidsminne (RAM) på 64 Byte. 256 inngangsporter og 256 utgangsporter hver med 8-bits bredde 2. Fast instruksjonstid, 2 klokkesykler pr. instruksjon. Lavt ressursbehov i FPGA-kretsene. Avbruddslinje for bruk av avbruddsbasert programmering. Figur 1.1, hentet fra [2], viser en blokkskjematisk fremstilling av PicoBlaze. Figur 1.1: Blokkskjematisk oversikt over PicoBlaze PicoBlaze programmeres i assembly og assemblykoden kompileres ved bruk av Xilinxs kcpsm3 kompilator. Instruksjonssettet har de vanligste instruksjoner bortsett fra multiplikasjon og divisjon, disse kan dog enkelt implementeres ved å bruke aritmetikk og bitskift. For enkelhets skyld har Xilinx laget ferdige rutiner for disse og flere andre ofte bruke instruksjoner som PicoBlaze mangler. Disse rutinene finnes som assemblykode i [2] og kan kopieres direkte inn i egen kode. 2 Egentlig har PicoBlaze bare en inngangsport og en utgangsport med bredde på 8-bit hver. Sammen med en ekstra utgangsport (kalt Port Id) på 8-bit kan man da ved å multiplekse få hele 256 inngangsog utgangsporter. 3 T-01

4 PicoBlaze i Xilinx System Generator PicoBlaze kan settes opp ved hjelp av de vanlige EDK verktøyene til Xilinx, men det finnes også en blokk for bruk i Xilinx System Generator. Resten av denne rapporten vil ta for seg hvordan man bruker denne blokka og programmerer PicoBlaze fra System Generator (Matlab). 2 PicoBlaze i Xilinx System Generator For resten av rapporten forutsettes det at leseren er kjent med Matlab verktøyet Xilinx System Generator. Dette er et verktøy som på laboratoriet brukes i faget Anvendt Signalbehandling og som muliggjør at modeller for digitale filter kan lages i Simulink/Matlab og deretter kompileres og kjøres på FPGA-kretser fra Xilinx. For en introduksjon til System Generator anbefales brukermanualen [4]. For å bruke PicoBlaze i Xilinx System Generator hentes blokka ut fra «Xilinx Blockset» biblioteket. PicoBlaze ligger under Control Logic. PicoBlaze blokka kobles sammen med en ROM-blokk som inneholder selve programminnet, dette er vist i figur 2.1. Programminnet skal fylles med det programmet som skal kjøre på kontrolleren. Dette gjøres ved hjelp av kcpsm3 kompilatoren, som blant annet lage et Matlab-script 3 som kan brukes for å fylle ROM. Figur 2.1: System Generator Blokker for PicoBlaze med ROM For å vise hvordan PicoBlaze kan implementeres og programmeres fra Matlab og Xilinx System Generator brukes et eksempel. I dette eksempelet skal PicoBlaze kontrollere noen enkle lysdioder. Eksempelet er skrevet for FPGA-en «Spartan-3E XC3S500E» og kortet «Spartan-3E Starter Kit Board»,figur 2.2 på neste side, men kan enkelt tilpasses andre FPGA-er og utviklingskort fra Xilinx. Eksempelet tar for seg oppbygningen av systemet steg for steg og er skrevet slik at leseren skal kunne utføre eksempelet. Systemet som skal lages er vist i figur 2.3 på side 6. 3.m fil. 4 T-01

5 2.1 Oppsett av modell i Simulink Figur 2.2: Spartan-3E Starter Kit Board, utviklingskort 2.1 Oppsett av modell i Simulink 1. Start med en ny modell i Simulink. 2. Fra Xilinx Blockset - Basic Elements biblioteket hentes System Generator blokka, denne stilles inn som vist i figur 2.4 på side 7. «Part» feltet inneholder FPGA-en som det skal programmeres mot, og «FPGA clock period» er klokkeperioden som brukes. 20 ns tilsvarer altså 50 MHz. Merk at andre FPGAer og utviklingskort vil ha andre innstillinger i denne blokka, spesielt er «FPGA clock period» av interesse da denne har betydning for venteløkkene som skal lages senere. 3. Neste punkt er å finne PicoBlaze blokka, denne ligger under Control Logic. Etter at blokka er lagt inn i skjemaet er det viktig at man dobbeltklikker på denne og kontrollerer at det er PicoBlaze3 som er valgt. 4. Addr og instr linjene på PicoBlaze tilkobles en ROM blokk. I innstillingene til denne blokka settes dybden til 1024 og «initial value vector» settes til ROM (denne variabelen skal vi senere fylle med maskinkoden til programmet. Latency skal være 1 og under output settes bredden til 18-bit, altså Unsigned 18_0. 5. Resten av blokkene settes opp som vist i figur 2.3 på neste side. Konstanten som settes på inngangsporten skal være av typen Unsigned 8_0 og samplet. Break og resett, brk og rst, kobles til 0 da disse ikke brukes. Videre er det en sammenlikningsblokk (relational) som går høy hver gang PicoBlaze skriver ut et nytt LED mønster på port 255 (0xFF). Det nye mønsteret sendes da gjennom MUX-blokka, som ellers bare beholder forrige mønster. Det er 8 Sliceblokker som sender en enkelt bitverdi videre til tilhørende LEDs utgangsport. LED plasseringen vil være avhengig av hvilket utviklingskort som brukes, for «Spartan-3E Starter Kit Board» skal plasseringen fra topp til bunn være: 5 T-01

6 2.1 Oppsett av modell i Simulink Figur 2.3: Eksempelsystem, LED kontroll med PicoBlaze F9 = F9 E9 = E9 D11 = D11 C11 = C11 F11 = F11 E11 = E11 E12 = E12 F12 = F12 Lista ovenfor kan legges inn i et Matlab skript og kjøres, en kan da enkelt i utgangsblokkene sette henholdsvis F9, E9 o.s.v i «IOB pad location» feltet som vist i figur 2.5 på neste side. 6 T-01

7 2.1 Oppsett av modell i Simulink Figur 2.4: Innstilling av System Generator blokka Figur 2.5: IOB pad location i Gatway Out blokka settes til tilhørende LED-plassering 7 T-01

8 2.2 Program 2.2 Program Neste skritt er å skrive selve programmet som skal kjøre i mikrokontrolleren. Programmet skal i dette eksempelet først lese verdien på inngangsporten. Denne verdien inkrementeres og skrives ut på lysdiodene. Deretter kjører programmet i en evig løkke der verdien på lysdiodene inkrementeres for hvert sekund. Flytskjema vises i figur 2.6. Det anbefales at man setter seg inn i instruksjonssettet til PicoBlaze3 før man starter med selve programmeringen, en kort oversikt er gitt i kapittel 3 i [2]. Merk spesielt at alle tall i assemblykoden er heksadesimale. Figur 2.6: Flytskjema for testprogram For å programmere PicoBlaze trenger man kompilatoren fra Xilinx, kcpsm3, og en teksteditor for å skrive selve assemblykoden. Editoren som er inkludert i Matlab kan med fordel brukes. Lag en ny tekstfil og lagre denne som prog.psm 4, for at kompilatoren skal kunne lese filen er det viktig at filnavnet ikke er lengre enn 8 tegn og ikke inneholder fantasifulle spesialtegn. Selve hovedprogrammet for dette eksempelet trenger ikke mer enn 6 instruksjoner og er som følger, tegnet definerer en kommentar. INPUT s6, 80 Laster inn verdien på inngangsport til register s6 loop: ADD s6, 01 inkrementerer s6 OUTPUT s6, FF Skriver ut s6 til utgangsport 255 CALL delay_1s Kaller opp subrutine (venteløkke) JUMP loop Hopper tilbake til loop Det første som gjøres er at inngangsporten leses og verdien på denne lagres i register s6. Som blokkskjemaet av Simulinkmodellen, figur 2.3 på side 6, viser er det ingen kontroll på hvilken innport som aktiveres, det kunne derfor stått et annet tall enn 80 i INPUT-instruksjonen. Programmet går så inn i en evig løkke (loop), s6 inkrementeres, ADD, og skrives så ut på utgangsport FF, OUTPUT. Før løkka startes på nytt kalles subrutinen delay_1s opp. 4 Pass på at du har nødvendige rettigheter til å endre filetternavn. 8 T-01

9 2.3 Kompilering av assemblykode Venteløkker Da alle instruksjonene har like lang instruksjonstid er det å lage venteløkker nesten trivielt. Med en klokkefrekvens på 50 MHz vil hver instruksjon ta 40 ns. En venteløkke som realiserer en ventetid på 1 µ s blir da: delay_1us: LOAD s0, delay_1us_constant wait_1us: SUB s0, 01 JUMP NZ, wait_1us RETURN Konstanten delay_1us_constant lastes inn i register s0, deretter kjøres en løkke som trekker fra 1 på denne verdien helt til tallet er nede i 0. (JUMP NZ, hopp så lenge ikke null). Selve løkken tar da 80 ns for hver iterasjon og det vil være totalt 3 ekstra instruksjoner som må utføres i tillegg til løkkeiterasjonene, CALL, LOAD, og RETURN. Konstanten delay_1us_constant må for et mikrosekund, altså 1000 ns være: = 11 (2.1) Altså 0B heksadesimalt. Alternativt kan formel 2.2 nedenfor brukes: delay_1us_constant = clock_rate 6 4 (2.2) Der clock_rate er klokkeraten til PicoBlaze i MHz. Å realisere en venteløkke på 1 sekund vil nå kunne gjøres ved å lage flere venteløkker som bruker hverandre. Dette er gjort i selve programkoden som er lagt med som vedlegg. 2.3 Kompilering av assemblykode Før programmet kan kompileres må kompilatoren og noen viktige tilhørende filer finnes frem. Kompilatoren leveres med System Generator og vil på lab-pc-ene på UiS kunne hentes fra C:\APPL\Xilinx\SG10_0\DSP_Tools\sysgen. Fra denne stien skal følgende filer hentes og kopieres til et foretrukket arbeidsområde på C:\ disken 5. KCPSM3.EXE,ligger i ~\bin ROM_form.vhd, ligger i ~\hdl ROM_form.v ligger i ~\hdl ROM_form.coe ligger i ~\data Kopier også programfilen prog.psm inn i dette arbeidsområdet. Figur 2.7 på neste side viser hvordan arbeidsområdet skal se ut. 5 Da kompilatoren kjøres fra kommandolinje er det best å legge filene på C:\ disk og så nært opp til root som mulig. 9 T-01

10 2.4 Kompilering og overføring av Simulinkmodell Figur 2.7: Arbeidsområde før kompilering For å kompilere selve programmet brukes kcpsm.exe, dette gjøres ved å starte opp kommandolinja. Fra Windows-Xp kan dette gjøres ved å velge start kjør, skrive inn cmd og trykke enter. Bruk så cd-kommandoen til å navigere til arbeidsområdet. Programmet kompileres ved å skrive: kcpsm3.exe prog.psm Se også figur 2.8. Figur 2.8: Bruk av kommandolinje Dersom det er feil i koden vil kompilatoren fortelle om dette, forhåpentligvis er det ikke det og programmet kompileres. Kompilatoren lager blant annet et Matlab-skript PROG.M, det er denne filen som skal brukes videre. Husk å gjøre denne fila tilgjengelig for Matlab, enten ved å kopiere den til Matlabs arbeidsområde, eller ved å legge den til i Path-variabelen i Matlab. 2.4 Kompilering og overføring av Simulinkmodell Med PROG.M fila tilgjengelig for Matlab brukes kommandoen: ROM = PROG Variabelen, ROM, som er innholdet i ROM-blokka blir da fylt med maskinkoden til programmet. 10 T-01

11 2.4 Kompilering og overføring av Simulinkmodell Nå er selve modellen klar til å kompileres. Dobbeltklikk på System Generator blokka i modellen, se figur 2.3 og 2.4, og velg Generate. Når kompileringen av modellen er ferdig startes programmet Xilinx Impact for å overføre programmet til FPGA-en. Impact forutsettes kjent, så bare hovedlinjene er tatt med. I figur 2.9 vises skjermbildet fra Impact, der man har fått kontakt med utviklingskortet. FPGA-en (grønn i figur) programmeres med det nylig kompilerte programmet, mens de to andre kretsene bypasses. Forhåpentligvis stemmer alt nå og en vil se at FPGA-kretsen begynner å telle oppover på lysdiodene. Figur 2.9: Skjermbilde fra Impact koblet opp mot Spartan-3E Starter Kit Board 11 T-01

12 Oppsummering REFERANSER 3 Oppsummering Som rapporten viser kan PicoBlaze enkelt implementeres i FPGA ved hjelp av Xilinx System Generator for Matlab (Simulink). Det enkle eksempelet i rapporten kan enkelt utvides. På IDE har vi utvidet dette og laget en egen subblokk for Simulink som tar inn 4 signaler, leser disse og skriver ut verdien av dem på 16x2 linjers LCDskjerm. Denne blokken bruker en PicoBlaze mikrokontroller til å styre grensesnittet mot LCD-skjermen. Ved hjelp av denne blokken kan man for eksempel i faget Anvendt Signalbehandling enkelt visualisere hvordan maksimalverdien til et signal endres ved bruk av forskjellige digitale filtre. Grunnet det lave ressursbehoved til PicoBlaze kan denne blokken brukes uten at den opptar så mye ressurser at det går på bekostning av signalbehandlingssystemene som også implementeres i samme FPGAbrikke. For enda et introduksjonsprosjekt til PicoBlaze anbefales introduksjonsprosjektet for utviklingskortet «Spartan-3E Starter Kit Board» laget av Ken Chapman hos Xilinx [1]. Dette prosjektet har vært grunnlag for det eksempelet som brukes i denne rapporten. I tillegg til venteløkker og grensesnitt inneholder introduksjonsprosjektet også en demonstrasjon av avbruddsbasert programmering på PicoBlaze. Referanser [1] Ken Chapman. PicoBlaze Initial Design for Spartan-3E Starter Kit (LCD Display Control). Xilinx, San Jose, CA, Februar [2] Xilinx. PicoBlaze 8-bit Embedded Microcontroller User Guide (UG129). San Jose, CA, Juni [3] Xilinx. Spartan-3E Starter Kit Board User Guide (UG230). San Jose, CA, Mars [4] Xilinx. System Generator for DPS User Guide (UG640). San Jose, CA, Desember T-01

13 Kildekode A Kildekode PicoBlaze 3 Testprogram Kristian Thorsen UIS Vår 2010 Basert på eksempelprogram av Ken Chapman - Xilinx Ltd Versjon 0.1 **************************************** Konstanter **************************************** CONSTANT delay_1us_constant, 0B **************************************** Hovedprogram **************************************** INPUT s6, 80 Laster inn verdien på inngangsport til register s6 loop: ADD s6, 01 inkrementerer s6 OUTPUT s6, FF Skriver ut s6 til utgangsport 255 CALL delay_1s Kaller opp subrutine (venteløkke) JUMP loop Hopper tilbake til loop **************************************** Venteløkker **************************************** Delay of 1us. Registers used s0 delay_1us: LOAD s0, delay_1us_constant wait_1us: SUB s0, 01 JUMP NZ, wait_1us RETURN Delay of 40us. Registers used s0, s1 delay_40us: LOAD s1, x 1us = 40us 13 T-01

14 Kildekode wait_40us: CALL delay_1us SUB s1, 01 JUMP NZ, wait_40us RETURN Delay of 1ms. Registers used s0, s1, s2 delay_1ms: LOAD s2, x 40us = 1ms wait_1ms: CALL delay_40us SUB s2, 01 JUMP NZ, wait_1ms RETURN Delay of 20ms. Delay of 20ms used during initialisation. Registers used s0, s1, s2, s3 delay_20ms: LOAD s3, x 1ms = 20ms wait_20ms: CALL delay_1ms SUB s3, 01 JUMP NZ, wait_20ms RETURN Delay of approximately 1 second. Registers used s0, s1, s2, s3, s4 delay_1s: LOAD s4, x 20ms = 1000ms wait_1s: CALL delay_20ms SUB s4, 01 JUMP NZ, wait_1s RETURN 14 T-01

Xilinx System Generator blokk med kontroller for LCD-skjerm på Virtex II-Pro Development Board

Xilinx System Generator blokk med kontroller for LCD-skjerm på Virtex II-Pro Development Board Xilinx System Generator blokk med kontroller for LCD-skjerm på Virtex II-Pro Development Board Kristian Thorsen April 2010 T-02 Sammendrag Sammendrag I faget Anvendt Signalbehandling ved Institutt for

Detaljer

Avanserte byggeblokker (Maxfield kap.13 og 17)

Avanserte byggeblokker (Maxfield kap.13 og 17) Avanserte byggeblokker (Maxfield kap.13 og 17) Innhold: Kap 13: Embedded prosessorer (prosessorkjerner) Kap 17: Virtuelle komponenter (Intellectual Properties - IPs) INF3430 - H11 1 Organisering av kretskort

Detaljer

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk.

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Stavanger, 25. januar 2012 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Vi skal i denne øvinga se litt på brytere, lysdioder og

Detaljer

Introduksjon til DARK assembly

Introduksjon 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

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 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

Detaljer

Læringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc

Læ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

Detaljer

Forelesning Instruksjonstyper Kap 5.5

Forelesning 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

Detaljer

Debugging. Tore Berg Hansen, TISIP

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...

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

TDT4110 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

Detaljer

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppsummering 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

Detaljer

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

Innhold. 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

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK) 1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 3 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære om hvordan

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

TDT4105 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

Detaljer

1. Å lage programmer i C++

1. Å lage programmer i C++ Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Å lage programmer i C++ Tore Berg Hansen og Else Lervik Rividert siste gang 29. august 2005 1. Å lage programmer i C++ Resymé: Dette notatet

Detaljer

NOTAT (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. 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

Detaljer

Hva er maskinvaren Arduino

Hva er maskinvaren Arduino 1. Hva er Arduino De som har hørt om Arduino tidligere tenker på selve maskinvaren når man prater om Arduino. Men maskinvaren kretskortet med en ATMega mikrokontroller, USB port og digitale og analoge

Detaljer

Litt om Javas class-filer og byte-kode

Litt 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

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

CodevisionAVR. Start CodevisionAVR. Velg Settings Terminal og sett opp kommunikasjonsparametrene som figur 1 viser. avrlab07a.doc HVE RI Arnfinn Lunde

CodevisionAVR. 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

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (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

Detaljer

Steg 1: Installere programvaren

Steg 1: Installere programvaren Blinkende lysdiode Skrevet av: Adrian Helle Kurs: Arduino Tema: Elektronikk, Tekstbasert Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon Arduino

Detaljer

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest

Detaljer

Kapittel 1: Datamaskiner og programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

Operativsystemer og grensesnitt

Operativsystemer 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

Detaljer

Kom i gang med programmering i Java

Kom i gang med programmering i Java Kom i gang med programmering i Java Dette dokumentet forteller hvordan du skal komme i gang med programmering inkludert nedlasting av den programvare du trenger samt oppsett av disse samt en del innstillinger

Detaljer

1. Å lage programmer i C++

1. Å lage programmer i C++ Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Å lage programmer i C++ Tore Berg Hansen og Else Lervik Rividert siste gang 24. august 2006 1. Å lage programmer i C++ Resymé: Dette notatet

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/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

Detaljer

WORKSHOP BRUK AV SENSORTEKNOLOGI

WORKSHOP 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

Detaljer

Gruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)

Gruppe(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

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 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

Detaljer

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen

Detaljer

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Blinkende lysdiode Introduksjon Arduino Lærerveiledning Blinkende lysdiode Introduksjon Arduino Lærerveiledning Introduksjon Arduino er en mikrokontroller som kan programmeres til å styre elektroniske dingser og duppeditter. Ved hjelp av en Arduino kan du skru

Detaljer

Javas 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) 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

Detaljer

INF1510: Bruksorientert design

INF1510: Bruksorientert design INF1510: Bruksorientert design Ukeoppgaver i Arduino - uke 1 Vår 2017 Innhold 1. Elektrisitet 2 1.1. Kretsbygging 2 1.2. Komponenter 2 1.3. Dårlige kretser 3 1.4. Analoge og Digitale signaler 4 1.5. Likestrøm

Detaljer

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

Overordnet 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

Detaljer

Kapittel 3. The fun starts

Kapittel 3. The fun starts Kapittel 3 The fun starts Introduksjon I dette kapittelet vil jeg prøve å gjøre ting på en annen måte. Siden vi nå skal begynne å faktisk lage noe, tenkte jeg at jeg vil gjøre det slik at kapittelet blir

Detaljer

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Zelio 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

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

Løsningsforslag til eksamen i INF2270

Lø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

Detaljer

INF1400 Kap4rest Kombinatorisk Logikk

INF1400 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

Detaljer

Øving 0 - Xcode TDT4102

Øving 0 - Xcode TDT4102 Øving 0 - Xcode TDT4102 Frivillig Øving Mål for denne øvingen: Bli kjent med programmeringsverktøy Lage et første program kun med teksteditor og kompilator Lage et første program med Xcode Denne øvingen

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 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

Detaljer

Datamaskinens oppbygning

Datamaskinens 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

Detaljer

Erik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6.

Erik 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 å

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Gruppe(r): 2E Eksamensoppgaven består av: ELEKTRONIKK II Antall sider (inkl. forsiden): 4 Emnekode: SO 313E Dato: 5. juni 2003 Antall oppgaver: 8 Faglig

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose 1 TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose Anders Christensen (anders@ntnu.no) Rune Sætre (satre@ntnu.no) TDT4105 IT Grunnkurs

Detaljer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430. 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

Detaljer

Kapittel 1: Datamaskiner og programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

Oppgave 5. Mikrokontroller. Gruppe GF506: Per Christian Henden

Oppgave 5. Mikrokontroller. Gruppe GF506: Per Christian Henden Oppgave 5 Mikrokontroller Gruppe GF502: Marianne Andersson Kyrre Giertsen Gruppe GF506: Per Christian Henden SIE4005 DIGITALTEKNIKK OG DATAMASKINER NTNU 2001 Mikrokontroller Sammendrag 1. Tema Laboratorieoppgave

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 19.09.2006 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

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

AVSLUTTENDE 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

Detaljer

Arduino med Atmel studio 6.x (6.1)

Arduino med Atmel studio 6.x (6.1) Arduino med Atmel studio 6.x (6.1) Etter å ha sett meg grenseløs lei av Arduinos IDE har jeg i lenge tid brukt Atmels eget AS6.1 Tenkte derfor lage en liten hvordan sette den opp til å virke med arduino.

Detaljer

Oppbygningen 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»): 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.

Detaljer

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon Snurrige figurer Nybegynner Scratch Introduksjon Det er ganske enkelt å lage interessante animasjoner i Scratch. Her skal vi se hvordan vi kan flytte og snurre på figurer for å skape spennende mønstre.

Detaljer

Mattespill Nybegynner Python PDF

Mattespill Nybegynner Python PDF Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

Detaljer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

EKSAMEN 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

Detaljer

TDT DESEMBER, 2008, 09:00 13:00

TDT 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

Detaljer

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Prosessoren. 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)

Detaljer

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

Det 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.

Detaljer

Steg 1: Piler og knappetrykk

Steg 1: Piler og knappetrykk PXT: Er du rask nok? Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Spill, Elektronikk Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Detaljer

Dagens tema: Enda mer MIPS maskinkode

Dagens 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

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

Detaljer

En oppsummering (og litt som står igjen)

En 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

Detaljer

Hvordan en prosessor arbeider, del 1

Hvordan 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

Detaljer

FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW

FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW Jan Kenneth Bekkeng, 11.3.2013 Hensikten med denne øvelsen er å lære DAQ-programmering med utviklingsverktøyet LabVIEW. NB: se

Detaljer

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur. Snurrige figurer Skrevet av: Geir Arne Hjelle og Carl Andreas Myrland Kurs: Scratch Introduksjon Det er ganske enkelt å lage interessante animasjoner i Scratch. Her skal vi se hvordan vi kan flytte og

Detaljer

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur. Snurrige figurer Skrevet av: Geir Arne Hjelle og Carl Andreas Myrland Kurs: Scratch Introduksjon Det er ganske enkelt å lage interessante animasjoner i Scratch. Her skal vi se hvordan vi kan flytte og

Detaljer

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor! PXT: Temperatur Skrevet av: Kolbjørn Engeland, Julie Revdahl Kurs: Microbit Tema: Blokkbasert, Elektronikk, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

Introduksjon til versjonskontroll av Ola Lie

Introduksjon til versjonskontroll av Ola Lie Introduksjon til versjonskontroll av Ola Lie Installere Subversion Subversion (også kalt SVN) er et versjonskontrollsystem som hjelper oss å holde orden på de forskjellige versjonene når vi utvikler programmer.

Detaljer

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator? Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får

Detaljer

Installere JBuilder Foundation i Windows XP

Installere 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

Detaljer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 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

Detaljer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

! 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

Detaljer

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Her 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

Detaljer

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

Pensum 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

Detaljer

Oppgave 8.1 fra COD2e

Oppgave 8.1 fra COD2e Oppgave 8.1 fra COD2e To systemer brukes for transaksjonsprosessering: A kan utføre 1000 I/O operasjoner pr. sekund B kan utføre 750 I/O operasjoner pr. sekund Begge har samme prosessor som kan utføre

Detaljer

Programmeringsspråket C Del 2

Programmeringssprå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

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs

TDT4105 Informasjonsteknologi, grunnkurs 1 TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Læringsmål/pensum Filbehandling Mål: Forstå

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Beskrivelse av styresystem for aktiv likeretter. Versjon 1.0.

Beskrivelse av styresystem for aktiv likeretter. Versjon 1.0. TR F5940 Beskrivelse av styresystem for aktiv likeretter. Versjon 1.0. Kjell Ljøkelsøy Februar 2004 SAK/OPPGAVE (tittel) TEKNISK RAPPORT SINTEF Energiforskning AS Postadresse: 7465 Trondheim Resepsjon:

Detaljer

Hvorfor lære om maskinvare*?

Hvorfor 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

Detaljer

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/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

Detaljer

Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign

Rapport Ø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].

Detaljer

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14 Kom i gang med 2 I dette heftet skal vi gjøre oss kjent med micro:bit og lære å programmere med blokk-kode. Heftet inneholder seks ulike prosjektoppgaver med differensiert innhold og tema. 1. Rullende

Detaljer

22 45 32 00. faks: 22 45 32. Avdeling for Ingeniørutdanning. Cart Aælersgate 30-0254 Oslo - tlf 05. iu@hio.no

22 45 32 00. faks: 22 45 32. Avdeling for Ingeniørutdanning. Cart Aælersgate 30-0254 Oslo - tlf 05. iu@hio.no IKandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle ~klarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger Itil grunn for løsningen. Avdeling for Ingeniørutdanning.

Detaljer

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

SRAM basert FPGA INF H10 1

SRAM basert FPGA INF H10 1 SRAM basert FPGA Prinsipp: SRAM-minne inne i FPGA lagrer kretsens konfigurasjon Fordeler Kan reprogrammeres uendelig mange ganger Plass til mye logikk Kan lett endre funksjonaliteten til systemet Trenger

Detaljer

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O Filterprogrammer og redirigering av I/O Linux filterprogrammer Mange kommandoer i Linux er tekstbaserte filtre Leser en strøm av tekst / tegn, linje for linje Gjør noe med ( filtrerer ) tekstlinjene Skriver

Detaljer

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene. Høgskolen i østfold EKSAMEN Emnekode: ITD13012 Dato: Emnenavn: Datateknikk Eksamenstid: 10.5.16 9.00 12.00, 3 timer Hjelpemidler: To A4-ark (fire sider) med egne notater Faglærer: Robert Roppestad "Ikke-kommuniserende"

Detaljer

Laget av Atle Hybertsen Høst 2017

Laget av Atle Hybertsen Høst 2017 101 Innholdsfortegnelse 1- Laste ned programmet 2- Oppstart 3- Betydninger basic 4- Basic program og funksjoner 5- Forklaringer av ord og forkortelser 6- Analog inn og ut oppsett 7- Betydninger avansert

Detaljer

Repetisjon Novice Videregående Python PDF

Repetisjon Novice Videregående Python PDF Repetisjon Novice Videregående Python PDF Introduksjon I denne oppgaven skal vi repetere litt Python-syntaks. Hele dette kurset er for de som har programmert Python før. Dersom ikke har mye erfaring med

Detaljer

PXT: Micro:bit repeater

PXT: Micro:bit repeater PXT: Micro:bit repeater Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Detaljer

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O Filterprogrammer og redirigering av I/O Linux filterprogrammer Mange kommandoer i Linux er tekstbaserte filtre Leser en strøm av tekst / tegn, linje for linje Gjør noe med ( filtrerer ) tekstlinjene Skriver

Detaljer

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

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 2 av 9 Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Denne oppgaven skal besvares på eget svarark sist i oppgavesettet. Dersom du finner flere alternativer som synes å passe, setter du kryss

Detaljer

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

SIE 4005, 8/10 (3. Forelesn.) SIE 4005, 8/10 (3. Forelesn.) Andre forelesning: litt repetisjon 7.7 Arithmetic / Logic unit 7.8 The Shifter 7.9 Datapath representation 7.10 The control word 7.11 Pipelined datapath Tredje forelesning:

Detaljer

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB Innføring i bruk av CGI4VB Her kommer en enkel innføring i bruk av modulen CGI4VB som kan benyttes for å lage CGI programmer i Visual Basic. CGI er en forkortelse for Common Gateway Interface den kommunikasjonsprotokollen

Detaljer

MAX MIN RESET. 7 Data Inn Data Ut. Load

MAX MIN RESET. 7 Data Inn Data Ut. Load UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 240 çç Digital Systemkonstruksjon Eksamensdag: 6. desember 2000 Tid for eksamen: 9.00 ç 15.00 Oppgavesettet er p 5 sider. Vedlegg:

Detaljer

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

Detaljer