TSEA28 Datorteknik Y (och U)

Storlek: px
Starta visningen från sidan:

Download "TSEA28 Datorteknik Y (och U)"

Transkript

1 TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist Dagens föreläsning (Tutor) Adresseringsmoder M68008 stackhantering Exempel Stackhantering lämplig struktur på program I/O Vanliga fel I/O via PIA på tutor

2 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Praktiska kommentarer Labanmälan finns tillgänglig Kursrummet på lisam, nere till vänster Lab 1 del A deadline anmälan , kl Tips: Börja läsa igenom labbmaterial redan nu Bra att vara förberedd innan 1:a lektionen Vi räknar inte med att ni kan processorbeskrivningen utantill, men att ni vet var man hittar den informationen i manualen TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Praktiska kommentarer, forts. Användandet av tutor för labförberedelser ISY:s labbsalar/maskiner (asgård, olympen, egypten, southfork) Alla är öppna dygnet runt, men kan vara bokade för annan undervisning (kolla schemaservern!) Logga in först på ixtab.edu.isy.liu.se Se kurshemsidan för mer information Programsnuttar (t ex från individuella förberedelseuppgiften) innehåller inget avslut När programmet är slut fortsätter datorn tolka instruktionerna som kommer Se till att lägga till brytpunkt eller anrop till trap #14 Notera: utskrivna registervärden i samband med trap #14 är inte korrekta

3 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Praktiska kommentarer, forts. Glöm inte den individuella hemuppgiften Efter dagens föreläsning bör ni kunna börja studera 1:a hemuppgiften Hemuppgift innan lab 1 består i att förstå ett redan givet program Ni ska förstå vad som händer med registervärden Glöm inte att ni kan simulera program på labbsystemet, även hemifrån (logga in på ixtab.edu.isy.liu.se) Individuell förberedelseuppgift 1 måste vara klar innan 1:a labben! Inte obligatorisk för vanliga labbtillfällen Krävs för att få tillgång till eventuella extratillfällen Se hemuppgift på hemsida (meny till höger) Lab3 har ingen individuell förberedelseuppgift TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Register i D0 till D7 32-bitars dataregister A0 till SR PC 32-bitars adressregister, används som stackpekare (SP) 16-bitars statusregister med flaggor (+ statusbitar) D0 D1 D2 D3 D4 D5 D6 D A0 A1 A2 A3 A4 A5 A6 PC SR 32-bitars programräknare, 20 bitar används till adresser

4 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Datastorlek kan skriva och läsa 8, 16 och 32 bitars data Noteras i assembler genom tillägg av.b,.w och.l efter instruktion Exempel move.l #$ffffffff,d0 add.b #$11,d0 add.w #$1111,d0 ; sätt d0 = $ffffffff ; d0 = $ffffff10 ; Påverkar endast lägsta 8 bitarna! ; Ingen carry från bit 7 till bit 8! ; d0 = $ffff1021 ; Påverkar endast de lägsta 16 bitarna! add.l #$ ,d0 ; d0 = $ ; Påverkar alla bitar i registret TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Minnesaccess Antag minnet innehåller (byte-adresserbart) $7: $8: $41 $9: $45 x är samma värde som $A: $4A innan instruktionen exekverades $B: $21 V move.b $8,d0 ; d0 innehåller nu $xxxxxx41 move.w $8,d1 ; d1 innehåller nu $xxxx4145 move.l $8,d2 ; d2 innehåller nu $ Mest signifikant byte lagras först (lägsta adressen) Beskriv minnesaccess på adress A som M[A] move.w $8,d1 ; {M[8],M[9]} flyttas till d1 bit 15-0

