Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Архитектура компьютера - Таненбаун Э.

Таненбаун Э. Архитектура компьютера — Спб.: Питер, 2007. — 844 c.
ISBN 5-469-01274-3
Скачать (прямая ссылка): arhkomputera2007.DjVu
Предыдущая << 1 .. 297 298 299 300 301 302 < 303 > 304 305 306 307 308 309 .. 422 >> Следующая

ноль) делает операцию пустой.
Мультимедийные операции в TriMedia подразделяются на 15 групп,
перечисленных в табл. 8.2. Во многих из этих операций применяется
отсечение - методика, в которой операнд "загоняется" в определенный
диапазон, исходя из минимальных или максимальных значений операндов вне
этого диапазона. Отсечение осуществимо в отношении 8-, 16- и 32-разрядных
операндов. К примеру, в результате отсечения значений от 40 до 340 по
диапазону от 0 до 255 остаются значения от 40 до 255. Операции отсечения
проводятся в группе отсечения.
Следующие пять групп в табл. 8.2 объединяют операции с операндами
различных размеров, предусматривающие отсечение результатов по
определенному диапазону. Операции группы получения минимума и максимума
анализируют два регистра и находят для каждого байта минимальное и
максимальное значения. Аналогичным образом, в группе сравнения два
регистра рассматриваются как четыре пары байтов, каждая из которых
подлежит сравнению с остальными.
Внутрипроцессорный параллелизм 605
Таблица 8.2. Основные группы специализированных операций в TriMedia
Г руппа Описание
Отсечение Отсечение 4 байт или 2 полуслов
Получение абсолютного значения Получение абсолютного значения,
получение
(DSP) знака, отсечение
Сложение (DSP) Сложение значений с учетом знака и отсечением
Вычитание (DSP) Вычитание значений с учетом знака и отсечением
Умножение (DSP) Перемножение значений с учетом знака и отсечением
Получение минимума и максимума Получение минимальной или максимальной
из четырех пар байтов
Сравнение Побайтовое сравнение двух регистров
Сдвиг Сдвиг пары 16-разрядных операндов
Сумма произведений Суммирование с учетом знака 8- или 16-разрядных
произведений
Слияние, упаковка, перестановка Манипулирование байтами и полусловами
Побайтовое квадратичное усреднение Побайтовое квадратичное
усреднение без учета знака
Побайтовое усреднение Побайтовое усреднение из четырех элементов без
учета знака
Побайтовое умножение Умножение 8-разрядных значений без учета знака
Оценка движения Суммирование без учета знака абсолютных значений 8-
разрядных разностей со знаком
Разное Другие арифметические операции
Мультимедийные операции довольно редко выполняются с 32-разрядными целыми
числами. Связано это с тем, что изображения обычно строятся в цветовой
модели RGB (Red, Green, Blue - красный, зеленый, синий) с 8-разрядными
значениями пикселов красного, зеленого и синего цветов. При обработке
(например, сжатии) изображения оно выражается тремя компонентами, по
одному на каждый цвет (в пространстве RGB), или в логически эквивалентной
форме (в пространстве YUV, которое мы обсудим далее). В любом случае,
основной объем вычислений проводится для прямоугольных матриц 8-разрядных
целых чисел без знака.
Для эффективной обработки таких матриц в TriMedia предусмотрены
многочисленные специализированные операции. В качестве простого примера
рассмотрим верхний левый угол матрицы 8-разрядных значений, сохраненной в
памяти с прямым порядком следования байтов (рис. 8.4, а). Блок 4 х 4 в
этом углу содержит 16 8-разрядных значений от А до Р. Предположим, что в
результате транспонирования изображения получилась матрица, изображенная
на рис. 8.4, б. Как достигается этот результат?
Транспонирование можно провести за 12 операций, каждая из которых
загружает байты в новые регистры, после которых должно быть выполнено еще
12 операций, помещающих эти байты по назначению (отметьте, что четыре
диаго-
606
Глава 8. Параллельные компьютерные архитектуры
нальных байта при транспонировании не перемещаются). Проблема в том, что
эта схема требует 24 длинных и длительных операций, обращающихся к
памяти.
/ 32-разрядный регистр
А В С D А Е 1 М
Е F G Н В F J N
1 J К L С G К О
М N О Р D Н L Р

R2
R3
R4
R5
А В С D R2 А Е 1 М
Е F G Н R3 В F J N
1 J К L R4 С G К О
М N О Р R5 D Н L Р
Рис. 8.4. Матрица 8-разрядных элементов (а); транспонированная матрица
(б); исходная матрица, перенесенная в четыре регистра (в);
транспонированная матрица в четырех регистрах (г)
Есть и другой способ. Сначала выполняются четыре операции, каждая из
которых загружает одно слово в четыре разных регистра - от R2 до R5 (как
показано на рис. 8.4, в). Затем с помощью операций маскирования и сдвига
четыре получившихся слова объединяются, и формируется желаемый результат
(рис. 8.4, г). В конце слова сохраняются в памяти. Несмотря на
значительное сокращение числа обращений к памяти (с 24 до 8),
эффективность этого метода не высока из-за маскирования и сдвига - для
извлечения и размещения всех байтов в нужных местах требуется слишком
много операций.
В TriMedia реализован более удачный метод. Во-первых, четыре слова
размещаются в регистрах. При этом результат формируется не маскированием
и сдвигами, а специализированными операциями для извлечения и размещения
байтов в регистрах. Таким образом, для транспонирования изображения
достаточно восьми специальных мультимедийных операций и такого же числа
Предыдущая << 1 .. 297 298 299 300 301 302 < 303 > 304 305 306 307 308 309 .. 422 >> Следующая