Menyu
Pulsuz
Qeydiyyat
Ev  /  Qadın problemləri/ Kesintilər nə üçün istifadə olunur? Aparat və proqram təminatında fasilələr

Kesintilər nə üçündür? Aparat və proqram təminatında fasilələr

Fasilələrin idarə edilməsi Aparat və vasitələrin hərəkətlərinin ardıcıllığı
fasilələrlə işləmə proqramları təsvir edilə bilər
aşağıdakı kimi:
1) Siqnal yarandıqda (avadanlığın kəsilməsi üçün) və ya
şərtlər (daxili fasilələr üçün) kəsilmə baş verir
kəsmə növünün ilkin aparat tanınması. Əgər
Bu tip kəsmələr hazırda deaktivdir
Prosessor təbii icra axınını dəstəkləməyə davam edir
əmrlər Əks halda, alınandan asılı olaraq
informasiya prosessoru avtomatik olaraq çağırılır
ünvanı olan xidmət rejimini kəsin
xüsusi masa əməliyyat sistemi, ya yerləşdirilir
prosessor registrlərində və ya əməliyyat sistemində müəyyən bir yerdə
yaddaş.

Zaman hərəkətlərin ardıcıllığı
rəftarın dayandırılması
2) Kontekstin bir hissəsi avtomatik olaraq saxlanılır
kernel imkan verəcək kəsilmiş mövzu
sonra proses ipinin icrasını davam etdirin
rəftarın dayandırılması. Bu alt çoxluq adətən
proqram sayğac dəyərləri, sözlər daxil edilir
maşının vəziyyəti, əsas işarələrin saxlanması
prosessorun iş rejimləri (belə bir sözün nümunəsi
EFLA6S Intel Pentium-da qeydiyyatdan keçir), eləcə də bir neçə
tələb olunan ümumi təyinatlı registrlər
fasilə emal proqramı.

Zaman hərəkətlərin ardıcıllığı
rəftarın dayandırılması
3) Prosedur ünvanının yüklənməsi ilə eyni vaxtda
proqram sayğacında işləməyi dayandıra bilər
yeni dəyər avtomatik yüklənir
maşın statusu sözləri (və ya digər sistem
kod seqment seçicisi kimi struktur
Rejimləri müəyyən edən Pentium prosessoru
o cümlədən fasilələrin işlənməsi zamanı prosessorun işləməsi
imtiyazlı rejimdə işləmək də daxil olmaqla

Zaman hərəkətlərin ardıcıllığı
rəftarın dayandırılması
4) Bu tip fasilələr müvəqqəti olaraq söndürülür,
belə ki, iç-içə olanların növbəsi yaranmasın
eyni prosedurun digər mövzuları. Təfərrüatlar
bu əməliyyatın icrası xüsusiyyətlərdən asılıdır
hardware platforması, məsələn, edə bilər
fasilə maskalanması mexanizmindən istifadə edin.
Bir çox prosessor avtomatik olaraq quraşdırılır
emal dövrünün əvvəlində fasilələrin söndürüldüyünə işarədir
kəsir, əks halda proqram bunu edir
rəftarın dayandırılması.

Zaman hərəkətlərin ardıcıllığı
rəftarın dayandırılması
5) Kesinti nüvə tərəfindən işləndikdən sonra
əməliyyat sistemi, kəsilmiş kontekst
bərpa edilir və mövzunun işləməsi ilə davam edir
kəsilmiş yer. Kontekstin bir hissəsi
əmrdən qayıtdıqdan sonra aparat tərəfindən bərpa edilir
fasilələr (məsələn, növbəti təlimatın ünvanı və
maşın statusu sözü) və hissəsi - proqram təminatı ilə
açıq çıxarma əmrlərindən istifadə etməklə
yığından məlumatlar. Fasilədən qayıdanda
bu tip təkrarlanan fasilələrin qarşısının alınması
çıxarıldı.

Dərsləri kəsmək

Mənbədən asılı olaraq, müdaxilə edir
üç böyük sinfə bölünür:
xarici;
daxili;
proqram təminatı.

Dərsləri kəsmək

Xarici fasilələr hərəkətlər nəticəsində baş verə bilər
istifadəçi və ya operator terminalda və ya qəbz nəticəsində
aparat qurğularından gələn siqnallar - xarici kompüter cihazlarının nəzarətçiləri tərəfindən yaradılan giriş/çıxış əməliyyatlarını tamamlamaq üçün siqnallar,
printer və ya sabit disk və ya siqnallar kimi
kompüterlə idarə olunan texniki obyektlərin sensorları. Xarici
kəsilmələr, kəsilmə faktını əks etdirən hardware kəsmələri də adlanır
возникает вследствие подачи некоторой аппаратурой (например, контроллером
printer) ötürülən (ehtimal ki, keçən) elektrik siqnalı
digər kompüter blokları, məsələn, kəsmə nəzarətçisi) vasitəsilə
xüsusi prosessor müdaxiləsi girişi. Bu dərsi kəsir
является асинхронным по отношению к потоку инструкций прерываемой
proqramlar. Аппаратура процессора работает так, что асинхронные
прерывания возникают между выполнением двух соседних инструкций, при
этом система после обработки прерывания продолжает выполнение процесса,
artıq növbəti təlimatdan başlayır

10. Dərslərə ara verin

Daxili fasilələr də adlanır
İstisnalar sinxron şəkildə baş verir
fövqəladə hadisə baş verdikdə proqramın icrası
bəzi göstərişlərin icrası zamanı yaranan vəziyyətlər
proqramlar. İstisnalara misal olaraq bölmə göstərmək olar
sıfıra, yaddaşın qorunması səhvləri, giriş
mövcud olmayan ünvan, icra etməyə cəhd
istifadəçidə imtiyazlı təlimat
rejimi və s. İstisnalar birbaşa olaraq baş verir
əmr dövrlərinin icrası zamanı (“daxili”
icra).

11.

Dərsləri kəsmək
Proqram təminatının kəsilməsi fərqlidir
əvvəlki iki sinif onlar mahiyyətcə deyil
"doğru" fasilələrdir. Proqram təminatı
xüsusi əmr yerinə yetirildikdə fasilə yaranır
icrası kəsilməni simulyasiya edən prosessor,
yəni yeni ardıcıllığa keçid
təlimatlar. Proqram təminatından istifadənin səbəbləri
əvəzinə müdaxilə edir müntəzəm təlimatlar zəng edin
prosedurlar nəzərdən keçirildikdən sonra aşağıda təsvir olunacaq
kəsmə mexanizmi

12. İş sahəsini kəsin

13. Kəsmə vektoru

İstifadənin iki əsas yolu var
hansı avtobuslar fasilə verir:
1.vektorlu
2. sorğulanmış
Hər iki üsulda prosessor təmin edilir
avtobusda fasilənin prioritet səviyyəsi haqqında məlumat
xarici cihazların birləşdirilməsi. Vektor vəziyyətində
fasilələr də məlumatı prosessora ötürür
baş vermiş hadisənin işlənməsi proqramının başlanğıc ünvanı haqqında
interrupt - müdaxilə işləyicisi.

14.

