Регистры сопроцессора x87

Сопроцессор (FPU) предназначен для выполнения операций над вещественными числами. С программной точки зрения сопроцессор содержит блок регистров данных, регистр управления и группу регистров состояния и указателей. Восемь регистров данных разрядностью 80 бит организованы в стек. Номер регистра, являющегося текущей верхушкой стека, хранится в особом поле регистра состояния (указателе верхушки стека). Операция Регистры сопроцессора x87 push уменьшает значение указателя на 1 и помещает в стек данные в регистр, являющийся новейшей верхушкой стека. Операция pop записывает данные с верхушки стека в память либо регистр и наращивает указатель на 1. Аннотации адресуют регистры или очевидно, или неявно. Неявная адресация предполагает операнд, находящийся на верхушке стека. Очевидная адресация предполагает указание Регистры сопроцессора x87 смещения регистра относительно верхушки стека - st(i).

Регистры данных FPU (арифметический стек)

Физические номера 80 бит Относительные номера
1 бит 15 бит 64 бит
Символ Порядок Мантисса
mm0 ST(5)
mm1 ST(6)
mm2 ST(7)
mm3 ST(0)
mm4 ST(1)
mm5 ST(2)
mm6 ST(3)
mm7 ST(4)
Регистры MMX / 3DNow!

Расширение MMX

MMX было первым расширением, реализующим технологию SIMD Регистры сопроцессора x87 (Single Instruction - Multiple Data). Основная мысль SIMD заключается в одновременной обработке нескольких частей данных одной операцией. Расширение MMX употребляет новые типы упакованных 64-битные целочисленных данных:

- 8 упакованных б (Packed byte);

- 4 упакованных слова (Packed word);

- 2 упакованных двойных слова (Packed double word);

- 1 учетверенное слово (Quad word);

Эти типы данных могут особым Регистры сопроцессора x87 образом обрабатываться в 64-битных регистрах MM0-MM7, представляющих из себя младшие биты стека 80-битных регистров FPU. Любая аннотация MMX делает действие сходу над всем комплектом операндов (8, 4, 2 либо 1), размещенных в адресуемых регистрах. Как и регистры FPU, эти регистры не могут употребляться для адресации памяти. Совпадение регистров MMX и FPU Регистры сопроцессора x87 накладывает ограничение на чередование кодов FPU и MMX. В отличие от стека FPU регистры MMX адресуются не при помощи стека, а на физическом уровне (по своим физическим номерам).

Расширение 3DNow!

Разработка 3DNow!, разработанная AMD, расширяет способности MMX. Она позволяет оперировать с новым типом данных - парой упакованных вещественных чисел одинарной точности Регистры сопроцессора x87. Эти числа занимают по двойному слову (32 бита) в 64-битных регистрах MMX.

Расширение 3DNow! работает с упакованными данными в FP-формате с одинарной точностью, также упакованными 8 б, 4 слова, 2 двойных слова и 64-битными целыми числами, размещая их в младших 64 битах регистров FPU/MMX.

Блок XMM

Начиная с Pentium III, Intel употребляет Регистры сопроцессора x87 в собственных микропроцессорах новое потоковое расширение SSE (Streaming SIMD Extension). Оно реализуется дополнительным независящим блоком, имеющим восемь 128-битных регистров, нареченных XMM0-XMM7, и регистр состояния/управления MXCSR. В любой из регистров XMM помещаются четыре числа в формате с плавающей точкой одинарной точности. Блок позволяет делать векторные (пакетные) и Регистры сопроцессора x87 скалярные аннотации. Векторные аннотации реализуют операции сходу над 4-мя комплектами операндов. Скалярные аннотации работают только с одним комплектом операндов - младшим 32-битным словом. При выполнении инструкций XMM обычное оборудование FPU/MMX не употребляется, что позволяет отлично соединять аннотации MMX с инструкциями с плавающей точкой.

Не считая инструкций с новым блоком XMM в Регистры сопроцессора x87 расширение SSE входят и дополнительные целочисленные аннотации с регистрами MMX, также аннотации управления кэшированием.

В микропроцессоре Pentium4 набор инструкций получил новое расширение - SSE2, в главном касающееся прибавления новых типов 128-битных типов данных для блока XMM:

- упакованная пара вещественных чисел двойной точности;

- упакованные целые числа: 16 б, 8 слов, 4 двойных слова либо пара Регистры сопроцессора x87 учетверенных слов.

В микропроцессор введены новые функции целочисленной математики, 128-разрядные для регистров XMM и такие же 64-разрядные для регистров MMX; ряд старенькых инструкций MMX распространили на XMM (в 128-битном варианте); добавлены аннотации преобразования для новых форматов данных, также расширены способности "смешивания" данных в блоке XMM. Не считая Регистры сопроцессора x87 того, расширена поддержка управления кэшированием и порядком выполнения операций с памятью.


registracionnaya-forma-xix-mezhdunarodnoj-konferencii-esaccel-2012.html
registracionnaya-karta-uchastnika.html
registracionnaya-kompaniya-centr-invest.html