BC/NW 2007, №1, (10) :11.3
Исследование
производительности SIMD-операций
процессора Celeron-M
А.С. Черных, М.П. Коношенко
(Москва, Московский энергетический институт (технический университет), Россия)
SIMD расшифровывается как "одна
инструкция много данных". Фактически, это способ упаковки нескольких
однотипных операций в одну инструкцию. Благодаря введению SIMD-операций в
доступных процессорах таких фирм, как Intel, AMD, можно получить ускорение в
выполнении алгоритмов, поддающихся векторизации. Области применения SIMD-операций различны,
это например 3-D графика (игры), обработка изображений (фильтры Photoshop),
обработка видео (MPEG, MPEG2, MPEG4), обработка видео (Dolby AC-3, DTS, mp3), а
также высокопроизводительные вычисления.
В работе было проведено тестирование
SIMD операций на базе блока SSE процессора Intel Celeron-M с ядром Banias. Была
написана и протестирована библиотека функций на языке ассемблера, использующая
SIMD-инструкции для чисел integer, float, double, byte, которую можно
использовать в проектах на языке С. Было показано, что наибольший выигрыш можно
получить при использовании многотактных операций (например операции деления), а
также, что при уменьшении разрядности типов данных скорость выполнения операций
возрастает. В заключение была приведена реальная программа, использующая тип
данных float, на примере скалярного произведения векторов, которая использует
SIMD-команды, а также результаты ее тестирования, показавшие двухкратный
прирост производительности.
Литература:
1. Professional Assembly
Language, Richard Blum,Wrox,
2005
2. Data alignment: Straighten
up and fly right.
http://www-128.ibm.com/developerworks/ library/pa-dalign/