Охарактеризуйте систему BIOS

Базова система введення-виведення - це програмне забезпечення низького рівня, що керує роботою системних пристроїв і виступає в ролі інтерфейсу між операційною системою та обладнанням. У міститься Системна BIOS в мікросхемі ПЗУ (постійне запам'ятовуючий пристрій) на материнській платі; ця мікросхема містить програму пост і початковий завантажувач. Вказує початкового завантажувачу БІОС, з якого саме накопичувача (жорсткого диска або іншого пристрою) необхідно завантажувати операційну систему або програму.

 

2) Розкрийте поняття «переривання».

 

Переривання – це важлива процедура, що дозволяє змінювати нормальну послідовність команд, які виконуються процесором.

На початку переривання використовувалися в основному для управління процесором пристроями введення-виведення. Потім переривання стали використовувати для організації внутрішньої роботи ЕОМ. У відповідності з цим існують наступні типи переривань: 1. Апаратні переривання – переривання від пристроїв комп'ютера. 2. Програмні переривання – переривання, які виробляють процеси, що перебувають на стадії виконання. 3.Логічні переривання – Ці переривання виробляє сам процесор, коли зустрічається з яким-небудь необхідною умовою: а) ділення на 0 б) переповнення регістрів мікропроцесора в) покрокове виконання програм г) режим контрольних точок.

Кожне переривання має два параметри: 1) Номер переривання 2)Вектор переривання. Вектор переривання – це адреса комірки пам'яті, де зберігається програма – обробник переривання. Переривання позначаються - IRQ.

 

3) Розкрийте поняття «таблиця векторів переривань».

Таблиця векторів переривань (англ. Interrupt Descriptor Table, IDT) використовується в архітектурі x86 і служить для визначення коректного відповіді на переривання і виключення. У мікропроцесорах 8086/80186 таблиця векторів переривань розташована в першому кілобайті пам'яті, починаючи з адреси 0000:0000 і містить 256 векторів переривань у форматі сегмент:зміщення. Починаючи з процесора 80286, адресу фізичної пам'яті і розмір таблиці переривань визначається 48-бітним регістром IDTR.

У IDT використовуються наступні типи переривань: апаратні переривання, програмні переривання переривання, зарезервовані процесором, звані винятками (перші 32) на випадок виникнення певних подій (ділення на нуль, помилка трасування, переповнення). В реальному режимі елементом IDT є 32-бітний FAR-адресу обробника переривання.

У захищеному режимі елементом IDT є шлюз переривання довжиною 8 байт, що містить сегментний (логічний) адресуобробника переривання, права доступу та ін. У довгому режимі розмір дескриптора переривання збільшений до 16 байт. В режимі V86 при використанні розширення VME таблиця векторів розташовується по віртуальному адресою 0000:0000. Без використання цього розширення при виникненні переривання процесор залишає режим V86 і виконує звичайний обробник захищеного режиму.

 

4) Розкрийте поняття «вектор переривання».

Система переривань формує апаратний виклик (LCALL) відповідної підпрограми обслуговування, у разі якщо вона не заблокована одним з наступних умов. У даний момент обслуговується запит переривання рівного або вищого рівня пріоритету; поточний машинний цикл — не останній у циклі виконуваної команди; виконується команда RETI або будь-яка команда, що пов'язана із зверненням до регістрів ІЕ або IP. Відзначимо, що якщо прапор переривання був встановлений, але по одному з зазначених вище умов не отримав обслуговування і до моменту закінчення блокування вже скинутий, то запит переривання втрачається і ніде не запам'ятовується.

За апаратно сформованому кодом LCALL система переривання поміщає в стек вміст лічильника команд (PC) і завантажує в нього адресу вектора відповідної підпрограми обслуговування. За адресою вектора повинна бути розташована команда безумовної передачі керування (JMP) до початкового адресою підпрограми обслуговування переривання.

У випадку вкрай важливо сти вона повинна починатися командами запису в стек (PUSH) слова стану програми (PSW), акумулятора, розширювача, покажчика даних і т. д. і повинна закінчуватися командами відновлення з стека (POP).Підпрограми обслуговування переривання повинні завершуватися командою RETI, за якої лічильник команд перезавантажується із стека збережений адреса повернення в основну програму. Команда RET також повертає управління перерваної основній програмі, але при цьому не знімуть блокування переривань, що призводить до вкрай важливо сти мати програмний механізм аналізу закінчення процедури обслуговування даного переривання.

 

5) Охарактеризуйте розмірність і структуру таблиці векторів переривань.

 

Під перериванням в загальному випадку розуміється не тільки обслуговування запиту зовнішнього пристрою, але і будь-яке порушення послідовної роботи процесора. Наприклад, може бути передбачено переривання за фактом некоректного виконання арифметичної операції типу ділення на нуль.Або ж переривання може бути програмним, коли в програмі використовується команда переходу на якусь підпрограму, з якої потім відбудеться повернення в основну програму. В останньому випадку спільне із справжнім перериванням тільки те, як здійснюється перехід до підпрограми та повернення з неї.
Будь-яке переривання обробляється через таблицю векторів (покажчиків) переривань. У цій таблиці в найпростішому випадку знаходяться адреси початку програм обробки переривань, які і називаються векторами. Довжина таблиці може бути досить великою (до кількох сотень елементів).Зазвичай таблиця векторів переривань розташовується на початку простору пам'яті (в комірках пам'яті з адресами малими). Адреса кожного вектора(або адресу початкового елемента кожного вектора) являє собою номер переривання.