Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mkvsu_UMK.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.23 Mб
Скачать

Үрдісші мен үзіліс бақылағышының бірге әрекет етуі

Үзілістің сыртқы жүгінулерін өңдеудің үрдісші және үзіліс бақылағыштарымен іске асу әрекетін қарстырсақ. Бақылағыш автоматты түрде кірістері арқылы келетін жүгінудің сыртқы дабылдарының фиксациясын және үзіліс маскасы негізінде сүзгіленуі мен белсенді рұқсат етілген жүгінулердің приоритеттісін іздейді. Осындай жүгіну анықталған жағдайда бақылағыш үрдісшіге арнайы дабыл INT , яғни үрдісшінің үзіліс жүгіну дабылын (сәйкес келетін үрдісшінің кірісі әдетте INT деп аталады)береді. Егер үрдісші INT (үрдісшінің өзінде бағдарламалық түзетумен анықталады), кірісі бойынша дабылды өңдейтін болса, онда ол үзіліс бақылағышына кірісі бойынша INTA– үзілісті растау дабылымен жауа қайтарады. Бақылағыш INTA растау дабылын қабылдап, үзіліс нөміріне( белсенді желінің нөмірі), сәйкес келетін деректер шинасына екілік кодты шығарып, үрдісшіге қандай көздің жүгінуін өңдеу керектігі туралы хабар береді. Үзіліс нөмірі үрдісшіге берілген жүгінуге себепші болған оқиғаны өңдеуде нақты процедураны белсендіру мүмкіндігін береді.

Ары қарай үрдісшінің үзілісті өңдеу процедурасына өткенде қатал түрде оның аппараттық құрылысымен анықталады. Жаңа үлгідегі үрдісшілерде өңдеу процедураларына өтудің екі мақсаттарының біреуі ғана іске асырылған: ол векторлы өту мен векторлы-бағдарламалық өту.

Үзілісті өңдеу процедурасына векторлы-бағдарламалық өту

Векторлық мақсатынан айырмашылығы болып, векторлар өту кестесінің элементі өңдеу процедурасына өту бұйрығынан тұруында(мысалы, JMP <adr>бұйрығынан).

Бұл жағдайда үрдісші стекте PC –ның қазіргі құрамын сақтап, сол тіркегішке кестенің қажетті элементінің адресін тауып жазады. Кестенің қажетті элементінің құрамы үрдісшіге бұйрық ретінде есептеліп және орындалады(6.14-б-сурет).

Векторлар кестесінің элементіне үзілісті өңдеудің қысқа процедурасыда орналастырылуы мүмкін.

Векторлы-бағдарламалық мақсатты мөлтікбақылағыштардың көптеген модельдеріне қолданады. Бұл жағдайда векторлардың өту кестесі үзілісті өңдеу процедураларына өту бұйрықтарының кестесі деп те аталады.

6.14-сурет. Үзілісті өңдеудің ішкі бағдарламаларына өту тәсілдері: а) векторлы; б) векторлы-бағдарламалық

Үзілісті өңдеу процедурасына векторлы өту

Кіші адрестері бойынша жүйелік адрестік кеңістігінде үзілісті өңдеу процедурасына векторлы өту орналастырылған. Ол көлемі 2..4 байт болатын n элементтерден тұрады және оларға жүйелік ПО-ны құрастырушылар үзіліске нақты жүгінулердің адресін,яғни кестенің нөмірінің элементтеріне сәйкес үзілістің өңделу процедураларының жадысына орналастыру адрестерін жазу керек. Жүгінудің нөмірі (немесе үзіліс) векторлар кестесінің нөмірімен байланыстырылған.

Жадыда AdrN адресі бойынша орналасқан кестенің нақты элементі AdrN = k´ N қатынасымен анықталады. Мұндағы k – үрдісшінің түріне тәуелді байттағы кесте элементінің өлшемі, Nүзілістің шартты нөмірі.

Белсенді үзілістің нөмірін үзіліс бақылағышынан алған үрдісші автоматты түрде стекте PC бұйрығы (үзілген бағдарламаға қайта оралу адресі) есептегішінің қазіргі құрамын сақтап, жадыға AdrN адресімен жүгініп, кестенің элементінің ішіндегі құрамын шығарып, PC тіркеушісіне орналастырады. Сонымен өңдеу процедурасының алғашқы бұйрығы орындалады(6.14-а-сурет).