Kəsmə vektoru
Vektorlu kəsilmələrdən istifadə edən qurğular təyin edilir
kəsmə vektoru. Elektrik siqnalını təmsil edir
müvafiq prosessor avtobus və daşıyan məruz
bu cihaza təyin edilmiş xüsusi cihaz haqqında məlumat
müvafiq işləyicini müəyyən edən nömrə
müdaxilə edir. Bu vektor sabit, konfiqurasiya edilə bilər
(məsələn, açarlardan istifadə etməklə) və ya proqramlaşdırıla bilən.
Əməliyyat sistemi qeydiyyat prosedurunu təmin edə bilər
Müəyyən bir cihaz üçün kəsmə vektoru
bəzi fasilə rejimini əlaqələndirir
müəyyən vektor. Kesinti tələbi siqnalı qəbul edərkən
Prosessor xüsusi kəsilmənin təsdiqlənməsi dövrü həyata keçirir
hansı cihaz özünü müəyyən etməlidir. Bu müddət ərzində
dövrü, cihaz avtobusa kəsmə vektoru yerləşdirməklə cavab verir. Sonra
prosessor bunun üçün işləyici tapmaq üçün bu vektordan istifadə edir
fasilələr.

15. Kəsmə vektoru

Bəzi hardware platformasının kəsilməsi mexanizmi
vektor və sorğulanmış kəsmə növlərini birləşdirə bilər.
Belə bir tətbiqin tipik nümunəsi platformadır
Intel prosessorlarına əsaslanan fərdi kompüterlər
Pentium. Bunun üçün istifadə olunan PCI, ISA, EISA və ya MCA avtobusları
platforma xarici cihazları birləşdirmək üçün avtobuslar kimi,
sorğulanmış kəsilmələr mexanizmini dəstəkləyin.
Periferik cihaz nəzarətçiləri avtobusa məruz qalmır
vektor və müəyyən səviyyəli kəsmə tələbi siqnalı
IRQ. Bununla belə, Pentium prosessorunda kəsmə sistemi var
vektordur. Pentium prosessorunda kəsmə vektoru
göstərən kəsmə nəzarətçisini təmin edir
Avtobusdan müəyyən nömrəyə gələn IRQ siqnalı
vektor.

16.

Kəsmə vektoru
Prosessora göndərilən kəsmə vektoru belədir
целое число в диапазоне от 0 до 255, указывающее на одну из 256
программ обработки прерываний, адреса которых хранятся в таблице
müdaxilə edənlər. Hər bir sətirə IRQ olduqda
yalnız bir cihaz bağlıdır, emal proseduru
interruptlar, kəsmə sistemi kimi işləyir
sırf vektor, yəni prosedur heç birini yerinə yetirmir
hansının olduğunu tapmaq üçün əlavə sorğular
Cihaz fasilə tələb etdi. Bununla birlikdə, birgə
eyni IRQ səviyyəsindən istifadə edən bir neçə cihaz
Kəsinti idarəedicisi uyğun olaraq işləməlidir
sorğulanmış kəsmə dövrəsi ilə, yəni əlavə olaraq
bu səviyyəyə qoşulmuş bütün cihazları sorğulayın
IRQ.

17. Standart kəsmə prosedurları

18. Prioritetləri kəsin

Fasilələrə prioritet verilir
əhəmiyyətinə və aktuallığına görə sıralanır. Var olan fasilələr haqqında
eyni prioritet dəyərə sahib olduqları deyilir
prioritet səviyyəsini kəsin.
Kesintilər adətən əməliyyat sistemi modulları tərəfindən idarə olunur,
çünki fasilə zamanı həyata keçirilən hərəkətlər nəzarətlə bağlıdır
kompüter sisteminin paylaşılan resursları - printer, disk,
taymer, prosessor və s. Kesintilər tərəfindən çağırılan prosedurlar
adətən kəsmə işləyiciləri və ya prosedurlar adlanır
xidmətin dayandırılması (Xidmətin Kəsilməsi Rejimi, /57?). Aparat
fasilələr müvafiq xarici drayverlər tərəfindən işlənir
cihazlar, istisnalar - xüsusi modullar nüvələr və proqram təminatı
fasilələr - sistem zənglərinə xidmət edən ƏS prosedurları.
Bu modullara əlavə olaraq, əməliyyat sistemində aşağıdakılar ola bilər:
işi koordinasiya edən kəsmə meneceri çağırılır
ayrı kəsmə idarəçiləri.

19.

Prioritetləri kəsin
Bütün kəsmə mənbələri adətən bir neçə sinfə bölünür və
hər bir sinifə üstünlük verilir. Əməliyyat sistemində
dispetçerlə məşğul olan proqram modulu ayrılmışdır
müdaxilə edənlər. Bu modul müxtəlif əməliyyat sistemlərində fərqli adlanır,
lakin dəqiqlik üçün biz onu kəsmə meneceri adlandıracağıq.
Bir fasilə baş verdikdə, kəsmə meneceri çağırılır
birinci. Qısa müddətə bütün fasilələri söndürür və sonra hesablayır
fasilənin səbəbi. Bundan sonra dispetçer təyin olunanı müqayisə edir
bu kəsmə mənbəyinə üstünlük verir və onu cari ilə müqayisə edir
prosessor tərəfindən yerinə yetirilən təlimat axınının prioriteti. Bu anda
zaman, prosessor artıq başqa prosessorun göstərişlərini yerinə yetirə bilər
bəzi prioritetlərə malik olan fasilələr. Prioritet yenidirsə
sorğu caridən yüksəkdir, sonra cari işləyicinin icrası
dayandırılır və müvafiq növbəyə qoyulur
müdaxilə edənlər. Əks halda növbəyə qoyulur
yeni sorğu işləyicisi.

20. İç-içə müdaxilələr

Fasilələrə xidmət tamamlanana qədər
əvvəlkinin işlənməsi deyilir
yuvalanmış. İç-içə fasilələr ola bilər
yığının daşması təhlükəsi yaratmaq,
çünki hər "investisiya" olacaq
öz məqsədləriniz üçün istifadə edin.

Proseslərin vəziyyətini dəyişdirən hərəkətverici qüvvə hadisələrdir. Hadisələrin əsas növlərindən biri fasilələrdir. Kesintilər kompüter sistemində ayrı-ayrı cihazların paralel işini koordinasiya etməyə və prosessorun işləməsi zamanı yaranan xüsusi şərtlərə cavab verməyə imkan verən mexanizmdir. Beləliklə, kəsmə müəyyən bir hadisə baş verdikdə baş verən idarəetmənin icraçı proqramdan sistemə (və onun vasitəsilə müvafiq kəsmə ilə işləmə proqramına) məcburi ötürülməsidir.

Kesintilər ideyası 50-ci illərin ortalarında irəli sürülüb və mübaliğəsiz demək olar ki, o, kompüter texnologiyasının inkişafına ən mühüm töhfə verib. Fasilələrin tətbiqinin əsas məqsədi asinxron iş rejimini həyata keçirmək və hesablama kompleksinin ayrı-ayrı qurğularının işini paralelləşdirməkdir.

Kəsmə mexanizmi aparat və proqram təminatında həyata keçirilir. Kəsmə sistemlərinin strukturları (aparat arxitekturasından asılı olaraq) çox fərqli ola bilər, lakin onların hamısında bir var ümumi xüsusiyyət- Fasiləsizlik, prosessor tərəfindən göstərildiyi qaydada bir dəyişikliyə səbəb olur.

Kompüter sisteminin memarlığından asılı olmayaraq fasiləsiz işləmə mexanizmi, aşağıdakı elementləri əhatə edir:

1. Fasilə faktının müəyyən edilməsi (kesinti siqnalının qəbulu) və kəsilmənin müəyyən edilməsi (əməliyyat sistemlərində bəzən yenidən həyata keçirilir, 4-cü addımda).

2. Kəsilmiş prosesin vəziyyətini xatırlamaq. Prosesin vəziyyəti ilk növbədə proqram sayğacının dəyəri, prosessor registrlərinin məzmunu ilə müəyyən edilir və həmçinin rejimin spesifikasiyası (məsələn, istifadəçi və ya imtiyazlı rejim) və digər məlumatları ehtiva edə bilər.

3. Nəzarət cihaz tərəfindən saxlama işləmə subroutine köçürülür.

4. Təchizat hərəkətlərindən istifadə edərək 2-ci addımda saxlanıla bilməyən kəsilmiş proqram haqqında məlumatı qənaət etmək. Bəzi hesablama sistemləri kəsilmiş bir prosesin vəziyyəti haqqında kifayət qədər çox məlumatın saxlanmasını təmin edir.

5. İdarəetməni dayandırın. Bu iş 3-cü addımda idarəetmənin ötürüldüyü eyni alt proqram tərəfindən yerinə yetirilə bilər, lakin OS-də bu, ən çox müvafiq alt proqramın sonradan çağırılması ilə həyata keçirilir.

6. Kəsilmiş proseslə bağlı məlumatın bərpası (mərhələ 4-cü mərhələyə əks).

7. Kəsilən proqrama qayıdın.

1-3-cü addımlar aparatda, 4-7-ci addımlar proqram təminatında həyata keçirilir.

düyü. 13. İdarəetməni dayandırın

Şəkil 13 göstərir ki, kəsilmə sorğusu baş verdikdə hesablamaların təbii axını pozulur və idarəetmə baş vermiş fasilənin işlənməsi proqramına verilir. Bu halda, aparat (bir qayda olaraq, stek yaddaş mexanizmlərindən istifadə etməklə) dayandırılmış proqramın icrasının davam etdirilməli olduğu təlimatın ünvanını saxlayır. Kəsmə xidməti proqramı icra edildikdən sonra, saxlanmış komanda ünvanını komanda indeksinə daxil etməklə idarəetmə əvvəllər dayandırılmış proqrama qaytarılır. Bununla belə, bu sxem yalnız ən sadə proqram mühitlərində istifadə olunur.

Beləliklə, kəsmə mexanizminin əsas funksiyaları:

Fasilələrin tanınması və ya təsnifatı;

Müvafiq olaraq, nəzarətin kəsilmə idarəçisinə ötürülməsi;

Kəsilən proqrama düzgün qayıdış.

Kəsilmiş proqramdan işləyiciyə və arxaya keçid mümkün qədər tez həyata keçirilməlidir. Sürətli üsullardan biri kompüter üçün icazə verilən bütün fasilələrin siyahısını və müvafiq işləyicilərin ünvanlarını ehtiva edən cədvəldən istifadə etməkdir. Kəsilən proqrama düzgün qayıtmaq üçün idarəetməni kəsmə idarəçisinə ötürməzdən əvvəl prosessor registrlərinin məzmunu ya birbaşa giriş yaddaşında, ya da sistem yığınında saxlanılır.

Hesablama sisteminin işləməsi zamanı baş verən fasilələri iki əsas sinfə bölmək olar: xarici (bəzən asinxron adlanır) və daxili (sinxron).

Xarici kəsilmələr kəsilən prosesdən kənarda baş verən asinxron hadisələrdən qaynaqlanır, məsələn:

Taymeri kəsir;

Xarici cihazlardan kəsilmələr (giriş/çıxış fasilələri);

Elektrik kəsilməsi səbəbindən fasilələr;

Kompüter sisteminin operator konsolundan fasilələr;

Başqa bir prosessordan və ya başqa kompüter sistemindən kəsilir.

Daxili fasilələr prosessorun işləməsi ilə əlaqəli olan və onun əməliyyatları ilə sinxron olan hadisələrdən qaynaqlanır. Nümunələr aşağıdakı kəsmə sorğularıdır:

Ünvan pozuntusu halında (qadağan edilmiş və ya mövcud olmayan ünvan icra olunan komandanın ünvan hissəsində göstərilir, virtual yaddaş mexanizmlərini təşkil edərkən çatışmayan seqmentə və ya səhifəyə giriş);

Əməliyyat kodu sahəsində istifadə olunmamış ikili birləşmə varsa;

Sıfıra bölündükdə;

Sifariş çoxaldıqda və ya yox olduqda;

Monitorinq vasitələri ilə müxtəlif aparat qurğularının işində paritet xətalar və xətalar aşkar edildikdə.

ƏS nəzarətçisinə daxil olduqda hələ də fasilələr ola bilər - bəzi kompüterlərdə bəzi əmrlər istifadəçilər tərəfindən deyil, yalnız ƏS tərəfindən istifadə edilə bilər. Müvafiq olaraq, aparat müxtəlif iş rejimlərini təmin edir və istifadəçi proqramları bu imtiyazlı təlimatların yerinə yetirilmədiyi bir rejimdə icra olunur. Bu rejimdə qadağan edilmiş bir əmrdən istifadə etməyə cəhd etsəniz, daxili fasilə yaranır və idarəetmə ƏS nəzarətçisinə verilir. İmtiyazlı əmrlərə mərkəzi prosessorun iş rejimini dəyişdirmək əmrləri də daxildir.

Əslində proqramda fasilələr var. Bu kəsmələr müvafiq kəsmə əmrinə cavab olaraq baş verir, yəni bu əmrlə prosessor adi daxili fasilələrlə demək olar ki, eyni hərəkətləri yerinə yetirir.

Fasilə yaradan siqnallar prosessordan kənarda və ya prosessorun özündə yaradılır; eyni vaxtda baş verə bilərlər. Onlardan birinin emal üçün seçilməsi hər bir kəsilmə növünə təyin edilmiş prioritetlər əsasında həyata keçirilir. Aydındır ki, prosessorun idarəetmə sxemlərindən kəsilmələr ən yüksək prioritetə ​​sahib olmalıdır (əgər avadanlıq düzgün işləmirsə, məlumatı emal etməyə davam etməyin mənası yoxdur). Birincisini tamamlayan ikinci üsul müxtəlif fasilələrə xidmət fənlərindən istifadə etməyə imkan verir.

