MMX
MMX je rané rozšírenie inštrukcií x86 pre packed celočíselné dáta využívajúce 64-bitové registre, ktoré zdieľajú architektonické úložisko s registrovým poľom x87 pre plávajúcu rádovú čiarku. Tento zdieľaný stav je dôležitý pri miešaní kódu.
Čo potrebujete vedieť
MMX je rané rozšírenie inštrukcií x86 pre packed celočíselné dáta využívajúce 64-bitové registre, ktoré zdieľajú architektonické úložisko s registrovým poľom x87 pre plávajúcu rádovú čiarku. Tento zdieľaný stav je dôležitý pri miešaní kódu.
Ako to funguje
Operácie MMX spracúvajú 64-bitový register ako balíček celočíselných prvkov. Názvy registrov MMX vytvárajú aliasy pre úložisko registrov x87 namiesto poskytovania nezávislého moderného vektorového stavu. EMMS označí stav tagov x87 ako prázdny po použití MMX, aby neskorší kód x87 mohol správne používať zásobník plávajúcej rádovej čiarky.
Kde je to užitočné
Starší multimediálny softvér môže použiť MMX na saturovanú bajtovú aritmetiku. Nový kód bežne používa namiesto toho XMM alebo širšie vektorové prostriedky, čím sa vyhýba interakcii stavov MMX/x87. Existujúce binárne súbory môžu stále obsahovať MMX aj na oveľa novšom procesore.
Ako overiť podporu a povolenie
CPUID.01H:EDX bit 23 uvádza MMX. Pri ladení staršieho kódu skontrolujte skutočnú postupnosť inštrukcií aj jej narábanie s EMMS/stavom. Príznak schopnosti nedokáže potvrdiť, či rutina správne dodržiava konvenciu volania.
Funkcia SIMD popisuje inštrukcie, nie ďalšie jadrá. Tvar inštrukcie určuje šírku prvku, znamienkovosť, zaokrúhľovanie, zarovnanie a ktoré dátové pruhy vzájomne interagujú. Softvér musí zachovať stav registrov podľa ABI a používať podporované prostredie na vykonávanie.
Čo táto funkcia nezakladá
MMX predstavuje celočíselné SIMD, nie 64-bitové univerzálne vykonávanie ani podporu x86-64. Neimplikuje SSE ani neskoršie rozšírenia. Chýbajúce vyčistenie pri miešaní MMX a x87 môže spôsobiť problémy so správnosťou bez ohľadu na to, či procesor tieto inštrukcie podporuje.
Kompatibilita a výkon v praxi
Neskoršie názvy v rodine SSE majú samostatné bity funkcií. V prípade nasadenej binárky skontrolujte úplnú minimálnu sadu funkcií vrátane knižníc a štartovacieho kódu. Záložný kód je užitočný len vtedy, ak sa pred krokom výberu nespustí žiadna nepodporovaná inštrukcia.
Praktický kontrolný zoznam na overenie
- Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
- Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
- Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
- Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
- Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.
Ak je funkcia uvedená, ale softvér ju nemôže použiť
Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.
Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.
Zdroje a rozsah tohto vysvetlenia
Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: úrovne architektúry a mikroarchitektúry procesora
Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.
Zdroje a overenie
Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. Ako robíme výskum.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Zväzky 1 a 2 popisujú uvedené rodiny inštrukcií a CPUID; Zväzok 3 popisuje stav, stránkovanie, VMX a ovládacie prvky ochrany. Dokumentácia k architektúre nezaručuje podporu pre konkrétny model.
- x86-64 psABI: úrovne architektúry a mikroarchitektúry procesora · Strojové rozhranie, architektúra procesora: tabuľka základných a kumulatívnych funkcií v2/v3/v4, kontroly stavu OS a odporúčania pre nasadenie.
Bol tento článok užitočný?
Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.
Ďakujeme. Pomáha nám to zlepšovať túto stránku.