SlideShare a Scribd company logo
Прекъсвания. Процедури при прекъсванията
Когато работата на процесора се прекъсне, той спира да върши това, което е
правил до момента и незабавно се прехвърля в изпълнението на заявката за
прекъсване, чийто начален адрес се намира в таблица на прекъсванията. В тази
таблица са описани стартовите адреси на процедурите за прекъсване във формат,
специфичен за всяка система.
Прекъсванията са ключова част от всяка компютърна система това е
средството, чрез което се реализира реалната конкурентна и независима работа на
устройства, процеси и потребители. Прекъсването винаги трябва да предаде
управлението на процедура, която го обработва, така наричан прехващач на
прекъсване (interrupt handler). Началото на подобна процедура изследва
информация относно типа на прекъсването и в съответсвие с резултата се обръща
към съответния прехващач, който извършва нужната за съответното прекъсване
работа.
Архитектурата на прекъсванията
прекъснатата инструкция:

трябва

да

съхранява

адреса

на

 Много от старите разработки просто съхраняват адреса в паметта
 По-съвременните архитектури използват системния стек.
 След обработката, съхранения адрес за връщане се взима от стека и се
зарежда в програмния брояч и изпълнението продължава
Обикновено по време на изпълнение на обработкакта на прекъсването :
 се забраняват всички останали прекъсвания,
 усложнените съвременни архитектури позволяват определена йерархия в
системата за прекъсвания чрез схемата за приоритетите, която поддържат..
Само прекъсвания с по-висок приоритет могат да се обработват по време на
възникнало прекъсване.
Модерните ОС са построени на базата на механизма за прекъсвания. Ако в
даден момент не се изпълняват някакви процеси, ОС стои в режим на изчакване
на събитие.
Събитията могат да сигнализират посредством хардуерни или
софтуерни прекъсвания.
Съществуват и маскируеми и немаскируеми прекъсвания.
Когато възникне прекъсване (или trap) управлението се предава на ОС:
1. Първото нещо, което тя прави е да съхрани цялостното състояние на
процесорните регистри(и програмния брояч включително).
2. След това се определя какъв тип прекъсване е настъпило.
3. За различните типове прекъсвания има отделни сегменти код от ОС,
където се определя какво по-нататъшно действие да се предприеме.
Основно качество на микропроцесорите е възможността да реагират адекватно
на различни вътрешни и външни събития. Такава процедура означава
изпълнението на текущата програма да бъде прекъснато, за да даде ход на
подпрограма (фиг.5.8).

Преходьт от текуща програма към
подпрограма
става по няколко причи:
- чрез инструкция, която е адресирана
към началото на подпрограмата, без никакви
допълнителни условия;
чрез инструкция, която е
адресирана към началото на подпрограмата,
но само при изпълнение на предварително
заложено условие.
- при заявка за прекъсване, поради
външно събитие.
Микропроцесорът следи вътрешните условия
и външните събития чрез състоянията на
поредица от флагове.
Установяването на флаг "1 „ генерира
апаратно заявка за прекъсване.
Видът, характерът и броят на прекъсвания
зависят основно от предназначението на
микропроцесора.
За повечето микроконтролери са достатъчни между 5 и 20 прекъсвания.
Високопроизводителните
микропроцесори за компютърни цели имат до
няколкостотин прекъсвания.
Преходът към подпрограми, независимо от характера му е илюстриран
графично на фигури 5.8 и 5.9. Този преход изисква последователност от
"стандартни" стъпки, видни от фигурите:
- МП прекратява текущата програма, след завършване на изпълняваната
инструкция;
- Адресът на последната изпълнявана инструкция се прехвърля от програмния
адресен регистър RPC в стека SP;
- Броячът на програмния адресен регистър СnРC се насочва към адреса на
подпрограма, която обслужва прекъсването;
- Програмният адресен регистър RPC се зарежда с първия адрес на подпрограмата.
- Започва изпълнението на подпрограмата;
- Краят на подпрограмата се индикира с инструкция и е резултат регистър RPC на
програмния брояч PC отново се зарежда със следващия адрес на основната
програма и нейното изпълнение продължава.
В момента на прекъсването е възможно да се появи началният адрес на
подпрограмата, наричан векторен адрес. Когато прекъсването се приеме,
програмата се насочва към вектора на прекъсването, показващ къде се намира
векторния адрес.
При преход към подпрограми се използват специфични адресирания, едно
от които е относителното.

More Related Content

Similar to 23. прекъсвания. процедури при прекъсвания.

14.1 работа на мпс
14.1 работа на мпс14.1 работа на мпс
14.1 работа на мпсdnaidenowa
 
