Multi Media Extension
Author
Albert FloresMulti Media Extension (zkratka MMX) je v informatice název rozšíření instrukční sady pro procesory Pentium MMX vytvořená firmou Intel, které byly uvedeny na trh 8. ledna 1997. Rozšíření bylo implementováno i do konkurenčních kompatibilních procesorů (AMD, Cyrix, VIA).
The New York Times popsal počáteční tlak, včetně reklam na Super Bowl, jako zaměřený na „novou generaci pompézních multimediálních produktů, včetně videotelefonů a 3D videoher“.
MMX bylo následně rozšířeno o několik programů od Intelu a dalších: 3DNow!, Streaming SIMD Extensions (SSE) a probíhající revize Advanced Vector Extensions (AVX).
Charakteristika
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). +more 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 +more'>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, PUNPCKH, PUNPCKL * logické: PAND, PANDN, POR, PXOR * bitové posuvy: PSLL, PSRA, PSRL * stavové: EMMS
Externí odkazy
[url=http://www. laaca. +moreborec. cz/mmx/mmx_main. htm]Úvod do technologie MMX[/url] * [url=https://web. archive. org/web/20080602021447/http://webster. cs. ucr. edu/AoA/Windows/HTML/TheMMXInstructionSet. html]The MMX Instruction Set (anglicky)[/url].
Kategorie:Instrukční sady Kategorie:Instrukce architektury x86