December 17 2017 17:42:06
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Команды управления
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

Команды FXRSTOR и FXSAVE производят сохранение и восстановление содержимого регистров FPU/MMX и SSE. При выполнении этих команд операндом является блок данных размером 512 байт, начальный адрес его размещения в памяти m512byte задается в команде. В отличие от команды FSAVE команда FXSAVE не изменяет содержимое этих регистров после его сохранения. Для очистки регистров после команды FXSAVE необходимо выполнить команду FINIT. Содержимое регистров, сохраненное в памяти с помощью команды FSAVE, не может быть восстановлено с помощью команды FXRSTOR, и наоборот, содержимое регистров, сохраненное с помощью команды FXSAVE, не может быть восстановлено с помощью команды FRSTOR. Размещение в памяти содержимого регистров, выполняемое по команде FXSAVE, показано на рис. 2.38. Если при восстановлении (загрузке из памяти) по команде FXRSTOR зарезервированные биты в регистре MXCSR примут значение «1», то это приведет к исключению #GP (нарушение общей защиты).

Таблица 2.56 Команды управления

Синтаксис команды Операция
FXRSTOR m512byte
FXSAVE m512byte
LDMXCSR m32
STMXCSR m32
Загрузка из памяти содержимого FPU/MMX и SSE-регистров
Сохранение в памяти содержимого FPU/MMX и SSE-регистров
m32 ® MXCSR
MXCSR ® m32

Команда STMXCSR сохраняет содержимое регистра MXCSR в ячейке памяти с адресом т32. На месте зарезервированных бит в память записываются нули. Команда LDMXCSR загружает (восстанавливает) содержимое регистра MXCSR из адресуемой ячейки памяти.

2.6.8. КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ С УПРАВЛЕНИЕМ КЭШИРОВАНИЕМ

Эта группа команд приведена в табл. 2.57. На их выполнение не влияет значение бита ЕМ в регистре управления CR0 и значение бита OSFXSR в регистре управления CR4.

Команда MASKMOVQ производит выборочную запись байтов из ММХ-регистра mm1 в память по адресу DS:[EDI], т. е. в ячейку памяти, адресуемую содержимым регистра EDI, в сегменте данных DS. Второй операнд команды, выбираемый из ММХ-регистра mm2, содержит маску, которая определяет, какие байты из регистра mm1 будут записаны в память. Если старший бит какого-либо байта в регистре mm2 содержит «1», то соответствующий байт из регистра mm1 посылается в память. Если старший бит байта в регистре mm2 содержит «0», то запись в память соответствующего байта из mm1 не производится.

Команды MOVNTPS и MOVNTQ реализуют соответственно запись в адресуемую ячейку памяти m128 или m64 содержимого SSE-регистра ХММ или ММХ-регистра mm. При выполнении этих команд данные пересылаются непосредственно в основную (системную) память, их запись в кэш-память (кэширование) не производится.

Команды PREFETCHT0, PREFETCHT1, PREFETCHT2, PREFETCHNTA производят предварительную выборку строки данных из системной памяти в кэш-память. Выбирается строка (32 байта), содержащая байт с адресом m8, который указан в команде. Выбранная строка поступает в кэш-память определенного уровня в соответствии с мнемокодом команды. Данные команды рассчитаны на реализацию в процессорах, имеющих кэш-память различного уровня, включая самый нижний - «нулевой» уровень (L0). Кэш-память этого уровня отсутствует в ныне выпускаемых моделях процессоров Pentium III, которые содержат только кэш-память 1-го и 2-го уровней (L1 и L2). Полностью возможности использования этих команд будут реализованы в последующих моделях процессоров семейства Р6. Процессоры Pentium III при поступлении команд PREFETCHT1 и PREFETCHT2 выполняют одинаковые действия, обеспечивая загрузку строки в кэш-память 2-го уровня (L2).

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.04 секунд 2,299,326 уникальных посетителей