kancboom.ru

Процессор цифровой обработки сигналов. DSP по звуку. Приятные возможности Сравнение dsp

Some cookies are required for secure log-ins but others are optional for functional activities. Our data collection is used to improve our products and services. We recommend you accept our cookies to ensure you’re receiving the best performance and functionality our site can provide. For additional information you may view the . Read more about our .

The cookies we use can be categorized as follows:

Strictly Necessary Cookies: These are cookies that are required for the operation of analog.com or specific functionality offered. They either serve the sole purpose of carrying out network transmissions or are strictly necessary to provide an online service explicitly requested by you. Analytics/Performance Cookies: These cookies allow us to carry out web analytics or other forms of audience measuring such as recognizing and counting the number of visitors and seeing how visitors move around our website. This helps us to improve the way the website works, for example, by ensuring that users are easily finding what they are looking for. Functionality Cookies: These cookies are used to recognize you when you return to our website. This enables us to personalize our content for you, greet you by name and remember your preferences (for example, your choice of language or region). Loss of the information in these cookies may make our services less functional, but would not prevent the website from working. Targeting/Profiling Cookies: These cookies record your visit to our website and/or your use of the services, the pages you have visited and the links you have followed. We will use this information to make the website and the advertising displayed on it more relevant to your interests. We may also share this information with third parties for this purpose.

Сегодня уже забылись популярные в середине восьмидесятых годов среди электронщиков разговоры о степени отставания советской электроники от западной. Тогда судили о степени развития электроники по развитию процессоров к персональным компьютерам. "Железный занавес" делал свое дело, мы тогда даже не могли представить, что советская электроника отстала от западной не на год или два, а навсегда.

Простые советские инженеры, не допущенные на крупнейшие мировые профессиональные семинары по электронике и не посвященные в тайны, разведанные КГБ, могли судить о развитии электроники по программе "Время" и по голливудским фильмам десятилетней давности. После восторгов об электронных штучках Джеймсов Бондов делалось заключение, что: все это спецэффекты кинематографа; все создано на специализированных микропроцессорах (никогда не уточнялось, на каких); и что "у нас, где надо и у кого надо есть вещи и покруче". После таких глубокомысленных выводов советские инженеры с новым творческим порывом в своих НИИ продолжали создавать шедевры на 155-х ТТЛ-микросхемах, или, самые приближенные к военно-промышленному комплексу, на 133-й серии.

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

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

Сигнальные процессоры появились в начале 80-х годов. Первым широко известным сигнальным процессором стал выпущенный в 1982 году фирмой Texas Instruments ЦСП TMS32010, с производительностью в несколько MIPS (миллионов инструкций в секунду), созданный по 1,2 мкм технологии. Вслед за Texas Instruments ЦСП стали выпускать и другие фирмы. В настоящее время Texas Instruments является лидером по производству ЦСП, ей принадлежит около половины рынка этих контроллеров. Вторым по величине производителем ЦСП является компания Lucent Technologies, которая производит около трети этих устройств. Замыкают четверку лидеров Analog Devices и Motorola, имеющие примерно равную долю рынка и выпускающие вместе примерно четверть всех ЦСП. На долю остальных производителей, хотя среди них находятся такие известные фирмы, как Samsung, Zilog, Atmel и другие, приходятся оставшиеся 5-6 процентов рынка сигнальных процессоров.

Понятно, что законодателями мод среди производителей являются компании-лидеры в этой области и, в первую очередь Texas Instruments. Политика компаний лидеров при производстве и продвижении сигнальных процессоров существенно разнится.

Texas Instruments ставит задачу производства максимально широкого ассортимента, способного перекрыть все возможные применения процессоров при все большей производительности. В настоящее время производительность сигнальных процессоров достигает до 8800 MIPS, и производятся они по технологии от 0,65 мкм до 0,1 мкм. Тактовая частота достигает 1,1 ГГц.

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

Analog Devices, напротив, ведет активную маркетинговую политику и рекламную компанию, о чем свидетельствует хотя бы аббревиатура в названии ЦСП этой фирмы SHARK и Tiger SHARK (акула и тигровая акула). В технической области процессоры этой фирмы оптимизированы по энергопотреблению и для построения многопроцессорных систем.

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

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

Характеристики ЦСП-процессоров

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

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

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

Построение памяти с множественным доступом достигается, в основном, за счет применения Гарвардской архитектуры. Под Гарвардской архитектурой понимается такая архитектура, которая имеет две физически разделенные шины данных, что позволяет осуществить два доступа к памяти одновременно. Но для выполнения DSP-операций только этого недостаточно, особенно при использовании в команде двух операндов. Поэтому Гарвардская архитектура добавляется еще кэш-памятью, для хранения тех инструкций, которые будут использоваться вновь. При использовании кэш-памяти шина адреса и шина данных остаются свободными, что делает возможным выборку двух операндов. Такое расширение - Гарвардская архитектура плюс кэш - называют расширенной Гарвардской архитектурой или SHARC (Super Harvard ARChitecture).

Конкретные характеристики ЦСП рассмотрим на семействе DSP568xx компании Motorola, в которых совмещены особенности цифровых сигнальных процессоров и универсальных микроконтроллеров.

Ядро DSP56800 является программируемым 16-разрядным КМОП-процессором, предназначенным для выполнения цифровой обработки сигналов в реальном масштабе времени и решения вычислительных задач, и состоит из четырех функциональных устройств: управления, генерации адресов, АЛУ, обработки битов. Для увеличения производительности операции в устройствах выполняются параллельно. Каждое из устройств может функционировать независимо и одновременно с тремя другими, т.к. имеет свой набор регистров и логику управления. Ядро реализует одновременное выполнение нескольких действий: устройство управления выбирает первую команду, устройство генерации адресов формирует их адреса второй команды, а АЛУ выполняет умножение третьей команды. Широко используются совмещенные передачи и выполнение операций.

Встроенная память может содержать (для семейства):

Флэш-память программ до 60К

Флэш-память данных до 8К

ОЗУ-программ до 2К

ОЗУ-данных до 4К

Флэш-память программы загрузки 2К

На микрочипах семейства реализовано большое количество периферийных устройств: ШИМ-генераторы, 12-разрядные АЦП с одновременной выборкой, квадратурные декодеры, четырехканальные таймеры, контроллеры CAN-интерфейса, двухпроводные последовательные коммуникационные интерфейсы, последовательные интерфейсы, программируемый генератор с ФАПЧ для формирования тактовой частоты ядра DSP и др.

Общие характеристики

Производительность 40 MIPS при тактовой частоте 80 МГц и напряжении питания 2.7:3.6 В;

Однотактный параллельный 16х16 умножитель-сумматор;

Два 36-разрядных аккумулятора, включая биты расширения;

Однотактное 16-разрядное устройство циклического сдвига;

Аппаратная реализация команд DO и REP;

Три внутренние 16-разрядные шины данных и три 16-разрядные шины адреса;

Одна 16-разрядная шина внешнего интерфейса;

Стек подпрограмм и прерываний, не имеющий ограничения по глубине.

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

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

Насколько неожиданными могут быть применения сигнальных процессоров, мне пришлось не так давно убедиться именно на примере игрушки. Однажды ко мне обратился знакомый и попросил починить говорящую куклу, которую подарили его дочери немецкие знакомые. Кукла, и правда, была замечательной, по словам знакомого, она понимала до полусотни фраз и "сознательно" поддерживала разговор. В Германии стоила сто пятьдесят марок, что навело меня на размышления, что о поломке куклы более жалеют родители, чем их чадо. Дочурка и так любила куклу, тем более что до того как стать немой, та разговаривала на немецком языке. Без всякой надежды на успех взялся я за ремонт этой куклы. Напильником спилил эпоксидную смолу, которой была залита схема и, под толстым-толстым слоем эпоксидки, обнаружил полдесятка корпусов микросхем, центральным из которых был ЦСП к DSP56F... последние цифры, к сожалению, безвозвратно стерлись. Заставить куклу заговорить так и не удалось, и насколько добавлял ей интеллекта сигнальный процессор, я, увы, так и не определил. Как потом оказалось, старший сын моих знакомых, чтобы заставить куклу кричать погромче, вначале подсоединял к ней напряжение вместо 3 в, 4,5 вольта, что было еще не "смертельно", и игрушка хоть и хрипела, но орала, ну а после 220в... . Отсюда первый вывод - высокие технологии хороши, но не всегда и не везде. Вывод второй - вскоре, возможно, ЦСП мы сможем увидеть в кухонной посуде, обуви и одежде, по крайней мере, технических препятствий к тому нет.


Данная статья открывает серию публикаций, посвященных многоядерным цифровым сигнальным процессорам TMS320C6678. В статье дается общее представление об архитектуре процессора. Статья отражает лекционно-практический материал, предлагаемый слушателям в рамках курсов повышения квалификации по программе «Многоядерные процессоры цифровой обработки сигналов C66x фирмы Texas Instruments», проводимых в Рязанском государственном радиотехническом университете.

Цифровые сигнальные процессоры TMS320C66xх строятся по архитектуре KeyStone и представляют собой высокопроизводительные многоядерные сигнальные процессоры, работающие как с фиксированной, так и с плавающей точкой. Архитектура KeyStone – это разработанный фирмой Texas Instruments принцип изготовления многоядерных систем на кристалле, позволяющий организовывать эффективную совместную работу большого числа ядер DSP- и RISC-типов, акселераторов и устройств периферии с обеспечением достаточной пропускной способности внутренних и внешних каналов пересылки данных, основой чего являются аппаратные компоненты: Multicore Navigator (контроллер обмена данными по внутренним интерфейсам), TeraNet (внутренняя шина пересылки данных), Multicore Shared Memory Controller (контроллер доступа к общей памяти) и HyperLink (интерфейс с внешними устройствами на внутрикристальной скорости).

Архитектура процессора TMS320C6678 , наиболее высокопроизводительного процессора в семействе TMS320C66xх, изображена на Рисунке 1. Архитектура может быть разбита на следующие основные компоненты:

  • набор операционных ядер (CorePack);
  • подсистема работы с общей внутренней и внешней памятью (Memory Subsystem);
  • периферийные устройства;
  • сетевой сопроцессор (Network Coprocessor);
  • контроллер внутренних пересылок (Multicore Navigator);
  • служебные аппаратные модули и внутренняя шина TeraNet.

Рисунок 1. Общая архитектура процессора TMS320C6678

Процессор TMS320C6678 работает на тактовой частоте 1.25 ГГц. В основе функционирования процессора лежит набор операционных ядер С66х CorePack, количество и состав которых зависят от конкретной модели процессора. ЦСП TMS320C6678 включает в свой состав 8 ядер DSP-типа. Ядро является базовым вычислительным элементом и включает в свой состав вычислительные блоки, наборы регистров, программный автомат, память программ и данных. Память, входящая в состав ядра, называется локальной.

Кроме локальной памяти, есть память общая для всех ядер – общая память многоядерного процессора (Multicore Shared Memory – MSM). Доступ к общей памяти осуществляется через подсистему управления памятью (Memory Subsystem), которая также включает интерфейс внешней памяти EMIF для обмена данными между процессором и внешними микросхемами памяти.

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

Периферийные устройства включают:

  • Serial RapidIO (SRIO) версии 2.1 – обеспечивает скорость передачи данных до 5 GBaud на линию при числе линий (каналов) – до 4;
  • PCI Express (PCIe) версии Gen2 – обеспечивает скорость передачи данных до 5 GBaud на линию при числе линий (каналов) – до 2;
  • HyperLink – интерфейс внутренней шины, позволяющий коммутировать процессоры, построенные по архитектуре KeyStone, напрямую друг с другом и осуществлять обмен на внутрикристальной скорости; скорость передачи данных – до 50 Gbaud;
  • Gigabit Ethernet (GbE) обеспечивает скорости передачи: 10/100/1000 Mbps и поддерживается аппаратным акселератором сетевых коммуникаций (сетевым сопроцессором);
  • EMIF DDR3 – интерфейс внешней памяти типа DDR3; имеет разрядность шины 64 бита, обеспечивающую адресуемое пространство памяти до 8 Гбайт;
  • EMIF – интерфейс внешней памяти общего назначения; имеет разрядность шины 16 бит и может использоваться для подключения 256MB NAND Flash или 16MB NOR Flash;
  • TSIP (Telecom Serial Ports) – телекоммуникационный последовательный порт; обеспечивает скорости передачи до 8 Mбит/с на одну линию при числе линий – до 8;
  • UART – универсальный асинхронный последовательный порт;
  • I2C – шина внутренней связи;
  • GPIO – ввод-вывод общего назначения – 16 выводов;
  • SPI – универсальный последовательной интерфейс;
  • Таймеры (Timers) – используются для генерации периодических событий.
