прекъсване на програмата система SPP

прекъсване на програмата система (СПС)

1. Концепцията за държавна програма. Vector (дума) състояние

CSP се формира в съответните регистри на централния процесор (CPU), промяна след всяка команда. Различните компютри имат различни набори от информационни елементи, изграждащи ЕСП. Например, в реален режим на 80h86 МТР на микропроцесора се съхраняват в пакета се състои от следните компоненти:

стойност на сегмент регистър на инструкцията CS (в този сегмент на клетките на паметта съдържа команди, изпълнени от програмата);

показалка регистър IP команда стойност;

Знамена флагове регистрират стойност.

2. Принципите на NGN

Когато работата на компютъра само по себе си и свързаните с околната среда може да се появи събития, които изискват незабавна реакция към тях от страна на компютъра. Тази реакция се състои в това, че на компютъра прекъсва текущата програма за обработка, която е с прекъсване, и продължава към друга програма, наречена прекъсва и специално проектирани да се справят на събитието. Процесът въпросния се нарича програмно прекъсване. В моменти на някои от събитията, които изискват прекъсване на програмите, не са известни и затова не могат да бъдат взети под внимание по време на програмирането.

Всеки, изискващи прекъсване събитие е придружена от сигнал, известяващ компютър. Тези сигнали се наричат ​​прекъсне искания се генерират и изпълнение множество процеси паралелно във времето, например:

изпълнение процес на настоящата програма за процесор и вградената памет на компютър;

процес контрол хардуер правилната работа на компютър и периферия канали (ПУ);

процес Канал работа и ПУ;

работа на таймера се обработва;

процес функциониране на компютъра с участието на даден компютър и т.н.

Прекъсвания от устройство за контрол на хардуер възникват, когато устройството открие повреда в компютъра или IP канал.

Прекъсва IO се случи по време на изключването или IP канал.

прекъснете таймера се случва, когато таймерът прелива.

Възможността за прекъсване на програми - важна характеристика на компютри, които ви позволява значително повишаване на ефективността на използването на ресурсите си, както и използването на компютри за системи за контрол в реално време. За изпълнение на прекъсване в компютъра трябва да са подходящи хардуер и софтуер, софтуер за прекъсване се нарича система (PPS), или да прекъсне контролер. Основна функция CPR състои в запаметяването на MSP и прехода към прекъсване на програмата, където за съхранение MSP използва фиксирана област на RAM (например, тип IBM компютър / 360 и IBM / 370 и, съответно, на UCS) или паметта на стека (например, компютър тип IBM PC с типа MP 80h86).

Когато има трябва да бъдат установени множество източници на определен ред заявките за прекъсване (дисциплина), за да обслужват входящи заявки. С други думи, те трябва да бъдат приоритизирани отношения, които определят кои от няколко от исканията да бъдат обработени на първо място и дали тя има право да прекъсва текущата програма. Приоритет за избор искане част от процеса на преход за прекъсване на програмата.

Важна роля играе прекъсване регистър маска. ниво, което може да хардуер и софтуер настроен на "1" или "0". Това се постига чрез приоритетно прекъсване софтуер контролирани. Задава се "1" забранява регистъра на спусъка маска, съответстващ на прекъсване, и да зададете на "0" позволява това. Някои от причините за прекъсване на някои специфични видове компютърен софтуер не могат да бъдат маскирани.

3. Прекъсване Vector

4. прекъсване манипулатор

Ние списък основните действия, които трябва да се изпълняват на прекъсващ оператор:

Поддържа ако е необходимо, съдържанието на всички или на част от софтуера, достъпна регистри (тази процедура понякога се нарича превключване на контекста);

Блокиране на всички прекъсвания, за чиято поява в хода на изпълнение на манипулатора, може да доведе до конфликт (често това се прави чрез компютърно оборудване, без програма);

Разрешаване на всички прекъсвания, които имат право да се появи по време на обработката на прекъсвания;

Определяне на източника на прекъсване;

Изпълнете насрочено за обработка на прекъсване;

Разрешаване на всички прекъсвания, които са били забранени в обработката на прекъсването.

Възобновяване на изпълнение на прекъснат процес; вместо това, прекъсващият да завършат работата си компютри трансфер до състояние на покой (например машина катастрофа) или контрол на предаването OS.

Основните видове прекъсвания в IBM PC тип компютър с 80h86 MP

Прекъсване на компютъра могат да бъдат разделени в следните групи:

Non-maskable хардуерно прекъсване в резултат от сериозен хардуерен срив на ПУ и на вградената памет.

Външно хардуер прекъсва, които се случват, когато сигнал за прекъсване от таймер, клавиатурата и различни ПУ;

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

Софтуер прекъсва, произтичащи от прилагането на процесор вътр команда с числов аргумент.

Таймер. интервал таймер

Друг хардуерно устройство, от значение за организацията на процеса на изчисление е таймер. Използването му позволява софтуер и хардуер метод, за да настроите програмата събития, настъпили след предварително определен период от време, считано от времето на работа на тези събития. Тези събития се осъществяват чрез генериране на сигнал за прекъсване от таймера и дават възможност за целесъобразно прекъсващ оператор. Помислете за по-подробно устройството таймер като пример в IBM PC тип компютър с IP тип 80h86.

Този таймер се състои от три почти идентични канали - канал "0", "1" и "2". Когато програмата се използва предимно от канала "0", така че той ще се разглежда; Фигура 1 показва схемата на му. импулсен генератор (GI) генерира честота е = 1193180 Hz непрекъсната последователност от импулси, пристигащи на входа пулса на всички три канала. Всеки импулс пристига на вход 16-битов брояч се изважда от съдържанието на последния "1" в състояние на преход от този брояч 000. 01 състояние 000. прекъсват се генерира сигнал 00, доставени на ПТ да се даде възможност на последния манипулатор софтуер таймер прекъсвам. Ако първоначално таймера 0 брояч 00., след това става равен на 11. 1, и по-нататък намалява с "1" всеки път, когато пулса пристига от ПП при получаване на следващия пулса на брояч на състоянието на ПП. В този случай, за прекъсване на сигнала ще бъде излъчен на таймера след получаване на входа на 65536 импулси, т.е. след интервал от време, приблизително равна на 55 милисекунди, което съответства на таймера на приблизително 18,2 Hz. Ако отговор време таймер интервал трябва да има по-ниска стойност от 55 милисекунди, броячът на таймера е необходимо да въведете код, съответстващ на броя на импулсите N, се изчислява по формулата

където F - таймера честота отговор на желаната стойност, неравенството трябва да бъде изпълнено F> 18,2 Hz. Например, за F = 72,8 Hz ние откриваме, че N = 16389,8; закръгляване, откриваме, че в брояча на таймера трябва да се въведе двоичен код 0 100 000 000 000 110.

Въвеждане на желания код в брояча на таймера се извършва по следния начин. Първо MP x86 трябва да изпълни програма, която предава в пристанището на таймера с шестнадесетично число

40h желания бинарен код. Тогава x86 MP трябва да изпълнява команда програма, която предава брой таймер порт 43h байт шестнадесетичен, което показва броя на програмируем таймер канал, че канален режим и броя байтове предадени в брояча на таймера - 1 или 2. След това се програмира таймера канал веднага започва да работи, първо влизане код схема за управление на брояча на таймер и брояч таймер е след себе си в съответствие с полученото задание.

Фиг.1. Веригата за таймер в канала за IBM PC компютър "0"

Помислете сега действието на програмата, което обикновено се нарича интервал таймер. Необходимостта да използвате тази програма, се определя от факта, че в повечето видове компютри, включително в тип PC компютри на IBM, само един таймер, въпреки че в много случаи, работата доста сложни програми, е необходимо да се организират няколко паралелни съществуващите програми да бъдат включени в предварително определени момента. Един от възможните начини за организиране на интервал таймер е както следва. Тази програма, за управление на процеса паралелно изпълнение на множество програми в RAM е таблица, която идентифицира няколко реда, съдържащи следните параметри за всяка от тези програми:

стойност на T (и) на интервала от време, след което трябва да бъдат включени в програмата, като се брои този интервал започва с организирането на интервал таймер на програмата;

текущата стойност на (I) в интервал от време Т, след което следва да се включи на програмата;

функция в (I), включването на този режим на програма - еднократно или циклични (въпреки че, например, (I) = 0 за единичен режим).

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

След това за всеки път, когато програма-таймер прекъсващ оператор в тази таблица се регулират спрямо всички интервали от време, чиято стойност е по-голяма от нула, чрез намаляване на техните стойности със сума, Т. Ако след корекцията се оказва, че за някои програми магнитуд тон (и) = 0 или т (и) 3