Моторола 68881
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2017 г. ) |

Motorola 68881 и Motorola 68882 — это блоки с плавающей запятой (FPU), используемые в некоторых компьютерных системах вместе с 32-разрядными микропроцессорами Motorola 68020 или 68030 . Эти сопроцессоры представляют собой внешние микросхемы, разработанные до того, как математика с плавающей запятой стала стандартом для процессоров. Motorola 68881 был представлен в 1984 году. [1] 68882 — это более производительная версия, выпущенная позже.
Обзор
[ редактировать ]
Процессоры 68020 и 68030 были разработаны с учетом отдельного чипа 68881. Их наборы команд зарезервировали инструкции «F-линии» — то есть все коды операций , начинающиеся с шестнадцатеричной цифры «F», могли либо быть перенаправлены на внешний сопроцессор, либо использоваться как «ловушки», которые вызывали бы исключение , передавая управление компьютера операционная система . Если FPU отсутствует в системе, ОС либо вызовет эмулятор FPU для выполнения эквивалента инструкции с использованием целочисленного программного кода 68020, вернет программе ошибку, завершит работу программы, либо выйдет из строя и потребует перезагрузки.
Архитектура
[ редактировать ]
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
68881 имеет восемь 80-битных регистров данных (64-битная мантисса плюс знаковый бит и 15-битная показатель степени со знаком). [2] Он поддерживает семь различных режимов числового представления, включая плавающую запятую одинарной точности, плавающую запятую двойной точности, плавающую запятую расширенной точности, целые числа в виде 8-, 16- и 32-битных величин и десятичный двоично-десятичный формат с плавающей запятой. . Двоичные форматы с плавающей запятой определены стандартом IEEE 754 для чисел с плавающей запятой. Он был разработан специально для вычислений с плавающей запятой и не является процессором общего назначения. Например, когда инструкция требует каких-либо вычислений адреса, основной процессор обрабатывает их до того, как 68881 возьмет на себя управление.
Пара CPU/FPU спроектирована таким образом, что оба могут работать одновременно. Когда ЦП встречает инструкцию 68881, он передает FPU все операнды, необходимые для этой инструкции, а затем FPU освобождает ЦП для продолжения выполнения следующей инструкции.
68882
[ редактировать ]68882 — это улучшенная версия 68881 с улучшенной конвейерной обработкой и, в конечном итоге, доступная на более высоких тактовых частотах . [3] [4] Его набор команд точно такой же. В некоторых маркетинговых публикациях Motorola утверждала, что она выполняет некоторые инструкции на 40% быстрее, чем 68881 при той же тактовой частоте, хотя это не отражает типичную производительность, о чем свидетельствует более скромное улучшение в таблице ниже. 68882 совместим по выводам с 68881 и может использоваться в качестве прямой замены в большинстве систем. Самая важная программная несовместимость заключается в том, что 68882 использует больший кадр состояния FSAVE, что влияет на UNIX и другие операционные системы с вытесняющей многозадачностью, которые пришлось модифицировать, чтобы выделить для него больше места.
Использование
[ редактировать ]68881 или 68882 использовались в рабочих станциях Sun Microsystems Sun-3 , рабочих станциях IBM RT PC , Apple Computer Macintosh II семействе , NeXT Computer , Sharp X68000 , Amiga 3000 , Convergent Technologies MightyFrame, Atari Mega STE , TT и Falcon . Некоторый [ который? ] В продуктах Amiga и Atari сторонних производителей 68881 или 68882 использовались в качестве периферийного устройства с отображением памяти для 68000 .
Версии
[ редактировать ]68881
[ редактировать ]- 155 000 транзисторов на кристалле
- Версия 12 МГц
- Версия 16 МГц работала со скоростью 160 тыс. FLOPS.
- Версия 20 МГц работала со скоростью 192 кфлопс.
- Версия 25 МГц работала со скоростью 240 кфлопс.
68882
[ редактировать ]- 176 000 транзисторов на кристалле
- Версия 25 МГц работала со скоростью 264 кфлопс.
- Версия на 33 МГц работала со скоростью 352 кфлопс.
- Версия на 40 МГц работала со скоростью 422 кфлопс.
- Версия 50 МГц работала со скоростью 528 кфлопс.
Эта статистика взята из FAQ по comp.sys.m68k. [3] Для 68882 с частотой 16 МГц и 20 МГц статистика не указана, хотя эти чипы действительно производились.
Наследие
[ редактировать ]Начиная с Motorola 68040 , поддержка операций с плавающей запятой была включена в сам процессор.
Ссылки
[ редактировать ]- ^ Стерлинг, Томас; Андерсон, Мэтью; Бродович, Мацей (2017). Высокопроизводительные вычисления: современные системы и практики . Морган Кауфманн. п. 459. ИСБН 978-0-12-420158-3 .
- ^ Техническое описание MC68881 HCMOS-сопроцессор с плавающей запятой (PDF) , Справочное руководство по семейству MC68000, Motorola
- ^ Jump up to: а б Мальчики, Роберт (6 января 1996 г.). «Часто задаваемые вопросы (FAQ) comp.sys.m68k» . faqs.org . Проверено 23 июня 2023 г.
- ^ Техническое описание MC68882 HCMOS-сопроцессор с плавающей запятой (PDF) , Справочное руководство по семейству MC68000, Motorola
- Примечания