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

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



НазваниеТема: Системні ресурси. (продовження) Система переривань
страница2/2
Дата конвертации30.04.2013
Размер399.35 Kb.
ТипДокументы
скачать >>>
1   2
1. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/01_ЛЕКЦIЯ__1.doc
2. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/02_ЛЕКЦIЯ__2.doc
3. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/03_ЛЕКЦIЯ__3.doc
4. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/04_ЛЕКЦIЯ__4.doc
5. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/05_ЛЕКЦIЯ__5.doc
6. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/06_ЛЕКЦIЯ__6.doc
7. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/07_ЛЕКЦIЯ__7.doc
8. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/01_x86.doc
9. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/02_Поколiння_процесорiв_з_1_по_7.doc
10. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/03_Процесори_молодших_поколiнь.doc
11. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/04_Мiкропроцесори_шостого_поколiння.doc
12. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/05_Архiтектура_IA64.doc
13. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/06_Огляд_сучасних_процесорiв.doc
14. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_00_ЛЕКЦIЯ__8.doc
15. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_ПРОЦЕСОРИ_мат.doc
16. /МОДУЛЬь1_2012/ЛЕКЦIф_м1/ЛЕКЦIЯ__8_процесори/_Типи процесорiв.doc
17. /МОДУЛЬь1_2012/ПИТАННЯ_МОДУЛЬ__1+.doc
Тема 1 Класичні основи побудови еом. Покоління комп’ютерів
Тема 2 Основні архітектури кс
Тема: Системні ресурси Системними ресурсами
Тема: Системні ресурси. (продовження) Система переривань
Тема: Системні ресурси (продовження) Прямий доступ до пам'яті dma
1. Поняття системної плати
Тема організація введення-виведення І bios
X86 Intel 80x86
Архітектура і мікроархітектура процесорів. Покоління процесорів
Мікропроцесори фірми Intel молодших поколінь
Мікропроцесори шостого покоління
Архітектура ia-64
Модуль№1 2012
Рис 1 Верхній рівень структурної організації комп‘ютера
Зміст Введення
Тип процессора Микро-архитектура
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



Похожие:

Тема: Системні ресурси. (продовження) Система переривань iconТема. ГРОШОВА СИСтема. Грошова система
Грошова система  це форма організації грошового обороту в країні, встановлена загальнодержавними законами
Тема: Системні ресурси. (продовження) Система переривань iconРеферат на тему: Внутрішнє та зовнішнє середовище підприємства як об’єкти вивчення менеджменту
Усі формальні організації в процесі діяльності використовують певні ресурси, які необхідні для випуску продукції або надання послуг....
Тема: Системні ресурси. (продовження) Система переривань iconДикий Ігор Васильович організація Львівський національний університет ім. І. Франка (Львів) тема повідомлення
Теріологічна школа-семінар «Ресурси фауни І фауна як ресурс», біостанція Львівського ну, 20-25. 09. 2010 р
Тема: Системні ресурси. (продовження) Система переривань iconТема: «Система лінійних рівнянь с двома змінними»

Тема: Системні ресурси. (продовження) Система переривань iconУроку
Тема повоєнне облаштування світу. Версальсько-Вашингтонська система договорів
Тема: Системні ресурси. (продовження) Система переривань iconДокументы
1. /Тема 8 Налоги и налоговая система.doc
Тема: Системні ресурси. (продовження) Система переривань iconБезкоштовні інтернет-ресурси з проблем методики викладання іноземних мов
Ресурси для навчання англійської мови, архіви уроків (початкова, основна, старша школа; навчання дорослих; навчання Business та Professional...
Тема: Системні ресурси. (продовження) Система переривань iconРеферату : Лекції по трудовому праву України Розділ : Трудове право України Лекції по трудовому праву України Тема І тема І. Предмет, метод І система трудового права
Задоволення матеріальних потреб забез­печується в процесі їх виробництва, що виник разом з існуванням людини і досяг розвитку від...
Тема: Системні ресурси. (продовження) Система переривань iconТема Всесвітнього дня води (вдв) 2011 — «Вода для міста»
До вдв 2011 міжнародні організації підготували низку звітів, присвячених проблемам міст, зокрема водним конфліктам, які існують в...
Тема: Системні ресурси. (продовження) Система переривань iconТернопільська міська рада
Просимо розглянути та прийняти рішення комісії щодо продовження чи не продовження договорів безоплатного користування по кожному...
Тема: Системні ресурси. (продовження) Система переривань iconФоменко Н. В. Рекреаційні ресурси та курортологія
Дано класифікацію рекреаційних ресурсів та визначення природного рекреаційного потенціалу території, величини рекреаційних навантажень...
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©gua.convdocs.org 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов