Автор работы: Пользователь скрыл имя, 30 Октября 2014 в 18:59, реферат
Цель работы: изучить принципы работы процессоров ориентированных на матрично-векторную обработку большого потока данных в реальном масштабе времени.
Актуальность темы заключается в том, что характерными областями применения этих процессоров являются: обработка изображения, MPEG кодирования и декодирования, обработка радиолокационных сигналов, в том числе различные виды цифровой фильтрации, высокопроизводительная коммутация сигналов и т.д.
ВВЕДЕНИЕ 3
Основные особенности мультимедийной обработки 4
Архитектуры современных процессоров, предназначенных для работы с мультимедийными приложениями 5
Описание архитектуры процессоров семейства NeuroMatrix 10
Процессор Л1879ВМ1 11
RISC-процессор 13
Система команд 16
Область применения и оценка производительности 18
Заключение 19
Литература 20
Федеральное государственное бюджетное
образовательное учреждение
высшего профессионального образования
«Уфимский государственный нефтяной технический
университет»
Кафедра «Вычислительная техника и инженерная кибернетика»
Домашняя работа №1
Реферат на тему «Процессоры ориентированные
на матрично – векторную обработку большого
потока данных»
Вариант 13
Выполнил: студ. гр. БПО -12-01 <подпись, дата> Б.С. Советкали
Проверил: доцент <подпись, дата> М.Н. Каданцев
УФА 2014
ОГЛАВЛЕНИЕ
Цель работы: изучить принципы работы процессоров ориентированных на матрично-векторную обработку большого потока данных в реальном масштабе времени.
Актуальность темы заключается в том, что характерными областями применения этих процессоров являются: обработка изображения, MPEG кодирования и декодирования, обработка радиолокационных сигналов, в том числе различные виды цифровой фильтрации, высокопроизводительная коммутация сигналов и т.д.
В настоящее время основная задача в области разработки компьютерных архитектур является поддержка широкого класса приложений, относящихся к мультимедийной обработки: 2D/3D графики, аудио- и видеосигнальная обработка, навигация, 3G и 4G сотовая телефония, программный приемник. Эти приложения требуют обработку больших потоков регулярных данных с производительностью до 10 – 100 млрд. операций в секунду, при этом они имеют некоторые общие особенности, которые существенно отличают их от приложений, характерных для универсальных процессоров:
Данное название применяется для SIMD-расширений систем команд универсальных суперскалярных процессоров, таких как MMX, SSE1 и SSE2 (Intel), VIS (Sun), 3D Now! (AMD), AltiVec (Motorola). В систему команд этих процессоров введены операции над векторами 8-, 16- или 32-разрядных данных, упакованных в 64- или 128-разрядные слова. За один такт производится несколько вычислений над данными небольшой разрядности. Для мультимедийных приложений такие SIMD-расширения позволяют ускорить вычисления в 1,0–5,5 раза в зависимости от конкретной задачи. Вычислительные возможности аппаратуры, вводимой для поддержки SIMD-расширений, используются всего лишь на 1–12%. Это объясняется тем, что аппаратно поддерживаются только арифметические операции. Остальные операции (ввод/вывод данных, упаковка/распаковка, перестановка, организация циклов), доля которых достигает 75–85% от общего числа команд, эффективно не реализуются. SIMD-расширения не поддерживаются компиляторами языков высокого уровня, поэтому основные функции для мультимедийных приложений пишутся на языке ассемблера. Появление новых расширений, таких как SSE1 и SSE2, позволило увеличить пиковую производительность в два раза (например, байтовых операций за такт можно сделать 16, а не 8, как было при использовании MMX), поддержать вычисления с плавающей точкой. Так, Pentium 4 на мультимедийных приложениях показывает ускорение всего в 1,139–2,362 раза в зависимости от конкретной задачи, если использует SSE2-расширение.
SIMD-расширения, несмотря на ограниченное использование параллелизма на уровне данных, довольно широко распространены, поскольку требуют относительно небольших аппаратных затрат для своей реализации. В настоящее время они используются не только в универсальных процессорах, но и в микропроцессорах для встроенных применений (архитектуры MIPS и ARM), а также в высокопроизводительных VLIW DSP (TigerSharc фирмы Analog Devices, StarCore фирм Motorola и Lucent, TMS320C6x фирмы Texas Instruments).
Известно несколько архитектурных решений, позволяющих существенно повысить производительность универсальных процессоров при выполнении мультимедийных приложений. Так, в работе предлагается MediaBreeze-расширение, которое поддерживает не только арифметические операции над упакованными данными небольшой разрядности, но и обеспечивает организацию циклов, а также ввод/вывод потоков данных. При этом достигается ускорение в 1,05–16,7 раза по сравнению с универсальным процессором с обычным SIMD-расширением. В ряде работ описывается переход от одномерного SIMD-расширения к двухмерному, когда операции задаются не над векторными регистрами, а над матрицами (несколькими векторными регистрами) и аккумулятором, хранящим матрицу промежуточных результатов. Это расширение получило название MOM (Matrix Oriented Multimedia). Его использование дает ускорение до 3,3 раз, а общее число используемых команд уменьшается в среднем на 45%, поскольку одна MOM команда заменяет группу SIMD команд. При этом сильно уменьшаются затраты на организацию циклов. Оба упомянутых выше решения предполагают переход от обработки коротких векторов к векторно-конвейерной обработке, а сами архитектурные принципы построения таких расширений очень похожи на решения, используемые в архитектуре процессоров семейства NeuroMatrix.
Специально для решения мультимедийных приложений была предложена архитектура потокового процессора (Stream Processor). Данный процессор содержит управляющий RISC-процессор, 8 кластеров, каждый из которых состоит из набора функциональных устройств и локальных регистров, большого потокового регистрового файла и нескольких каналов ввода/вывода для работы с внешней памятью. Обмен между кластерами, а также между конкретным кластером и памятью осуществляется только через потоковый регистровый файл. Введение такого регистрового файла в качестве дополнительного уровня иерархии памяти способно значительно снизить требования к пропускной способности внешней памяти. Управление осуществляется SIMD-командами, способными задать одновременное выполнение до 48 арифметических операций во всех кластерах. Программирование осуществляется на языке высокого уровня, после чего компилятор в программе выделяет куски программного кода, содержащие однородную обработку данных — так называемые потоки (streams), которые затем выполняются на отдельных кластерах.
На частоте 180 МГц такой процессор достиг
производительности 2,8–6,2 млрд. операций
в секунду на реальных мультимедийных
задачах, обойдя на порядок Pentium 4 по показателю
производительность/
После того как было обнаружено, что мультимедийные приложения хорошо векторизуются, было предложено использовать данный тип процессоров для решения этого класса задач. Считается, что по сравнению с процессорами других архитектур векторно-конвейерные процессоры могут наиболее эффективно решать мультимедийные задачи. Это объясняется тем, что для указанных процессоров уже существуют большие наработки в области компиляторов, а также тем, что они могут обеспечить требуемую производительность при небольшом потреблении питания. Так, VIRAM в 2 раза быстрее 4-way динамического суперскалярного процессора, работающего на частоте в 5 раз больше и потребляющего на порядок больше. Это достигается тем, что векторно-конвейерные процессоры более приспособлены решать задачи с высокой степенью параллелизма по данным, чем универсальные вычислители. Несмотря на то, что первые запускают на выполнение одну команду за такт, благодаря использованию многотактовых векторных команд реально одновременно может выполняться большое количество операций на множестве функциональных устройств либо независимо, либо с "зацеплением", когда результат одной команды нужен для второй. При этом управляющая логика оказывается гораздо проще, чем у суперскалярных процессоров, что позволяет наращивать производительность векторно-конвейерных процессоров за счет использования большего числа функциональных устройств без уменьшения тактовой частоты и практически без потери эффективности использования аппаратуры. Хочется отметить, что при добавлении некоторых свойств универсальных процессоров, таких как переименование векторных регистров и внеочередное выполнение команд (out-of-order execution), векторно-конвейерные процессоры способны работать с памятью, имеющей задержку выборки данных в 100 тактов, с падением производительности всего на 6%.
Одной из основных трудностей для векторно-конвейерной архитектуры является реализация большого количества многопортовых векторных регистров (обычно 16–32 векторных регистра, содержащих до 128 16-разрядных элемента), что требует больших аппаратных затрат. Кроме того, имеются трудности с анализом запуска команды на выполнение и синхронизации выполнения различных команд, использующих одни и те же векторные регистры.
Процессоры семейства NeuroMatrix также относятся к классу векторно-конвейерных вычислителей, поскольку используют многотактовые векторные команды аналогичным образом. Отличие в том, что вместо векторных регистров общего назначения применяются специализированные FIFO и входные векторные регистры, что позволяет значительно сократить аппаратные затраты, упростить логику управления и синхронизации выполняемых операций. Использование FIFO дает возможность легко организовать "зацепление" по данным для двух одновременно выполняемых команд, одна из которых готовит результат для другой. Для их синхронизации достаточно отследить флаги FIFO: первая команда выполняется, пока FIFO не полно, а вторая — пока не пусто.
Вместе с тем, использование FIFO для синхронизации вычислительных процессов характерно для архитектуры с "расщеплением"; потока команд (decoupled architecture). Эта архитектура обеспечивает механизм динамического внеочередного выполнения команд (out-of-order execution), как в суперскалярных процессорах, с гораздо меньшими затратами на управление, также она способна не терять производительность при увеличении времени доступа в память. Считается, что ее широкому распространению мешает неэффективная работа с программами, содержащими большой процент команд управления. Одно из решений предлагает использовать мультитредовость.
Кроме того, процессоры NeuroMatrix используют команды типа VLIW, задающие одновременно операции обмена с памятью, модификацию адресных регистров и арифметическую операцию, причем это относится как к скалярным, так и к векторным командам. Объединение в одной команде операций ввода/вывода и арифметической операции позволяет увеличить производительность скалярных команд на реальных задачах до 40% , но для векторных команд это решение, по нашим оценкам, особый выигрыш не дает.
Все вышесказанное позволяет отнести процессоры семейства NeuroMatrix к новому классу вычислителей, а именно — к векторно-конвейерным DSP. Они обладают высокой производительностью при обработке больших потоков данных, требуют меньших аппаратных затрат, чем универсальные векторно-конвейерные процессоры, и, как следствие, имеют меньшее потребление питания. Платой за это является невозможность использования векторных команд компилятором языка высокого уровня. Так же как для SIMD-расширений универсальных процессоров, на ассемблере пишется библиотека функций, использующих векторные команды, и затем эти функции вызываются программами пользователя, написанными на языке высокого уровня.
Научно-техническим центром «Модуль» разработано семейство цифровых процессоров сигналов NeuroMatrix, в том числе Л1879ВМ1 (NM6403) и 1879ВМ2 (NM6404). Особенностью данного семейства является оригинальная, запатентованная векторно-матричная архитектура, обеспечивающая высокое соотношение производительности и цены устройств.
Процессоры семейства 1879ВМх представляют собой высокопроизводительные вычислительные устройства, имеющие RISC-архитектуру с элементами VLIW (Very Long Instruction Word), SIMD (Single Instruction Multiple Data) и суперскаляра. Архитектура и структура обеспечивают: аппаратную поддержку матричных и векторных операций над векторами, представляющими собой 64-разрядные слова, в которых упакованы данные, представленные в дополнительном коде с фиксированной точкой; программную настройку исполнительных узлов для работы с векторами данных, содержащих необходимое количество элементов требуемой разрядности (в общем случае количество элементов в векторе и их разрядность должны принимать любое значение в пределах от 1 до 64, суммарная разрядность всех элементов каждого вектора должна составлять 64 разряда); исполнение векторных команд в течение нескольких процессорных тактов, число которых (от 1 до 32) определяется специальным полем команды.
Он работает на частотах до 40 МГц в диапазоне температур от –40 до +85 °С и напряжений от 3,0 до 3,6 В. Количество операций "умножение с накоплением", выполняемых за один процессорный такт, от 2 (32-разрядные данные) до 224 (2-разрядные данные), поэтому пиковая производительность процессора в указанных условиях составляет 8,96 млрд умножений с накоплением (GMAC). В 1999 году лицензия на использование микропроцессорного ядра этого процессора была приобретена фирмой Fujitsu.
Л1879ВМ1 поддерживает работу с 32-разрядными скалярными данными и векторными данными программируемой разрядности от 1 до 64, упакованными в 64-разрядные блоки данных. Структурная схема процессора представлена на рис. 1., а его карта памяти изображена на рис. 2
Рис. 1. Структурная схема процессора Л1879ВМ1
Рис. 2. Карта памяти процессора Л1879ВМ1
Процессор состоит из следующих функциональных узлов: