Avbrott - En enhet. I DAG fo 6 Mera avbrott. Avbrott - Fler enheter. Olika typer av avbrott DMA. Avbrott - Fler enheter -Avbrottshanterare

Storlek: px
Starta visningen från sidan:

Download "Avbrott - En enhet. I DAG fo 6 Mera avbrott. Avbrott - Fler enheter. Olika typer av avbrott DMA. Avbrott - Fler enheter -Avbrottshanterare"

Transkript

1 I DAG fo 6 Mera avbrott Olika typer av avbrott Flera avbrottsingångar Vektoravbrott Mjukvaruavbrott DMA Avbrott - En enhet adressbuss Processor I/O-interface Adress $Q $Q+ Minnet avbrottsrutin databuss MOP fo 6 MOP fo 6 2 Avbrott - Fler enheter Avbrott - Fler enheter -Avbrottshanterare Källa Adress $Q $Q+ Källa 2 Källa Minnet avbrottsrutin & Processor avbrottsingång, aktiv låg MOP fo 6 3 CPU Adress $Q $Q+ Avbrottssignal Gränssnitt A mot seriell anslutning Minnet avbrottsrutin Processorns Gränssnitt B mot parallell anslutning bussar Gränssnitt C mot A/D anslutning Minne Prioritet i SW Avbrotts hanterare från A? Nej från B? Nej Betjäna enhet C RTE MOP fo 6 4 Ja Ja Avbrotts rutin C Avbrotts rutin A Betjäna enhet A Avbrotts rutin B Betjäna enhet B

2 Vektor-Avbrott Processor Yttre enhet Minne INTA S In Out YE S In Out YE2 In S Out YE3 Prioritet i HW 7 INTA 4 2 Databuss INTA Vektor Reg Vektor q 3 Adress (Vektor q) avbrottsrutin p avbrottsrutin q avbrottsrutin r 6 Vektor nr Vektor nr Databuss Vektor nr Vektor nr 0 (Adress i) Vektor nr (Adress i+p) avbrottsrutin 0 avbrottsrutin PC 5 Adressbuss MOP fo 6 5 Vektor- Avbrott Vektor nr max (Adress i+max) avbrottsrutin max MOP fo 6 6 Avbrott Flera Avbrottsingångar Olika prioriteter 3 2 CPU Avbrottssignaler Processorns Adress X Adress Y Adress Z bussar Seriell Parallell Analog anslutning anslutning anslutning A B C avbrottsrutin avbrottsrutin 2 2 avbrottsrutin 3 3 Minne MOP fo CPU Huvudprogram 6 Avbrottssignaler Avbrottsrutin för Avbrottsrutin för 2 Avbrottsrutin för RT E Processorns RT E bussar Seriell Parallell Analog anslutning anslutning anslutning A B C 4 Minne Avbrott Adr 0 Status och återhoppsadress för avbrottsrutin 2 Status och återhoppsadress för avbrottsrutin Status och återhoppsadress för huvudprogrammet RT E Adr max MOP fo 6 8 2

3 Interna Avbrott Avbrott med HC2 s Interna signaler för detekterig av olika feltillstånd Externa avbrottsignaler Minnet STYRENHET Instruktions Register Datadel D0..D7 Status Register ALU DATAVÄG Avbrottslogik Adressdel A0..A7 och PC Styrbuss Adressbuss RESET 0 X 0 I avbrottshantering för RESET avbrottshantering för X avbrottshantering för Adress i i+ i+2 i+3 i+4 i+5 avbrottsrutin avbrottsrutin avbrottsrutin Databuss 0 MOP Processorns fo 6 externa bussar 9 etc MOP fo 6 0 Adress (hex) FFFE FFFC FFFA FFF8 FFF6 FFF4 FFF2 FF00-FFF0 Avbrott med HC2 Funktion RESET, Startvektor Clock Monitor Fail, (ej impl i simulator) COP Watchdog Timeout, (ej impl i simulator) Illegal Op Code (ej impl i simulator) SWI X S Enhetsspecifika vektorer, skiljer sig något beroende på de olika varianterna Se Appendix D MOP fo 6 Övriga avbrott med HC2 S RESET X (Reset) (Interrupt Request) (Non Maskable Interrupt Request) PLUS - Ett antal avbrottsingångar från Räknare Fel OP-kod För låg klockfrekvens Wake-Up I/O-moduler Seriekretsar Datanät etc MOP fo 6 2 3

4 Avbrott med 6809 Avbrott med MC6809 Minnet RESET F NMI HALT (Reset) (Interrupt Request) (Fast Interrupt Request) (Non Maskable Interrupt Request) (Halt) VSS 40 HALT NMI 2 39 XTAL 3 38 EXTAL F 4 37 RESET BS 5 36 MRDY BA 6 35 Q VCC 7 34 E A DMA/BREQ A 9 32 R/W A2 0 3 D0 MOP fo 6 3 NMI 0 F F 0 I 0 avbrottshantering för NMI Adress i i+ avbrottsrutin i+2 avbrottshantering för F i+3 avbrottsrutin i+4 avbrottshantering för i+5 avbrottsrutin MOP fo 6 4 Avbrott MC68000 Exceptions Avbrott MC68000 Vektor nr Adress $0 High Word Stackpekare Low Word 2 $4 $8 High Word Low Word High Word Low Word Resetvektor Bus Error 5 $4 High Word Low Word Division med noll Interna Buss Error RESET Avbrott TRAP Feltillstånd Vektor avbrott Autovektor avbrott Programmerade / externa händelser NORMAL EXCEPT ION RESET HALTED 25 $64 High Word Low Word High Word Low Word 64 $00 High Word Low Word High Word Low Word Autovektor Avbrottsnivå Autovektor Avbrottsnivå 2 Vektoravbrott vektor 0 Vektoravbrott vektor MOP fo $3fc High Word Vektoravbrott vektor 9 MOP fo 6 Low Word 6 4

5 Avbrott MC68000 Externa avbrottsingångar i systemet yttre enheter IPL2 IPL IPL0 Avbrotts nivå Ingen avbrottsbegäran VID AVBROTT: Skrivaren bestämmer när: Printchar SWI - Software Interrupt Processor Datorsystem Skriv ett tecken Avbrott (Redo) Här är data VID Software Interrupt: Programmeraren (DU) bestämmer med instruktionen SWI när rutinen Printchar skall anropas Yttre enhet MOP fo 6 7 MOP fo 6 8 DMA Direct Memory Access Processorn är BUS MASTER DMA Direct Memory Access DMA:n är BUS MASTER Adr Bus Adr Bus CPU2 ExVis DISK Minne CPU2 DMAenhet DMAenhet ExVis DISK Minne R/W Data Bus MOP fo 6 9 R/W Data Bus MOP fo

6 Ut Port: RADER Tangentbordsrutin med hårdvarustöd Tangentbord, hårdvarustöd 74C DAV B3 B2 B B0 Bit 7, DAV: Data Valid; Statusbit som anger nedtryckt tangent b 7 =: Ingen tangent är för tillfället aktiverad på tangentbordet. b 7 =0: En tangent är aktiverad Bit 6-4, 0: Används ej. Bit 3-0, B3-B0: Tangentnummer; Anger aktuell tangentnedtryckning. MOP fo0 2 MOP fo0 22 Tangentbord, hårdvarustöd 74C922 Tangentbordsrutin utan hårdvarustöd PORT A RADER (ML5_ROW) +5 b0 b b2 b3 b4-b7 NC +5 b4-b7 b3 b2 b b0 MOP fo0 23 PORT B KOLUMNER (ML5_COL) In Port: Kolumner MOP fo

7 I DAG fo 7 Varför Assemblerprogrammera 2-pass assemblatorn Parameteröverföring I register Global Variabel Via Stack Aktiveringspost / Rampekare MOP fo 7 25 PRINTER EQU $0800 PSTATUS EQU $080 PCONTROL EQU $0802 EOT EQU 4 Vår Printerport PrintFil LDX #Text Loop LDAA,X+ CMPA #EOT BEQ Stop LoopForReady: BRCLR PSTATUS,#4,LoopForReady STAA PRINTER BSET PCONTROL,#2 Sätt DAV LoopNotReady: BRSET PSTATUS,#4,LoopNotReady Stop BCLR BRA RTS PCONTROL,#2 Loop Text: FCS "Hej Du Kalle!" FCB EOT (Vår drivrutin) Struct Printer { char Data; char Status; char Control; } #define EOT 4 PrintFil (&Text){ char tecken; while () { tecken = *Text++; if tecken == EOT return; while (Printer.Status & 4 == 0); } } Printer.Data = tecken; Printer.Control = 2; while (Printer.Status & 4!=0); Printer.Control = 0; 26 Programutveckling i assemblerspråk 2-pass assemblatorn Varför programmera i ett maskinorienterat språk? ingen kompilator alla uppgifter kan inte lösas i högnivåspråk tidskritiska uppgifter källprogram i assemblerspråk Assemblator Pass : Skapa Symboltabell Pass 2: Lägg ut kod objektprogram i maskinspråk MOP fo 5 27 MOP fo

8 Assemblatorns fyra uppgifter Punkt. översätta de mnemoniska instruktionsbeteckningarna till maskinkod. Punkt 2. arbeta med symboliska beteckningar för adresser och datavärden. översätta symboliska beteckningar till sina rätta värden. Punkt 3. beräkna vissa matematiska uttryck Punkt 4. Generera listfil och laddfil MOP fo 5 29 Punkt. Översätta de mnemoniska instruktionsbeteckningarna till maskinkod. LDAA $C080 ANDA #%0000 LDAB $C08 STD $C082 JSR $CA00 *subrutin som ger ms fördröjning JMP $C000 *programavsnittet börjar på adress C000H...i stället för: 86 C0 80 (LDAA svarar mot 86) 84 0F (ANDA # svarar mot 84) F6 C0 8 (LDAB svarar mot F6) 7C C0 82 (STD svarar mot 7C) 6 CA 00 (JSR svarar mot 6) 06 C0 00 (JMP svarar mot 06) MOP fo 5 30 Punkt 2. Arbeta med symboliska beteckningar (namn) LOC LDAA ALFA ANDA #CONST LDAB ALFA2 STD ACOMB JSR DELAYms subrutin som ger ms fördröjning JMP LOC...i stället för: LDAA $C080 ANDA #%0000 LDAB $C08 STD $C082 JSR $CA00 subrutin som ger ms fördröjning JMP $C000 MOP fo 5 3 programavsnittet börjar på adress C000H Punkt 3. Beräkna aritmetiska uttryck LOC LDAA ALFA ANDA #CONST LDAB ALfA+ STD ALfA+2*CONST JSR DELAYms JMP LOC MOP fo

9 2-pass assemblatorns arbetssätt 2-pass assemblatorns arbetssätt Exempel ORG $ B SNURRA LDAA ALFA SUBA # A STAA ALFA F6 5. BNE SNURRA A 86 FF 6. LDAA #ETTOR C 7A STAA BETA F 06 E JMP MSTART ALFA FCB BETA RMB 0 00FF. ETTOR EQU $FF E MSTART EQU $E200 2 Pass : Skapa symboltabell Symboltabell: Namn Värde SNURRA $2000 ALFA $202 BETA $203 ETTOR $00FF MSTART $E200 Pass 2: Lägg ut kod MOP fo 5 33 MOP fo 5 34 Kod 2-pass assemblatorns arbetssätt Adress Kod 2000 B6 SNURRA LDAA ALFA SUBA # A STAA ALFA BNE SNURRA 2009 F6 200A 86 LDAA #ETTOR 200B FF 200C 7A STAA BETA 200D E 3 200F 06 JMP MSTART 200 E ALFA FCB BETA RMB MOP fo 5 35 Generera listfil Punkt ORG $ B SNURRA LDAA ALFA SUBA # A STAA ALFA F6 5. BNE SNURRA 00200A 86 FF 6. LDAA #ETTOR 00200C 7A STAA BETA 00200F 06 E JMP MSTART ALFA FCB BETA RMB 00FF. ETTOR EQU $FF E MSTART EQU $E200 Adress Konst Kod Rad Källkod MOP fo

