Специализированные процессоры. Числовой арифметический сопроцессор 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!