цієї групи працюють з цілими числами. MMX включає 57 різних команд, що дозволяють виконувати наступні операції над декількома операндами із змінними форматами даних:
арифметичні операції типу додавання, віднімання, множення і комбінація операцій множення і додавання;
порівняння даних на рівність і за величиною;
перетворення форматів даних;
логічні операції над 64-бітовими операндами;
пересилку даних між регістрами MMX, між регістрами MMX і регістрами CPU (центральним процесором), регістрами MMX і пам'яттю;
очищення і підготовку регістрів MMX.
В якості операндів цих нових операцій можна використовувати:
упаковані байти (Packed byte) - 8 байтів;
упаковані слова (Packed word) - чотири слова по 16 розрядів;
упаковані подвійні слова (Packed doubleword) - два подвійних слова по 32 розряду;
учетверенное слово (Quadword) - 64-бітове слово.
Таким чином, одна команда MMX може одночасно обробляти 1, 2, 4 і 8 операндів різної розрядності. Для виконання нових операцій фірма Intel вирішила використовувати у своїх мікропроцесорах блок плаваючою арифметики FPU (Floating (80-розрядні регістри FPU). Поєднання регістрів MMX і FPU створювало обмеження на чергування команд MMX і FPU. Іноді доводилося зберігати, а потім відновлювати стану регістрів різних додатків . Крім того, виграш від застосування операцій MMX зменшувався за рахунок необхідності попередньої упаковки і подальшої розпакування даних.
При появі наступних поколінь мікросхем Pentium (Pentium III - 1999 р. і т.д.) було проведено оновлення технології MMX. Попередньо воно отримало назву MMX-2, а потім SSE (Streaming SIMD eXtensions - потокові розширення SIMD). У нові моделі мікропроцесорів було введено новий блок з восьми 128-розрядних регістрів XMM (eXtended Multi Media). Операції з плаваючою точкою апаратно були повністю відокремлені від мультимедійних даних. Кількість операцій SSE було розширено на 70 нових інструкцій на додаток до існуючих MMX. p align="justify"> Новий комплекс операцій дозволяв ефективніше працювати з даними мультимедіа. Новий формат регістрів забезпечував розширення числа операндів, одночасно оброблюваних однією командою, і краще відповідав 80-бітним стандартам MPEG-2, прискорюючи обчислення. p align="justify"> У мікропроцесорі Pentium IV він отримав чергове розширення, що отримало назву SSE-2. Зміни визначалися в основному введенням нових типів 128-бітних операндів:
упакованих пар дійсних чисел подвійної точності;
упакованих цілих чисел: 16 байт, 8 слів, 4 подвійних слова по 32 розряду, 2 учетверенное слова по 64 розряду.
Всі регістри можна використовувати як у векторних, так і ...