ПредишенСледващото

3. Рестартирайте команда

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

5. Механизми за предаване на управляващите процесори

6. Защита прекъсне процедури.

Алтернативен проучване, използван в почти всички съвременни процесори, наречени прекъсва (прекъсване). и е значително усложнение на логиката процесора за обработка на команди.


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

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

прекъсване механизъм снабден с съответния хардуер и компютърен софтуер.

Всяка специална ситуация, което води до прекъсване. последвано от сигнал, наречен заявка за прекъсване (RR). ^ Заявката за прекъсване от външни устройства, въведете процесора за конкретни линии, както и искания. настъпили по време на изпълнението на програмата идва директно от микропроцесора. Механизми за работа с двата вида прекъсвания са сходни. Помислете за работата на компютъра, ако заявка за прекъсване на сигнала. разчита главно на обработката на хардуерни прекъсвания (фиг. 1.1).

видове прекъсване


Фиг. 1.1. Изпълнение на прекъсването в компютъра: ТР - процесорно време отговор на заявка за прекъсване; TC - време на постоянство прекъсната програма и прекъсване манипулатор; TV - възстановяване на прекъснатата програма

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

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

* Времето за реакция зависи от момента, когато процесорът искането за съществуване прекъсване. искания Анкета прекъсвания могат да се направят или в края на изпълнение на следваща стъпка команда (например командата за четене, четене на първия операнд и т.н.), или след завършване на всяка програма инструкция.

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

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

* Времето за реакция се определя за искането с най-висок приоритет.

Дълбочината на прекъсването - максимален брой програми, които могат да прекъснат една от друга. Дълбочина прекъсване обикновено съвпада с номера на приоритетни нива. призната от системата за прекъсване. На работа на системата за прекъсване прекъсва при различни дълбочини (N) е показана на Фиг. 1.2. Тук се приема, че увеличаването на броя на заявка за прекъсване увеличава своя приоритет.

видове прекъсване


Фиг. 1.2. Job система за прекъсване на различна дълбочина прекъсне

Без да се отчита времето за реакция. както и по време на съхранение и времето за възстановяване:

приоритизиране


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

Засичане прекъсвания - Промяна на прекъсващ оператор по себе си.

Прекъсвания са разделени на хардуер и софтуер.

Apparatnyepreryvaniya - прекъсване, причинено от процеси в хардуера на компютърната система. Източникът на прекъсването може да се бъде микропроцесор (не програма, а самата и машини микропроцесора). Използва се за взаимодействие с външни устройства. Заявка за хардуер прекъсва, получени за специални входове на микропроцесора. Те са следните:

  1. маскирани;

  2. демаскира; ,

Maskiruemye- прекъсвания, които могат да забранят създаването на съответните битове в съответното прекъсване маската регистър; Те могат да бъдат маскирани от софтуерни компютърни средства;

Maskable прекъсване предизвиква преход към високо ниво на SIG-Nala INTR вход (заявка за прекъсване) на флага за разрешение е настроен (IF = 1). В този случай, магазините процесорни знамената в регистъра на комин, дъмпинговия Vaeth-IF флаг и произвежда две последователни (гръб в гръб) прекъсване потвърждението цикъл, в който генерира контрол SIG-Nala INTA # (Прекъсване Запознат). Високо ниво INTR сигнал трябва да се запази поне до прекъсване се признае. Първото паразитно признание цикъл, вторият пулса на външен контролер прекъсване депозити на предаване на автобуса номера на вектор, вида на услугата на апарат-ТА прекъсване. Получената броя вектор прекъсване изпълнен от процесора, както и софтуера. Обработка на изключване на тока може на свой ред да бъде прекъснат от НИМ и ако водачът ще постави флаг, ако е маскиран и друг хардуер прекъсва.

Немаскираните винаги обработват, независимо от флага IF (в Intel процесори), тъй като те са предназначени да отговорят на изключително спешни за компютърна система събития.

НИМ извършва независимо от състоянието на флага IF сигнал НИМ (Non Mascable прекъсвания). Високо ниво на този вход можете да отговориш тип прекъсване (вектор) 2, което е същото като маскирани. преработката му не може да бъде прекъснат от действието на входния сигнал НИМ да изпълнява IRET команда.

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

Някои видове прекъсвания се контролират, в случай и TF знамена регистрират на знамената процесорните че за наблюдение условия процесор прекъсване трябва да бъдат установени. Ако условието за прекратяване е изпълнено и необходимите квадратчетата, процесорът в края на текущия отбор IC-доп реализира поредица от прекъсвания:

1) Текущата стойност FL регистрира (флагове), CS и IP е включена в стека;

2) в CS и IP регистри поставя ново съдържание (AD-ВЕИ прекъсване процедура), която се определя от типа на прекъсване, и се извлича от предварително памет клетки redelyaemyh оп-тип прекъсване;

За да се забрани изпълнението последователност прекъсване IF-ТА се използва флаг, който се контролира от команди STI и CLI. нулеви забранява държавна флаг (маски) за прекъсване. Стъпка, ако флаг се отнася за всички видове прекъсвания освен НИМ (тип 2), кото-Roe инициира сигнал прилага към входа НИМ на процесора.

Изпълнение процесор прекъсване последователност може да се дължи на две причини: изпълнение на софтуер за команда за прекъсване INT прекъсване на сигнала или подава на входа на процесора INTR и след изпълнение на специални процесорната шина цикъл за четене вид прекъсване предава чрез устройство, инсталирано INTR сигнал по линии DO-D7 , За софтуер прекъсне команди включват следните команди: INT3, за и INT п, като п - вида на прекъсване. Формат команди са изброени в приложение HN. След всяко прекъсване на процедурата трябва-края с връщането от прекъсване командата IRET, която възстановява съдържанието на IP регистри, CS, и FL от купчината.

Фиг. 4.1 Регистрация Формат IDTR
прекъсване маса може да съдържа до 256 описания. Когато се опитате да спрете услугата с номера извън размера на таблицата, генерира-ruetsya #DF изключение. При изключване даден първи брой 32 (0 31).
Не всички от тези вектори се използват от процесора в момента; неразпределени вектори в този диапазон са запазени за евентуална бъдеща употреба. Използвайте неразпределени вектори не трябва да бъде.

Maskable прекъсват вектори се определят от хардуера. Външни контролери на прекъсвания (например, Intel 8259 програмируем контролер прекъсване) се предават на автобус вектор процесор, докато прекъсване потвърждението цикъл. Всички вектори могат да бъдат използвани в диапазона от 32 до 255. В режим на реално число диапазон за преработка на хардуерни прекъсвания, беше: IRQ0¸IRQ7 прекъсва и не 08h¸0Fh IRQ8¸IRQ15 - 70h¸77h. Поради факта, че, както е отбелязано по-горе, първата стая 32 са ангажирани с изключение, става необходимо да се препрограмира прекъсване контролер към други номера. оригинален програмиране на контролер за реален режим се занимава BIOS. Общо Protected Mode е 208 стаи под софтуерни прекъсва.
^

прекъсване на обработката на персонален компютър


Микропроцесори като x86 два входа искания от външни хардуерни прекъсва:

  • НИМ - НИМ. Той обикновено се използва, за да се прекъсне доставката на Разстройства на храненето;

  • INT - maskable прекъсване. искане, с което да се прикрие програмно от перцето АКО в регистъра на флаг.

видове прекъсване


Фиг. 1.4. Структурата на контролера приоритет прекъсване

видове прекъсване


Фиг. 1.5. Структурата на вектор таблицата на прекъсване

Достъп до елементите на таблицата се извършва на 8-битов код - за прекъсване тип (виж Таблица 1.1.).


Различни източници определят вида на прекъсване по различни начини:

  • софтуер прекъсва това въвеждане вътре в процесора или да съдържа в стая команди INT N;

  • maskable хардуерно прекъсване се въвежда от неговото приоритетно прекъсване на контролера чрез трансфер на данни;

  • НИМ хардуерно прекъсване определен тип 2.

механизми за прехвърляне на контрол на прекъсване манипулатор.
Прекъсване ЕВРОВОК маса (на IDT) съдържа шлюзове (виж фигура 4.2).

Фиг. 4.2 Gateway Формат IDT
Невярно «TYPE» байт определя типа на достъп портал:


  • 4-80286 портал повикване (Call Gate);

  • 5-80286 Gateway задача (Задача Gate);

  • 6 - прекъсване порта 80286 (Прекъсване Gate);

  • 7 - 80286 портал капани (Trap Gate);

  • C - 386 портал повикване (Call Gate);

  • D - 386 шлюзове задачи (Task Gate);

  • E - прекъсване шлюз 386 (Прекъсване Gate);

  • F - капани Gateway 386 (Trap Gate).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!