Организация вычислительных систем

поездки в буковель смотрите здесь |

Математические сопроцессоры фирмы Intel


Современные процессоры архитектуры IA-32 содержат блок операций с вещественными числами (Floating Point Unit - FPU). Функционирование этого блока во многом основано на архитектуре первого представителя семейства математических сопроцессоров Intel - 8087.

Сопроцессор 8087 был разработан в 1980 г. Структура сопроцессора 8087 показана на рис. 8.1. В схеме сопроцессора 8087 можно выделить две подсистемы: устройство шинного интерфейса и устройство с плавающей точкой. Развитием этого семейства стал сопроцессор 80287, созданный в 1985 году. Основные изменения произошли только в устройстве шинного интерфейса. В отличие от 8087, сопроцессор 80287 не имеет доступа к шине адреса, поэтому все обращения к памяти выполняет ЦП. В сопроцессоре 80387 изменения коснулись устройства с плавающей точкой: изменилась схема обработки ошибок, а также был реализован больший набор трансцендентных функций.

Структура сопроцессора 8087

Рис. 8.1.  Структура сопроцессора 8087

Выпуск очередного поколения ЦП фирмы Intel ознаменовался внедрением блока вещественной арифметики в структуру ЦП. Первым таким представителем семейства процессоров стал i486DX.

В пятом поколении процессоров интеграция блока FPU в суперскалярную архитектуру позволила значительно повысить эффективность выполнения операций с вещественными числами. Блок FPU может выполнять одну операцию с плавающей точкой в каждом такте или же получать и одновременно выполнять 2 команды с плавающей точкой, одной из которых должна быть команда обмена. Команды с плавающей точкой проходят по целочисленному конвейеру (обычно только по U-конвейеру - 5 ступеней) и передаются на исполнительные ступени конвейера FPU (3 ступени). В целом же, несмотря на то, что блок FPU интегрирован в центральный процессор, этот блок работает независимо и одновременно с устройством целочисленных вычислений.

Дальнейшее развитие этого семейства сопровождалось дополнением набора команд блока FPU специальными функциональными подмножествами: MMX, SSE, SSE2.

В целом базовая программная модель всех перечисленных сопроцессоров и блока FPU у IA-32 сходная (рис. 8.2): регистровый стек (восемь 80-битных регистров R0-R7), слово тегов, регистр управления, регистр состояния, указатель команды и указатель данных.




Начало  Назад  Вперед



Книжный магазин