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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 Innledning. Oppgaven består i å konstruere et digitalt simultanoversettelsessystem.

1 Innledning. Oppgaven består i å konstruere et digitalt simultanoversettelsessystem. Datamaskiner Prosjekt Innledning 1 Innledning Oppgaven består i å konstruere et digitalt simultanoversettelsessystem. Systemet som beskrives her er et enklere system enn det en kanskje kunne ønsket slik

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

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

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

Ø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

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

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 17. AUGUST, 213, 9: 13: Kontakt under eksamen: Gunnar

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

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

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

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

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 Dagens forelesing Kapittel 1 Datamaskinsystem Kapittel 2 start 3 Gunnar Fakta Datamaskingruppa Biologisk inspirerte system: Unconvential Computing Machines

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

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

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

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

Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006 Løsningsforslag til øving 5 TFE4105 Digitalteknikk og Datamaskiner Høsten 2006 Oppgave 1 Papirsimulering av utførende enhet Styreordsekvens Registeroperasjon 011 011 001 0 0010 0 1 R3 R3 + R1 ; R3 = 01100111

Detaljer

Dagens tema. Datamaskinenes historie. De første moderne datamaskiner. Løsning. Menneskene har alltid prøvd å lage maskiner for å løse sine problemer.

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

Detaljer

Fjernstyringsenhet VRT012

Fjernstyringsenhet VRT012 Fjernstyringsenhet VRT012 Brukerveiledning V 0.1 Takk for at du kjøpte produktet vårt! Vi håper denne brukervennlige styreenheten kan hjelpe deg til å realisere dine ideer og gjøre livet enklere for brukeren.

Detaljer

Filer i Linux og Bourne-again shell

Filer i Linux og Bourne-again shell Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) Definisjoner

Detaljer

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

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til

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

Mangelen på Internett adresser.

Mangelen på Internett adresser. 1. Av 2 Introduksjon og forord Internett er som kjent bygd opp i adresser, akkurat som husstander, byer og land, dette er fordi Internett er bygd opp mye likt post systemet, du kan sammenligne en maskin

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 16. DESEMBER, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Kapittel 4: Microarchitecture level

Kapittel 4: Microarchitecture level 1 Kapittel 4: Microarchitecture level 2 Kapittel 4: Microarchitecture level 3 Kva er og Kva gjer Realisera Instruction Level Architecture (ISA) 4 Nivå 2: Instruksjonssetarkitektur (ISA) Instruksjonssettark.

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

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting

Kapittel 6. Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting Kapittel 6 Høynivå møter lavnivå Fra C til assembly Fra assembly til maskinkode Linking og lasting CISC eller RISC Komplekst eller enkelt. Hva er raskest? Pipelining Smart bruk av registre Kode for lavt

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

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)

Detaljer

EGENDEFINERTE FUNKSJONER I SAS OG LITT OM OPEN SOURCE INTEGRASJON SAS FANS I STAVANGER 21.10.2015, MARIT FISKAAEN (SAS INSTITUTE)

EGENDEFINERTE FUNKSJONER I SAS OG LITT OM OPEN SOURCE INTEGRASJON SAS FANS I STAVANGER 21.10.2015, MARIT FISKAAEN (SAS INSTITUTE) EGENDEFINERTE FUNKSJONER I SAS OG LITT OM OPEN SOURCE INTEGRASJON SAS FANS I STAVANGER 21.10.2015, MARIT FISKAAEN (SAS INSTITUTE) EGENDEFINERTE FUNKSJONER INNLEDNING 2 På FANS 4. mars 2015 ble det vist

Detaljer

Hvordan laste ned og installere Java på Windowsplattformen

Hvordan laste ned og installere Java på Windowsplattformen Hvordan laste ned og installere Java på Windowsplattformen Nedlasting 1. Bruk en nettleser og gå til adressen: http://java.sun.com/javase/downloads/ 2. Trykk på lenken Download til høyre for JDK 6 Update

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 0 for Mac Frist: Ingen (frivillig øving)

Detaljer

TDT4160 2. DESEMBER, 2011, 09:00 13:00

TDT4160 2. DESEMBER, 2011, 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

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 3: Digital logic level 3 Nivå 0: Digtalekretsar Fundamentale komponentar AND, OR, NOT,NAND, NOR XOR porter D-vipper for lagring av ett bit

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 Auka yting 3 Auka yting CPU 4 Parallellitet Essensielt for å øke ytelse To typer: 1) Instruksjonsnivåparallellitet Fleire instruksjonar utføres samtidig

Detaljer

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

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu. 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer

Detaljer

Øving 1: Busser, adressemodi, multiplekser og styreord

Øving 1: Busser, adressemodi, multiplekser og styreord Øving 1: Busser, adressemodi, multiplekser og styreord Del 1: Busser Besvar hver enkelt oppgave ved å sette ring rundt det svaralternativet du mener er riktig. For hvert enkelt spørsmål er det kun ett

Detaljer

