Dallimi midis ndërprerjes dhe përjashtimit

Dallimi midis ndërprerjes dhe përjashtimit
Dallimi midis ndërprerjes dhe përjashtimit

Video: Dallimi midis ndërprerjes dhe përjashtimit

Video: Dallimi midis ndërprerjes dhe përjashtimit
Video: Situata e përmbytjeve në Lezhë, bie niveli i Drinit dhe lumit Gjadër 2024, Korrik
Anonim

Ndërprerje vs Përjashtim

Në çdo kompjuter, gjatë ekzekutimit të tij normal të një programi, mund të ketë ngjarje që mund të bëjnë që CPU të ndalet përkohësisht. Ngjarjet si kjo quhen ndërprerje. Ndërprerjet mund të shkaktohen nga defekte softuerike ose harduerike. Ndërprerjet e harduerit quhen (thjesht) Ndërprerje, ndërsa ndërprerjet e softuerit quhen përjashtime. Pasi të ngrihet një ndërprerje (softuer ose harduer), kontrolli transferohet në një nënprogram të veçantë të quajtur ISR (Rutina e Shërbimit të Ndërprerjes) që mund të trajtojë kushtet që ngrihen nga ndërprerja.

Çfarë është Ndërprerja?

Termi Ndërprerje zakonisht rezervohet për ndërprerjet e harduerit. Ato janë ndërprerje të kontrollit të programit të shkaktuara nga ngjarje të jashtme harduerike. Këtu, i jashtëm do të thotë i jashtëm për CPU. Ndërprerjet e harduerit zakonisht vijnë nga shumë burime të ndryshme si çipi i kohëmatësit, pajisjet periferike (tastierat, miu, etj.), portat I/O (seriale, paralele, etj.), disqet e diskut, ora CMOS, kartat e zgjerimit (karta e zërit, video kartelë, etj). Kjo do të thotë se ndërprerjet e harduerit pothuajse kurrë nuk ndodhin për shkak të ndonjë ngjarjeje që lidhet me programin ekzekutues. Për shembull, një ngjarje si shtypja e tastit në tastierë nga përdoruesi, ose një kohëmatës i brendshëm i harduerit mund të shkaktojë këtë lloj ndërprerjeje dhe mund të informojë CPU-në se një pajisje e caktuar ka nevojë për vëmendje. Në një situatë të tillë, CPU do të ndalojë atë që ka bërë ndonjëherë (d.m.th. ndalon programin aktual), ofron shërbimin e kërkuar nga pajisja dhe do të kthehet në programin normal. Kur ndodhin ndërprerje të harduerit dhe CPU-ja nis ISR-në, ndërprerjet e tjera të harduerit çaktivizohen (p.sh. në makinat 80×86). Nëse keni nevojë që të ndodhin ndërprerje të tjera harduerike gjatë ekzekutimit të ISR-së, duhet ta bëni këtë në mënyrë eksplicite duke pastruar flamurin e ndërprerjes (me udhëzim sti). Në makinat 80×86, pastrimi i flamurit të ndërprerjes do të ndikojë vetëm në ndërprerjet e harduerit.

Çfarë janë përjashtimet?

Përjashtim është një ndërprerje e softuerit, e cila mund të identifikohet si një rutinë e veçantë mbajtëse. Përjashtimi mund të identifikohet si një kurth që ndodh automatikisht (një kurth mund të identifikohet si një transferim i kontrollit, i cili inicohet nga programuesi). Në përgjithësi, nuk ka udhëzime specifike të lidhura me përjashtime (kurthet krijohen duke përdorur një udhëzim specifik). Pra, një përjashtim ndodh për shkak të një gjendjeje "të jashtëzakonshme" që ndodh gjatë ekzekutimit të programit. Për shembull, pjesëtimi me zero, ekzekutimi i një kodi optik të paligjshëm ose gabimi i lidhur me kujtesën mund të shkaktojë përjashtime. Sa herë që bëhet një përjashtim, CPU-ja pezullon përkohësisht programin që po ekzekutonte dhe fillon ISR-në. ISR do të përmbajë çfarë duhet bërë me përjashtim. Mund ta korrigjojë problemin ose nëse nuk është e mundur, mund ta ndërpresë programin me hijeshi duke printuar një mesazh gabimi të përshtatshëm. Edhe pse një udhëzim specifik nuk shkakton një përjashtim, një përjashtim do të shkaktohet gjithmonë nga një udhëzim. Për shembull, ndarja me gabim zero mund të ndodhë vetëm gjatë ekzekutimit të instruksionit të ndarjes.

Cili është ndryshimi midis Ndërprerjes dhe Përjashtimit?

Ndërprerjet janë ndërprerje të harduerit, ndërsa përjashtime janë ndërprerjet e softuerit. Ndodhitë e ndërprerjeve të harduerit zakonisht çaktivizojnë ndërprerjet e tjera të harduerit, por kjo nuk është e vërtetë për përjashtimet. Nëse duhet të ndaloni ndërprerjet e harduerit derisa të shërbehet një përjashtim, duhet të pastroni në mënyrë eksplicite flamurin e ndërprerjes. Dhe zakonisht flamuri i ndërprerjes në kompjuter ndikon në ndërprerjet (hardware) në krahasim me përjashtimet. Kjo do të thotë se pastrimi i këtij flamuri nuk do të parandalojë përjashtimet.

Recommended: