Специализированные процессоры. Числовой арифметический сопроцессор INTEL 80x87(FPU). Программная (регистровая) модель. Форматы данных. Система команд.
Специализированный процессор – процессор, у которого особенности архитектуры, набора структурных блоков, системы команд или конструктивно-технологического исполнения, позволяют значительно повысить эффективность решения достаточно узкого круга специальных задач по сравнению с иными применениями
Классификация специализированных процессоров:
Процессор 80x87 - это специальный сопроцессор для обработки чисел, который может входить в состав вашего компьютера РС. С помощью него операции с плавающей точкой выполняются очень быстро. Поэтому если вы собираетесь использовать большой объем вычислений с плавающей точкой, то вам, вероятно, понадобится сопроцессор.
Основная область применения арифметического сопроцессора - научные расчеты и машинная графика. Некоторые пакеты САПР, например, Autocad версии 10, отказывается работать, если в машине отсутствует сопроцессор. Более современный процессор Intel 80486 содержит встроенный арифметический сопроцессор, совместимый с 80387 (и даже немного более мощный).
Сопроцессор запускается центральным процессором. После запуска он выполняет все вычисления самостоятельно и параллельно с работой центрального процессора. Если центральный процессор выдает очередную команду сопроцессору в момент времени, когда тот еще не закончил выполнение предыдущей команды, центральный процессор переводится в состояние ожидания. Если же сопроцессор ничем не занят, центральный процессор, выдав команду сопроцессору, продолжает свою работу, не дожидаясь завершения вычисления. Впрочем, есть специальные средства синхронизации (команда FWAIT).
|
|
Приведем форматы используемых данных:
Вещественные числа
Прежде чем говорить о форматах вещественных числе, используемых сопроцессором, вспомним о числах с плавающей точкой, встречающихся в научных расчетах. В общем виде эти числа можно записать следующим образом:
(знак)(мантисса)*10(знак)(порядок)
Например: -1.35*105
Здесь знак - это минус, мантисса - 1.35, порядок - 5. Порядок тоже может иметь знак.
Вспомним также такое понятие, как нормализованное представление чисел:
если целая часть мантиссы числа состоит из одной, не равной нулю, цифры, то число с плавающей точкой называется нормализованным.
В чем преимущества использования нормализованных чисел? В том, что для фиксированной разрядной сетки числа (т.е. для фиксированного количества цифр в числе) нормализованные числа имеют наибольшую точность.
Сопроцессор 8087/80287/80387 может работать с вещественными числами в трех форматах:
Одинарной точности;
Двойной точности;
|
|
Расширенной точности.
Эти числа занимают в памяти, соответственно, 4, 8 или 10 байтов.
Одинарная точность
1 бит 8 бит 23 бита
---T-------T--------------------┐
│Зн│Порядок│ Мантисса │
L--+-------+---------------------
Двойная точность
1 бит 11 бит 52 бита
---T---------T--------------------------------┐
│Зн│ Порядок │ Мантисса │
L--+---------+---------------------------------
Расширенная точность
1 бит 15 бит 64 бита
---T-------------T------------------------------------┐
│Зн│ Порядок │ Мантисса │
L--+-------------+-------------------------------------
В любом представлении старший бит "Зн" определяет знак вещественного числа:
0 - положительное число;
1 - отрицательное число.
Все равные по абсолютному значению положительные и отрицательные числа отличаются только этим битом. В остальном числа с разным знаком полностью симметричны. Для представления отрицательных чисел здесь не используется дополнительный код, как это сделано в центральном процессоре.
Представление с расширенной точностью используется сопроцессором для выполнения всех операций. И даже более - все операции с числами сопроцессор выполняет над числами только в формате с расширенной точностью. В этом формате хранится и "лишний" бит целой части нормализованного числа.
|
|
Основная причина использования для вычислений расширенной точности - предохранение программы от возможной потери точности вычислений, связанной с большими различиями в порядках чисел, участвующих в арифметических операциях.
Арифметический сопроцессор наряду с вещественными числами способен обрабатывать и целые числа. Он имеет команды, выполняющие преобразования целых чисел в вещественные и обратно.
Дата добавления: 2020-01-07; просмотров: 191; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!