Особенности реализации мультимедийных алгоритмов на основе архитектур SIMD в современных простейших микропроцессорах
2.11.1. Pentium MMX (простейшая организация SIMD-архитектуры в микропроцессоре) Система команд Pentium MMX имеет 57 специальных дополнительных команд, ориентированных на мультимедийные алгоритмы; введено специальное дополнение в виде устройства ММХ. Добавлено: 8 ММХ регистров, появились новые команды. Добавлены типы данных (8 упакованных байт в 64 битовом пакете, четыре 16 битовых слова, упакованные двойные слова по 32 бита (два слова) и учетверенное слово 64 бита). Пример выполнения команды ММХ. Выполнение умножения с накоплением четырех 16 разрядных слов на другие 4 слова, при этом используются 3 команды MMX. На Pentium-е без использования MMX требуется 12 команд для выполнения таких действий. ВPentium-е MMX реализуется параллельно-конвейерный принцип. Команды: 1. Загрузка операндов в ММХ регистр:
2. Умножение и сложение содержимого ММХ регистра и памяти:
ММХ регистр
const
3. Сложение результата с содержимым аккумулятора:
В итоге в аккумуляторе накапливаются результаты.
2.11.2. Особенности реализации SIMD в микропроцессоре PowerPC (G5) Имеется 128-и разрядный блок векторной обработки, который параллельно функционирует с имеющимся целочисленным блоком и блоком обработки с плавающей точкой. Данные, которые могут обрабатываться: 16 8-и битовых целых (и символы) или 8 16-и битовых целых (и символы), или 4 32-х битовых целых чисел или чисел с плавающей запятой. В блоке векторной обработки предусматривается 32 регистра по 128 разрядов (как регистры общего назначения). Их можно использовать для хранения исходных данных. Команды могут содержать до 3-х входных операндов и один выходной. Общее количество команд – 162, включая векторную обработку.
Могут реализовываться не только массовые скалярные операции, но и сложные векторные операции (скалярное умножение векторов, матриц) и операции, работающие с несколькими регистрами.
|