Зілістерді өңдеу

 

Қазiргi микропроцессордың жұмысындағы маңызды рөлді үзілістер ойнайды. Олар әрқашан бағдарламаның негізгі орындалуын бұзады.

Үзілістер тудыратын оқиғалар екi топқа бөлінуі мүмкiн: фаталды және фаталды емес. Фаталды үзілістерге процессор жалғыз әдiспен ғана әсер ете алады: бағдарламаның орындалуын тоқтатып, болған оқиғаны талдап және тиiстi шара қолданады. Алайда, көпшілік жағдайда бағдарламалар тоқтатуын кiдiрте тұруға болады: үзіліс болғанын есте сақтап, бағдарламаның орындалуын жалғастыра беруге болады. Мысалы, принтерден баспаға шығарған кезде қабылдауға дайын емес ақпарат кейінге қалдырылуы мүмкін (бірақ бұл мәлімет сақталады).

Үзілістердiң негiзгi түрлері – ішкі процессорлық үзілістер және сыртқы құрылғылардан пайда болған үзілістер. Алғашқысы бағдарлама орындалуы кезінде алынбас бөгеттiң пайда болуымен байланысты. Мұның бірнеше себебі бар: жадыдан коды немесе адресі жоқ команда таңдалып, команданы орындау барысында ЭЕМ-нің разрядтық торының толысуы немесе басқа командаға бөлінген жедел жадыға жазылуға талпыныс пайда болады. Мұндай көп жағдайда бағдарламаның орындалуы тоқтатылып, басқару операциялық жүйеге беріледі.

Өте сирек болса да фаталды емес ішкі процессорлық үзілістер кездесіп тұрады. Олар мысалы: арнаулы кейінге қалдырылатын үзілістер. Мұндай үзілістер арнаулы бағдарламаның басқарылуымен тестіленетін бағдарламаның қадамдық орындалуына мүмкіндік береді.

Екiншi топтың үзілістерi көбінесе қандай да бір сыртқы құрылғылардың талаптары бойынша пайда болады. Мұндай оқиға әдетте бағдарламаның фаталды аяқтауына алып келмейдi, керiсiнше, бұл қалыпты жағдай. Сондықтан МП бағдарламаның әрі қарай орындалуын қамтамасыз ету үшін қажетті шараларды қолданады: командалар есептеуiшiнiң ағымдағы стектегі мәнін және қалып регистрінің мазмұнын сақтайды. Содан соң үзілістерді өңдеуді жүзеге асыратын ішкі бағдарламаға көшеді. Процессор стектің ағымдағы мәнін және қалып регистрінің мәнін қалпына келтіріп, үзiлген бағдарламаның орындауын жалғастырады.

Сыртқы құрылымдардағы үзілістер келесi тармақтарда толық қаралады.

Үзіліс термині тағы бір мағынада қолданылатынын атап өткен жөн. Мұндағы айтып отырғанымыз бағдарламалық үзілістер. Мысалы, IBM үшін үйлесiмдi компьютерлерде көптеген нөмірлі 1NT үзілістер командалары бар. 1NT-бұл процессор нұсқауларының бірі деп түсінген жөн; ол жұмыс iстеуі үшін, оның коды бағдарламада болуы керек. Бұған қарама-қайшылық ретінде шын үзілістер аппаратты түрде пайда болып, ешқандай арнаулы команда болуын қамтамасыз етпейтіні айтып кеткен жөн. Керiсiнше, аппараттық үзіліс бағдарламаның кез келген екі командаларының арасында бола алады.

Бағдарламалық үзілістерге машина аралық үзілістер жатады. Олар жергілікті желіде компьютерлер арасында ақпарат алмасқан кезде пайда болады.

Фаталды емес үзілістерге тыйым жасауды жасыру (маскировка) деп атайды. Жасыру арнайы бағдарламамен немесе жүйелік бағдарлама арқылы жасалады. Бұл арнаулы регистрде биттік өрістің қойылуымен жүзеге асырылады. Мұндағы разрядтардың мәндері сәйкесінше үзіліс разрядының бар жоқтығына байланысты, не болмаса регистр қалпы разрядын қарапайым қолдануымен байланысты.

Жасырылмаған үзіліс туралы сигнал келген соң, процессор келесі әрекеттерді орындайды:

• үзiлген бағдарламаның күйiн есте сақтайды;

• үзіліс көзiн табады;

• арнайы жүйелiк үзілістерді өңдейтін бағдарламаны шақырып орындайды;

• үзiлген бағдарламаның күйiн қалпына келтiредi және мүмкiндiк болса оның орындауын жалғастырады.

Үзілістің көзін табуда процессор қалпы регистрінің кейбір биттері талданып, сыртқы құрылғылардың қалпы тексеріледі және т.б. Үзілген бағдарламаның қалып-күйін сақтау үшін көбінесе стек қолданылады. Сонымен қатар, процессор стекті үзілістерді ұйымдастыру механизмі ретінде ғана емес, сондай-ақ, ішкі бағдарламаларға қатынау құралы ретінде және параметрлерді жеткізу, уақытша мәліметтерді сақтау үшін қолданылады.

Үзілісті өңдеуші бағдарлама үзілістің себебін тауып, қолданушыға түсінікті формада экранға шығарып беру және мүмкін болған жағдайда қолданушыға ұсыныс беруге тиіс. Осының бәрі 1-ші және 2-ші буын машиналарының бір-бірінен өзгеше болғанынан туындайды. Себебі, ол кезде көпшілік жағдайда қолданушы жүйелік бағдарламашының көмегінсіз үзіліс тудырған оқиғаның себебін біле алмайтын болған. Мұндай жағдайға шыдау дербес компьютерлердің қолданушылары үшін мүмкін емес еді. Үзілістерді өңдеу бағдарламасының анализаторы жетілдірілген сайын қолданушы интерфейсінің «татулық» деңгейі жоғары болады.








Дата добавления: 2014-12-22; просмотров: 2672;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.