Kəsmə siqnalının olması mütləq işləyən proqramın dayandırılmasına səbəb olmur. Prosessorda fasilələrdən qorunma vasitələri ola bilər: kəsmə sistemini söndürmək, fərdi kəsilmə siqnallarını maskalamaq (inhibe etmək). Bu alətlərin proqram təminatı ilə idarə olunması əməliyyat sisteminə kəsilmə siqnallarının emalını tənzimləməyə imkan verir, prosessoru gəldikdən dərhal sonra onları emal etməyə, onların işlənməsini bir müddət gecikdirməyə və ya onlara tamamilə məhəl qoymamağa məcbur edir. Обычно операция прерывания выполняется только после завершения выполнения текущей команды.

Xüsusi maska ​​registrlərinin proqram təminatı (kəsmə siqnallarının maskalanması) müxtəlif xidmət intizamlarını həyata keçirməyə imkan verir:

Nisbi prioritetlərlə, yəni daha yüksək prioritetləri olan müraciətlər olsa belə, xidmət kəsilmir. Verilmiş sorğuya xidmət göstərildikdən sonra ən yüksək prioritet olan sorğuya xidmət göstərilir. Belə bir nizam-intizamı təşkil etmək üçün bu sorğuya xidmət proqramında bütün digər kəsmə siqnallarına maskalar tətbiq etmək və ya sadəcə kəsmə sistemini söndürmək lazımdır;

Mütləq prioritetlərlə, yəni ən yüksək prioritetli kəsmə həmişə xidmət göstərir. Bu rejimi həyata keçirmək üçün fasilələrin işlənməsi zamanı daha aşağı prioritetli bütün sorğuları maskalamaq lazımdır. При этом возможно многоуровневое прерывание, то есть прерывание программ обработки прерываний.

Yığın prinsipinə görə və ya bəzən dedikləri kimi, LCFS (son gələn ilk xidmət) nizam-intizamına görə, yəni daha aşağı prioritetli sorğular daha yüksək prioritetli bir fasilənin işlənməsini dayandıra bilər. Bunu etmək üçün maskalar tətbiq etməməlisiniz və kəsilmə sistemini söndürməyin.

Son iki fənnin düzgün həyata keçirilməsi üçün 1-4 və 6-7 addımlarını yerinə yetirərkən kəsmə sisteminin tam maskalanmasını təmin etmək lazımdır, yəni. kəsmə sistemi yalnız daxil olanı emal edərkən işə salına bilər erkən fasilələr. Çoxsəviyyəli fasilə bir prosesdən digərinə keçid mərhələsində deyil, faktiki kəsilmənin emalı mərhələsində (5-ci addım) baş verməlidir.

Fasilələrin səbəbləri ƏS (kesinti nəzarətçisi adlanan modul) tərəfindən müəyyən edilir və o, həmçinin verilmiş fasilə üçün və verilmiş vəziyyətdə lazım olan hərəkətləri yerinə yetirir. Buna görə də, real vaxt rejimində işləyən hər hansı bir əməliyyat sistemi, ilk növbədə, kəsmə sisteminin idarə edilməsi, tapşırıq vəziyyətlərinin və hadisələrinin monitorinqi, tapşırıqların sinxronizasiyası, yaddaşın ayrılması və idarə edilməsi üçün vasitələr və yalnız bundan sonra məlumatların təşkili üçün vasitələr daxildir.

Kəsinti xidmətinin iki xidmət bölməsi var. Bu, 2-ci addımda saxlanıla bilməyən kəsilmiş tapşırığın kontekstinin saxlandığı birinci bölmə və əksinə, kontekstin bərpa olunduğu sonuncu, son bölmədir.

Kəsmə sisteminin kəsilmə sorğusu siqnalına yenidən reaksiya verməsinin qarşısını almaq üçün o, adətən kəsmələri avtomatik olaraq “bağlayır” (söndürür), buna görə də kəsilmənin idarə olunması qaydasında kəsmə sistemini yenidən aktivləşdirmək lazımdır. Nəzərdən keçirilən fasilələrin işlənməsi rejimlərinin quraşdırılması emal alt proqramının birinci bölməsinin sonunda həyata keçirilir. Beləliklə, icra müddəti üçün mərkəzi fasilələr işə salınır. Emal alt proqramının son bölməsi işləyərkən, kəsmə sistemi söndürülməli və kontekst bərpa edildikdən sonra yenidən aktivləşdirilməlidir.

Bir çox əməliyyat sistemlərində fasilələrlə işləmə proqramının xidmət bölmələri xüsusi sistem proqram moduluna - kəsmə nəzarətçisinə ayrılır.

Kəsmə nəzarətçisi, ilk növbədə, cari tapşırığın deskriptorunda kəsilmiş hesablama prosesinin kontekstini müəyyən edən prosessorun iş registrlərini saxlayır. Sonra, hazırkı (cari) kəsmə sorğusuna xidmət göstərməklə əlaqəli hərəkətləri yerinə yetirməli olan alt proqramı müəyyənləşdirir. Nəhayət, nəzarəti bu alt proqrama ötürməzdən əvvəl kəsmə nəzarətçisi tələb olunan kəsilmənin işlənməsi rejimini təyin edir. Fasilələrin idarə edilməsi alt proqramını yerinə yetirdikdən sonra nəzarət yenidən supervayzerə, bu dəfə tapşırıqları göndərən modula verilir. Və tapşırıq meneceri, öz növbəsində, prosessor vaxtının (işləyən proseslər arasında) paylanması üçün qəbul edilmiş rejimə uyğun olaraq, prosessorun ayrılması qərara alınacaq tapşırığın kontekstini bərpa edəcəkdir (Şəkil 14).


düyü. 14. ƏS nəzarətçilərinin iştirakı ilə fasilələrin idarə edilməsi

Şəkil 14-dən gördüyümüz kimi, əvvəllər kəsilmiş proqrama birbaşa kəsilmə rejiminin özündən birbaşa qayıdış yoxdur.

Birbaşa dərhal geri qayıtmaq üçün, prosessor aparatının etdiyi geri ünvanını yığında saxlamaq kifayətdir. Eyni zamanda, yığın həmişə LCFS (sonuncu - ilk xidmət) nizam-intizamını tətbiq etdiyi üçün iç-içə kəsilmələr halında asanlıqla geri qayıtma qabiliyyətini təmin edir.

Bununla belə, əgər proses konteksti yuxarıda təsvir edilən tapşırıq deskriptorlarında deyil, adətən aparatda həyata keçirildiyi kimi sadəcə yığında saxlanılsaydı, o zaman hansı tapşırığı prosessora ötürmək lazım olduğunu seçməkdə çevik olmaq imkanımız olmayacaqdı. xidmətin dayandırılması proseduru tamamlanır. Təbii ki, bu, yalnız ümumi prinsipdir. Xüsusi prosessorlarda və xüsusi OS-lərdə nəzərdən keçirilən sxemdən bəzi sapmalar və/yaxud ona əlavələr ola bilər. Məsələn, müasir prosessorlar tez-tez kəsilmiş prosesin kontekstini bilavasitə onun sapında saxlamaq üçün xüsusi aparat imkanlarına malikdirlər, yəni proses tutacağı (ən azı onun bir hissəsi) aparat tərəfindən saxlanılan məlumat strukturuna çevrilir.

PC arxitekturasında əsas giriş/çıxış sistemi (BIOS) xüsusi yer tutur. O, bir tərəfdən aparatın tərkib hissəsi kimi qəbul oluna bilər, digər tərəfdən bu sistem ƏS-nin proqram modullarından biridir.

BSVV-nin mühüm funksiyalarından biri sistem çağırışlarına və ya fasilələrə xidmət göstərməkdir. Sistem zəngləri müxtəlif əməliyyatları yerinə yetirmək üçün proqram və ya aparat tərəfindən yaradılır. Kesinti mexanizmi sistem çağırışlarını həyata keçirmək üçün istifadə olunur. Bu mexanizmin mahiyyəti ondan ibarətdir ki, maşının cari işləməsi, nə olursa olsun, dayandırıla bilər. qısa müddət dərhal emal tələb edən vəziyyətin baş verdiyini göstərən siqnallardan biri

kəsmək - bu, hansısa hadisəni idarə etmək üçün cari komandanın və ya cari əmrlər ardıcıllığının icrasını dayandırmaqdır xüsusi proqram - müdaxilə işləyicisi, ardınca kəsilmiş proqramın icrasına qayıdış.

Hadisəyə proqramın icrası zamanı yaranan xüsusi vəziyyət və ya xarici qurğudan gələn siqnal səbəb ola bilər. Proqramın icrası və xarici qurğularla qarşılıqlı əlaqə zamanı yaranan xüsusi vəziyyətlərə tez reaksiya vermək üçün fasilədən istifadə olunur.

Kəsilən zaman OS saxlayır prosessor vəziyyəti - dəyərləri və mənasını qeyd edin proqram sayğacı (PC)– kəsilmiş komandanın ünvanları . ƏS-də kəsmə işləyicisi obyekt kodu seqmentinin məzmunundan hansı növ fasilənin baş verdiyini və onu idarə etmək üçün hansı tədbirlərin görülməli olduğunu müəyyən edir. Mümkün kəsmə növləri arasında müxtəlif səhvləri qeyd etməklə yanaşı, həmçinin var taymer müdaxilə edir– üçün nəzərdə tutulmuş müəyyən bir zaman dilimindən sonra dövri fasilələr cihaz sorğusu– əməliyyat sisteminin bütün portların və zaman keçdikcə dəyişə bilən xarici cihazların vəziyyətini vaxtaşırı yoxlamaq üçün tədbirləri: məsələn, USB portuna bir flash sürücü qoşulmuşdur; printer çapı bitirdi və pulsuz oldu və s. ƏS sistemin yenidən konfiqurasiyasını həyata keçirir və cihaz haqqında məlumat saxlayan sistem cədvəllərini tənzimləyir



Kəsmə mexanizmi müvafiq kompüter avadanlıqları və proqram təminatı ilə təmin edilir.

Kəsilə səbəb olan hər hansı istisna kəsilmə sorğusu (IR) adlanan siqnalla müşayiət olunur. Xarici qurğulardan kəsilmə sorğuları xüsusi xətlər vasitəsilə prosessora daxil olur və proqramın icrası zamanı yaranan sorğular birbaşa mikroprosessorun daxilindən gəlir. Hər iki növ kəsintilərin idarə edilməsi mexanizmləri oxşardır. Əsasən aparat fasilələrinin işlənməsinə əsaslanaraq, kəsilmə tələbi siqnalı görünən zaman kompüterin işləməsini nəzərdən keçirək (şək. 13).

düyü. 13. Kompüterdə fasilənin yerinə yetirilməsi:

tр - fasilə sorğusuna prosessorun cavab müddəti;

tс - kəsilmiş proqramın vəziyyətini saxlamaq və kəsmə işləyicisini çağırmaq vaxtı;

tв kəsilmiş proqramın bərpa vaxtıdır.

Kəsinti sorğusu siqnalı göründükdən sonra kompüter proqramı - kəsmə işləyicisini icra etməyə davam edir. İşləyici, yaranmış müstəsna vəziyyətlə əlaqədar zəruri olan hərəkətləri yerinə yetirir. Məsələn, belə bir vəziyyət kompüter klaviaturasında bir düyməyə basmaq ola bilər. Sonra işləyici basılan düymənin kodunu klaviatura nəzarətçisindən prosessora ötürməli və ola bilsin ki, bu kodu təhlil etməlidir. İşləyici işini başa vurduqda idarəetmə kəsilmiş proqrama keçir.

Reaksiya vaxtı- bu kəsmə tələbi siqnalının görünməsi ilə kəsmə proqramının (kesinti işləyicisi) icrasına başlaması arasındakı vaxtdır, əgər bu kəsmə xidmət üçün aktivdirsə.

Cavab müddəti prosessorun kəsmə sorğusunun baş verdiyini müəyyən etdiyi andan asılıdır. Kəsmə sorğularının sorğusu ya əmrin növbəti mərhələsi başa çatdıqdan sonra (məsələn, əmrin oxunması, birinci operandın oxunması və s.), ya da proqramda hər bir əmr yerinə yetirildikdən sonra həyata keçirilə bilər.

Kesintiləri üç qrupa bölmək olar: aparat, məntiqi və proqram təminatı.

Mənbələr hardware fasilələri – təchizatı gərginliyinin azalması, klaviaturada düymənin basılması, vaxt sayğacından növbəti impulsun gəlməsi, xüsusi siqnallar disketdən və ya sərt disklərdən və s.

Məntiqi və ya prosessor müdaxilə edirəsas mikroprosessorun işində müxtəlif qeyri-standart vəziyyətlərdə yaranır - sıfıra bölmə, registr daşması, "qırılma nöqtəsinin" görünüşü və s.

Proqram təminatı kəsilir- ən geniş kateqoriya. Onlar bir proqram digər proqramdan müəyyən bir xidmət almaq istədikdə istehsal olunur və bu xidmət adətən aparatın işləməsi ilə əlaqələndirilir.

Hər kəsin unikal nömrəsi var və yaranmış vəziyyətə xidmət etmək üçün nəzərdə tutulmuş xüsusi alt proqramla əlaqələndirilə bilər. Xidmət rejiminin özü, ümumiyyətlə, başqa bir fasilə ilə də dayandırıla bilər; lakin çox vaxt müəyyən bir fasiləyə xidmət göstərən alt proqramın işləməsi zamanı digər fasilələr “maskalı” olur, yəni onlara dərhal xidmət göstərilmir, lakin növbəyə qoyulur.

Maşının aparat komponentlərində, DOS-un özündə və tətbiqi proqramlarda xidmət göstərilməli olan fasilələr yaradıla bilər. BSVV aşağı səviyyəli fasilələrə - aparat komponentlərinə birbaşa nəzarət tələb edənlərə xidmət etmək vəzifəsi ilə həvalə edilmişdir. Bu kəsilmələr 0-dan 31-ə qədər nömrələnir (hex rəqəmləri 0 - 1F). Digər kəsmələr - rəqəmlər 32 - 63 (hex nömrələri 20 - 3F) - daha yüksək səviyyəyə aiddir və onların saxlanması digər ƏS modullarına təyin olunur.

Cədvəldə 3 verilmişdir ümumi siyahı BSVV tərəfindən xidmət edilən fasilələr. Real assembler dili proqramlarında və texniki ƏS ədəbiyyatında kəsilmələr onaltılıq kodlarla müəyyən edilir. Cədvəlin təhlilindən. 3-dən görünür ki, BSVM tərəfindən xidmət edilən kəsilmələr xarici cihazların - displey, klaviatura, float sürücü, printer, rabitə kanallarını idarə etmək üçün əsas əməliyyatlara uyğundur. Bu zaman BSVM-ə daxil olan alt proqramlar aşağı səviyyəli əməliyyatları yerinə yetirir. Məsələn, disket sürücüsünə xidmət göstərilməsi ilkin olaraq maqnit başlıqları quraşdırmaq, cihazın cari vəziyyətini yoxlamaq, müəyyən edilmiş disk sektorlarını birbaşa oxumaq və yazmaq, oxunmuş və ya yazılmış məlumatları yoxlamaq və nəhayət, diskləri formatlaşdırmaq (ilkin yerləşdirmə) imkanlarını əhatə edir.

Cədvəl 3. BSVV tərəfindən xidmət edilən fasilələr

Ondalık ədəd Hexadecimal ədəd
Sıfıra bölmə
Mikroprosessorun addım rejiminə keçirilməsi
Təchizat gərginliyinin azalması
Komanda ardıcıllığında kəsilmə nöqtəsinin görünməsi
Arifmetik vahid registrinin daşması
Ekranın qrafik surətinin çapı
Qorunur
Qorunur
Vaxt sayğacından siqnal - taymer
Klaviaturada bir düyməyə basmaqla siqnal
A Qorunur
Ondalık ədəd Hexadecimal ədəd Xidmət edilən vəziyyət və ya yerinə yetirilən funksiya
IN Qorunur
İLƏ Qorunur
D Qorunur
E NMD ilə mübadilənin sonu haqqında siqnal
F Printer baxımı üçün qorunur
Ekrana nəzarət
Qoşulmuş avadanlıqların siyahısını tələb edin
Fiziki yaddaş ölçüsünün sorğulanması
NMD rəhbərliyi
Rabitə adapterinin idarə edilməsi
Maqnitofon və digər cihazlara nəzarət etmək
Klaviatura nəzarəti
Printerin idarə edilməsi
ROM-da quraşdırılmış BASIC-ə daxil olmaq
Sistemin yenidən işə salınması
1A Sorğu / cari vaxtı və tarixi təyin edin
1B
1C
1D Ekranın başlanğıc parametrləri cədvəlinin ünvanı.
1E NGMD parametrləri cədvəlinin ünvanı
1F 128-255 kodları ilə simvol cədvəlinin ünvanı

Cədvəldə sadalananlardan bəziləri. 3 kəsmə bir-biri ilə əlaqəli bir neçə funksiyaya çıxışı təmin edir. Hər bir funksiya onaltılıq sayı (kod) ilə müəyyən edilir və bəzi xüsusi əməliyyatları yerinə yetirir.

Beləliklə, məsələn, kəsmə 19 (NGMD və NMD-yə nəzarət) 0-17 kodları ilə 18 funksiyaya girişi təmin edir:

0 - ilkin quraşdırma (disk sıfırlaması),

1 - cari disk vəziyyətini göstərmək,

2 - sektorlar qrupunu (blokunu) bir yoldan oxumaq,

3 - bir qrup sektoru bir yola qeyd etmək,

4 - oxuduqdan və ya yazdıqdan sonra yoxlama,

5 - trek formatlaması (sektor işarələrini qeyd etmək),

8 - cari sürücü parametrlərinin ekranı,

9 - sabit disk parametrləri cədvəlinin işə salınması,

A - "uzun" oxu,

B - "uzun" rekord,

C - istədiyiniz treki axtarın,

D - ilkin disk quraşdırılması,

10 - diskin hazırlığının yoxlanılması,

11 - diskin kalibrlənməsi,

14 - nəzarətçi diaqnostikası,

15 - sürücü növünün ekranı,

16 - disk statusunu dəyişdirin,

17 - sürücü növünün təyin edilməsi.

Kəsmə dərinliyi- bir-birini dayandıra bilən proqramların maksimum sayı. Kəsmə dərinliyi adətən kəsmə sistemi tərəfindən tanınan prioritet səviyyələrin sayına uyğun gəlir. Fərqli kəsmə dərinliklərində (n) kəsmə sisteminin işləməsi Şəkildə göstərilmişdir. 10. Burada kəsilmə sorğusunun sayı artdıqca onun prioritetinin də artdığı güman edilir.


düyü. 14. Müxtəlif kəsilmə dərinliklərində kəsmə sisteminin işləməsi

Kəsmə sorğusu qəbul edildikdə, kompüter aşağıdakı hərəkətlər ardıcıllığını yerinə yetirir:

1) ən yüksək prioritet olan maskalanmayan kəsmə sorğusunun müəyyən edilməsi (eyni zamanda bir neçə sorğu qəbul edilibsə);

2) seçilmiş sorğunun növünün müəyyən edilməsi;

3) qənaət cari vəziyyət proqram sayğacı və bayraq reyestri;

4) kəsmə növü üzrə kəsmə işləyicisinin ünvanının müəyyən edilməsi və idarəetmənin bu işləyicinin birinci əmrinə ötürülməsi;

5) proqramın yerinə yetirilməsi - kəsmə işləyicisi;

6) proqram sayğacının və kəsilmiş proqramın bayraq registrinin saxlanmış dəyərlərinin bərpası;

7) kəsilmiş proqramın icrasının davam etdirilməsi.

1-4-cü mərhələlər kəsilmə sorğusu göründükdə kompüter avadanlığı tərəfindən avtomatik yerinə yetirilir. Mərhələ 6, həmçinin kəsmə idarəçisindən qaytarma təlimatı əsasında aparatda yerinə yetirilir.

Müvafiq kəsmə işləyicisinə keçid (mikroprosessorun real iş rejimində) kəsmə vektor cədvəli vasitəsilə həyata keçirilir. Bu cədvəl ən aşağı ünvanlarda yerləşir RAM, 1 KB həcminə malikdir və 256 kəsmə işləyicisi üçün əmr seqmenti registrinin (CS) və təlimat göstəricisinin (IP) dəyərlərini ehtiva edir.

Kəsmə vektoru– kəsmə işləyicisinin ünvanını ehtiva edən yaddaş hüceyrəsi.

Kəsmə vektorları kəsilmə vektor cədvəlində birləşdirilir. Cədvəlin yeri mikroprosessorun növündən və iş rejimindən asılıdır.

Kəsmə mexanizminin əsas funksiyaları:

1.Kəsilmənin tanınması və ya təsnifatı.

2. İdarəetmənin kəsilmə işləyicisinə ötürülməsi.

3. Kəsilən proqrama düzgün qayıdış

Kəsilən proqramdan işləyiciyə və arxaya keçid mümkün qədər tez həyata keçirilməlidir. Sürətli üsullardan biri kompüter üçün icazə verilən bütün fasilələrin siyahısını və müvafiq işləyicilərin ünvanlarını ehtiva edən cədvəldən istifadə etməkdir. Kəsilən proqrama düzgün qayıtmaq üçün idarəetməni idarəediciyə ötürməzdən əvvəl prosessor registrlərinin məzmunu ya birbaşa giriş yaddaşında, ya da sistem yığınında saxlanılır.

