• Процессоры цифровой обработки сигналов. DSP – персональный компьютер: не может быть

    Цифровые сигнальные процессоры (ЦСП) – это особый вид микропроцессорной техники, предназначенный для работы в реальном времени. Области применения ЦСП:

    Цифровая фильтрация сигналов,

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

    Спектральный анализ сигналов,

    Кодирование и декодирование информации,

    Распознавание и синтез речи, синтез и обработка музыки,

    Обработка изображений,

    Компьютерная графика, синтез изображений,

    Измерительная техника.

    Главной отличительной особенностью ЦСП является большой объем вычислений, выполняемый в реальном времени. Это определяет следующие отличительные особенности ЦСП:

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

    Короткие команды, реализуемые в конвейерных устройствах, обуславливают RISC архитектуру ЦСП,

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

    Наличие специальных команд обработки сигналов. Например, в семействе процессоров TMS320 фирмы Texas Instruments имеется команда dmov, которая добавляет новый отсчет сигнала к выборке, сдвигая остальные отсчеты на один квант времени, команда LTD загружает множимое в регистр умножителя, осуществляет сдвиг отсчетов сигнала и складывает результат предыдущего умножения с содержимым аккумулятора.

    За свою историю развития с начала 80-х годов прошлого века сменилось несколько поколений ЦСП, но ряд ЦСП предыдущих поколений в современном исполнении продолжают выпускаться из-за удачной архитектуры. ЦСП первого поколения TMS32010 разработан фирмой Texas Instruments в 1982 году. Это 16-разрядный микропроцессор с производительностью 5 миллионов команд в секунду (MIPS) имел внутреннее ОЗУ 144-256 слов, ПЗУ 1,5 - 4К слов. АЛУ и аккумулятор 32 разрядные, аппаратный умножитель 16х16 – результат 32 разряда, имелись порты ввода – вывода.



    ЦСП второго поколения появились в середине 80-х годов. Это TMS32020, КМОП микропроцессор TMS320C25 с производительностью 10 MIPS. Наиболее интересны ЦСП DSP56000 и DSP56001 производительностью 10 и 25 MIPS соответственно. Их разработала фирма Motorola. Это единственные 24-разрядные ЦСП. Модификации ЦСП такой архитектуры до сих пор выпускаются. Архитектура DSP56001 показана на рис. 7.1. Процессор имеет расширенную гарвардскую архитектуру. ОЗУ данных X и Y имеют отдельные шины адреса YA, XA и данных XD, YD. Кроме того, отдельная шина адреса PA применена для адресации ПЗУ загрузки и ОЗУ программ, имеющих и отдельную шину данных PD. Шина данных GD используется для загрузки программ из host-компьютера по синхронному последовательному интерфейсу. Кроме того, GD используется для обслуживания прерываний от программируемого контроллера прерываний. Блоки коммутации могут передавать данные и адреса между этими шинами, а блоки коммутации внешних шин позволяют выводить из кристалла любую из шин. Генератор управляющих сигналов формирует внешние сигналы управления. К тактовому генератору подключается внешний кварц и он тактирует всю схему.

    Рис. 7.1. Архитектура DSP56001

    В ПЗУ X и Y записаны отсчеты синуса и косинуса, что позволяет проводить квадратурный прием и обработку. В настоящее время такой ЦСП наиболее часто используется при обработке и синтезе звука.

    ЦСП третьего поколения появились на рубеже 80 – 90 годов. Это TMS320C30 - TI, DSP96002 – Motorola, DSP32C AT&T Microelectronics. Особенности этих процессоров – они 32 разрядные, в одном АЛУ могут выполнять целочисленные вычисления и с плавающей точкой, имеют расширенную гарвардскую архитектуру, наличие таймеров и портов ввода – вывода. Модификация ЦСП TMS320C30 выпускается и до настоящего времени – это TMS320VC33-120 и -150. Производительность TMS320VC33-150 150 миллионов операций с плавающей точкой в секунду (MFLOPS).

    Его основные параметры:

    ОЗУ 34K 32 разрядных слов с двумя параллельными шинами доступа,

    Тактовый генератор с возможностью умножения внутренней частоты,

    32 разрядное ядро плавающей точки,

    4 строба выборки внешних устройств,

    Контроллер прерываний,

    Начальный загрузчик,

    8 40-разрядных регистров повышенной точности,

    Один последовательный порт,

    Два таймера,

    сопроцессор прямого доступа к памяти (ПДП),

    144 выводный корпус LQFP.

    ЦСП четвертого поколения разрабатывались в 90 –е годы. Здесь произошло разделение ЦСП на относительно дешевые 16-разрядные ЦСП с фиксированной точкой и дорогие производительные 32- 40 разрядные ЦСП с плавающей точкой. ЦСП с фиксированной точкой стали использоваться в связной аппаратуре, модемах, звуковых мультимедийных устройствах, обработке сигналов, среди фирм разработчиков таких ЦСП известны семейства фирмы Analog Devices ADSP. ЦСП с плавающей точкой – для обработки широкополосных сигналов, изображений, в компьютерной графике. Типичным представителем ЦСП с плавающей точкой является TMS320C40 – TI. Архитектура этого ЦСП показана на рис. 7.2. Производительность этого процессора 275 MIPS. Главной особенностью его архитектуры является наличие шины ввода – вывода по прямому доступу в память с сопроцессором. Она предназначена для скоростного обмена через коммуникационные порты 0 – 5 с другими процессорами, образующими MIMD архитектуру. Каждый порт имеет 8 бит данных и 4 сопровождающих сигнала с пропускной способностью 20 Мб/с.


    Рис. 7.2. Архитектура TMS320C40

    На рис. 7.3 показан вариант топологии связей процессоров.

    Рис. 7.3. Топология связей ЦСП

    ЦСП пятого и шестого поколений разрабатывались в начале 21 века. Здесь следует отметить разработки фирмы TI – процессоры семейств С5000 и С6000. Семейство С5000 представляет собой семейство дешевых ЦСП с фиксированной точкой, высоким быстродействием и пониженным потреблением 0,9 В, а С6000 – ЦСП с фиксированной и плавающей точкой с производительностью до 1200 MFLOPS.. Некоторые параметры семейства TMS320C55x:

    Потребление 0,05 мВ/MIPS,

    Производительность 140 – 800 MIPS, включая операции умножения,

    Переменная длина команд 8 – 48 бит,

    2 умножителя, 2 АЛУ, 4 аккумулятора,

    4 регистра данных,

    Выборка команд – по 32 разряда.

    В настоящее время ЦСП применяются совместно с программируемой логикой. Средства отладки аппаратуры на основе ЦСП и программируемой логики подразделяются на две категории:

    Программная поддержка для формирования и отладки машинного кода обработки сигналов в ЦСП (средства генерации кода),

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

    Эти два вида отладки обычно выполняются разными разработчиками с перекрытием по времени, что ускоряет процесс проектирования и изготовления аппаратуры. На рис. 7.4 приведена структура процесса отладки аппаратуры с ЦСП и программируемой логикой.

    Рис. 7.4. Процесс разработки аппаратуры на ЦСП и ПЛИС

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

    Каковы особенности развития аппаратуры на основе ЦСП и программируемой логики?

    1. Развитие различных параллельных архитектур обработки как в ЦСП, так и в программируемой логике.

    2. Развитие соответствующих отладочных средств на основе эмуляторов, симуляторов и интерфейсов тестирования, подобных JTAG.

    3. Комбинирование внутри одного кристалла ЦСП и программируемой логики, например в TMS320C54x.

    4. Развитие эффективности оптимизирующих компиляторов языков высокого уровня типа С до уровня, чтобы не требовалось ассемблерных вставок в программы.

    5. Развитие гетерогенных аппаратных систем на одном кристалле, включающих в себя различные типы микропроцессоров, включая и ЦСП, и оснащение их параллельными многопроцессорными операционными системами реального времени.


    Список литературы

    1. Супер ЭВМ. Аппаратная и программная организация/ Под ред. С. Фернбаха: Пер. с англ. – М.: Радио и связь, 1991.

    2. Хокни Р., Джессоуп К. Параллельные ЭВМ. Архитектура, программирование и алгоритмы: Пер. с англ.-М.: Радио и связь, 1986.

    3. Коуги П.М. Архитектура конвейерных ЭВМ: Пер. с англ.-М.: Радио и связь, 1985.

    4. Параллельные вычисления/ Под ред. Г.Родрига: Пер. с англ.-М.: Наука, 1986.

    5. Пухальский Г.И., Новосельцева Т.Я. Проектирование дискретных устройств на интегральных микросхемах: Справочник. – М.: Радио и связь, 1990.

    6. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. - М: ДОДЭКА, 2000.

    7. КнышевД.А. ПЛИС фирмы “XILINX ”: описание структуры основных семейств. - М: ДОДЭКА-XXI, 2001.

    8. Сикарев А.А., Лебедев О.Н. Микроэлектронные устройства формирования и обработки сложных сигналов. - М.: Радио и связь, 1983.

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

    Простые советские инженеры, не допущенные на крупнейшие мировые профессиональные семинары по электронике и не посвященные в тайны, разведанные КГБ, могли судить о развитии электроники по программе "Время" и по голливудским фильмам десятилетней давности. После восторгов об электронных штучках Джеймсов Бондов делалось заключение, что: все это спецэффекты кинематографа; все создано на специализированных микропроцессорах (никогда не уточнялось, на каких); и что "у нас, где надо и у кого надо есть вещи и покруче". После таких глубокомысленных выводов советские инженеры с новым творческим порывом в своих НИИ продолжали создавать шедевры на 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в... . Отсюда первый вывод - высокие технологии хороши, но не всегда и не везде. Вывод второй - вскоре, возможно, ЦСП мы сможем увидеть в кухонной посуде, обуви и одежде, по крайней мере, технических препятствий к тому нет.


    27 июня 2017 в 12:27

    Многоядерный DSP TMS320C6678. Обзор архитектуры процессора

    • Программирование микроконтроллеров

    Данная статья открывает серию публикаций, посвященных многоядерным цифровым сигнальным процессорам 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.

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


    Рисунок 1. Классификация микропроцессоров

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

    1. суммирование нескольких сигналов;
    2. перенос спектра сигналов;
    3. фильтрация сигналов;
    4. вычисление спектра сигнала (быстрое преобразование Фурье);
    5. помехоустойчивое кодирование (подавление шума для аналоговых систем связи);
    6. формирование кадров (только для цифровых систем связи)
    7. скремблирование сигнала (формирование одинаковой вероятности передачи нулей и единиц)

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

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

    Теперь проанализируем процесс фильтрации сигналов. При реализации частотных фильтров во временной области приходится осуществлять операцию свёртки. Типовая схема цифрового фильтра приведена на рисунке 2.



    Рисунок 2. Типовая схема цифрового фильтра

    Из рисунка явно прослеживается последовательность одинаковых участков алгоритма. Многократно приходится умножать цифровой отсчет сигнала на коэфициент фильтра и суммировать результат с предыдущей суммой. При этом следует отметить такую особенность сумматора, как большая разрядность. Для 16-разрядного сигнального процессора разрядность чисел на выходе умножителя будет равна тридцатидвум разрядам. При суммировании нескольких чисел тоже увеличивается разрядность результата. При суммировании 256 одинаковых чисел значение результата увеличится в 256 раз, что соответствует увеличению разрядности числа на восемь разрядов (2 8 =256). Поэтому разрядность сумматора в 16-разрядном сигнальном процессоре будет равна сорока разрядам (32+8=40).

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

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

    Еще одной важной особенностью микропроцессоров является способ организации циклического выполнения программы (операция умножения-накопления MAC при реализации цифрового фильтра или операция "бабочка" при реализации быстрого преобразования Фурье должны повторяться заданное количество раз). В вычислительном микропроцессоре для организации цикла используется особая переменная — параметр цикла. В конце цикла эта переменная сравнивается с заданным значением (обычно с нулем) и осуществляется переход на начало цикла. В результате алгоритм фильтрации будет выглядеть следующим образом:

    1. Сформировать адрес очередной ячейки линии задержки фильтра
    2. Считать очередной отсчет входного сигнала из линии задержки фильтра
    3. Сформировать адрес очередного коэффициента фильтра
    4. Считать очередной коэффициент фильтра
    5. Умножить отсчет входного сигнала из линии задержки на коэффициент фильтра (чаще всего за несколько машинных циклов)
    6. Просуммировать результат с уже накопленной суммой (сформировать очередной отсчет сигнала на выходе фильтра)
    7. Изменить значение переменной-параметра цикла
    8. Сравнить полученное значение с заданной величиной
    9. Перейти на начало цикла или выйти из него (обычно это длительная процедура, занимающая несколько машинных циклов)

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

    1. Наличие аккумулятора-накопителя MAC с 40-разрядным сумматором и аккумулятором
    2. Наличие аппаратного сдвигателя чисел
    3. Наличие аппаратной организации цикла
    4. Наличие двух формирователей адреса
    5. Трехшинная структура операционного блока микропроцессора

    Литература:

    Вместе со статьей "Особенности сигнальных процессоров" читают:

    В начало

    Цифровые процессоры обработки сигналов (Лекция)

    ПЛАН ЛЕКЦИИ

    1. Общая структура цифровой обработки сигналов

    2. Структура процессоров цифровой обработки сигналов

    3. Основные показатели процессоров цифровой обработки сигналов

    4. Основные производители сигнальных процессоров

    5. Аппаратная реализация

    1. Общая структура цифровой обработки сигналов

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

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

    Кодер формирует последовательность чисел, соответствующую обрабатываемому аналоговому сигналу.

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

    На вход системы поступает ограниченный по длительности сигнал x (t ). В силу конечной длительности сигнала его спектр бесконечен.

    Аналого-цифровое преобразование осуществляется в два этапа: дискретизации по времени и квантования по уровню.

    Дискретизация – это процедура взятия мгновенных значений сигнала x (t ) через равные промежутки времени Т. Мгновенные значения x (n Т) называются выборками, время Т – период дискретизации, а n - указывает порядковый номер отсчета. Чем чаще брать отсчеты, тем меньше период дискретизации Т, тем точнее последовательность отсчетов x (n Т) будет изображать исходный сигнал x (t ).

    Период дискретизации Т определяет частоту дискретизации:

    f д =;Т =

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

    Однако существует ограничениена минимальное значение f д : для полного восстановления сигнала по его отсчетам x (n Т) нужно, чтобы частота дискретизации f д была, как минимум, в два раза больше наивысшей частоты F в в спектре передаваемого сигнала x (t ).

    f д 2F в; Т ≤

    Отсюда следует, что при бесконечном спектре, когда F → ∞, дискретизация невозможна.

    Тем не менее, в спектре любого конечного сигнала есть такие высшие составляющие, которые, начиная с некоторой верхней частоты f в, имеют незначительные амплитуды, и потому ими можно пренебречь без заметного искажения самого сигнала. Значение f в определяется конкретным типом сигнала и решаемой задачей. Например: для стандартного телефонного сигнала f в = 3,4 кГц, минимальная стандартная частота его дискретизации f д = 8 кГц. Ограничение спектра до частоты F = f в осуществляется фильтром нижних частот ФНЧ.

    Квантование отсчетов по уровням (квантование) – производится с целью формирования последовательности чисел: весь диапазон изменения величины отсчетов разбивается на некоторое количество дискретных уровней, и каждому отсчету по определенному правилу присваивается значение одного из двух ближайших уровней квантования, между которыми оказывается данный отсчет. В результате получается последовательность чисел x (n Т) = x (n ), представляемых в двоичном коде. Количество уровней определяется разрядностью АЦП. Например: Если разрядность АЦП = 3, то всего можно иметь к = 2 3 = 8 уровней квантования, а минимальное значение отсчета равно 0 (000), а максимальное значение отсчета равно 7 (111). Ясно, что квантованный отсчет отличается от выборки x (n Т). Это отличие выражается ошибкой квантования:

    ,

    которая тем больше, чем меньше разрядность АЦП.

    После АЦП последовательность x (n Т) = x (n ) поступает на сигнальный процессор (СП), который по заданному алгоритму каждому отсчету x (n ) ставит в однозначное соответствие выходной отсчет y (n Т) = y (n ).

    Количество операций (умножений, сложений и т.д.) для получения одного отсчета может исчисляться тысячами, поэтому сигнальный процессор должен работать на более высокой частоте F г, чтобы успеть произвести все необходимые действия до поступления очередного отсчета x (n ), то есть какой бы сложности не был алгоритм, время переработки t пер не должно превышать периода дискретизации T :

    t пер ≤ T

    Но это может быть обеспечено лишь в случае, когда тактовая частота f T вычислителя существенно превышает частоту дискретизации f д :

    f д << f T

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

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

    Основные задачи (алгоритмы) сигнальных процессоров:

    1.)Цифровая фильтрация

    Цифровая фильтрация – это селекция по частоте, то есть какие то частоты пропускать, а какие то нет. За цифровой фильтрацией стоит Z- преобразование, свертка.

    2.) Спектроскопи

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

    3.) Идентификация сигналов

    Идентификация сигналов – это выделение сигналов на фоне частот и помех для того, чтобы удостовериться, что это сигнал, а не помеха. Здесь производится корреляционный анализ.

    Корреляция – это степень совпадения двух функций.

    4.) Модуляция и демодуляция.

    За модуляцией и демодуляцией стоит аппаратное, математическое преобразование Гильберта.

    Пример: демодуляция однополосного сигнала, который получается выделением одной из боковых полос амплитудно-модулированного сигнала. Результатом демодуляции является низкочастотный сигнал, представляющий собой огибающую узкополосного сигнала. Демодулированный сигнал x (n ) можно представить в комплексном виде:

    ;;, где

    Мнимый сигнал;

    x (n ) – вещественный сигнал;

    s (n ) – огибающая сигнала x (n ).

    Из формул видно, что x (n ) инаходятся в квадратуре относительно друг друга, то есть их фазы отличаются на π /2. Следовательно, необходимо иметь фазовращатель на π /2. Такие сигналы называются сопряженными по Гильберту, а устройство, формирующее пару сопряженных сигналов, называется цифровым преобразователем Гильберта (ЦПГ), который позволяет организовать вычисление огибающей s (n ) сигнала x (n ).

    5) Сжатие, растяжение, перенос спектра

    За сжатием, растяжением, переносом спектра стоит то же самое преобразование Гильберта. Считаются одним из модификаций модуляции и демодуляции.

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

    , где n = 0, 1, 2, … , N -1

    x ( n ) – отсчеты воздействия;

    y ( n ) – отсчеты реакции;

    b к - вещественные коэффициенты, полностью определяющие свойства цифровых фильтров;

    x ( n -к) - отсчеты воздействия, задержанные на к периодов дискретизации T .

    Фильтр, описываемый данным выражением, называется нерекурсивным , или КИХ-фильтром (фильтром с конечной импульсной характеристикой).

    Пример : Нужно сделать дискретизацию за определенное время, а не вообще. Пусть частота дискретизации f д = 48 кГц (округлим до 50 кГц). Нужно сделать дискретизацию за 20 мкс. Возьмем N = 5 и распишем формулу:

    y 0 = b 0 x ( 0 - 0) + b 1 x (0 - 1) + b 2 x (0 - 2) + b 3 x (0 - 3) + b 4 x (0 - 4) = b 0 x 0 + b 1 x - 1 + b 2 x - 2 + b 3 x - 3 + b 4 x – 4

    y 1 = b 0 x ( 1 - 0) + b 1 x (1 - 1) + b 2 x (1 - 2) + b 3 x (1 - 3) + b 4 x (1 - 4) = b 0 x 1 + b 1 x 0 + b 2 x - 1 + b 3 x - 2 + b 4 x – 3

    y 2 = b 0 x ( 2 - 0) + b 1 x (2 - 1) + b 2 x (2 - 2) + b 3 x (2 - 3) + b 4 x (2 - 4) = b 0 x 2 + b 1 x 1 + b 2 x 0 + b 3 x - 1 + b 4 x – 2

    y 3 = b 0 x ( 3 - 0) + b 1 x (3 - 1) + b 2 x (3 - 2) + b 3 x (3 - 3) + b 4 x (3 - 4) = b 0 x 3 + b 1 x 2 + b 2 x 1 + b 3 x 0 + b 4 x – 1

    y 4 = b 0 x ( 4 - 0) + b 1 x (4 - 1) + b 2 x (4 - 2) + b 3 x (4 - 3) + b 4 x (4 - 4) = b 0 x 4 + b 1 x 3 + b 2 x 2 + b 3 x 1 + b 4 x 0

    y 5 = записывается как y 0.

    Примечание: x 0 – это отсчет показания АЦП в данный момент времени. Если отсчет показания АЦП с отрицательным знаком, то это означает, что отсчет – предшествующий. Для вычисления y 0 нужно использовать текущее показание АЦП и четыре предшествующих ему показаний, а для вычисления y 1 нужно использовать x 1 и четыре предшествующих ему показаний и т.д.

    2. Структура процессоров цифровой обработки сигналов

    Базовой операцией цифровой обработки сигналов является операция умножения и добавление (накопление) результата умножения. Устройство комбинированного сложения и умножения часто обозначают при описаниях мнемоникой МАС (Multiplier-Adder Combination ).Для того чтобы работать с высокой производительностью, процессор должен выполнять операцию МАС за один цикл (такт) работы процессора. Это должно выполняться аппаратно, а не программно. Отсчеты сигнала, коэффициенты фильтра и команды программы хранятся в памяти. Для выполнения операции требуется произвести три выборки из памяти – команды и двух сомножителей. Следовательно, для работы с высокой производительностью эти три выборки необходимо произвести за один такт работы процессора. При этом подразумевается, что результат операции остается в устройстве выполнения операции (в центральном процессорном устройстве), а не помещается в память. В более общем случае, нужна еще операция записи результата в память, т.е. необходимы четыре обращения к памяти за цикл. Таким образом, производительность процессора, прежде всего, определяется возможностями обмена данными между центральным процессорным устройством и памятью процессора и организацией их взаимодействия.

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


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

    В цифровых процессорах обработки сигналов используют специализированные устройства генерации адреса (УГА), которые формируют адреса данных, извлекаемых из памяти данных. УГА функционируют параллельно с другими модулями и позволяют одновременно с выполнением операций в АЛУ вычислять адреса операндов для следующей команды.

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

    В процессорах Motorola используется команда цикла DO ,которая работает с регистрами начала и конца цикла (LC и LA ).

    Гарвардская архитектура автоматически открывает многоступенчатый конвейер (от 3 до 11 ступеней конвейера). В базовом варианте: три ступени конвейера.

    Базовый вариант: Motorola DSP 56 000 = 560 = 56К, где К = 000


    Номер Процессор

    сериив этой серии


    3. Основные показатели процессоров цифровой обработки сигналов

    1.) Способ представления данных.

    По этому показателю все процессоры цифровой обработки сигналов делятся на :

    1.1. Процессоры с фиксированной запятой (ФЗ) или процессоры с фиксированной точкой (ФТ ).

    1.2. Процессоры с плавающей запятой (ПЗ) или процессоры с плавающей точкой (ПТ).

    Наиболее распространены процессоры с фиксированной запятой или процессоры с фиксированной точкой - они стоятво всех телефонах.

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

    2.) Разрядность представления данных.

    Для процессоров с фиксированной точкой разрядность равна 16 (у большинства сигнальных процессоров) или равна 24 (у фирмы Motorola).

    Для процессоров с плавающей точкой разрядность равна 32 (из них порядок представляется8 разрядами, мантисса 23 разрядами, а знак 1 разрядом).

    У процессоров с плавающей точкой большой диапазон представления чисел (мантиссу откидываем) с учетом знака: от 2 −128 до 2 127 .

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

    Динамический диапазон (ДД):

    ДД = |max значение | / |min значение ≠ 0 |

    Динамический диапазон в децибелах равен:

    20 lg (ДД ) = 20 lg (| max значение | / | min значение ≠ 0 |)

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

    3) Производительность

    Одна из самых частых ошибок разработчика - отождествление тактовой частоты и быстродействия, что в большинстве случаев неправильно. Очень часто скорость работы DSP указывают в MIPS (миллионах инструкций в секунду). Это наиболее просто измеряемый параметр. Производительность нормальных процессоров – это несколько десятков MIPS.

    Однако проблема сравнения скорости различных DSP состоит в том, что процессоры

    имеют различные системы команд, и для выполнения одного и того же алгоритма разными процессорами требуется разное число этих команд. Кроме того, иногда для выполнения различных команд одним процессором требуется различное количество тактов синхронизации. В результате процессор со скоростью 1000 MIPS вполне может оказаться в разы медленнее процессора со скоростью 300 MIPS, особенно при различной их разрядности.

    Одно из решений этой проблемы - сравнивать процессоры по скорости выполнения

    определенных операций, например, операции умножения с накоплением (MAC). Скорость

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

    фильтрацию, корреляцию и преобразования Фурье. К сожалению, такая оценка также не

    дает полной информации о реальном быстродействии процессора.

    Наиболее точной является оценка скорости исполнения определенных алгоритмов -

    например, КИХ и БИХ - фильтрации, однако это требует разработки соответствующих программ и тщательного анализа результатов тестирования.

    Существуют компании, занимающиеся анализом и сравнением процессоров по основным характеристикам, в том числе и по скорости. Лидером среди таких компаний является BDTI(Berkeley Design Technology, Inc ).

    4. Основные производители сигнальных процессоров

    1.) Фирма Texas Instruments (TI ) занимает около 48 % рынка ПЦОС. Именно она выпустила в 1982 г . первый ПЦОС, который имел коммерческий успех. ПЦОС TMS32010 использовался в игре Speak and Spell ("Скажи и произнеси по буквам"), а также в говорящей кукле по имени Джули . Все процессоры цифровой обработки сигналов фирмы Texas Instruments идут под маркой: TMS3200xxx.

    2.) Фирма Analog Devices (AD). Все процессоры цифровой обработки сигналов фирмы Analog Devices идут под маркой: ADSP21 xxx .

    3.)Фирма Motorola. Серии: DSP560xx

    DSP 561xx Процессоры с фиксированной точкой.

    DSP 563xx

    DSP 566xx

    DSP 568xx

    Фирма Intel раньше тоже входила в первую тройку производителей сигнальных процессоров, но сейчас её оттеснили.

    В нашей стране также производятся сигнальные процессоры, правда они несколько уступают зарубежным аналогам, но они есть. Например: в настоящее время научно-исследовательский институт электронной техники («НИИЭТ») серийно выпускает 16-разрядные процессоры ЦОС с фиксированной запятой М1867ВМ x с производительностью 5 MIPS.

    5. Аппаратная реализация


    Процессор цифровой обработки сигналов разбивается на две части: операционный блок и блок управления.

    Операционныйблок

    Блок управления операцией.

    На входные регистры x 0 , x 1 , y 0 , y 1 из памяти поступают данные и передаются на МАС или АЛУ, которые могут использоваться как отдельно, так и в паре. Если нужно использовать данные двойной длины, то, как правило, используют 16 разрядов. Результат выполнения операции из аккумулятора А или В передаётся в память данных через сдвигатель - выходной.

    Распределение нагрузки между МАС и АЛУ: 62 команды в базовом варианте, из них: 61 - АЛУ и 1 - МАС.

    МАС выполняется в 1000 раз чаще, чем все другие команды и, именно он определяет скорость быстродействия.

    Рис. Схема блока МАС

    В блоке МАС после умножения первое суммирование происходит с нулём, а далее после каждого умножения происходит суммирование с каждым значением аккумулятора. Аккумуляторов всегда два или более.

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

    Если в процессорах фирмы Motorola (в базовом варианте Motorola DSP 560xx ) разрядность слова равна 24, то длина расширенного слова составляет: 24 + 24 + 8 = 56 битов, где 8 разрядов отводится на расширение данных.

    Если в процессорах фирмы Motorola разрядность слова равна 16, то длина расширенного слова составляет: 16 + 16 + 8 = 40 битов, где 8 разрядов отводится на расширение данных.

    Пример представления целых чисел в форматах двойное и расширенное слово аккумулятора длиной 56 битов в процессорах DSP560xx фирмы Motorola:


    Примечание:

    На рисунке расширение EXT заполнено нулями – значением 47-го знакового бита.

    Представление целых чисел в формате с ФТ в форматах двойное и расширенное слово предполагает следующее функциональное распределение битов:

    1.) Старший бит MSB старшего слова MSP используется:

    · как знаковый при представлении целых чисел со знаком ; значение MSB = 0 соответствует положительному знаку, а MSB = 1 - отрицательному знаку; ноль считается положительным; остальные биты являются значащими;

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

    2.) Все биты, кроме знакового, считаются значащими ; они выравниваются по правому краю формата, т.е. младший бит LSB соответствует младшему разряду целого двоичного числа.

    3.) При представлении целых чисел со знаком в формате «расширенное слово» в расширении EXT происходит расширение знака ; это означает, что все биты EXT автоматически заполняются значением старшего знакового бита MSB слова MSP : LSP .

    4.) При представлении целых беззнаковых чисел в формате «расширенное слово» все биты EXT обнуляются.