IRQ0 - IRQ15 - acest lucru întrerupe hardware.
Mecanismul de manipulare întrerupe
La procesarea fiecare întrerupere trebuie efectuată următoarea procedură:
Principalele funcții ale mecanismului de întrerupere:
- recunoașterea sau clasificarea întreruperi.
- transferul controlului unei handler de întrerupere, respectiv.
- întoarcere corectă a programului întrerupt (înainte de a transfera controlul unui handler de întrerupere a registrelor procesor sunt stocate fie în memorie sau într-un sistem de acces direct stivă).
tipuri de întrerupere
Întreruperile care apar în timpul funcționării sistemului informatic pot fi împărțite în 4 grupe:
întreruperi hardware sunt cauzate de dispozitivele fizice și apar în ceea ce privește programul asincronă, și anume În cazul general, este imposibil de prezis când și de ce programul va fi întrerupt.
întreruperi hardware nu sunt coordonate de lucru software-ul c. Atunci când o întrerupere, procesorul părăsește locul de muncă, el efectuează o întrerupe apoi revine la poziția sa inițială.
întreruperi externe apar pe semnalul oricărui dispozitiv extern, cum ar fi:
o întrerupere de timp este numit un temporizator. Acest temporizator cuprinde un registru, care poate fi atribuită o anumită valoare inițială prin intermediul unor instrucțiuni privilegiate speciale. Valoarea acestui registru este decrementat automat de 1 după fiecare milisecundă de timp. Când această valoare devine zero, are loc întreruperea cronometrului. Un astfel de temporizator este utilizat de sistemul de operare pentru a determina timpul în care programul de utilizator poate fi sub controlul mașinii.
întrerupe externe mascați și demascați
Există două semnal extern special între procesorul de semnal de intrare, folosind care este posibil să-și întrerupă programul actual și, prin urmare, a comuta funcționarea procesorului. Acest lucru semnaleaza NMI (Non Mascable întrerupere, NMI) INTR (cerere de întrerupere, cererea de întrerupere).
Prin urmare, întreruperi externe sunt clasificate în două tipuri: a demascat și mascat.
Adesea, în timpul părțile critice ale programului, pentru a se asigura respectarea anumitor secvențe de comenzi ca un întreg, trebuie să dezactivați întrerupe (de exemplu, pentru a face sistemul insensibil la toate sau anumite întreruperi). Puteți face această comandă CLI. Acesta trebuie să fie plasate la începutul secvenței critice de comenzi, dar în poziția finală echipa ITS, permite procesorului să ia o întrerupere. comandă CLI dezactivează numai întrerupere mascat demascat întotdeauna manipulate de către procesorul.
Astfel, prezența unui semnal de întrerupere nu trebuie să provoace întreruperea unui program de funcționare. Procesorul poate avea mijloace de protecție împotriva întreruperilor: dezactivarea sistemului de întreruperi, mascare (interzicere) semnale de întrerupere separate. Întreruperile care nu poate deghizează - un NMI.
întreruperi interne sunt cauzate de evenimente care sunt asociate cu funcționarea procesorului și este sincronizat cu operațiunile sale, și anume, o întrerupere are loc atunci când:
întreruperi software
Programele se pot determina întreruperea unui număr predeterminat. Pentru a face acest lucru, ei folosesc comanda INT. Pentru aceasta echipa, procesorul realizează aproape aceiași pași ca și în întrerupere convenționale, dar are loc într-un punct previzibil în program - în cazul în care programator această comandă. Prin urmare, software-ul nu întrerupe sunt asincrone (programul „știe“ când se produce o întrerupere).
Mecanismul de întrerupere Software-ul a fost introdus în mod specific:
- Activarea modulelor software de sistem nu este pur și simplu ca o tranziție spre o subrutină, și în același mod ca și întrerupere regulate. Acest lucru asigură procesor de comutare automată în modul privilegiat pentru a executa orice comenzi.
- utilizarea software-ului întrerupe rezultatele într-un cod de programe mai compacte față de utilizarea comenzilor standard ale procedurilor.
Exemplu (software de întrerupere):
Într-o formă simplificată de circuit pentru procesarea diferitelor tipuri de întreruperi pot fi reprezentate după cum urmează:
KP - controler de întreruperi, are mai multe nivele (linii) pentru conectarea regulatorului (în schema sunt marcate KU). Poate cascadă controlere, atunci când unul dintre intrările sale este conectat încă un alt controler de întreruperi. CPU - unitate centrală de procesare.
întreruperi hardware sunt generate dispozitive de calculator, atunci când nevoia de serviciul lor acolo. Spre deosebire de software-ul întrerupe cauzate de sine planificat aplicație software, hardware-ul întrerupe apar întotdeauna asincron în raport cu programul de funcționare. În plus, pot exista mai multe întreruperi. Selectarea una dintre acestea pentru tratamentul se bazează pe prioritățile atribuite fiecărui tip de întrerupere.
Fiecare întrerupere este atribuită o prioritate unică. Dacă mai multe întreruperi apar în același timp, sistemul acordă preferință prioritate ridicată, timp întârziere de procesare întrerupe rămase.
În cazul întreruperii propriuzise de rutină de întrerupere indică întrerupe imbricate. nivele de prioritate abreviat IRQ0 - IRQ15 sau IRQ0 - IRQ23 (în funcție de implementarea IC).
Ppepyvaniyu cutok vpemeni dat makcimalny ppiopitet, pockolku ono dacă veți poctoyanno tepyatcya, acesta va nevepnymi pokazaniya cictemnyx chacov. Ppepyvanie de la vyzyvaetcya klaviatupy la momentul când apăsați tasta sau otpuckanii; ono lanț vyzyvaet cobyty, kotopaya obychno zakanchivaetcya că pomeschaetcya în codul bufep klaviatupy cheie (otkuda ea zatem mozhet fi poluchen ppogpammnymi ppepyvaniyami).
În cele din urmă punerea în aplicare a mecanismului de manipulare a întrerupe
În clasa auto pentru fiecare întrerupere are o întrerupere spațiu de lucru corespunzător. De exemplu, există o regiune care corespunde întreruperii timer. Atunci când are loc întreruperea timer, conținutul tuturor registrelor stocate în acest domeniu (de exemplu, sărind peste primele cuvinte). Din aceste cuvinte lipsesc sunt extrase în avans pentru a obține valori enumerate sunt suprascrise de cuvânt metru (pointer) instrucțiuni de aparat și starea aparatului (sau în registrul de pavilion). Încărcarea și registrele de salvare efectuate hardware-ul aparatului automat.
Salvarea și restaurarea de stat procesor și registru de funcționare conținutul numit comutare context.
Cele mai multe mașini au un cuvânt de stare așa-numita, care conține o parte din informațiile utilizate în procesarea întreruperilor. Un element al acestui cuvânt (de exemplu, primul) este o indicație care determină modul care procesorul: în utilizator sau supraveghetor.
Programele convenționale locuiesc în modul de utilizare (caractere este zero). Atunci când are loc o întrerupere, un nou descărcabil cuvânt de stare de conținut este un semn egal cu 1, care pune în mod automat procesorul în modul supervizor. În acest mod, devine posibil să se utilizeze comenzi privilegiate. Înainte de valoarea cuvântului de stare este stocată într-un alt elementul său (de exemplu, al doilea) este setat la o valoare care indică cauza întreruperii:
- atunci când o întrerupere software-ul este recunoscut tipul de condițiile de asteptare, cum ar fi împărțirea cu zero.
atunci când este introdus numărul de canal de întrerupere de intrare-ieșire, provocând întreruperea.
Al treilea element indică dacă procesorul execută comenzi sau inactiv. Al patrulea element conține un indicator care identifică programul actual de funcționare. Al cincilea element conține masca de întrerupere, care este folosit pentru a controla rezoluția (câmpul MASCĂ) întrerupere.
Acest câmp este utilizat pentru a preveni apariția unui anumit tip de întrerupere, până la primul dintre ele nu vor fi procesate. Masca fiecare bit corespunde unei anumite clase de întreruperi. În cazul în care un bit este setat la 1, o clasă corespunzătoare întrerupere permisă dacă 0, atunci interzise. În acest ultim caz, noi spunem că acestea sunt mascate (de asemenea, cunoscut sub numele de interzicerea sau închidere). Cu toate acestea, întreruperea mascat nu este pierdut, deoarece semnalul care a cauzat întreruperea este stocat echipament. reținut temporar în acest mod se numește o întrerupere amânată. Când (deoarece valoarea de resetare MASK) clasă corespunzătoare întrerupe din nou rezolvată, semnalul este identificat și are loc o întrerupere.
Mascarea întreruperea este sub controlul sistemului de operare și depinde de MASCA în cuvântul de stare, care este stocat în prealabil în zona de lucru fiecare întrerupere. Puteți dezactiva toate întreruperile prin setarea toți biții în MASCA zero. De fapt, pentru a face acest lucru nu este necesar.
Permiteți accesul la aceste informații prietenilor tai:
Poate v-ar putea interesa:
În acest articol, vom discuta pe teme cum ar fi procese și fire, procesul diskriptory, vorbim despre fluxurile sinzronizatsii și va atinge favorit ferestre task manager tuturor.
În acest articol, vom vorbi despre subiecte cum ar fi memoria virtuală, și ia în considerare metodele de bază ale alocării memoriei virtuale în sistemele de operare.
În acest articol vom vorbi despre subiecte cum ar fi procesele de sistem, și anume: procesele de planificare, sistemul de operare, procesul de selecție a resurselor, starea procesului în sistemul de operare.
Astăzi citește
Ia World 1500 de aur liber de tancuri atunci când achiziționează un antivirus
Wargaming - și „Kaspersky Lab“, au declarat despre începutul acțiunii comune. Acum, cu achiziționarea de software licențiat Kaspersky Internet Security, Kaspersky CRYSTAL, precum și Kaspersky ONE.
versiune de încercare gratuită de Diablo III - acum disponibil pentru descărcare
Deja cele trei luni ne bucuram de mult-așteptata eliberare a Diablo III. Proprietarii fericit licenței precum au primit tichetul, care vă permite să joace versiunea Starter Edition.
GTA San Andreas - motor modificat GTA 4 (modul de descărcare)
Fani - legendarul joc din seria Grand Theft Auto a decis să dezvolte o moda la nivel mondial, GTA San Andreas va fi livrat la motorul de GTA 4. Link-ul pentru a descărca moda veți găsi la sfârșitul acestui articol.
Cum de a descărca muzică de contact de pe computer - VKSaver 3.1 Program
În acest articol, vom răspunde la întrebarea: cum de a descărca muzică de pe un contact de pe calculatorul gratuit și folosit pentru aceasta, vom elibera programul - VKSaver 3.1