5 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Adresseringslägen, generellt Varje instruktion har ett antal in och utdata T ex Reg0 = reg1 + reg2 ; Reg1 och Reg2 indata, Reg0 utdata Vissa processorer antar alltid samma utdata (t ex 8- bit 6502 från Apple II) T ex svaret hamnar alltid i register A Behöver inte ange att A är källa Exempel: ADC #3 ; underförstått A = A + 3 Andra processorer tillåter olika in och utdataregister Exempel ARM Cortex-A: Add R0,R1,R2 ; R0 = R1 + R2 Ordning på register olika för olika processorfamiljer (vad som är källa respektive destination) TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Adresseringslägen, I finns bara två parametrar till de flesta instruktionerna Destination för en operation är en av inparametrarna Se kapitel 6.2 i tutormanualen för mer info om adresseringslägen Register Operanden ligger i ett register add.b d0,d1 ; d1 = d1 + d0 Omedelbar Operand följer direkt på instruktionen add.b #15,d0 ; addera 15 till d0

6 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Adresseringslägen, 68000, forts. Absolut Operanden ligger i minnet på angiven adress Add.w $8,d0 ; lägg till {M[8],M[9]} till d0 Kuriosa Det finns två olika absoluta adressversioner 32 bitar absolut adress: Kan peka på valfri adress i hela adressrymden 16 bitar absolut adress (2-komplement): Kan bara peka på lägsta adresserna ( FFF) och högsta adressområdet ($FFFF8000-$FFFFFFFF) Den korta versionen kräver färre minnesceller för att lagra instruktionen (kan väljas av assemblern ibland) TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Adresseringslägen, 68000, forts. 2 Registerindirekt addressering Operanden ligger på den adress som register pekar på add.b (a0),d0 ; addera M[A0] till d0 Registerindirekt addressering med förskjutning Operanden ligger på den adress som fås om förskjutning läggs till registrets värde add.b 6(a0),d0 ; Addera M[A0+6] till d0 Väldigt vanlig adresseringsmod i kompilerad kod Exempel: A0 pekar på datastruktur, och element på förskjutning 6 läses. Förskjutning är i 2-komplement Kan referera både framför och bakom adress pekad på av A0 i exemplet n n+1 n+2 n+3 n+4 n+5 n+6 A0 A0+6

7 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Adresseringslägen, 68000, forts. 3 Registerindirekt adressering, postinkrement Använd adressregister, därefter ökas adressregister add.b (a0)+,d0 ; d0= M[a0] + d0, därefter a0 = a0 + 1 add.w (a0)+,d0 ; d0= {M[a0],M[a0+1]} + d0 därefter a0 = a0 + 2 add.l (a0)+,d0 ; d0= {M[a0],M[a0+1],M[a0+2],M[a0+3]} + d0, därefter a0 = a0 + 4 Observera a0 increment baseras på datastorlek (1,2, eller 4) Registerindirekt adressering, predecrement Minska först adressregister, använd därefter minnet add.b -(a0),d0 ; minska a0 med 1, addera M[a0] till d0 Minskning beror på datastorlek Nya värdet på a0! TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Adresseringslägen, 68000, forts. 4 Vilka behöver man kunna? Direkt (ladda konstanter) Omedelbar (läsa/skriva från speciell adress) Registerindirekt (använda A-register som pekare) Registerindirekt Increment/decrement (för push/pop på stack) Alla andra går att lösa mha beräkning i A och D register Dock mindre effektivt

8 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Stackhantering i är stackpekare Pekar på översta element i stacken Push XX implementeras som move.? XX,- (a7)? motsvarar.b,.w eller.l XX = Pop implementeras som move.? (a7)+,xx Exempel motsvarande push d0 move.w d0,-(a7) ; minska a7 med 2, därefter {M[a7],M[a7+1]} = d0 Specialfall (bara a7): push/pull byte (.b) minskar/ökar stackpekare a7 med 2! 0 1 n n+1 n+2 n+3 Minne Stackpekare a7 måste innehålla jämn adress TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Subrutinanrop Använder automatiskt a7 a0-a6 kan också användas stackpekare, men används inte av jsr och rts Minnesceller ovanför stackpekaren a7 (lägre adresser) kan ändras i samband med exekvering Subrutinanrop som görs påverkar stacken Kan inte förvänta sig hitta gamla värden som lagts på stacken, kan ha skrivits över av andra rutiner I Tutor-miljön kommer minnescellen ovanför stacken få aktuell instruktionsadress om TR kommandot används I figur är värden i adresser n-1, n-2 (ovanför ) odefinierade (kan ändras) 0 1 n n+1 n+2 n+3 Minne

