Multi Media Extension

Z Wikipedie, otevřené encyklopedie

Multi Media Extension (zkratka MMX) je v informatice název multimediální technologie vytvořené firmou Intel pro nové vlastní procesory Pentium MMX, které byly uvedeny na trh 8. ledna 1997. Pod zkratkou MMX se skrývají dvě zásadní vylepšení architektury procesoru.

První vylepšení je velmi jednoduché - došlo ke zvětšení vnitřní L1 cache na dvojnásobek (ze 16 na 32 KB).

Druhé vylepšení je výrazně složitější a důležitější. Technologie umožňuje využít osm 64bitových registrů (MM0 až MM7). Tyto registry využívají technologii SIMD (Single Instruction, Multiple Data) a plně podporují paralelní zpracování dat. Navíc byl standardní soubor 220 strojových instrukcí rozšířen o 57 nových multimediálních instrukcí.

Hlavním omezením technologie MMX je skutečnost, že pracuje pouze s celými čísly. Tento nedostatek prolomila multimediální technologie 3DNow! konkurenční firmy AMD, která byla uvedena na trh 28. května, 1998. Další omezení vyplývá ze skutečnosti, že registry MM0 až MM7 jsou vlastně registry pro zpracování instrukcí v pohyblivé řadové čárce (floating point FP) ST0 až ST7, proto není možné zároveň provádět MMX instrukce a floating point. Pokud programátor chce využít v kódu oba typy operací, musí hodnoty registrů nejprve uložit do paměti a po skončení práce MMX nebo FP je zase obnovit. K tomu slouží instrukce FSAVE a FRSTOR.

Výše uvedené nedostatky odstraňuje novější SIMD sady instrukcí SSE, SSE2 a další.

Některé nové instrukce

  • přesuny: MOVD, MOVQ
  • aritmetické: PADD, PADDS, PADDUS, PMADD, PMULH, PMULL, PSUB, PSUBS, PSUBUS
  • porovnání: PCMPEQ, PCMPGT
  • konverzní: PACKSSDW, PACKSSWB, PACKUSWB, PUNPCHK, PUNPCKL
  • logické: PAND, PANDN, POR, PXOR
  • překladové: PSLL, PSRA, PSRL
  • stavové: EMMS

Externí odkazy