Bevezetés a számítástechnikába



Hasonló dokumentumok
Architektúra, megszakítási rendszerek

Az operációs rendszer szerkezete, szolgáltatásai

Az interrupt Benesóczky Zoltán 2004

Mikrorendszerek tervezése

Máté: Assembly programozás

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Mechatronika és mikroszámítógépek. 2018/2019 I. félév. Külső megszakítások

Aritmetikai utasítások I.

Megszakítási rendszer

A Számítógépek hardver elemei

A Számítógépek hardver elemei

Mikrokontrollerek. Tihanyi Attila május 8

Assembly. Iványi Péter

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

OPERÁCIÓS RENDSZEREK. Elmélet

1. Az utasítás beolvasása a processzorba

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Informatika érettségi vizsga

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Jelfeldolgozás a közlekedésben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

IT - Alapismeretek. Feladatgyűjtemény

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

Bevezetés a számítástechnikába

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

A MiniRISC processzor

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Az MSP430 energiatakarékos használata

Számítógépek felépítése

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

A megszakítási rendszer

Dr. Illés Zoltán

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

A Számítógépek felépítése, mőködési módjai

A 32 bites x86-os architektúra regiszterei

Processzorok Utasításszintű Kezelése tavasz

SzA19. Az elágazások vizsgálata

Számítógép architektúrák

ISA szimulátor objektum-orientált modell (C++)

Programozás alapjai. 10. előadás

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Számítógép felépítése

Az integrált áramkörök kimenetének kialakítása

16F628A megszakítás kezelése

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Operációs rendszerek MINB240

Járműfedélzeti rendszerek I. 4. előadás Dr. Bécsi Tamás

Számítógépek felépítése, alapfogalmak

Az egér, a botkormány (joystick) és a nyomtató programozása DOS-ban

ARM Cortex magú mikrovezérlők

Megszakítási rendszer

Digitális rendszerek. Utasításarchitektúra szintje

Assembly Utasítások, programok. Iványi Péter

SZÁMÍTÓGÉPARCHITEKTÚRÁK

Processzor (CPU - Central Processing Unit)

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Központi vezérlőegység

DSP architektúrák dspic30f család

Vé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread

Virtualizációs Technológiák Bevezetés Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Perifériák hozzáadása a rendszerhez

MPLAB IDE - SIM - - Rövid ismertető a használathoz - Kincses Levente 3E22 89/ November 14. Szabadka

MSP430 programozás Energia környezetben. Az I/O portok kezelése

Assembly. Iványi Péter

Kivételkezelés a C++ nyelvben Bevezetés

Mikrorendszerek tervezése

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

386 processzor címzés

Máté: Számítógép architektúrák

Adatelérés és memóriakezelés

5. tétel. A számítógép sematikus felépítése. (Ábra, buszok, CPU, Memória, IT, DMA, Periféria vezérlő)

Bemutatás. Elrendezés. Leírás. Műszaki adatok. Funkciók

Operációs rendszerek. Bemutatkozás

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Programozás alapjai Bevezetés

Stack Vezérlés szerkezet Adat 2.

Információs Technológia

A mikroszámítógép felépítése.

Hardver Ismeretek IA32 -> IA64

Utolsó módosítás:

Digitális technika VIMIAA hét

Operációs rendszerek. Az NT folyamatok kezelése

Alapismeretek. Tanmenet

Az AVR ATmega128 mikrokontroller

Bevezetés a számítástechnikába

A ChipScope logikai analizátor

Az vevő- és vezérlőáramkör programja

Információs Technológia

Alapismeretek. Tanmenet

DSP architektúrák dspic30f család memória kezelése

Assembly programozás levelező tagozat

A 6502 mikroprocesszor

Operációs rendszerek Folyamatok 1.1

Digitális technika VIMIAA hét

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Az MSP430 mikrovezérlők digitális I/O programozása

Pénzügyi algoritmusok

Átírás:

Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9.

Bevezetés Megszakítások Bevezetés Számítógép működése: program igényeknek megfelelően használja a különböző erőforrásokat (I/O eszközök, processzor, tár) Kezdetben: 1 prog fut 1 erőforrást használ egyszerre A gép többi rész kihasználatlan Korai korszakban megoldás: Több program fut a gépen, amelyek más-más erőforrásokat igényelnek Javult a kihasználtság Probléma: több program ne használja egyszerre ugyanazt az erőforrást (Különösen a CPU-t!) Megoldás: Futó programokat megszakítása, ha más fontosabb (nagyobb priorítású) program igényli az erőforrást Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 2 / 18

Egymást megszakító programok Bevezetés Nagyobb számítógép több száz program is futhat párhuzamosan, amit koordinálnia kell a rendszernek: 1. programot megszakítja 2., 2.-t a 3... vezérlésátadás Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 3 / 18

Bevezetés Megszakítások Bevezetés További ok a megszakítások alkalmazására: Éppen futó rendszer (például: I/O műveletet hajt végre) HW vagy SW hiba kezelése Vezérlés átadás hibakereső programnak. Hibakezelés után (pl. végzett, vagy megszűnt az azt létrehozó hatás) visszaadja a vezérlést annak a programnak, amelyiket megszakította Tudnia kell hol szakadt meg a program (pl. következő utasítás címe) Program megszakítása Nem a futó program váltja ki Utasítás végrehajtás közben is jelentkezhet Futó utasítás NEM szakad meg, HW tárolja az igényt Státuszregiszterben állapot (PSW - Program Status Word) utasítás végrehajtásakor automatikusan képződik. Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 4 / 18