10 Start info Ant byte följande kod Kontrollsumma Generera laddfil Punkt 4. Assemblerdirektiv Exempel Förklaring ORG $00 Puts the next and following bytes beginning in location $00. S72000B A20226F686FF7A20306E S903204C8 Maskinkod och data L RMB 0 Makes the label L have the value of the current location; increments the location counter by 0 0. L2 EQU $0 Makes the symbol L2 have the value 0 6. L3 FCB $20,$34 Makes the symbol L3 have the value of the current location; initializes the current location to the value 20 6 and the next location to L4 FDB $234 Makes the symbol L4 have the value of the current location; initializes this location to 2 6 and the next location to MOP fo 5 37 L5 FCS "ABC" Makes the symbol L5 have the value of the current location; initializes the word at this location to the ASCII letter "A", the next location MOP to the fo 5ASCII letter "B", and the next to "C 38 Parameteröverföring s Parameteröverföring forts s INDATA SUBRUTIN som utför någon uppgift UTDATA Exempel: Dividera en variabel med två AdrP P H P L Variabel som skall divideras med 2 Parameteröverföring kan ske på tre olika sätt: i register i globala variabler via stacken MOP fo 7 39 P H P L Skifta Höger C Rotera Höger C MOP fo

11 SubRutin SubRutin Huvud Prog Huvud Prog SubRutin SubRutin Huvud Prog Huvud Prog Parameteröverföring via register LDD AdrP P H A och P L B JSR Div2 STD AdrP s Parameteröverföring via global variabel LDX AdrQ Q P STX AdrP JSR Div2 LDX AdrP P Q STX AdrQ s Div2 PSH S före subrut Div2 PSHD Spara register LDD AdrP Hämta Inparamertar ASRA RORB PUL RTS Skifta P H Rotera P L MOP fo 7 4 ASRA RORB Skifta D H Rotera D L STD AdrP Lämna utparamertar PULD Hämta tillbaka RTS S före subrut MOP fo 7 42 Div2 Parameteröverföring via stacken LDX AdrP P X PSHX JSR Div2 PULX STX AdrP X P PSHD LDAA 4,SP Hämta Inparamertar High Byte LDAB 5,SP Hämta Inparamertar Low Byte ASRA RORB Skifta D H Rotera D L STD 4,SP Lämna utparamertar PULD RTS S före subrut MOP fo 7 43 s Parameteröverföring via stacken LDX AdrP P X PSHX JSR Div2 PULX STX AdrP X P InPar EQU 4 UtPar EQU 4 Div2 PSHD LDD InPar,SP Hämta Inparamertar ASRA RORB STD PULD RTS Skifta D H Rotera D L UtPar,SP Lämna utparamertar S före subrut MOP fo 7 44 s

12 SubRutin Huvud Prog SubRutin SubRutin Huvud Prog Huvud Prog Parameteröverföring med pekare (här överförd i register) LDX #AdrP Adressen till P JSR Div2 s Parameteröverföring med pekare (här överförd via stack) LDD #AdrP Adressen till P PSHD JSR Div2 LEAS 2,SP Städa Stack s Div2 PSHD LDD,X Hämta Inparamertar Div2 PSHD LDD [4,SP] Hämta Inparamertar ASRA RORB Skifta D H Rotera D L STD,X Lämna utparamertar PULD RTS S före subrut MOP fo 7 45 ASRA RORB Skifta D H Rotera D L STD [4,SP] Lämna utparamertar PULD RTS S före subrut MOP fo 7 46 Parameteröverföring med pekare (här överförd i register) s Funktioners parametrar och returvärden. LDX #AdrP Adressen till P JSR Div2 Adr P P H P L Variabel som skall divideras med 2 Div2 ASR,X Skifta P H ROR,X Skifta P L RTS MOP fo 7 47 MOP fo

13 Funktioners parametrar och returvärden. Variabler i en subrutin s Åtkomst av variabler Minnesresistenta variabler (var rmb?? Def variabel i minnet) Dynamiska variabler - på stacken ( leas -n,sp Skapa plats på stacken) Aktiveringspost Rampekare MOP fo 7 49 MOP fo 7 50 Par equ??? Def ofs på stack Par2 equ??? Def ofs på stack LokV equ??? Def ofs på stack LokV2 equ??? Def ofs på stack Konst equ??? Def konst En typisk subrutin SubRut leas n,sp Skapa plats för lokala variabler psha/b/x Spara undan nödvändiga register ldx Par,sp ldaa Par2,sp Hämta inparametrar clr LokV,sp movw #Konst,LokV2,sp Initiera Lokala Variabler --- LÖS UPPGIFTEN --- std Par,sp Lämna utparametrar pula/b/x Återhämta register leas n,sp Återställ stacken rts MOP fo 7 5 Par equ??? Def ofs på stack Par2 equ??? etc En typisk subrutin med Rampekare SubRut pshy Spara förra rampekare tfr sp,y Sätt ny rampekare leas n,sp Skapa plats för lokala variabler psha/b/x Spara undan nödvändiga register ldaa Par2,y ldx Par,y Hämta inparametrar clr LokV,y movw #Konst,LokV2,y Initiera Lokala Variabler LÖS UPPGIFTEN std Par,y Lämna utparametrar pula/b/x Återhämta register tfr y,sp Återställ stacken puly Hämta gamla rampekaren rts MOP fo

