x86-arkkitehtuurilaajennukset (x86-laajennukset) ovat erilaisten x86 -mikroprosessorivalmistajien omille prosessoreilleen kehittämiä teknisiä ratkaisuja, joita on usein joissakin malleissa, toisissa ei. Ennen kuin ohjelmistokehittäjät käyttävät niitä omissa ohjelmissaan, heidän on suoritettava erityinen CPUID-komento , joka raportoi tiettyjen laajennusten olemassaolon. Jos laajennusta ei tueta, ohjelman on joko poistuttava tai käytettävä muita algoritmeja, jotka eivät käytä laajennuksia.
Joskus laajennuksia käytetään usein suosituissa ohjelmissa, jolloin melkein kaikki valmistajat alkavat sisällyttää niitä prosessoreihinsa.
Tunnetuimmat laajennukset ovat MMX , SSE , 3DNow! , Hyper-ketjutus . Periaatteessa Intel kehittää uudet laajennukset ja sitten muut valmistajat hankkivat ne. Mutta joskus käy niin, että Intel itse sisällyttää prosessoreihinsa muiden yritysten luomia laajennuksia. Näin oli esimerkiksi x86-64-arkkitehtuurissa , jonka ensin kehitti AMD ja jonka Intel toteutti myöhemmin nimellä Intel64 / EM64T.
Laajennus | CPUID- lippu | Kuvaus |
---|---|---|
FPU | EDX[0] | Upotettu liukulukulaite |
VME | EDX[1] | V86-tilan laajennus |
DE | EDX[2] | Parannetut virheenkorjaustyökalut |
PSE | EDX[3] | Suuret sivut (4 Mt / 2 MiB) |
TSC | EDX[4] | Sisäänrakennettu aikalaskuri (koneen työkierrot) |
MSR | EDX[5] | Mallikohtaiset rekisterit |
PAE | EDX[6] | Fyysisen osoitteen laajennus |
MCE | EDX[7] | Koneohjauspoikkeuksen luominen _ |
CX8 | EDX[8] | CMPXCHG8B-ohjeistus tuettu |
APIC | EDX[9] | Sisäänrakennettu paikallinen keskeytysohjain |
SEP | EDX[11] | SYSENTER- ja SYSEXIT-käskyjä tuetaan |
MTRR | EDX[12] | On mahdollista asettaa välimuistin tyyppi tietyille muistialueille erityisrekistereissä |
PGE | EDX[13] | Yleistä sivun lippua tuetaan (ei huuhdeltu kontekstikytkimen TLB :hen) |
MCA | EDX[14] | Koneen ohjaimia tuetaan |
CMOV | EDX[15] | Ehdollisia tiedonsiirto-ohjeita tuetaan |
P.A.T. | EDX[16] | Tukee laajennettuja välimuistimääritteitä yksittäisille sivuille |
PSE36 | EDX[17] | Suuret sivut (4 MiB) fyysisissä osoitteissa, jotka ovat yli 4 GiB |
PSN | EDX[18] | On mahdollista lukea prosessorin sarjanumero |
CLFL | EDX[19] | CFLUSH-ohjeistus tuettu |
DTES | EDX[21] | Debug Trace ja EMON Store MSR:t |
ACPI | EDX[22] | Prosessorin ytimen lämpötilan mittaamiseen on olemassa välineet |
MMX | EDX[23] | Tuettu Intel MMX -teknologian ohjesarja |
FXSR | EDX[24] | On mahdollista tallentaa / palauttaa laajennettu konteksti |
SSE | EDX[25] | SSE-käskysarja tuettu |
SSE2 | EDX[26] | SSE2-käskysarja tuettu |
SS | EDX[27] | itsensä nuuskiminen |
HTT | EDX[28] | HyperThreading - tekniikkaa tuetaan . |
TM1 | EDX[29] | Tukee edistyneitä lämpötilasäätimiä keskeytyksellä |
IA-64 | EDX[30] | Ohjelma toimii emulointitilassa Itanium-prosessorilla |
PBE | EDX[31] | odottava taukotapahtuma |
SSE3 | ECX[0] | SSE3-käskysarja tuettu |
PCLMUL | ECX[1] | PCLMUL-ohjeistus tuettu |
DTES64 | ECX[2] | 64-bittinen Debug Trace ja EMON Store MSR:t |
MA | ECX[3] | MONITOR/MWAIT-ohjeita tuetaan |
DSCPL | ECX[4] | CPL-hyväksytty Debug Store |
VMX | ECX[5] | Tukee Intel VT -virtualisointitekniikkaa (Vanderpool) |
SMX | ECX[6] | Tukee Intel TXT Trust Management Technology (LaGrande) |
EST | ECX[7] | Enhanced SpeedStep -teknologian tukema |
TM2 | EDX[8] | Tukee edistyneitä lämpötilasäätimiä keskeytyksen generoinnilla ja THERM2_CONTROL-rekisterillä |
SSSE3 | ECX[9] | Tukee SSSE3-ohjesarjaa |
CID | ECX[10] | kontekstitunnus: L1-tietovälimuisti voidaan asettaa mukautuvaan tai jaettuun tilaan |
FMA | ECX[12] | FMA-ohjesarja tuettu |
CX16 | EDX[13] | CMPXCHG16B-ohjeistus tuettu |
ETPRD | ECX[14] | MISC_ENABLE.ETPRD |
PDCM | ECX[15] | Performance Debug Capability MSR |
DCA | ECX[18] | Suora välimuistin käyttö (eli mahdollisuus esihakua tietoja MMIO:sta) |
SSE4.1 | ECX[19] | SSE4.1-teknologian ohjesarja tuettu |
SSE4.2 | ECX[20] | SSE4.2-teknologian ohjesarja tuettu |
x2APIC | ECX[21] | Paikallinen APIC -laajennus , 32-bittinen tunnus, APIC-rekisterit saatavana MSR :nä |
MOVBE | ECX[22] | MOVBE-ohjeistus tuettu |
POPCNT | ECX[23] | POPCNT-ohjeistus tuettu |
AES | ECX[25] | Tukee AES - salausalgoritmin laitteistokiihdytystä |
XSAVE | ECX[26] | Laajennettu tuki laajennettujen kontekstien täydelliseen tai osittaiseen tallentamiseen/palauttamiseen |
OSXSAVE | ECX[27] | Lippu, joka osoittaa sovellukselle, että käyttöjärjestelmä pystyy tallentamaan/palauttamaan laajennetut kontekstit (XMM-rekisterit jne.) |
AVX | ECX[28] | Tukee AVX-vektorikäskysarjaa ja koodausta VEX-etuliitteellä |
Laajennus | CPUID- lippu [1] | Kuvaus |
---|---|---|
SYSCALL | EDX[11] | SYSCALL- ja SYSRET-käskyjä tuetaan |
FCMOV | EDX[16] | Liukulukujen ehdollisen tiedonsiirron (FPU) käskyjä tuetaan [2] . |
MP | EDX[19] | Tuetut moniprosessorikokoonpanot |
NX | EDX[20] | Sivumäärite on tuettu, joka estää ohjelmakoodin suorittamisen. |
MMX+ | EDX[22] | Tuetut AMD MMX -teknologialaajennukset |
MMX+ [3] | EDX[24] | Cyrixin [4] MMX-teknologialaajennuksia tuetaan . |
FFXSR | EDX[25] | Laajennettujen kontekstien nopeaa tallennusta/palautusta tuetaan |
PG1G | EDX[26] | Jättiläiset sivut (1GiB) |
TSCP | EDX[27] | Parannettu tuki sisäänrakennetulle aikalaskurille |
LM | EDX[29] | Pitkä tila |
3DNOW+ | EDX[30] | Tukee 3DNow! |
3DNOW | EDX[31] | Tukee 3DNow! |
AHF64 | ECX[0] | LAHF/SAHF-ohjeet saatavilla 64-bittisestä tilasta |
CMP | ECX[1] | HTT=1 tarkoittaa HTT(0) tai CMP(1) |
SVM | ECX[2] | Tukee AMD-V (Pacifica) virtualisointitekniikkaa |
EAS | ECX[3] | Tuettu APIC-laajennus (APIC_VER.EAS, EXT_APIC_FEAT jne.) |
CR8D | ECX[4] | Rekisteröi CR8, joka on käytettävissä legacy-tilasta |
LZCNT | ECX[5] | LZCNT-ohjeistus tuettu |
SSE4A | ECX[6] | SSE4A-käskysarja tuettu |
MSSE | ECX[7] | Kohdistuksen puute SSE:ssä on hyväksyttävää |
3DNow! | ECX[8] | PREFETCH/PREFETCHHW-ohjeistus tuettu |
OSVW | ECX[9] | Käyttöjärjestelmässä näkyvä kiertotapa |
IBS | ECX[10] | ohjeeseen perustuva otanta |
SKINIT | ECX[12] | Tuettu AMD-V-luottamuksenhallintatekniikka |
WDT | ECX[13] | Tuettu sisäänrakennettu vahtikoira |
SHA | Tukee SHA-salausalgoritmin laitteistokiihdytystä |
x86-prosessorin käskysarjat | |
---|---|
Intel | |
AMD | |
Cyrix |