9 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner Lite exempelkod ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Går igenom koden Exempel på hur man kan ta reda på funktion hos en given maskinkod 00 D0 xxxxxxxx D PC 00 Z X TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 1 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Ladda D0 med = #66 inte noll => Z = 0 Räkna upp PC till nästa instruktion 00 D D PC 06 Z 0

10 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 2 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Kopiera återhoppsadress (nästa PC) till stack Minska med 4, sätt M[],M[],M[6ffe],M[6fff] Sätt PC till subrutinens adress 00 D D PC 50 Z 0 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 3 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Pusha nuvarande D1-värde till stack Minska med 4, sätt M[],M[],M[6ffa],M[6ffb] 00 D D PC 52 Z 0

11 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 4 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Sätt D1 till 0 Värde = 0 => Z = 1 00 D D PC 58 Z 1 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 5 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Beräkna D1 = D0 + D1 D1 =, D0 = $42 => D1 = $42 00 D D PC 5A Z 0

12 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 6 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Beräkna D0 = D0-1 D0 = $42 => D0 = $41 Sätt Z-flaggan till 0 (D0:s nya värde inte 0) 00 D D PC 60 Z 0 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 7 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Om Z = 0 hoppa till 58 Z = 0 => PC = D D PC 58 Z 0

13 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 8 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Beräkna D1 = D0 + D1 D1 = $42, D0 = $41 => D1 = $83 Resultat inte 0 => Z = 0 00 D D PC 5A Z 0 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 9 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Loop address 58, 5A, 60 exekveras tills D0 = 1 lagts till D1 D1 blir totalt $42+$41+$ $02+$01 = $08A3 Senaste SUB.L med D0 = 1 ger D0 = 0, Z = 1 00 D D1 0008A3 PC 60 Z 1

14 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 10 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Om Z = 0 sätt PC till 58 Z = 1 därför blir PC = 62 (nästa instruktion) 00 D D1 0008A3 PC 62 Z 1 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 11 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Kopiera värdet i D1 till D0 D1 = $08A3 => D0 = $08A3 00 D0 0008A3 D1 0008A3 PC 64 Z 0

15 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 12 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Pop av värde tillbaks till D1 Kopiera M[],M[],M[6ffa],M[6ffb] till D1 Öka med 4 00 D0 0008A3 D PC 66 Z 0 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 13 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Återhopp från subrutin Kopiera M[],M[],M[6ffe],M[6fff] till PC Öka med 4 00 D0 0008A3 D PC 00100A Z 0

16 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel: stack och subrutiner, forts 14 ; Antagande. = 00, D1= från start JSR.S BNE.S 1058 Fortsätter med resten av programmet Subrutinen har beräknat D1 har använts men återställts D 0 D 0= x x=0 00 D0 0008A3 D PC 00100A Z 0 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Vanliga fel vid programmering Glömma # eller $ Ett # eller $ för mycket (på fel ställe) Glömma ange ordlängd på instruktion.w antas om det saknas Läsa/skriva 16 eller 32 bitars ord på udda adresser Ange fel ordlängd Tar bort fel antal element på stacken före retur från subrutin

17 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel på olämplig/felaktig kod Verkar försöka kontrollera om D2=D3 och skriva ut meddelande annars kopieras värde in i D0 Just nu skrivs det ut korrekt 1 gång Ser ni problemen? Programmet hänger sig till slut huvudprogrammet ; Ej fungerande variant jsr calculate... calculate add.l d0,d1 add.l d2,d1 cmp.l d2,d3 beq printmessage move.l d3,d0 rts ; En subrutin printmessage ; En till subrutin move.l #errorstring,a0 jsr printit printit: ; Ytterligare subrutin... ; Lite mer kod här... bra huvudprogrammet TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Källor till problem i exemplet Svår att felsöka Subrutiner hoppar till varandra via BEQ/BNE Viktigt fel: Växande stack Återhopp till huvudprogram sist i subrutin utan att återställa stack Till slut kommer stacken skriva över data och/eller program huvudprogrammet ; Ej fungerande variant jsr calculate... calculate add.l d0,d1 add.l d2,d1 cmp.l d2,d3 beq printmessage move.l d3,d0 rts ; En subrutin printmessage ; En till subrutin move.l #errorstring,a0 jsr printit printit: ; Ytterligare subrutin... ; Lite mer kod här... bra huvudprogrammet

18 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Bättre variant Förbättrat/åtgärdad version huvudprogrammet ; Bättre variant jsr calculate... calculate ; En subrutin add.l d0,d1 add.l d2,d1 cmp.l d2,d3 bne dontprint jsr printmessage rts dontprint ; skriv inte ut move.l d3,d0 rts printmessage ; En till subrutin move.l #errorstring,a0 jsr printit rts printit: ; Ytterligare en subrutin... ; Lite mer kod här... rts huvudprogrammet ; Ej fungerande variant jsr calculate... calculate add.l d0,d1 add.l d2,d1 cmp.l d2,d3 beq printmessage move.l d3,d0 rts ; En subrutin printmessage ; En till subrutin move.l #errorstring,a0 jsr printit printit: ; Ytterligare subrutin... ; Lite mer kod här... bra huvudprogrammet TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Varför den nya versionen är bättre En subrutin bör göra enbart en sak och sedan hoppa tillbaks Om fler saker behöver göras låt subrutinen ropa på flera andra subrutiner Detta angreppssätt möjliggör återanvändning av rutiner huvudprogrammet ; Bättre variant jsr calculate... calculate ; En subrutin add.l d0,d1 add.l d2,d1 cmp.l d2,d3 bne dontprint jsr printmessage rts dontprint ; skriv inte ut move.l d3,d0 rts printmessage ; En till subrutin move.l #errorstring,a0 jsr printit rts printit: ; Ytterligare en subrutin... ; Lite mer kod här... rts

19 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist In och utmatning, generellt Alla datorer behöver kommunicera med omvärden (se studenträknarexemplet) Skicka ut en bit via ett register på en speciell adress Läs av en insignal via en speciell adress Problem med den enkla uppsättningen Måste veta i förväg hur många in och utsignaler som ska finnas Kan bara skicka ut alternativt ta emot signal Varje pinne på kretsen kostar extra, vill utnyttja dom maximalt Vissa funktioner är enkla att bygga hårdvara för men dyra att lösa programmeringsmässigt Vissa funktioner har för hög hastighet för att processorn ska hinna med TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist In och utmatning, Parallellport Vanlig funktion är parallellporten Skicka ut en byte per gång Läs av en byte per gång Att styra utsignaler Värdet som lagras i utporten finns tillgänglig på datorns utsida Varje gång nytt värde skrivs ändras utsignalerna på en gång I vissa datorer kan man även läsa ut utportens värde Är det datat man skrivit till porten som läses, eller är det värdet på pinnen? Ibland kan båda möjligheterna finnas (två olika adresser)

20 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist In och utmatning, Parallellport, forts. Att läsa av en port är enkelt Välj portens pinnar istället för minnet för någon specifik adress In och utgångar kan kombineras ihop Möjliggör anpassning till aktuellt behov Tillåter dubbelriktad kommunikation (databuss) Måste kunna styra om en pinne ska fungera som ut eller ingång Extra värden används (riktningsinformation) för varje bit Andra specialfunktioner Drivning Pull up/pull down tristate TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel Parallellportsstyrning, Atmel Exempel från Atmel SAM3X (aurdino due) Förenklad vy, total 16 register Varje pinne styrs av flera bitar Välj om pinnen ska kunna skicka ut ett värde (tristate) Välj om pinnen ska kunna skicka ut 0 och 1 eller bara 0 (open collector) Värde som ska skickas ut Välj om värdet alltid blir 1 om pinnen inte ansluten (pull-up) Open collector tristate utvärde logik dator pullup 3.3V Avläst värde omgivning Pinne

21 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Exempel BCM2835 (raspberry pi) Liknar Atmel-kretsen Kan även välja 0 som förvalt värde om inte ansluten pinne Kan styrka på utsignalen (max ström) Flera olika I/O-enheter kan anslutas till en pinne Välj vilken funktion som ansluts via ytterligare ett register Gäller faktist även Atmel-kretsen TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Parallellport på (PIA) Enklare än ovan? Riktingsregister väljer funktion på pinnen (ut eller in): Data direction Styrregister för flera andra funktioner: control register Dataregister för att skriva värde/läsa värde till/från port: Peripheral register Använder samma adress för två olika register En bit i statusregistret väljer vilken register som kopplas till en gemensamma adressen Intresserad av mer detaljer? Se detaljerad manual på labbhemsidan (bara 12 sidor)

22 TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Parallellport på (PIA), lab1 I labb 1 ska ett tangentbord läsas av och 1 lysdiod styras 4 bitars data (vilken tangent) + Strobe (tangent nedtryckt) från tangentbordet, dvs 5 ingångar 1 bit styr lysdiod, dvs 1 utgång Behöver initiera PIA för att sätta igång utgångar och kunna läsa av tangentbord Färdig kod i labbkompendie för lab1 Läs och försök förstå (jfr med tutormanualen) Mer information finns i avsnitt 4.6 i tutormanual TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist Andra I/O-enheter Kommunikation/styrning Seriella standarder (RS232, SPI, I2C, USB, SATA) Ethernet, bluetooth etc. GUI Tangentbord, mus Skärm Ljud Diverse övriga Kamera Klocka, timer Pulsviddsmodulering för t ex motorstyrning Exempel: Raspberry pi RS232 Parallellport USB (inkl. Ethernet via USB) PCM/I2S ljud I2C/SPI PWM Grafik (HDMI) 205 sidors manual om I/O... Saknar ändå mycket detaljer!

23

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist 2018-01-22 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY Labanmälan finns tillgänglig med start kl 12.30

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 5, Kent Palmkvist 2019-01-28 3 TSEA28 Datorteknik Y (och U) Föreläsning 5 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan finns tillgänglig med start kl 12.30

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2018-01-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Mail kommer skickas ut när labanmälan är möjlig

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2019-01-22 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan öppnar måndag 28/1 kl 12.30 Anmälningssystemet

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 6 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2017-01-30 2 Dagens föreläsning Avbrot Princip Avbrot på 68000 Exempel Flera nivåers

Läs mer

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin. 1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2018-01-29 3 Praktiska kommentarer, forts. TSEA28 Datorteknik Y (och U) Föreläsning 6 Kent Palmkvist, ISY Deadline anmälan till Lab1 del A idag

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2019-02-04 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 6 Kent Palmkvist, ISY Deadline anmälan till Lab1 del A idag 4/2 kl

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-10-20 Lokal TERE, TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 4 Kent Palmkvist, ISY Dagens föreläsning Resultat från operationer Flaggor Andra operationer Villkorliga hopp Rotation, skif Vanliga programkonstruktioner Introduktion

Läs mer

F4: Assemblerprogrammering

F4: Assemblerprogrammering F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering

Läs mer

Övningsuppgifter i Mikrodatorteknik 4p/5p

Övningsuppgifter i Mikrodatorteknik 4p/5p Övningsuppgifter i Benny Thörnberg Mittuniversitetet Inst. för Informationsteknologi och medier Hösten 2005 1 Exekvering av assemblerkod 1.1 Statusflaggors beteende Vad blir C-, N- och Z- flaggornas värden

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

Läs mer

Övning2 Datorteknik, HH vt12 - Programmering

Övning2 Datorteknik, HH vt12 - Programmering Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även

Läs mer

3. Mikroprogrammering II

3. Mikroprogrammering II 3. Mikroprogrammering II lite repetition in/ut-matning avbrott på OR-datorn hoppinstruktion labben Olle Roos dator LDA 000 12 ADD 100 7 STA 000 13 12 1 13 8 13 6 8 0 18,1,11 2,3,5,11 7,8,11 17,10 18,1,11

Läs mer

F8: Undantagshantering

F8: Undantagshantering F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2019-02-15 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-10-18 Lokal TER1 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-08-15 Lokal TER4 Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

