X86 arkitekturudvidelser

x86-arkitekturudvidelser (x86-udvidede funktioner) er tekniske løsninger udviklet af forskellige x86- mikroprocessorproducenter til deres egne processorer, som ofte findes i nogle modeller og ikke i andre. Softwareudviklere skal, før de bruger dem i deres egne programmer, udføre en speciel CPUID-kommando , der rapporterer tilstedeværelsen af ​​visse udvidelser. Hvis udvidelsen ikke understøttes, skal programmet enten afslutte eller bruge andre algoritmer, der ikke bruger udvidelser.

Nogle gange bliver udvidelser ofte brugt i populære programmer, så begynder næsten alle producenter at inkludere dem i deres processorer.

De mest berømte udvidelser er MMX , SSE , 3DNow! , Hyper-threading . Grundlæggende er nye udvidelser udviklet af Intel og derefter afhentet af andre producenter. Men nogle gange sker det, at Intel selv inkluderer udvidelser skabt af andre virksomheder i sine processorer. For eksempel var dette tilfældet med x86-64-arkitekturen , først udviklet af AMD , og ​​senere implementeret af Intel som Intel64/EM64T.

Standard sæt udvidelser ("fra Intel")

Udvidelse CPUID- flag Beskrivelse
FPU EDX[0] Indlejret flydende komma-enhed
VME EDX[1] V86 tilstand forlængelse
DE EDX[2] Forbedrede fejlfindingsværktøjer
PSE EDX[3] Store sider (4MiB/2MiB)
TSC EDX[4] Indbygget tidstæller (maskincyklusser)
MSR EDX[5] Modelafhængige registre
PAE EDX[6] Fysisk adresseudvidelse
MCE EDX[7] Generering af en undtagelse for maskinkontrol
CX8 EDX[8] CMPXCHG8B instruktion understøttet
APIC EDX[9] Indbygget lokal interrupt controller
SEP EDX[11] SYSENTER og SYSEXIT instruktioner er understøttet
MTRR EDX[12] Det er muligt at indstille typen af ​​cache for bestemte områder af hukommelsen i specielle registre
PGE EDX[13] Globalt sideflag understøttet (ikke tømt til TLB ved kontekstskift)
MCA EDX[14] Maskinstyring understøttet
CMOV EDX[15] Betingede dataoverførselsinstruktioner understøttes
P.A.T. EDX[16] Understøtter udvidede caching-attributter for individuelle sider
PSE36 EDX[17] Store sider (4MiB) på fysiske adresser over 4GiB
PSN EDX[18] Det er muligt at aflæse processorens serienummer
CLFL EDX[19] CLFLUSH instruktion understøttet
DTES EDX[21] Debug Trace og EMON Store MSR'er
ACPI EDX[22] Der er midler til at måle temperaturen på processorkernen
MMX EDX[23] Intel MMX teknologi instruktionssæt understøttet
FXSR EDX[24] Det er muligt at gemme/gendanne den udvidede kontekst
SSE EDX[25] SSE-instruktionssæt understøttes
SSE2 EDX[26] SSE2 instruktionssæt understøttet
SS EDX[27] selvsnoop
HTT EDX[28] HyperThreading- teknologi er understøttet .
TM1 EDX[29] Understøtter avanceret temperaturkontrol med afbrydelsesgenerering
IA-64 EDX[30] Programmet kører i emuleringstilstand på en Itanium-processor
PBE EDX[31] afventende pausebegivenhed
SSE3 ECX[0] SSE3 instruktionssæt understøttet
PCLMUL ECX[1] PCLMUL instruktion understøttet
DTES64 ECX[2] 64-bit Debug Trace og EMON Store MSR'er
MAN ECX[3] MONITOR/MWAIT-instruktioner understøttes
DSCPL ECX[4] CPL-kvalificeret Debug Store
VMX ECX[5] Understøtter Intel VT Virtualization Technology (Vanderpool)
SMX ECX[6] Understøtter Intel TXT Trust Management Technology (LaGrande)
EST ECX[7] Understøttet af Enhanced SpeedStep-teknologi
TM2 EDX[8] Understøtter avanceret temperaturkontrol med afbrydelsesgenerering og THERM2_CONTROL register
SSSE3 ECX[9] Understøtter SSSE3 instruktionssæt
CID ECX[10] kontekst-id: L1-datacachen kan indstilles til adaptiv eller delt tilstand
FMA ECX[12] FMA instruktionssæt understøttet
CX16 EDX[13] CMPXCHG16B instruktion understøttet
ETPRD ECX[14] MISC_ENABLE.ETPRD
PDCM ECX[15] Performance Debug Capability MSR
DCA ECX[18] Direkte cacheadgang (det vil sige evnen til at forhåndshente data fra MMIO)
SSE4.1 ECX[19] SSE4.1 teknologi instruktionssæt understøttet
SSE4.2 ECX[20] SSE4.2 teknologi instruktionssæt understøttet
x2APIC ECX[21] Lokal APIC -udvidelse , 32-bit ID, APIC-registre tilgængelige som MSR
MOVBE ECX[22] MOVBE instruktion understøttet
POPCNT ECX[23] POPCNT instruktion understøttet
AES ECX[25] Understøtter hardwareacceleration til AES- krypteringsalgoritme
XSAVE ECX[26] Udvidet support til hel eller delvis lagring/gendannelse af udvidede kontekster
OSXSAVE ECX[27] Flag, der angiver for applikationen, at operativsystemet er i stand til at gemme/gendanne udvidede kontekster (XMM-registre osv.)
AVX ECX[28] Understøtter AVX vektor instruktionssæt og kodning med VEX præfiks