Kəsmə siqnalları təsadüfi vaxtlarda baş verdiyindən, kəsilmə zamanı yalnız ardıcıllıqla işlənə bilən bir neçə kəsmə siqnalı ola bilər. Kəsmə siqnallarını ağlabatan ardıcıllıqla emal etmək üçün onlara prioritetlər verilir. Proqramlar, xüsusi maska ​​registrlərini idarə edərək, müxtəlif xidmət intizamlarını həyata keçirməyə imkan verir:

Daxili müdaxilələr.

Yuvalanmış kəsmələrlə, daha yüksək prioritet səviyyəsinə malik kəsmə sorğusu gəldikdə, cari kəsmə rejimi kəsilə (gecikdirilə bilər). Daha yüksək prioritet səviyyəli kəsməni emal etdikdən sonra prosessor kəsilmiş prosedura qayıdır və bu kəsilmə bitənə qədər və ya yeni kəsilmə baş verənə qədər emal etməyə davam edir. Aydındır ki, daha yüksək prioritet səviyyəyə malik fasilə xidməti rejimi öz növbəsində daha yüksək prioritet səviyyəli fasilə ilə kəsilə bilər və s. Eyni zamanda, interrupts daha çox var aşağı səviyyə cari ilə müqayisədə prioritet adətən qadağandır (maskalı).

Fasilə, xüsusi proqram - kəsmə işləyicisi tərəfindən hansısa hadisəni emal etmək üçün cari komandanın və ya cari əmrlər ardıcıllığının icrasının dayandırılması, ardınca kəsilmiş proqramın icrasına qayıtmasıdır. Hadisəyə proqramın icrası zamanı yaranan xüsusi vəziyyət və ya xarici qurğudan gələn siqnal səbəb ola bilər. Proqramın icrası və xarici qurğularla qarşılıqlı əlaqə zamanı yaranan xüsusi vəziyyətlərə tez reaksiya vermək üçün fasilədən istifadə olunur.

Kəsmə mexanizmi müvafiq kompüter avadanlıqları və proqram təminatı ilə təmin edilir.

Kəsilə səbəb olan hər hansı istisna kəsilmə sorğusu (IR) adlanan siqnalla müşayiət olunur. Xarici qurğulardan kəsilmə sorğuları xüsusi xətlər vasitəsilə prosessora daxil olur və proqramın icrası zamanı yaranan sorğular birbaşa mikroprosessorun daxilindən gəlir. Hər iki növ kəsintilərin idarə edilməsi mexanizmləri oxşardır. Əsasən aparat fasilələrinin işlənməsinə əsaslanaraq, kəsilmə tələbi siqnalı görünən zaman kompüterin işləməsini nəzərdən keçirək (şək. 11.1).

düyü. 11.1. Kompüterdə kəsilmənin yerinə yetirilməsi: tр - fasilə sorğusuna prosessorun cavab müddəti; tс - kəsilmiş proqramın vəziyyətini saxlamaq və kəsmə işləyicisini çağırmaq vaxtı; tв - kəsilmiş proqramın bərpa müddəti

Kəsinti sorğusu siqnalı göründükdən sonra kompüter proqramı - kəsmə işləyicisini icra etməyə davam edir. İşləyici, yaranmış müstəsna vəziyyətlə əlaqədar zəruri olan hərəkətləri yerinə yetirir. Məsələn, belə bir vəziyyət kompüter klaviaturasında bir düyməyə basmaq ola bilər. Sonra işləyici basılan düymənin kodunu klaviatura nəzarətçisindən prosessora ötürməli və ola bilsin ki, bu kodu təhlil etməlidir. İşləyici işini başa vurduqda idarəetmə kəsilmiş proqrama keçir.

Cavab müddəti, kəsilmə tələbi siqnalının görünməsi ilə kəsmə proqramının (kəsilmə işləyicisi) icrasına başlaması arasındakı vaxtdır, əgər fasilə xidmət üçün aktivdirsə.

Cavab müddəti prosessorun kəsmə sorğusunun baş verdiyini müəyyən etdiyi andan asılıdır. Kəsmə sorğularının sorğusu ya əmrin növbəti mərhələsi başa çatdıqdan sonra (məsələn, əmrin oxunması, birinci operandın oxunması və s.), ya da proqramda hər bir əmr yerinə yetirildikdən sonra həyata keçirilə bilər.

Birinci yanaşma daha sürətli cavab verir, lakin eyni zamanda, kəsmə işləyicisinə keçərkən, prosessor bufer registrlərinin vəziyyəti, tamamlanmış registrlərin sayı daxil olmaqla, kəsilmiş proqram haqqında böyük miqdarda məlumat saxlamaq lazımdır. mərhələ və s. İşləyicidən qayıtdıqda, prosessorun vəziyyətini bərpa etmək üçün də böyük miqdarda iş görülməlidir.

İkinci halda, reaksiya müddəti kifayət qədər uzun ola bilər. Bununla belə, kəsmə işləyicisinə keçərkən, kəsilmiş proqramın minimum kontekstini (adətən proqram sayğacı və bayraq registrini) xatırlayaraq. İndiki vaxtda kompüterlər daha çox növbəti əmr tamamlandıqdan sonra kəsmə sorğusunun tanınmasından istifadə edirlər.

Cavab müddəti ən yüksək prioritet olan sorğu üçün müəyyən edilir.

Fasilə dərinliyi bir-birini kəsə bilən proqramların maksimum sayıdır. Kəsmə dərinliyi adətən kəsmə sistemi tərəfindən tanınan prioritet səviyyələrin sayına uyğun gəlir. Fərqli kəsilmə dərinliklərində (n) kəsmə sisteminin işləməsi Şəkil 11.2-də göstərilmişdir. Burada güman edilir ki, kəsmə sorğusu sayı artdıqca onun prioriteti də artır.

düyü. 11.2. Kəsmə sisteminin müxtəlif kəsilmə dərinliklərində işləməsi

Reaksiya müddətini, həmçinin yaddaş vaxtını və bərpa müddətini nəzərə almadan:

Kesintilər aparat və proqram təminatına bölünür.

Aparat Kesintilər xarici qurğularla qarşılıqlı əlaqəni təşkil etmək üçün istifadə olunur. Aparatın kəsilməsi sorğuları mikroprosessorun xüsusi girişlərinə göndərilir. Onlar:

maskalana bilən, kompüter proqramı ilə maskalana bilən;

maskasız, sorğu bu şəkildə maskalana bilməz.

Proqram təminatı Fasilələrə aşağıdakı hallar səbəb olur:

əmrin icrası zamanı yaranan və proqramın normal davam etdirilməsinə mane olan xüsusi hal (daşmaq, yaddaşın qorunmasının pozulması, RAM-da tələb olunan səhifənin olmaması və s.);

proqramda adətən proqramçı tərəfindən məlumatın daxil edilməsi/çıxışı üçün əməliyyat sisteminin xüsusi funksiyalarına daxil olan zaman istifadə olunan xüsusi kəsmə əmrinin INT n olması.