Служебные аппаратные модули включают в себя:
  • модуль отладки и трассировки (Debug and Trace) – позволяет получать отладочным инструментальным средствам доступ к внутренним ресурсам работающего процессора;
  • загрузочное ПЗУ (boot ROM) – хранит программу начальной загрузки;
  • аппаратный семафор (semaphore) – служит для аппаратной поддержки организации совместного доступа параллельных процессов к общим ресурсам процессора;
  • модуль управления питанием – реализует динамическое управление режимами питания компонентов процессора с целью минимизации энергозатрат в моменты, когда процессор работает не в полную мощь;
  • схема ФАПЧ – формирует внутренние тактовые частоты процессора из внешнего опорного тактирующего сигнала;
  • контроллер прямого доступа в память (EDMA) – управляет процессом пересылки данных, разгружая операционные ядра ЦСП и являясь альтернативой Multicore Navigator.
Контроллер внутренних пересылок (Multicore Navigator) представляет собой мощный и эффективный аппаратный модуль, отвечающий за арбитраж передачи данных между различными компонентами процессора. Многоядерные системы на кристалле TMS320C66xx являются весьма сложными устройствами и, чтобы организовать обмен информацией между всеми компонентами такого устройства, необходим специальный аппаратный блок. Multicore Navigator позволяет ядрам, периферийным устройствам, хост-устройствам не брать на себя функции управления обменом данными. Когда какому-либо компоненту процессора необходимо переслать массив данных на другой компонент, он просто указывает контроллеру, что и куда нужно передать. Все функции по самой пересылке и синхронизации отправителя и получателя берет на себя Multicore Navigator.

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

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

1. Multicore Programming Guide / SPRAB27B - August 2012;
2. TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual / SPRS691C - February 2012.

Рассмотрим теперь функцию x = f(t) , представляющую собой некоторое звуковое или какое-либо иное колебание. Пусть это колебание описано графиком на временном интервале (рис. 16.2).

Для обработки этого сигнала в компьютере нужно выполнить его дискретизацию. С этой целью временной интервал делится на N-1 частей


Рис. 16.2.

и сохраняются значения функции x 0 , x 1 , x 2 , ..., x N-1 для N точек на границах интервалов.

В результате прямого дискретного преобразования Фурье могут быть получены N значений для X k согласно (16.1).

Если теперь применить обратное дискретное преобразование Фурье , то получится исходная последовательность {x n } . Исходная последовательность состояла из действительных чисел, а последовательность {X k } в общем случае комплексная. Если приравнять нулю ее мнимую часть, то получим:

(16.8)

Сопоставив эту формулу с формулами (16.4) и (16.6) для гармоники, увидим, что выражение (16.8) представляет собой сумму из N гармонических колебаний разной частоты, фазы и амплитуды. То есть физический смысл дискретного преобразования Фурье состоит в том, чтобы представить некоторый дискретный сигнал в виде суммы гармоник. Параметры каждой гармоники вычисляются прямым преобразованием Фурье, а сумма гармоник - обратным.

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

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

Обработка заключается в формировании выходного сигнала Y[k] по значениям N последних входных отсчетов x[k] , которые поступают на вход устройства через определенный интервал времени Т . Принятые отсчеты сохраняются в ячейках циклического буфера. При приеме очередного отсчета содержимое всех ячеек буфера переписывается в соседнюю позицию, самый старый отсчет покидает буфер , а новый записывается в его младшую ячейку.

Аналитически алгоритм работы нерекурсивного фильтра записывается как:

(16.9)

где a i - коэффициенты , определяемые типом фильтра.

Отсчеты с выходов элементов буфера поступают на умножители, на вторые входы которых поступают коэффициенты a i . Результаты произведений складываются и формируют отсчет выходного сигнала Y[k] , после чего содержимое буфера сдвигается на 1 позицию и цикл работы фильтра повторяется. Выходной сигнал Y[k] должен быть вычислен до поступления следующего входного сигнала, то есть за интервал T. В этом заключается суть работы устройства в реальном масштабе времени. Интервал времени T задается частотой дискретизации , которая определяется областью применения фильтра. По следствию из теоремы Котельникова в дискретном сигнале период, соответствующий наивысшей представимой частоте, соответствует двум периодам дискретизации . При обработке звукового сигнала частоту дискретизации можно принять в 40 кГц. В этом случае если необходимо реализовать цифровой нерекурсивный фильтр 50-го порядка, то за время в 1/40 кГц = 25 мкс должно быть выполнено 50 умножений и 50 накоплений результатов умножения. Для обработки видеосигнала интервал времени, за который должны быть выполнены эти действия, будет на несколько порядков меньше.

Если выполнять ДПФ входной последовательности напрямую, строго по исходной формуле, то потребуется много времени. Посчитав по определению (N раз суммировать N слагаемых), получаем величину порядка N 2 .

Тем не менее, можно обойтись существенно меньшим числом операций.

Наиболее популярным из алгоритмов ускоренного вычисления ДПФ является метод Кули-Тьюки (Cooley-Tukey), позволяющий вычислить ДПФ для числа отсчетов N = 2k за время порядка N*log 2 N (отсюда и название - быстрое преобразование Фурье , БПФ, или в английском варианте FFT - Fast Fourier TRansformation ). Основная идея этого метода заключается в рекурсивном разбиении массива чисел на два подмассива и сведении вычисления ДПФ от целого массива к вычислению ДПФ от подмассивов в отдельности. При этом процесс разбиения исходного массива на подмассивы проводится по методу побитовой обратной сортировки (bit- reversal sortINg ).

Сначала входной массив делится на две подмассива - с четными и нечетными номерами. Каждый из подмассивов перенумеровывается и снова делится на два подмассива - с четными и нечетными номерами. Эта сортировка продолжается до тех пор, пока размер каждого подмассива не достигнет 2 элементов. В результате (что можно показать математически) номер каждого исходного элемента в двоичной системе переворачивается. То есть, например, для однобайтных номеров двоичный номер 00000011 станет номером 110000000, номер 01010101 - номером 10101010.

Существуют алгоритмы БПФ для случаев, когда N является степенью произвольного простого числа (а не только двойки), а также в случае, когда число N является произведением степеней простых чисел любого числа отсчетов. Однако БПФ, реализованное по методу Кули-Тьюки для случая N = 2k, получило наиболее широкое распространение. Причина этого в том, что алгоритм , построенный по этому методу, обладает рядом очень хороших технологических свойств:

  • структура алгоритма и его базовые операции не зависят от числа отсчетов (меняется только число прогонов базовой операции);
  • алгоритм легко распараллеливается с использованием базовой операции и конвейеризуется, а также легко каскадируется (коэффициенты БПФ для 2N отсчетов могут быть получены преобразованием коэффициентов двух БПФ по N отсчетов, полученных "прореживанием" исходных 2N отсчетов через один);
  • алгоритм прост и компактен, допускает обработку данных "на месте" и не требует дополнительной оперативной памяти.

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

Все это приводит к тому, что DS P-процессоры, архитектурно включая в себя многие черты как универсальных микропроцессоров, особенно с RISC-архитектурой , так и однокристальных микроконтроллеров , в то же время значительно отличаются от них. Универсальный микропроцессор помимо чисто вычислительных операций выполняет функцию объединяющего звена всей микропроцессорной системы , в частности компьютера.

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

В то же время DSP-процессор является узкоспециализированным устройством. Его единственная задача - быстро обрабатывать поток цифровых сигналов. Он состоит главным образом из высокоскоростных аппаратных схем, выполняющих арифметические функции и манипулирующих битами, оптимизированных таким образом, чтобы быстро обрабатывать большие объемы данных. В силу этого набор команд у DSP куда меньше, чем у универсального микропроцессора: их число обычно не превышает 80. Это значит, что для DSP требуется облегченный декодер команд и гораздо меньшее число исполнительных устройств. Кроме того, все исполнительные устройства в конечном итоге должны поддерживать высокопроизводительные арифметические операции . Таким образом, типичный DSP-процессор состоит не более чем из нескольких сот тысяч (а не десятков миллионов, как в современных CISC -МП) транзисторов . В силу этого такие МП потребляют меньше энергии, что позволяет использовать их в продуктах, работающих от батарей. Крайне упрощается их производство, поэтому они находят себе применение в недорогих устройствах. Сочетание низкого энергопотребления и невысокой стоимости позволяет использовать их не только в высокой сфере телекоммуникаций , но и в сотовых телефонах и роботах-игрушках.