11.управляващ блок
11.управляващ блок11.управляващ блок
11.управляващ блокdnaidenowa
 
11.управляващ блок
11.управляващ блок11.управляващ блок
11.управляващ блокdnaidenowa
 
Стар проект на Благо?!
Стар проект на Благо?!Стар проект на Благо?!
Стар проект на Благо?!
Благовѣстъ Петровъ
 
15.характеристика на cisc инструкции
15.характеристика на cisc инструкции15.характеристика на cisc инструкции
15.характеристика на cisc инструкцииdnaidenowa
 
Procesori M.A.
Procesori M.A.Procesori M.A.
Procesori M.A.Mariana
 
Soft eng.
Soft eng.Soft eng.
Soft eng.
Vladimir Angelov
 
5.конструктивни изпълнения на мпс
5.конструктивни изпълнения на мпс5.конструктивни изпълнения на мпс
5.конструктивни изпълнения на мпсdnaidenowa
 
Security Log Management
Security Log  ManagementSecurity Log  Management
6.базова структура на мп
6.базова структура на мп6.базова структура на мп
6.базова структура на мпdnaidenowa
 
OS
OSOS
OS
voiarn
 
10. komp s ma ibm-at 80386
10. komp s ma ibm-at 8038610. komp s ma ibm-at 80386
10. komp s ma ibm-at 80386dnaidenowa
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
DAVID Academy
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovSvetlin Nakov
 
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
VET4SBO Level 3   module 1 - unit 2 - 0.009 bgVET4SBO Level 3   module 1 - unit 2 - 0.009 bg
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
Karel Van Isacker
 
10. komp s ma ibm-at 80386.shini mca i eisa
10. komp s ma ibm-at 80386.shini mca i eisa10. komp s ma ibm-at 80386.shini mca i eisa
10. komp s ma ibm-at 80386.shini mca i eisadnaidenowa
 
процесор Pentium
процесор Pentiumпроцесор Pentium
процесор Pentiumdnaidenowa
 
Oсновна схема на КС 8 клас
Oсновна схема на КС 8 класOсновна схема на КС 8 клас
Oсновна схема на КС 8 класDora Todorova
 
процесор Intel 80386
процесор Intel 80386процесор Intel 80386
процесор Intel 80386dnaidenowa
 

Similar to 23. прекъсвания. процедури при прекъсвания. (20)

14.1 работа на мпс
14.1 работа на мпс14.1 работа на мпс
14.1 работа на мпс
 
11.управляващ блок
11.управляващ блок11.управляващ блок
11.управляващ блок
 
11.управляващ блок
11.управляващ блок11.управляващ блок
11.управляващ блок
 
Стар проект на Благо?!
Стар проект на Благо?!Стар проект на Благо?!
Стар проект на Благо?!
 
15.характеристика на cisc инструкции
15.характеристика на cisc инструкции15.характеристика на cisc инструкции
15.характеристика на cisc инструкции
 
Procesori M.A.
Procesori M.A.Procesori M.A.
Procesori M.A.
 
Soft eng.
Soft eng.Soft eng.
Soft eng.
 
5.конструктивни изпълнения на мпс
5.конструктивни изпълнения на мпс5.конструктивни изпълнения на мпс
5.конструктивни изпълнения на мпс
 
Security Log Management
Security Log  ManagementSecurity Log  Management
Security Log Management
 
6.базова структура на мп
6.базова структура на мп6.базова структура на мп
6.базова структура на мп
 
OS
OSOS
OS
 
10. komp s ma ibm-at 80386
10. komp s ma ibm-at 8038610. komp s ma ibm-at 80386
10. komp s ma ibm-at 80386
 
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows FormsКурс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
Курс по програмиране за напреднали (2012) - 4. Desktop приложения. Windows Forms
 
FABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin NakovFABRIQ - Short - Svetlin Nakov
FABRIQ - Short - Svetlin Nakov
 
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
VET4SBO Level 3   module 1 - unit 2 - 0.009 bgVET4SBO Level 3   module 1 - unit 2 - 0.009 bg
VET4SBO Level 3 module 1 - unit 2 - 0.009 bg
 
Programirane i organizaciq
Programirane i organizaciqProgramirane i organizaciq
Programirane i organizaciq
 
10. komp s ma ibm-at 80386.shini mca i eisa
10. komp s ma ibm-at 80386.shini mca i eisa10. komp s ma ibm-at 80386.shini mca i eisa
10. komp s ma ibm-at 80386.shini mca i eisa
 