Läs mer

Tentamen Datorteknik D del 2, TSEA49

Tentamen Datorteknik D del 2, TSEA49 Tentamen Datorteknik D del 2, TSEA49 Datum 2012-05-24 Lokal TER2 Tid 8-12 Kurskod TSEA49 Provkod TEN1 Kursnamn Datorteknik D del 2 Institution ISY Antal frågor 6 Antal sidor (inklusive denna 10 sida) Kursansvarig

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2017-02-13 2 Dagens föreläsning Summering så här långt Strukturer för att stödja

Läs mer

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte ARM-instruktioner, A4-format, 17 sidor. Maxpoäng: TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 8 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 8, Kent Palmkvist 2017-02-27 2 Dagens föreläsning Ett större exempel av signalbehandlande system

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 9 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 9, Kent Palmkvist 2017-03-20 2 Dagens föreläsning Byggblocken i en processor Hur de fungerar Grundläggande

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) 1827 2 4 Dagens föreläsning TSEA28 Datorteknik Y (och U) Föreläsning 4 Kent Palmkvist, ISY Praktiska kommentarer Resultat från operationer Labanmälan finns tillgänglig Långt ned på websidan som beskriver

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2018-02-12 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna

Läs mer

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 040117 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

Föreläsningsanteckningar 3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar

Läs mer

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

Läs mer

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar 1 Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan arkitektur), hårdvara osynlig Assembly- och maskinprogram:

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-10-26 Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

Laboration Datorteknik TSIU02 2. I/O-programmering

Laboration Datorteknik TSIU02 2. I/O-programmering Laboration Datorteknik TSIU02 2. I/O-programmering Stefan Gustafsson version 1.1 1. Inledning Laboration: I/O-programmering Du skall i denna laboration programmera TUTOR till att signalera i Morsekod.

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14

Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Tentamen Datorteknik Y, TSEA28 Datum 2012-08-14 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 7 Kursansvarig Andreas

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Föreläsningsanteckningar 2. Mikroprogrammering I

Föreläsningsanteckningar 2. Mikroprogrammering I Föreläsningsanteckningar 2. Mikroprogrammering I Olle Seger 2012 Anders Nilsson 2016 Innehåll 1 Inledning 2 2 En enkel dator 2 3 Komponenter 3 3.1 Register............................... 3 3.2 Universalräknare..........................

Läs mer

Programmering av Motorola 68000 TSIU02 Datorteknik

Programmering av Motorola 68000 TSIU02 Datorteknik Programmering av Motorola 68000 TSIU02 Datorteknik Michael Josefsson Version 1.2 Innehåll 1 Inledning 5 1.1 Datormodell.................................. 5 1.2 Tutor-kortet..................................

Läs mer

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är

Läs mer

Laboration 2 i Datorteknik- Assemblerprogrammering II

Laboration 2 i Datorteknik- Assemblerprogrammering II Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner

Läs mer

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren

Läs mer

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Programexempel för FLEX

Programexempel för FLEX Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2017-06-02 Lokal G35, TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #16 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Behovet av ändring av programflödet För att kunna skriva

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 TER2, TER4, TERE Tid 14-18

Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 TER2, TER4, TERE Tid 14-18 Tentamen Datorteknik Y, TSEA28 Datum 2012-06-02 Lokal TER2, TER4, TERE Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 7 Antal sidor (inklusive denna sida) 10

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #16 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Behovet av ändring av programflödet För att kunna skriva

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

Styrenheten styrsignalsekvenser programflödeskontroll

Styrenheten styrsignalsekvenser programflödeskontroll Styrenheten styrsignalsekvenser programflödeskontroll Kontroll av programflöde Instruktionerna är ordnade sekventiellt i minnet och utförs normalt i denna ordning. Vissa programkonstruktioner kräver dock

Läs mer

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Processorn Maskininstruktioner Dator Primärminne Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 2. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 2 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 2 Check av övningar Von Neumann arkitekturen Minne, CPU, I/O Instruktioner och instruktionscykeln

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning Latens/genomströmning Pipelining Laboration tips Sorteringsalgoritm använder A > B i flödesschemat Exemplet

