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í

Podobné dokumenty
Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Služby ROM BIOS a BootROM

Fakulta informačních technologií, VUT v Brně Ústav počítačových systémů Personální počítače, technická péče, cvičení. Sběrnice ISA

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Technika personálních počítačů, cvičení ITP Služby ROM BIOS a BootRom

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

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

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

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

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

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.

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

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

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

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

Komunikace procesoru s okolím

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.

Mikrokontroléry. Doplňující text pro POS K. D. 2001

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

Metody připojování periferií

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

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

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

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

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

Adapter ROM BIOS. 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í

požadovan adované velikosti a vlastností Interpretace adresy POT POT

Pokročilé architektury počítačů

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

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

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

SEKVENČNÍ LOGICKÉ OBVODY

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Systém řízení sběrnice

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

PROGRAMOVATELNÉ LOGICKÉ OBVODY

Registrový model HDD

TECHNICKÝ POPIS MODULU GRAFIK =============================

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

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

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

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

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

Program "Světla" pro mikropočítač PMI-80

Pohled do nitra mikroprocesoru Josef Horálek

Paměťový podsystém počítače

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

Návod k obsluze výukové desky CPLD

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

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

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

Použití programovatelného čítače 8253

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

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

SuperCom. Stavebnice PROMOS Line 2. Technický manuál

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

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ý.

KONSTRUKCE SBĚRNICE PCI

Metody připojování periferií

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

O čem bude předmět X36PZ A?

Uživatelská příručka

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

FPGA + mikroprocesorové jádro:

Návrh konstrukce odchovny 2. dil

Manuál přípravku FPGA University Board (FUB)

Logická organizace paměti Josef Horálek

Vstupně - výstupní moduly

Obecné principy konstrukce systémové sběrnice

Návrh ovládání zdroje ATX

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

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

Dekódování adres a návrh paměťového systému

ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV

G R A F I C K É K A R T Y

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

Jednočipové mikropočítače (mikrokontroléry)

Způsoby realizace této funkce:

Technické prostředky počítačové techniky

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.

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

Maticová klávesnice. Projekt do předmětu Subsystémy PC. Brno, Tomáš Kreuzwieser, Ondřej Kožín

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.

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

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

Administrace počítačových sítí. WEB a LPT

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

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

FREESCALE TECHNOLOGY APPLICATION

Procesor z pohledu programátora

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Programování PICAXE18M2 v Assembleru

Zadání semestrálního projektu PAM

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

UniPi 1.1 Lite Technologická dokumentace

D/A převodník a generování zvuku

Jak studovat systémovou sběrnici

Systém adresace paměti

Jak do počítače. aneb. Co je vlastně uvnitř

Cíl přednášky: Obsah přednášky:

Transkript:

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í 5 Přerušení na PC Zadání Seznamte se s konstrukcí cvičné zásuvné adaptérové desky do PC, zejména pak s konstrukcí generátoru přerušení. Vytvořte a odlaďte rezidentní program včetně obslužné rutiny hardwarového přerušení, který bude vhodným způsobem demonstrovat událost příchodu přerušení z adaptérové desky. Blokové schéma adaptérové desky sběrnice ISA datová sběrnice adresní sběrnice řídící signály IOR IOW AEN MEMW A 0..A 9, A 16..A 19 74245 obousměrný oddělovač datové sběrnice GAL20V8 vnitřní datová sběrnice G CS G CS SEG CS DIP CS CFG CS RAM Q 0 74573 SEG záchytný obvod displejů 74541 DIP oddělovač DIP přepínačů 74573 CFG obvod nulování žádosti o přerušení 62256 RAM A 0..A 14 volatile paměť 32KB řídící signály MEMR MEMW IRQ RS KLO R S TLAČÍTKO OE WE 1

Detailní schéma adaptérové desky 2

Adaptérová deska Adaptérová deska ISA 1 obsahuje následující: programovatelný adresový dekodér (GAL20V8 2 ) paměť RAM (32KB, 32768 8b, IO 62256) vstupní port DIP spínačů výstupní port LED segmentového displeje výstupní port potvrzení hardwarového přerušení tlačítko pro generování hardwarového přerušení Výstupní port potvrzování hardwarového přerušení je na adrese 300h, výstupní port LED segmentového displeje má adresu 301h, vstupní port DIP spínačů má adresu 302h. Paměť RAM je v segmentu D000h. Adresový dekodér Jádrem adresového dekodéru je programovatelná součástka typu GAL20V8. Na její vstupy je přivedena část adresové sběrnice a několik řídicích signálů. Z přivedených signálů je možné odvodit vnitřní řídicí signály adaptérové desky a vybírat jimi jednotlivé obvody desky. Vstupní signály Výstupní signály A 0 -A 9 adresové vodiče CS SEG aktivace LED displeje A 16 -A 19 adresové vodiče CS CFG aktivace potvrzování IOR čtení ze vstupního portu CS DIP aktivace DIP spínačů IOW zápis na výstupní port CS RAM aktivace paměti MEMW zápis do paměti AEN address enable 1 ISA = Industry Standard Architecture, 16bitová sběrnice pro PC AT, navržená v roce 1984 2 programovatelné logické pole, EECMOS 3

Z důvodů omezeného počtu vstupů programovatelné součástky GAL20V8 přivedena do adresového dekodéru celá adresová sběrnice. Přivedené adresové vodiče postačují pro bezkonfliktní adresování. Periferie mapované u osobních počítačů do V/V 3 adresového prostoru využívají totiž pouze prvních deset adresových vodičů adresové sběrnice. Protože adaptérová deska obsahuje i paměť RAM, jsou na vstup adresového dekodéru přivedeny i adresové vodiče A 16 až A 19. Z řídicích signálů sběrnice ISA jsou do adresového dekodéru přivedeny signály IOR, IOW, MEMW a AEN, které jsou aktivní v úrovni L. Signály IOR a IOW odlišují čtecí a zápisový cyklus sběrnice ISA při přístupu k V/V portům na desce zápis je možný do registru ovládajícího display a do registru potvrzení přerušení, čtení je možné z registru na jehož vstupech jsou přepínače. Signál MEMW není na vstup adresového dekodéru přiveden, jak by se mohlo na první pohled zdát, k ošetření čtecích a zápisových cyklů do paměti RAM, ale pro možnost alespoň vyzkoušet mapování výstupních portů do paměťového prostoru počítače. Signál AEN je aktivní vždy, pokud jde o přístup procesoru k periferiím či paměti. Probíhá-li DMA přenos, je signál AEN neaktivní, adaptér se neaktivuje a tím není DMA narušen. Výstupní signály CS X slouží jako aktivační signály pro jednotlivé komponenty adaptérové desky. Vstupně/výstupní (V/V) porty Na adaptérové desce jsou dva výstupní a jeden vstupní port. Všechny mají šířku osm bitů. Na výstupním portu na adrese 301h jsou připojeny dva sedmisegmentové displeje LED s šestnáctkovými dekodéry. Tento port slouží jak k jednoduchému ověření funkce adresového dekodéru, tak i k demonstraci sběrnicového cyklu zápis na výstupní port. Data vložená na tento port jsou ihned zobrazena na displaji. Aby byla zapsaná hodnota zobrazena i po skončení sběrnicového cyklu, je tento port realizován osmibitovým registrem typu latch 74573. Druhý výstupní port na adrese 300h slouží jako port potvrzení (nulování) žádosti o přerušení. Krátkým nastavením nejnižšího bitu portu na hodnotu 0 se asynchronně vynuluje vzniklá žádost o přerušení. Poté se nejnižší bit portu musí nastavit opět do 1. Čtením vstupního portu na adrese 302h lze získat stav osmi přepínačů DIP. K realizaci tohoto portu použit pouze třístavový budič 74541. Paměť RAM Paměť RAM na desce má kapacitu 32KB. Jde o statickou paměť 32768 8 bitů (62256). Paměť lze číst i do ní zapisovat. Řídicí signály rozlišující druh sběrnicového cyklu (a tedy tok dat z nebo do paměti) jsou přivedeny přímo jako řídicí signály sběrnice ISA. Vzhledem k tomu, že adresový vodič A 15 není do adresového dekodéru zapojen, je paměť zrcadlena v obou polovinách 64KB segmentu. 3 V/V = vstupně/výstupní, v anglické literatuře input/output, I/O 4

Zdroj přerušení Zdrojem maskovatelného hardwarového přerušení (IRQ) je tlačítko, které je ošetřeno proti zákmitům. Požadavek na přerušení, generovaný stiskem tlačítka je uschován v klopném obvodu typu D. Sběrnice ISA reaguje na hladinu H na přerušovacím vodiči, proto je potřeba jako potvrzení obsluhy žádosti nulovat klopný obvod. K tomu je určen nejnižší bit druhého výstupního portu. Pomocí propojky na desce je možno volit různé číslo požadavku na přerušení. Na výběr je IRQ 3, 5 a 7. Omezení výběru plyne z mapy obsazení jednotlivých přerušovacích linek standardními periferiemi osobního počítače. Obvod GAL20V8 GAL20V8 je programovatelné logické pole s možností elektrického vymazání. GAL20V8 obsahuje 14 dedikovaných vstupních portů a 8 vstupně/výstupních portů pro vytváření logických funkcí. Na desce je GAL20V8 připojen následovně: pin typ pinu připojen I 0 (pin 1) vstupní A 0 adresy sběrnice ISA I 1 (pin 2) vstupní A 1 adresy sběrnice ISA I 2 (pin 3) vstupní A 2 adresy sběrnice ISA I 3 (pin 4) vstupní A 3 adresy sběrnice ISA I 4 (pin 5) vstupní A 4 adresy sběrnice ISA I 5 (pin 6) vstupní A 5 adresy sběrnice ISA I 6 (pin 7) vstupní A 6 adresy sběrnice ISA I 7 (pin 8) vstupní A 7 adresy sběrnice ISA I 8 (pin 9) vstupní A 8 adresy sběrnice ISA I 9 (pin 10) vstupní A 9 adresy sběrnice ISA I 10 (pin 11) vstupní A 10 adresy sběrnice ISA GND (pin 12) napájení GND sběrnice ISA OE/I 11 (pin 13) vstupní (invertovaný) MEMW sběrnice ISA I 12 (pin 14) vstupní IOR sběrnice ISA O 0 (pin 15) vstupně/výstupní (invertovaný) CS RAM O 1 (pin 16) vstupně/výstupní (invertovaný) CS DIP O 2 (pin 17) vstupně/výstupní (invertovaný) A 16 adresy sběrnice ISA O 3 (pin 18) vstupně/výstupní (invertovaný) CS CFG O 4 (pin 19) vstupně/výstupní (invertovaný) CS SEG O 5 (pin 20) vstupně/výstupní (invertovaný) A 17 adresy sběrnice ISA O 6 (pin 21) vstupně/výstupní (invertovaný) (A 18 AND A 19 ) ISA O 7 (pin 22) vstupně/výstupní (invertovaný) G (připojení datové sběrnice) I 13 (pin 23) vstupní IOW sběrnice ISA V CC (pin 24) napájení +5VDC sběrnice ISA 5

Přerušovací systém PC Na PC/AT je 15 linek hardwarového přerušení (IRQ) zapojených přes dva kaskádně spojené řadiče přerušení typu 8259. HW přerušení jsou mapována do 256ti vektorů přerušení (INT) procesorů Intel řady x86 podle následující tabulky: IRQ INT popis IRQ0 8 timer (55ms intervals, 18.2 per second) IRQ1 9 keyboard service required IRQ2 A slave 8259 or EGA/VGA vertical retrace IRQ8 70 real time clock IRQ9 71 software redirected to IRQ2 IRQ10 72 reserved IRQ11 73 reserved IRQ12 74 mouse interrupt IRQ13 75 numeric coprocessor error IRQ14 76 fixed disk controller IRQ15 77 reserved IRQ3 B COM2 or COM4 service required IRQ4 C COM1 or COM3 service required IRQ5 D fixed disk or data request from LPT2 IRQ6 E floppy disk service required IRQ7 F data request from LPT1 První (master) řadič přerušení 8259 obsluhuje IRQ0 až IRQ7, druhý (slave, u modelů AT) pak IRQ8-15. Řadiče jsou zapojeny do kaskády, slave řadič je připojen na master přes IRQ2, na ně je přesměrováno IRQ9. Každý řadič má dvě adresy v I/O prostoru. Pro řadič master je to 20h a 21h, pro slave pak A0h a A1h. Je důležité po obsloužení přerušení (nejlépe na konci obslužné rutiny) poslat na port 20h číslo 20h. Tím se dá řadiči najevo, že obsluha přerušení je u konce a může se tudíž vyvolat další. Povolení či zakázaní některé linky žádosti o přerušení se děje modifikací příslušného bitu na portu 21h. Má-li být přerušení povoleno, musí být příslušný bit nulován. Hodnoty ostatních bitů musí zůstat nezměněny! 6

Postup práce Pro vytvoření obsahu programovatelného pole GAL 1. nastudování zapojení vstupů a výstupů obvodu GAL dle detailního schématu 2. vytvoření PLD souboru s obsahem pole pro GAL 3. kompilace PLD v OrCADu na JED soubor 4. nahrání JED souboru do GAL přes programátor ELNEC (při vytahování čipu GAL používejte zelené kleště u programátoru) Pro ověření funkcí desky je možno vytvořit následující triviální programy 1. čítání na displeji program v cyklu zapisuje na výstupní port 301h hodnoty, které se zobrazují na displeji adaptérové desky 2. načítání stavů DIP program v cyklu načítá hodnoty z DIP přepínačů a zobrazuje je na monitoru, případně přímo na displeji adaptérové desky Pro vytvoření rezidentního programu, který bude obsluhovat hardwarové přerušení 1. úschova původního vektoru přerušení (nejlépe službou DOSu) 2. nastavení nového vektoru přerušení (nejlépe službou DOSu) 3. nulování D klopného obvodu zápisem nuly a následně jedničky na nejnižší bit výstupního portu 300h. 4. povolení přerušení v řadiči přerušení (adresa 21h) 5. povolení přerušení v procesoru (instrukce STI) 6. dále se program stane rezidentním (služba DOSu) 7. před případným odinstalováním rezidentu je třeba vrátit původní vektor přerušení Samotná obsluha hardwarového přerušení: 1. úschova ohrožených registrů, včetně segmentových, nejlépe na zásobník 2. samotná obsluha v tomto cvičném případě je dobré, aby se vyvolání obslužné rutiny nějak projevilo (pípnutí, výpis hlášení) 3. potvrzení obsluhy adapteru (krátké vynulování nejnižšího bitu na portu 300h) 4. potvrzení obsluhy přerušení řadiči přerušení 5. obnova uschovaných registrů 6. návrat z obslužné rutiny (instrukce IRET) nebo lépe předání řízení původní obslužné rutině (FAR JMP na uschovaný vektor) Použitelný software na PC Volkov commander (vc) nebo Norton commander (nc) Turbo Pascal 7 (compiler + IDE) Turbo Assembler a Tlink OrCAD (PLD) 7