Процессор Intel 8087
-
История и разработка
- Intel 8087 был первым сопроцессором с плавающей запятой для линейки 8086.
- Разработан Биллом Полманом и Брюсом Равенелом.
- Включал 64 бита мантиссы и 16 битов экспоненты.
- Использовал алгоритм CORDIC для вычислений.
-
Производительность и особенности
- Ускорял арифметические операции с плавающей запятой на 20-500%.
- Выполнял около 50 000 операций в секунду.
- Использовал около 2,4 Вт энергии.
- Не имел аппаратного умножителя.
-
Продажи и стандарты
- Продажи выросли с появлением разъема для сопроцессора на материнской плате IBM PC.
- Разработка привела к стандарту IEEE 754-1985.
- Доступны версии с частотами 4,77, 8 и 10 МГц.
-
Влияние и наследие
- Привел к появлению стандарта IEEE 754-1985 для арифметики с плавающей запятой.
- Встроенные сопроцессоры с плавающей запятой появились в процессорах Intel x86.
- Процессоры Intel 486SX имели отключенный модуль с плавающей запятой, но допускали использование 80487.
-
Технические характеристики
- Имел 65 000 транзисторов и был изготовлен в виде HMOS-схемы.
- Работал в паре с 8086 или 8088.
- Содержал около 60 новых инструкций.
-
Архитектура и взаимодействие
- 8087 наблюдал за шиной и декодировал команды синхронно с 8086.
- 8087 мог оперировать только операндами из памяти или своих регистров.
- Обмен данными между 8087 и 8086 осуществлялся через оперативную память.
-
Программное обеспечение и использование
- Программы должны были гарантировать, что 8087 выполнит команду до следующей.
- Использовалась команда ОЖИДАНИЯ для синхронизации.
- 8087 поддерживал свою очередь предварительной выборки команд.
-
Интерфейс и кодирование
- Коды операций сопроцессора кодировались в 6 битах по 2 байта.
- Необходимо было написать программы, использующие специальные инструкции с плавающей запятой.
-
Регистры и инструкции
- Семейство x87 использует восьмиуровневую структуру глубокого стека для регистров.
- Инструкции перемещают, вычисляют и добавляют значения в стек.
- Регистр st0 может использоваться как накопитель и обмениваться с другими регистрами.
-
Стандарт IEEE с плавающей запятой
- 8087 стал основой для стандарта IEEE 754 с плавающей запятой.
- Модель 80387 реализовала окончательный стандарт IEEE 754.
- 8087 поддерживал 32/64-разрядные типы данных с плавающей запятой и 80-разрядный внутренний временный формат.
-
Бесконечность
- 8087 обрабатывает бесконечные значения аффинным или проективным замыканием.
- Проективное замыкание было исключено из стандарта IEEE 754-1985.
-
Интерфейс сопроцессора
- 8087 был напрямую подключен к шинам адреса и данных.
- Сопроцессор запрашивал DMA у главного процессора для доступа к памяти.
- Более поздние сопроцессоры Intel получали инструкции через порты ввода-вывода.
-
Преемники
- 8087 был заменен более поздними сопроцессорами, такими как 80287, 80387 и 80187.
- Начиная с 80486, процессоры Intel включали функции с плавающей запятой в ядро процессора.