X86-arkkitehtuurilaajennukset

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.

Vakiolaajennusten sarja ("Inteliltä")

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ä

Lisälaajennusten sarja ("AMD:lta")

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ä

Muistiinpanot

  1. Jotkut liput ovat samanlaisia ​​kuin vakiolaajennusliput, eikä niitä ole lueteltu tässä.
  2. K7-prosessoreissa lippu ilmaisee standardisarjan PAT-laajennuksen olemassaolon
  3. Cyrixiltä
  4. Muissa kuin Cyrix-prosessoreissa lippu osoittaa FXSR-laajennuksen olemassaolon vakiosarjasta

Linkit