Структура на системата за прекъсване

Компютърна и комуникационна техника Лекция

Ключови понятия:
 Система за прекъсване
 Заявка за прекъсване
 Апаратна заявка за прекъсване
 Програмна заявка за прекъсване
 Маска на заявка за прекъсване
 Приоритет на заявка за прекъсване
 Програма за обслужване на заявка за прекъсване




Цели:
След запознаване с материала Вие трябва да можете:
 да дадете определение за функциите на системата за
прекъсване;
 да посочите видовете заявки за прекъсване;
 да обясните предназначението на програмно достъпните
регистри, включени в състава на системата за прекъсване;
 да обясните начина на действие на системата за прекъсване.

Системата за прекъсване е основна съставна част на всеки компютър. Най-
общо може да се каже, че една от основните задачи на компютъра се свежда
до селектиране и обслужване на заявките за прекъсване и че почти всяка
изпълнявана в даден момент програма е всъщност програма за обслужване
на конкретна заявка - с изключение на програмата за начално установяване.
Това прави ролята на системата за прекъсване изключително важна, а
нейното програмиране - много отговорна задача, от правилното решение на
която зависи до голяма степен функционирането на цялата компютърна
система.

1. Видове заявки за прекъсване:
 апаратни: външни и вътрешни;
 програмни.
Апаратните заявки представляват физически сигнал (напрежение или ток), който се
подава отвън (външна заявка - от входно-изходно устройство) или се формира от
някой блок на компютъра (вътрешна заявка - от таймер, последователен порт и др.).
Програмните заявки се формират при изпълнението на съответна инструкция,
записана на определено място в програмата.

За да може даден процесор да обслужва n различни заявки за прекъсване, трябва
предварително да бъдат съставени и записани в програмната му памет също
толкова програми (фиг.1). Всяка от тези програми има свой начален адрес.


Фиг.1. Съдържание на програмната памет

Програмна памет
Начален адрес
НА
НА
НА
НА
Програма за
обслужване на
заявка за прекъсване
No 1
ПОЗПр No 2
ПОЗПр No n

2. Структура на системата за прекъсване
Регистрите на заявките (РЗ), на маските (РМ) и на приоритетите (РП) обикновено са
толкова разрядни, колкото са заявките, които процесорът трябва да обслужва.



Фиг.2. Структура на системата за прекъсване

Постъпването на конкретна заявка за прекъсване води до запис на единица в
съответния тригер на регистъра на заявките. Това се нарича още “вдигане на флаг”.
Със запис на “1” (“0”) в даден разряд на регистъра на маските се разреша ва
(забранява) обслужването на заявката със същия номер. А чрез запис на “1”, респ.
“0” в даден разряд на регистъра на приоритетите се определя дали приоритетът на
заявката със същия номер ще бъде съответно висок или нисък. Нивата на приоритет
могат да бъдат и повече от две.

В състава на системата за прекъсване на някои процесори се включва и още един
регистър, чрез съдържанието на който се определя, дали флаговете ще се вдигат с
ниво или фронт, респ., с какво ниво (“0” или “1”) и какъв фронт (“0-1” или “1-0”).
Всички програмно достъпни регистри на системата за прекъсване (РМ и РП) трябва
да се зареждат с определено съдържание при изпълнение на програмата за начално
установяване на процесора. Този процес се нарича “инициализация” на системата.
СИСТЕМА ЗА ПРЕКЪСВАНЕ
П Р О Ц Е С О Р
Т1 Т1 Т1
Тn Тn Тn
Вътрешни заявки
Външни заявки
Програмно достъпни регистри
Регистър на заявките Регистър на маските
Регистър на приоритетите
Указател на стека

3. Начин на действие на системата за прекъсване
След постъпване на i-тата заявка за прекъсване се вдига съответният й флаг
(РЗ.i=1), след което, ако заявката е разрешена (РМ.i=1) и има по-висок приоритет от
изпълняваната в момента заявка (РП.i=1), става следното:
 изчаква се да се изпълни докрай текущата инструкция;
 запомня се приоритетът на заявката в един програмно недостъпен регистър;
 съдържанието на брояча на адреса на командите (програмния брояч) се
изпраща в оперативната памет в област, наричана стек, и по-точно в клетка,
сочена от съдържанието на регистър, наречен указател на стека (SP) - фиг.3
(при някои процесори в стека се изпраща автоматично съдържанието и на
други програмно достъпни регистри, което образува т.нар. “дума за
състоянието на програмата” - PSW);
 сваля се флагът на заявката (не всички флагове се свалят автоматично);
 определя се началният адрес на програмата за обслужване на постъпилата
заявка за прекъсване и се записва в програмния брояч (в зависимост от
процесора това става апаратно, програмно или апаратно-програмно);
 изпълнява се програмата (при необходимост тази програма може да
прехвърли в стека съдържанието и на други регистри и след това да ги
върне обратно, да свали флага, ако същият не е бил нулиран автоматично,
да зареди регистрите на маските и на приоритетите с други кодове и т.н.);
 след като програмата се изпълни, се възстановява състоянието на
процесора в момента на прекъсването, като съответната информация (PSW)
се прехвърля от стека в програмния брояч и в другите програмно достъпни
регистри, и продължава изпълнението на прекъснатата програма от мястото
на прекъсването й.

Ако по време на изпълнението на една програма, обслужваща дадена заявка за
прекъсване, постъпи друга заявка, която е разрешена и е с по-висок приоритет, то се
извършва “прекъсване на прекъсването”, като се повтарят описаните по -горе
действия. Броят на тези т.нар. вложени прекъсвания се определя само от областта
на оперативната памет, заделена от програмиста за стек.

В случай, че едновременно постъпят две и повече заявки, които са разрешени и
имат еднакъв приоритет, се обслужва тази от тях, която е най -напред във
вътрешното ранжиране на заявките, което се прави още при проектирането на
процесора.

ЗАЕТИ КЛЕТКИ
СВОБОДНА КЛЕТКА
ОПЕРАТИВНА
ПАМЕТ
УКАЗАТЕЛ НА СТЕКА
(SP)
СТЕК
+1
-1
ЗАЕТИ КЛЕТКИ
(БрАК)
ОПЕРАТИВНА
ПАМЕТ
УКАЗАТЕЛ НА СТЕКА
(SP)
СТЕК
+1
-1

Фиг.3. Стекът преди и след записване на съдържанието на БрАК (PC)






1. Кои са основните функции на системата за прекъсване?
2. Какви са видовете заявки за прекъсване?
3. Кои са програмно достъпните регистри на системата за прекъсване и
какво е тяхното предназначение?
4. Как действа системата за прекъсване?

Преглед на първите от 5 страници - останалите след изтегляне

Описание

Дисциплина: Организация на компютъра

0 коментара

Все още няма коментари. Бъдете първият, който ще коментира.

За да коментирате, трябва да сте влезли в профила си.

Влезте