Автор: Пользователь скрыл имя, 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 Сводная таблица для рассмотренных вариантов реконфигурируемых устройств
ЗАКЛЮЧЕНИЕ
Список используемой литературы
МИНИСТРЕСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«XXXXXXXXXXXXXXXXXXXXXXXXXXXX»
Кафедра XXX
Реферат по курсу «Системы обработки аудио/речевых сигналов»
На тему:
«Применение реконфигурируемых вычислений в аудио и видео обработке. Реконфигурируемые процессоры: настоящее и будущее»
Выполнил: | Проверил: |
|
|
Минск 2010
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
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 Сводная таблица для рассмотренных вариантов реконфигурируемых устройств
ЗАКЛЮЧЕНИЕ
Список используемой литературы
ВВЕДЕНИЕ
Развитие реконфигурируемого вычисления приходится на конец 80-ых годов. Преимуществом реконфигурируемого вычисления являлась способность обеспечения создания принципиально новых процессоров и упрощение процедуры адаптации архитектуры этих процессоров к требованиям решаемой задачи до уровня выполнения тривиальной, скрытой от пользователя программы.
Гибкость изделия очень важна для разработчиков, которые постоянно сталкиваются с необходимостью усовершенствования проекта, который должен быть приспособлен к требованиям рынка и развивающимся стандартам.
Так же разработчики стремятся при проектировании к увеличению функциональных возможностей устройства и в то же время к сокращению времени проектирования. Однако при увеличении функциональных возможностей устройства вырастает его площадь и стоимость.
С такими проблемами сталкиваются разработчики в области мультимедиа, связи, графики и шифрования.
Реконфигурируемые вычисления предлагают параллельно/пространственную модель вычислений. Архитектура, реализующая модель реконфигурируемых вычислений, позволяет сохранять часть кода (или весь код) в специальной реконфигурируемой среде, объединяющей в себе множество процессорных элементов и коммутационную среду. Т.е. на время выполнения сохраненной части кода пользователь получает спецвычислитель, реализующий заданный алгоритм. Такая модель вычислений позволяет: использовать параллелизм выполняемого алгоритма; организовывать конвейерные схемы вычислений.
Программы для реконфигурируемых систем являются, по сути, потоковыми схемами. Они позволяют одновременно в реальном времени обрабатывать множество независимых (или зависимых) потоков данных.
Если кластеры более приспособлены к решению задач со сложной логикой вычисления, с крупноблочным (явным статическим или скрытым динамическим) параллелизмом, то реконфигурируемые вычислительные системы – с простой логикой вычисления, с конвейерным или мелкозернистым явным параллелизмом, с большими потоками информации, требующими обработки в реальном режиме времени.
1 Реконфигурируемые вычисления
Новый подход к проектированию сложных систем помогает решить возникающие проблемы. Такая технология обработки сигнала предусматривает проектирование реконфигурируемого процессора (ядра).
Первоначально перспективной элементной базой для реконфигурируемых вычислителей считалось FPGA. По этому пути следовали такие фирмы как Xilinx, Elixent и Altera. Однако, несмотря на прорыв в достижении высоких тактовых частот и уменьшении стоимости, база FPGA не оправдала надежд на высокую скорость конфигурирования. Также недостатком данной базы являлась и по сей день является избыточность вычислительных ресурсов.
В связи с этим, были предложены другие пути развития реконфигурируемых вычислителей. Фирмы предлагали как создание сопроцессоров на базе FPGA, так и занимались созданием реконфигурируемых блоков на базе ASIC.
Реконфигурируемая архитектура может быть изготовлена и настроена для широкого класса приложений, включая мультимедиа, связь, организацию сети, графику и шифрование. Она позволяет достигать значительно более высокой скорости производительности.
1.1 Классификация реконфигурируемых устройств
Существует несколько классификаций для реализации реконфигурируемых устройств, например, классификация по способам реконфигурации или классификация по аппаратному исполнению.
По способам реконфигурации существует ряд основных подходов, влияющих на реализацию реконфигурируемых устройств [1]:
полевая настройка;
медленные системы адаптации;
быстрая адаптация.
1.1.1 Полевая настройка
Реконфигурация программируемых устройств позволяет периодические модификации функциональных возможностей изделия (программы), поскольку стали доступными расширенные версии программируемого оборудования. Полевая настройка особенно важна при изменяющихся стандартах и протоколах связи. Реконфигурируемые аппаратные решения могут быстро модифицироваться без потребности в ручных обновлениях или аппаратных перестановках.
1.1.2 Медленные системы адаптации
Данные системы должны быть модифицированы в ходе ежедневной операции, основанной на разнообразии ограничений. Они включают проблемы типа переменных значений и операционных параметров для передвижной связи.
1.1.3 Быстрая адаптация
Множество связей, обрабатывающих протоколы, требует почти постоянной переоценки операционных параметров, и может извлекать выгоду из быстрого сброса вычислительных параметров. Некоторые из этих проблем включают адаптацию к шуму в каналах связи, адаптация к сетевому скоплению в сетевых конфигурациях, и спекулятивном вычислении, основанном на изменяющихся наборах данных.
1.2 Типы аппаратных исполнений реконфигурируемых блоков
Аппаратное исполнение реконфигурируемых блоков можно условно разделить на 3 типа:
FPGA +
Реконфигурируемая система, основанная на «Программируемом Прикладном Стандартном Изделии» (P-ASSP)
Параллельный массив процессоров
Ниже приводится детальное описание аппаратного исполнения реконфигурируемых блоков.
1.2.1 Тип FPGA +
В данном случае, устройство должно содержать большое количество блоков высокой сложности или более высокого уровня [1]. Поставщиком реконфигурируемых устройств на FPGA с различными функциональными блоками или архитектурой может быть фирма Hameleon. Фирма Elixent, другая компания в области реконфигурируемых устройств, увеличила свой конфигурируемый блок добавлением 4-х битового арифметического логического устройства (ALU) и заменой 4-входной таблицы соответствия (look up table, LUT) на триггер. Поддержка функциональных возможностей более высокого уровня и многосторонности FPGA придают гибкость этим устройствам. Что в свою очередь, позволяет разработчикам использовать их в собственных IP-блоках.
FPGA позволяют проектировать реконфигурируемые приложения для DSP, которые обладают большей производительностью и мощностью обработки данных, чем у DSP процессоров [2]. При реализации DSP в аппаратных средствах FPGA можно настроить архитектуру, структуру шин данных, память, аппаратные блоки акселератора и переменное число блоков умножения/накопления (Multiply And Accumulate, MAC).
Несмотря на все эти преимущества, у FPGA существует один недостаток – отсутствие возможности программирования проекта на языке программировании C, при котором не требуется знаний ни FPGA архитектуры, ни аппаратного языка описания (HDL). Однако фирма Altera предоставила новые инструментальные средства проектирования и аппаратные решения, которые облегчат проблему проектирования на FPGA, в том числе и программирование проекта на языке C [3].
FPGA устройства состоят из логических элементов и памяти, которая может быть конфигурируема для работы в различных режимах, соответствующих различным функциональным возможностям. Такая аппаратная гибкость позволяет разработчикам описывать любой проект, ни смотря на его аппаратную сложность, на любом языке описания (VHDL или Verilog HDL).
С введением фирмой Altera высокоплотного FPGA, законченный проекты можно создавать на системе FPGA, получая систему на программируемом чипе (SOPC). Так же производители FPGA устройств предпочитают встраивать такие блоки как кодирующие устройства, декодеры, компенсаторы и блоки обработки функций фильтров конечной импульсной характеристики (finite impulse response, FIR), быстрого Фурье преобразования (FFT) и арифметические функции.
Внедренные в FPGA процессоры обеспечивают полную системную интеграцию и гибкость при разделении системы между аппаратными средствами и программным обеспечением. Устройства фирмы Altera обеспечивают выбор между внедренными стандартными процессорами и внедренными специализированными процессорами. Проектировщики могут реализовывать внедренные процессоры типа Nois и добавлять внешние системные устройства. Процессор Nois поддерживает архитектуру шин данных, которая оптимизирует пропускную способность шин данных и исключает потенциально узкие места, возникающие в DSP процессорах.
Устройства FPGA обеспечивают гибкую платформу, которая позволяет ускорить выполнение критических функций в аппаратных средствах благодаря конфигурации логических блоков устройства. В отличие от DSP процессоров, структура которых предопределена, аппаратные блоки FPGA могут реализовывать аппаратные акселераторы для каждого приложения, что позволит проектировщику достигнуть лучшего аппаратного выполнения. Проектировщики могут реализовывать аппаратные блоки акселератора, разрабатывая блоки, использующие параметризованные функции IP или с помощью HDL.
Устройства FPGA обеспечивают реконфигурируемое решение для различных приложений DSP. Они содержат разнообразные внедренные особенности типа внедренных блоков, DSP блоков и блоков памяти. Эти особенности обеспечивают высокую производительность DSP процессоров в FPGA. Используя FPGA, проектировщики могут настраивать аппаратные средства DSP для оптимального выполнения приложений.
FPGА содержит инструментальные средства системного уровня, позволяющие проектировать полные аппаратные системы, комбинируя встроенные процессоры с внешними системными устройствами.
Таким образом FPGA обеспечивает преимущества системной интеграции, гибкость при разделении системы, снижение системных затрат и лучшее функционирование.
1.2.2 Реконфигурируемая система на P-ASSP
Такая система обычно состоит из общего ядра с добавленными к ним оптимизированными сопроцессорами или дополнительными ядрами. Примером такой структуры может являться процессор фирмы Morphics [1]. В процессоре этой фирмы ядра оптимизированы для поддержания классов операций найденных в алгоритмах.
Данный подход к проектированию реконфигурируемых систем имеет такие плюсы как хорошее соотношение цены и потребляемой мощности. Для обеспечения такого соотношения некоторые крупные и сложные блоки должны быть разработаны как сложные макросы, оптимизированные на очень низком уровне для выполнения определенных операций. Стоит заметить, что данная структура так же позволяет реализацию параллельных процессов.
Однако одним из главных минусов такой системы является ограниченность гибкости и реконфигурируемости системы из-за ограниченных функциональных возможностей ядра. Учитывая темпы изменения систем и архитектуры, а также увеличение требований к модификациям, трудно быть уверенным в том, что любое трудно-программируемое ядро будет эффективно использовано для новых конфигураций. Одной из вероятных проблем также может стать желание разработчиков управлять алгоритмами и структурой критических блоков.
1.2.3 Параллельный массив процессоров
Данный подход к реализации реконфигурируемых устройств используют фирмы picoChip, QuickSilver или PACT. Вместо малого кластера очень мощных дискретных CPU используются инструкции параллелизма, которые имеют очень большое количество устройств «соответствующего размера» связанных между собой на кристалле. Данная связь обеспечивает большую пропускную способность в отличие от пропускной способности шины.