Карта расширения
- 1 year ago
- 0
- 0
Расширения архитектуры x86 (x86 extended features) — инженерные решения, разрабатываемые различными производителями микропроцессоров архитектуры x86 для собственных процессоров, которые, зачастую, присутствуют в одних моделях и отсутствуют в других. Разработчики программного обеспечения, прежде чем использовать их в собственных программах, должны выполнить специальную команду CPUID , которая сообщает о наличии тех или иных расширений. Если расширение не поддерживается, программа должна либо завершить работу, либо использовать другие алгоритмы, не использующие расширений.
Иногда расширения становятся часто используемыми в популярных программах, тогда их начинают включать в свои процессоры практически все производители.
Наиболее известные из расширений MMX , SSE , 3DNow! , Hyper-threading . В основном, новые расширения разрабатываются фирмой Intel и затем подхватываются другими производителями. Но иногда бывает так, что сама Intel включает в свои процессоры расширения, созданные иными фирмами. К примеру, так было с архитектурой x86-64 , впервые разработанной компанией AMD , а уже впоследствии реализованная Intel как Intel64/EM64T.
Расширение | Флаг CPUID | Описание |
---|---|---|
FPU | EDX[0] | Встроенное устройство с плавающей точкой |
VME | EDX[1] | Расширение режима V86 |
EDX[2] | Улучшенные средства отладки | |
PSE | EDX[3] | Большие страницы (4MiB/2MiB) |
TSC | EDX[4] | Встроенный счетчик времени (машинных тактов) |
MSR | EDX[5] | Моделезависимые регистры |
PAE | EDX[6] | Расширение физического адреса |
MCE | EDX[7] | Генерация исключения машинного контроля |
CX8 | EDX[8] | Поддерживается инструкция CMPXCHG8B |
APIC | EDX[9] | Встроенный локальный контроллер прерываний |
EDX[11] | Поддерживаются инструкции SYSENTER и SYSEXIT | |
MTRR | EDX[12] | Имеется возможность задавать тип кэша для определённых областей памяти в специальных регистрах |
EDX[13] | Поддерживается флаг глобальных страниц (не сбрасываемых в TLB при переключении контекстов) | |
EDX[14] | Поддерживаются средства машинного контроля | |
EDX[15] | Поддерживаются инструкции условной пересылки данных | |
EDX[16] | Поддерживаются расширенные атрибуты кэширования для отдельных страниц | |
PSE36 | EDX[17] | Большие страницы (4MiB) по физическим адресам выше 4GiB |
EDX[18] | Имеется возможность чтения серийного номера процессора | |
EDX[19] | Поддерживается инструкция CLFLUSH | |
EDX[21] | Debug Trace and EMON Store MSRs | |
ACPI | EDX[22] | Имеются средства измерения температуры процессорного ядра |
MMX | EDX[23] | Поддерживается набор инструкций технологии Intel MMX |
EDX[24] | Есть возможность сохранять/восстанавливать расширенный контекст | |
SSE | EDX[25] | Поддерживается набор инструкций технологии SSE |
SSE2 | EDX[26] | Поддерживается набор инструкций технологии SSE2 |
EDX[27] | Self-snoop | |
HTT | EDX[28] | Поддерживается технология HyperThreading . |
EDX[29] | Поддерживаются расширенные средства контроля температуры с генерацией прерывания | |
IA-64 | EDX[30] | Программа запущена в режиме эмуляции на процессоре Itanium |
EDX[31] | Pending break event | |
SSE3 | ECX[0] | Поддерживается набор инструкций технологии SSE3 |
ECX[1] | Поддерживается инструкция PCLMUL | |
ECX[2] | 64-bit Debug Trace and EMON Store MSRs | |
MON | ECX[3] | Поддерживаются инструкции MONITOR/MWAIT |
ECX[4] | CPL-qualified Debug Store | |
VMX | ECX[5] | Поддерживается технология виртуализации Intel VT (Vanderpool) |
ECX[6] | Поддерживается технология управления доверием Intel TXT (LaGrande) | |
EST | ECX[7] | Поддерживается Enhanced SpeedStep Technology |
EDX[8] | Поддерживаются расширенные средства контроля температуры с генерацией прерывания и регистр THERM2_CONTROL | |
SSSE3 | ECX[9] | Поддерживается набор инструкций технологии SSSE3 |
ECX[10] | context ID: the L1 data cache can be set to adaptive or shared mode | |
FMA | ECX[12] | Поддерживается набор инструкций FMA |
CX16 | ECX[13] | Поддерживается инструкция CMPXCHG16B |
ECX[14] | MISC_ENABLE.ETPRD | |
ECX[15] | Performance Debug Capability MSR | |
ECX[18] | Direct Cache Access (that is, the ability to prefetch data from MMIO) | |
SSE4.1 | ECX[19] | Поддерживается набор инструкций технологии SSE4.1 |
SSE4.2 | ECX[20] | Поддерживается набор инструкций технологии SSE4.2 |
ECX[21] | Расширение локального APIC , 32-битный ID, регистры APIC доступны как MSR | |
ECX[22] | Поддерживается инструкция MOVBE | |
POPCNT | ECX[23] | Поддерживается инструкция POPCNT |
AES | ECX[25] | Поддерживается аппаратное ускорение для алгоритма шифрования AES |
ECX[26] | Расширенная поддержка полного или частичного сохранения/восстановления расширенных контекстов | |
ECX[27] | Флаг, указывающий приложению, что операционная система способна сохранять/восстанавливать расширенные контексты (регистры XMM и т.п) | |
AVX | ECX[28] | Поддерживается набор векторных инструкций AVX и кодирование с помощью префикса VEX |
Расширение | Флаг CPUID | Описание |
---|---|---|
EDX[11] | Поддерживаются инструкции SYSCALL и SYSRET | |
EDX[16] | Поддерживаются инструкции условной пересылки данных с плавающей точкой (FPU) . | |
EDX[19] | Поддерживаются многопроцессорные конфигурации | |
NX | EDX[20] | Поддерживается атрибут страницы, запрещающий исполнение программного кода. |
EDX[22] | Поддерживаются расширения технологии MMX от AMD | |
EDX[24] | Поддерживаются расширения технологии MMX от Cyrix . | |
EDX[25] | Поддерживается быстрое сохранение/восстановление расширенных контекстов | |
EDX[26] | Гигантские страницы (1GiB) | |
EDX[27] | Улучшенная поддержка встроенного счетчика времени | |
EDX[29] | Длинный режим | |
EDX[30] | Поддерживается расширение набора инструкций технологии 3DNow! | |
EDX[31] | Поддерживается набор инструкций технологии 3DNow! | |
ECX[0] | Инструкции LAHF/SAHF доступны из 64-битного режима | |
CMP | ECX[1] | HTT=1 indicates HTT (0) or CMP (1) |
SVM | ECX[2] | Поддерживается технология виртуализации AMD-V (Pacifica) |
EAS | ECX[3] | Поддерживается расширение APIC (APIC_VER.EAS, EXT_APIC_FEAT, и т.д.) |
ECX[4] | Регистр CR8 доступен из наследственного режима | |
ECX[5] | Поддерживается инструкция LZCNT | |
SSE4A | ECX[6] | Поддерживается набор инструкций технологии SSE4A |
ECX[7] | Допустимо отсутствие выравнивания в SSE | |
3DNow! | ECX[8] | Поддерживается инструкция PREFETCH/PREFETCHHW |
ECX[9] | OS-visible workaround | |
ECX[10] | instruction based sampling | |
ECX[12] | Поддерживается технология управления доверием в AMD-V | |
WDT | ECX[13] | Поддерживается встроенный сторожевой таймер |
Поддерживается аппаратное ускорение для алгоритма шифрования SHA |