Отметим основные особенности архитектуры процессоров цифровой обработки сигналов :

  1. Гарвардская архитектура , основу которой составляет физическое и логическое разделение памяти команд и памяти данных. Ключевые команды DSP-процессора являются многооперандными, и ускорение их работы требует одновременного чтения нескольких ячеек памяти. Соответственно на кристалле имеются раздельные шины адреса и данных (в некоторых типах процессоров - несколько шин адреса и данных). Это позволяет совмещать во времени выборку операндов и исполнение команд. Использование модифицированной гарвардской архитектуры предполагает, что операнды могут храниться не только в памяти данных, но и в памяти команд вместе с программами. Например, в случае реализации цифровых фильтров коэффициенты могут храниться в памяти программ, а значения данных - в памяти данных. Поэтому коэффициент и данные могут выбираться в одном машинном цикле. Для обеспечения выборки команды в том же машинном цикле используется либо кэш- память программ , либо двукратное обращение к памяти программ за время машинного цикла.
  2. Для сокращения времени выполнения одной из основных операций цифровой обработки сигнала - умножения - применяется аппаратный умножитель. В процессорах общего назначения эта операция реализуется за несколько тактов сдвига и сложения и занимает много времени, а в DSP-процессорах благодаря специализированному умножителю нужен всего один цикл. Встроенная схема аппаратного умножения позволяет выполнить за 1 такт основную операцию ЦОС - умножение с накоплением ( MultIPly - Accumulate - MAC ) для 16- и/или 32-разрядных операндов.
  3. Аппаратная поддержка циклических буферов. Например, для фильтра, представленного на рис. 16.3 , при каждом вычислении отсчета выходного сигнала используется новый отсчет входного сигнала, который сохраняется в памяти на месте самого старого. Для такого циркулирующего буфера может использоваться фиксированная область ОЗУ . При этом во время вычислений генерируются лишь последовательные значения адресов ОЗУ вне зависимости от того, какая операция - запись или чтение - выполняется в настоящий момент. Аппаратная реализация циклических буферов позволяет установить параметры буфера (адрес начала, длина) в программе вне тела цикла фильтрации, что позволяет сократить время выполнения циклического участка программы.
  4. Сокращение длительности командного такта. Это во многом обеспечивается приемами, характерными для RISC -процессоров. Главными из них являются размещение операндов большинства команд в регистрах, а также конвейеризация на уровне команд и микрокоманд . Конвейер имеет от 2 до 10 ступеней, что позволяет на различных стадиях выполнения одновременно обрабатывать до 10 команд. При этом используется генерация адресов регистров параллельно с выполнением арифметических операций, а также многопортовый доступ к памяти. Сюда же можно отнести и такой прием, характерный для универсальных микропроцессоров с EPIC-архитектурой , как применение команд со сверхбольшой длиной слова ( VLIW ), генерируемых на стадии компиляции программы. Этому же служит и рассмотренная выше гарвардская архитектура процессора, характерная для однокристальных микроконтроллеров.
  5. Наличие на кристалле процессора внутренней памяти, что роднит ЦСП с однокристальными МК. Встроенная в процессор память обычно имеет значительно большее быстродействие, чем внешняя. Наличие встроенной памяти позволяет значительно упростить систему в целом, уменьшить ее размеры, энергопотребление и стоимость. Емкость внутренней памяти является результатом определенного компромисса. Ее увеличение ведет к удорожанию процессора и увеличивает энергопотребление, а ограниченная емкость памяти программ не позволяет хранить сложные алгоритмы. Большинство DS P-процессоров с фиксированной точкой имеют малую емкость внутренней памяти, обычно от 4 до 256 Кбайт, и невысокую разрядность внешних шин данных , связывающих процессор с внешней памятью. В то же время ЦСП с плавающей точкой обычно предполагают работу с большими массивами данных и сложными алгоритмами и имеют либо встроенную память большой емкости, либо большую разрядность адресных шин для подключения внешней памяти (а иногда и то, и другое).
  6. Широкие возможности по аппаратному взаимодействию с внешними устройствами, включающие:
    • большое разнообразие интерфейсов, в том числе контроллеры локальной промышленной сети CAN, встроенные коммуникационные ( SCI ) и периферийные ( SPI ) интерфейсы, I2C , UART ;
    • несколько входов для аналоговых сигналов и, соответственно, встроенный АЦП ;
    • выходные каналы широтно-импульсной модуляции (ШИМ);
    • развитую систему внешних прерываний;
    • контроллеры прямого доступа в память.
  7. В некоторых DSP -семействах предусмотрены специальные аппаратные средства, облегчающие создание мультипроцессорных систем с параллельной обработкой данных для наращивания производительности.
  8. DSP -процессоры широко используются в мобильных устройствах, где потребляемая мощность является основной характеристикой. Для снижения энергопотребления в сигнальных процессорах применяется множество методов, в том числе уменьшение напряжения питания и введение функций управления потреблением, например, динамическое изменение тактовой частоты , переключение в спящий или дежурный режим либо отключение не используемой в данный момент периферии . Следует отметить, что эти меры оказывают значительное воздействие на скорость работы процессора и при некорректном использовании могут привести к неработоспособности проектируемого устройства (в качестве примера можно упомянуть некоторые сотовые телефоны, которые в результате ошибок в программах управления сокращенного набора команд , в DSP -процессорах применяются и такие характерные для MMX -обработки аппаратно поддерживаемые инструкции, как команды поиска минимума и максимума, получения абсолютного значения, сложения с насыщением, при котором в случае переполнения при сложении двух чисел результату присваивается максимально возможное в данной разрядной сетке значение . Это ведет к уменьшению количества конфликтов в конвейере и повышает эффективность работы процессора.

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

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

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

65 нанометров - следующая цель зеленоградского завода «Ангстрем-Т», которая будет стоить 300-350 миллионов евро. Заявку на получение льготного кредита под модернизацию технологий производства предприятие уже подало во Внешэкономбанк (ВЭБ), сообщили на этой неделе «Ведомости» со ссылкой на председателя совета директоров завода Леонида Реймана. Сейчас «Ангстрем-Т» готовится запустить линию производства микросхем с топологией 90нм. Выплаты по прошлому кредиту ВЭБа, на который она приобреталась, начнутся в середине 2017 года.

Пекин обвалил Уолл-стрит

Ключевые американские индексы отметили первые дни Нового года рекордным падением, миллиардер Джордж Сорос уже предупредил о том, что мир ждет повторение кризиса 2008 года.

Первый российский потребительский процесор Baikal-T1 ценой $60 запускают в массовое производство

Компания «Байкал Электроникс» в начале 2016 года обещает запустить в промышленное производство российский процессор Baikal-T1 стоимостью около $60. Устройства будут пользоваться спросом, если этот спрос создаст государство, говорят участники рынка.

МТС и Ericsson будут вместе разрабатывать и внедрять 5G в России

ПАО "Мобильные ТелеСистемы" и компания Ericsson заключили соглашения о сотрудничестве в области разработки и внедрения технологии 5G в России. В пилотных проектах, в том числе во время ЧМ-2018, МТС намерен протестировать разработки шведского вендора. В начале следующего года оператор начнет диалог с Минкомсвязи по вопросам сформирования технических требований к пятому поколению мобильной связи.

Сергей Чемезов: Ростех уже входит в десятку крупнейших машиностроительных корпораций мира

Глава Ростеха Сергей Чемезов в интервью РБК ответил на острые вопросы: о системе «Платон», проблемах и перспективах АВТОВАЗа, интересах Госкорпорации в фармбизнесе, рассказал о международном сотрудничестве в условиях санкционного давления, импортозамещении, реорганизации, стратегии развития и новых возможностях в сложное время.

Ростех "огражданивается" и покушается на лавры Samsung и General Electric

Набсовет Ростеха утвердил "Стратегию развития до 2025 года". Основные задачи – увеличить долю высокотехнологичной гражданской продукции и догнать General Electric и Samsung по ключевым финансовым показателям.

Загрузка...