Поиск по базе сайта:
Тема: Системні ресурси. (продовження) Система переривань icon

Тема: Системні ресурси. (продовження) Система переривань




Скачати 399.35 Kb.
НазваТема: Системні ресурси. (продовження) Система переривань
Сторінка2/2
Дата конвертації15.11.2012
Розмір399.35 Kb.
ТипДокументи
1   2
1. /AKC/БЛАНК_контролю_нау.doc
2. /AKC/КОНТРОЛЬНА_АКС.doc
3. /AKC/ЛЕКЦIф_м1/01_ЛЕКЦIЯ__1.doc
4. /AKC/ЛЕКЦIф_м1/02_ЛЕКЦIЯ__2.doc
5. /AKC/ЛЕКЦIф_м1/03_ЛЕКЦIЯ__3.doc
6. /AKC/ЛЕКЦIф_м1/04_ЛЕКЦIЯ__4.doc
7. /AKC/ЛЕКЦIф_м1/05_ЛЕКЦIЯ__5.doc
8. /AKC/ЛЕКЦIф_м1/06_ЛЕКЦIЯ__6.doc
9. /AKC/ЛЕКЦIф_м1/07_ЛЕКЦIЯ__7.doc
10. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/01_x86.doc
11. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/02_Поколiння_процесорiв_з_1_по_7.doc
12. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/03_Процесори_молодших_поколiнь.doc
13. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/04_Мiкропроцесори_шостого_поколiння.doc
14. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/05_Архiтектура_IA64.doc
15. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/06_Огляд_сучасних_процесорiв.doc
16. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_00_ЛЕКЦIЯ__8.doc
17. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_ПРОЦЕСОРИ_мат.doc
18. /AKC/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_Типи процесорiв.doc
19. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_01_ОРГАНIЗАЦ_ПАМ+.doc
20. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_02_ДИНАМIЧНА_ПАМ+.doc
21. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_03_ТАЙМIНГИ+.doc
22. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_а_ЛЕКЦIЯ_ОП.doc
23. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_б_ЛЕКЦIЯ_Таймiнги.doc
24. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_10/10_в_ЛЕКЦIЯ_Огляд_ОП.doc
25. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_00_Фiзична структура HDD.doc
26. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_01_НАКОПИЧУВАЧI_+.doc
27. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_02_ЛЕКЦIЯ_RAID_.doc
28. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_02_ПРИСТР_ЗБЕРЕЖ_ДАНИХ_1+.doc
29. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_03_IDE.doc
30. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_11/11_04_SCSI_.doc
31. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_12/12_01_ШИНИ_розширення.doc
32. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_12/12_01а_PCI.doc
33. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_12/12_01б_PCI_express.doc
34. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_00_Iнтерфейси.doc
35. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_01_СОМ.doc
36. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_02_LPT.doc
37. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_03+06_Iнтерфейси.doc
38. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_04_USB+FireWire.doc
39. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_05_Fibre Channel.doc
40. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_07_Bluetooth.doc
41. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_13/13_08_IrDa.doc
42. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_14/14_00_Вiдесистема.doc
43. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_14/14_00_вiдеоадаптер.doc
44. /AKC/ЛЕКЦIф_м2/ЛЕКЦIЯ_14/14_01_Аудио_ГУК_Р12.doc
45. /AKC/ПИТАННЯ+модуль2+акс.doc
46. /AKC/ПИТАННЯ_МОДУЛЬ_ь1+.doc
47. /AKC/тесты с ответами.doc
Національний авіаційний унуверситет
Завдання на контрольну роботу завданям курсової роботи з дисципліни «Архітектура комп’ютерних систем»
Тема 1 Класичні основи побудови еом. Покоління комп’ютерів
Тема 2 Основні архітектури кс
Тема: Системні ресурси Системними ресурсами
Тема: Системні ресурси. (продовження) Система переривань
Тема: Системні ресурси (продовження) Прямий доступ до пам'яті dma
1. Поняття системної плати
Тема організація введення-виведення І bios
X86 Intel 80x86
Архітектура і мікроархітектура процесорів. Покоління процесорів
Мікропроцесори фірми Intel молодших поколінь
Мікропроцесори шостого покоління
Архітектура ia-64
Arhitektura komp system
Рис 1 Верхній рівень структурної організації комп‘ютера
Зміст Введення
Тип процессора Микро-архитектура
Підсистеми пам'яті
Динамічне озп. Конструктивні особливості
Таймінги пам'яті поняття «таймінгів»
Тема 12. Класифікація запам’ятовуючих пристроїв. Типи оперативної пам’яті план лекції Поняття «пам’ять еом»
Тема 13. Таймінги
Arhitektura komp system
Тема 14. Фізична структура жорсткого диску
Жорсткі диски. Введення 2 Фізичний пристрій жорсткого диска 2
Raid-масиви початкового рівня Що таке raid?
Устройства хранения данных
Интерфейс ide ata/atapi и sата
Arhitektura komp system
8. pci/pci-x
Шини pci/pci-x
Шина pci express Шина pci express
Usb fireWire ps/2 ata (ide)/ атарі
Інтерфейс rs-232C — com-порт
Паралельний інтерфейс — lpt-порт
Універсальна послідовна шина
Usb (Universal Serial Bus універсальна послідовна шина) є промисловим стандартом розширення архітектури рс, орієнтованим на інтеграцію з телефонією І пристроями побутової електроніки. Версія 1
Fibre Channel Fibre Channel
Arhitektura komp system
Arhitektura komp system
Arhitektura komp system
Тема 11. Відеоадаптер
Img src= 44 html 2f3a33e
Питання до модуля №2
2) Основні компоненти машини фон Неймана 3) Які покоління комп’ютерів характеризуються децентралізацією управління процедурами вводу-виводу (системи переривання програм)
Які принципи програмно-керованих еом не використовувалися Нейманом

