X86 architektúra bővítmények

Az x86-os architektúra-kiterjesztések (x86-os kiterjesztett szolgáltatások) különféle x86 -os mikroprocesszor-gyártók által saját processzoraikhoz kifejlesztett mérnöki megoldások, amelyek egyes modellekben gyakran megtalálhatók, másokban nem. A szoftverfejlesztőknek, mielőtt használnák őket saját programjaikban, egy speciális CPUID parancsot kell végrehajtaniuk, amely bizonyos kiterjesztések jelenlétét jelzi. Ha a kiterjesztés nem támogatott, a programnak vagy ki kell lépnie, vagy más, kiterjesztést nem használó algoritmust kell használnia.

Néha a kiterjesztéseket gyakran használják a népszerű programokban, majd szinte minden gyártó elkezdi beépíteni őket a processzoraiba.

A leghíresebb kiterjesztések az MMX , SSE , 3DNow! , Hyper-threading . Alapvetően az új bővítményeket az Intel fejleszti, majd más gyártók veszik át. De néha megesik, hogy maga az Intel más cégek által készített bővítményeket is beépít a processzoraiba. Például ez volt a helyzet az x86-64 architektúrával , amelyet először az AMD fejlesztett ki , majd az Intel implementált Intel64/EM64T néven.

Kiterjesztések szabványos készlete ("Inteltől")

Kiterjesztés CPUID jelző Leírás
FPU EDX[0] Beágyazott lebegőpontos eszköz
VME EDX[1] V86 mód kiterjesztése
DE EDX[2] Továbbfejlesztett hibakereső eszközök
PSE EDX[3] Nagy oldalak (4 MiB/2 MiB)
TSC EDX[4] Beépített időszámláló (gépi ciklusok)
MSR EDX[5] Modellfüggő regiszterek
PAE EDX[6] Fizikai cím kiterjesztése
MCE EDX[7] Gépvezérlési kivétel generálása
CX8 EDX[8] CMPXCHG8B utasítás támogatott
APIC EDX[9] Beépített helyi megszakításvezérlő
SZEPT EDX[11] A SYSENTER és a SYSEXIT utasítások támogatottak
MTRR EDX[12] Speciális regiszterekben lehetőség van a gyorsítótár típusának beállítására bizonyos memóriaterületekhez
PGE EDX[13] Globális oldaljelző támogatott (nem ürítette ki a TLB -t a környezetkapcsolónál)
MCA EDX[14] Támogatott gépvezérlők
CMOV EDX[15] Feltételes adatátviteli utasítások támogatottak
P.A.T. EDX[16] Támogatja az egyes oldalak kiterjesztett gyorsítótárazási attribútumait
PSE36 EDX[17] Nagy oldalak (4 MiB) 4 GiB feletti fizikai címeken
PSN EDX[18] Lehetőség van a processzor sorozatszámának leolvasására
CLFL EDX[19] CFLUSH utasítás támogatott
DTES EDX[21] Debug Trace és EMON Store MSR-ek
ACPI EDX[22] Vannak eszközök a processzormag hőmérsékletének mérésére
MMX EDX[23] Támogatott Intel MMX technológiai utasításkészlet
FXSR EDX[24] Lehetőség van a kiterjesztett kontextus mentésére / visszaállítására
SSE EDX[25] SSE utasításkészlet támogatott
SSE2 EDX[26] SSE2 utasításkészlet támogatott
SS EDX[27] önlelkezés
HTT EDX[28] A HyperThreading technológia támogatott .
TM1 EDX[29] Támogatja a fejlett hőmérsékletszabályozást megszakítás generálással
IA-64 EDX[30] A program emulációs módban fut egy Itanium processzoron
PBE EDX[31] függőben lévő szünet esemény
SSE3 ECX[0] SSE3 utasításkészlet támogatott
PCLMUL ECX[1] PCLMUL utasítás támogatott
DTES64 ECX[2] 64 bites Debug Trace és EMON Store MSR-ek
MON ECX[3] MONITOR/MWAIT utasítások támogatottak
DSCPL ECX[4] CPL minősítésű Debug Store
VMX ECX[5] Támogatja az Intel VT virtualizációs technológiát (Vanderpool)
SMX ECX[6] Támogatja az Intel TXT Trust Management technológiát (LaGrande)
est ECX[7] Az Enhanced SpeedStep technológia támogatja
TM2 EDX[8] Támogatja a fejlett hőmérsékletszabályozást megszakítás generálással és THERM2_CONTROL regiszterrel
SSSE3 ECX[9] Támogatja az SSSE3 utasításkészletet
CID ECX[10] környezetazonosító: az L1 adatgyorsítótár adaptív vagy megosztott módba állítható
FMA ECX[12] FMA utasításkészlet támogatott
CX16 EDX[13] CMPXCHG16B utasítás támogatott
ETPRD ECX[14] MISC_ENABLE.ETPRD
PDCM ECX[15] Performance Debug Capability MSR
DCA ECX[18] Közvetlen gyorsítótár-hozzáférés (azaz az adatok előzetes letöltése az MMIO-ból)
SSE4.1 ECX[19] SSE4.1 technológiai utasításkészlet támogatott
SSE4.2 ECX[20] SSE4.2 technológiai utasításkészlet támogatott
x2APIC ECX[21] Helyi APIC -kiterjesztés , 32 bites azonosító, APIC-regiszterek MSR -ként elérhetők
MOVBE ECX[22] MOVBE utasítás támogatott
POPCNT ECX[23] POPCNT utasítás támogatott
AES ECX[25] Támogatja az AES titkosítási algoritmus hardveres gyorsítását
XSAVE ECX[26] Kibővített támogatás a kiterjesztett kontextusok teljes vagy részleges mentéséhez/visszaállításához
OSXSAVE ECX[27] Jelző, amely jelzi az alkalmazásnak, hogy az operációs rendszer képes menteni/visszaállítani kiterjesztett kontextusokat (XMM regiszterek stb.)
AVX ECX[28] Támogatja az AVX vektoros utasításkészletet és a kódolást VEX előtaggal