14 Stack för subrutin med Rampekare Reg S Par equ 4 Def ofs In/Utparameter 6-bit Par2 equ 6 Def ofs Inparameter 8-bit LokV equ -3 Def ofs Lokal Var 8-bit LokV2 equ -2 Def ofs Lok Var 6-bit Rampekare för SubRut Aktiveringspost för SubRut Reg Y -3,Y -2,Y -,Y,Y 2,Y 3,Y 4,Y 5,Y 6,Y A B X H X L LokV LokV2 H LokV2 L Y H Y L PC H PC L Par H Par L Par2 Sparade regs (PSH) Lokala Variabler (LEAS) Förra Rampekare (TFR S,Y) PC In/Utparametrar Till/från SubRut Processbyte Lab 3 Seriekommunikation o o o o Synkronisering RS232 HC2 s SCI Datanät Topologi - B I DAG fo 8 Aktiveringspost för den rutin som anropade SubRut Y H MOP fo 7 Y L 53 MOP fo 7 54 Processbyte PROC 4 PROC 3 PROC 2 PROC INIT SWITCH T=0 En processor flera program körs i turordning (pseudoparallellt) En avbrottsrutin (SWITCH) som växlar process 2,5 ms 2,5ms 2,5ms μs μ s μ s RUNNING RUNNING READY READY READY RUNNING RTI RTI RTI t MOP fo 7 55 Processbyte En processor flera program körs i turordning (pseudoparallellt) HDW krav: En avbrottskälla som ger regelbundna avbrott (Ex Timer) SW krav: Pulsgenerator 400 Hz En avbrottsrutin (SWITCH) som växlar process CS vid skrivning D C R Q' Adress $2000 $200 $2200 $2300 $2400 $2500 Init Variabler Kod P Data o stack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Process Process 2 Process 3 Process 4 Ledigt Till processorns $FFFF MOP fo

15 Adress $2000 $200 $2200 $2300 $2400 $2500 Init Variabler Kod P Data o stack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Ledigt Processbyte Process Process 2 Process 3 Process 4 Adress SPProc SPProc2 SPProc3 SPProc4 ProcNR P AH P AL P2 AH P2 AL P3 AH P3 AL P4 AH P4 AL [0,3] Stackpekare Process Stackpekare Process 2 Stackpekare Process 3 Stackpekare Process 4 Processnummer som kör NU Adress $2000 $200 $2200 $2300 $2400 $2500 Init Variabler Kod P Data o stack P Kod P2 Data o Stack P2 Kod P3 Data o Stack P3 Kod P4 Data o Stack P4 Ledigt $2F7 Stack Process $2200 C B A X H X L Y H Y L PC H PC L 0,X,X 2,X 3,X 5,X 7,X REG X $FFFF MOP fo 7 57 $FFFF MOP fo 7 58 Adress $2000 $200 $2200 $2300 $2400 $2500 $FFFF Init Variabler Main Data o stack P Main2 Data o Stack P2 Main3 Data o Stack P3 Main4 Data o Stack P4 Ledigt Stack Process 3 $23F7 $2400 C B A X H X L Y H Y L PC H PC L %000000???????????? Adr Main3 MOP fo 7 59 Borrmaskinlabbet Lab 3 - En Robot I/O och avbrott och två processer Mikrodator Tangentbord för borrkommando Anpassningselektronik Klocka Operatör Borrmaskin Process 2 MOP fo 7 6 5

16 Lab 3 2 processer Borr o Display Adr FFFF HC2 Regs IO-Portar INIT SWITCH BORR Dataarea B DISPLAY Dataarea D Ledigt RWM ROM (DBG2 Monitor) Avbrotts -signal BORR BORR SWITCH SWITCH DISPLA Y DISPLAY MOP fo 7 62 Avbrott s-signal Lab 3 2 processer avbrottskälla BORR DISPLAY SWITCH Huvudprogram Avbrottsrutin Avbrottssignal Pulsgenerator 400 Hz CS vid skrivning D 2,5 ms 2,5ms 2,5ms RTI C R MOP fo 7 63 Q' Till processorns Adr Lab processer 2 Stackar Stackpekare INIT CC B A X H X L Y H Y L PC H PC L FFFF HC2 Regs IO-Portar SWITCH BORR Dataarea B DISPLAY Dataarea D Ledigt RWM ROM (DBG2 Monitor) Reg S CC B A X H X L Y H Y L PC H PC L Lab 3 RTI- första gången INIT BORR DISPLAY SWITCH t=0 2,5 ms CC som DISPLAY läser in måste ha sin I-flagga nollställd för att kunna bli avbrutet av ett interrupt Återhoppsadressen måste vara DISPLAY s startadress $???? BOS CC B A X H X L Y H Y L PC H PC L (Den ena stackpekaren) StackPek rmb 2 (Den andra stackpekaren) MOP fo 7 64 MOP fo

17 Seriekommunikation Synkronisering - Datanät Sändare Mottagare Dataregister Dataregister 8 bitar - Parallell överföring Göteborg Seriekomunikation -forts 3 t l 500 0, ms c Stockholm s5 Göteborg Stockholm Dataregister Databuffert Dataregister bit - Seriell överföring Dataregister b bit - Seriell överföring b0 MOP 66 MOP 67 Seriekomunikation -forts s6 Seriekomunikation -forts s6 Start ldaa InPort Läs Indata ldab #8 Antal skift Next staa UtPort Sänd bit0 lsra Skifta fram nästa jsr Delay0ms Vänta 0, ms decb Sista biten? bne Next..hopp om Nej bra Start Klocka (0 khz) Göteborg Klocka (0 khz) Skiftregister Stockholm Skiftregister D Delay0ms nop Dummyrutin för Delay rts MOP 68 MOP 69 7

