Автор: Пользователь скрыл имя, 04 Мая 2012 в 00:36, реферат
Развитие реконфигурируемого вычисления приходится на конец 80-ых годов. Преимуществом реконфигурируемого вычисления являлась способность обеспечения создания принципиально новых процессоров и упрощение процедуры адаптации архитектуры этих процессоров к требованиям решаемой задачи до уровня выполнения тривиальной, скрытой от пользователя программы.
ВВЕДЕНИЕ
1 Реконфигурируемые вычисления
1.1 Классификация реконфигурируемых устройств
1.1.1 Полевая настройка
1.1.2 Медленные системы адаптации
1.1.3 Быстрая адаптация
1.2 Типы аппаратных исполнений реконфигурируемых блоков
1.2.1 Тип FPGA +
1.2.2 Реконфигурируемая система на P-ASSP
1.2.3 Параллельный массив процессоров
1.3 FPFA устройство
2 Архитектура ACM фирмы QuickSilver
3 Реконфигурируемый процессор фирмы Elixent
4 Сводная таблица для рассмотренных вариантов реконфигурируемых устройств
ЗАКЛЮЧЕНИЕ
Список используемой литературы
В такой структуре задачи очень легко отображаются на центральные процессоры. Очень привлекательным в этом подходе является то, что такая структура поддерживает параллелизм, свойственный DSP алгоритмам [1].
Фирма PACT дополнила массив 32-х битных процессоров с плавающей точкой RISC ядрами и собственным подходом программирования. Структура фирмы QuickSilver основана на связанном массиве конфигурируемых процессоров. Конфигурируемые массивы функциональных модулей QuickSilver описывает как «рекурсивную архитектуру». Устройство фирмы picoChip содержит гетерогенный массив программируемых 16-ти битных функциональных элементов, с детерминированной быстродействующей матрицей переключения. Каждый элемент имеет свои собственные арифметические модули и индивидуально запрограммирован в структуре всего устройства.
Однако как бы ни различались архитектуры реконфигурируемых устройств, они все имеют что-то общее. Так обобщенная структура устройства с конфигурированным вычислением представлена на рис. 1.
Рис. 1. Обобщенная структура для конфигурируемого вычисления
Определив основные структуры реконфигурируемых блоков, рассмотрим более подробную их реализацию на примерах.
Рассмотрим FPFA – реконфигурируемое устройство данных, которое может быть конфигурировано, чтобы эффективно осуществлять множество DSP алгоритмов. Гибкость в FPFA ограничена большим количеством сигналов управления. Чтобы уменьшать количество сигналов управления, FPFA использует комбинацию регистров конфигурации, декодеров и синтезаторов.
FPFA был предложен в качестве реконфигурируемой части устройства для гетерогенной системы-на-кристалле (SoC). Помимо реконфигурируемого FPFA, такая SoC также содержит:
встроенный сопроцессор;
встроенные подсистемы ввода – вывода;
встроенный FPGA [4].
Рис. 2. Архитектура не перекрывающего расположения процессора
FPFA малой мощности, реконфигурируемый акселератор для цифрового сигнала, обрабатывает область DSP. Малая мощность достигается главным образом благодаря использованию ссылок. Высокая эффективность получена с помощью параллелизма.
Многократные процессы могут сосуществовать параллельно на различных не перекрывающих расположениях. В пределах не перекрывающего расположения многократные потоки данных могут быть обработаны параллельно. Каждое, не перекрывающее расположение процессора, содержит многократные реконфигурируемые части обработки, которые совместно используют блок управления. Архитектура отдельного не перекрывающего расположения изображена на рис. 2.
FPFA может легко приспосабливаться к модификациям его программного обеспечения. Также, нет никакой потребности в его перепроектировании, чтобы использовать все преимущества от следующего поколения CMOS процессов. FPFA может выполнять DSP задачи с минимальными затратами мощности.
FPFA предназначен для выполнения внутренних циклов алгоритма. Нерегулярные части лучше всего выполнять с помощью процессора общего назначения. Программирование параллельного FPFA гораздо сложнее, чем программирование обычного последовательного процессора общего назначения. Однако, использование FPFA приемлемо в том случае, если цикл проектирования для новых приложений достаточно непродолжительный.
Архитектура ACM, разработанная фирмой QuickSilver, позволяет довольно быстро приспособить любую часть устройства – от нескольких маленьких частей до полного чипа – под определенную задачу. Она позволяет преобразовывать динамически программируемые алгоритмы в динамические аппаратные ресурсы, что ведет к наиболее эффективному использованию аппаратных средств, уменьшению стоимости, размера, потребления мощности и увеличению быстродействия. Благодаря архитектуре ACM может значительно уменьшиться или совсем исчезнуть потребность в заказных ASIC структурах для стандартной быстродействующей SoC [5].
Компания QuickSilver предложила абсолютно другой подход для разработки реконфигурируемых устройств. По их мнению, необходимо рассматривать проблему на уровне алгоритмических элементов.
Анализ алгоритмов для приложений Internet, мультимедиа, видео и других, показал, что все эти алгоритмы гетерогенны по своей природе. Это означает, что, если взять набор разнообразных алгоритмов, то их элементы архитектуры будут сильно различаются друг от друга. В свою очередь, это указывает, что гомогенная архитектура, связанная с традиционным FPGA не соответствуют многим алгоритмическим задачам. Решение состоит в том, чтобы использовать гетерогенную архитектуру, которая полностью поддерживает гетерогенный характер алгоритмов.
Рис. 3. Узловая архитектура [5]
В итоге была разработана гетерогенная архитектура на основе узла, она представлена на рис. 3:
В архитектуре рассмотрено 5 типов узлов:
арифметический;
разрядной манипуляции;
автомат конечных состояний (FSM);
скалярный;
конфигурируемый ввод – вывод, который имел обыкновение соединяться с внешним миром (не показан на рис. 3).
Каждый узел состоит из множества вычислительных модулей и собственной внутренней памяти (приблизительно 75% узла находятся в форме памяти). Дополнительно, каждый узел включает в себя некоторую память конфигурации. В отличие от FPGA с их последовательным разрядным потоком конфигурации, ACM имеет шину данных на 256 битов или на 128 битов.
Важно понять, что каждый узел исполняет задачи на уровне законченных алгоритмических элементов. Например, один арифметический узел может использоваться, чтобы осуществить различные линейные арифметические функции типа FIR фильтра, дискретные преобразования (DCT), FFT, и т.д. Такой узел может также использоваться, чтобы осуществить нелинейные арифметические функции типа (1/sine A) x (1/x).
Точно так же узел манипуляции может использоваться, чтобы осуществить различные функции разрядной манипуляции, типа сдвига обратной связи линейного регистра (LRSR), последовательного генератора кода Уолша, генератора кода Голда, TCP/IP различителя пакета, и т.д.
Конечный узел FSM, может использоваться, чтобы осуществить любой класс FSM. Не менее важный, скалярный узел может использоваться, чтобы выполнить код наследства, в то время как конфигурируемый узел ввода–вывода (не показанный на рисунке 3) может использоваться, чтобы осуществить ввод–вывод в форме UART или интерфейсов шин типа PCI, USB, или Firewire.
3 Реконфигурируемый процессор фирмы Elixent
Суть реконфигурируемого алгоритма процессора (RAP) заключается в том, что он помогает разработчикам концентрировать внимание на развитии прикладного уровня IP вместо перепроектирования готовых блоков и их тестирования. Все это помогает эффективно проектировать устройства на базе ASIC.
Реконфигурируемый блок позволяет изменять свою структуру
Рис. 4. Реконфигурируемый процессор фирмы Elixent
обработки арифметических функций, оптимизировать функционирование и производительность устройства. Реконфигурация устройства может производиться во время его работы, для этого устройство должно иметь архитектуру, оптимизированную для динамической реконфигурации, она приведена на рис. 4.
Динамическая реконфигурация обладает определенными преимуществами. В случае устройства мультимедиа, динамическая реконфигурация позволяет DSP оптимизировать арифметическую структуру для каждого шага вычислений, что приводит к увеличению производительности.
Реконфигурация устройства позволяет завершить спецификацию после его изготовления, что в свою очередь приводит к более быстрому внедрению в производство и позиционированию разработанного устройства на рынок.
Реконфигурируемые системы позволяют внедрить новые особенности повторным реконфигурированием массива, которое занимает всего несколько дней. Это позволяет избегать дорогостоящих новых проектов и итераций в процессе развития.
RAP позволяет реконфигурировать устройство для различных приложений и областей применения. При дальнейшем развитии устройства наличие ядра RAP позволяет экономить не только средства на разработку, но и время проектирования.
Вопрос создания устройства с лучшей спецификацией решается путем создания дополнительных ячеек RAP в начале разработки проекта.
Пример такого обновления – арифметические ячейки, которые позволят устройству модернизировать сжатие изображения от JPEG до JPEG 2000.
Преимущества RAP:
Непрерывная реконфигурация для минимизации избыточности
Возможность обработки итерационных операций
Параллелизм обеспечивает высокую пропускную способность для обработки итерационных операций
Уменьшение избыточности ИС
Уменьшение стоимости проекта
Формирование итогового технического задания после проектирования
Обнаружение ошибок без проектирования
Быстрая адаптация к изменяющимся спецификациям
Следует обратить внимание на то, что архитектура устройства изменяется, в связи с этим необходимо обобщенное описание системы управления.
Один реконфигурируемый блок может заменять три и более различных модуля. Он так же может обрабатывать разнообразные стандарты программного обеспечения.
Таким образом, RAP – новая аппаратная архитектура, обеспечивающая радикальную альтернативу проектам для различных приложений. Это обеспечивает массив ALU и буферные блоки, которые располагаются каскадом для удовлетворения различной длины данных.
ALU располагаются в стиле шахматной доски чередуясь со смежными блоками переключения. Дальнейшие 256 – байтовые блоки памяти могут
Рис. 5. Архитектура ALU и блоков переключения
быть расположены как угодно (рис. 5). Такая схема облегчает связь между блоками, наличие шин ввода/вывода на всех четырех сторонах ALU позволяет получать и передавать данные от любого окружения ALU. Это позволяет уменьшить площадь кристалла для программирования.
Выбор размера ALU и структуры шины показывает, что для реконфигурации каждого ALU необходимо всего несколько байтов памяти. Эти несколько байтов поддерживают быструю реконфигурацию, что позволяет 512-байтовому массиву ALU быть реконфигурированным в течение нескольких микросекунд. Два типа памяти на кристалле увеличивают пропускную способность RAP и его гибкость.
Одна из ключевых выгод быстрой реконфигурации – способность применения многократной обработки данных с минимальной буферизацией. Хотя массив можно конфигурировать в оптимальных размерах для специфического сигнала, а для увеличения производительности использовать параллелизм для специфической операции.
Например, очень многие приложения обработки изображения требуют малого количества памяти, но им необходима высокая пропускная способность буферов и таблиц перевода.
4 Сводная таблица для рассмотренных вариантов реконфигурируемых устройств
Мною были рассмотрены возможные варианты реализации реконфигурируемых устройств.
Составим сводную таблицу для рассмотренных вариантов реконфигурируемых устройств (Табл. 1). В Таблице 1 представлены параметры, позволяющие дать качественные сравнительные характеристики для различных реализаций реконфигурируемых DSP. Быстродействие часто является наиболее критическим системным требованием, так как DSP устройства часто имеют ограничения по времени. В прошлых двух десятилетиях, более существенной была стоимость, поскольку DSP мигрировал от военных и научных приложений в многочисленные приложения потребителя. За прошлые десять лет, потребление мощности стало важным параметром, поскольку DSP методы широко начали применяться в портативных системах с батарейным питанием типа телефонов и портативных ЭВМ [8]. Каждая опция представляет различные значения для быстродействия, стоимости, мощности и гибкости.