Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦУМП лекция рус.doc
Скачиваний:
296
Добавлен:
09.02.2016
Размер:
4.68 Mб
Скачать

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

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

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

Трехшинная Гарвардская архитектура

Ее особенность состоит прежде всего в том, что в отличии от привычных нам двух шин: шины адреса и шины данных, а также одного банка памяти, DSP имеет как минимум 6-7 различных шин и 2-3 банка памяти. Эта особенность име­ет своей целью максимально ускорить выполнение операции умножения с сохранением результата, которая, несомненно, является наиболее употребляемой и ресурсоемкой при цифровой обработке сигналов. Ар­хитектура DSP позволяет за один машинный цикл произвести:

  1. выборку команды посредством шины адреса программ и шины данных программ;

  2. выборку двух операндов для операции умножения посредством двух шин адреса данных;

  3. занесение операндов в аккумуляторы посредством двух шин данных;

  4. операцию умножения;

  5. сохранить результат в аккумуляторе.

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

B качестве примера эффективности использования DSP при реали­зации алгоритмов цифровой обработки сигналов можно привести следу­ющий факт: время выполнения комплексного 1024-точечного преобразо­вания Фурье составляет 20 мс для 486DX2 66 МГц (32-разрядный) и 3.23 mc для 24-разрядного 33 МГц DSP56001 фирмы Motorola или 3.1 мс для 32- разрядного 33 МГц DSP TMS320C30 с плавающей арифметикой фирмы Texas Instruments.

Однако, как уже упоминалось, процессоры цифровой обработки сигнала имеют отличием не только высокую производительность, изме­ряемую в быстроте выполнения операций умножения/аккумуляции (MIPS - миллионы команд в секунду), но и такие характеристики, как после­довательность выполнения программ, арифметических операций и адре­сации памяти, позволяющие сократить до минимума непроизводительные затраты времени. В целом DSP отличается от других типов микропро­цессоров и микроконтроллеров по следующим пяти основным признакам:

  1. Быстрая арифметика.

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

  1. Расширенный динамический объем для операции умножения/ак­кумуляции.

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

  1. Выборка двух операндов за один цикл.

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

  1. Наличие аппаратно реализованных циклических буферов(встро­енных и внешних).

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

  1. Организация циклов и ветвлений без потери в производитель­ности.

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

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

DSP фирмы Motorola

Фирмой Motorola в настоящее время выпускается три семейства Цифровых Процессоров Сигналов. Это серии DSP56100, DSP56000 и DSP96000. Все микросхемы приведенных серий основываются на архитектуре DSP56000 и различаются разрядностью (16, 24, 32 бит соответственно) и некоторыми встроен­ными устройствами. Таким образом достигается совместимость микрос­хем всех трех семейств снизу вверх. Все DSP фирмы Motorola постро­ены по идентичной трехшинной Гарвардской архитектуре, описанной ранее, с большим количеством составных частей, портов, контролле­ров, банков памяти и шин, работающих параллельно с целью достиже­ния максимального быстродействия.

Передача данных происходит по двунаправленным шинам данных (одной для DSP56100 (XDB) и двум для DSP56000 и DSP96000 (XDB и YDB)), шине данных программ (PDB) и общей шине данных (GDB). Кроме того, у DSP96000 присутствует отдельная шина прямого доступа к памяти (DDB). Передача данных между шинами про­исходит через внутреннее устройство управления шинами.

Адресация осуществляется по двум однонаправленным шинам: шине адреса данных и шине адреса программ.

Блок манипуляции битами позволяет гибко управлять состоянием любого бита в регистрах и ячейках памяти. Наличие такой возможнос­ти является преимуществом по отношению к DSP других пользователей.

Арифметико-логическое устройство (АЛУ) выполняет все арифме­тические и логические операции и имеет в своем составе входные ре­гистры, аккумуляторы, регистры расширения аккумуляторов (8-битные, допускающие 256 переполнений без потери точности), параллельный одноцикловой блок умножения с сохранением (МАС), а так же сдвиго­вые регистры.Гибкая система команд позволяет выполнить АЛУ за один цикл команды умножения, умножения с сохранением результата, сумми­рования, вычитания, сдвига и логические операции. Характерной осо­бенностью DSP фирмы Motorola является возможность сдваивания вход­ных регистров АЛУ и увеличения таким образом разрядности обрабаты­ваемых чисел. Еще одной важной особенностью является наличие опе­рации деления, зачастую отсутствующей у других производителей и заменяемой операцией умножения на обратное число, что приводит к потере точности.

