120 Anatomia PC
Innym klasycznym przykładem zastosowania techniki MMX jest przetwarzanie pliku w formacie WAV. Plik taki stanowi jednorodny ciąg słów 16 bitowych. Zakodowana informacja jest dźwiękiem stereofonicznym o jakości zbliżonej od płyty kompaktowej. Zadaniem programu jest przepuszczenie całej sekwencji przez filtr cyfrowy na przykład dla uwypuklenia wysokich tonów. Przetwarzanie polega na modyfikacji kolejnych elementów składowych ciągu.
Rysunek 2.5.
Porównanie przetwarzania sekwencji audio, przez procesory wykorzystujące i nie wykorzystujące techniki MMX
Przetwarzana sekwencja audic
Słowo w rejestrze , „ t 16-błtowym J22J
i'
Przetwarzanie
Jeśii przepełnienie ■ tl
min. 3 docatkowe rozkazy
Załado%vanie rojostnj MMX
I
PrzHlwarzariH
^wyjśdowej* MMfflmmfflM
Filtr nie może działać ślepo i bez ograniczenia. Oddziaływanie na określone partie sekwencji wejściowej doprowadzi z pewnością do przekroczenia analogowych wartości granicznych co objawi się odczuwalnymi zniekształceniami. Poprzez wbudowany w instrukcje MMX mechanizm nasycenia algorytm może czuć się zwolniony z. konieczności stałej kontroli. Przekroczenie limitu kosztuje dla każdego słowa co najmniej 3 operacje (porównanie, skok, ładowanie). Dodatkowy zysk na czasie wynika z faktu, iż przetwarzane jest 8 bajtów jednocześnie7.
Rzeczywisty zysk na czasie można osiągnąć jeśli rozkazy MMX wykonywane są możliwie szybko, najlepiej w jednam cyklu zegarowym CPU. Warunek ten spełniony jest dla wszystkich instrukcji za wyjątkiem PMADDWD (dodawanie z mnożeniem), która potrzebuje 3 taktów.