процесор Pentium
процесор Pentiumпроцесор Pentium
процесор Pentium
 
Oсновна схема на КС 8 клас
Oсновна схема на КС 8 класOсновна схема на КС 8 клас
Oсновна схема на КС 8 клас
 
процесор Intel 80386
процесор Intel 80386процесор Intel 80386
процесор Intel 80386
 

23. прекъсвания. процедури при прекъсвания.

  • 1. Прекъсвания. Процедури при прекъсванията Когато работата на процесора се прекъсне, той спира да върши това, което е правил до момента и незабавно се прехвърля в изпълнението на заявката за прекъсване, чийто начален адрес се намира в таблица на прекъсванията. В тази таблица са описани стартовите адреси на процедурите за прекъсване във формат, специфичен за всяка система. Прекъсванията са ключова част от всяка компютърна система това е средството, чрез което се реализира реалната конкурентна и независима работа на устройства, процеси и потребители. Прекъсването винаги трябва да предаде управлението на процедура, която го обработва, така наричан прехващач на прекъсване (interrupt handler). Началото на подобна процедура изследва информация относно типа на прекъсването и в съответсвие с резултата се обръща към съответния прехващач, който извършва нужната за съответното прекъсване работа. Архитектурата на прекъсванията прекъснатата инструкция: трябва да съхранява адреса на  Много от старите разработки просто съхраняват адреса в паметта  По-съвременните архитектури използват системния стек.  След обработката, съхранения адрес за връщане се взима от стека и се зарежда в програмния брояч и изпълнението продължава Обикновено по време на изпълнение на обработкакта на прекъсването :  се забраняват всички останали прекъсвания,  усложнените съвременни архитектури позволяват определена йерархия в системата за прекъсвания чрез схемата за приоритетите, която поддържат.. Само прекъсвания с по-висок приоритет могат да се обработват по време на възникнало прекъсване. Модерните ОС са построени на базата на механизма за прекъсвания. Ако в даден момент не се изпълняват някакви процеси, ОС стои в режим на изчакване на събитие. Събитията могат да сигнализират посредством хардуерни или софтуерни прекъсвания. Съществуват и маскируеми и немаскируеми прекъсвания. Когато възникне прекъсване (или trap) управлението се предава на ОС: 1. Първото нещо, което тя прави е да съхрани цялостното състояние на процесорните регистри(и програмния брояч включително). 2. След това се определя какъв тип прекъсване е настъпило. 3. За различните типове прекъсвания има отделни сегменти код от ОС, където се определя какво по-нататъшно действие да се предприеме.
  • 2. Основно качество на микропроцесорите е възможността да реагират адекватно на различни вътрешни и външни събития. Такава процедура означава изпълнението на текущата програма да бъде прекъснато, за да даде ход на подпрограма (фиг.5.8). Преходьт от текуща програма към подпрограма става по няколко причи: - чрез инструкция, която е адресирана към началото на подпрограмата, без никакви допълнителни условия; чрез инструкция, която е адресирана към началото на подпрограмата, но само при изпълнение на предварително заложено условие. - при заявка за прекъсване, поради външно събитие. Микропроцесорът следи вътрешните условия и външните събития чрез състоянията на поредица от флагове. Установяването на флаг "1 „ генерира апаратно заявка за прекъсване. Видът, характерът и броят на прекъсвания зависят основно от предназначението на микропроцесора.
  • 3. За повечето микроконтролери са достатъчни между 5 и 20 прекъсвания. Високопроизводителните микропроцесори за компютърни цели имат до няколкостотин прекъсвания. Преходът към подпрограми, независимо от характера му е илюстриран графично на фигури 5.8 и 5.9. Този преход изисква последователност от "стандартни" стъпки, видни от фигурите: - МП прекратява текущата програма, след завършване на изпълняваната инструкция; - Адресът на последната изпълнявана инструкция се прехвърля от програмния адресен регистър RPC в стека SP; - Броячът на програмния адресен регистър СnРC се насочва към адреса на подпрограма, която обслужва прекъсването; - Програмният адресен регистър RPC се зарежда с първия адрес на подпрограмата. - Започва изпълнението на подпрограмата; - Краят на подпрограмата се индикира с инструкция и е резултат регистър RPC на програмния брояч PC отново се зарежда със следващия адрес на основната програма и нейното изпълнение продължава. В момента на прекъсването е възможно да се появи началният адрес на подпрограмата, наричан векторен адрес. Когато прекъсването се приеме, програмата се насочва към вектора на прекъсването, показващ къде се намира векторния адрес. При преход към подпрограми се използват специфични адресирания, едно от които е относителното.