Skoči na sadržaj

MMX

Arhitekturna referencaFeex

MMX je rano proširenje x86 instrukcija za pakirane cijele brojeve koje koristi 64-bitne registre koji dijele arhitektonsku pohranu s x87 registarskom datotekom s pomičnim zarezom. To dijeljeno stanje važno je pri miješanju koda.

Što trebate znati

MMX je rano proširenje x86 instrukcija za pakirane cijele brojeve koje koristi 64-bitne registre koji dijele arhitektonsku pohranu s x87 registarskom datotekom s pomičnim zarezom. To dijeljeno stanje važno je pri miješanju koda.

Kako funkcionira

MMX operacije tretiraju 64-bitni registar kao pakirane cjelobrojne elemente. Nazivi MMX registara zamjenska su imena (alias) za pohranu x87 registara umjesto pružanja neovisnog modernog vektorskog stanja. EMMS označava x87 stanje oznaka praznim nakon korištenja MMX-a kako bi kasniji x87 kod mogao ispravno koristiti stog s pomičnim zarezom.

Gdje je korisno

Naslijeđeni multimedijski softver može koristiti MMX za zasićenu bajtovnu aritmetiku. Novi kod obično koristi XMM ili šire vektorske mogućnosti, izbjegavajući interakciju stanja MMX/x87. Postojeće binarne datoteke mogu i dalje sadržavati MMX čak i na znatno novijem procesoru.

Kako provjeriti podršku i omogućavanje

CPUID.01H:EDX bit 23 nabraja MMX. Za otklanjanje pogrešaka u naslijeđenom kodu pregledajte i stvarni slijed instrukcija i njegovo rukovanje instrukcijom EMMS/stanjem. Zastavica mogućnosti ne može utvrditi prati li rutina ispravno konvenciju pozivanja.

SIMD značajka opisuje instrukcije, a ne dodatne jezgre. Oblik instrukcije određuje širinu elementa, predznak, zaokruživanje, poravnanje i koje staze međusobno djeluju. Softver mora očuvati stanje registara prema ABI-ju i koristiti podržano okruženje izvođenja.

Što ova značajka ne utvrđuje

MMX je cjelobrojni SIMD, a ne 64-bitno izvođenje opće namjene ili x86-64 podrška. Ne podrazumijeva SSE ili kasnija proširenja. Izostanak čišćenja pri miješanju MMX-a i x87 može uzrokovati probleme s ispravnošću koji nisu povezani s time podržava li procesor te instrukcije.

Kompatibilnost i performanse u praksi

Kasniji nazivi u obitelji SSE imaju zasebne bitove mogućnosti. Za implementiranu binarnu datoteku provjerite cjeloviti minimalni skup značajki, uključujući biblioteke i kôd za pokretanje. Zamjensko rješenje korisno je samo ako se nijedna nepodržana instrukcija ne izvede prije koraka odabira.

Praktičan kontrolni popis za provjeru

  1. Zabilježite točan model procesora ili platforme te verzije aplikacije, OS-a i izvršnog okruženja. Sačuvajte formulaciju stvarne pogreške ili zahtjeva.
  2. Provjerite proizvođačevu referencu za taj točan model, a zatim pregledajte stvarnu sposobnost i omogućeno stanje u okruženju u kojem se program izvodi.
  3. Usporedite svaki zahtjev odabrane binarne datoteke ili pozadinskog sustava. Slično nazvana značajka, pseudonim ili široka tehnološka oznaka nisu dovoljni.
  4. Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njezinu dokumentiranu dijagnostiku i podržanu zamjensku opciju kada zahtjevi nisu ispunjeni.
  5. Napravite jednu po jednu podržanu promjenu i ponovite isto radno opterećenje. Zadržite izvornu konfiguraciju i put oporavka dostupnima.

Ako je značajka navedena, ali je softver ne može koristiti

Počnite s točnom komponentom koja zakazuje. Hardverska baza podataka opisuje zabilježenu sposobnost; operacijski sustav ili hipervizor mogu izložiti drukčije stvarno okruženje. Pogreška nedopuštene instrukcije također zahtijeva istragu stvarne instrukcije koja uzrokuje pogrešku i binarne građe, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.

Instalirajte verziju aplikacije, upravljačkog programa ili izvršnog okruženja podržanu za točnu platformu i upotrijebite proizvođačevu dokumentiranu osnovnu ili zamjensku građu ako je potrebno. Softversko ažuriranje ne može stvoriti instrukciju koja procesoru nedostaje. Promjene u firmwareu i sigurnosnim pravilima trebaju slijediti postupak proizvođača sustava i plan oporavka, a ne generički recept za optimizaciju.

Izvori i opseg ovog objašnjenja

Intel 64 and IA-32 Architectures Software Developer's Manual · x86-64 psABI: razine arhitekture i mikroarhitekture procesora

Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verificiraju neovisno svaku vrijednost značajke na povezanoj stranici hardverskog modela. Za podršku modela upotrijebite proizvođačeve dokaze s te stranice i provjerite stvarnu konfiguraciju sustava. Ovaj članak ne pruža mjerilo performansi, certifikaciju ili datum neovisnog pregleda.

Izvori i provjera

Uredničko vlasništvo: Feex. Nije zabilježen datum neovisnog pregleda. Kako istražujemo.

Je li ovaj članak bio koristan?

Dovoljno je odgovoriti s da ili ne. Odaberite razlog ako želite ili dodajte kratku bilješku.

Je li ovaj članak bio koristan?