Система переривань і виключень в архітектурі IA-32


Переривання і виключення - Це події, які вказують на виникнення в системі чи в що виконується в даний момент задачі певних умов, що вимагають втручання процесора. Виникнення таких подій змушує процесор перервати виконання поточного завдання і передати управління спеціальної процедури або завдання, званої обробником переривання або обробником виключення. Різні синхронні і асинхронні події в системі на основі ЦП IA-32 можна класифікувати таким чином:



Рис. 13.1.Класифікація подій в системі на основі ЦП IA-32

Переривання зазвичай виникають в довільний момент часу. Переривання бувають апаратні (або зовнішні) і програмні.

Зовнішні переривання генеруються з апаратного сигналу, що надходить від периферійного обладнання, коли воно вимагає обслуговування. Процесор визначає необхідність обробки зовнішнього переривання по наявності сигналу на одному з контактів INTR # або NMI #. При появі сигналу на лінії INTR # зовнішній контролер переривань (наприклад, 8259A) повинен надати процесору вектор (номер) переривання. З лінією NMI # завжди пов\'язане переривання # 2.

В процесорах Pentium, P6 і Pentium 4 ці лінії можуть бути налаштовані на використання вбудованим контролером переривань -- APIC (Advanced Programmable Interrupt Controller), тоді вони називаються LINT0 і LINT1 і їх призначення визначається налаштуваннями APIC.

Переривання, Які генеруються під час вступу сигналу на вхід INTR #, називають маскіруемимі апаратними переривань. Біт IF в регістрі прапорів дозволяє заблокувати (замаскувати) обробку таких переривань.

Переривання, Що генеруються сигналом NMI #, називають немаскіруемимі апаратними переривань. Немаскіруемие переривання не блокуються прапором IF. Поки виконується обробник немаскіруемого переривання, Процесор блокує отримання немаскіруемих переривань до виконання інструкції IRET, щоб виключити одночасну обробку декількох немаскіруемих переривань.

Переривання завжди обробляються на кордоні інструкцій, тобто при появі сигналу на контакті INTR # або NMI # процесор спочатку завершить що виконується в даний момент інструкцію (або ітерацію за наявності префікса повторення), а тільки потім почне обробляти переривання. Поміщається в стек обробника адреса черговий інструкції дозволяє коректно відновити виконання перерваної програми.

За допомогою інструкції INT n (n - номер переривання) Можна згенерувати переривання з будь-яким номером 0 ... 255. Такі переривання називають програмними. Стан біта IF в регістрі прапорів не впливає на можливість створення програмних переривань. Програмні переривання можуть використовуватися для доступу до сервісів операційної системи (наприклад, INT $ 21 - сервіси DOS, INT $ 80 - сервіси Linux), функціям драйверів пристроїв (наприклад, INT $ 33 - драйвер миші) або спеціальним сервісів (INT $ 10 - відео-сервіс BIOS, INT $ 31 - DPMI-сервіс), INT $ 67 - сервіс EMS).

