- •Розподіл часу
- •Оцінювання результатів навчання
- •Основна література
- •Додаткова література
- •Методичні вказівки
- •Эволюция аппаратных средств Аппаратная платформа компьютера
- •Персональный компьютер
- •Семейство компьютеров ibm pc
- •Состав системной платы pc-совместимого компьютера
- •Структурная схема пэвм Сompaq Deskpro 386/16
- •Конвертер-согласователь шин
- •Cтруктурная схема контроллера 82c206
- •Архитектура pc-совместимого компьютера как фактор совместимости
- •Концепция построения компьютера архитектуры ibm pc at
- •Время создания и производительность процессоров семейства 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
Формат регистра состояния fpu x87
PE, Inexact-Result (Precision) – ____________ ______________. Истинный результат не может быть точно представлен в заданном формате. Результат _________________. Обработка продолжается.
UE, Numeric Underflow – _________ _______________, антипереполнение. Истинный результат отличен от нуля, но слишком мал для представления в заданном формате. Результат – __________________________ или нуль.
OE, Numeric Overflow – __________________. Результат слишком велик и не помещается в заданный формат. Результат — наибольшее число или бесконечность.
ZE, Divide-By-Zero – ___________ ____________. Делитель равен нулю, а делимое ___ ______ __ не бесконечность. Результат – бесконечность.
IE, Invalid Operation – ________________________ ____________. Операция после выдачи NAN, неподдерживаемый формат, неопределенная форма или переполнение/опустошение стека. Результат – «скрытый» NAN, неопределенное целое или неопределенное BCD.
DE, Denormal Operand – __________________________ ___________. Хотя бы один из операндов не может быть нормализован. Обработка продолжается.
Для сохранения содержимого SR в памяти используют команды:
F[N]STSW;
F[N]STENV;
F[N]SAVE;
FXSAVE.
Для сохранения содержимого SR в регистре AX используются команды:
F[N]STSW.
Сброс флагов особых случаев и кодов условия возможен посредством:
команд F[N]CLEX;
инициализации FPU с помощью команд F[N]INIT или F[N]SAVE;
переустановки флагов командами FRSTOR или FLDENV.
Приоритеты особых случаев fpu
1.Недопустимая операция:
опустошение стека;
переполнение стека;
недопустимый формат операнда (только для операнда в расширенном формате двойной точности);
______.
2.______ (не истинный особый случай).
3.Прочие особые случаи недопустимой операции.
4.Денормализованный операнд.
5.Переполнение и ________________________ (может вызвать особый случай гр. 6).
6.Потеря ____________.
Действия, предпринимаемые обработчиком особых случаев fpu
1.Анализ сохраненного ______________ FPU с целью определения причины ошибки.
2.Устранение причины ошибки.
3.________ флагов особых случаев.
4.Возврат в прерванную программу и продолжение ее нормального выполнения.
При необходимости:
инкремент программного счетчика ошибок для последующего его анализа;
печать и отображение диагностической информации;
приостанов выполнения основной программы.
Коды условия fpu x87
Биты C0–C3 отражают результат операции ______________ двух вещественных чисел или _____________________ операции.
Используются в общем случае для реализации ветвлений (____________ ______________) и при анализе _________ особых случаев.
Устанавливаются автоматически.
Обработка кодов условия FPU x86
Cуществуют два варианта реализации ветвлений по итогам сравнения пары значений с плавающей точкой:
«старый» метод (процессоров, предшествующих ___);
«новый» метод (_____).
«Старый» метод обработки кодов условия FPU
1.Производится ______________ двух операндов с плавающей точкой с помощью команды сравнения FCOM, FCOMP, FCOMPP, FTST, FUCOMPP, FICOM или FICOMP.
2.В соответствии с полученным результатом автоматически устанавливаются флаги кода условия C0-C3.
3.Содержимое флагов C0-C3 копируется в флаги состояния регистра _________ посредством двухэтапной процедуры:
Команда ________ ___ передает слово состояния FPU в регистр AX.
Команда ______ копирует 8 старших бит регистра AX, содержащих флаги кодов условия, в младшие 8 разрядов регистра _________.
«Новый» метод обработки кодов условия FPU
Для сравнения двух операндов с плавающей точкой используется одна из новых (P6+) команд FCOMI, FCOMIP, FUCOMI или FUCOMIP, которые устанавливают флаги _____ ___ __ ___ непосредственно в регистре _________.
Одна команда «нового» метода эквивалентна трем командам «старого».
Новые (P6+) команды FCMOVcc реализуют ____________ пересылки между регистрами FPU в зависимости от состояния флагов ZF, PF и CF. Благодаря этому отпадает необходимость в использовании оператора «IF».
