Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Prerušovací systém počítača
2
Komunikácia procesora s okolím
Potreba reakcie na rôzne situácie Riešenie situácie okamžite alebo s oneskorením Pridelenie priority jednotlivým riešeniam Spôsoby komunikácie : Priamo – I/O inštrukciami cez I/O porty Prerušením – hardwerová žiadosť periférie DMA prenosom – bez účasti procesora na prenose
3
Spôsoby komunikácie - priamo
inštrukčná sada určitého procesora obsahuje inštrukcie, ktoré umožňujú čítať procesoru vstupné informácie z periférií cez vstupné porty, na ktoré sú pripojené nejaké periférie( inštrukcie vstupu, IN adresa portu). Rovnako existujú inštrukcie, pomocou ktorých je možné, aby procesor vyslal údaje na príslušné periférne zariadenie( inštrukcie výstupu, OUT adresa portu) cez výstupný port. Veľmi často sa používajú tzv. obojsmerné ( I/O porty) programovateľné porty, u ktorých je možné programove určiť smer toku dát.
4
Spôsoby komunikácie - prerušením
Prerušením sa rozumie doslova prerušenie vykonávania inštrukcií hlavného programu procesorom. Dôvody prerušenia činnosti procesora : hlásenie pripravenosti periférie na prenos údajov pri ukončení činnosti periférie pri objavení sa výpadku napájania po uplynutí určitého časového intervalu
5
Spôsoby komunikácie - prerušením
Činnosť procesora pri prerušení : Po prijatí požiadavky o prerušenie procesorom sa pozastaví vykonávanie inštrukcií (hlavný program) a riadenie sa odovzdá programu, ktorý sa nazýva obslužný podprogram prerušenia. Po vykonaní obsluhy danej periférie, t.j. po skončení podprogramu pre obsluhu prerušenia sa riadenie vráti na adresu nasledujúcu po adrese, na ktorej bolo prerušenie vyvolané a procesor pokračuje vo vykonávaní ďalších inštrukcií hlavného programu
6
Spôsoby komunikácie - prerušením
Rozdelenie prerušovacích systémov : jednoúrovňový – pri akceptovaní požiadavky na prerušenie, t.j. po prechode na obslužný podprogram prerušenia, nie je možné tento podprogram prerušiť akceptovaním ďalšej požiadavky o prerušenie. Ďalšia požiadavka o prerušenie môže byť spracovaná až po návrate do hlavného programu. viacúrovňový – umožňuje prerušiť práve prebiehajúci obslužný podprogram iným podprogramom, ktorého riešenie je naliehavejšie. Vtedy jednotlivé žiadosti o prerušenie prichádzajú do obvodu riadenia priority prerušení ( napr. Intel 8259 ), odkiaľ sa daná žiadosť o prerušenie generuje iba vtedy, ak priorita prichádzajúcej žiadosti je vyššia ako práve spracovávaná. Vtedy hovoríme o vnorených podprogramoch obsluhy prerušenia.
7
Spôsoby komunikácie - prerušením
Druhy prerušenia podľa jeho zdroja : hardverové – (externé ) jednotlivé periférie majú k dispozícii výstupný signál IRQ (Interrupt Request), ktorým môžu požiadať procesor, aby sa im venoval, t.j, aby ich obslúžil. Procesor má preto k dispozícii vstup INT, na ktorý táto požiadavka ( tento signál ) o prerušenie príde. softverové – ( interné ) po uplynutí určitého časového intervalu, ktorý je realizovaný a sledovaný napr. vnútorným časovačom, dôjde ku generovaniu požiadavky na prerušenie. Vnútorný časovač ( systémový časovač) je naprogramovaný na daný časový interval a počíta impulzy generátora systémových hodín. Rovnako je možné vyvolať softverové prerušenie pomocou inštrukcie INT n
8
Spôsoby komunikácie - prerušením
Druhy hardverového prerušenia : NMI ( Non Mascable Interrupt ) – nemaskovateľné prerušenie, nie je ho možné zakázať a má najvyššiu prioritu. Používa sa na ošetrenie havarijných stavov v systéme a iných dôležitých funkcií systému INTR ( Mascable Interrupt ) – maskovateľné prerušenie, ktoré je možné programove zakázať (zamaskovať) alebo povoliť. Tento vstup procesora je budený práve výstupom programovateľného radiča prerušení (8259 PIC – Programmable Interrupt Controller), pomocou ktorého je možné upravovať prioritu niektorých prerušení a masku prerušení. V súčasnosti je kontrolér 8259 alebo jeho klon súčasťou čipovej sady procesora.
9
Spôsoby komunikácie - prerušením
Druhy hardverového prerušenia : Maska prerušení - Zakázanie, resp. povolenie jednotlivých prerušení sa vykonáva pomocou masky prerušení, kde určujúcou je hodnota jednotlivého bitu (0 –zablokuje, 1-povoľuje ) pre konkrétnu požiadavku o prerušenie. Prerušenie ako také je možné tiež zakázať alebo povoliť softverove inštrukciou DI (Disable Interrupt), EI (Enable Interrupt). Pravidlo priority prerušení – prerušenie s vyššou prioritou môže prerušiť podprogram obsluhy s nižšou prioritou, prerušenie s nižšou prioritou nemôže prerušiť obslužný podprogram s vyššou prioritou. V prípade súčasného výskytu viacerých požiadaviek na prerušenie, podľa nastavenej priority radič prerušenia rozhodne, ktorá žiadosť o prerušenie bude obslúžená ako prvá.
10
Spôsoby komunikácie - prerušením
Vývoj prerušovacieho systému PC PC –XT ... NMI, IRQ0 – IRQ7 => 8 vstupov hardverového prerušenia ( 1x radič prerušenia 8259 ) PC – AT ...NMI, IRQ0 – IRQ15 => 15 vstupov hardverového prerušenia ( 2x radiče 8259 v kaskádovom zapojení ) V počítačoch so zbernicou PCI je každému slotu PCI priradené prerušenie s označením INT#A, INT#B, INT#C, INT#D. Tieto prerušenia sú operačným systémom presmerované na štandardné vektory IRQxx , kde číslo xx môže byť aj väčšie ako 15.
11
Hardverové prerušenie Kaskádovité zapojenie radičov 8259
12
Hardverové prerušenie
IRQ 0 Radič systémového času ( časovač ) IRQ 1 Radič klávesnice IRQ 2 kaskádovité pripojenie radičov z I/O rozhraní (IRQ 8 až IRQ 15) IRQ 3 COM2 Sériový port 2 IRQ 4 COM1 Sériový port 1 IRQ 5 Paralelní port 2 IRQ 6 radič diskiet IRQ 7 LPT1 paralelný port 1 IRQ 8 Hodiny reálného času IRQ 9 VGA,SVGA, videokarta, sieťová karta alebo voľné IRQ 10 Voľné IRQ 11 Voľné IRQ 12 PS/2 myš alebo voľné, IRQ 13 Numerický koprocesor IRQ 14 Radič pevného disku – primárny kanál EIDE IRQ 15 Radič pevného disku – sekundárny kanál EIDE
13
Spôsoby komunikácie - prerušením
Identifikácia zdroja prerušenia : pomocou registra prerušení –jednotlivé žiadosti o prerušenie sa zapisujú do IRR ( Interrupt Request Register) registra a súčasne je generovaný signál INT. Procesor potom prečíta obsah IRR registra a testovaním jednotlivých bitov registra zistí, ktorá periféria žiada o prerušenie. Vektorové prerušenie – každému zdroju prerušenia je priradená pevná adresa ( vektor prerušenia ), na ktorú v prípade prijatia tejto požiadavky procesor odskočí a začne vykonávať obslužný podprogram tam uložený ( alebo je tam umiestnený iba príkaz skoku na podprogram obsluhy ).
14
Spôsoby komunikácie - prerušením
Softverové prerušenie Tieto prerušenia sa inicializujú pomocou inštrukcie INT XY, kde číslo XY je ukazateľom do tabuľky vektorov prerušenia. Softverové prerušenia umožňujú : Operačnému systému využívať služby BIOSu pre prístup ku HW zariadeniam a ich spravovanie Aplikáciám využívať služby oper.systému a komunikovať s ovládačmi HW zariadení Ovládačom komunikovať so zariadeniami prostredníctvom IRQ mapovaných na INT
15
Softverové prerušenie
Služby BIOSu : INT 10h – obsluha zobrazovacej jednotky INT 17h– obsluha tlačiarne ( LPT) INT 16h – obsluha klávesnice Služby OS: INT 20h – ukončenie programu INT 21h – hlavná skupina služieb INT 22h – špeciálne služby
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.