Kompüterdəki hər kəsmə sorğusuna öz nömrəsi verilir ( kəsmə növü), kəsmə işləyicisinin ünvanını təyin etmək üçün istifadə olunur.

Kəsmə sorğusu qəbul edildikdə, kompüter aşağıdakı hərəkətlər ardıcıllığını yerinə yetirir:

1. ən yüksək prioritet olan maskalanmayan fasilə sorğusunun müəyyən edilməsi (eyni zamanda bir neçə sorğu qəbul edilibsə);

2. seçilmiş sorğunun növünün müəyyən edilməsi;

3. proqram sayğacının və bayraq registrinin cari vəziyyətinin saxlanması;

4. kəsmə növü üzrə kəsmə işləyicisinin ünvanının müəyyən edilməsi və idarəetmənin bu işləyicinin birinci əmrinə ötürülməsi;

5. proqramın yerinə yetirilməsi - kəsmə işləyicisi;

6. proqram sayğacının və kəsilmiş proqramın bayraq registrinin saxlanmış dəyərlərinin bərpası;

7. Kəsilən proqramın icrasına davam edin.

1-4-cü mərhələlər kəsilmə sorğusu göründükdə kompüter avadanlığı tərəfindən avtomatik yerinə yetirilir. Mərhələ 6, həmçinin kəsmə idarəçisindən qaytarma təlimatı əsasında aparatda yerinə yetirilir.

Proqramçının vəzifəsi proqram yaratmaqdır - bu tip sorğunun görünüşü ilə bağlı hərəkətləri yerinə yetirəcək və bu proqramın başlanğıc ünvanını kəsmə ünvanlarının xüsusi cədvəlində yerləşdirəcək bir kəsmə işləyicisi. İşləyici proqramı, bir qayda olaraq, onun tərəfindən dəyişdiriləcək prosessor registrlərinin vəziyyətini saxlamaqla başlamalı və bu registrlərin vəziyyətini bərpa etməklə başa çatmalıdır. İşləyici proqramı prosessora kəsilmiş proqrama qayıtmaq zərurətini göstərən xüsusi əmrlə başa çatmalıdır.

Kəsmə tələbi siqnallarının mövcudluğunun tanınması və onların ən yüksək prioritetinin müəyyən edilməsi müxtəlif üsullardan istifadə etməklə həyata keçirilə bilər. Onlardan birini nəzərdən keçirək.

Zəncirlənmiş tək dövrəli kəsmə tələbinin prioritetləşdirilməsi sistemi

Şəkildə. Şəkil 11.3 səsvermə siqnalı göndərilərkən kompüterdə olanlardan ən yüksək prioritet kəsmə sorğusunun sayının (“papatya zənciri”) alınmasını təmin edən diaqramı göstərir.

Bu dövrə hardware kəsilməsi sorğularını təhlil etmək üçün istifadə olunur. Kəsmə sorğularının prioriteti (IR i) sorğu sayının azalması ilə azalır. Kompüter xaricinin mövcudluğunu və prioritetini təyin etməli olduğu anda hardware kəsilməsi(adətən hər təlimat tamamlandıqdan sonra) prosessor səsvermə siqnalı verir. ZP 3 girişində siqnal varsa yüksək səviyyə(sorğu var), sonra 11-ci elementdə kəsmə sorğusunun olması üçün ümumi siqnal yaradılır və səsvermə siqnalının sonrakı keçidi bloklanır. ZP 3 =0 olarsa, ZP 2-dən gələn siqnal təhlil edilir və s. Kodlayıcı (element 12) daxil olan kəsmə sorğusunun nömrəsini yaradır.

Bu nömrə prosessora yalnız ümumi kəsilmə tələbi siqnalı olduqda ötürülür.

Bu struktur kəsmə sorğusu siqnalının mövcudluğunu tez təhlil etməyə və mövcud olan bir neçə nəfərdən ən yüksək prioritet sorğunu təyin etməyə imkan verir hal-hazırda. Xarici qurğulardan kəsilmə sorğularının prioritet paylanması onların prosessorla bağlı fiziki olaraq dəyişdirilməsi ilə həyata keçirilir. Prioritetlərin göstəricisi sərtdir və proqramlı şəkildə dəyişdirilə bilməz. Prioritetləri dəyişdirmək yalnız cihazları fiziki olaraq yenidən birləşdirməklə mümkündür.

düyü. 11.3.Ən yüksək prioritet kəsmə sorğusunun sayını təyin etmək üçün sxem

Fərdi kompüterdə işin dayandırılması

x86 mikroprosessorlarında iki xarici aparat kəsmə sorğusu girişi var:

NMI - maskalana bilməyən kəsmə, adətən elektrik kəsilməsinin kəsilməsi sorğuları üçün istifadə olunur;

INT maskalana bilən fasilədir, sorğu bayraqlar reyestrində IF bayrağını sıfırlamaqla proqramlı şəkildə maskalana bilər.

düyü. 11.4. Prioritet kəsmə nəzarətçi strukturu

Mikroprosessorun maskalana bilən fasilələri üçün yeganə sorğu girişi sorğu siqnallarının birbaşa qoşulmasına imkan vermir çox sayda daxil olan müxtəlif xarici cihazlar müasir kompüter: taymer, klaviatura, siçan, printer, şəbəkə kartı və s. Onları mikroprosessorun bir INT girişinə qoşmaq üçün prioritet kəsmə tənzimləyicisindən istifadə olunur (şək. 11.4). Onun funksiyaları:

Xarici cihazlardan kəsilmə sorğularının qəbulu və qeydi;

Daxil olan sorğular arasında maskalanmamış sorğuların müəyyən edilməsi;

Arbitrajın aparılması: prioritetlərin təyin edilməsi üçün müəyyən edilmiş mexanizmə uyğun olaraq maskalanmamış sorğular arasından ən yüksək prioritet sorğunun seçilməsi;

Seçilmiş sorğunun prioritetinin hazırda mikroprosessorda emal oluna bilən sorğunun prioriteti ilə müqayisəsi, yeni sorğunun prioriteti daha yüksək olduqda mikroprosessorun INT girişi üçün sorğu siqnalının yaradılması;

Arbitraj prosesi zamanı seçilmiş kəsmə tipli məlumatların müvafiq proqramı - kəsmə işləyicisini işə salmaq üçün verilənlər şini vasitəsilə mikroprosessora ötürülməsi; bu hərəkət mikroprosessordan gələn INTA kəsilmənin aktivləşdirilməsi siqnalı tərəfindən yerinə yetirilir ki, bu siqnal mikroprosessorun bayraqları registrində kəsilmələr maskalanmadıqda verilir (IF=1).

Müvafiq kəsmə işləyicisinə keçid (mikroprosessorun real iş rejimində) kəsmə vektor cədvəli vasitəsilə həyata keçirilir. Bu cədvəl (Şəkil 11.5) RAM-ın ən aşağı ünvanlarında yerləşir, 1 KB həcminə malikdir və 256 kəsmə işləyicisi üçün əmr seqmenti registrinin (CS) və göstəriş göstəricisinin (IP) qiymətlərini ehtiva edir.

düyü. 11.5. Vektor cədvəlinin strukturunu kəsmək