
- •Передмова
- •Intel 430lx
- •Intel 430nx
- •Intel 430fx
- •Intel 430hx
- •Intel 430vx
- •Intel 430tx
- •Intel 450gx/kx
- •Intel 440fx
- •Intel 440lx agPset
- •Intel 440ex
- •Intel 440bx agPset
- •Заняття 1. Поняття про систему переривання пеом
- •Принципи організації системи переривання програм
- •Слово стану процесора (програми)
- •Характеристики системи переривання
- •Організація переходу до перериваючої програми та пріоритетне обслуговування запитів переривання
- •Процедура переривання з опитуванням джерел (прапорців) переривання
- •Програмно-керований пріоритет перериваючих програм
- •Методи використання механізму переривань
- •Класи переривань пеом
- •Призначення контролера апаратних переривань пеом
- •Опис основних елементів і8259а
- •Стани програмованого контролера переривань
- •Заняття 5. Керування режимами роботи пкп
- •Void main (void){
- •Int mask;
- •Заняття 6. Керування пріоритетами переривань
- •Install proc near
- •Заняття 8. Особливості практичного використання апаратних та програмних переривань
- •Volatile long ticks;
- •Void main(void) {
- •Void _interrupt _far timer(void) {
- •Int8 proc near cli
- •Int09 proc near
- •Розділ 3. Підсистема таймера та годинника реального часу
- •Заняття 3. Системні засоби програмного доступу до ресурсів таймера
- •Void tm_delay(int ticks) {
- •Void main (void){
- •Void main(void){
- •Заняття 4. Приклади використання функціональних можливостей таймера в прикладних задачах
- •Void main(void){ int Frac; char k;
- •Void tm_sound(int freq, int time) {
- •Void tm_delay(int ticks) {
- •Void tm_sound(int freq, int time){
- •Void main(){
- •Void main() { int I,j; clrscr();
- •Заняття 5. Архітектура та принципи функціонування годинника реального часу
Слово стану процесора (програми)
Станом процесора (програми) після даного такту або після виконання даної команди, строго кажучи, слід вважати сукупність станів у відповідний момент часу всіх запам'ятовуючих елементів пристроїв: тригерів, регістрів, чарунок пам'яті. Але не вся ця інформація зникає або спотворюється при переході до чергової команди або іншої програми. Тому зі всієї різноманітності інформації про стан процесора (програми) відбираються найбільш істотні її елементи, як правило, що підтверджують зміни при переході до іншої команди або програми. Сукупність значень цих інформаційних елементів отримала назву вектора стану або слова стану процесора (програми).
Вектор стану в кожний момент часу повинен містити інформацію, достатню для припинення виконання програми або повторного пуску програми з точки, що відповідає моменту формування даного вектора стану. При цьому припускається, що інша інформація, яка характеризує стан процесора, наприклад, вміст регістрів, або зберігається, або може бути відновлена програмним шляхом за копією, збереженою в пам'яті.
Вектор стану формується у відповідному регістрі (регістрах) процесора, зазнаючи зміни після виконання кожної команди. Набори інформаційних елементів, що утворюють вектори стану, відрізняються в ЕОМ різних типів. Найпростіше він виглядає у мікропроцесорів. Наприклад, вектор стану мікропроцесора К580ІК80 включає в себе вміст 16-ти розрядного лічильника команд (адреса чергової команди), вміст 8-ми розрядного регістра ознак, що називається в документації на цей мікропроцесор словом стану процесора, та вміст 8-ми розрядного акумулятора АЛП. Більші ЕОМ мають складніші структури вектора стану, або, інакше кажучи, слова стану програми.
Використання слова (вектора) стану — поширений спосіб побудови керування пристроями обчислювальної техніки. В багатьох пристроях ЕОМ для організації їх функціонування формуються свої, специфічні слова стану (або байти стану), що фіксують у вигляді деякого коду стану пристрою, наприклад, готовність його до виконання задаючої операції, вдале або невдале завершення операції і т. п.
Характеристики системи переривання
Для оцінки ефективності систем переривання можуть бути використані такі характеристики:
1. Загальне число запитів переривання (входів у систему переривання) та час реакції — час між появою запиту переривання та початком виконання перериваючої програми. Одні й ті ж запити затримки у виконанні перериваючої програми залежать від того, скільки програм зі старшим пріоритетом чекають обслуговування. Тому час реакції визначають для запиту з найвищим пріоритетом. Час реакції залежить від того, в який момент припустиме переривання. Найчастіше переривання допускається після закінчення поточної команди. В цьому випадку час реакції визначається в основному тривалістю виконання команди. Цей час реакції може виявитись недопустимо великим для ЕОМ, що призначені для роботи в реальному масштабі часу. В таких машинах часто допускається переривання після будь-якого такту виконання команди. Але при цьому зростає кількість інформації, що потрібно запам'ятати та відновити при перемиканні програм, так як в цьому випадку необхідно зберігати також і стани в момент переривання лічильника тактів, регістра коду операції та деяких інших. Тому така організація переривання можлива тільки в машинах з швидкодіючою надоперативною пам'яттю. Бувають ситуації, в яких бажане негайне переривання. Якщо апаратура контролю виявила помилку, то доцільно відразу перервати операцію, поки помилка не вплинула на наступні такти роботи машини.
2. Затрати часу на перемикання програм (затримки переривання) дорівнюють сумарній витраті часу на запам'ятовування та відновлення стану програми:
tізд = t3 + tв
3. Глибина переривання — максимальне число програм, які можуть переривати одна одну. Якщо після переходу до перериваючої програми та до повного її закінчення приймання інших запитів забороняється, то кажуть, що система має глибину переривання, що дорівнює 1. Глибина дорівнює п, якщо допускається послідовне переривання до п програм. Глибина переривання звичайно співпадає з числом рівнів пріоритету в системі переривань. Системи з більшим значенням глибини переривання забезпечують більш швидку реакцію на термінові запити. Якщо запит виявиться не обслуженим до моменту приходу нового запиту від цього ж джерела, то виникає так зване насичення системи переривання. В цьому випадку попередній запит переривання від даного джерела буде втрачений машиною, що недопустимо. Швидкодія ЕОМ, характеристики системи переривання, число джерел переривання та частота виникнення запитів повинні бути узгоджені таким чином, щоб насичення було не можливим.
4. Число класів (рівнів) переривання. В ЕОМ число різних запитів (причин) переривання може досягати кількох десятків або сотень. У таких випадках часто запити поділяють на окремі класи або рівні. Сукупність запитів, що ініціюють одну й ту саму перериваючу програму, утворює клас або рівень переривання. Інформація про дійсні причини переривання, що викликали запит даного класу, міститься в коді номера переривання.