Уақыт функциясының іске асуы. Келесі уақыт аралықтарының іске асуы, уақыт аралықтары ұзындығының өлшеу, импульстер санын есептеу сияқты іс-әрекеттерден тұрады. Уақыт функциясының іске асу пішімі бойынша екі түрге бөлінеді: бағдарламалық – бұйрықтың орындалуының белгілі уақытының негізінде есептелетін берілген ұзындығы бойынша бағдарламалық орындалуы және уақыт өлшегіштер негізіндегі аппараттық болады.

Уақыт өлшегіш – бұл есептегіш алдын ала орнатылған тіркеуші негізінде орындалған аппараттық топтама немесе мөлтіксұлба болып табылады. Уақыт аралықтарын іске асыру немесе өлшеу тұрақты белгілі периоды бар аппараттық түрде импульстер санын есептеуде іске асырылатын немесе өлшенетін уақыт аралығына негізделген. Мұндағы N- есептелетін импульстер саны.

Аралықты өлшеу дәлдігі - . Асинхронды(периодты емес) сыртқы импульстарды есептеу уақыт өлшегіштерде орындалады, бірақ бағдарламалық жолмен де іске асуы мүмкін.

Уақыт өлшегіш үрдісшіден бөлек орындалатын жеке аппараттық топтамалар болғандықтан, деректерді өңдеу бойынша үрдісшінің жұмысын және уақыт өлшегішпен уақыт функциясының іске асуын параллельді үрдісшінің жүктелуімен орындау мүмкіндігі бар.

Уақыт өлшегіштің жалпы құрылысы 6.15-суретте көрсетілген.

Уақыт өлшегіштің бағдарламалық түрде іске қосылуы МҮ-жүйесінде іске қосу дабылы пайда болуы сияқты кейбір бұйрықтардың орындалу нәтижесінен кейін орын алады. Осыдан кейін біраз уақыт өткенде үрдісші мен уақыт өлшегіш параллельді түрде жұмыс істей бастайды: үрдісші бағдарламаның қазіргі бұйрықтарын орындайды, ал уақыт өлшегіш берілген көздің импульсін санайды. Санақ аяқталғанда уақыт өлшегіш үрдісшіге санақ аяқталғаны туралы хабарды INT дабылының көмегімен жеткізеді. Бұл дабыл әдетте МҮ-жүйесінде үзіліс дабылы ретінде өңделеді. Сонымен бағдарламаның уақыт өлшегіштің (бірақ олда мүмкін)жағдайын тұрақты анализдеп отырудың қажеті жоқ .

6.15-сурет. Уақыт өлшегіштің типтік құрылысы.

Уақыт өлшегіштен үзілу дабылының берілуі нөлдік жағдайға жеткенде немесе іске асырылатын уақыт аралығының аяқталғанына сәйкес келетін толы болуы.

Уақыт өлшегіштің есептеуді іске асыратын механизмі келесідей:

-    қосу амалының орындалуымен , мұндағы i, i-1 –кезекті импульстің түсуіне сәйкес келетін уақыт моменттері;

-    азайту амалымен орындалатын

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

-    есептеудің ең көп аралығын анықтайтын (яғни ұзындықты іске асыру немесе өлшеу) түрлі разрядтылық (8,16). Мұнда , р – есептеу тіркегішінің разрядтылығы;

-    жиілікті алдын ала бөлетін есептеу тәртібі;

-    ұзындықтары бірдей үзіліссіз бірінен кейін бірінің іске асуы үшін алғашқы санның автожүктеу тәртібі;

-    OUT шығыстағы меандраның генерациялау тәртібі.

Уақыт өлшегіштер есептегіштердің қарапайым ИС-на қарағанда күрделі құрылғы болғандықтан оны іске қосардың алдында бағдарламалық түрде иницализациясын орындау керек. Ол келесі есептеу тіркегіштерінің(жұмыс тәртібі) конфигурациясын бағдарламалық түзету және есептеу тіркегіштеріне бастапқы сандарын жазу сияқты кезеңдерден тұрады. Бағдарламалық түзетудің ережесі нақты уақыт өлшегішінің спецификасымен анықталып, онық құжаттамаларында сақталады.

Бастапқы санды таңдау жіне тапсырмасы талап етілген ұзындықтың уақыт аралығын іске асыруда қажет.

Азайту тәртібінде жұмыс істейтін уақыт өлшегіштері үшін ;

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

Уақыт аралығының аяқталуының идентификациялануы уақыт өлшегіштерінің үзілу дабылымен ғана іске асады, ал уақыт аралығының аяқталуының өңделуімен байланысты әрекеттер осы үзілудің өңдеу процедурасында орналасады.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]