Brukermanual for Quizbuilder

Brukermanual for Quizbuilder Brukermanual for Quizbuilder 1. juni 2010 Innhold 1 Installasjon av Quizbuilder 2 1.1 Installasjon fra Kildekode........................ 2 1.2 Installasjon fra Zip-fil.......................... 2 2 Quizbuilder

Detaljer

Fortsetelse Microarchitecture level

Fortsetelse Microarchitecture level 1 Fortsetelse Microarchitecture level IJVM 2 Implementasjon Detaljar for å utføre instruksjonssettet Ein gitt implementasjon har ein gitt yting Endre ytinga Teknologi (prosess) Transistor implementasjon

Detaljer

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Kapittel 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

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Hangman. Level. Introduksjon

Hangman. Level. Introduksjon Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon

Detaljer

Digital logic level: Oppsummering

Digital logic level: Oppsummering 1 Digital logic level: Oppsummering 2 Nivå 0: Digtalekretsar Ai Bi Ci-1 Fundamentale komponentar AND, OR, NOT,NAND, NOR XOR porter D-vipper for lagring av ett bit Samansette komponentar Aritmetiske kretsar

Detaljer

Hvordan installere Java og easyio på Windows

Hvordan installere Java og easyio på Windows Hvordan installere Java og easyio på Windows Denne veiledningen forklarer en enkel måte å installere Java og easyio på din egen Windows-datamaskin. Du kan finne veiledninger for andre operativsystemer

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no

Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Obligatorisk oppgave 1 INF-3200 12. oktober 2003 Tor-Eirik Bakke Lunde torebl@stud.cs.uit.no Oppgavebeskrivelse: Designe og implementere en distribuert ray-tracing applikasjon, med basis i kontroller-

Detaljer

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre Dagens tema Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Tellere og registre Design av sekvensielle kretser (Tilstandsdiagram) 1/19 Sekvensiell

Detaljer

LF SEMESTERPRØVE TDT4258 MIKROKONTROLLER SYSTEMDESIGN. Onsdag 6.mai 2009. Tid: 1025-1155

LF SEMESTERPRØVE TDT4258 MIKROKONTROLLER SYSTEMDESIGN. Onsdag 6.mai 2009. Tid: 1025-1155 Side 1 av 8 Norges teknisk-naturvitenskapelige universitet INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP LF SEMESTERPRØVE TDT4258 MIKROKONTROLLER SYSTEMDESIGN Onsdag 6.mai 2009 Tid: 1025-1155 Tillatte

Detaljer

Internminnet. Håkon Tolsby. 22.09.2014 Håkon Tolsby

Internminnet. Håkon Tolsby. 22.09.2014 Håkon Tolsby Internminnet Håkon Tolsby 22.09.2014 Håkon Tolsby 1 Innhold: Internminnet RAM DRAM - SDRAM - DDR (2og3) ROM Cache-minne 22.09.2014 Håkon Tolsby 2 Internminnet Minnebrikkene som finnes på hovedkortet. Vi

Detaljer

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet

Detaljer

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

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl. 09.00 13.00 Side 1 av 13 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN

Detaljer

Lynkurs i shellprogrammering under Linux

Lynkurs i shellprogrammering under Linux Lynkurs i shellprogrammering under Linux Interaktiv bruk av shell Shell/skall er en applikasjon som lar bruker taste inn tekstlige kommandoer til Linux en og en linje om gangen (leser linjer fra stdin).

Detaljer

Konstruksjon av små innebygde system basert på mjukprosessor. Morten Tengesdal, Institutt for data- og elektroteknikk, Universitetet i Stavanger

Konstruksjon av små innebygde system basert på mjukprosessor. Morten Tengesdal, Institutt for data- og elektroteknikk, Universitetet i Stavanger Konstruksjon av små innebygde system basert på mjukprosessor Morten Tengesdal, Institutt for data- og elektroteknikk, Universitetet i Stavanger 9. mars 2012 Universitetet i Stavanger N-4036 Stavanger NORGE

Detaljer

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren

Detaljer

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634

Forprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634 Forprosjekt Presentasjon Gruppe 19: Event-planlegger Andreas Berglihn s169991 Harald R. Svendsen s127142 Gruppe Gruppe 19 Andreas Berglihn, s169991 Harald R. Svendsen s127142 Oppgave Eventplanlegger Utvikle

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Bussar og busshierarki Tape Optical Bus 3 CPU og buss komunikasjon Tape Optical Bus 4 Buss linjer Bus Adr/data Bit 0 Adr/data Bit 1 Adr/data Bit 2 Adr/data

Detaljer

Brukerveiledning Astra XT- programvare oppsett og kommunikasjons innstillinger.

Brukerveiledning Astra XT- programvare oppsett og kommunikasjons innstillinger. Brukerveiledning Astra XT- programvare oppsett og kommunikasjons innstillinger. Innholdsfortegnelse: Side 2 Side 3 Side 5 Side 7 Side 9 Side 14 Side 17 : Programforklaring : Installasjon : Registrering

