x86-arkitekturtillägg (x86 utökade funktioner) är tekniska lösningar utvecklade av olika x86- mikroprocessortillverkare för sina egna processorer, som ofta finns i vissa modeller och inte i andra. Mjukvaruutvecklare måste, innan de kan användas i sina egna program, utföra ett speciellt CPUID-kommando som rapporterar förekomsten av vissa tillägg. Om tillägget inte stöds måste programmet antingen avslutas eller använda andra algoritmer som inte använder tillägg.
Ibland används tillägg ofta i populära program, då börjar nästan alla tillverkare inkludera dem i sina processorer.
De mest kända tilläggen är MMX , SSE , 3DNow! , Hyper-threading . I grund och botten utvecklas nya tillägg av Intel och plockas sedan upp av andra tillverkare. Men ibland händer det att Intel själv inkluderar tillägg skapade av andra företag i sina processorer. Till exempel var detta fallet med x86-64-arkitekturen , först utvecklad av AMD och senare implementerad av Intel som Intel64/EM64T.
Förlängning | CPUID- flagga | Beskrivning |
---|---|---|
FPU | EDX[0] | Inbäddad flyttalsenhet |
VME | EDX[1] | V86-lägesförlängning |
DE | EDX[2] | Förbättrade felsökningsverktyg |
PSE | EDX[3] | Stora sidor (4MiB/2MiB) |
TSC | EDX[4] | Inbyggd tidsräknare (maskincykler) |
MSR | EDX[5] | Modellberoende register |
PAE | EDX[6] | Fysisk adresstillägg |
MCE | EDX[7] | Generera ett maskinkontrollundantag |
CX8 | EDX[8] | CMPXCHG8B instruktion stöds |
APIC | EDX[9] | Inbyggd lokal avbrottskontroller |
SEP | EDX[11] | SYSENTER- och SYSEXIT-instruktioner stöds |
MTRR | EDX[12] | Det är möjligt att ställa in typ av cache för vissa minnesområden i speciella register |
PGE | EDX[13] | Global sidflagga stöds (inte spolas till TLB vid kontextväxling) |
MCA | EDX[14] | Maskinkontroller stöds |
CMOV | EDX[15] | Villkorliga dataöverföringsinstruktioner stöds |
P.A.T. | EDX[16] | Stöder utökade cachingattribut för enskilda sidor |
PSE36 | EDX[17] | Stora sidor (4MiB) på fysiska adresser över 4GiB |
PSN | EDX[18] | Det är möjligt att läsa processorns serienummer |
CLFL | EDX[19] | CLLUSH-instruktionen stöds |
DTES | EDX[21] | Debug Trace och EMON Store MSRs |
ACPI | EDX[22] | Det finns medel för att mäta temperaturen på processorkärnan |
MMX | EDX[23] | Instruktionsuppsättning för Intel MMX-teknik stöds |
FXSR | EDX[24] | Det är möjligt att spara/återställa det utökade sammanhanget |
SSE | EDX[25] | SSE-instruktionsuppsättning stöds |
SSE2 | EDX[26] | SSE2-instruktionsuppsättning stöds |
SS | EDX[27] | självsnoop |
HTT | EDX[28] | HyperThreading- teknik stöds . |
TM1 | EDX[29] | Stöder avancerad temperaturkontroll med avbrottsgenerering |
IA-64 | EDX[30] | Programmet körs i emuleringsläge på en Itanium-processor |
PBE | EDX[31] | väntande paushändelse |
SSE3 | ECX[0] | SSE3-instruktionsuppsättning stöds |
PCLMUL | ECX[1] | PCLMUL-instruktion stöds |
DTES64 | ECX[2] | 64-bitars Debug Trace och EMON Store MSRs |
MÅN | ECX[3] | MONITOR/MWAIT-instruktioner stöds |
DSCPL | ECX[4] | CPL-kvalificerad Debug Store |
VMX | ECX[5] | Stöder Intel VT Virtualization Technology (Vanderpool) |
SMX | ECX[6] | Stöder Intel TXT Trust Management Technology (LaGrande) |
EST | ECX[7] | Stöds av Enhanced SpeedStep Technology |
TM2 | EDX[8] | Stöder avancerad temperaturkontroll med avbrottsgenerering och THERM2_CONTROL-register |
SSSE3 | ECX[9] | Stöder SSSE3 instruktionsuppsättning |
CID | ECX[10] | kontext-ID: L1-datacachen kan ställas in på adaptivt eller delat läge |
FMA | ECX[12] | FMA-instruktionsuppsättning stöds |
CX16 | EDX[13] | CMPXCHG16B instruktion stöds |
ETPRD | ECX[14] | MISC_ENABLE.ETPRD |
PDCM | ECX[15] | Performance Debug Capability MSR |
DCA | ECX[18] | Direct Cache Access (det vill säga möjligheten att förhämta data från MMIO) |
SSE4.1 | ECX[19] | SSE4.1-teknikinstruktionsuppsättning stöds |
SSE4.2 | ECX[20] | SSE4.2-teknikinstruktionsuppsättning stöds |
x2APIC | ECX[21] | Lokalt APIC- tillägg , 32-bitars ID, APIC-register tillgängliga som MSR |
MOVBE | ECX[22] | MOVBE-instruktioner stöds |
POPCNT | ECX[23] | POPCNT-instruktioner stöds |
AES | ECX[25] | Stöder hårdvaruacceleration för AES- krypteringsalgoritm |
XSAVE | ECX[26] | Utökat stöd för hel eller partiell lagring/återställning av utökade sammanhang |
OSXSAVE | ECX[27] | Flagga som indikerar för applikationen att operativsystemet kan spara/återställa utökade sammanhang (XMM-register, etc.) |
AVX | ECX[28] | Stöder AVX vektorinstruktionsuppsättning och kodning med VEX-prefix |
Förlängning | CPUID- flagga [1] | Beskrivning |
---|---|---|
SYSCALL | EDX[11] | SYSCALL- och SYSRET-instruktioner stöds |
FCMOV | EDX[16] | Flyttalsinstruktioner för villkorad dataöverföring (FPU) stöds [2] . |
MP | EDX[19] | Flerprocessorkonfigurationer stöds |
NX | EDX[20] | Ett sidattribut stöds som förbjuder exekvering av programkod. |
MMX+ | EDX[22] | AMD MMX-tekniktillägg stöds |
MMX+ [3] | EDX[24] | MMX-tekniktillägg från Cyrix [4] stöds . |
FFXSR | EDX[25] | Snabb lagring/återställning av utökade sammanhang stöds |
PG1G | EDX[26] | Jättesidor (1GiB) |
TSCP | EDX[27] | Förbättrat stöd för inbyggd tidsräknare |
LM | EDX[29] | Långt läge |
3DNOW+ | EDX[30] | Stöder 3DNow! |
3DNOW | EDX[31] | Stöder 3DNow! |
AHF64 | ECX[0] | LAHF/SAHF-instruktioner tillgängliga från 64-bitarsläge |
CMP | ECX[1] | HTT=1 anger HTT(0) eller CMP(1) |
SVM | ECX[2] | Stöder AMD-V (Pacifica) virtualiseringsteknik |
EAS | ECX[3] | APIC-tillägg stöds (APIC_VER.EAS, EXT_APIC_FEAT, etc.) |
CR8D | ECX[4] | Registrera CR8 tillgänglig från äldre läge |
LZCNT | ECX[5] | LZCNT-instruktion stöds |
SSE4A | ECX[6] | SSE4A-instruktionsuppsättning stöds |
MSSE | ECX[7] | Brist på anpassning i SSE är acceptabelt |
3DNu! | ECX[8] | PREFETCH/PREFETCHHW-instruktioner stöds |
OSVW | ECX[9] | OS-synlig lösning |
IBS | ECX[10] | instruktionsbaserad provtagning |
SKINIT | ECX[12] | AMD-V förtroendehanteringsteknik stöds |
WDT | ECX[13] | Inbyggd vakthund stöds |
SHA | Stöder hårdvaruacceleration för SHA-krypteringsalgoritm |
x86-processorinstruktionsuppsättningar | |
---|---|
Intel | |
AMD | |
Cyrix |