Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Консп_АПЗ_ПК_10_укр.doc
Скачиваний:
52
Добавлен:
10.02.2016
Размер:
2.7 Mб
Скачать

8.3. Призначення та структура rom-bios в pc

Базова система введення-виводу (BIOS) - це комплекс програм і даних, записаних у спеціальний ПЗП (Flash ROM), для забезпечення незалежності системи від конкретної апаратної реалізації. Інакше кажучи, функціонування системи переводиться на більше високий абстрактний рівень. Це досягається системою програм переривань, написаних з урахуванням конкретної апаратної реалізації. Програми користувача здійснюють взаємодію з апаратурою через переривання. Тому програми, написані для PC/XT, з успіхом виконуються на Pentium.

BIOS містить наступні розділи:

1. Завантажувальні дані BIOS. Використовуються як доповнення в процедурі POSP.

2. POST - програма початкового завантаження.

3. Програми переривання BIOS. Використовуються при роботі PC.

4. Програми Plug and Play. Використовуються при включенні нового обладнання в сучасних PC.

Програма початкового завантаження POST (Power On Self Test) стартує після подачі сигналу RESET на центральний процесор (ЦП). При цьому виконуються наступні дії:

- тестування регістрів ЦП;

- перевірка стану перемикачів PC/XT або CMOS-пам'яті та установка відповідних прапорів устаткування;

- тестування та ініціалізація компонентів системи;

- установка та розподіл векторів переривання BIOS;

- розподіляє канали прямого доступу до пам’яті (DMA);

- призначає ділянки пам'яті для підключених пристроїв;

- перевіряється обсяг та якість пам'яті;

- передається керування завантажнику DOS.

Контрольні питання

1. Що таке порти введення/виводу?

2. Дайте класифікацію портів введення/виводу.

3. Яким чином розподіляється адресний простір пам'яті?

4. Навіщо використовується ROM BIOS?

5. Яка структура базової системи введення/виводу?

Лекція 9. Система переривань

9.1. Призначення та розподіл переривань

У процесі роботи ЕОМ дуже часто виникає необхідність тимчасово зупинити виконання основної програми для відпрацьовування деяких спеціальних інструкцій (натискання клавіші, хід системного годинника, готовність зовнішніх пристроїв передати або прийняти дані та ін.). З цією метою в CPU 8088/86 реалізована ефективна система переривань. Кожному перериванню поставлений у відповідність номер (тип) 0..255. Переривання можуть бути зовнішніми (апаратними), командними та внутрішніми, що показано на рис.9.1.

Запит на переривання змушує CPU після виконання 1-2 поточних команд перейти до виконання програми переривання. Для цього в стеці запам'ятовується адреса повернення до основної програми CS:IP та регістр прапорів F (автоматично), а також уміст регістрів, які будуть потрібні для виконання програми переривання (програмним шляхом). Після виконання переривання відновлюється стан регістрів CPU та поновлюється виконання основної програми.

Немасковане переривання

────────────────────────────────┐ NMI (Тип 2)

INTR (Тип n) ┌ ─ ─ ─ ─ ─ ─ ─ ─ │ ─ ─ ─ ─ ─ ─ ─ ─ ┐

┌────────────────┐ │ МП

┌────^─────┐ │ ┌───v─────────v─────────────┐ │

│Контролер │ │ Схеми переривань │

│переривань│ │ └─┬─────┬─────┬─────┬─────┬─┘ │

└┬─┬─────┬─┘ ^ ^ ^ ^ ^

^ ^ ^ │ ┌───┴───┐ │ ┌───┴───┐ │ ┌───┴───┐ │

│ │ │ │Команда│ │ │Помилка│ │ │Покрок.│

IRQ0 - IRQ7 │ │ INT n │ │ │ділення│ │ │ режим │ │

Запроси від │(Тип n)│ │ │(Тип 0)│ │ │(Тип 1)│

зовнішніх │ └───────┘ │ └───────┘ │ └───────┘ │

пристроїв ┌───────┴────┐ ┌────┴───────┐

│ │Переповнення│ │Контр.крапка│ │

│ INTO │ │ INT3 │

│ │ (Тип 4) │ │ (Тип 3) │ │

└────────────┘ └────────────┘

└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘

Рис. 9.1. Типи переривань

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

Переривання типу 0 виробляється завжди після виконання команди розподілу, коли дільник дорівнює нулю. Переривання типу 1 (покрокове виконання) виробляється автоматично, якщо біт прапора TF=1.

Переривання, обумовлене користувачем, здійснюється за двохбайтовою командою INT_n. Разом з тим переривання по переповненню виробляється за спеціальною однобайтовою командою INT_0, якщо встановлено прапор OF=1. Програмне переривання багато в чому аналогічне виконанню підпрограми.

Зовнішні переривання надходять на вхід CPU по двох входах: NMI і INTR, а самі переривання діляться на немасковані та масковані. Запити на немасковані переривання надходять при "катастрофічних" ситуаціях: помилки парності в ОЗП, помилки в співпроцесорі, а також коли зовнішній пристрій установлює 0 по лінії -I/O CHCK системної шини. Запити на масковані переривання INTR надходять із програмованого контролера переривань 8259А (K1810ВН59А). Якщо переривання заборонені (IF=0), то CPU ігнорує запит та переходить до наступної команди. Таблиця вказівників векторів переривань для PC/XT/AT має такий вигляд:

Таблиця 9.1

Тип

Призначення переривання

Тип

Призначення переривання

Системні переривання

D

Жорсткий диск XT IRQ5

0

Помилка розподілу на нуль

E

Гнучкий диск IRQ6

1

Покроковий режим

F

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

2

Немасковані переривання

Переривання BIOS, DOS та

користувачів

3

Контрольна крапка

10h

Відеосервіс

4

Переповнення

5

Друк екрана (Print Screen)

Апаратні переривання IRQ8…IRQ15

6,7

Резерв

70h

Будильник IRQ8

Апаратні переривання IRQ0…IRQ7

71h

Програмне перемикання IRQ9

8

Системний годинник - IRQ0

72h- 74h

Резерв

9

Клавіатура – IRQ1

A

Канал введення/виводу IRQ2

75h

Математич. співпроцесор AT IRQ13

B

COM1 (послідов. порт) IRQ3

76h

Жорсткий диск AT IRQ14

C

COM2 IRQ4

77h

Резерв IRQ15