Расширения архитектуры x86

Расширения архитектуры x86 (x86 extended features) — инженерные решения, разрабатываемые различными производителями микропроцессоров архитектуры x86 для собственных процессоров, которые, зачастую, присутствуют в одних моделях и отсутствуют в других. Разработчики программного обеспечения, прежде чем использовать их в собственных программах, должны выполнить специальную команду CPUID, которая сообщает о наличии тех или иных расширений. Если расширение не поддерживается, программа должна либо завершить работу, либо использовать другие алгоритмы, не использующие расширений.

Иногда расширения становятся часто используемыми в популярных программах, тогда их начинают включать в свои процессоры практически все производители.

Наиболее известные из расширений — MMX, SSE, 3DNow!, Hyper-threading. Исторически новые расширения в основном разрабатывались фирмой Intel и затем подхватывались другими производителями, но иногда Intel включала в свои процессоры расширения, созданные иными фирмами (к примеру, так было с архитектурой x86-64, впервые разработанной компанией AMD, а впоследствии реализованной Intel как Intel64/EM64T). С конца 2024 года ключевые конкуренты перешли к совместной стандартизации будущих расширений в рамках альянса x86 Ecosystem Advisory Group[1][2].

Совместная стандартизация (x86 Ecosystem Advisory Group)

В октябре 2024 года компании Intel и AMD совместно с Microsoft, Google, Dell, Red Hat и другими лидерами индустрии создали Консультативную группу по экосистеме x86 (x86 Ecosystem Advisory Group, EAG). Главной целью группы является повышение совместимости, предсказуемости и упрощение разработки программного обеспечения[1][2]. Ради совместной работы в рамках альянса компания Intel отменила собственную инициативу по созданию упрощённой архитектуры x86S[3]. Первыми результатами деятельности группы стала стандартизация таких расширений, как FRED, AVX10, ACE и ChkTag[2].

Новейшие расширения (2024–2026)

Ключевые современные расширения, внедряемые в новые поколения процессоров:

  • APX (Advanced Performance Extensions) — расширение, удваивающее количество регистров общего назначения с 16 до 32 (добавлены регистры R16—R31)[4].
  • FRED (Flexible Return and Event Delivery) — модернизированная модель обработки прерываний, заменяющая устаревший механизм IDT и включающая новые инструкции ERETU и ERETS[5].
  • AVX10 — унифицированный набор векторных инструкций для всех типов ядер[6].
  • ChkTag — аппаратное тегирование памяти для защиты от уязвимостей, таких как переполнение буфера[7].

Компания AMD также планирует внедрение расширений FRED и APX в своих будущих архитектурах[8][7].

Стандартный набор расширений («от Intel»)

  • CPUID, EAX=00000001H
Расширение Флаг CPUID Описание
FPU EDX[0] Встроенное устройство с плавающей точкой
VME EDX[1] Расширение режима V86
DE 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] Встроенный локальный контроллер прерываний
SEP EDX[11] Поддерживаются инструкции SYSENTER и SYSEXIT
MTRR EDX[12] Имеется возможность задавать тип кэша для определённых областей памяти в специальных регистрах
PGE EDX[13] Поддерживается флаг глобальных страниц (не сбрасываемых в TLB при переключении контекстов)
MCA[en] EDX[14] Поддерживаются средства машинного контроля
CMOV EDX[15] Поддерживаются инструкции условной пересылки данных
PAT[en] EDX[16] Поддерживаются расширенные атрибуты кэширования для отдельных страниц
PSE36 EDX[17] Большие страницы (4MiB) по физическим адресам выше 4GiB
PSN EDX[18] Имеется возможность чтения серийного номера процессора
CLFL EDX[19] Поддерживается инструкция CLFLUSH
DTES EDX[21] Debug Trace and EMON Store MSRs
ACPI EDX[22] Имеются средства измерения температуры процессорного ядра
MMX EDX[23] Поддерживается набор инструкций технологии Intel MMX
FXSR EDX[24] Есть возможность сохранять/восстанавливать расширенный контекст
SSE EDX[25] Поддерживается набор инструкций технологии SSE
SSE2 EDX[26] Поддерживается набор инструкций технологии SSE2
SS EDX[27] Self-snoop
HTT EDX[28] Поддерживается технология HyperThreading.
TM1 EDX[29] Поддерживаются расширенные средства контроля температуры с генерацией прерывания
IA-64 EDX[30] Программа запущена в режиме эмуляции на процессоре Itanium
PBE EDX[31] Pending break event
SSE3 ECX[0] Поддерживается набор инструкций технологии SSE3
PCLMUL ECX[1] Поддерживается инструкция PCLMUL
DTES64 ECX[2] 64-bit Debug Trace and EMON Store MSRs
MON ECX[3] Поддерживаются инструкции MONITOR/MWAIT
DSCPL ECX[4] CPL-qualified Debug Store
VMX ECX[5] Поддерживается технология виртуализации Intel VT (Vanderpool)
SMX ECX[6] Поддерживается технология управления доверием Intel TXT (LaGrande)
EST ECX[7] Поддерживается Enhanced SpeedStep Technology
TM2 EDX[8] Поддерживаются расширенные средства контроля температуры с генерацией прерывания и регистр THERM2_CONTROL
SSSE3 ECX[9] Поддерживается набор инструкций технологии SSSE3
CID ECX[10] context ID: the L1 data cache can be set to adaptive or shared mode
FMA ECX[12] Поддерживается набор инструкций FMA
CX16 EDX[13] Поддерживается инструкция CMPXCHG16B
ETPRD ECX[14] MISC_ENABLE.ETPRD
PDCM ECX[15] Performance Debug Capability MSR
DCA 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
x2APIC ECX[21] Расширение локального APIC, 32-битный ID, регистры APIC доступны как MSR
MOVBE ECX[22] Поддерживается инструкция MOVBE
POPCNT ECX[23] Поддерживается инструкция POPCNT
AES ECX[25] Поддерживается аппаратное ускорение для алгоритма шифрования AES
XSAVE ECX[26] Расширенная поддержка полного или частичного сохранения/восстановления расширенных контекстов
OSXSAVE ECX[27] Флаг, указывающий приложению, что операционная система способна сохранять/восстанавливать расширенные контексты (регистры XMM и т.п)
AVX ECX[28] Поддерживается набор векторных инструкций AVX и кодирование с помощью префикса VEX

Дополнительный набор расширений («от AMD»)

  • CPUID, EAX=80000001H
Расширение Флаг CPUID[9] Описание
SYSCALL EDX[11] Поддерживаются инструкции SYSCALL и SYSRET
FCMOV[en] EDX[16] Поддерживаются инструкции условной пересылки данных с плавающей точкой (FPU)[10].
MP EDX[19] Поддерживаются многопроцессорные конфигурации
NX EDX[20] Поддерживается атрибут страницы, запрещающий исполнение программного кода.
MMX+ EDX[22] Поддерживаются расширения технологии MMX от AMD
MMX+[11] EDX[24] Поддерживаются расширения технологии MMX от Cyrix[12].
FFXSR EDX[25] Поддерживается быстрое сохранение/восстановление расширенных контекстов
PG1G EDX[26] Гигантские страницы (1GiB)
TSCP EDX[27] Улучшенная поддержка встроенного счетчика времени
LM EDX[29] Длинный режим
3DNOW+ EDX[30] Поддерживается расширение набора инструкций технологии 3DNow!
3DNOW EDX[31] Поддерживается набор инструкций технологии 3DNow!
AHF64 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, и т.д.)
CR8D ECX[4] Регистр CR8 доступен из наследственного режима
LZCNT ECX[5] Поддерживается инструкция LZCNT
SSE4A ECX[6] Поддерживается набор инструкций технологии SSE4A
MSSE ECX[7] Допустимо отсутствие выравнивания в SSE
3DNow! ECX[8] Поддерживается инструкция PREFETCH/PREFETCHHW
OSVW ECX[9] OS-visible workaround
IBS ECX[10] instruction based sampling
SKINIT ECX[12] Поддерживается технология управления доверием в AMD-V
WDT ECX[13] Поддерживается встроенный сторожевой таймер

Примечания

  1. 1 2 October 2024 Intel News. Intel Newsroom (15 октября 2024). Дата обращения: 31 марта 2026.
  2. 1 2 3 AMD and Intel Celebrate First Anniversary of x86 Ecosystem Advisory Group. AMD Community. Дата обращения: 31 марта 2026.
  3. Intel Terminates x86S Initiative. Tom's Hardware. Дата обращения: 31 марта 2026.
  4. Intel представила новые расширения архитектуры x86: APX и AVX10. TSS Online. Дата обращения: 31 марта 2026.
  5. Flexible Return and Event Delivery (FRED). The Linux Kernel documentation. Дата обращения: 31 марта 2026.
  6. Группа по развитию экосистемы x86: AMD и Intel согласовали первые стандарты. Hardwareluxx Russia. Дата обращения: 31 марта 2026.
  7. 1 2 AMD and Intel Celebrate First Anniversary of x86 Alliance, New Security Features Coming to x86 CPUs. Tom's Hardware. Дата обращения: 31 марта 2026.
  8. AMD Adopts FRED Together With Intel for Zen 6 Architecture. Tom's Hardware. Дата обращения: 31 марта 2026.
  9. Некоторые флаги аналогичны флагам расширений из стандартного набора, они здесь не упомянуты.
  10. На процессорах K7 флаг свидетельствует о наличии расширения PAT из стандартного набора
  11. От Cyrix
  12. На не-Cyrix процессорах флаг свидетельствует о наличии расширения FXSR из стандартного набора

Категории