Внутренние регистры: Регистры MMX и 3DNow! |
Программирование - Архитектура и система команд микропроцессоров x86 | |||||||||||||||||||||||
Технологии MMX фирмы Intel и 3DNow! фирмы AMD построены на основе структурного расширения процессора. По сути технология 3DNow! является расширением технологии MMX. Обе они включают:
MMX-регистры (они же 3DNow!-регистры) — это восемь 64-разрядных регистров (MM0 … MM7), которые отображены на младшие 64 бита регистров общего назначения FPU (R0 … R7). То есть регистры MMX по сути являются логическими регистрами, физически совмещенными с регистрами R0 … R7. Это значит, что при записи информации в MMX-регистр, записываемое значение автоматически появляется в младших битах соотвествующего регистра FPU, и наоборот, при записи в регистровый стек FPU значения младших 64 бит записываемой величины окажутся в соответствующем MMX-регистре (см. рис. 1.20.).
Рис. 1.20. Отображение MMX-регистров на регистры FPU
Поскольку регистры FPU (R0 … R7) организуют так называемый регистровый стек (ST0 … ST7), то в зависимости от текущего значения поля TOP регистра состояния FPU (SW) будет меняться соответствие регистров стека и MMX-регистров. Например, при SW.TOP = 0:
при SW.TOP = 2:
FPU располагает своим механизмом отслеживания типов данных, находящихся в регистрах R0 … R7. Это поля тэгов, поставленные в соответствие каждому регистру. Однако технологии MMX и 3DNow! вводят новые типы данных, которые не могут быть корректно обработаны FPU. Поэтому при выполнении команд MMX и 3DNow! (кроме EMMS, FEMMS, PREFETCH) все поля тэгов устанавливаются в 00b (действительный). (Команды EMMS и FEMMS заполняют все поля тэгов значениями 11b (пустой). Команда PREFETCH не изменяет значения тэгов.)
Таблица 1.3. Влияние MMX- и 3DNow!- команд на контекст FPU
Так как команды MMX, 3DNow! и команды FPU используют физически одни и те же регистры, для сохранения и восстановления контекста MMX, 3DNow! используются команды FPU — FSAVE и FRSTOR.
|
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru