MMX

Az MMX ( Multi média Extensions - multimedia extensions ) az Intel által kifejlesztett kiegészítő SIMD utasításkészlet kereskedelmi neve, amelyet először 1997-ben vezettek be a Pentium MMX processzorvonal mellett . Az utasításkészletet úgy tervezték, hogy felgyorsítsa a streaming audio- és videoadatok kódolási/dekódolási folyamatát. Ez az i860 mikroprocesszorban javasolt technológiák továbbfejlesztése [1] . Az izraeli haifai Intel laboratóriumában fejlesztették ki az 1990 - es évek első felében [2] [3] .

Mára az 1997-ben bemutatott MMX utasításkészlet őszintén szólva elavult, és már régóta felváltották az SSE és az AVX különféle verziói . A fejlesztési eszközökben azonban formálisan továbbra is támogatott; azonban a használat ritkasága miatt a megvalósítás számos hibával küzd. Ezért vannak javaslatok az LLVM fordítók népszerű készletéből való eltávolítására [4] .

MMX regiszterek

Az MMX kiterjesztés nyolc 64 bites nyilvános regisztert tartalmaz (MM0-MM7). A meglévő operációs rendszerek processzorkörnyezetváltási módszereivel való kompatibilitás érdekében az Intel nyolc MMX regisztert kénytelen volt a processzorszoftver modelljében nyolc FPU regiszter mantisszával kombinálni . Hardverben ezek különböző eszközök lehetnek, de a programozó szempontjából ugyanazok a regiszterek. Így nem használhatja egyszerre a matematikai társprocesszort és az MMX parancsokat.

MMX adattípusok

Az MMX technológia utasításai 64 bites teljes hosszúságú csoportokba ( vektorok ) vagy egyedi 64 bites szavakba csomagolt egész adatokat dolgoznak fel. Az ilyen adatok a memóriában vagy nyolc MMX regiszterben tárolhatók.

Az MMX technológia parancsai a következő adattípusokkal működnek:

Szintaxis

Az MMX parancsok szintaxisa a következő: instruction [dest, src] Itt az utasítás  a parancs neve, a dest a kimeneti operandus, az src  a bemeneti operandus.

A parancsrendszert 57 utasítás alkotja, amelyek lehetővé teszik több adatelem párhuzamos feldolgozását [5] . A legtöbb parancsnak van egy utótagja , amely meghatározza az adattípust és a használt aritmetikát:

Az utasítások következő csoportjai különböztethetők meg [5] :

Az MMX utasítások végrehajtása nem változtatja meg az FPU állapotszó feltételjelzőit, kivéve a TOP mezőt. Az MMX regiszterek név szerint közvetlenül elérhetők, ellentétben az FPU regiszterekkel, amelyek egy verembe vannak rendezve, amelynek tetejét az FPU állapotszó TOP mezője határozza meg. Ebben az esetben a TOP mező alaphelyzetbe áll minden MMX utasítás végrehajtása után. Az MMX utasítások végrehajtása bármely processzor módban lehetséges [5] .

MMX beágyazott processzorokban

Az Intel XScale processzorcsalád a PXA270 modelltől kezdve az IA-32 MMX kiterjesztéshez hasonlóan iwMMXt nevű kiegészítést tartalmaz az ARM utasításkészlethez.

Jegyzetek

  1. Millind Mittal, Alex Peleg, Uri Weiser. MMX Technology Architecture Overview  // Intel Technology Journal. - 1997. - T. 1 , 3. sz .
  2. Intel Haifában, Izraelben Archiválva 2013. július 19-én a Wayback Machine -nél // intel.com
  3. Intel Israel Fab Tour – az Intel első hivatalos nemzetközi sajtóeseménye Izraelben Archiválva : 2013. november 11. a Wayback Machine -nél // ixbt.com
  4. ↑ A fordítók Intel MMX-támogatás nélkül maradhatnak . Archivált 2020. szeptember 3. a Wayback Machine -nél // 2020.09.2.
  5. 1 2 3 Mikhail Guk. Intel processzorok: 8086-tól Pentium II-ig. - Szentpétervár. : Péter, 1997. - S. 96. - 224 p. — ISBN 5-88782-398-4 .

Irodalom

Linkek