Datorteknik. Tomas Nordström. Föreläsning 7 Avbrott. För utveckling av verksamhet, produkter och livskvalitet.
|
|
- Arne Lindberg
- för 7 år sedan
- Visningar:
Transkript
1 Datorteknik Tomas Nordström Föreläsning 7 Avbrott För utveckling av verksamhet, produkter och livskvalitet.
2 Föreläsning 7 Avbrott References: [SUM3U-complete] ATMEL AT91SAM ARM-based Flash MCU - SAM3U Series (Complete manual), 2012 [Yiu-DefGuide] Joseph Yiu, The definitive guide to the ARM cortex- M3, second edition, Newnes,
3 Avbrott Polling Läser hela tiden i en loop. Processorn är låst till detta hela tiden. Kallas ibland programstyrt I/O. Interrupt - avbrott Processorn kan göra annat och blir avbruten av en extern händelse, t ex någon skriver på ett tangentbord. Mycket effektivare. Man kan göra annat under tiden. Kräver att processorn har hårdvarustöd för detta. 3
4 Avbrott Grundprinciper Interrupt, exception och undantag är andra namn Något som avbryter processorns vanliga programkörning (instruktionscykeln) och utför automatiskt en förutbestämd undantagssekvens. Delar av denna sker automatiskt, andra delar får man skriva kod för själv Källorna till avbrott kan vara olika Det finns nästan alltid någon mekanism i datorn för hantering av avbrottet. Vår ARM har t.o.m. en speciell enhet för det (NVIC). Det enda sätt vi externt direkt kan påverka processorn, t ex reset, NMI, avbrott via portar eller I/O pinnar. Två huvudtyper, interna och externa Styr om programflödet (PC) på extern begäran. Avbryter den kod som körs 4
5 Avbrott Interna - Externa Interna avbrott genereras av processorn själv vid olika sorters fel. Dessa används för att man själv ska kunna ta hand om de eventuella fel som kan uppstå. Ex) Usage fault (tex okänd instruktion), Memory Management Error (Minneshanterings fel, tex kan inte hämta data), Division by Zero (division med noll) Externa avbrott genereras utifrån processorn. Genom att påverka vissa pinnar på kapseln. Hit räknas även de som bygger på interna timers och liknande. Ex) Timer, reset, NMI-pinne, portar 5
6 Sidonotering Usage fault Om vi försöker växla till ARM mode i en Cortex M3 så genereras ett usage fault. Man kan växla mode genom ett hopp med BX instruktionen där bit 0 i registret avgör mode (ARM=0; Thumb=1) hopp via MOV, LDR, POP (med R15/PC som destination) värdet på bit-0 i adresser i avbrottsvektorn Men eftersom Cortex M3 alltid är i Thumb-mode så måste bit-0 alltid vara 1 när PC laddas Detta tas oftast hand om av assemblern, men kan vara förvirrande när man ser på koden som genererats. 6
7 Externa avbrott - Användningsområde Används för att Effektivisera normal I/O-hantering, eg polling. Slippa ha kod för att läsa av I/O överallt, men ändå kunna läsa av externa händelser. ex) Avläsning av musen i en PC Utföra periodiska händelser, bli avbruten med j ämna mellanrum av en sk Timer. ex) Byta mellan program vid multitaskande operativsystem Multitasking = Flera program (task) kör samtidigt. Ej möjligt utan avbrott Avbryta kod pga externa händelser ex) Larmknapp, Reset 7
8 Avbrottsmekanism I sista delen av instruktionscykeln kontrolleras om avbrott skett. Det betyder att den pågående instruktionen alltid slutförs innan avbrottet servas! Antag avbrott har genererats. Följande händer då: 1. Statusregister sparas. PC och eventuellt några andra register sparas. [automatiskt] 2. Ett hopp sker till ett förutbestämt ställe. Beror på avbrottstypen. [automatiskt] 3. Slå av avbrott med samma eller lägre prioritet, så att inte avbrottsrutinen avbryts av oviktiga saker 4. Utför avbrottskod 5. Återgång till normal programkörning. Ofta med speciell instruktion. Detta återställer sparade PC och statusregister och eventuella andra register 8
9 Varför spara både PC och Statusregister? Man kan se själva avbrottskoden som en subrutin som körs på externt anrop, t ex då man trycker på resetknapp. Dvs man kan i själva koden INTE veta när avbrott kommer.!cmp R1, #4!!BEQ TEST! Antag att avbrott kommer här! Avbrottet kommer mitt i då statusflaggorna är satta pga jämförelsen. Skulle då avbrottskoden ställa om flaggorna och sedan gå tillbaka skulle man kunna få effekten att hoppet inte tas även om R1 =4! 9
10 Hur vet man vilket avbrott som skett? Två principer finns: Autovektoriserade) Vid avbrott hoppar man automatiskt till olika adresser pga källan till avbrottet. Sköts hårdvarumässigt. Det finns en färdig tabell i minnet på ett förutbestämt ställe. Ofta i början på minnet. Icke vektoriserade) Vid avbrott hoppar man alltid till samma plats. Man har sedan ett speciellt register som håller reda på vilket avbrott som skett. Man får själv skriva kod för att läsa av registret samt utför hopp till olika kod. Denna kod kallas en handler 10
11 Terminologi vid avbrott Maskbara (avbrott som går att slå på/av) vs. Icke maskbara avbrott, NMI - Non Maskable Interrupt, (sådana man inte kan slå av) ex) Maskbara: De flesta externa, timers Icke maskbara avbrott: Internt genererade. Ex) Reset, Illegal Instruction Prioritering) Ibland har olika avbrott olika prioritet om de sker samtidigt. Detta styrs hårdvarumässigt. Ibland kan även vissa högre prioriterade avbrott avbryta körning av sådana med lägre prioritet. 11
12 Exempel polling Anta att huvudprogrammet består av tre moment. Vid knapptryck ska larmkod utföras. LARM anropas från huvudprogram. Huvudprogrammet måste läsa av knappen hela tiden för att inte riskera att missa någon tryckning. Avläsning av knapp sker med mjukvara. Komplex kod. 12
13 Exempel avbrott Anta huvudprogrammet består av tre moment. Vid knapptryck ska larmkod utföras. LARM anropas med avbrott. Huvudprogrammet behöver inte bekymra sig över inläsning. Så fort knapp trycks ned genereras ett avbrott och LARM anropas automatiskt. Avläsning av knapp sker med hårdvara. Enklare kod 13
14 Liknelse: Avbrott - En bartender! Bartendem gör vanliga sysslor då ingen beställer något (vanlig programköming). Alternativet hade varit att han frågat varje person efter varandra om de velat beställa, sen börjar om på person ett. Ineffektivt! Polling Då någon ropar (beställer) en viss drink/öl utför bartendern en beställning direkt på vad man frågar efter. Autovektoriserat avbrott Ropar man bara "Hej!" avbryter man också bartendern, men han måste då fråga vad man vill beställa. Icke vektoriserat avbrott Då t ex ölen tar slut måste en tunna bytas och man avbryter pågående beställning för detta (högre prioritet). Prioriterade avbrott Bartendern kan välja att strunta i vissa avbrott (kunder), medan andra (t ex chefen) inte går att ignorera. Maskbara avbrott 14
15 ARM - Programmers model AVBROTT Anta att det vanliga programmet körs 1. Avbrott kommer 2. Avbrottskod körs (handler). Avgör vilken kod som ska köras härnäst 3. Återlämna kontroll till huvudprogram 15
16 Avbrott Delade resurser - problem! Vad är en delad resurs? - register, hårdvara som både avbrottskod och huvudprogram har tillgång till! Ex)! CMP R7,#0! Avbrottet råkar komma här! BEQ TEST!!; inuti TEST måste R7 vara noll!!!!; annars blir det fel!! Avbrott:! LDR R7,=0x1!!; R1 är den delade resursen!!!!!; (delas av avbrott och huvudprogram)! Då avbrottet kom vid en olämplig tidpunkt 1-ställdes R7 innan man hoppar till TEST. Tanken var att man inte skulle hoppa till TEST om inte R7 var 0. Ett svårhittat fel! 16
17 Avbrott Delade resurser - lösning! Slå av avbrottet vid delad resurs! Ex)! <slå av avbrott>! CMP R7,#0! BEQ TEST!!! <tillåt avbrott>! Skyddad mot avbrott här Ingen risk att man hamnar i TEST och R7=1 Avbrott:! LDR R7,=0x1 Slutsats: Använd helst inte delade resurser och avbrott. Leder till svåra problem. Använd ej globala variabler som delas av avbrottsrutin och huvudprogram. Måste man ha detta, tänk på att slå av avbrott i huvudprogram då den delade resursen används!! 17
18 ARM - Avbrottskällor 1-15 Systemavbrott Yttre avbrott 18
19 ARM pratar om 4 klasser av avbrott Reset Fault Hard fault Memory management fault Bus fault Interrupt NMI Interrupt (IRQ) Externa avbrott SysTick PendSV För OS stöd i samband med SVcall Supervisor Call SVcall För att stödja OS 19
20 ARM Cortex M3 Systemavbrott [Yiu-DefGuide] 20
21 ARM SAM3U Yttre Avbrott [SUM3U-complete] Totalt 30 olika yttre enheter kan ge avbrott 21
22 ARM Cortex M3 NVIC The Cortex-M3 processor includes an interrupt controller called the Nested Vectored Interrupt Controller (NVIC). It is closely coupled to the processor core and provides a number of features as follows: Nested interrupt support Vectored interrupt support Dynamic priority changes support Reduction of interrupt latency Interrupt masking 22
23 ARM Cortex M3 NVIC The Nested Vectored Interrupt Controller (NVIC) supports: 1 to 30 interrupts on SAM3U (240 in general) A programmable priority level in SAM3U is 0-15 for each interrupt (0-255 in general). A higher level corresponds to a lower priority, so level 0 is the highest interrupt priority. Level detection of interrupt signals. Dynamic reprioritization of interrupts. Grouping of priority values into group priority and subpriority fields. Interrupt tail-chaining. 23
24 Vad gör en ARM Cortex M3 vid avbrott? When an exception takes place, a number of things happen, such as Stacking (pushing eight registers contents to stack) Vector fetch (reading the exception handler starting address from the vector table) Update of the stack pointer, link register (LR), and program counter (PC) 24
25 ARM Cortex M3 Register på stacken vid avbrott When an exception takes place, the registers R0 R3, R12, LR, PC, and Program Status (PSR) are pushed to the stack. 25
26 Adressen till avbrottsrutinen hämtas samtidigt Although the data bus is busy stacking the registers, the instruction bus carries out another important task of the interrupt sequence: It fetches the exception vector (the starting address of the exception handler) from the vector table. Since the stacking and vector fetch are performed on separate bus interfaces, they can be carried out at the same time. 26
27 Register Updates On entry of the exception handler, a number of registers will be updated, as follows: SP: The SP (either the MSP or the PSP) will be updated to the new location during stacking. During execution of the interrupt service routine, the MSP will be used if the stack is accessed. PSR: The IPSR (the lowest part of the PSR) will be updated to the new exception number. PC: This will change to the vector handler as the vector fetch completes and starts fetching instructions from the exception vector. LR: The LR will be updated to a special value called EXC_RETURN. This special value drives the interrupt return operation. The last 4 bits of the LR is used to provide exception return information. A number of other NVIC registers will also be updated. For example, the pending status of the exception will be cleared and the active bit of the exception will be set. 27
28 Återhopp efter avbrott 28
29 Slå på avbrott Cortex M3 Avbrotten styrs av: Interrupt Mask registers (PRIMASK, FAULTMASK, and BASEPRI) Vid avbrott ger Interrupt Program Status register (IPSR) information om vilket avbrott som kommit. 29
30 Cortex-M3 Interrupt Mask Registers The PRIMASK and BASEPRI registers are useful for temporarily disabling interrupts in timing-critical tasks. An OS could use FAULTMASK to temporarily disable fault handling when a task has crashed. In this scenario, a number of different faults might be taking place when a task crashes. Once the core starts cleaning up, it might not want to be interrupted by other faults caused by the crashed process. Therefore, the FAULTMASK gives the OS kernel time to deal with fault conditions. MRS r0, BASEPRI ; Read BASEPRI register into R0! MRS r0, PRIMASK ; Read PRIMASK register into R0! MRS r0, FAULTMASK ; Read FAULTMASK register into R0! MSR BASEPRI, r0 ; Write R0 into BASEPRI register! MSR PRIMASK, r0 ; Write R0 into PRIMASK register! MSR FAULTMASK, r0 ; Write R0 into FAULTMASK register! 30
31 Slå på avbrott NVIC Externt avbrott tillåts genom att ettställa motsvarande bit i SETENA Interrrupt set enable register och slås av genom CLRENA Interrrupt clear enable register i NVIC. Väntande avbrott Om ett avbrott väntar på att få köras så ettställs motsvarande bit i Pending registret som kan läsas via SETPEND Interrupt Set-pending Registers (men även CLRPEND). Om ett avbrott är aktiverat syns detta syns detta genom i ACTIVE Interrupt Active Bit Registers. Innan man slår på ett avbrott är det en god sed att nollställa alla pending avbrott. Detta görs genom att skriva en etta till CLRPEND Interrupt Clear Pending Register. 31
32 Slå på avbrott Periferienhet Periferienheter kan oftast generera avbrott, men de måste slås på separat. PIO Tex så slår man på PIO avbrott via PIO_IER (Interrupt Enable Register) och PIO_IDR (Interrupt Disable Register) för varje pinne på porten, kan läsas via maskreg. (PIO_IMR) Dessutom måste PIO:n konfigureras för när den ska reagera på yttre händelser med ett avbrott (flank eller nivå) När en ingång upptäcker en avbrottshändelse (flank eller nivå) på en I/O pinne så sätts motsvarande bit i PIO_ISR (Interrupt Status Register). Om sedan avbrott är tillåten för denna biten (i IMR) så generas ett processoravbrott fär den PIO enhet som avses. 32
33 Slå på avbrott Periferienhet - Systick SYSTICK SYSTICK Control and Status Register 33
34 Mer om Systick Det primära målet för systemtimern (SysTick) är att generera periodiska avbrott. Detta är oftast används för att tillhandahålla tidsbasen i ett operativsystem. SysTick kan välja sin klockakälla. (I labben sätter den till Master Clock) SysTick har en 24-bitars räknare. Räknaren kallas Current Value Register (CVR) Startvärdet att ladda in till CVR kallas "reload value" och är lagrat i Reload Value Register (RVR). Varje gång CVR räknaren når 0, genereras ett avbrott och värdet i RVR laddas in till CVR. 34
35 Steg att konfigurera avbrott Att konfigurera en avbrottskälla kräver sex steg: 1. Implementera en avbrottshanterare 2. Lägg till avbrottsrutin i avbrottsvektorn 3. Avaktivera avbrott ifall det var aktiverat 4. Rensa alla utestående avbrott 5. Konfigurera avbrottsprioritet 6. Tillåt avbrott på periferienhetsnivå 7. Tillåt avbrott på NVIC nivå 8. Tillåt avbrott på processornivå 35
36 Dagens Föreläsning: Avbrott (Exception, Interrupt) Avbrott har många fördelar gentemot Pulling Avbrott kan vara interna eller externa Autovektorisering eller Icke vektoriserade Användning av avbrott Vad sker vid avbrott och hur man återgår Maskning av avbrott Prioritering av avbrott Hur man slår på respektive stänger av avbrott På CPU nivå, NVIC nivå, Periferienhet nivå (tex PIO, SYSTICK) 36
Svar 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 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 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 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 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 merDatorteknik. Tomas Nordström. Föreläsning 8 Timers. För utveckling av verksamhet, produkter och livskvalitet.
Datorteknik Tomas Nordström Föreläsning 8 Timers För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 8 Timerbegrepp Timer på SAM3U Avbrottskodexempel Timers References: [SUM3U-complete]
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 merProgrammering av inbyggda system
Avbrott och undantag Ur innehållet: Cortex M4 "exceptions" Avbrott NVIC Externa avbrott: Avbrottsvippa Läsanvisningar: Arbetsbok kap 7 IRQ Flip-Flop STM32F4xx Cortex M4 programming manual Kap 2.3 Exception
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 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 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 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 merLaboration 2 i Datorteknik- Assemblerprogrammering II
Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner
Läs 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 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 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 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 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 merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2018-01-29 3 Praktiska kommentarer, forts. TSEA28 Datorteknik Y (och U) Föreläsning 6 Kent Palmkvist, ISY Deadline anmälan till Lab1 del A idag
Läs merDataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte
CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.
Läs 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 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 merTentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
Läs merAVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
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 merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 6, Kent Palmkvist 2019-02-04 3 Praktiska kommentarer TSEA28 Datorteknik Y (och U) Föreläsning 6 Kent Palmkvist, ISY Deadline anmälan till Lab1 del A idag 4/2 kl
Läs 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 merÖvning2 Datorteknik, HH vt12 - Programmering
Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad
Läs 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 merUndantag, avbrott. Avsnitt 7. Undantag, avbrott
Undantag, avbrott Avsnitt 7 Undantag, avbrott Inledning Processorn befinner sig normalt i Threade-mode, utförandes ett program. Om något exceptionellt inträffar, kallar vi detta ett undantag. Eftersom
Läs mer4 grundregler. Minneshantering. Problemet. Windows minkrav
4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns
Läs merÖvning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-
Läs merDatorteknik ERIK LARSSON
Datorteknik ERIK LARSSON Inledning Ken Thompson och Dennis M. Ritchie utvecklade C Turingpriset( Nobelpris i datavetenskap ), 1983 Alan Turing (1912-1954) För deras utveckling av generell OS teori och
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2019-02-15 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna
Läs 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 merFöreläsning 4 IS1300 Inbyggda system
Föreläsning 4 IS1300 Inbyggda system Programutveckling Exempel PingPong Idé Tillståndsdiagram State machine Skapa projekt Testning av programvara Peripheral Library till STM32 Programmeringsuppgiften RS232
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs 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 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 merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2018-02-12 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna
Läs 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 merDigitala System: Datorteknik ERIK LARSSON
Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)
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 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 merLABORATION. Datorteknik Y
LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering
Läs merLABORATION. Datorteknik Y
LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.02 Februari 2018 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering
Läs merF4: Assemblerprogrammering
F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering
Läs merDatorsystem Laboration 2: Minnesmappade bussar
Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................
Läs 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 merLaboration 4: Knappstuds Drivrutiner för att eliminera störningar.
ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar
Läs merAlias 1.0 Rollbaserad inloggning
Alias 1.0 Rollbaserad inloggning Alias 1.0 Rollbaserad inloggning Magnus Bergqvist Tekniskt Säljstöd Magnus.Bergqvist@msb.se 072-502 09 56 Alias 1.0 Rollbaserad inloggning Funktionen Förutsättningar Funktionen
Läs merOperativsystem - input/output, skydd, virtualisering
Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,
Läs merBÄNKVÅG / BENCH SCALE Modell : SW-III / Model : SW-III ANVÄNDARMANUAL / USER MANUAL SW-III WWW.LIDEN-WEIGHING.SE 2014-03-26 OBS! Under vågen sitter en justerbar skruv (se bild). Standardinställning är
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 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 merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)
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 merHantering av hazards i pipelines
Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner
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 merSupport Manual HoistLocatel Electronic Locks
Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing
Läs merBeijer Electronics AB 2000, MA00336A, 2000-12
Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
Läs merStack och subrutiner Programmeringskonventionen
Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2018-01-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Mail kommer skickas ut när labanmälan är möjlig
Läs merDigitalteknik och Datorarkitektur 5hp
Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är
Läs merGeneral Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18
F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal
Läs merBÄNKVÅG / BENCH SCALE ANVÄNDARMANUAL / USER MANUAL SW-III www.liden-weighing.com Svenska OBS! Under vågen sitter en justerbar skruv (se bild). Standardinställning är den för vägning. Om ni vill rengöra
Läs merDatorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga
Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande
Läs merTentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp
Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60
Läs merDet finns en handledning till kortet på hemsidan. AVR STK500.
Laboration 1 (ver 1) Uppgifter: AVR Studio 4.lnk Bli bekant med utvecklingskortet, och AVR studio. Skriva in program för binärräknare. Simulera detta samt ladda ner det till kortet. Förse ovanstående program
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 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 merDigitala projekt rapport
Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................
Läs merIndraDrive Open-loop. Styrning av asynkronmotor över Profibus. Version 1
IndraDrive Open-loop Styrning av asynkronmotor över Profibus Version 1 1. Inställningar för master kommunikation Öppna inställningarna för master kommunikationen genom att expandera mappen Master communication
Läs mer2.45GHz CF Card Reader User Manual. Version /09/15
2.45GHz CF Card Reader User Manual Version 2.0 2008/09/15 Install SYRD245-CF Card Reader to PDA: 1. Explorer SYRD245-CF folder of SYRIS Xtive CD-ROM 2. Check your PDA OS (Mobile5 or PPC2003) NETCF V2 currently
Läs merFår endast utföras av behörig personal. May only be carried out by authorized electrician
Instruktion för DMIS Instruction for DMIS FLE400FC, FLE850MP, W3400H, W4400H/W4600H (-980/1287) W3850H/W31100H, W4850/W41100H (-1220/636) Clarus Control 471 1530-75 2016.05.04 Får endast utföras av behörig
Läs merViktig information för transmittrar med option /A1 Gold-Plated Diaphragm
Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm Guldplätering kan aldrig helt stoppa genomträngningen av vätgas, men den får processen att gå långsammare. En tjock guldplätering
Läs merTENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:
TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga
Läs merMål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?
Mål Datorteknik Föreläsning 3 Att veta hur maskinkoden för ett program byggs upp Att börja programmera i på riktigt Att kunna skriva och anropa subrutiner i Att förstå hur stacken fungerar Att veta vad
Läs merUtkast. Programmering. Signals. Olika typer av program. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Avbrott i mjukvara.
Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes Utkast Avbrott i mjukvara Larm signaler Avslutnings signaler IDE-sektionen Curses Juli 2 Olika typer av program Signals
Läs merOperativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman
Operativsystem Lektion 1 1 Lärare jem@cs.umu.se, B449 Lektioner etc Set Norman set@cs.umu.se, NAdv105 Labbar, labhandledning 2 Schema Notera att det finns ändringar i schemat!! Under perioden 1-8 mars
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 merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner
Läs merQuick Start Guide Snabbguide
Quick Start Guide Snabbguide C Dictionary Quick Start Thank you for choosing C Dictionary and C-Pen as your translation solution. C Dictionary with its C-Pen connection will make translation easy and enable
Läs merSVAR TILL TENTAMEN I DATORSYSTEM, VT2013
Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt
Läs merTSEA28 Datorteknik Y (och U)
TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2019-01-22 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan öppnar måndag 28/1 kl 12.30 Anmälningssystemet
Läs merPNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation
PNSPO! 14 mars 2012 OMRON Corporation 2/19 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna för OMRONs produkter. Använd den som en hjälp att
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 merDatorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva
Läs merInstitutionen för elektro- och informationsteknologi, LTH
Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva
Läs merAktivitetsschemaläggning för flerkärninga processorer
Lunds Tekniska Högskola Datorarkitekturer med Operativsystem EDT621 Aktivitetsschemaläggning för flerkärninga processorer Tobias Lilja 5 december 2016 Innehåll 1 Inledning 3 1.1 Syfte................................
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering
Läs merTentamen (Exempel) Datorteknik Y, TSEA28
Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-08-21 Lokal TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor
Läs merÖvning 5 ETS052 Datorkommuniktion Routing och Networking
Övning 5 TS5 Datorkommuniktion - 4 Routing och Networking October 7, 4 Uppgift. Rita hur ett paket som skickas ut i nätet nedan från nod, med flooding, sprider sig genom nätet om hop count = 3. Solution.
Läs merÖvning 6. Parallellport, timer
Övning 6 Parallellport, timer 6.1 de2_pio_toggles18 Memory-Mapped addresses LEDG8 LEDR17 LEDR16 LEDR15 LEDR14 LEDR13 LEDR12 LEDR11 LEDR10 LEDR9 LEDR8 LEDR7 LEDR6 LEDR5 LEDR4 LEDR3 LEDR2 LEDR1 LEDR0 LEDG7
Läs mer