Megszakítási módszerek Megszakítási módszerek csoportosítása Módszer alapján Vezérlés átadása meghatározott címre (software polling) (1 megszakitási rutin) (kisebb µc) Vezérlés átadása meghatározott címekre (hardware polling) (Több megszakitási rutin) Vektoros megszakítás (Megszakítást kérő egység azonosítja a megszakítást) Szintek alapján Egyszintű Többszintű Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 5 / 18

Megszakítási módszerek Egyszintű megszakítás példa (PIC 16F87x) #pragma origin 4 interrupt serverx( void) { int_save_registers // W, STATUS (and PCLATH if required) char sv_fsr = FSR; // save FSR if required if ((INTF) (RBIF)) { INTF=0; RBIF=0; } //End INTF RBIF if (T0IF) // Timer 0 { if ((--T0Counter_Timeout) == 0) { if (PORTE.0) PORTE.0=0; else PORTE.0=1; } TMR0=MOD_TMR0INI; T0IF=0; } // End Timer 0 if (RCIF) { RCIF=0; RS422WRITE = RS422WRITE_DIS; } //End Recieve Byte FSR = sv_fsr; // restore FSR if saved int_restore_registers // W, STATUS (and PCLATH if required) } Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 6 / 18

Megszakítások végrehajtása Megszakítási módszerek Egyszintű megszakítás végrehajtása Többszintű megszakítás végrehajtása Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 7 / 18

Megszakítások maszkolása Megszakítási módszerek Feladata Megszakítások engedélyezése Megszakítások tiltása Megvalósítási mód Megfelelő regiszterek beállításával Az összes regiszter tiltása (általában külön CPU utasítás van rá) Tilthatóság alapján való osztályozás Maszkolható Nem maszkolható Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 8 / 18

Megszakítások generálásának módja Megszakítási módszerek Hardware által generált Valamilyen hardware esemény váltja ki Például: Normál működés: I/O események (adatátvitel vége) Hibás működés: 0-val való osztás, HW hiba Software által generált A felhasználó vagy az operációs rendszer által kért Például: Operációs rendeszer meghívása, ROM BIOS meghívása Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 9 / 18

Megszakítás okai Megszakítások Megszakítási módszerek 1 Megszakítás keletkezése 2 PSW régi PSW (tárba íródik) OK melyik rekesz 3 Minden megszakítás megszakítás kezelő programkód aktiválódik, meghatározza a szükséges műveleteket. Megszakítás kezelő programkód befagyasztott PSW-je PSW 4 Megszakításkezelő programkód végrehajtódik 5 Megszakításkezelő progogramkód beolvassa a régi PSW-t 6 PSW visszaadja a vezérlést a megszakított programnak Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 10 / 18

Megszakítások végrehajtása (x86) Az x86 megszakítási rendszere Megszakításkezelést támogató utasítások INT Call to interrupt INTO Call to interrupt if overflow IRET Return from interrupt CLI Clear interrupt flag STI Set interrupt flag Megszakítási vektor táblája Megszakítási rutin(ok) Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 11 / 18

PSW (Program Status Word) Az x86 megszakítási rendszere 0-7 bit rendszermaszk 8-11 bit kulcs 12-15 bit A M W P bitek 16-31 bit programmegszakítás kódja 32-34 bit utasításhossz 35-36 bit feltételkód 37-39 bit programmaszk 40-63 bit következő ut. címe rendszermaszk: programfutás közben igény, hogy bizonyos típusú igények ne tudják megszakítani Kulcs: numerikus érték, op.rendszer ennek segítségével tárkulcsot képez, ami védi a program tárterületét, így másik program nem tud ide írni. Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 12 / 18

PSW (Program Status Word) Az x86 megszakítási rendszere AMWP A: használt kód (ASCII/EBCDIC) M: tiltja a HW hiba miatti megszakítást (Machine Check) W: jelzi, h a proc üres-e, várakozik/utasítást hajt-e végre (Wait) P: vezérlőegység állapota (Problem) megoldó állapot (problem) felügyelő program (supervisor) Megszakítókód: Megszakítás kódja (hiba, vezérlésátadás) a CPU tudja mit kell tennie Utasításhosszkód: Tartalma az éppen futó utasítás hossza byteban esetleges hibás utasításvégrehajtás CPU ki tudja számítani, honnan lehet újra betölteni az utasítást Feltételkód: utasítások, amik feltételt értékelnek ki, feltétel teljesülésével függ a következő utasítás kiválasztása CMP utasítás (komparálás) eredménye bitkombináció (összetett feltétel (, )) nem minden utasítás állítja be Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 13 / 18

Az x86 megszakításrendszere Az x86 megszakítási rendszere Jelző bitek (flag): (carry, parity, aux.carry, zero, sign, overflow...) Gépi státusz szó: PE (Protected Enable): védett mód engedélyezés 0 valós címzési módban működik 1 aktív védett mód MP (Monitor Processor Extension): társprocesszor felügyelet EM (Emulate Processor Extension): társprocesszor emuláció TS (Task Switch): Taskváltás (automatikusan beállítódik, ha taskváltás művelet hajtódik végre) IP (Instruction Pointer): külön van a programállapot szótól! A megszakításkezelő programkódok száma maximum 256 (PC esetén) Címük a memória legelején (1024 bájt (0-400h) megszakítási vektortábla) (operációs rendszer tölti fel). 1 elem 4 byte 2 relatív cím Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 14 / 18

A x86-os megszakításai (részlet) Az x86 megszakítási rendszere Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 15 / 18

DOS megszakítás funkciói (részlet) Az x86 megszakítási rendszere Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 16 / 18

Az x86 megszakítási rendszere DOS megszakítás példa (képernyőre írás) Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 17 / 18

Az x86 megszakítási rendszere DOS megszakítás példa (file megnyitás) (részlet) Fodor Attila (Pannon Egyetem) Bevezetés a számítástechnikába 2010. november 9. 18 / 18