ЗНАЕТЕ ЛИ ВЫ?

Базовая система ввода-вывода BIOS. Прерывания BIOS. Области данных и таблицы BIOS



Первые 20 прерываний с номерами от 00Н до 1Fh закреплены за прерываниями, генерируемыми аппаратными средствами либо предназначенными для управления аппаратурой персонального компьютера. ISR этих прерываний вместе с не­которыми данными образуют так называемую базовую систему ввода-вывода или BIOS (Base Input-Output System). Все ISR и данные BIOSa записаны в ПЗУ. ISR, входящие в BIOS, представляют собой самый нижний уровень иерархической структуры программного обеспечения (ПО) управления аппаратными средствами компьютера. Они взаимодействуют с аппаратурой на уровне физических сигналов, портов, заданных адресов и в этой связи являются немобильной частью ПО. При появлении новых аппаратных средств приходится перерабатывать BIOS. Поэтому принято различать версии BIOS по дате разработки. Кроме того, для облегчения дополнений BIOSa новые периферийные устройства снабжаются своей секцией ПЗУ, а основной блок BIOS, при загрузке системы проверяет наличие дополнительных секций и "переключает" на них соответствующие прерывания.

Важной особенностью BIOSa является стандартный интерфейс с программой практически для всех персональных компьютеров на базе микропроцессоров семейства Intel. Другими словами, BIOS выполняет роль "экрана" между программами (в частности, программами MS-DOS) и большим разнообразием конкретных аппаратных средств. Например, для вывода символа на экран дисплея независимо от типа дисплея и используемого адаптера необходимо выполнить инструкцию INT 10h с теми же самыми значениями во внутренних регистрах. Все детали интерфейса программы с ВЮ5ом описываются в техническом справочнике BIOS.

При выполнении ISR BIOS для хранения данных используется зарезервированная область памяти, называемая областью данных BIOSa. Она начинается с адреса 40:00h и занимает 256 байт до адреса 40:FFh. Здесь располагается ряд таблиц, копируемых из ПЗУ при начальной загрузке системы и уточняемых по результатам тестирования узлов компьютера. При выполнении функций BIOS многие параметры изменяются. Например, корректируется адрес позиции курсора на экране, номер установленного режима адаптера дисплея и т.п. Другими словами, таблицы в области данных BIOSa отражают текущие параметры и состояние аппаратных средств компьютера.

5.7. Функции библиотеки С++ для доступа к обработчикам прерывания

Библиотечные функции С++, как правило, в конечном итоге обращаются к ISR BIOS или MS-DOS. В тех случаях, когда необходимо непосредственное обращение к BIOS или MS-DOS, используются специальные функции, описываемые далее.

 

int int86(int intno, union REGS *inregs, union REGS *outregs)

 

Функция загружает внутренние регистры микропроцессора значениями, записанными в объединении по шаблону union REGS, на начало которого указывает inregs, и выполняет прерывание с номером intno. Значения внутренних регистров на выходе из прерывания записываются в объединении по шаблону union REGS, на начало которого указывает outregs. Описание объединений выполняет точка вызова функции. Шаблон union REGS описан в заголовочном файле <dos.h> и представляет собой объединение двух структур:

 

struct WORDREGS

{

unsigned int ax, bx, ex, dx, si, di, cflag, flags;

};

 

struct BYTEREGS

{

unsigned char al, ah, bl, bh, cl, ch, dl, dh;

};

 

union REGS

{

struct WORDREGS x;

struct BYTEREGS h;

};

 

Структура WORDREGS используется для доступа к регистрам как двух­байтовым единицам. Структура BYTEREGS позволяет осуществлять доступ к отдельным байтам РОН. Поле структуры flags позволяет перед вызовом задать, а после вызова прочесть значение регистра флагов. Так как многие функции MS-DOS используют флаг переноса для сигнализации об ошибках в програм­ме-обработчике прерывания, в структуре WORDREGS специально выделено поле cflag для значения флага переноса.

Все функции int...() возвращают значение регистра АХ на выходе из ISR. Недостатком функции int86() является возможность доступа лишь к ограниченному числу регистров. При выполнении некоторых функций MS-DOS значения задаются и в сегментных регистрах. В таких (правда, достаточно редких) случаях следует использовать более общую функцию int86x():

 

int int86x(int intno, union REGS *inregs, union REGS *outregs, struct SREGS *segregs)

 

В отличие от int86() перед выполнением прерывания intno дополнительно устанавливаются сегментные регистры из структурной переменной по шаблону SREGS. В функцию передается указатель на эту структурную переменную. По возвращении из ISR в структурную переменную по шаблону SREGS дополни­тельно копируются значения всех сегментных регистров. Если необходимо выполнить обращение к функции MS-DOS (т. е. прерывание 21h с заданным значением АН), можно использовать функцию intdos(), всегда обращающуюся к прерыванию 21h.

 

int intdos(union REGS *inregs, union REGS *outregs)

 

В отличие от ранее рассмотренных функций данной функции не передается номер генерируемого прерывания, так как всегда генерируется прерывание 21h.

 

5.8. Предварительная подготовка к работе

1. Ознакомиться с аппаратными средствами системы прерывания.

2. Ознакомиться с программными средствами системы прерывания.

 

Порядок выполнения работы

По заданию преподавателя разработать алгоритм и реализовать программу подключения собственной подпрограммы обработки прерывания и использовать её в цепочке со стандартной подпрограммой обработки прерывания от одного из следующих устройств компьютера:

1. системный таймер;

2. клавиатура;

3. контроллер накопителя на гибких магнитных дисках;

4. таймер реального времени;

5.контроллер накопителя на жёстком магнитном диске.

 

 

Содержание отчета

Отчет по лабораторной работе должен содержать:

- титульный лист;

- задание на лабораторную работу;

- блок-схему алгоритма с пояснениями;

-текст программы;

- примеры запуска программы;

- структурная схема аппаратных средств, используемых при выполнении программы с необходимой степенью детализации блоков.

 

5.11. Контрольные вопросы

1. Что такое таблица векторов прерывания?

2. Что хранится в одной строчке таблицы векторов прерывания?

3. Какая информация сохраняется в стеке автоматически?

4. Какой из регистров процессора указывает на вершину стека?

5. Каким образом определяется точка входа в таблицу векторов прерывания?

6. Какую информацию следует сохранять в стеке в начале выполнения подпрограммы обработки прерывания?

7. Какие действия должна выполнить подпрограмма обработки прерывания перед своим завершением?

8. С какой частотой поступает запрос по линии прерывания IRQ0?

9. Сколько раз может вызываться прерывание от клавиатуры при однократном нажатии и отпускании произвольной клавиши?

10. Каким образом определяется приоритет при одновременном поступлении нескольких запросов на прерывание?

11. Чем определяется время реакции процессора на запрос прерывания?

12. Какие действия автоматически выполняются процессором при выходе из подпрограммы обработки прерывания?

 

 

 

 

Список литературы

  1. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. Учебник для вузов. СПб.:, Питер, 2006.
  2. Организация ЭВМ. 5-е изд./ К.Хамахер, З.Вранешич, С.Заки. – СПб. Питер; Киев: Издательская группа BHV , 2003. – 848 с.: ил.- (Серия «Классика computer science»).
  3. Скляров В.А. Применение ПЭВМ. Кн.1. Организация и управление ресурсами ПЭВМ. М.:, Высшая школа, 1992.
  4. Ларионов А.М., Горнец Н.Н. Периферийные устройства в вычислительных системах. М.:, Высшая школа,1991.
  5. Григорьев В.Л. Видеосистемы ПК фирмы IBM. М.:, Радио и связь,1993.
  6. Анисимов А.В., Валов А.А., Герасимов И.В., Петров Г.А., Родионов С.В., Филиппов Е.В., Чугунов Л.А. Основы организации вычислительных комплексов для решения задач автоматизации и управления: Учеб. Пособие / ГЭТУ. - СПб.,1995.

Содержание

 

Лабораторная работа №1. ИССЛЕДОВАНИЕ ВНУТРЕННЕГО ПРЕДСТАВЛЕНИЯ РАЗЛИЧНЫХ ФОРМАТОВ ДАННЫХ................................................................ 2

1.1. Общие положения......................................................................................... 2

1.2. Предварительная подготовка к работе...................................................... 13

1.3. Порядок выполнения работы..................................................................... 13

1.4. Содержание отчета...................................................................................... 14

Лабораторная работа №2. ИССЛЕДОВАНИЕ ВИДЕОСИСТЕМЫ (ТЕКСТОВЫЙ РЕЖИМ).................................................................................................................. 2