18 Seriell IO Skiftregister - mottagning Kap 5 s20 Seriekomunikation -forts SKICKA DATA Q Q 2 Q 3 Q 4 ldx #Data Pekare D D C D C D C D C Loop ldaa,x+ Läs data staa SändReg Skicka en byte jsr Delay Vänta tills 8 bitar är utskiftade bra Loop CP Figur bitars skiftregister uppbyggt med 4 stycken D-vippor. MOP 70 MOP 7 CS_Sänd Klocka Seriekomunikation -forts Data buss Räknat_8 Logik med räknare CS Skift Register STAA Sänd s6 Seriell data ut TxD MOP 72 Seriekomunikation -forts Cnt8 equ % Def Räknat 8 bitar ldx #Text Pekare NextCh ldaa,x+ Läs tecken cmpa #EOT Sista? beq Slut..hoppa om JA R8är ldab InPort Läs Status bitb #Cnt8 Invänta Redo för.. beq R8är.. nytt tecken staa ShiftReg Sänd ett tecken R8är0 ldab InPort Läs Status bitb #Cnt8 Invänta Upptagen med.. bne R8är0..att skifta ut Slut bra nop bra NextCh Slut MOP 73 8

19 Seriekomunikation -forts s7 Seriekomunikation - Buffrad sändning Räknt8 =? N Räknt8 =? N CS_OutData Data_Reg_Tomt Data buss STAA OutData J Skriv till Skift Reg J Skiv till Skift Reg Klocka Logik med räknare CS Data Register LD Skift Register Seriell data ut TxD Busy Wait Polling Signalen Räknat_8 MOP 74 MOP 75 Seriell IO Buffrad mottagning Seriekomunikation Synkron överföring s9 LDAA DataIn Klocka CS.DataIn Data buss Data_Reg_Full OE Logik med Data Register räknare E Klockkrets Göteborg Skiftregister Stockholm Skiftregister D Seriell data in Skift Register D MOP 76 MOP 77 9

20 Seriekomunikation Synkron överföring s9 Seriekomunikation Asynkron överföring s0 Alltid hög Alltid låg Klockkrets Klockkrets Sändare Mottagare 0 Skiftregister Skiftregister D Noll-bit Ett-bit BAUD, BAUDRATE MOP 78 MOP 79 Seriekomunikation Asynkron överföring Seriekomunikation Asynkron överföring Block (Frame) 7-bitars ASCII Startbit b0 b b2 b3 b4 b5 b6 P 0 b0 b b2 b3 Startbit Paritetsbit Stopbit t t2 t3 t4 t5 t6 Init: Ant bitar, Paritet, Stopbitar, BAUDRATE, etc MOP 80 Clk = k(baudrate) MOP 8 20

21 Enhet A Enhet B Enhet C Seriekomunikation Asynkron överföring Startbit b0 b b2 b3 BAUD A = Clk/(k) t t2 t3 t4 t5 t6 BAUD B = Clk/(k-i) t t2 t3 t4 t5 t6 BAUD C = Clk/(k+i) t t2 t3 t4 t5 t6 HCS2DG256, block diagram MOP 82 MOP 83 HCS2DG256, core Peripherals in HCS2DG256 AD Analog to Digital conversion SCI Serial Asynchronous communication PWM Pulse Width Modulation Etc MOP 84 MOP 85 2

22 HCS2DG256 Minne core CPU2, Clock, etc SCI Serial Communication Interface Two identical devices: SCI 0 = Offset 0xC8 SCI = Offset 0xD0 SCI Seria Asynchronous communication olika seriekretsar. MOP 86 BaudRate = BusClock/(6 x BR) BusClock = 8 0 6, BR 892 MOP 87 SCI Initialization example, 9600 Baud typedef struct ssci{ volatile unsigned short scibd; volatile unsigned char scicr; volatile unsigned char scicr2; volatile unsigned char scisr; volatile unsigned char scisr2; volatile unsigned char scidrh; volatile unsigned char scidrl; }SCI, PSCI*; #define SCI0_BASE 0x00C8 #define BAUD /(6*9600)... /* init SCI */ PSCI sci = (PSCI) SCI0_BASE; sci->scibd = BAUD; sci->scicr = 0; sci->scicr2 = 0xC;... MOP 88 SCI Input and output /* send a character through SCI0 */ void _outchar( char c ) { } /* wait for TDRE== */ while( ( sci->scisr & 0x80 )== 0) {}; /* send the character */ sci->scidrl = c; /* receive a character through SCI0 */ char _inchar( void ) { /* wait for character, RDRF== */ while(! ( sci->scisr & 0x20 ) ) {}; } /* return the character */ return (char) ( sci->scidrl ); MOP 89 22

23 Seriekomunikation Multiplex överföring s2 Seriell IO Datanät Användare A Hej Du Kalle Användare B Kurt, kan du hjälpa Användare C Jag beställer härmed Central i Göteborg Dataregister Skiftregister e e u b, D t g r j a u e J K H bit - Seriell överföring Central i Stockholm Dataregister Skiftregister Användare D Användare E Användare F Datanäten grupperas i lokala datanät (LAN, Local Area Network) kontinentala (WAN, Wide Area Network). Topologi Media - Accessmetoder MOP 90 MOP 9 Seriekomunikation- Datanät- Media s5 Datanät- Topologi - Acessmetoder Tvinnad partråd Koaxialkabel Fiberoptik Kapacitet Låg Medium Mycket hög Flexibilitet Mycket hög Medium Låg Kontaktering Billig Medium Mycket dyr Störokänslighet Låg Bra Mycket hög Buss Stjärna När ska någon få skicka data ut på nätet? Polling En master, Rundfrågning CSMA Lyssna först, Skicka om ledigt TDMA Fördefinierade Tidsluckor Token Stafett-pinne Ring Masknät MOP 92 MOP 93 23

24 Seriekomunikation- typiskt datablock s7 Styrfält Datafält Kontrolsumma Slutmarkering Startfält MOP 94 24

Dataöverföring på Parallell- och serieform MOP 11/12 1

Dataöverföring på Parallell- och serieform MOP 11/12 1 Dataöverföring på Parallell- och serieform MOP 11/12 1 Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare).

Läs mer

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen????

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen???? Rep Konstruktion av en Printer-Port ynkroniseringsproblem Villkorlig / ovillkorlig överföring Busy Wait och Polling Handskakningssignaler AVBROTT!!! svektor I-flagga svippa sdriven Printerport I DAG fo

Läs mer

Seriekomunikation. CAN ett kommunikationsprotokoll för realtidssystem. Seriekomunikation -forts. Seriekomunikation -forts