Läs mer

Tentamen (Exempel) Datorteknik Y, TSEA28

Tentamen (Exempel) Datorteknik Y, TSEA28 Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-05-29 Lokal KÅRA,T1,T2, Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas 1 2 Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas och instruk7onen exekveras. 3 4 Program kan beskrivas

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 4 Kent Palmkvist, ISY Labanmälan öppnar Må 22/1 kl 12.3 Logga in på Lisam, kursens kursrum TSEA28-218VT Välj länk Anmälan (längst ned till

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) Praktiska kommentarer TSEA8 Datorteknik Y (och U) Föreläsning Kent Palmkvist, ISY Dagens föreläsning RISC Mer information om hur arkitekturen fungerar Begränsningar Lab extra tillfälle för redovisning

Läs mer

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

LABORATION DATORTEKNIK Y DATORTEKNIK D

LABORATION DATORTEKNIK Y DATORTEKNIK D LABORATION DATORTEKNIK Y DATORTEKNIK D Avbrottsprogrammering på M68008 Version: 3.2 203 (OVA) Namn och personnummer Godkänd Till laboranten Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum TER2 och TER3 Tid 14-18

Tentamen Datorteknik Y, TSEA28 Datum TER2 och TER3 Tid 14-18 Tentamen Datorteknik Y, TSEA28 Datum 2014-05-28 Lokal TER2 och TER3 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 14 Kursansvarig

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum TER1 och TER2 Tid 14-18

Tentamen Datorteknik Y, TSEA28 Datum TER1 och TER2 Tid 14-18 Tentamen Datorteknik Y, TSEA28 Datum 2013-05-28 Lokal TER1 och TER2 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 12 Kursansvarig

Läs mer

Tentamen Datorteknik Y, TSEA28 Datum 2013-08-20

Tentamen Datorteknik Y, TSEA28 Datum 2013-08-20 Tentamen Datorteknik Y, TSEA28 Datum 2013-08-20 Lokal TER2 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Datorteknik Y Institution ISY Antal frågor 6 Antal sidor (inklusive denna sida) 13 Kursansvarig

Läs mer

Föreläsningsunderlag TSEA82 Datorteknik D TSEA57 Datorteknik I

Föreläsningsunderlag TSEA82 Datorteknik D TSEA57 Datorteknik I Föreläsningsunderlag TSEA82 Datorteknik D TSEA57 Datorteknik I Michael Josefsson Anders Nilsson (korrektur 2014, 2015) version 2015 Innehåll 0. Introduktion 7 0.1. Kurslitteratur..................................

Läs mer

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt

Läs mer

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18 F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.02 Februari 2018 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden? Mål Datorteknik Föreläsning 3 Att veta hur maskinkoden för ett program byggs upp Att börja programmera i på riktigt Att kunna skriva och anropa subrutiner i Att förstå hur stacken fungerar Att veta vad

Läs mer

LV6 LV7. Aktivera Kursens mål:

LV6 LV7. Aktivera Kursens mål: Aktivera Kursens mål: LV6 LV7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 3 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 3, Kent Palmkvist 2017-01-18 2 Dagens föreläsning Ordlängder, minnesrymd Kort introduktion till

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1. Hur många unsigned integers kan man göra med n bitar? Vilket talområde får dessa

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad

Läs mer

Föreläsningsanteckningar till Konstruktionsmetoder 981027

Föreläsningsanteckningar till Konstruktionsmetoder 981027 Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,

Läs mer

Läsminne Read Only Memory ROM

Läsminne Read Only Memory ROM Läsminne Read Only Memory ROM Ett läsminne har addressingångar och datautgångar Med m addresslinjer kan man accessa 2 m olika minnesadresser På varje address finns det ett dataord på n bitar Oftast har

Läs mer

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 4 Kent Palmkvist, ISY Labanmälan öppnar Må 28/1 kl 12.3 Logga in på Lisam, kursens kursrum TSEA28-219VT_5K Välj länk Anmälan (längst ned

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program

Läs mer

Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva

Läs mer