Detaljer

Filer og kataloger, prosesser og jobber

Filer og kataloger, prosesser og jobber Introduksjon til dataanlegget Filer og kataloger, prosesser og jobber Marc Bezem Institutt for informatikk Universitetet i Bergen August 2005 1 Filer En l er en samling data som ligger lagret på maskinen

Detaljer

1. NetBeans IDE: Lage en enkel mobilapplikasjon

1. NetBeans IDE: Lage en enkel mobilapplikasjon Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering

Detaljer

Objective-C. Shermila Thillaiampalam 01.11.2011

Objective-C. Shermila Thillaiampalam 01.11.2011 Objective-C Shermila Thillaiampalam 01.11.2011 Innhold 1 Kort om Objective-C 4 1.1 Xcode................................ 4 2 Historie 5 2.1 Programmeringsspråket C..................... 5 2.2 Smalltalk..............................

Detaljer

Introduksjon...5. Systemkrav...7. For Windows...9

Introduksjon...5. Systemkrav...7. For Windows...9 Innholdfortegnelse Introduksjon...................................5 Systemkrav...................................7 For Windows...................................9 Installere programvare for bildeutskrift

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

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00 Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultetet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsskisse

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8 Innhold Innhold Tryll bort heksa Introduksjon Steg 1: Lag en flyvende heks Steg 2: Få heksa til å dukke opp og forsvinne Steg 3: Tryll bort heksa med et klikk! Steg 4: Legg til tid og poeng En ekstra utfordring:

Detaljer

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk IT1101 Informatikk basisfag I dag Programmeringsspråk Problemer med maskinspråk I dag: 5.1-5.3 Fra lavnivå til høynivå programmeringsspråk - utvikling Kompilator / tolker Programmeringsparadigmer Tradisjonelle

Detaljer

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker,

Detaljer

VH Service Software. Dette dokumentet forteller deg i korte trekk hvilke funksjoner denne programvaren har, basert på følgende menyvalg:

VH Service Software. Dette dokumentet forteller deg i korte trekk hvilke funksjoner denne programvaren har, basert på følgende menyvalg: VH Service Software Dette dokumentet forteller deg i korte trekk hvilke funksjoner denne programvaren har, basert på følgende menyvalg: File Settings Test Alarm Help Dette er startsiden i denne service

Detaljer

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive, 1. Last ned og installer XAMPP. 2. Sjekk at alt fungerer. 3. MySQL. Vi begynner med databaseserveren, MySQL. Gå til DOS klarmelding eller ledetekst (finnes under tilbehør på startmenyen om du ikke som

Detaljer

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2008. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2008 Gunnar Tufte 2 I dag Kva er inni 8051, P4 og UltraSparc Digital logic level (start kapitel 3) VIKTIG MELDING Alle som har brukt NTNU-passord for AoC pålogging må skifte

Detaljer

Høgskolen i Østfold Avdeling for informasjonsteknologi. Programmering av PLS-styrt Modellandsby ved hjelp av Phoenix Profinet / PCWorX

Høgskolen i Østfold Avdeling for informasjonsteknologi. Programmering av PLS-styrt Modellandsby ved hjelp av Phoenix Profinet / PCWorX Høgskolen i Østfold Avdeling for informasjonsteknologi Industriell IT ITD30005 Lab 1 (Gruppeoppgave) Programmering av PLS-styrt Modellandsby ved hjelp av Phoenix Profinet / PCWorX Remmen 03.sept 2015 Revidert:

Detaljer

Generelt om permanent lagring og filsystemer

Generelt om permanent lagring og filsystemer Generelt om permanent lagring og filsystemer Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert

Detaljer

Web Connect-guide. Versjon 0 NOR

Web Connect-guide. Versjon 0 NOR Web Connect-guide Versjon 0 NOR Gjeldende modeller Denne brukermanualen gjelder for følgende modeller: ADS-2500We og ADS-2600We. Merknadsdefinisjoner Vi bruker følgende merknadsstil gjennom hele denne

Detaljer

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Norgestur Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir

Detaljer

1 Innledning. 2 Fremgangsmåte. 3 Windows - installering. C++ i Unix 1 TDT4102 NTNU

1 Innledning. 2 Fremgangsmåte. 3 Windows - installering. C++ i Unix 1 TDT4102 NTNU C++ i Unix 1 TDT4102 NTNU 1 Innledning av Åsmund Ervik, jan. 2011 Dette dokumentet skal veilede deg gjennom å skrive og kompilere programmer i C++ på NTNUs sentrale Unix/Linux-server 1. Dette vil gi deg

Detaljer

Forelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Forelesning 15.11. Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B TDT4160 Datamaskiner Grunnkurs Forelesning 15.11 Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B Dagens tema Datatyper (5.2) Heltall Ikke-numeriske datatyper Instruksjonsformat (5.3) Antall

Detaljer