Seriekomunikation. CAN ett kommunikationsprotokoll för realtidssystem. Seriekomunikation -forts. Seriekomunikation -forts s4 CAN ett kommunikationsprotokoll för realtidssystem Sändare Seriekomunikation Mottagare Seriekommunikation Synkronisering - Datanät CAN Dataregister Göteborg 8 bitar - Parallell överföring Dataregister

Läs mer

I DAG Fo 4. Programutveckling i assemblerspråk. Programutveckling i assembler. PROGRAMSTRUKTUR Modul Subrutiner USE-direktivet

I DAG Fo 4. Programutveckling i assemblerspråk. Programutveckling i assembler. PROGRAMSTRUKTUR Modul Subrutiner USE-direktivet I DAG Fo 4 Programutveckling i aembler Programtrukturer (Foku på Lab 2/3) Dokumentation 2-paaemblatorn MOP fo 5 PRINTER EQU $0800 PSTATUS EQU $080 PCONTROL EQU $0802 EOT EQU 4 Vår Printerport PrintFil

Läs mer

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar

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

Undantagstyper. Maskinorienterad Programmering 2010/2011. MC68HC12, Stencil Assemblerprogrammering.pdf CPU12 Reference Guide

Undantagstyper. Maskinorienterad Programmering 2010/2011. MC68HC12, Stencil Assemblerprogrammering.pdf CPU12 Reference Guide Maskinorienterad Programmering 200/20 MC68HC2, Stencil Assemblerprogrammering.pdf CPU2 Reference Guide Arbetsbok b för MC2, avsnitt 2 Exekveringstillstånd tå Processorn befinner sig alltid i något av tillstånden:

Läs mer

Förutsättningar för skrivaranslutningen

Förutsättningar för skrivaranslutningen Maskinorienterad Programmering 2011/2012 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. strängslut. Maskinorienterad Programmering 2011/2012 Synkronisering och undantag

Förutsättningar för skrivaranslutningen. Första programexemplet. strängslut. Maskinorienterad Programmering 2011/2012 Synkronisering och undantag Maskinorienterad Programmering 20/202 Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system Programmering av inbyggda system Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

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

Programmering i maskinspråk (Maskinassemblering)

Programmering i maskinspråk (Maskinassemblering) Programmering i maskinspråk (Maskinassemblering) Programutveckling i assemblerspråk Begreppet assemblerspråk introduceras i häftet Ext-20. En del korta programavsnitt skrivs med assemblerspråk i övningsuppgifterna

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna

Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna Maskinorienterad Programmering 0/0 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur hanteras

Läs mer

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå Aktivera Kursens mål: LV4 Fo10 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Koppla samman register och ALU till en dataväg Minnets uppbyggnad och anslutning till datavägen

Läs mer

Laborationsmoment 2 - En Borrautomat

Laborationsmoment 2 - En Borrautomat Maskinorienterad Programmering 2011/2012 : Programutveckling i assembler Arbetsbok för MC12, kapitel 4 1 Laborationsmoment 2 - En Borrautomat Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik

Läs mer

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

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

Laborationsmoment 2 - En Borrautomat

Laborationsmoment 2 - En Borrautomat Maskinorienterad Programmering 2011/2012 : Programutveckling i assembler Arbetsbok för MC12, kapitel 4 1 Laborationsmoment 2 - En Borrautomat Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik

Läs mer

Arbetsbok för MC12, kapitel 4 Klocka. Genomgång av laborationer. New disc Här väljer du olika arbetsstycken

Arbetsbok för MC12, kapitel 4 Klocka. Genomgång av laborationer. New disc Här väljer du olika arbetsstycken Maskinorienterad Programmering 2011/2012 Laborationsmoment 2 - En Borrautomat : Programutveckling i assembler Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik Borrmaskin Arbetsbok

Läs mer

EDA Digital och Datorteknik

EDA Digital och Datorteknik Digital och Datorteknik EDA45 200/20 EDA 45 - Digital och Datorteknik Dagens föreläsning:, Extra material Ext 8 Ur innehållet: Programmerarens bild av FLEX Instruktionsuppsättning Register åtkomliga för

Läs mer

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen.

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen. Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system Programmering av inbyggda system Genomgång inför laborationer 1-3: Programutveckling i assembler Genomgång inför laborationer 1-3/RoJ 1 Laborationsmoment 2 - En Borrautomat Tangentbord för borrkommando

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

Läs mer

Laborationsmoment t 2 - En Borrautomat

Laborationsmoment t 2 - En Borrautomat Maskinorienterad Programmering 2/2 Laborationsmoment t 2 - En Borrautomat t Genomgång g av laborationer: Programutveckling i assembler Tangentbord för borrkommando Operatör Mikrodator Anpassnings- elektronik

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. Inför specialtecken för strängslut

Förutsättningar för skrivaranslutningen. Första programexemplet. Inför specialtecken för strängslut Maskinorienterad Programmering 0/0 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur hanteras

Läs mer

Programmering i maskinspråk (Maskinassemblering)

Programmering i maskinspråk (Maskinassemblering) Ext-15 (2013-08-26) sida 1 Programmering i maskinspråk (Maskinassemblering) Programutveckling i assemblerspråk Begreppet assemblerspråk introduceras i arbetsboken (ARB) kapitlen 14-16. En del korta programavsnitt

Läs mer

Laborationsmoment t 2 - En Borrautomat

Laborationsmoment t 2 - En Borrautomat Maskinorienterad Programmering 21/211 Genomgång g av laborationer: Programutveckling i assembler Arbetsbok för MC12, kapitel 4 1 Laborationsmoment t 2 - En Borrautomat t Tangentbord för borrkommando Operatör

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

Maskinorienterad Programmering 2010/2011. Maskinorienterad Programmering 2010/2011. Skrivarporten, p Arbetsbok MC12, avsnitt 2

Maskinorienterad Programmering 2010/2011. Maskinorienterad Programmering 2010/2011. Skrivarporten, p Arbetsbok MC12, avsnitt 2 Maskinorintrad Programmring 2010/2011 Skrivarportn, p Arbtsbok MC12, avsnitt 2 Ur innhåt: Vi ansutr n skrivar Assmbrprogrammring - skrivarportn 1 Skrivarport Arbtsbok, kap. 2 Konstruktion av n Printr-Port

Läs mer

Genomgång av laborationer. New disc: Här väljer du olika arbetsstycken. Control -sektion: Styrord till borrmaskinen

Genomgång av laborationer. New disc: Här väljer du olika arbetsstycken. Control -sektion: Styrord till borrmaskinen Maskinorienterad Programmering 212/213 Laborationsmoment 2 - En Borrautomat : Programutveckling i assembler Tangentbord för borrkommando Operatör Mikrodator Anpassningselektronik Borrmaskin Arbetsbok för

Läs mer

TENTAMEN (med svar och vissa lösningar)

TENTAMEN (med svar och vissa lösningar) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (med svar och vissa lösningar) KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/

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

Assemblerprogrammering

Assemblerprogrammering 2012-02-14 Assemblerprogrammering Övningsuppgifter 2011 Lösningar (Med reservation för diverse fel!) 1. Hur många E-klockperioder använder CPU12 (HCS12) för att köra programsekvensen nedan? ORG $1000 LDAA

Läs mer

Avbrottshantering. Övningsuppgifter

Avbrottshantering. Övningsuppgifter Avbrottshantering Övningsuppgifter 2013 Besvara kortfattat följande frågor rörande CPU12. Redogör för vad som händer vid RESET och varför detta sker. Förklara kortfattat vad som händer vid ett IRQ avbrott

Läs mer

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA

F6: I/O hantering. Typer av I/O i ett datorsystem. Protokoll för synkronisering. Drivrutiner. Memory mapped Port mapped. Polling Timed Interrupt DMA F6: I/O hantering Typer av I/O i ett datorsystem Memory mapped Port mapped Protokoll för synkronisering Polling Timed Interrupt DMA Drivrutiner 1 Memory mapped I/O enheter avkodas precis som ett minne

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

EDA215 Digital- och datorteknik för Z

EDA215 Digital- och datorteknik för Z EDA25 Digital- och datorteknik för Z Tentamen Måndag 7 december 2007, kl. 08.30-2.30 i M-salar Examinatorer Rolf Snedsböl, tel. 772 665 Kontaktpersoner under tentamen Som ovan. Tillåtna hjälpmedel Häftet

Läs mer

Assemblerprogrammets struktur; exempel

Assemblerprogrammets struktur; exempel Maskinorienterad Programmering 2010/11 Maskinnära programmering en introduktion Ur innehållet: Assemblatorn, assemblerspråk Datatyper Tilldelningar, l i unära och binära operationer Permanenta/tillfälliga

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

Maskinorienterad programmering

Maskinorienterad programmering Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN(med svar och vissa lösningsförslag) KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör

Läs mer

Maskinorienterad Programmering 2010/11

Maskinorienterad Programmering 2010/11 Maskinorienterad Programmering 2010/11 Maskinnära programmering en introduktion Ur innehållet: Assemblatorn, assemblerspråk Datatyper Tilldelningar, l i unära och binära operationer Permanenta/tillfälliga

Läs mer

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik

Digital och Datorteknik EDA /2010. EDA Digital och Datorteknik EDA 45 - Digital och Datorteknik Dagens föreläsning: Assemblerprogrammering för FLEX, Extra material Ext 8 Ur innehållet: Programmerarens bild av FLEX Instruktionsuppsättning Register åtkomliga för programmeraren

Läs mer

Extrauppgifter för CPU12

Extrauppgifter för CPU12 1 Extrauppgifter för CPU12 X1a) Skriv en instruktionssekvens som nollställer bit 3-0 i alla minnesord i adressintervallet 2035H, 2049H Använd X-registret för adressering X1b) Skriv en subrutin som maskerar

Läs mer

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen

Digital- och datorteknik. Mekatronik-, data- och elektroingenjör Åk 1/ lp 1o2. Lars-Eric Arebrink. Av institutionen utgiven. vid flera tillfällen Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Mekatronik-, data- och elektroingenjör Åk / lp o2 LEU43 EXAMINATOR

Läs mer

Tentamen. DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU. Tisdag 15 december 2009, kl

Tentamen. DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU. Tisdag 15 december 2009, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen DAT015 Maskinorienterad programmering IT DIT151 Maskinorienterad programmering GU Tisdag 15 december 2009, kl. 08.30-12.30

Läs mer

Digital- och datorteknik

Digital- och datorteknik Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING EXAMINATOR Data-, elektro- och mekatronikingenjör Åk / lp och

Läs mer

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller

Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Kursens mål: LV5 Fo12 Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika

Läs mer

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål:

Villkorliga hopp: 9/26/2011. Dagens mål: Du ska kunna.. Villrorliga (Relativa) hopp - forts Arb s 140. LV5 Fo12. LV5 Fo12. Aktivera Kursens mål: Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Använda en modern microcontroller Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner

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

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!) Avbrottshantering Övningsuppgifter 2013 Lösningsförslag Uppgift 1-19 (eservation för diverse fel!) 1 Koppling: Q 1 Till bit 0 INPOT ÖKA A 1 /W 1 Write 8FF 16 NOLLA Write 8FFF 16 Q 2 1 Q 2 Till bit 1 INPOT

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #15 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Dataväg med pekarregister och stackpekare: I vår sjunde,

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

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

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

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1

Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1 Facit till övningsuppgifter Kapitel 13 Anslutning av minnes- och I/O-moduler till buss 13-1 13.1 a) Minneskapseln har 10 st adressledningar, vilket innebär att den har 2 10 = 1024 adresser, var och med

Läs mer

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790

TENTAMEN. Digital- och datorteknik E. Institutionen för data- och informationsteknik Avdelningen för datorteknik. Elektro Åk 1/ lp 4 EDA216/DIT790 Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik E PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26/DIT790 EXAMINATOR Lars-Eric Arebrink

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering

Läs mer

LEU240 Mikrodatorsystem

LEU240 Mikrodatorsystem Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag Programmering av inbyggda system Exempel 2 Examinator Roger Johansson, tel. 772 57 29 Kontaktpersoner

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: KURSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

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

Övning 7. Timer, serieport

Övning 7. Timer, serieport Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q

Läs mer

Exempel på tentamen 1

Exempel på tentamen 1 Maskinorienterad programmering - har du uppnått kursmålen Exempel på tentamen Tisdag xx januari 2005, kl. 08.30-2.30 i M-salar Examinatorer Stig-Göran Larsson, tel. 772 693 Jan Skansholm, tel. 772 02 Kontaktpersoner

Läs mer

Assemblerprogrammering del 3

Assemblerprogrammering del 3 Assemblerprogrammering del 3 Dagens föreläsning behandlar: Kompendiet kapitel 9 och 10.4 Arbetsboken kapitel 16 Ur innehållet: Modularisering, subrutiner och strukturerad programutveckling (flödesdiagram)

Läs mer

Exempel 3 på Tentamen

Exempel 3 på Tentamen Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 3 på Tentamen Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte Instruktionslista

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

Printerport. I DAG Fö 3. Adressavkodning för skrivarporten. Printerport - forts

Printerport. I DAG Fö 3. Adressavkodning för skrivarporten. Printerport - forts I DAG Fö 3 Studera HDW/SW för en yttre enhet om anlut till ytemet (Syfte med avnitt ) Printerport S 3 Vi kontruerar en Printer-Port för att tudera: Synkronieringproblem och överföringmekanimer (HDW/SW)

Läs mer

CHALMERS TEKNISKA HÖGSKOLA

CHALMERS TEKNISKA HÖGSKOLA Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA217 Grundläggande Datortekik, Z EDA433 Grundläggande Datortekik, IT EDA452 Grundläggande Datortekik, D DIT790 Digital-

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

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl

Tentamen. EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU. Onsdag 12 Januari 2011, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA432 Digital- och datorteknik, It DIT790 Digital- och datorteknik, GU Onsdag 12 Januari 2011, kl. 14.00-18.00 Examinatorer

Läs mer

Assemblerprogrammering för HCS12

Assemblerprogrammering för HCS12 Assemblerprogrammering för HCS12 Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Tilldelningar, binära operationer Registerspill, permanenta och tillfälliga variabler Programkonstruktioner

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

F6: I/O hantering. Typer av I/O i ett datorsystem. Memory mapped

F6: I/O hantering. Typer av I/O i ett datorsystem. Memory mapped 1 F6: I/O hantering Typer av I/O i ett datorsystem Memory mapped Port mapped Protokoll för synkronisering Polling Timed Interrupt DMA Drivrutiner 1 Memory mapped I/O enheter avkodas precis som ett minne

Läs mer

Assemblerprogrammets. struktur; exempel

Assemblerprogrammets. struktur; exempel Assemblerprogrammering för HCS12 Absolut assemblering Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Tilldelningar, binära operationer Registerspill, permanenta och tillfälliga variabler

Läs mer

Lösningsförslag tenta

Lösningsförslag tenta Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2

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

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner Ext-3 (Ver 203-04-2) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna

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

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Seriekommunikation Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Läsanvisningar: Arbetsbok kapitel 7 Seriekommunikation 1 Parallell

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

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

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl

Tentamen. EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU. Måndag 18 Oktober 2010, kl Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen EDA432 Digital- och datorteknik, IT DIT790 Digital- och datorteknik, GU Måndag 18 Oktober 2010, kl. 8.30-12.30 Examinatorer

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

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Elektro Åk / lp 4 EDA26 EXAMINATOR Lars-Eric Arebrink TID FÖR

Läs mer

TENTAMEN (Något redigerad)

TENTAMEN (Något redigerad) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (Något redigerad) KRSNAMN Digital- och datorteknik PROGRAM: KRSBETECKNING Data-, elektro- och mekatronikingenjör Åk /

Läs mer

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. IS1500 ösningar övning CE_O7 2014 CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. 6.1. Vad är seriell kommunikation? a) Vad är skillnaden mellan seriell och parallell kommunikation?

Läs mer

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke...

9/22/2012. Assemblernivå Beskrivning av funktion Automatiskt styrd borrmaskin Positionera borr Starta borr Borra genom arbetsstycke... LV4 Fo10 Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Koppla samman register och ALU till en dataväg Minnets uppbyggnad och anslutning till datavägen

Läs mer

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner

Ext-13 (Ver ) Exempel på RTN-beskrivning av FLEX-instruktioner Ext-3 (Ver 204-04-08) Exempel på RTN-beskrivning av FLEX-instruktioner. Figur på sidan 2 i detta häfte visar hur datorn FLEX är uppbyggd. På sidan visas dessutom hur ALU:ns funktion väljs med styrsignalerna

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

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

ALU:n ska anslutas hur då?

ALU:n ska anslutas hur då? 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

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS) LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Digital- och datorteknik PROGRAM: Data-, elektro- och mekatronikingenjör åk / lp och 2 KURSBETECKNING LEU43

Läs mer

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe Fortsä'ning Pekare Ulf Assarsson Originalslides av Viktor Kämpe Pekare och Arrayer/VK 2 Pekare och Arrayer/VK 3 Förra föreläsningen Pekare Bll data Arrayer fix storlek och adress Dynamisk minnesallokering

Läs mer

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne Programallokering Att placera program i flashrespektive RAM-minne Program i FLASH-minne Bara lokala variabler Globala oinitierade variabler Globala initierade variabler Program med avbrott Program i RAM-minne

Läs mer

Exempel 1 på Tentamen med lösningar

Exempel 1 på Tentamen med lösningar Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Exempel 1 på Tentamen med lösningar Grundläggande datorteknik Examinator Kontaktperson under tentamen Tillåtna hjälpmedel Häfte

Läs mer