Pertrauktys (Interrupts)

Slides:



Advertisements
Similar presentations
I/O Unit.
Advertisements

1 Interrupts INPUT/OUTPUT ORGANIZATION: Interrupts CS 147 JOKO SUTOMO.
INPUT/OUTPUT ORGANIZATION INTERRUPTS CS147 Summer 2001 Professor: Sin-Min Lee Presented by: Jing Chen.
Lecture 09: Interrupts & 8259.
Atmintinė.
created by :Gaurav Shrivastava
MICROPROCESSOR INPUT/OUTPUT
Lecture 09: Interrupts & The 80x86 IBM PC and Compatible Computers Chapter 14 Interrupts and the 8259 Chip.
Chapter 6: Computer Components Dr Mohamed Menacer Taibah University
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Chapter 3 : Top Level View of Computer Functions Basic CPU function, Interconnection, Instruction Format and Interrupt.
 The Programmable Interrupt Controller (PlC) functions as an overall manager in an Interrupt-Driven system. It accepts requests from the peripheral equipment,
INTERRUPTS. Topics to be discussed  8088/86 Hardware Interrupts pins 8088/86 Hardware Interrupts pins   Pin description Pin description.
Vaizdinė užduotis. Kuriose iš šių valstybių galima pamatyti tokius gyvenamuosius namus? Jemene Tanzanijoje Mongolijoje Indonezijoje A B C D 1.
Network address translation Tinklo adresų vertimas
Unit Microprocessor.
COURSE OUTCOMES OF Microprocessor and programming
68HC11 Interrupts & Resets.
Microprocessor Systems Design I
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: Internal fault (e.g.. divide by.
Introduction to the processor and its pin configuration
Interrupts In 8085 and 8086.
BVM Engineering College Electrical Engineering Department : Microprocessor and Microcontroller Interfacing Interrupts of 8051 Prepared by:
8259-programmable interrupt controller
Presentation On 8259 Made by Md Shabbir Hasan.
Programmable Interrupt Controller 8259
Programmable Interrupt Controller 8259
Interrupt.
Funkcijos R.
Darbą parengė: Viktorija Drūteikaitė IT2
SSGG (SWOT): Organizacijos stiprybės ir silpnybės, galimybės ir grėsmės (nustatymas, grupavimas, vertinimas, rezultatas) Pagrindinė literatūra: Lietuvos.
MAUDYKLŲ VANDENS KOKYBĖS STEBĖSENOS
Robert Andruškevič AT27D.   Tai yra operacinė sistema, daugiausia naudojama išmaniuosiuose telefonuose, nors ją galima įdiegti ir kituose mobiliuosiuose.
CLIL, MY OPEN WINDOW ON THE WORLD AROUND ME
Video kūrimas su Windows Movie Maker 2.0
Kompiuterio sandara, programinė įranga
CC BY-SA mascil consortium 2014
Pagrindinės sąvokos Hipertekstas ir multimedija
Atliko: Jokūbas Rusakevičius VU MIF PS 3k 3g
Daiktavardis Dalykas, ugdymo sritis: Tema: Klasė: Priemonės paskirtis:
JavaScript kalbos apžvalga
Įvestis.
IPod MENIU.
Gijos (Threads) Java kalboje
Paprasti skaičiavimai. Uždavinių sprendimas
HIPERTEKSTINĖS TECHNOLOGIJOS
Kas yra arduino ? Parengė:Karolis Šumskis ir Mokytoja ekspertė Elena Šišenina.
Failai ir jų tvarkymas.
Computer System Overview
Programų sistemų gyvavimo ciklo procesai
Tekstiniai uždaviniai
Interrupts Interrupt is a process where an external device can get the attention of the microprocessor. The process starts from the I/O device The process.
Virtualus kompiuteris
Funkcijos 9 paskaita.
Operacinė sistema Testas 9 klasė
VANDEX SUPER Hidroizoliacinis sluoksnis
Studijų pasirinkimas Lietuvoje ir užsienyje: ką svarbu žinoti?
Windows Ribbon Framework
X1 & X2 These are also called Crystal Input Pins.
8259 Programmable Interrupt Controller
COMPUTER PERIPHERALS AND INTERFACES
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Computer System Overview
Programmable Interrupt Controller (PIC)
COMP3221: Microprocessors and Embedded Systems
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Pertrauktys (Interrupts)

Petrauktys (Interrupts) Pertrauktys yra mechanizmas, kuriuo naudodamiesi įvairūs kompiuterio įrenginiai ir programos atkreipia CPĮ dėmesį, reikalaudami juos aptarnauti.

Pertraukčių klasės Programinės pertrauktys. Jos generuojamos, susidarius tam tikroms sąlygoms, vykdant instrukciją, pvz: dalyba iš nulio, aritmetinė perpilda ir pan. Laikmačio (timer) Generuoja laikmatis, CPĮ nedalyvaujant. Taip pertrauktys. sistema atlieka tokias periodines funkcijas, kaip operatyviosios atminties regeneravimas ir pan. Į/I pertrauktys. Į/I valdiklis signalizuoja apie užduoties baigimą ar klaidą. Techninės įrangos Generuojamos, esant avarijoms arba gedimams, gedimo pertrauktys. pvz. atminties lyginumo (parity) klaida. Pertrauktys didina instrukcijų apdorojimo efektyvumą. Be jų CPĮ turėtų šimtus ir tūkstančius ciklų laukti, kol spaudintuvas baigs spausdinti ir pan.

Instrukcijos ciklas su pertrauktimis Pertrauktį paprastai apdoroja operacinė sistema.

Valdymo keitimas vykdant pertrauktis Pertrauktis: IRQ signalas iš Į/I modulio ->CPĮ CPĮ stabdo programą, įsimena kontekstą ir iškviečia pertraukties apdorojimo procedūrą (interrupt handler). Vartotojo programoje nėra kodo, susijusio su pertrauktim (jis patalpintas atskirai ir nurodomas pertraukties vektoriumi). Programos stabdymą ir atnaujinimą tame pačiame taške užtikrina CPĮ ir operacinė sistema, naudojant atmintinės elementus.

Pertrauktimis valdomos procedūros • skirtingos pertraukčių linijos; programinis sąrašas; •  deizi (daisy) grandinės (dar vadinama techninės įrangos sąrašu arba vektoriuotąja); •  magistralės arbitravimo (vektoriuotoji).

Pertrauktimis valdomos procedūros • skirtingos pertraukčių linijos; Akivaizdžiausias ir tiesioginis pertraukčių problemos sprendimo būdas yra užtikrinti būtiną pertraukčių linijų skaičių tarp CPĮ ir Į/I modulio. Tačiau skirti daugiau negu kelias magistralės linijas arba CPĮ kontaktus pertraukčių linijoms labai neracionalu. Reiškia, net jeigu naudojamos kelios linijos labai tikėtina, kad kiekviena linija aptarnauja kelis, prie jos prijungtus Į/I modulius. Taigi, kiekvienoje linijoje turi būti taikomas vienas iš trijų likusiųjų metodų.

Pertrauktimis valdomos procedūros • programinis sąrašas; Tai yra programinis periferinių įrengimų "sąrašo" tikrinimas (software poll). Kai CPĮ aptinka pertrauktį, jis iškviečia pertraukčių apdorojimo procedūrą, kurios paskirtis yra nustatyti kuris iš modulių sugeneravo pertrauktį. Sąrašas gali atrodyti kaip atskirų komandinių eilučių (pvz.., TEST I/O - tikrinti Į/I) rinkinys. Šiuo atveju, CPĮ generuoja TEST I/O komandą ir adresų magistralėje nustato tam tikro Į/I modulio adresą. Į/I modulis reaguoja į šią komandą teigiamai, jeigu būtent jis įjungė pertrauktį. Galimas ir kitas variantas - kiekvienas Į/I modulis gali turėti adresuojamąjį statuso registrą. CPĮ šiuo atveju, skaito kiekvieno Į/I modulio statuso registrą ir pagal jo turinį aptinka pertrauktį sugeneravusį modulį. Kai modulis aptiktas, CPĮ iškviečia pertraukties apdorojimo procedūrą ir nurodo jai šį įrenginį. Programinio sąrašo tikrinimo trūkumas yra tas, kad eikvojama daug laiko.

Pertrauktimis valdomos procedūros •  deizi (daisy) grandinės (dar vadinama techninės įrangos sąrašu arba vektoriuotąja); Efektyvesnis yra vadinamasis deizi grandinės (daisy chain) metodas, kuris, faktiškai vykdo techninį periferinių įrenginių sąrašo tikrinimą (hardware poll). Deizi grandies konfigūravimas pateiktas pav. Pertraukties signalui siųsti visi Į/I moduliai kartu naudoja (share) bendrą pertraukčių liniją. Pertraukties patvirtinimo linija sujungta į deizi grandinę per visus modulius. Kai CPĮ aptinka pertrauktį, jis išsiunčia pertraukties patvirtinimo signalą. Šis signalas sklinda pro visus nuosekliai sujungtus Į/I modulius kol nepatenka į reikalingą modulį. Atpažintas modulis paprastai atsako į tai išdėstydamas duomenų magistralėje žodį. Šis žodis vadinamas vektoriumi ir tai taip pat yra Į/I modulio savotiškas adresas (arba identifikatorius). Bet kuriuo atveju (ar tai adresas ar identifikatorius), vektorių CPĮ naudoja kaip rodyklę, pagal kurią iškviečia tam tikrą įrenginio aptarnavimo procedūrą. Tai leidžia pačioje pradžioje nevykdyti bendros pertraukties aptarnavimo procedūros. Šis metodas dar vadinamas  vektoriuotoji pertrauktis.                                                                                                                                             Paskirstytasis arbitravimas; čia MPRĮ— magistralės prioriteto įėjimas. MPRI - magistralės prioriteto išėjimas.

Pertrauktimis valdomos procedūros •  magistralės arbitravimo (vektoriuotoji). Vektoriuotas pertrauktis taikantis metodas - magistralės arbitravimas. Magistralės arbitravimo atveju, Į/I modulis iš pradžių turi "užvaldyti" magistralę, o po to reikalauti pertraukties per tam tikrą liniją. Šiuo atveju, tik vienas modulis duotu laiko momentu gali valdyti pertraukčių liniją. Kai CPĮ aptinka pertrauktį, jis atsako patvirtinimu per specialią liniją. Tada reikalingas modulis gali išdėstyti savo vektorių duomenų linijose.

Pertrauktimis valdomos procedūros • programinis sąrašas; •  deizi (daisy) grandinės (dar vadinama techninės įrangos sąrašu arba vektoriuotąja); •  magistralės arbitravimo (vektoriuotoji). Visi čia aptarti metodai taikomi reikiamam Į/I moduliui identifikuoti. Jie taip pat suteikia tam tikrą prioritetą, kai pertraukties apdorojimo reikalauja daugiau nei vienas įrenginys. Kai pertrauktims organizuoti naudojama daugybė linijų, CPĮ paprasčiausia pasirenka aukščiausią prioritetą turinčią liniją. Programinio sąrašo tikrinimo atveju tvarką, pagal kurią bus tikrinamas Į/I modulis, nusako jo prioritetas. Magistralės arbitravimas taip pat užtikrina prioriteto schemą. Panašiai, modulių tikrinimo eilės tvarką nustato deizi grandyje pažymėti prioritetai – praktiškai – atstumas nuo CP.

Pertraukties grandinės INT RQ CPU Įv/Išv Įv/Išv

Pertraukties grandinės Because the Z80 has only one interrupt line, the Z80 and its peripheral support chips negotiate for the CPUs attention by using a hardware based daisy-chain approach. The peripheral chip closest to the power line on the daisy-chain has the highest priority when it raises an interrupt request. This is because the interrupting chip indicates its need for service to the other peripheral chips through the IEO signal. Any chip which is physically closer to the CPU on the chain can be blocked from raising an interrupt by holding IEO (Interrupt Enable Output) on the interrupting device low. Any peripheral chip which is being blocked from the CPU in this way will simply keep the interrupt request signal (INT) active until either the CPU acknowledges the peripheral chip (or until it loses the data). The peripheral is acknowledged when IEI is high (and IEO low) at the time that INTACK is received.                                                                                                                         Figure: The Z80 Interrupt Daisy-Chain

Maskuojamos pertrauktys The INT signal is known as a maskable interrupt because the programmer can cause the CPU to ignore all interrupt requests by using the DI (Disable Interrupt) instruction. Maskable interrupts are automatically disabled by the CPU during the INTACK cycle and must be re-enabled by the programmer (using the EI - Enable Interrupts - instruction) before any more interrupts can be acknowledged. The EI instruction is normally executed as soon as possible in the interrupt handler code to avoid losing any interrupt signals from higher priority peripherals in the daisy-chain.

ROM BIOS 1 M I x86 mP atmintinės paskirstymas Video RAM A:0000 F E D C B A 0600 0500 0400 0000 ROM BIOS Video RAM Pagr atmintinė (Conventional) 10x64kB = 640kB Dos duomenys ROM BIOS kintamieji ir duomenys Pertraukties vektoriai 256x4B (2word) 1024B I x86 mP atmintinės paskirstymas

ROM BIOS I x86 mP atmintinės paskirstymas 1 M Video RAM A:0000 F E D C B A 0600 0500 0400 0000 ROM BIOS Video RAM Pagr atmintinė (Conventional) 10x64kB = 640kB Dos duomenys ROM BIOS kintamieji ir duomenys Pertraukties vektoriai 256x4B (2word)

Pertrauktimis valdomos procedūros •  programinis sąrašas; •  deizi (daisy) grandinės (dar vadinama techninės įrangos sąrašu arba vektoriuotąja); •  magistralės arbitravimo (vektoriuotoji).

Pertraukties grandinės INT RQ CPU Įv/Išv Įv/Išv

www.ff.vu.lt/kklase/komptaikymas