További bővítmények ("AMD-től")

Kiterjesztés CPUID jelző [1] Leírás
SYSCALL EDX[11] A SYSCALL és SYSRET utasítások támogatottak
FCMOV EDX[16] A lebegőpontos feltételes adatátviteli (FPU) utasítások támogatottak [2] .
MP EDX[19] Többprocesszoros konfigurációk támogatottak
NX EDX[20] Támogatott egy oldalattribútum, amely tiltja a programkód végrehajtását.
MMX+ EDX[22] Az AMD MMX technológiai bővítmények támogatottak
MMX+ [3] EDX[24] A Cyrix [4] MMX technológiai bővítményei támogatottak .
FFXSR EDX[25] A kiterjesztett kontextusok gyors mentése/visszaállítása támogatott
PG1G EDX[26] Óriás oldalak (1 GiB)
TSCP EDX[27] Továbbfejlesztett támogatás a beépített időszámlálóhoz
LM EDX[29] Hosszú mód
3DNOW+ EDX[30] Támogatja a 3DNow!
3DNOW EDX[31] Támogatja a 3DNow!
AHF64 ECX[0] 64 bites módban elérhető LAHF/SAHF utasítások
CMP ECX[1] A HTT=1 HTT(0) vagy CMP(1)
SVM ECX[2] Támogatja az AMD-V (Pacifica) virtualizációs technológiát
EAS ECX[3] Támogatott APIC-kiterjesztés (APIC_VER.EAS, EXT_APIC_FEAT stb.)
CR8D ECX[4] A régebbi módból elérhető CR8 regisztrálása
LZCNT ECX[5] LZCNT utasítás támogatott
SSE4A ECX[6] SSE4A utasításkészlet támogatott
MSSE ECX[7] Az SSE-ben az összehangolás hiánya elfogadható
3DNow! ECX[8] PREFETCH/PREFETCHHW utasítás támogatott
OSVW ECX[9] Az operációs rendszer által látható megoldás
IBS ECX[10] utasítás alapú mintavétel
SKINIT ECX[12] Támogatott AMD-V bizalomkezelési technológia
WDT ECX[13] Beépített watchdog támogatott
SHA Támogatja az SHA titkosítási algoritmus hardveres gyorsítását

Jegyzetek

  1. Egyes jelzők hasonlóak a szabványos kiterjesztési jelzőkhöz, és nem szerepelnek itt.
  2. A K7 processzorokon a zászló a szabványkészletből származó PAT bővítmény jelenlétét jelzi
  3. A Cyrixtől
  4. Nem Cyrix processzorokon a zászló jelzi az FXSR bővítmény jelenlétét a szabványos készletből

Linkek