MMX

MMX er et SIMD instruksjonssett , laget av Intel og først introdusert med Pentium MMX mikroprosessorer . Den kommer fra en lignende gjenstand inkludert i i860 . MMX ble senere støttet av de fleste IA-32- prosessorer fra Intel og andre produsenter.

Det ble antatt at MMX var akronymet for M ulti M edia and X tensions eller M ultiple M ath and X tension, selv om Intel offisielt aldri spesifiserte betydningen av akronymet.

For å forenkle designet bestemte Intel-ingeniørene seg for å bevare den gamle arkitekturen som MMX-enheten ble lagt til, som opererte via en prosessorkontekstbryter. MMX-enheten bruker IA-32-registrene til FPU . Dette uheldige designvalget forhindret bruk av flyttallinstruksjoner og MMX-instruksjoner samtidig. Når prosessoren møtte FPU-instruksjoner, måtte den lagre MMX-data for å utføre FPU-instruksjoner. For å maksimere ytelsen brukte programmerere prosessoren på bare én av to mulige måter, og isolerte MMX-delene som utelukkende kjørte for å unngå langsomme kontekstendringer så mye som mulig.

En annen feil med MMX-instruksjoner er at de var instruksjoner som bare kunne operere på heltallsdata. 64-bits registrene til FPU ble brukt til å lagre 2 32-biters data eller 4 16-biters data eller 8 8-biters data. I arkitekturen til i860 var bruken av disse vektorene dannet fra heltallsdata fornuftig ettersom disse vektorene ble brukt til 2D- og 3D-grafikk. Men i moderne personlige datamaskiner håndteres grafikken av grafikkortet, og derfor representerer mangelen på støtte for flyttalloperasjoner en alvorlig mangel.

Intel bestemte seg deretter for å utvide MMX-instruksjonene og utviklet SSE -instruksjonene . Disse instruksjonene var også SIMD-instruksjoner, men støttet flyttalloperasjoner og brukte separate 128-biters registre. Dette gjorde at SSE-instruksjonene kunne brukes samtidig med FPU og var en stor forbedring av MMX-instruksjonene. SSE-instruksjoner ble senere utvidet med SSE2 , deretter SSE3 og SSE4 . Å støtte disse instruksjonssettene innebærer å støtte MMX for bakoverkompatibilitet.

Det rivaliserende selskapet AMD implementerte MMX-instruksjoner i sine prosessorer ved å utvide dem, og kalte instruksjonssettet 3DNow! .

Relaterte elementer

Andre prosjekter