Блок формирования адреса выполняет все вычисления, связанные с определением адресов в памяти. Этот блок работает независимо от остальных блоков процессора. За один цикл могут производиться две операции считывания из памяти или одна операция записи. DSP фирмы Motorola обладают чрезвычайно мощной мощной системой адресации, позволяющей производить практически любые манипуляции с данными за одну команду. Это важная особенность выгодно отличает DSP, выпус­каемые фирмой, от аналогов. Адресация по модулю удобна для органи­зации кольцевых буферов без проверки выхода за границу, что позво­ляет избегать непроизводительных затрат времени. Возможность адре­сации с инверсией значащих битов облегчает реализацию БПФ.

Блок управления выполнением программ содержит 6 регистров, среди которых Указатель адреса цикла и Счетчика циклов, позволяю­щие организовать аппаратную поддержку организации циклов в DSP фирмы Motorola, при которой не тратятся дополнительные машинные циклы на проверку условия выхода из цикла и изменения счетчика цикла. В команде организации цикла DO явно указывается количество повторений.

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

Главной отличительной особенностью DSP фирмы Motorola являет­ся наличие у всех микросхем внутрикристального эмулятора, позволяющие производить отладку программ без ис­пользования дополнительных аппаратных средств. Таким образом нет необходимости в покупке дорогостоящих отладочных средств. Эмулятор позволяет производить запись/считывание регистров и ячеек памяти, установку точек останова, пошаговое выполнение программ и дру­гие действия посредством подачи команд по 4- проводной шине.

Для снижения потребления энергии в моменты, когда не произво­дится вычисления, предусмотрены два режима с пониженным энергопот­реблением : STOP и WAIT.

Для работы совместно с другими процессорами и каналами прямо­го доступа к памяти предусмотрен встроенный HOST-интерфейс.

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

DSP фирмы Texas Instruments

DSP этой фирмы представлены следующими микропроцессорами: TMS 32010, TMS 320C20, TMS 320C25, TMS 320C30, TMS 320C40, TMS 320C50.

Рис. 15.1. Семейство микропроцессоров компании TI

Микропроцессоры семейства ТМS320С1х

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

TMS320C10 является 16-разрядным процессором. Его адресное пространство составляет 4 Кслов памяти программ и 144 слова памяти данных. Все слова имеют разрядность 16. Длительность командного такта процессора составля­ет 160-200 нс.

Арифметические функции в процессоре реaлизованы аппаратно. Он имеет аппаратные умножитель (MULT), устройство сдвига (SHIFTER), аппарат­ную поддержку автоинкремента/декремента адресных регистров данных(ARO, ARl).С внешними устройствами процессор взаимодействует через 8 портов вво­да/вывода. Каждый порт имеет разрядность 16. Предусмотрена возможностьобработки внешних прерываний.

Микропроцессоры семейства TMS320C8x

Микропроцессор TMS320C80, выпушенный в конце 1994 года , имеет второе название - MVP(Мultiшеdiа Video Pгocessor - мультимедийный видеопроцессор), что обусловлено его высокой эффективностью на задачах обработки изображений, в системах виртуальной реальности, компрессии и декомпрессии видео- и аудиоданных, обработки связной информации.

TMS320C80 представляет собой новый подход к повышению производи­тельности и ,функциональности цифровых сигнальных процессоров: в одной микросхеме объединено четыре усовершенствованных цифровых процессора обработки сигналов (ADSP - Advanced Digital Signal Pгocessor), каждый из которых выполняет за такт несколько RISС-операций, и пятый процессор, называемый главным процессором (Master Processor), - 32-разряд­ный процессор с высокопроизводи ельным устройством обработки чисел вформате с плавающей точкой.

Микропроцессоры семейства ADSP21 хх

Микропроцессоры семейства ADSP21xx успешно конкурируют с ана­логичной продукцией компаний Motorola и Texas Iпstгuшепts благодаря вы­сокой производительности и низкой цене, а также наличию развитых аппа­ратных и программных средств разработки прикладных систем. Высокаяпроизводительность процессоров на сигнальных алгоритмах достигается засчет многофункциональной и гибкой системы команд, аппаратной реализа­ции большинства типичных для сигнальной обработки операций, высокойстепени параллелизма процессов в микропроцессоре, сокращения команд­ного цикла. Микропроцессоры ADSP21xx имеют модифицированную гар­вардскую архитектуру, в рамках которой п-редусматривается возможность доступа в память команд при ее физическом разделении с памятью данных.

Каждый микропроцессор семейства содержит три независимых функцио­нальных блока: АЛУ, умножитель с накоплением (МАС) и устройство бара­банного сдвига. Каждый блок непосредственно оперирует с' 16-разрядными данными и обеспечивает аппаратную поддержку вычислений с различной точностью.

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

Последовательные порты обеспечивают интерфейс с большинством стан­дартных последовательных устройств, а также с аппаратными средствами сжатия/восстановления данных, использующими А- и н-законы компанди­рования.

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

Микропроцессор ADSP-21msp5x отличается наличием аналогового интер­фейса, позволяющего вводить и выводить обрабатываемый сигнал в 'анало­говой форме. В состав интерфейсных блоков входят ЛЦП, ЦАП, цифровойи аналоговый фильтры, параллельный интерфейс.

Общее для семейства ADSP-21xx микропроцессорное ядро изображено на рис. 15.2. Арифметико-логическое устройство микропроцессора выполняет стандартный набор арифметических и логических операций, включая деле­ние. Устройство МАС выполняет операции умножения со сложением(вычитанием) за один такт. Устройство сдвига осуществляет арифметиче­ские и логические сдвиги операндов, нормализацию и возведение в степень. Функциональные устройства микропроцессора могут обмениваться резуль­татами выполнения операций по шине внутренних результатов.

Внутренние функциональные блоки связаны между собой с помощью пяти шин: шина адресов памяти данных (ОМА), шина адресов памяти команд (РМА), шина данных памяти данных (ОМО), шина данных памяти команд (РМО) шина внутренних результатов (R). Первые четыре шины имеют мультиплексированной внешний интерфейс в виде шины адреса и шины данных (см. рис.15.2).

Рис. 15.2. Структура микропроцессора ADSP219xx

По схеме команд все микропроцессоры совместимы снизу вверх. Отделтные представители семейства –ADSP-2171, 2181,21msp5x- имеют дополнительные и расширенные команды. Каждая команда выполняется за один такт. Многофункциональные команды микропроцессора объединяют не­сколько' пересылок данных с арифметико-логической обработкой.

Все устройства микропроцессора – 16-разрядные и оперируют с данными в формате с фиксированной точкой. Числа представляются либо как беззна­ковые, либо в дополнительном коде. Логические операции выполняются над битовыми строками.

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

Новый микропроцессор семейства ADSP-219x содержит модифициро­ванное ядро, которое рассматривается компанией Analog Devices как ключе­вой элемент в технологии создания перспективных 16-разрядных сигнальных процессоров общего назначения и процессоров для встроенных решений.

Специальные схемотехнические решения на основе данного ядра и про­граммное обеспечение планируется создавать непосредственно для заказчи­ка, под конкретно заданные требования и характеристики. Для приложений, требующих высокой производительности, будут создаваться процессоры, содержащие несколько ядер на одном кристалле. В будущем предполагается выпуск микропроцессоров, содержащих 4 ядра на одном кристалле и обла­дающих производительностью 1,2 миллиарда МАС в секунду на 1 квадрат­ный дюйм площади кристалла.

Структура микропроцессора ADSP-21x показана на рис. 15.3.

Рис. 15.3. Структура микропроцессора ADSP21x

По сравнению с процессорами семейства ADSP-218x, имеющими 14-разрядную шину адреса, в семействе ADSP-219x используется 24-разрядная шина I адреса, что позволяет осуществлять прямую адресацию в пределах 64 Кслов или страничную адресацию в пределах 16 Мслов. Адресный генератор процессоров семейства 219х поддерживает все ранее использованные и пять новых режимов адресации.

АDSP-219x программно совместим с предыдущими микропроцессопами семейства ADSP-21xx, обладает большой, производительностью, (до 300MIPS) и меньшим энергопотреблением (0,4 мВт/MIPS)

Основная литература: 4 [182-199], 7 [51-82]

Дополнительная литература:9 [236-283], 10 [35-61]

Контрольные вопросы:

  1. Что такое цифровая обработка сигналов?

  2. Из скольких серий состоит процессоры цифровой обработки DSP ?

  3. Состав DSP фирмы TI?

  4. Основные функций и состав DSP56100 ?

  5. Основные функций и состав АDSP219 х?

  6. Основные функций и состав АDSP21хх?