Kəsmə və Tələ Arasındakı Fərq

Kəsmə və Tələ Arasındakı Fərq
Kəsmə və Tələ Arasındakı Fərq

Video: Kəsmə və Tələ Arasındakı Fərq

Video: Kəsmə və Tələ Arasındakı Fərq
Video: Real həyatımız necə olacaq? | Metaverse nələri əvəz edəcək? | Vaqif Abbasov | Söhbətgah 2024, Noyabr
Anonim

Kəsmə və Trap

Hər hansı bir kompüterdə proqramın normal icrası zamanı CPU-nun müvəqqəti dayanmasına səbəb ola biləcək hadisələr baş verə bilər. Bu kimi hadisələr kəsilmə adlanır. Fasilələrə proqram təminatı və ya hardware xətaları səbəb ola bilər. Avadanlıq kəsmələri (sadəcə) Kesintilər, proqram təminatının kəsilməsi isə İstisnalar və ya Tələlər adlanır. İstisna avtomatik olaraq yaradılan proqram kəsilməsidir, Trap isə proqramçı tərəfindən başlatılan proqram təminatı ilə işə salınan fasilədir. Kesinti (proqram və ya aparat) qaldırıldıqdan sonra idarəetmə kəsilmə ilə qaldırılan şərtləri idarə edə bilən ISR (Kəsmə Xidməti Routini) adlı xüsusi alt proqrama ötürülür.

Kəsik nədir?

Kəsmə termini adətən aparat fasilələri üçün qorunur. Onlar xarici aparat hadisələri nəticəsində yaranan proqram nəzarətinin kəsilməsidir. Burada CPU-dan kənar xarici vasitələr. Aparat fasilələri adətən taymer çipi, periferik qurğular (klaviatura, siçan və s.), Giriş/çıxış portları (seriyalı, paralel və s.), disk sürücüləri, CMOS saatı, genişləndirmə kartları (səs kartı, video) kimi bir çox müxtəlif mənbələrdən gəlir. kart və s.). Bu o deməkdir ki, icraçı proqramla bağlı bəzi hadisələrə görə hardware fasilələri demək olar ki, heç vaxt baş vermir. Məsələn, istifadəçinin klaviaturada düyməyə basması və ya daxili aparat taymerinin vaxt aşımı kimi bir hadisə bu cür fasiləni artıra bilər və CPU-ya müəyyən bir cihazın müəyyən diqqətə ehtiyacı olduğunu bildirə bilər. Belə bir vəziyyətdə CPU etdiyi hər şeyi dayandıracaq (yəni cari proqramı dayandıracaq), cihaz tərəfindən tələb olunan xidməti təmin edəcək və normal proqrama qayıdacaq. Avadanlıqda fasilələr baş verdikdə və CPU ISR-ni işə saldıqda, digər aparat fasilələri deaktiv edilir (məs.g. 80×86 maşınlarda). Əgər sizə ISR işləyərkən başqa aparat fasilələrinin baş verməsi lazımdırsa, bunu kəsilmə bayrağını silməklə (sti göstərişi ilə) aydın şəkildə etməlisiniz. 80×86 maşınlarında kəsmə bayrağının silinməsi yalnız aparat fasilələrinə təsir edəcək.

Tələ nədir?

Tələ proqramçı tərəfindən başlanan nəzarətin ötürülməsi kimi müəyyən edilə bilər. Trap termini İstisna termini ilə əvəzedici mənada istifadə olunur (avtomatik olaraq baş verən proqram kəsilməsidir). Ancaq bəziləri tələnin sadəcə xüsusi bir alt proqram çağırışı olduğunu iddia edə bilər. Beləliklə, onlar proqram təminatı ilə bağlı fasilələr kateqoriyasına düşürlər. Məsələn, 80×86 maşınlarında bir proqramçı tələ başlatmaq üçün int təlimatından istifadə edə bilər. Tələ həmişə qeyd-şərtsiz olduğundan nəzarət həmişə tələ ilə əlaqəli alt proqrama köçürüləcəkdir. Tələ ilə işləmə qaydasını çağıran dəqiq təlimat asanlıqla müəyyən edilir, çünki tələni təyin etmək üçün açıq təlimat istifadə olunur.

Interrupt və Trap arasındakı fərq nədir?

Kəsiklər aparat fasilələridir, tələlər isə proqram təminatı tərəfindən işə salınan fasilələrdir. Avadanlıq kəsmələrinin baş verməsi adətən digər avadanlıq kəsmələrini söndürür, lakin bu, tələlər üçün doğru deyil. Əgər tələ təqdim olunana qədər aparat fasilələrinə icazə verməməlisinizsə, kəsilmə bayrağını açıq şəkildə silməlisiniz. Və adətən kompüterdəki kəsmə bayrağı tələlərdən fərqli olaraq (hardware) kəsmələrə təsir göstərir. Bu o deməkdir ki, bu bayrağı təmizləmək tələlərin qarşısını almayacaq. Tələlərdən fərqli olaraq, fasilələr CPU-nun əvvəlki vəziyyətini saxlamalıdır.

Tövsiyə: