Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Набір MMX-команд

MMX - комерційна назва додаткового набору інструкцій, що виконують характерні для процесів кодування / декодування потокових аудіо / відео даних дії за одну машинну інструкцію. Вперше з'явився в процесорах Pentium MMX. Розроблений у першій половині 1990-х.

Набір MMX-команд

Набір MMX-команд складається з команд пересилки даних, упаковки / розпаковування, додавання / віднімання, множення, зсуву, порівняння та порозрядних логічних. Команди упаковки і додавання / віднімання можуть працювати в двох режимах: звичайному, коли переповнення розрядної сітки викликає "загортання" (wraparound) значення результату, і спеціальному, коли воно призводить до обмеження (clipping) результату до мінімально або максимально допустимого значення. Режим обмеження, в термінології Intel, називається Saturation (змішування) - в ньому особливо зручно виконувати змішування кольорів зображення або амплітуд звукових сигналів, оскільки при звичайному переповненні результат не має ніякого сенсу.

Команда множення представлена трьома видами: перші два виконують попарне множення чотирьох слів з вибором або старшої, або молодшої частини результату, а третій виконує операцію виду ab + cd для кожної пари з чотирьох слів операндів, що дуже зручно при обчисленні математичних рядів.

Команди зсуву реалізують логічний та арифметичний зсув своїх операндів (арифметичний зсув відрізняється від логічного тим, що при зсуві вправо звільнилися розряди заповнюються копією знакового розряду, а не нулями, від чого він придатний для множення / ділення знакових операндів на ступені двійки). Логічні поразрядні команди виконують операції І (AND), АБО (OR), виключаюче АБО (XOR), а також комбіновану команду І з інверсією одного з операндів (AND NOT), зручну для реалізації "зворотного вибору" по бітовій масці.Команди порівняння працюють дещо незвично в порівнянні із загальноприйнятою логікою: замість установки ознак для наступних команд переходу вони генерують одиничні бітові маски для тих операндів, які задовольняють умові, і нульові - для решти операндів. Наступні логічні поразрядні операції можуть виділити, погасити або якось інакше обробити відзначені таким чином операнди, які в цьому випадку можуть являти собою точки зображення або відліки звукового сигналу.

SSE3 — це набір інструкцій, розроблених Intel, і представлених 2 лютого 2004 року у ядрі Prescott процесора Pentium 4. У 2005 AMD представила свою реалізацію SSE3 для процесорів Athlon 64.

Набір SSE3 містить 13 інструкцій: FISTTP (x87), MOVSLDUP (SSE), MOVSHDUP (SSE), MOVDDUP (SSE2), LDDQU (SSE/SSE2), ADDSUBPD (SSE), ADDSUBPD (SSE2), HADDPS (SSE), HSUBPS (SSE), HADDPD (SSE2), HSUBPD (SSE2), MONITOR (аналога у реалізації SSE3 від AMD немає), MWAIT (також відсутній у реалізації SSE3 від AMD).

 

 

Інструкції SSE3

· ADDSUBPD (Add Subtract Packed Double).

· ADDSUBPS (Add Subtract Packed Single).

· HADDPD (Horizontal Add Packed Double).

· HADDPS (Horizontal Add Packed Single).

· HSUBPD (Horizontal Subtract Packed Double).

· HSUBPS (Horizontal Subtract Packed Single).

· FISTTP — перетворення дійсного числа в ціле з округленням в меншу сторону.

· LDDQU — завантаження 128-біт не вирівняних даних із пам'яті в регістр xmm, з попередженням пересікання границі рядку кеша.

SSE2 — це SIMD набір інструкцій, розроблених Intel, і вперше представлених у процесорах серії Pentium 4.

SSE2 використовує вісім 128-бітних регістра (xmm0 до xmm7), що увійшли до архітектури x86 з вводом розширення SSE, кожний з яких трактується як послідовність 2 значень з плаваючою точкою подвійної точності. SSE2 включає в себе набір інструкцій, котрий виконує операції зі скалярними і упакованими типами даних. Також SSE2 містить інструкції для потокової обробки цілочислових даних в тих же 128-бітних xmm регістрах, що робить це розширення більш прийнятним для цілочислових обрахунків, ніж використання набору інструкцій MMX, що з'явилися набагато раніше.

Перевага у швидкості обчислень досягається в тому випадку, коли необхідно виконати одну і ту саму послідовність дій над різними даними.

Інструкції SSE2, що містять в собі 144 додаткові команди SIMD, були представлені в листопаді 2000 року разом з процесором Pentium 4. У SSE2 були включені всі інструкції попередніх наборів ММХ і SSE.

Потокові розширення SIMD (SSE) містять цілий ряд нових команд для виконання операцій з плаваючою комою і цілими числами, а також команди управління кеш пам'яттю. Нові технології SSE дозволяють ефективніше працювати з тривимірною графікою, потоками аудіо- і відеоданих (DVD-відтворення), а також додатками розпізнавання мови. В цілому SSE забезпечує наступні переваги:

· вищий дозвіл/якість при перегляді і обробці графічних зображень;

· поліпшена якість відтворення звукових і відеофайлів у форматі MPEG2, а також одночасне кодування і декодування формату MPEG2 в мультимедійних додатках;

· зменшення завантаження процесора і підвищення точності/швидкості реагування при виконанні програмного забезпечення для розпізнавання мови

 


Дата добавления: 2015-11-30; просмотров: 31 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)