Yderligere sæt udvidelser ("af AMD")

Udvidelse CPUID- flag [1] Beskrivelse
SYSCALL EDX[11] SYSCALL- og SYSRET-instruktioner understøttes
FCMOV EDX[16] Instruktioner til flydende punkt betinget dataoverførsel (FPU) understøttes [2] .
MP EDX[19] Multiprocessor-konfigurationer understøttet
NX EDX[20] En sideattribut er understøttet, der forbyder udførelse af programkode.
MMX+ EDX[22] AMD MMX-teknologiudvidelser understøttet
MMX+ [3] EDX[24] MMX-teknologiudvidelser fra Cyrix [4] understøttes .
FFXSR EDX[25] Hurtig lagring/gendannelse af udvidede kontekster understøttes
PG1G EDX[26] Kæmpesider (1GiB)
TSCP EDX[27] Forbedret understøttelse af indbygget tidstæller
LM EDX[29] Lang tilstand
3DNOW+ EDX[30] Understøtter 3DNow!
3DNOW EDX[31] Understøtter 3DNow!
AHF64 ECX[0] LAHF/SAHF instruktioner tilgængelige fra 64-bit tilstand
CMP ECX[1] HTT=1 angiver HTT(0) eller CMP(1)
SVM ECX[2] Understøtter AMD-V (Pacifica) virtualiseringsteknologi
EAS ECX[3] APIC-udvidelse understøttet (APIC_VER.EAS, EXT_APIC_FEAT osv.)
CR8D ECX[4] Registrer CR8 tilgængelig fra ældre tilstand
LZCNT ECX[5] LZCNT instruktion understøttet
SSE4A ECX[6] SSE4A instruktionssæt understøttet
MSSE ECX[7] Manglende tilpasning i SSE er acceptabel
3DNu! ECX[8] PREFETCH/PREFETCHHW instruktion understøttet
OSVW ECX[9] OS-synlig løsning
IBS ECX[10] instruktionsbaseret prøveudtagning
SKINIT ECX[12] AMD-V tillidsstyringsteknologi understøttet
WDT ECX[13] Indbygget vagthund understøttet
SHA Understøtter hardwareacceleration til SHA-krypteringsalgoritme

Noter

  1. Nogle flag ligner standardudvidelsesflag og er ikke opført her.
  2. På K7-processorer indikerer flaget tilstedeværelsen af ​​PAT-udvidelsen fra standardsættet
  3. Fra Cyrix
  4. På ikke-Cyrix-processorer indikerer flaget tilstedeværelsen af ​​FXSR-udvidelsen fra standardsættet

Links