Интел 8231/8232


Intel 8231 и 8232 были ранними моделями математических сопроцессоров с плавающей запятой (FPU), продававшимися для использования с i8080 линейкой основных процессоров . Это были лицензионные версии FPU AMD Am9511 и Am9512 1977 и 1979 годов, которые AMD заявляла как первые в мире однокристальные решения FPU. [1] [2]
Принятие
[ редактировать ]Хотя i8231/i8232 (и их двоюродные братья под брендом AMD) в первую очередь предназначались для партнерства с i8080 (или клоном AMD Am9080), в их конструкции имеется множество вариантов интерфейса, от простой вставки состояния ожидания и опроса состояния процедур до прерываний и контроллера DMA. управляемые методы, подходящие для периферийного процессора или дополнительной платы, означали, что — с небольшим количеством связующей логики — их можно было использовать практически в любой микропроцессорной системе, которая имела подсистему DMA или запасной вход прерывания/ вектор прерывания , а также оригинальные методы AMD В документации приведено несколько различных примеров. [2] Это была ценная функция для одного из первых коммерчески доступных однокристальных FPU, значительно расширявшая его потенциальный рынок, и резко контрастирующая с последующими FPU 8087 (и других семейств x87 ), разработанными Intel собственными силами, которые были тесно связаны с процессорами x86 Intel. Линейка процессоров . Например, i8231A использовался в картах-ускорителях Applied Analytics MicroSPEED II и II+ для 6502 на базе линейки Apple II , [3] но примеры приводились и для Z80 , MC6800 , i8085 и даже для 16-битного Z8000 . Кроме того, до появления 8087 в собственных предварительных технических характеристиках Intel эти чипы указывались в качестве подходящих компаньонов для нового на тот момент 8086 . [4]
Емкость
[ редактировать ]Intel 8231 (и обновленная версия 8231A) — это арифметический процессор (APU). Он предлагал 32-битную «двойную» точность (термин, более поздний и более часто используемый для описания 64-битных чисел с плавающей запятой, в то время как 32-битная считается «одинарной» точностью ) с плавающей запятой, а также 16-битные или 32-битные числа. («одинарная» или «двойная» точность) вычисление с фиксированной точкой 14 различных арифметических и тригонометрических функций в соответствии с собственным стандартом. ВСУ использовало полиномы Чебышева по алгоритмам, представленным здесь. Доступная версия APU с частотой 4 МГц стоила 235 долларов США, а версия APU с частотой 2 МГц стоила 149 долларов США в количестве 100 или более. [5] Более поздний Intel 8232 представляет собой процессорный модуль с плавающей запятой (FPU). Он выполнял 32-битные или 64-битные (истинные одинарной и двойной точности) вычисления с плавающей запятой в соответствии с (проектом) стандарта IEEE-754 (который используется в i80387 и других более поздних FPU), но только для четырех основных арифметических операций. функции (сложение, вычитание, умножение и деление). [1] [6] Доступная версия FPU с частотой 4 МГц стоила 235 долларов США, а версия с частотой 2 МГц — 149 долларов США в количестве 100 или более. [7]
Все три чипа использовали 8-битную шину данных , как и i8080 и большинство других современных микропроцессоров. 8231 мог работать на частоте до 3 МГц . [1] а 8231A и 8232 до 4 МГц [1] [4] (небольшое улучшение по сравнению с Am9512, частота которого была ограничена 3 МГц). [2] ), либо синхронно с ЦП, либо (в 8231A и 8232) асинхронно, в зависимости от степени разделения шин в хост-системе. Асинхронная операция была полезным дополнением к набору функций, поскольку она позволяла, например, расширить систему Apple II с частотой примерно 1 МГц с помощью 8231A с частотой 4 МГц и воспользоваться преимуществами гораздо более быстрой числовой обработки, чем она могла бы быть ограничена в противном случае, или Система на базе i8085 с частотой 5 МГц для размещения 8231A или 8232 без необходимости замедления частоты до 4 МГц или меньше для обеспечения совместимости. Это также, наряду с конструкцией периферийных устройств, управляемых прерываниями, обеспечивало определенную степень параллельной обработки между ЦП и FPU, при этом первый возобновлял свою нормальную обработку после передачи команд и данных по существу «вне платы» сопроцессора, только переключаясь обратно в плавающий режим. -точечная подзадача (для получения результатов и, при необходимости, выдачи дальнейших команд), когда copro сигнализирует о завершении обработки. Такое распараллеливание было жизненно важно для повышения общей пропускной способности системы, поскольку для выполнения некоторых из более сложных функций FPU все еще требовалось несколько миллисекунд — вечность с точки зрения вычислений.
Время выполнения команд было очень разным и, как в конструкции раннего поколения, обычно намного дольше, чем в более поздних, более развитых FPU. Например, если игнорировать инструкции по обработке данных и стека, на 8232 они варьировались от 56 периодов такта для вычитания с одинарной точностью (32-бит) до полных 4560 периодов для деления с двойной точностью (64-бит). [4] для эффективной скорости обработки (при тактовой частоте 4 МГц) от 877 до 71429 FLOPS . Команды 8231(A) варьировались от 17 периодов для 16-битного сложения с фиксированной точкой до 98–378 периодов для обычных 32-битных операций с плавающей запятой (в значительной степени зависящих не только от самой функции, но и от фактической величины операнды и результат, и даже количество «1» бит в каждом числе), до целых 12032 периодов для максимально сложного расчета «мощности», что дает от 332, через 10,6k ~ 40,8k, до 235,3k FLOPS производительности ( на частоте 4 МГц) в зависимости от комбинации команд и данных. [6] Хотя с современной точки зрения эти цифры могут показаться небольшими, они достаточно хорошо сравниваются с преемником i8087 (большими преимуществами которого были более широкая шина данных и диапазон адресов, что позволяло осуществлять более быструю передачу данных в большую область памяти и из нее, большую числовую точность, расширенные инструкции и расширенный диапазон адресов). набора функций и соответствия почти стандарту IEEE-754) и были радикально быстрее по сравнению с выполнением тех же вычислений с использованием программной эмуляции на обычном ЦП – даже относительно сложный 16-битный процессор 8086, работающий на полной частоте 8 МГц, мог достичь чего-то среднего несколько десятков , до не более 1000 FLOPS без сопроцессора, [8] а его более медленные 8-битные предшественники и конкуренты оказались бы еще хуже.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д «Арифметические процессоры: тогда и сейчас - Музей хижины ЦП» . www.cpushack.com . Проверено 14 апреля 2018 г.
- ^ Перейти обратно: а б с «Руководство по процессору с плавающей запятой AMD Am9511A/Am9512» (PDF) . Предприятие Один Два Восемь . Проверено 19 апреля 2019 г.
- ^ «InfoWorld, 30 ноября 1981 г., стр. 69» . Гугл Книги . 30 ноября 1981 года . Проверено 19 апреля 2019 г.
- ^ Перейти обратно: а б с «Процессор Intel 8232 с плавающей запятой, предварительные технические данные» . Архив даташитов . Проверено 19 апреля 2019 г.
- ^ Корпорация Intel, «Периферийные устройства Intel улучшают дизайн системы 8086», Специальный выпуск Intel Preview: 16-битное решение, май/июнь 1980 г., стр. 22
- ^ Перейти обратно: а б «Техническое описание Intel 8231A» (PDF) . Октопарт . Проверено 19 апреля 2019 г.
- ^ Корпорация Intel, «Периферийные устройства Intel улучшают дизайн системы 8086», Специальный выпуск Intel Preview: 16-битное решение, май/июнь 1980 г., стр. 22
- ^ «Техническое описание Intel 8087» (PDF) . Октопарт . Проверено 20 апреля 2019 г.