2.1. Общие положения......................................................................................... 2

2.2. Видеорежимы и их краткая характеристика............................................... 3

2.3. Функции консольного ввода-вывода........................................................... 6

2.4. Управление курсором................................................................................... 7

2.5. Работа с текстовой информацией................................................................. 8

2.6. Скроллинг. Очистка окна и всего экрана.................................................... 9

2.7. Вывод информации в окно экрана............................................................. 10

2.8. Предварительная подготовка к работе...................................................... 13

2.9. Порядок выполнения работы..................................................................... 13

2.10. Содержание отчета.................................................................................... 14

2.11. Контрольные вопросы.............................................................................. 14

Лабораторная работа № 3. ИССЛЕДОВАНИЕ ВИДЕОСИСТЕМЫ (ГРАФИЧЕСКИЙ РЕЖИМ)................................................................................................................ 15

3.1. Общие положения....................................................................................... 15

3.2. Инициализация и закрытие системы графики........................................... 16

3.3. Обработка ошибок системы графики......................................................... 21

3.4. Определение и установка графического режима....................................... 22

3.5. Управление цветами и палитрами.............................................................. 24

3.6. Задание окна экрана. Определение и установка графических координат 24

3.7. Вывод текста в графическом режиме видеоадаптера................................ 26

3.8. Вывод графической информации............................................................... 30

3.8.1. Параметры и атрибуты графического вывода.................................... 30

3.8.2. Чтение-запись отдельных пикселов...................................................... 36

3.8.3. Вывод отрезков прямых линий............................................................ 37

3.8.4. Вывод основных графических примитивов......................................... 37

3.9. Предварительная подготовка к работе...................................................... 42

3.10. Порядок выполнения работы................................................................... 43

3.11. Содержание отчета.................................................................................... 43

3.12. Контрольные вопросы.............................................................................. 43

Лабораторная работа № 4. КЛАВИАТУРА IBM PC. ИСПОЛЬЗОВАНИЕ ПРЕРЫВАНИЙ.................................................................................................... 45

4.1. Общие положения....................................................................................... 45

4.2. Аппаратные и программные средства ввода информации с клавиатуры 45

4.2.1. Аппаратные средства персонального компьютера для ввода информации с клавиатуры...................................................................................................... 45

4.2.2. Анализ и преобразование скэн-кода.................................................... 46

4.2.3. Буфер клавиатуры................................................................................. 48

4.3. Ввод информации с клавиатуры средствами MS-DOS............................. 50

4.3.1. Функции прерывания 21h MS-DOS для ввода информации с клавиатуры 50

4.3.2. Функции библиотеки С++..................................................................... 51

4.4. Ввод информации с клавиатуры средствами BIOS................................... 52

4.5. Предварительная подготовка к работе...................................................... 42

4.6. Порядок выполнения работы..................................................................... 53

4.7. Содержание отчета...................................................................................... 54

4.8. Контрольные вопросы................................................................................ 54

Лабораторная работа № 5. ИСПОЛЬЗОВАНИЕ АППАРАТНЫХ ПРЕРЫВАНИЙ 55

5.1. Общие положения....................................................................................... 45

5.2. Аппаратные прерывания............................................................................ 56

5.3. Немаскируемые прерывания...................................................................... 59

5.4. Программные прерывания......................................................................... 59

5.5. Исключительные ситуации......................................................................... 60

5.6. Базовая система ввода-вывода BIOS. Прерывания BIOS. Области данных и таблицы BIOS.................................................................................................................... 60

5.7. Функции библиотеки С++ для доступа к обработчикам прерывания...... 61

5.8. Предварительная подготовка к работе...................................................... 42

5.9. Порядок выполнения работы..................................................................... 53

5.10. Содержание отчета.................................................................................... 54

5.11. Контрольные вопросы.............................................................................. 54

Список литературы............................................................................................... 54

Содержание........................................................................................................... 63

 

 

Редактор Г. Г. Петров

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Подписано в печать . Формат 60×84 1/16.

Бумага офсетная. Печать офсетная. Печ. л. .

Гарнитура « ». Тираж экз. Заказ

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Издательство СПбГЭТУ «ЛЭТИ»

197376, С.-Петербург, ул. Проф. Попова, 5

 





Последнее изменение этой страницы: 2016-06-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.219.31.204 (0.013 с.)