Общие сведения о сигнальных процессорах.




К особенностям цифровой об­работки сигналов следует отнести большой объем информации поступающей в реальном времени в виде непрерывного потока данных.

Их обработка требует от аппаратных средств высокой производительности и обеспечения возможности интенсивного обмена с внешними устройствами.

Выполнение указанных требований достигается благодаря использованию специальных процессоров с проблемно–ориентированной системой команд.

Та­кие процессоры называются цифровыми сигнальными процессорами (Digital Signal Processors — DSP). Сигнальные процессоры унаследовали от универсальных процессоров ряд свойств.

В них также широко используются методы сокращения длительности командного цикла, характерные для RISC–процессоров, такие как конвейеризация на уровне отдельных команд и микрокоманд, размещение операндов большин­ства команд в регистрах (регистровая адресация), использование теневых регис­тров для сохранения состояния вычислений при переключении контекста, разде­ление памяти и шин для команд и данных (гарвардская архитектура).

Однако для сигнальных процессоров присущ ряд особенностей:

● наличие аппаратного умножителя, позволяющего выполнять умножение двух чисел за один командный такт.

В универсальных процессорах на умножение обычно затрачивается несколько тактов для выполнения последовательности операций сдвига и сложения;

● включение в систему команд таких операций, как умножение с накоплением (С <— A х В + С), инверсия бит адреса и другие функции над битами;

● аппаратная поддержка программных циклов и кольцевого буферирования.

Цифровые сигнальные процессоры разделяются на два класса, существенно различающихся по цене: процессоры для обработки данных в формате с фикси­рованной и плавающей точкой.

Использование для обработки сигналов формата с плавающей точкой обусловлено:

● стремлением (и необходимостью) повышения точности результатов при реше­нии задач, связанных с выполнением интегральных и дифференциальных преобразований.

Высокую точность обеспечивает представление данных в виде экспоненциальной функции;

● чувствительностью к точности представления данных в широком динамичес­ком диапазоне в алгоритмах компрессии, декомпрессии, адаптивной фильт­рации, связанных с определением логарифмических зависимостей.

Использование формата с плавающей точкой, при котором данные представ­ляются в виде экспоненциальной функции:

● с одной стороны, существенно упрощает и ускоряет обработку, повышает на­дежность программы.

При этом не требуется выполнения операций округле­ния и нормализации данных, отслеживания ситуаций переполнения и потери значимости;

● с другой стороны, усложняет функциональные устройства и технологию про­изводства микросхем, увеличивает процент отбраковки готовых изделий и, как следствие, стоимость процессоров.

Отметим, что возможен другой путь решения проблемы цифровой обработки сигналов, связанный с созданием симметричной мультипроцессорной системы на более простых процессорах, обрабатывающих целочисленные операнды.

 

Структура ЦСП

Цифровые сигнальные процессоры строятся на основе «Гарвардской архитектуры» (Рис. 2, отличительной особенностью которой является то, что программы и данные хранятся в различных устройствах памяти -- памяти программ и памяти данных. В отличие от архитектуры фон Неймана, где процессору для выборки команды и двух операндов требуется минимум три цикла шины, ЦСП может производить одновременные обращения как к памяти команд, так и к памяти данных, и указанная выше команда может быть получена за два цикла шины. В реальности, благодаря продуманности системы команд и другим мерам, это время может быть сокращено до одного цикла. В реальных устройствах память команд может хранить не только программы, но и данные. В этом случае говорят, что ЦСП построен по модифицированной гарвардской архитектуре.

Память команд и память данных обычно располагаются на кристалле ЦСП. В связи с тем, что эта память имеет относительно небольшой объём, возникает необходимость в использовании внешних (относительно кристалла процессора) запоминающих устройств. Для таких устройств раздельные шины команд и данных не используются, так как это потребовало бы значительно увеличить количество внешних выводов кристалла, что дорого и непрактично. Поэтому взаимодействие ЦСП с внешними запоминающими устройствами происходит по одному комплекту шин без разделения на команды и данные. Следует также заметить, что обращение к внешней памяти всегда занимает значительно больше времени, чем к внутренней, поэтому в приложениях, критичных ко времени исполнения, такие обращения необходимо минимизировать.

Архитектура ЦСП

Архитектура сигнальных процессоров, по сравнению с микропроцессорами общего применения, имеет некоторые особенности, связанные со стремлением максимально ускорить выполнение типовых задач цифровой обработки сигналов (цифровая фильтрация, преобразование Фурье, поиск сигналов и т.п.). Наиболее трудоемкая часть всех этих задач - операция перемножения массивов данных определенной длины (последовательностей выборок АЦП, коэффициентов фильтров и т.п.). Поэтому ЦСП ориентирован в первую очередь на многократное выполнение умножения с расчетом адресов перемножаемых элементов массивов:

Операция «умножение с накоплением» (англ. Multiply-Accumulate, MAC) (Y = Y + A Ч B) с автоматическим расчетом адресов элементов массивов обычно реализована аппаратно и исполняется за один машинный цикл.

Аппаратная реализация многократного повторения заданного набора команд, т.е. «бесплатные» по времени циклы с заранее известной длиной.

Возможность одновременной выборки команды и двух ячеек данных для максимально быстрого выполнения команды MAC. Для этого ЦСП имеет несколько независимых областей памяти, каждая со своим комплектом шин адреса и данных.

Поддержка векторно-конвейерной обработки с помощью генераторов адресных последовательностей.

Ограниченность аппаратных ресурсов первых ЦСП накладывала существенный отпечаток на их архитектуру:

Гарвардская архитектура (разделение памяти команд и данных), как правило модифицированная; с разделением памяти на сегменты с независимым доступом.

Детерминированная работа с известными временами выполнения команд, что позволяет выполнять планирование работы в реальном времени.

Сравнительно небольшая длина конвейера, так что незапланированные условные переходы могут занимать меньшее время, чем в универсальных процессорах.

Экзотический набор регистров и инструкций, часто сложных для компиляторов. Некоторые архитектуры используют VLIW.

В современной микроэлектронике процессоры общего применения зачастую содержат аппаратную поддержку типовых операций ЦОС. Особо тяжелые задачи ЦОС решаются на основе программируемой логики, где можно достичь предельной оптимизации выполнения конкретной операции. Специализированные процессоры ЦОС все чаще делают векторными. В то же время классические ЦСП снабжают развитыми наборами команд процессоров общего применения и сглаживают особенности программной модели, позиционируя их как изделия широкого применения с ускоренными функциями ЦОС. Все эти тенденции приводят к размыванию классического понятия ЦСП.

Лучшие современные ЦСП можно характеризовать следующими параметрами:

Тактовая частота -- 1 ГГц и выше;

Многоядерность;

Наличие двухуровневого кеша;

Встроенные многоканальные контроллеры прямого доступа к памяти;

Быстродействие порядка нескольких тысяч MIPS и MFLOPS;

Выполнение до 8 параллельных инструкций за такт;

Совместимость со стандартными шинами (PCI и др.)

 

 

Система команд сигнальных процессоров имеет многие черты систем команд универсальных микропроцессоров (особенно с RISC-архитектурой) и однокристальных микроконтроллеров. Она включает в себя основные арифметические и логические операции и команды переходов, но в меньшем, чем в универсальных МП, количестве. Число режимов адресации операндов также относительно невелико. Команда имеет простой, четко заданный формат. Длина команды составляет одно, реже два 16разрядных слова. Однако наряду с использованием сокращенного набора команд, в DSP-процессорах применяются и такие характерные для MMX-обработки аппаратно поддерживаемые инструкции, как команды поиска минимума и максимума, получения абсолютного значения, сложения с насыщением, при котором в случае переполнения при сложении двух чисел результату присваивается максимально возможное в данной разрядной сетке значение. Это ведет к уменьшению количества конфликтов в конвейере и повышает эффективность работы процессора.

С другой стороны, ЦСП содержат ряд команд, наличие которых обусловлено спецификой их применения и которые вследствие этого редко присутствуют в микропроцессорах других типов. Прежде всего это, конечно, команда умножения с накоплением суммы MAC, лежащая в основе ЦОС: А = В*С+А. В системах команд некоторых сигнальных процессоров можно при программировании указать число выполнений этой команды в цикле и правила изменения индексов для адресации операндов В и С. При этом в отличие от команд повторения обычных процессоров сигнальный процессор может аппаратно поддерживать проверку условия завершения цикла. Сюда же можно отнести и команды сдвига (перезаписи) в соседнюю ячейку ОЗУ данных, поддерживающие работу циклического буфера для подготовки умножения в следующем такте.

Для эффективной реализации алгоритмов БПФ в систему команд некоторых DSP-процессоров включены возможности адресации с реверсированием бит адреса.

Программирование микропроцессоров этого класса также имеет свои особенности. Значительное удобство для разработчика, обычно связываемое с использованием языков высокого уровня, в большинстве случаев оборачивается получением менее компактного и быстрого кода. Так как особенности ЦОС предполагают работу в реальном времени, это приводит к необходимости использования для решения тех же задач более мощных и дорогих DSP. Такая ситуация особенно критична для крупносерийной продукции, где разница в стоимости более производительного DSP или дополнительного процессора играет важную роль. В то же время в современных условиях скорость разработки (и, следовательно, выхода нового изделия на рынок) может принести больше выгод, чем затраты времени на оптимизацию кода при написании программы на ассемблере.

Компромиссным подходом здесь служит использование ассемблера для написания наиболее критичных с точки зрения время- и ресурсоемкости участков программы, в то время как основная часть программы пишется на языке высокого уровня, как правило, Си или Си++.

Сигнальные процессоры в системах обработки информации

Развитие новых компьютерных технологий стало толчком к внедрению сложных вычислительных систем в различные области человеческой деятельности. Одним из важнейших применений вычислительной техники являются системы управления для генерации и обработки непрерывных потоков информации, основой которых как правило являются сигнальные процессоры. По заявлению представителей фирмы Моторолла в 2000 году более 90% покупателей в США приобретут хотя бы одно изделие, содержащее DSP (Digital Signal Processor - цифровой сигнальный процессор). За двадцать лет развития данного сектора электронных компонентов производительность DSP возросла до нескольких сотен MIPS, а цена упала более цена на 90%, что обуславливает их широкое проникновение практически во все отрасли.

Существовавший подход к использованию и проектированию вычислительных систем на базе компьютеров общего назначения требует дополнительных устройств (плат, модулей) для реализации сложных процессов обработки информации, как в реальном масштабе времени, так и после записи информации в память компьютера. Как правило, такие устройства в последнее время реализуются с использованием DSP, которые, обладая мощной вычислительной структурой, позволяют реализовать различные алгоритмы обработки информационных потоков.

Сравнительно невысокая цена, а также развитые средства разработки программного обеспечения позволяют легко внедрять подобные системы в различные области информационного обеспечения. Многие фирмы США и Европы предлагают свои DSP-системы, в которых используется от 1 до 8 DSP и от128 КБайт до 256 Мбайт памяти для данных и программ. Наибольшее распространение получили DSP фирм Analog Device, Texas Instruments, Motorola, NEC, AT&T.

Выбор того или иного процессора - многокритериальная задача, однако, следует отметить предпочтительность процессоров Analog Devices для приложений, требующих выполнения больших объемов математических вычислений (таких как цифровая фильтрация сигнала, вычисление корреляционных функций и т.п.), поскольку их производительность на подобных задачах выше, чем у процессоров компаний Motorola и Texas Instruments. В то же время для задач, требующих выполнения интенсивного обмена с внешними устройствами (многопроцессорные системы, различного рода контроллеры), предпочтительнее использовать процессоры Texas Instruments, обладающие высокоскоростными интерфейсными подсистемами. Компания Motorola является лидером по объему производства сигнальных микропроцессоров, большую часть из которых составляют дешевые и достаточно производительные 16- и 24-разрядные микропроцессоры с фиксированной точкой. Расширенные коммуникационные возможности, наличие достаточных объемов внутрикристальной памяти для данных и программы, возможность защиты программы от несанкционированного доступа, поддержка режима энергосбережения делают эти микропроцессоры привлекательными для использования не только в качестве специализированных вычислителей, но и в качестве контроллеров, в бытовых электронных приборах, в системах адаптивной фильтрации и т.д. Эти системы имеются во многих типах домашних и промышленных управляющих систем, таких как холодильники, автомобили и климатические системы и т.п. Решения от Motorola разработаны, чтобы отвечать увеличивающейся потребности в эффективности потребления мощности (КПД), а также легкости программирования и гибкости при проектировании электронных моторных систем. Подробнее остановимся на одном из перспективных семейств микропроцессоров фирмы Motorolla - DSP56800 - имеющим один из наилучших показателей производительность/качество/стоимость.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: