- •Розподіл часу
- •Оцінювання результатів навчання
- •Основна література
- •Додаткова література
- •Методичні вказівки
- •Эволюция аппаратных средств Аппаратная платформа компьютера
- •Персональный компьютер
- •Семейство компьютеров ibm pc
- •Концепция построения компьютера архитектуры ibm pc at
- •Состав системной платы pc-совместимого компьютера
- •Структурная схема пэвм Сompaq Deskpro 386/16
- •Конвертер-согласователь шин
- •Cтруктурная схема контроллера 82c206
- •Архитектура pc-совместимого компьютера как фактор совместимости
- •Время создания и производительность процессоров семейства m68к
- •Микропроцессоры семейства x86, производимые компанией Intel
- •Современные разработки Intel
- •Базовая архитектура и организация 16-разрядных микропроцессоров Структурная схема микропроцессора i8086
- •Формирование физического адреса памяти
- •Программная модель пользователя микропроцессора mc68000
- •Организация и режимы работы процессора mc68000
- •Укрупненная структурная схема микропроцессора i80286
- •Архитектура прикладного уровня 32-разрядных микропроцессоров
- •Строковые типы данных и битовые поля
- •Система команд. Общий формат команд микропроцессоров x86
- •Префиксы команд микропроцессоров x86
- •Префиксы rex
- •Определение разрядности операнда и адреса
- •Формирование физического адреса операнда в памяти для 32-битного режима
- •Блок вычислений с плавающей точкой (fpu) процессоров x86 Общие сведения о блоке fpu x87
- •Система команд fpu x87
- •Принцип работы fpu x87
- •Организация регистрового стека fpu x87
- •Операнды fpu x87
- •Особые случаи представления вещественных чисел в fpu
- •Ожидание
- •Особенности выполнения бинарных операций
- •Пример функционирования регистрового стека fpu x87
- •Регистр состояния (sr, Status Register) fpu x87
- •Формат регистра состояния fpu x87
- •Приоритеты особых случаев fpu
- •Действия, предпринимаемые обработчиком особых случаев fpu
- •Коды условия fpu x87
- •Регистр управления (cr, Control Register) fpu x87
- •Управление округлением и точностью представления вещественных чисел в fpu
- •Регистр тегов (tr) fpu x86
- •Контекст fpu x86 для 16-битного режима
- •Контекст fpu x86 для 32-битного режима
- •Сохранение и восстановление контекста fpu
- •Интерфейсы периферийного уровня
- •Взаимодействие программ, выполняемых cpu, с периферийными устройствами
- •Программный обмен
- •Прямой доступ к памяти
- •Прерывания (Interrupts)
- •Подсистема прерываний компьютера ibm pc at
- •Аппаратные прерывания
- •Исключения
- •Вектор прерывания
- •Способы указания номера вектора прерывания
- •Порядок проверки условий обслуживания прерываний
- •Действия процессора при возникновении прерывания или исключения
- •Особенности обслуживания немаскируемых аппаратных прерываний
- •Особенности обслуживания маскируемых аппаратных прерываний
- •Обслуживание маскируемых аппаратных прерываний в компьютере ibm pc at
Порядок проверки условий обслуживания прерываний
1.Ловушка ___________ (#DB) по выполненной инструкции (пошаговый режим через флаг TF или точка останова по данным через регистры отладки).
2.Отказ ___________ (#DB) по очередной инструкции (точка останова по инструкции через регистр отладки).
3.Немаскируемое аппаратное прерывание.
4.Маскируемое аппаратное прерывание (при IF=1).
5.Отказ _________________ (#NP или #GP) при выборке очередной инструкции.
6.Отказ ____________ (#PF) при выборке очередной инструкции.
7.Отказ ____________________ очередной инструкции (#UD или #GP).
8.Для операции ______ исключение #NM (если TS=1 и МР=1).
9.Для инструкции _____ исключение #NM (если ЕМ=1 или TS=1).
10.Для операции WAIT или инструкции FPU исключение #MF от FPU.
11.Отказ _________________ (#NP, #SS, #GP) или отказ страницы (#PF) для операндов, используемых в инструкции.
Двойной отказ
Double Fault (#DF).
Возникает, если:
при обработке исключения, связанного с __________________ (#TS, #NP, #SS или #GP), процессор обнаруживает исключение, отличное от _________ ____________ (#PF);
при обработке исключения отказа страницы #PF обнаруживается исключение другого типа.
Аварийный останов
Shutdown.
Происходит, если во время обслуживания исключения отказа страницы произойдет _____ ______ ________ страницы.
Никакие новые инструкции не выполняются.
Из этого состояния процессор можно вывести только аппаратно:
сигналом _____, оставляя его в защищенном режиме;
сигналом ________, переводящим процессор в реальный режим.
При обработке исключений 8-14, 17 и 18 в защищенном режиме процессор сохраняет в стеке ________ ______ _________ (Error Code). Если оно отлично от нуля, то в его битах [15:3] содержится селектор дескриптора, с которым связана ошибка, или описание ___________ _________ (для исключения 14 #PF).
Таблица прерываний микропроцессоров x86
Номер |
Функция |
Мне-моника |
Тип |
00h |
Переполнение при делении на 0 |
#DE |
__ |
01h |
Исключение отладки |
#DB |
_____ |
02h |
Немаскируемое прерывание (NMI) |
- |
I |
03h |
Исключение отладки (INT 3) |
#ВР |
__ |
04h |
Исключение по переполнению (INTO) |
#OF |
__ |
05h |
Прерывание по контролю диапазона (BOUND) |
#BR |
__ |
06h |
Недопустимый код операции |
#UD |
__ |
07h |
Сопроцессор недоступен или переключалась задача |
#NM |
__ |
08h |
Двойной отказ 1) |
#DF |
___ ______ |
09h |
Нарушение границы сегмента сопроцессором (386/387) |
|
__, EC |
0Ah |
Недопустимый сегмент состояния задачи 2) |
#TS |
__, EC |
0Bh |
Сегмент отсутствует 2) |
#NP |
__, EC |
0Ch |
Нарушение границы сегмента стека или сегмент стека отсутствует 3) |
#SS |
__, EC |
0Dh |
Общее нарушение защиты 4) |
#GP |
__, EC |
0Eh |
Отказ страницы 2) |
#PF |
___ ___ |
0Fh |
Зарезервировано |
- |
- |
10h |
Исключение сопроцессора |
#MF |
__ |
11h |
Контроль выравнивания (486+) 2) |
#AC |
___ ______ |
12h |
Машинный контроль (Р5+) 2) |
#MC |
__, EC |
13h |
Исключение блока ХММ (Рentium III+) |
#XF |
__ |
14h-1fh |
Зарезервировано |
- |
- |
00h-FFh |
Аппаратные (маскируемые) и программные прерывания INT n |
- |
__ |
Набор и обработка исключений реального и защищенного режимов различны. В реальном режиме:
1) вектор прерывания не попадает в таблицу;
2) не возникают; возможны в режиме V86;
3) нарушение границы сегмента стека;
4) нарушение границы сегмента данных или кода.
Таблица прерываний IBM PC
Часть из 32 зарезервированных Intel исключений перекрывается системными прерываниями BIOS и DOS.
Номер |
Функция |
05h |
Печать копии экрана. Генерируется при нажатии клавиши PrtScr |
08h |
IRQ0 – от интервального таймера, возникает 18,2 раза в секунду |
09h |
IRQ1 – от клавиатуры |
0Ah |
IRQ2 – каскадирование контроллеров прерываний |
0Bh |
IRQ3 – от асинхронного порта COM2 |
0Сh |
IRQ4 – от асинхронного порта СОМ1 |
0Dh |
IRQ5 – от контроллера HDD (в ХТ) или зарезервировано (PC/АТ) |
0Eh |
IRQ6 – от контроллера FDD после завершения операции чтения/записи |
0Fh |
IRQ7 – от принтера (готовность к выполнению очередной операции) |
10h |
Обслуживание видеоадаптера |
11h |
Определение конфигурации устройств в системе |
12h |
Определение размера оперативной памяти в системе |
13h |
Обслуживание дисковой системы |
14h |
Последовательный ввод/вывод |
15h |
Расширенный сервис для компьютеров АТ |
16h |
Обслуживание клавиатуры |
17h |
Обслуживание принтера |
1Ah |
Обслуживание часов |
1Bh |
Обработчик прерываний Ctrl-Break |
1Ch |
Вызывается программно обработчиком прерываний таймера (18,2 раза в секунду) |
70h |
IRQ8 – от часов реального времени |
71h |
IRQ9 – от контроллера EGA |
72h |
IRQ10 – зарезервировано |
73h |
IRQ11 – зарезервировано |
74h |
IRQ12 – зарезервировано |
75h |
IRQ13 – от математического сопроцессора |
76h |
IRQ14 – от контроллера HDD |
77h |
IRQ15 – зарезервировано |