Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna
|
|
- Kristin Dahlberg
- för 7 år sedan
- Visningar:
Transkript
1 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 situationer då något oförutsett inträffar? Vi beskriver undantagshantering Vår skrivare är från början mycket enkel: Förutsättningar för skrivaranslutningen Den kan endast arbeta med ett tecken i taget. (hämtar ett tecken - skriv ut - hämta nästa) Det finns inledningsvis inga handskakningssignaler Max utskriftshastighet: 4 tecken per sekund. Med portdefinition PRINTER EQU $0800 och instruktionerna LDAA #$0 STAA PRINTER överförs hexadecimala värdet 0 till skrivaren Det lilla fönstret visar innehållet i dataregistret tolkat som ASCII. skrivarportens dataregister pappersyta, här visas utskriften Första programexemplet * Printer V_0 ORG $000 LDX #Text ; Pekare till textsträng -> X Loop LDAB,X+ ; Tecken -> B, peka på nästa BEQ Exit STAB $800 ; Skriv ut till port BRA Loop ; Fortsätt med nästa tecken Exit: NOP BRA Exit ORG $000 Text FCS Hej Du Kalle! FCB 0 Text ($000) H e j D u K a l l e! Synkronisera arbetstakterna Instruktioner/ sekund Tecken/ sekund Simulator STEP Simulator RUN Simulator RUN FAST Hårdvara? ? Lösningen blir villkorlig överföring vilket kräver ett asynkront gränssnitt 4
2 Villkorlig överföring Gränssnitt, version PrinterV_0 Mottagaren Redo? J Sänd Data till mottagaren N Mottagaren Redo? J Sänd Data till mottagaren N Statustest, kräver asynkront gränssnitt datorsystem Skrivarbuss = (Hög nivå) indikerar att skrivaren är klar att ta emot ett nytt tecken. = 0 (Låg nivå) indikerar att skrivaren är upptagen med att skriva ut ett tecken. J Init Läs nästa tecken Tecken= EOT? N Läs Status Busy Wait Polling Bit 7 Statusregister 0 =? J Överför Data till n N PrinterV_0 5 6 Programmerarens bild = (Hög nivå): skrivaren är REDO = 0 (Låg nivå): skrivaren är UPPTAGEN Bit 7 Statusregister Klarar nu situationen att centralenheten arbetar snabbare än skrivaren. Fortfarande problem då centralenheten är långsammare än skrivaren. Fortfarande problem med att få skrivaren att stoppa då sista tecknet skrivits ut. Vi behöver ytterligare handskakningssignal Tecken finns 0 * Printer V_ PRINTER EQU $0800 PSTATUS EQU $080 EOT EQU 4 ORG $000 LDX #Text Loop: LDAA,X+ CMPA #0 BEQ Exit LoopForReady: LDAB PSTATUS ANDB #4 BEQ LoopForReady STAA PRINTER LoopForNotReady: LDAB PSTATUS ANDB #4 BNE LoopForReady Exit: BRA NOP BRA Loop Exit ORG $000 Text: FCS "Hej Du Kalle!" FCB 0 test: Speciella instruktioner. LDAB $080 ; läs status ANDB #4 ; testa bit BEQ test ; om 0, fortsätt PSHB LDAB $080 ORAB # STAB $80 PULB.. Branch if bit(s) is clear test: BRCLR Set bit(s) in memory $80,#4,test BSET $080,# ; ettställ bit 7 8
3 Gränssnitt, version Skrivarbuss = (Hög nivå) indikerar för skrivaren att giltigt tecken finns att hämta på skrivarbussen. = 0 (Låg nivå) indikerar för skrivaren att skrivarbussen har ett ogiltigt värde. Bit 7 Styrregister 0 Händelser i et Inväntar = När = skrivs nästa tecken till skrivarens dataregister. Sätter = Inväntar =0 När =0 nollställs som indikation på att det inte finns giltigt tecken på skrivarbussen Händelser i skrivaren n är upptagen med att skriva ut ett tecken. =0. n är redo för nästa tecken och sätter = Inväntar = Ser att =. Läser nytt tecken från skrivarbussen. Signalerar upptagen, =0. n är upptagen med att skriva ut ett tecken. =0. * Printer V PRINTER EQU $0800 PSTATUS EQU $080 PCONTROL EQU $080 EOT EQU 4 ORG $000 LDX #Text Loop: LDAA,X+ CMPA #0 BEQ Stop Ready: BRCLR PSTATUS,#4,Ready STAA PRINTER BSET PCONTROL,# NotReady: BRSET PSTATUS,#4, NotReady BCLR PCONTROL,# BRA Loop Stop: NOP BRA Stop ORG $000 Text: FCS "Hej Du Kalle!" FCB Resultat Klarar nu situationen att centralenheten arbetar snabbare än skrivaren. Klarar nu situationen då centralenheten är långsammare än skrivaren. Klarar nu situationen med att få skrivaren att stoppa då sista tecknet skrivits ut μs Lösningen är dock hopplöst ineffektiv med tanke på hur vi utnyttjar systemet Verkligt "arbete" Processorn väntar på skall gå hög 50 ms μs Introduktion till Undantagshantering Avbrottssignal Skrivarbuss Huvudprogram Avbrottsrutin som skriver ut ett tecken Interrupt ReQuest (), begäran om avbrott s Skrivar buss Avbrottsrutinen utförs och ett tecken skickas till skrivaren Processorn utför annat viktigt arbete 00 ms s
4 Avbrottshantering Skrivarport Version 5, med avbrott Huvudprogram Avbrott 5 6 Avbrottsrutin Betjäna avbrottet 4 RTI ) Huvudprogram exekveras när ett avbrott aktiveras ) Hopp till avbrottsrutin ) Avbrottsrutin startar 4) Avbrottsrutin avslutas med en speciell instruktion, return from interrupt (RTI) 5) Återhopp till huvudprogram 6) Huvudprogrammet fortsätter. Minne Skrivarbuss Adress avkodning Skrivar buss "" D C R Q Q FFF FFF Avbrottsrutinens adress avbrottsvektor A A 0 R/W Denna lösning genererar ALLTID avbrott då skrivarens teckenbuffert är tom. 4 Skrivarport, Version 6 Avbrottsvippa I den sista versionen kan vi stänga av avbrotten från skrivaren. Disable Interrupt Aktivera avbrott Lämnas som självverksamhet Deaktiverar avbrottsignalen 5 6
5 Kvittering av avbrott Interrupt Acknowledge EXEMPEL: ( jfr: laborationskort ML9) Aktivera avbrott EXEMPEL, Arbetsbok uppgift 67 ( Irq.s ) ; Definitioner, initieringssekvens ; och avbrottsvektor Port EQU $0400 Port EQU $040 IrqStat EQU $0D00 IrqRes EQU $0D0 IrqRes EQU $0D0 ORG $000 ; Nollställ våra variabler CLR Var CLR Var CLR IrqRes CLR IrqRes ; Initiera avbrottsvektor LDX #IrgR STX $FF ; Huvudprogram main_loop INC MOVB BRA ; Variabler Var RMB Var RMB Var Var,Port main_loop ; Sätt om avbrottsmasken hos processorn CLI Deaktivera ( kvittera ) avbrott Status hos avbrottskällor 7 8 uppgift 67, forts. Exekveringstillstånd Processorn befinner sig alltid i något av tillstånden: EXEMPEL PÅ UNDANTAGSTYPER * Avbrottsrutin IrqR: LDAA IrqStat BITA # ; Event? BEQ IrqR ; Om inte prova nästa CLR IrqRes INC Var ; Räkna upp IrqR: * Kontrollera även Event BITA # BEQ IrqR CLR IrqRes CLR Var ; Nollställ IrqR: RTI IrqStat EQU $0D00 IrqRes EQU $0D0 IrqRes EQU $0D0 NORMAL, processorn hämtar och utför instruktioner, dvs. normal exekvering. EXCEPTION, något undantag har inträffat som gör att processorn inte kan (eller ska) fortsätta normal exekvering. NORMAL EXCEPTION NORMAL EXCEPTION 9 0
6 Starta undantagshantering Spara registerinnehåll Atomär operation PUSH PC PUSH Y PUSH X PUSH D PUSH CCR minskande adress ökande adress SP Stackens utseende i avbrottsrutin CCR ACCB ACCA X H X L Y H Y L PC H PC L Avslut av undantagshantering ReTurn from Interrupt, RTI Atomär operation PULL CCR PULL D PULL X PULL Y PULL PC Innehåll i processorns register CCR vid avbrottet Innehåll i processorns register (Y,X och D) vid avbrottet Innehåll i processorns programräknare vid avbrottet, dvs adressen till instruktion som ska utföras efter avbrottet Undantagstyper POR MPU COP CMON EXCEPTION AVBROTT IOF INTP X INTERNA MPU, händelser som alltid föranleder återstart () av processorn. AVBROTT, externa händelser, dvs. utanför processorn, detta kan alltså vara enheter på samma krets som processorn (sammanbyggda periferienheter), det kan också vara en speciell insignal ( eller X) som aktiveras. INTERNA, händelser som uppträder under programexekvering, exempelvis att en otillåten instruktion avkodas (IOF) eller den speciella instruktionen. CPU X Fatala fel, kräver av CPU POR, Power On Reset, vid spänningstillslag, insignal till processorn aktiveras. COP, Computer Operating Properly, så kallad watchdog-funktion. CMON, Clock Monitor Reset, övervakar E-klockan, om frekvensen sjunker under 0 khz genereras. Adress (hex) FFFE FFFC FFFA FFF8 FFF6 FFF4 FFF FF00-FFF0 POR CPU COP CMON Funktion, Startvektor Clock Monitor Fail COP Watchdog Timeout Illegal Op Code X Enhetsspecifika vektorer, skiljer sig något beroende på olika varianter Interna undantag Om processorn avkodar en otillåten operationskod kallas detta Illegal Opcode Fetch (IOF). Processorn avbryter då, sparar registerinnehåll på stacken, Läser vektorn för IOF och utför undantagshantering. Instruktionen SoftWare Interrupt () fungerar på samma sätt, men har en annan vektor och en bestämd operationskod. Adress (hex) FFFE FFFC FFFA FFF8 FFF6 FFF4 FFF FF00-FFF0 IOF INTERNA Funktion, Startvektor Clock Monitor Fail COP Watchdog Timeout Illegal Op Code X Enhetsspecifika vektorer, skiljer sig något beroende på olika varianter 4
7 EXEMPEL, Hantera Software Interrupt, Internt genererade avbrott AVBROTT ORG $000 main LDAB #$ LDAA #$ LDX #$ LDY #$4444 NOP NOP BRA main _hantering: CLRA NOP RTI ORG FDB $FFF6 _hantering Adress (hex) Funktion FFFE, Startvektor FFFC Clock Monitor Fail FFFA COP Watchdog Timeout FFF8 Illegal Op Code FFF6 FFF4 X FFF FF00-FFF0 Enhetsspecifika vektorer, skiljer sig något beroende på olika varianter INTP X Adress (hex) Funktion FFF0 Real Time Interrupt FFEE Enhanced Capture Timer channel FFEC Enhanced Capture Timer channel FFEA Enhanced Capture Timer channel.. FF8E Port P Interrupt FF8C PWM Emergency Shutdown FF8A- Reserverade FF Externt genererade avbrott CPU X X CCR = 0000 REGISTERS->[SP] REGISTERS->[SP] PC=[FFFE,FFFF] CCR[I]= CCR[I]= PC=[FFF4,FFF5] PC=[FFF,FFF] AVBROTT INTP X Adress (hex) FFFE FFFC FFFA FFF8 FFF6 FFF4 FFF FF00-FFF0 Funktion, Startvektor Clock Monitor Fail COP Watchdog Timeout Illegal Op Code X Enhetsspecifika vektorer, skiljer sig något beroende på olika varianter Maskering av avbrott Maskera avbrott: SEI Alternativt ORCC #% Demaskera avbrott: CLI Alternativt ANDCC #%0 Demaskera X-avbrott: ANDCC #%0 OBS: Kan INTE maskeras ( Non Maskable Interrupt ) 7 8
8 Undantags prioriteter Multipla avbrottskällor. MPU och INTERNA, (alltid). X, (om X i CCR är 0)., (om I i CCR är noll) EXCEPTION CPU X Källa Källa Källa & CPU Avbrottsingång aktiv låg Avbrottshanterare JA från "? JA från "? Betjäna avbrott " Betjäna avbrott " MPU INTERNA POR COP CMON AVBROTT IOF Avbrottskällornas inbördes prioritet bestäms i avbrottshanteraren. Betjäna avbrott " INTP X RTI 9 0 Hårdvarubaserad avbrottsprioritering För avbrott från interna kretsar bestäms prioriteten av avbrottsvektorns adress. Ju högre adress, desto högre prioritet. Högre prioritet Lägre prioritet Adress (hex) Funktion FFF0 Real Time Interrupt FFEE Enhanced Capture Timer channel FFEC Enhanced Capture Timer channel FFEA Enhanced Capture Timer channel FFE8 Enhanced Capture Timer channel FFE6 Enhanced Capture Timer channel 4 FFE4 Enhanced Capture Timer channel 5 FFE Enhanced Capture Timer channel 6 FFE0 Enhanced Capture Timer channel 7 FFDE Enhanced Capture Timer overflow FFDC Pulse accumulator A overflow FFDA Pulse accumulator input edge FFD8 SPI0 FFD6 SCI0 FFD4 SCI FFD ATD0 FFD0 ATD FFCE Port J FFCC Port H FFCA Modulus Down Counter underflow FFC8 Pulse Accumulator B Overflow FFC6 PLL lock FFC4 CRG Self Clock Mode FFC Används ej (BDLC) FFC0 IIC Bus FFBE SPI FFBC Reserverad FFBA EEPROM I-Bit FFB8 FLASH I-Bit FFB6 CAN0 wake-up FFB4 CAN0 errors FFB CAN0 receive FFB0 CAN0 transmit FF96 CAN4 wake-up FF94 CAN4 errors FF9 CAN4 receive FF90 CAN4 transmit FF8E Port P Interrupt FF8C PWM Emergency Shutdown FF8A- Reserverade FF80 Vektoravbrott Processor 7 PC INTA 4 5 Databuss Adressbuss INTA Somliga periferikretsar konstrueras för att tillhandahålla avbrottsvektor (kan ej anslutas till HCS) Yttre enhet Vektor Reg Vektor q Minne Adress (Vektor q) avbrottsrutin p avbrottsrutin q avbrottsrutin r 6
9 Prioritet vid vektoravbrott (Daisy chain) INTA In S YE Out Vektor nr In Databuss S YE Out Vektor nr In S YE Out Vektor nr Vektor nr 0 (Adress i) Vektor nr (Adress i+p) Vektor nr max (Adress i+max) avbrottsrutin 0 avbrottsrutin avbrottsrutin max EXEMPEL, ColdFire (MC68x00) Adress Vektor (offset) nr (hex) Funktion Initial stackpekare 004 Initial programräknare vektor 008 Access Error (ex: referens till adress där minne/periferikrets ej finns) 00C Adress Error (ex: referens till udda adress med word operand) 4 00 Illegal instruktion (icke-definierad operationskod) 5 04 Division med 0 6,7 08, 0C Reserverade 8 00 Privilege Violation, försök att utföra supervisor-instruktion i user mode 9 04 Trace, en-instruktions exekvering 0 08 Line 00, reserverad operationskod 0C Line, reserverad operationskod 00 Non-PC breakpoint debug interrupt 04 PC breakpoint debug interrupt 4 08 Format error 5 0C Avbrott från enhet som ej tillhandahållit avbrottsnummer F Reserverade vektorer Icke-identifierat avbrott Autovektor avbrottsnivå Autovektor avbrottsnivå 7 06C Autovektor avbrottsnivå Autovektor avbrottsnivå 4 Autovektor Autovektor avbrottsnivå 5 avbrott Autovektor avbrottsnivå 6 07C Autovektor avbrottsnivå BF Trap vektor för instruktionen TRAP #<vektor_nummer> C0-0FF Undantag vid flyttalshantering, Reserverade vektorer FF Användardefinierade vektorer Vektoravbrott Undantag genererade av program 4
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 merProgrammering 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 merFö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 merUndantagstyper. 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 merFö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 merI 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 merMaskinorienterad 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 merF8: 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 merEDA480/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 merDigital- 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 merAssemblerprogrammering 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 merMaskinorienterad 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 merDigital- 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 merLaborationsmoment 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 merLaborationsmoment 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 merArbetsbok 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 merEDA 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 merMaskinorienterad programmering
Externa avbrott Anslutning av extern avbrottsvippa, programmering med konfigurering och hantering av externa avbrott. Introduktion till time-sharing, enkel task-switch. Ur innehållet: NVIC och EXTI (SYSCFG)
Läs merAvbrottshantering. Ö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 merDatorsystemteknik 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 merDigital 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 merExtrauppgifter 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 merMaskinorienterad 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 merAvbrott - En enhet. I DAG fo 6 Mera avbrott. Avbrott - Fler enheter. Olika typer av avbrott DMA. Avbrott - Fler enheter -Avbrottshanterare
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
Läs merStyrenheten 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 merAvbrottshantering. Ö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 merProgrammering 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 merMaskinorienterad 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 merPolling (cyklisk avfrågning) Avbrott
Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det
Läs merF6: 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 merMaskinorienterad 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 merSvar till Övning3 Datorteknik, HH vt12 Avbrott och timers
Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.
Läs merDatorteknik. 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 mer3. 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 merDigital- 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 merGenomgå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 merProgramexempel 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 merLaborationsmoment 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 merFö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 merMaskinorienterad 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 merDigital- 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Ö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 merReducerad INSTRUKTIONSLISTA för FLIS-processorn
Reducerad INSTRUKTIONSLI för FLIS-processorn 2013-11-08 2(10) Innehåll Sidan 3 Programmerarens bild av FLIS-processorn 4 Förklaring av beteckningar i instruktionslistan 5 Enkel dataflyttning 5 Logik 5
Läs merProgrammering av inbyggda system 2013/2014
Programmering av inbyggda system 2013/2014 CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: Räknarkretsar ( TIMERS ) Pulsbreddsmodulering ( PM ) Analog-/Digital- omvandling ( AD
Läs merMaskinorienterad 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 merLaborationsmoment 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 merLö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 merF2: 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 merMål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)
Mål Datorteknik Föreläsning 4 Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta vilken information
Läs merDataö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 merExt-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 merDigital- 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 merTENTAMEN (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 merCPU. 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 merInstitutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta
Läs merAssemblerprogrammering
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 merF6: 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 merExt-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 merDigital- 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 merMaskinorienterad 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 merProgrammering av inbyggda system 2014/2015
Programmering av inbyggda system 2014/2015 Sammanfattning Kursens syften är att vara en introduktion till konstruktion av små inbyggda system och att ge en förståelse för hur imperativa styrstrukturer
Läs merBDM12 Användarbeskrivning. Introduktion
Versioner/ändringar 1.0 2003-07 1.01 BUGFIX: FLASH unsecure algoritm 1.02 Fördröjning vid flash-prog. Statusutskrift under programmeringen. Programmeringsalgoritmen hanterar nu även 'bankade' minnet. Översättning
Läs merLö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 merDigital- 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 merKonstruera 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 merMinnet. 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 merFö 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 merTentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag LEU500 Maskinorienterad programmering, DAI,EI,MEI Fredag 19 augusti 2016, kl. 8.30-12.30 Examinator
Läs merAssemblerprogrammering del 2
Assemblerprogrammering del 2 FLISP och omvärlden Dagens föreläsning behandlar: Kompendiet kapitel 9 Arbetsboken kapitel 16 Ur innehållet: In- och ut-enheter Tilldelningar och uttrycksevaluering Programflödeskontroll
Läs mer0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.
0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter
Läs merDatorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål
Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta
Läs merTentamen. EDA485 Maskinorienterad programmering Z DAT015 Maskinorienterad programmering IT. Tisdag xx yyyy 2006, kl. 8.30-12.
EDA485 Maskinorienterad programmering Z DAT015 Maskinorienterad programmering IT Tentamen Tisdag xx yyyy 2006, kl. 8.30-12.30 i V-salar Examinatorer Rolf Snedsböl, tel. 772 1665 Jan Skansholm, tel. 772
Läs merVillkorliga 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 merLV6 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 merDatormodell. 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 merFLEX Instruktionslista
FLEX Instruktionslista Innehåll 1 Förklaring av beteckningar i instruktionslistan... 2 2 Detaljerad beskrivning av FLEX-processorns instruktioner... 3 3 Operationskoder, maskincykler och flaggpåverkan...
Läs merFö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 merBilda styrsignalerna till datavägen RESET FETCH EXECUTE NF NF NF. Digital och Datorteknik EDA /2011. Digital och Datorteknik EDA /2011
EDA 45 - Digital och Datorteknik Dagens föreläsning:, exemplifierad med FLEX Arbetsboken kapitel 9-22 Ur innehållet: En automatisk styrenhet Grundläggande d instruktioner Adresseringssätt Konstruktion
Läs merInstitutionen 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 merDatorteknik. 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 merTENTAMEN 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 merTentamen i EIT070 Datorteknik
Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merProgramallokering. 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 merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merÖvningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010
STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB
Läs merProgramrä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 merDigital- 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 merDBG identifierar därefter sig genom utskrift av namn och version. Se även "Disposition av adressrum" nedan. Följande kommandon accepteras av DBG
Introduktion DBG12 är en monitor/debugger för MC68HCS12-baserade mikrodatorer. DBG12 ingår i en serie likartade monitor/debugger's för mikrodatorer. För närvarande finns följande varianter: DBG11 DBG12
Läs merTentamen 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 merPrinterport. 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 merDigital- 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 merElektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Läs merBeskrivning 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 merI 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 mer9/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 merLaboration nr 3 behandlar
(2013-04-20) Laboration nr 3 behandlar Konstruktion och test av instruktioner (styrsignalsekvenser) för FLISP Följande uppgifter ur Arbetsbok för DigiFlisp ska vara utförda som förberedelse för laborationen.
Läs merDigital- 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 merMaskinorienterad Programmering 2011/2012. CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf
Maskinorienterad Programmering 211/212 CPU12 eference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: äknarkretsar ( TMES ) Pulsbreddsmodulering ( PM ) Analog-/Digital- omvandling ( AD ) Seriekommunikation
Läs merLö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