Хоча номер переривання в цій інструкції може бути будь-яким, слід зазначити, що, наприклад, при використанні вектора # 2 для виклику обробника немаскіруемого переривання внутрішній стан процесора буде відрізнятися від того, яке буває при обробці апаратного немаскіруемого переривання. Аналогічно, спроба викликати обробник виключення за допомогою цієї інструкції може виявитися невдалою, тому що при виникненні більшості винятків в стек включається код помилки, а при генерації програмного переривання цього не відбувається. Оброблювач виключення витягує з стека код помилки, а у випадку програмного переривання з стека буде помилково вилучено адреса повернення, що порушить цілісність стека і, в кінцевому підсумку, швидше за все, призведе до виключення # 13 або більш тяжкому.

Винятки є для процесора внутрішніми подіями і сигналізують про будь-які помилкових умовах при виконанні тієї чи іншої інструкції. Джерелами винятків є три типи подій:

  • генеруються програмою виключення, Що дозволяють програмі контролювати певні умови в заданих точках програми (INTO - перевірка на переповнення, INT3 - контрольна точка, BOUND - перевірка меж масиву);

  • виключення машинного контролю (# 18), що виникають у процесі контролю операцій всередині чіпа і транзакцій на шині процесора (Pentium, P6 і Pentium 4);

  • виявлені процесором помилки в програмі (поділ на нуль, порушення правил захисту, відсутність сторінки і т.п.)

Винятки процесора, залежно від способу створення та можливості рестарту що викликала виняток команди, підрозділяються на порушення, пастки і аварії.

Порушення (відмова) - це виняток, Яке виявляється або перед виконанням зобов\'язання, або під час виконання команди. При цьому процесор переходить в стан, що дозволяє здійснити рестарт команди. В якості адреси повернення в стек обробника заноситься адреса викликала виняток команди.

Пастка виникає на межі команд відразу ж після команди, що викликала це виняток. Значення регістрів CS і EIP, що заносяться в стек обробника, вказують на чергову команду. Наприклад, якщо пастка спрацювала на команді JMP, то в стеку запам\'ятовуються значення регістрів CS і EIP, що вказують на посилання команди JMP.

У деяких випадках для пасток та порушень неможливий рестарт команди, наприклад, якщо один з операндів розташований нижче поточного покажчика стека, тобто за адресою пам\'яті меншому, ніж вершина стека.

Аварія не дозволяє здійснити рестарт програми, і часто не можна точно локалізувати команду, що викликала це виняток. Винятки типу "аварія" генеруються при виявленні серйозних помилок, таких як недозволені або несумісні значення в системних таблицях або апаратні збої.

Типовим випадком аварії є виняток # 8 "подвійна помилка". Подвійна помилка відбувається, коли процесор намагається обробити виняток, А його обробник генерує ще одне виняток. Для деяких винятків процесор не генерує подвійну помилку, такі виключення називають "легкими". Тільки помилки ділення (виняток # 0) і сегментні виключення (# 10, # 11, # 12, # 13), звані "важкими", можуть викликати подвійну помилку. Таким чином, отримання виключення "неприсутність сегмента" під час обробки виключення налагодження не призведе до подвійної помилку, у той час як помилка сегмента, яка відбувається під час обробки помилки ділення на нуль, призведе до виключення # 8.

Якщо при спробі викликати обробник виключення # 8 виникає помилка, процесор переходить в режим відключення (shutdown mode). Вивести з цього режиму процесор можуть тільки апаратні сигнали: NMI #, SMI #, RESET # або INIT #. Зазвичай чіпсет, виявивши на шині процесора цикл відключення, ініціює апаратний скидання.

Якщо на кордоні інструкції виявляється, що потрібна обробка більше одного переривання або виключення, Процесор обробляє переривання або виняток з найвищим пріоритетом. Винятки з низьким пріоритетом знімаються, а переривання з низьким пріоритетом відкладаються. Зняті виключення можуть бути потім знову згенерували при поверненні з обробника.

Архітектура IA-32 надає механізм обробки переривань і винятків, Прозорий для прикладного та системного програмного забезпечення. При виникненні переривання або виключення поточна виконувана завдання автоматично призупиняється на час дій обробника, після чого її виконання поновлюється без втрати безперервності, крім випадків, коли обробка переривання або виключення змушує завершити програму.

Всі переривання і виключення мають номер (іноді іменований вектором) в діапазоні від 0 до 255. Номери 0 ... 31 зарезервовані фірмою Intel для винятків.

Розширений програмований контролер переривань (APIC)


Мікропроцесори IA-32, починаючи з моделі Pentium, містять вбудований розширений програмований контролер переривань (APIC). Вбудований APIC призначений для реєстрування переривань від джерел всередині процесора (наприклад, блок температурного контролю у Pentium 4) або від зовнішнього контролера переривань і передачі їх ядра процесора на обробку. Особливо важлива роль покладається на вбудований APIC в багатопроцесорних системах, де APIC приймає і генерує повідомлення про міжпроцесорних переривання (IPI - InterProcessor Interrupt). Такі повідомлення можуть використовуватися для розподілу обробки переривань між процесорами або для виконання системних функцій (первісна завантаження, диспетчеризація задач тощо).

Вбудований APIC розрізняє наступні джерела переривань.

  1. Від локальних пристроїв. Переривання, Що генеруються по фронту або рівнем сигналу, який надходить від пристрою, безпосередньо підключеного до сигналів LINT0 і LINT1 (наприклад, контролер переривань типу 8259A).

  2. Від зовнішніх пристроїв. Переривання, Що генеруються по фронту або рівнем сигналу, який надходить від пристрою, підключеного до зовнішнього контролера переривань. Таке переривання передається у вигляді повідомлення по шині APIC (або системної шини в Pentium 4).

  3. Міжпроцесорних (IPI). У багатопроцесорних системах один із процесорів може перервати іншої за допомогою повідомлення IPI на шині APIC (або системної шини в Pentium 4).

  4. Від таймера APIC. Вбудований APIC містить таймер, який можна запрограмувати на генерацію переривання після досягнення певного відліку.

  5. Від таймера монітора продуктивності. Процесори P6 і Pentium 4 містять блок моніторингу продуктивності. Цей блок можна запрограмувати таким чином, щоб пов\'язаний з ним таймер при досягненні певного відліку генерував переривання.

  6. Від термодатчика. Процесори Pentium 4 містять вбудований блок температурного контролю, який можна запрограмувати на генерацію переривань.

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

Джерела 1, 4, 5, 6, 7 вважаються локальними джерелами переривань і обслуговуються спеціальним набором регістрів APIC, Який називають таблицею векторів локальних (LVT - local vector table). Два інші джерела обробляються APIC через механізм повідомлень. Ці повідомлення в Pentium і P6 передаються по виділеній трипровідною шині APIC (рис. 13.2). У Pentium 4 для передачі APIC-повідомлень використовується системна шина, тому контролер переривань може бути підключений безпосередньо до звичайного системного інтерфейсу (наприклад, PCI).



Рис. 13.2.Взаємодія вбудованого APIC і зовнішнього контролера переривань

Структура вбудованого APIC є архітектурним підмножиною мікросхеми контролера переривань Intel 82489DX. Регістри APIC відображаються на 4-Кбайтний блок оперативної пам'яті за адресою FEE00000h (може бути змінено через MSR регістри процесора).

Наявність вбудованого APIC в процесорі виявляється за допомогою інструкції CPUID (1). Після RESET вбудований APIC включений, однак згодом він може бути відключений, тоді процесор буде працювати з переривань як Intel-386/486 (лінії LINT0 і LINT1 будуть використовуватися як NMI # і INTR #, до яких може бути підключений контролер переривань типу 8259A).

Таблиця локальних векторів (LVT) складається з шести 32-бітових регістрів (в P6 - 5, в Pentium - 4):

  • регістр вектора переривання від таймера;

  • регістр вектора переривання від термодатчика (тільки в Pentium 4);

  • регістр вектора переривання від монітора продуктивності (P6 і Pentium 4);

  • регістр вектора переривання LINT0;

  • регістр вектора переривання LINT1;

  • регістр вектора переривання помилки.

Значення в цих регістрах визначають:

  • номер вектора переривання;

  • тип переривання (fixed - з зазначеним вектором, SMI - перехід в режим системного управління, NMI - немаскіруемое, INIT - скид, ExtINT - зовнішнє: процесор генерує цикл INTA і чекає номер вектора переривання від зовнішнього контролера);

  • активний рівень сигналу (низький або високий) або тригерних режим (переривання по фронту або за рівнем);

  • маску переривання (переривання може бути замаскована).

Ці регістри також відображають стан переривання (доставляється Чи це переривання ядра процесора в даний момент).

Крім того, APIC містить регістри управління таймером APIC, Реєстр версії, реєстр помилки, регістри, пов'язані з обслуговуванням переривань (регістр пріоритету, реєстр запиту IRR, реєстр обслуговування ISR), і регістри, пов'язані з передачею і прийомом IPI.

Обробка переривань на основі контролера 8259A


Контролер переривань 8259A являє собою пристрій, що реалізує до восьми рівнів запитів на переривання, З можливістю програмного маскування і зміни порядку обслуговування переривань.

Контролер переривань (рис. 13.3) Складається з наступних блоків:

  • RGI - реєстр заборон переривань; Зберігає всі рівні, на які надходять запити IRQx.

  • PRB - схема прийняття рішень за пріоритетами; схема ідентифікує пріоритет запитів і вибирає запит з найвищим пріоритетом.

  • ISR - регістр обслуговуються переривань; Зберігає рівні запитів переривань, Що знаходяться на обслуговуванні контролера переривань.

  • RGM - регістр маскування переривань; Забезпечує заборону однієї або кількох ліній запитів переривання.

  • BD - буфер даних; призначений для сполучення з системною шиною даних.

  • RWCU - блок керування записом / читанням; приймає керуючі сигнали від мікропроцесора і задає режим функціонування контролера переривань.

  • CMP - схема каскадного буфера-компаратора; використовується для включення в систему декількох контролерів.

  • CU - схема управління; виробляє сигнали переривання і формує трехбайтовую команду CALL для видачі на шину даних.



Рис. 13.3.Структура контролера переривань 8259А

Один контролер 8259A здатний обслуговувати переривання від 8 джерел. Для обслуговування більшої кількості пристроїв використовується каскадне включення контролерів (рис. 13.4). У системах IBM PC AT каскадне включення дозволяє до 15 пристроїв сигналізувати про переривання (табл. 13.1).



Рис. 13.4.Каскадне включення контролерів переривань

Таблиця 13.1. Джерела апаратних переривань в IBM PC AT

Запит

Джерело

Пріоритет

Номер вектора

NMI

Помилка пам'яті або інша фатальна помилка в системі




02h

IRQ0

Системний таймер

1

08h

IRQ1

Клавіатура

2

09h

IRQ8

Годинник реального часу

3

70h

IRQ9

Пристрій на шині ISA

4

71h

IRQ10

Пристрій на шині ISA

5

72h

IRQ11

Пристрій на шині ISA

6

73h

IRQ12

Пристрій на шині ISA

7

74h

IRQ13

Помилка співпроцесора

9

75h

IRQ14

IDE контролер

9

76h

IRQ15

Пристрій на шині ISA

10

77h

IRQ3

Послідовний порт (COM2 або COM4)

11

0Bh

IRQ4

Послідовний порт (COM1 або COM3)

12

0Ch

IRQ5

Паралельний порт (LPT2) або IDE контролер (вторинний)

13

0Dh

IRQ6

Контролер дисководу

14

0Eh

IRQ7

Паралельний порт (LPT1)

15

0Fh

Оскільки в кожний момент часу може надійти більше ніж один запит на переривання, Контролер переривань має схему пріоритетів. В основному режимі - режимі повного вкладення, - до тих пір, поки встановлений розряд у регістрі ISR, відповідний запитуваній переривання, всі наступні запити з такою ж або більш низьким пріоритетом ігноруються, підтверджуються лише запити з більш високим пріоритетом.

У циклічному режимі використовується кругової порядок використання пріоритетів. Останньому обслугованого запиту присвоюється нижчий пріоритет, наступному по колу - найвищий, що гарантує обслуговування інших пристроїв до чергового обслуговування даного пристрою.

Контролер допускає маскування окремих запитів переривань, Що дозволяє пристроїв з більш низьким пріоритетом отримати можливість генерувати переривання. Режим спеціального маскування дозволяє переривання всіх рівнів, крім рівнів, що обслуговуються в даний момент.

Крім того, для каскадного включення можливий спеціальний режим повного вкладення. Цей режим програмується будь-яким провідним контролером при ініціалізації. У даному режимі ігноруються запити з пріоритетом більш низьким, ніж пріоритет оброблюваного в даний момент запиту, і обслуговуються всі запити з рівним або вищим пріоритетом.




1   2




Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації