- •Розподіл часу
- •Оцінювання результатів навчання
- •Основна література
- •Додаткова література
- •Методичні вказівки
- •Эволюция аппаратных средств Аппаратная платформа компьютера
- •Персональный компьютер
- •Семейство компьютеров 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.Все команды FPU x87, за исключением нескольких команд управления, реализуют неявную операцию ожидания (наподобие команд WAIT/FWAIT), – т.н. ожидающие команды.
Назначение – ____________ __ __________________ незамаскированные особые случаи FPU ________ выполнением заданной операции.
2.Команды управления FPU имеют два варианта:
с ожиданием (префикс «__»);
без ожидания (префикс «___»).
Пример: FSTSW/FNSTSW.
Команды «без ожидания» позволяют программному обеспечению перед обработкой особого случая сохранить информацию о состоянии или произвести сброс/реинициализацию FPU без обработки особого случая.
Особенности выполнения бинарных операций
Мнемоника команды |
Операция |
Обычные команды |
|
FSUB ST(0), ST(i) |
ST(0) ← ST(0) − ST(i) |
FSUB ST(i), ST(0) |
ST(i) ← ST(i) − ST(0) |
FSUBR ST(0), ST(i) |
ST(0) ← ST(i) − ST(0) |
FSUBR ST(i), ST(0) |
ST(i) ← ST(0) − ST(i) |
«POP»-модификации команд* |
|
FSUBP ST(i), ST(0) |
ST(i) ← ST(i) − ST(0), извлечение из стека |
FSUBP |
ST(1) ← ST(1) − ST(0), извлечение из стека |
*существуют для команд сложения, вычитания, умножения и деления
Код команды |
Мнемоника команды |
Операция |
D8 /0 |
FADD m32fp |
ST(0) ← m32fp + ST(0) |
DC /0 |
FADD m64fp |
ST(0) ← m64fp + ST(0) |
D8 C0+i |
FADD ST(0), ST(i) |
ST(0) ← ST(0) + ST(i) |
DC C0+i |
FADD ST(i), ST(0) |
ST(i) ← ST(i) + ST(0) |
DE C0+i |
FADDP ST(i), ST(0) |
ST(i) ← ST(0) + ST(i), извлечение из стека |
DE C1 |
FADDP |
ST(1) ← ST(0) + ST(1), извлечение из стека |
DA /0 |
FIADD m32int |
ST(0) ← m32int + ST(0) |
DE /0 |
FIADD m16int |
ST(0) ← m16int+o ST(0) |
Пример функционирования регистрового стека fpu x87
; вычислить значение(5.6 x 2.4) + (3.8 x 10.3)
_____ value1 ;(a) value1 = 5.6
______ value2 ;(b) value2 = 2.4
_____ value3 ; value3 = 3.8
______ value4 ;(c)value4 = 10.3
______ ST(1) ;(d)
Регистр состояния (sr, Status Register) fpu x87
Хранит слово соcтояния (SW, Status Word).
SW отображает текущее состояние FPU посредством следующих элементов:
флаг занятости FPU;
указатель вершины стека FPU (TOP);
флаги кодов условия;
общий флаг ошибки;
флаг ошибки операций стека FPU;
флаги отдельных особых случаев.
Флаги устанавливаются автоматически в зависимости от результата операции.