MMX

MMX er et SIMD instruksjonssett designet av Intel og introdusert i 1997 på deres Pentium MMX mikroprosessorer . Den ble utviklet fra et sett introdusert på Intel i860 . Den har blitt støttet av de fleste x86-mikroprosessorprodusenter siden den gang.

Det ble introdusert som et akronym for MultiMedia eXtension eller Multiple Math eller Matrix Math eXtension , men offisielt er det bare et meningsløst spill på konsonanter, brukt med den eneste hensikt å kunne sette varemerke juridiske hindringer for tredjepartsutviklere som prøver å bruke den.

Beskrivelse

MMX la til 8 nye registre til arkitekturen, kjent som MM0 til MM7 (heretter kalt MMn). I virkeligheten er disse nye registrene bare aliaser for x87 FPU -stabelregistrene. Så alt som gjøres med FPU-stakken påvirker MMX-registrene. I motsetning til flyttallstabelen , er MMn-registrene faste i stedet for relative, slik at de kan nås tilfeldig.

Hvert av MMn-registrene er et 64-bits heltall. Et av hovedkonseptene til MMX-instruksjonssettet er imidlertid konseptet med pakkede datatyper, som betyr at i stedet for å bruke hele registeret for et enkelt 64-bits heltall (quadword), kan det brukes til å lagre to 32-biters heltall ( dobbeltord eller dobbeltord), fire 16-biters heltall (ord eller ord), eller åtte 8-biters heltall ( byte eller oktett).

For å forenkle designet og unngå å modifisere operativsystemet for å bevare ytterligere tilstand via kontekstsvitsjer, gjenbruker MMX de eksisterende åtte registrene til FPU. Derfor er det veldig vanskelig å jobbe med FPU og MMX samtidig. For å maksimere ytelsen bør programmerere bruke prosessoren utelukkende i den ene eller den andre modusen, og forsinke den langsomme overgangen fra den ene modusen til den andre så lenge som mulig.

Referanser

Se også

Eksterne lenker