Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.



Podobné dokumenty
zení Koncepce připojení V/V zařízení POT POT ... V/V zařízení jsou připojena na sběrnici pomocí řadičů. Řadiče Připojení periferních zařízení

Přerušovací systém s prioritním řetězem

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

Metody připojování periferií BI-MPP Přednáška 2

Strojový kód. Instrukce počítače

Řízení IO přenosů DMA řadičem

Principy komunikace s adaptéry periferních zařízení (PZ)

Periferní operace využívající přerušení

Periferní operace využívající přerušení

Procesor z pohledu programátora

Obsluha periferních operací, přerušení a jeho obsluha, vybavení systémových sběrnic

Periferní operace využívající přerušení

Komunikace procesoru s okolím

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

3. Počítačové systémy

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. 25

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

3. Principy komunikace s perifériemi: V/V brány, programové řízení, přerušení, řešení priorit. Řadiče, DMA kanály. Popis činnosti DMA kanálu.

Přerušovací systém 12.přednáška

Architektury počítačů a procesorů

IMTEE Přednáška č. 8. interrupt vector table CPU při vzniku přerušení skáče na pevně dané místo v paměti (obvykle začátek CODE seg.

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Struktura a architektura počítačů (BI-SAP) 9

Metody připojování periferií

Management procesu I Mgr. Josef Horálek

Systém řízení sběrnice

Pozice sběrnice v počítači


Jazyk symbolických adres

setup() { I = 0; } loop() { I = I + 1; }

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

Počítač jako prostředek řízení. Struktura a organizace počítače

Periferní operace využívající přímý přístup do paměti

Vstupně - výstupní moduly

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. L322

Činnost počítače po zapnutí

Profilová část maturitní zkoušky 2014/2015

Registrový model HDD

Paralelní rozhraní. Přehled standardů paralelního rozhraní Centronics

Adresní mody procesoru

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. L336

Přednášející: Zdeněk Kotásek. Ústav počítačových systémů, místnost č. L322

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Algoritmizace a programování

Princip funkce počítače

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

Principy operačních systémů. Lekce 8: Ovladače periferií

Systém přerušení. Algoritmizace a programování. Struktura počítače - pokračování. Systémová struktura počítače pokrač.

Metody připojování periferií BI-MPP Přednáška 1

Přidělování paměti II Mgr. Josef Horálek

frekvence 8 Mhz, přestože spolupracuje s procesori různe rychlými. 16 bitová ISA sběrnice je

Procesor. Procesor FPU ALU. Řadič mikrokód

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Systém adresace paměti

Architektura počítače

Principy činnosti sběrnic

ŘÍZENÍ ELEKTRICKÝCH POHONŮ. Systémová struktura počítače Řízení běhu programu. České vysoké učení technické Fakulta elektrotechnická

Paměti a jejich organizace

Firmware řídící jednotky stejnosměrného generátoru

Operační paměti počítačů PC

řadič počítače část(jednotka) počítače/procesoru,

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

Pokročilé architektury počítačů

Obvody a architektura počítačů. Jednoprocesorové počítače

Témata profilové maturitní zkoušky

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Základní uspořádání pamětí MCU

Profilová část maturitní zkoušky 2015/2016

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

ČEMU ROZUMÍ MIKROPROCESOR?

PB153 Operační systémy a jejich rozhraní

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Jednočipové mikropočítače

Přidělování paměti I Mgr. Josef Horálek

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

Praktické úlohy- 2.oblast zaměření

2 Hardware a operační systémy

Správa požadavků na přerušení v MS Windows NT/2000/XP využívající obvody PIC-8259A

Petr Holášek / 1 of 21

Vestavné systémy BI-VES Přednáška 5

Vstupně výstupní moduly. 13.přednáška

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

PROTOKOL O LABORATORNÍM CVIČENÍ

Procesy a vlákna (Processes and Threads)

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Speciální obvody a jejich programování v C 2. díl

OPS Paralelní systémy, seznam pojmů, klasifikace

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Vrstvy periferních rozhraní

Boundary Scan JTAG (Joined Test Action Group) IEEE 1149.X Zápis do rozhraní

MSP 430F1611. Jiří Kašpar. Charakteristika

Provádění instrukcí. procesorem. Základní model

Transkript:

1 Přerušení Při výskytu určité události procesor přeruší vykonávání hlavního programu a začne vykonávat obslužnou proceduru pro danou událost. Po dokončení obslužné procedury pokračuje výpočet hlavního programu. vykonávaný program asynchronní událost vykonávaný program skok do obslužného programu obslužný program návrat z obsluhy 2

Vnější Typy Událost nastane mimo procesor (např. ve V/V řadiči). Indikace vzniku události je do procesoru zavedena speciálním přerušovacím signálem. Vnitřní Událost nastane přímo v procesoru (dělení nulou, trap, výpadek stránky, programové, činností vestavěných periferií,... ). Maskovatelná a nemaskovatelná : Maskovatelná : Lze je programově (nastavením určitého registru v CPU resp. speciální instrukcí) povolit nebo zakázat. Nemaskovatelná : Nelze je zakázat, tj. jsou vždy povolena. 3 Požadavky na přerušovací systém 1. Globální povolení nebo zákaz všech (kromě NMI). 2. Selektivní povolování/zákaz jednotlivých. 3. Prioritní systém povolení pouze s určitou prioritou. 4. Prioritní systém při současném vzniku více se nejprve obslouží s nejvyšší prioritou. 5. Vazba každého na příslušný obslužný program. 6. Možnost vnořených. 4

Řadič Řadič vnějších může být kompletně vestavěn v procesoru (např. H8S), nebo může být připojen jako samostatný obvod (k přerušovacímu systému procesoru). Procesor Procesor Vnitřní Vnitřní Přerušovací systém Vnější Přerušovací systém Vnější řadič Vnější 5 Uplatnění Aktivita požadavku na se testuje vždy po dokončení instrukce. Není-li požadavek na aktivní, pokračuje procesor další instrukcí. Je-li požadavek na aktivní (a jsou povolena), zahájí se operace pro jeho obsluhu. Ve speciálních případech (výpadek stránky, porušení ochrany paměti ne u H8S) může nastat i v průběhu provádění instrukce. Testování přerušovacího signálu Instrukce Instrukce Instrukce Instrukce Instrukční cykly Obsluha 6

procesoru H8S (1) Několik desítek vnitřních (nebudeme je dále uvažovat). 8 vnějších (/IRQ7 - /IRQ0). Nemaskovatelné (/NMI). IRQ0 IRQ7 ISR IER IPR prioritní kodér číslo "" EXR I2..I0 NMI 7 Použití registrů přerušovacího systému ISR Nastavuje se automaticky, ale lze jej modifikovat i programově. IER Nastavuje se programově podle potřeby. IPR Nastavuje se programově podle potřeby. EXR Nastavuje se programově, při obsluze se modifikuje automaticky. IRQ0 IRQ7 ISR IER IPR prioritní kodér číslo "" EXR I2..I0 NMI 8

procesoru H8S (2) ISR registr aktivních žádostí o. IER Povolení jednotlivých (1 = povoleno, 0 = zakázáno). IPR Priorita (0 = nízká, 7 = vysoká). EXR Bity I2..I0 indikují úroveň povolených (musí být IPR > EXR, tj. při EXR = 7 jsou zakázána). vysoká priorita nízká IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 ISR IER IPR 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 0 4 3 0 4 5 2 5 4 prioritní kodér " IRQ4" "" EXR 4 9 Určení adresy obslužného programu (H8S) Na začátku paměti je tabulka s adresami obslužných programů. Každé má pevně přidělenou určitou položku v tabulce. Přerušovací vektory Adresa obslužného programu Obslužný program Obslužný program 000 000 Obslužný program Číslo 10

Obsluha (H8S) (1) 1. Inicializace přerušovacího systému nastavení periferních řadičů, nastavení priorit, povolení. nastavení přerušovacího systému 11 Obsluha (H8S) (2) 2. Hardwarově provedené operace při vzniku : uložení PC, CCR a EXR do zásobníku, nastaví se IPR EXR, přečte se příslušný přerušovací vektor z paměti a podle něj se nastaví PC. nastavení přerušovacího systému uložení PC, CCR, EXR IPR EXR Přerušení 12

Obsluha (H8S) (3) 3. Softwarově provedené operace v obslužné proceduře : uložení používaných registrů do zásobníku, obsluha (obsluha V/V řadiče,... ), obnovení obsahu uložených registrů. nastavení přerušovacího systému uložení PC, CCR, EXR IPR EXR uložení registrů Přerušení obsluha obnovení registrů 13 Obsluha (H8S) (4) 4. Provedení instrukce RTE na konci obslužného programu: ze zásobníku se postupně vybere a obnoví původní stav EXR, CCR, PC (provede se hardwarově). nastavení přerušovacího systému uložení PC, CCR, EXR IPR EXR uložení registrů Přerušení obsluha obnovení PC, CCR, EXR obnovení registrů RTE 14

Obsah zásobníku při obsluze (H8S) Do zásobníku se při obsluze hardwarově uloží: PC (3 byte), CCR (1 byte), EXR (1 byte, 1 byte zásobníku je nevyužit). V obslužné proceduře se na začátku programově ukládají (a na konci obnovují) používané registry. PC SP CCR - - - EXR 15 Použití k řízení V/V operací Přerušení lze použít k řízení V/V operací: Řadič V/V zařízení musí být navržen tak, aby indikoval připravenost speciálním signálem, který se zavede na přerušovací vstup procesoru. Připravenost V/V systému k přenosu způsobí. V obslužné proceduře se provede zápis/čtení dat do/z V/V řadiče. Procesor IRQ V/V řadič m indikuje připravenost V/V řadič IRQ Sběrnice Procesor v obslužném programu provede přenos dat 16

Použití k řízení V/V operací Charakteristiky V/V systému s m: Procesor nemusí periodicky testovat stav V/V systému (může provádět jiný výpočet). Maximální rychlost přenosu je omezena především rychlostí reakce na přerušovací signál (vyžaduje řadu operací). V/V systém s mi je vhodný především pro pomalé přenosy znak_po_znaku. 17 Příklad použití Přenos dat přes rozhraní Centronics s použitím obvodu 82C55A a s m. Obvod 82C55A v Mode 1 (Port A): PA PC6 out =INTE PA & PC7 PC6 in OBF ACK PC3 INTR 82C55A Mode 1 Output 18

Časování 82C55A v Mode 1 /WR = Zápis dat do Portu A (signál na sběrnici), /OBF = Output Buffer Full (připravenost dat pro V/V zařízení), /ACK = Acknowledge (potvrzení převzetí dat V/V zařízením), INTR = Interrupt Request (požadavek na obsluhu procesorem). PA WR OBF ACK INTR 19 Rozhraní Centronics pomocí 82C55A H8S/2633F 82C55A PA 8 Tiskárna DATA PC7( OBF) STROBE IRQ n PC6( ACK) PC3(INTR) ACK 20

Inicializace přenosu Inicializace přerušovacího systému nastavení přerušovacího vektoru, nastavení priorit IPR a EXR, nastavení typu /IRQ7 (hladinové). Inicializace 82C55A nastavení směru přenosu Portu A, nastavení Mode 1, povolení v 82C55A. Zahájení přenosu nastavení ukazatele na data, povolení /IRQ7. Přenos dat Inicializace přerušovacího systému Inicializace 82C55A Zahájení přenosu Poznámka: Pro použijeme vstup /IRQ7. K 21 Přerušovací vektory u H8S Přerušovací vektory jsou umístěny na začátku paměti. Přerušení IRQ7 má číslo 23 (0x17). Vektor pro IRQ7 je na adrese 0x0000005C. 22

Registry pro řízení H8S (1) Registry jsou mapovány do paměťového adresního prostoru. 23 Registry pro řízení H8S (2) IPRC (Interrupt Priority Register C) 24

Registry pro řízení H8S (2) IPRC (Interrupt Priority Register C) 25 Registry pro řízení H8S (3) IER (Interrupt Enable Register) 26

Registry pro řízení H8S (4) ISCRH (Interrupt Sense Control Register H) 27 Inicializace přenosu (1) Inicializace přerušovacího systému nastavení přerušovacího vektoru, nastavení priorit IPR a EXR, nastavení typu /IRQ7 (hladinové). Inicializace 82C55A nastavení směru přenosu Portu A, nastavení Mode 1, povolení v 82C55A. Zahájení přenosu nastavení ukazatele na data, povolení /IRQ7. Přenos dat Inicializace přerušovacího systému Inicializace 82C55A Zahájení přenosu Poznámka: Pro použijeme vstup /IRQ7. K 28

Inicializace přenosu (2).equ BASE55, 0x600000 ;bazova adresa 82C55A.equ PA55, BASE55 ;Port A.equ PB55, BASE55+1 ;Port B.equ PC55, BASE55+2 ;Port C.equ CTRL55, BASE55+3 ;Ridici registr... TEXT:.asciz AHOJ ;text pro tisk + 0x00... START: JSR @INIT_IRQ7 ;inicializace prerus.syst. JSR @INIT55 ;inicializace 82C55A JSR @OPEN_P ;zahajeni prenosu... 29 Inicializace přenosu (3) INIT_IRQ7: MOV.L #SERV_7,ER0 ;prerusovaci vektor MOV.L ER0,@0x0000005C ;na spravne misto ; MOV.B @ISCRH,R0L ;typ preruseni AND.B #0x3F,R0L ;[7..6]=00 -> hladinove MOV.B R0L,@ISCRH ;zapis ; MOV.B @IPRC,R0L ;priorita AND.B #0x0F,R0L ;nulovani [7..4] OR.B #0x40,R0L ;priorita IPR = 4 MOV.B R0L,@IPRC ;zapis ; LDC.B #0x03,EXR ;priorita EXR = 3 RTS 30

Inicializace přenosu (4) INIT55: MOV.B #0xAF,R0L ;PA Output Mode 1 MOV.B R0L,@CTRL55 ;zapis do 82C55A MOV.B #0x0D,R0L ;1 -> PC6 (povol.int.) MOV.B R0L,@CTRL55 ;zapis do 82C55A RTS ; OPEN_P: MOV.L #TEXT,ER6 ;adresa textu do ER6 MOV.B @IER,R0L ;povoleni IRQn OR.B #0x80,R0L ;IRQ7 povoleno MOV.B R0L,@IER ;zapis RTS 31 Obsluha od 82C55A (1) Přerušení Není-li konec přenosu: zápis dalšího znaku, posun pointeru. Na konci přenosu: zákaz v 82C55A, zákaz /IRQn v CPU. Zápis/čtení znaku - Konec přenosu? + Deaktivace 82C55A Zákaz IRQn K 32

Obsluha od 82C55A (2) SERV_7: PUSH R0 ;ulozeni R0 MOV.B @ER6,R0L ;dalsi znak BNE LAB01 ;neni konec ; MOV.B #0x0C,R0L ;0 -> PC6 (zakaz.int.) MOV.B R0L,@CTRL55 ;zapis do 82C55A MOV.B @IER,R0L ;povoleni/zakaz IRQn AND.B #0x7F,R0L ;IRQ7 zakazano MOV.B R0L,@IER ;zapis ; Zde by měla být indikace konce přenosu operačnímu systému apod. BRA LAB02 ;na konec ; LAB01: MOV.B R0L,@PA55 ;zapis znaku do PA INC.L ER6 ;posunuti pointeru LAB02: POP R0 ;obnoveni R0 RTE ;navrat 33 Vnořená Obslužný program je znovu přerušen při akceptování se nastaví IPR EXR, tj. další musí mít vyšší prioritu než právě obsluhované, po dokončení obsluhy druhého pokračuje obsluha prvního. EXR = 2 IPR EXR EXR = 3 asynchronní událost IPR = 3 asynchronní událost IPR = 5 IPR EXR asynchronní událost IPR = 6 EXR = 5 IPR EXR asynchronní událost IPR = 5 EXR = 6 34

Vnější řadič Vnější řadič obsahuje masky pro jednotlivá vnější, řadí vnější podle priorit. Při aktivitě některého IRQ: 1. Je aktivní IRQn. 2. Je-li IRQn v řadiči povoleno, generuje řadič signál INT do procesoru. 3. Jsou-li v procesoru povolena, vyšle procesor signál INTA (Interrupt Acknowledge). 4. Řadič vyšle na sběrnici vektor s identifikací akceptovaného IRQ. CPU Řadič IRQ0 INT INTA 2 3 INT INTA IPR IER ISR IRQn 1 4 Přerušovací vektor Sběrnice 35 V/V operace a úlohy v OS (1) V/V operace obvykle řídí ovladače, které jsou součástí OS. Úloha musí OS požádat o provedení V/V přenosu (voláním služeb OS). Běžící úloha Úloha 1 Operační systém Čekající úlohy: čekají na dokončení V/V operace (nebo na jinou událost). Připravené úlohy: jsou schopné spuštění, čekají jen na procesor. Požadavek na V/V operaci Ovladač V/V Úloha 2 Úloha 3 Úloha 4 Úloha 5 Připravené úlohy Čekající úlohy 36

V/V operace a úlohy v OS (2) Úloha, která čeká na dokončení V/V operace, je zařazena mezi čekající úlohy. OS spustí některou z připravených úloh. Běžící úloha Úloha 4 Operační systém Ovladač obsluhuje Spuštěna připravená úloha Ovladač V/V Přerušení Úloha 2 Úloha 3 Úloha 5 Úloha 1 Úloha 1 je čekající Připravené úlohy Čekající úlohy 37 V/V operace a úlohy v OS (3) Po dokončení V/V operace zařadí OS úlohu mezi připravené. Běžící úloha Úloha 4 Operační systém Ovladač indikuje konec přenosu Úloha 1 je připravená Ovladač V/V Úloha 1 Úloha 2 Úloha 3 Úloha 5 Připravené úlohy Čekající úlohy 38