Управление кэшированием
Команды идентификации и управления архитектурой
Команды обмена с управляющими регистрами
| Команда | Описание |
| MOV CRn,источник | MOV operand to system register Загрузка управляющего регистра CRn. |
| MOV приемник,CRn | MOV operand from system register Чтение управляющего регистра CRn. |
| MOV DRn, источник | MOV operand to system register Загрузка регистра отладки DRn. |
| MOV приемник,DRn | MOV operand from system register Чтение регистра отладки DRn. |
| MOV TRn, источник | MOV operand to system register Загрузка регистра тестирования TRn. |
| MOV приемник,TRn | MOV operand from system register Чтение регистра тестирования TRn. |
| RDTSC | ReaD from Time Stamp Counter Чтение счетчика тактов. |
| Команда | Описание |
| CPUID | CPU IDentification Получение информации о текущем процессоре. Требует параметр в регистре EAX. Если EAX=0, то процессор в регистрах EBX,EDX,ECX возвращает символьную строку, специфичную для производителя. Процессоры AMD возвращают строку "AuthenticAMD", процессоры Intel - "Genuinelntel". Если EAX=1, то в младшем слове регистра EAX возвращает код идентификации. Если EAX=2, то в регистрах EAX, EBX, ECX, EDX возвращаются параметры конфигурации процессора. |
| RDMSR | ReaD from Model Specific Register Чтение из 64 разрядного модельно-специфического регистра MSR. Номер MSR должен находиться в регистре ECX. Алгоритм: · Проверить на нулевой привилегий. · Проверка правильности номера в регистре ECX. · Если все правильно, то поместить значение адресуемого MSR в регистровую пару EDX:EAX. |
| WRMSR | Write to Model Specific Register Запись в 64 разрядный модельно-специфического регистра MSR. Номер MSR должен находиться в регистре ECX. Алгоритм: · Проверить на нулевой привилегий. · Проверка правильности номера в регистре ECX. · Если все правильно, то поместить в адресуемый MSR значние из регистровой пары EDX:EAX. |
Необходимость управления кэшированием вызвана тем, что большинство мультимедийных приложений оперируют большими объемами данных, при этом может случиться, что данные, загруженные в кэш, никогда не понадобятся. Чтобы оптимизировать работу кэша, в систему команд SSE-расширения и были включены команды управления кэшем.
| Мнемоника | Описание |
| MOVNTI | MOVe using Non-Temporal of Int32 Сохранение двойного слова из 32-разрядного регистра общего назначения в памяти без использования кэша. |
| Команда | Описание |
| INVD | INValiDate cache – недостовеность кэш-памяти. Алгоритм: · Очистка кэш-памяти первого уровня. · Генерация сигнала на. очистку кэш-памяти второго уровня. |
| WBINVD | Write Back and INValiDate cache - обратная запись и недостовеность кэш-памяти. Алгоритм: · Очистка кэш-памяти первого уровня. · Записать содежимое кэш-памяти второго уровня в основую память. · Очистить кэш-памяти второго уровня. |
| INVLPG адрес | INValiDate PaGe – недостовеность элемента буфера ассоциативной трансляции таблиц каталогов и страниц памяти TLB (Translation Lookaside Buffer). Алгоритм: · Просмотреть элементы буфера TLB на соответствие его элементов адресу в команде. · Если соответстчие выявлено, то пометить элемент как недостоверный. |






