73
разрядтық торының толысуы немесе басқа командаға бӛлінген жедел
жадыға жазылуға талпыныс пайда болады. Мҧндай кӛп жағдайда
бағдарламаның орындалуы тоқтатылып, басқару операциялық жҥйеге
беріледі.
Ӛте сирек болса да фаталды емес ішкі процессорлық ҥзілістер
кездесіп тҧрады. Олар мысалы: арнаулы кейінге қалдырылатын
ҥзілістер. Мҧндай ҥзілістер арнаулы
бағдарламаның басқарылуымен
тестіленетін бағдарламаның қадамдық орындалуына мҥмкіндік береді.
Екiншi топтың ҥзілістерi кӛбінесе қандай да бір сыртқы
қҧрылғылардың талаптары бойынша пайда болады. Мҧндай оқиға
әдетте бағдарламаның фаталды аяқтауына алып келмейдi, керiсiнше,
бҧл қалыпты жағдай. Сондықтан МП
бағдарламаның әрі қарай
орындалуын қамтамасыз ету ҥшін қажетті шараларды қолданады:
командалар есептеуiшiнiң ағымдағы стектегі мәнін және қалып
регистрінің мазмҧнын сақтайды. Содан соң ҥзілістерді ӛңдеуді жҥзеге
асыратын ішкі бағдарламаға кӛшеді. Процессор стектің ағымдағы
мәнін және қалып регистрінің мәнін қалпына келтіріп, ҥзiлген
бағдарламаның орындауын жалғастырады.
Сыртқы қҧрылымдардағы ҥзілістер келесi тармақтарда толық
қаралады.
Ҥзіліс термині тағы бір мағынада қолданылатынын атап ӛткен
жӛн. Мҧндағы айтып отырғанымыз бағдарламалық ҥзілістер. Мысалы,
IBM ҥшін ҥйлесiмдi компьютерлерде кӛптеген нӛмірлі 1NT ҥзілістер
командалары бар. 1NT-бҧл процессор нҧсқауларының
бірі деп
тҥсінген жӛн; ол жҧмыс iстеуі ҥшін, оның коды бағдарламада болуы
керек. Бҧған қарама-қайшылық ретінде шын ҥзілістер аппаратты
тҥрде пайда болып, ешқандай арнаулы команда болуын қамтамасыз
етпейтіні айтып кеткен жӛн. Керiсiнше, аппараттық ҥзіліс
бағдарламаның кез келген екі командаларының арасында бола алады.
Бағдарламалық ҥзілістерге машина аралық ҥзілістер жатады.
Олар жергілікті желіде компьютерлер
арасында ақпарат алмасқан
кезде пайда болады.
Фаталды емес ҥзілістерге тыйым жасауды жасыру (маскировка)
деп атайды. Жасыру арнайы бағдарламамен немесе жҥйелік
бағдарлама арқылы жасалады. Бҧл арнаулы регистрде биттік ӛрістің
қойылуымен жҥзеге асырылады. Мҧндағы разрядтардың мәндері
сәйкесінше ҥзіліс разрядының бар жоқтығына байланысты, не
болмаса регистр қалпы разрядын қарапайым қолдануымен
байланысты.
Жасырылмаған ҥзіліс туралы сигнал келген соң,
процессор
келесі әрекеттерді орындайды:
• ҥзiлген бағдарламаның кҥйiн есте сақтайды;
• ҥзіліс кӛзiн табады;
• арнайы жҥйелiк ҥзілістерді ӛңдейтін бағдарламаны шақырып
74
орындайды;
• ҥзiлген бағдарламаның кҥйiн қалпына келтiредi және мҥмкiндiк
болса оның орындауын жалғастырады.
Ҥзілістің кӛзін табуда процессор қалпы регистрінің кейбір
биттері талданып, сыртқы қҧрылғылардың қалпы тексеріледі және т.б.
Ҥзілген бағдарламаның қалып-кҥйін сақтау ҥшін кӛбінесе стек
қолданылады. Сонымен қатар, процессор стекті ҥзілістерді
ҧйымдастыру
механизмі ретінде ғана емес, сондай-ақ, ішкі
бағдарламаларға қатынау қҧралы ретінде және параметрлерді жеткізу,
уақытша мәліметтерді сақтау ҥшін қолданылады.
Ҥзілісті ӛңдеуші бағдарлама ҥзілістің себебін тауып,
қолданушыға тҥсінікті формада экранға шығарып беру және мҥмкін
болған жағдайда қолданушыға ҧсыныс беруге тиіс. Осының бәрі 1-ші
және 2-ші буын машиналарының бір-бірінен ӛзгеше болғанынан
туындайды. Себебі, ол кезде кӛпшілік жағдайда қолданушы жҥйелік
бағдарламашының кӛмегінсіз ҥзіліс тудырған оқиғаның себебін біле
алмайтын болған. Мҧндай жағдайға шыдау
дербес компьютерлердің
қолданушылары ҥшін мҥмкін емес еді. Ҥзілістерді ӛңдеу
бағдарламасының анализаторы жетілдірілген сайын қолданушы
интерфейсінің «татулық» деңгейі жоғары болады.
Достарыңызбен бөлісу: