Video: Diferența Dintre întrerupere și Capcană
2024 Autor: Mildred Bawerman | [email protected]. Modificat ultima dată: 2023-12-16 08:41
Întrerupere vs Capcană
În orice computer, în timpul executării normale a unui program, ar putea exista evenimente care pot determina oprirea temporară a procesorului. Evenimente ca acestea se numesc întreruperi. Întreruperile pot fi cauzate de erori de software sau hardware. Întreruperile hardware sunt numite (pur și simplu) întreruperi, în timp ce întreruperile software se numesc excepții sau capcane. O excepție este o întrerupere software generată automat, în timp ce o Trap este o întrerupere invocată de software inițiată de programator. Odată ce o întrerupere (software sau hardware) este ridicată, controlul este transferat către un subrutină specială numită ISR (Interrupt Service Routine) care poate gestiona condițiile care sunt ridicate de întrerupere.
Ce este o întrerupere?
Termenul de întrerupere este de obicei rezervat pentru întreruperile hardware. Sunt întreruperi de control al programului cauzate de evenimente hardware externe. Aici, extern înseamnă extern CPU. Întreruperile hardware provin, de obicei, din mai multe surse diferite, cum ar fi cipul cu temporizator, dispozitivele periferice (tastaturi, mouse etc.), porturile I / O (serial, paralel etc.), unitățile de disc, ceasul CMOS, plăcile de expansiune (placa de sunet, video) card etc.). Asta înseamnă că întreruperile hardware nu apar aproape niciodată din cauza unui eveniment legat de programul de executare. De exemplu, un eveniment, cum ar fi o apăsare de tastă pe tastatură de către utilizator, sau o temporizare hardware temporizată internă poate ridica acest tip de întrerupere și poate informa CPU-ul că un anumit dispozitiv are nevoie de o anumită atenție. Într-o astfel de situație CPU va opri orice a făcut (adică întrerupe programul curent),furnizează serviciul cerut de dispozitiv și va reveni la programul normal. Când apar întreruperi hardware și CPU pornește ISR, alte întreruperi hardware sunt dezactivate (de exemplu, în mașini 80 × 86). Dacă aveți nevoie de alte întreruperi hardware în timp ce ISR rulează, trebuie să faceți acest lucru în mod explicit ștergând semnalizatorul de întrerupere (cu instrucțiuni sti). La aparatele 80 × 86, ștergerea semnalizării de întrerupere va afecta doar întreruperile hardware.ștergerea semnalizării de întrerupere va afecta doar întreruperile hardware.ștergerea semnalizării de întrerupere va afecta doar întreruperile hardware.
Ce este o capcană?
O capcană poate fi identificată ca un transfer de control, care este inițiat de programator. Termenul Trap este utilizat interschimbabil cu termenul Exception (care este o întrerupere software care apare automat). Dar unii ar putea susține că o capcană este pur și simplu un apel special de subrutină. Deci se încadrează în categoria întreruperilor invocate de software. De exemplu, în mașinile de 80 × 86, un programator poate folosi instrucțiunea int pentru a iniția o capcană. Deoarece o capcană este întotdeauna necondiționată, controlul va fi întotdeauna transferat la subrutina asociată cu capcana. Instrucțiunea exactă, care invocă rutina de manipulare a capcanei, este ușor identificată, deoarece o instrucțiune explicită este utilizată pentru a specifica o capcană.
Care este diferența dintre Interrupt și Trap?
Întreruperile sunt întreruperi hardware, în timp ce capcanele sunt întreruperi invocate de software. Aparițiile întreruperilor hardware dezactivează de obicei alte întreruperi hardware, dar acest lucru nu este adevărat pentru capcane. Dacă trebuie să dezactivați întreruperile hardware până când este servită o capcană, trebuie să ștergeți în mod explicit semnalizatorul de întrerupere. Și, de obicei, semnalizatorul de întrerupere de pe computer afectează întreruperile (hardware), spre deosebire de capcane. Aceasta înseamnă că ștergerea acestui steag nu va împiedica capcanele. Spre deosebire de capcane, întreruperile ar trebui să păstreze starea anterioară a procesorului.
Recomandat:
Diferența Dintre CEM și Diferența Potențială
CEM vs Diferența de potențial (forța electromotivă) sunt utilizate pentru a descrie doi parametri diferiți între două puncte. Termenul „diferență de potențial” este un ge
Diferența Dintre Diferența De Fază și Diferența De Cale
Diferența de fază vs Diferența de cale Diferența de fază și diferența de cale sunt două concepte foarte importante în optică. Aceste fenomene sunt văzute pe probleme de
Diferența Dintre Diferența Potențială și Tensiunea
Diferența de potențial față de tensiune Diferența de potențial și tensiunea sunt doi termeni folosiți în inginerie pentru a descrie diferența de potențial în două puncte
Diferența Dintre întrerupere și Excepție
Întrerupere vs excepție În orice computer, în timpul executării normale a unui program, ar putea exista evenimente care pot determina oprirea temporară a procesorului. Evenimente
Diferența Dintre Diferența Cheie Dintre Mineralele Metalice și Cele Nemetalice
Diferența cheie - Minerale metalice vs. minerale nemetalice Un mineral este un constituent solid și anorganic natural, cu o formulă chimică definită și