MMX

MMX ( Multi m edia E x tensions - multimediální rozšíření) je komerční název pro další instrukční sadu SIMD vyvinutou společností Intel a poprvé představenou v roce 1997 spolu s řadou procesorů Pentium MMX . Sada instrukcí byla navržena tak, aby urychlila proces kódování / dekódování streamovaných audio a video dat. Jde o vývoj technologií navržených v mikroprocesoru i860 [1] . Vyvinutý v laboratoři Intel v Haifě v Izraeli v první polovině 90. let[2] [3] .

Nyní je instrukční sada MMX, představená v roce 1997, upřímně řečeno zastaralá a byla již dlouho nahrazena různými verzemi SSE a AVX . Stále je však formálně podporován ve vývojových nástrojích; vzhledem k vzácnosti použití však realizace trpí četnými vadami. Proto existují návrhy na jeho odstranění z oblíbené sady kompilátorů LLVM [4] .

MMX registry

Rozšíření MMX zahrnuje osm 64bitových veřejných registrů MM0-MM7. Aby byl Intel kompatibilní s metodami přepínání kontextu procesoru ve stávajících operačních systémech , byl nucen zkombinovat osm registrů MMX s mantisami osmi registrů FPU v softwarovém modelu procesoru . Hardwarově to mohou být různá zařízení, ale z pohledu programátora se jedná o stejné registry. Nemůžete tedy používat matematický koprocesor a příkazy MMX současně.

Datové typy MMX

Instrukce technologie MMX zpracovávají celočíselná data zabalená do skupin ( vektorů ) o celkové délce 64 bitů nebo jednotlivých 64 bitových slov. Taková data mohou být uložena v paměti nebo v osmi MMX registrech.

Příkazy technologie MMX pracují s následujícími datovými typy:

Syntaxe

Příkazy MMX mají následující syntaxi: instruction [dest, src] Instrukce  je název příkazu, dest je výstupní operand, src  je vstupní operand.

Příkazový systém je tvořen 57 instrukcemi, které umožňují paralelně zpracovávat několik datových prvků [5] . Většina příkazů má příponu , která určuje typ dat a použitou aritmetiku:

Lze rozlišit následující skupiny instrukcí [5] :

Provedení instrukcí MMX nemění příznaky stavu FPU stavového slova, s výjimkou pole TOP. K registrům MMX lze přistupovat přímo podle názvu, na rozdíl od registrů FPU, které jsou organizovány na zásobníku s vrcholem definovaným polem TOP stavového slova FPU. V tomto případě je pole TOP resetováno po provedení jakékoli instrukce MMX. Provádění instrukcí MMX je možné v libovolném režimu procesoru [5] .

MMX ve vestavěných procesorech

Rodina procesorů Intel XScale , počínaje modelem PXA270, obsahuje doplněk k instrukční sadě ARM s názvem iwMMXt, podobně jako rozšíření IA-32 MMX.

Poznámky

  1. Millind Mittal, Alex Peleg, Uri Weiser. Přehled architektury technologie MMX  // Intel Technology Journal. - 1997. - T. 1 , č. 3 .
  2. Intel v Haifě, Izrael Archivováno 19. července 2013 na Wayback Machine // intel.com
  3. Intel Israel Fab Tour – první oficiální mezinárodní tisková akce Intelu v Izraeli Archivováno 11. listopadu 2013 na Wayback Machine // ixbt.com
  4. Kompilátory mohou zůstat bez podpory Intel MMX Archivováno 3. září 2020 na Wayback Machine // 2.09.2020
  5. 1 2 3 Michail Guk. Procesory Intel: od 8086 po Pentium II. - Petrohrad. : Peter, 1997. - S. 96. - 224 s. — ISBN 5-88782-398-4 .

Literatura

Odkazy