ЦУиМП Лек2 5курс (1086960), страница 5
Текст из файла (страница 5)
2. Расширенный динамический объем для операции умножения/аккумуляции.
Операция вычисления суммы некой последовательности значений является
фундаментальной для алгоритмов, реализуемых на DSP. Защита от переполнения необходима для избежания потери данных.
3. Выборка двух операндов за один цикл.
Очевидно, что для большинства операций, выполняемых DSP, необходимы два операнда. Таким образом, для достижения максимального быстродействия процессор должен быть способен производить одновременную выборку двух операндов, что требует также наличия гибкой системы адресации.
4. Наличие аппаратно реализованных циклических буферов(встроенных и внешних).
Широкий класс алгоритмов, реализуемых на DSP требует использования циклических
буферов. Аппаратная поддержка циклического возврата указателя адреса или модульная адресация уменьшает непроизводительные затраты процессорного времени и упрощает реализацию алгоритмов.
5. Организация циклов и ветвлений без потери в производительности.
Алгоритмы DSP включают очень много повторяющихся операций, которые могут быть реализованы в виде циклов. Возможность организации последовательности выполнения программы кодов в цикле без потери производительности отличают DSP от других процессоров. Аналогично, потеря времени при выполнении операции ветвления по условию также недопустима при цифровой обработке, сигналов.
Не следует, однако, думать, что DSP могут полностью заменить процессоры общего назначения. Как правило, процессоры цифровых сигналов имеют упрощенную систему команд, не позволяющие выполнить операции, не связанные с математическими вычислениями с такой же эффективностью, как и процессоры общего назначения. Попытка же сочетания в одном процессоре мощность при математических вычислениях и гибкость при операциях другого рода приводит к неоправданному повышению себестоимости. Поэтому DSP используют чаще в виде сопроцессоров (математических, графических, акселераторов и т.д.) при главном процессоре либо в качестве самостоятельного процессора, если этого достаточно.
DSP фирмы Motorola
Фирмой Motorola в настоящее время выпускается три семейства Цифровых Процессоров Сигналов. Это серии DSP56100, DSP56000 и DSP96000. Все микросхемы приведенных серий основываются на архитектуре DSP56000 и различаются разрядностью (16, 24, 32 бит соответственно) и некоторыми встроенными устройствами. Таким образом достигается совместимость микросхем всех трех семейств снизу вверх. Все DSP фирмы Motorola построены по идентичной трехшинной Гарвардской архитектуре, описанной ранее,
страница 82
Микропроцессорные системы Лекции 2001 г.
с большим количеством составных частей, портов, контроллеров, банков памяти и шин,
работающих параллельно с целью достижения максимального быстродействия.
Передача данных происходит по двунаправленным шинам данных (одной для DSP56100 (XDB) и двум для DSP56000 и DSP96000 (XDB и YDB)), шине данных программ (PDB) и общей шине данных (GDB). Кроме того, у DSP96000 присутствует отдельная шина прямого доступа к памяти (DDB). Передача данных между шинами происходит через внутреннее устройство управления шинами.
Адресация осуществляется по двум однонаправленным шинам: шине адреса данных и шине адреса программ.
Блок манипуляции битами позволяет гибко управлять состоянием любого бита в регистрах и ячейках памяти. Наличие такой возможности является преимуществом по отношению к DSP других пользователей.
Арифметико-логическое устройство (АЛУ) выполняет все арифметические и логические операции и имеет в своем составе входные регистры, аккумуляторы, регистры расширения аккумуляторов (8-битные, допускающие 256 переполнений без потери точности), параллельный одноцикловой блок умножения с сохранением (MAC), а так же сдвиговые регистры.Гибкая система команд позволяет выполнить АЛУ за один цикл команды умножения, умножения с сохранением результата, суммирования, вычитания, сдвига и логические операции. Характерной особенностью DSP фирмы Motorola является возможность сдваивания входных регистров АЛУ и увеличения таким образом разрядности обрабатываемых чисел. Еще одной важной особенностью является наличие операции деления, зачастую отсутствующей у других производителей и заменяемой операцией умножения на обратное число, что приводит к потере точности.
Блок формирования адреса выполняет все вычисления, связанные с определением адресов в памяти. Этот блок работает независимо от остальных блоков процессора. За один цикл могут производиться две операции считывания из памяти или одна операция записи. DSP фирмы Motorola обладают чрезвычайно мощной мощной системой адресации, позволяющей производить практически любые манипуляции с данными за одну команду. Это важная особенность выгодно отличает DSP, выпускаемые фирмой, от аналогов. Адресация по модулю удобна для организации кольцевых буферов без проверки выхода за границу, что позволяет избегать непроизводительных затрат времени. Возможность адресации с инверсией значащих битов облегчает реализацию БПФ.
Блок управления выполнением программ содержит 6 регистров, среди которых Указатель адреса цикла и Счетчика циклов, позволяющие организовать аппаратную поддержку организации циклов в DSP фирмы Motorola, при которой не тратятся дополнительные машинные циклы на проверку условия выхода из цикла и изменения счетчика цикла. В команде организации цикла DO явно указывается количество повторений.
Системный стек представляет из себя отдельную часть из 15 слов ОЗУ, и может хранить информацию о 15 прерываниях, 7 циклах или 15 выходах в подпрограмму. Данные из стека читаются за один цикл уменьшая таким образом непроизводительные затраты времени процессора.
Главной отличительной особенностью DSP фирмы Motorola является наличие у всех микросхем внутрикристального эмулятора, позволяющие производить отладку программ без использования дополнительных аппаратных средств. Таким образом нет необходимости в покупке дорогостоящих отладочных средств. Эмулятор позволяет производить запись/считывание регистров и ячеек памяти, установку точек останова, пошаговое выполнение программ и другие действия посредством подачи команд по 4- проводной шине.
Для снижения потребления энергии в моменты, когда не производится вычисления, предусмотрены два режима с пониженным энергопотреблением : STOP и WAIT.
Для работы совместно с другими процессорами и каналами прямого доступа к памяти предусмотрен встроенный HOST-интерфейс.
страница 83
Микропроцессорные системы Лекции 2001 г.
f
Обладая всеми вышеперечисленными свойствами, необходимыми для цифровой обработки сигналов, DSP фирмы Motorola имеют чрезвычайно мощную и гибкую систему команд, позволяющую пользователю удобно и эффективно работать с процессорами.
Семейство DSP96000
Семейство DSP DSP96000 имеет 32-битную архитектуру и поддерживает операции с плавающей точкой. Микросхемы семейства предназначены для компьютерных систем Multimedia. DSP этой серии могут работать и как самостоятельные микросхемы, и через два независимых 32-битных порта могут последовательно обмениваться данными с другими процессорами.
Микросхемы семейства имеют в своем составе 6 банков памяти, 8 шин и 4 автономных вычислительных блока: АЛУ, блок управления программой, двойной блок генерации адреса и встроенный двухканальный контроллер прямого доступа к памяти.
Характеристики микросхем семейства DSP96000:
-
49.5 MIPS при 40 МГц
-
60 MFLOPS при 40 МГц, цикл 50 не
-
32-битная организация
-
2 банка памяти данных ОЗУ 512x32 бит
-
2 банка памяти данных ПЗУ 512x32 бит
-
ОЗУ программ 1024x32 бит
-
загрузочное ПЗУ объемом 56 байт
-
адресуемая внешняя память 2х232 32-битных слов памяти данных и программ
-
встроенный эмулятор
-
2 канала прямого доступа к памяти
-
2 канала обмена с внешними процессорами
-
корпус с 223 выводами в корпусе PGA или QFP
DSP фирмы Texas Instruments
DSP этой фирмы представлены следующими микропроцессорами: TMS 32010, TMS 320С20, TMS 320C25, TMS 320C30, TMS 320C40, TMS 320C50.
Особенности архитектуры TMS320C25
Архитектура TMS320C2x основана на архитектуре TMS32010 - первом члене микропроцессорного семейства DSP. Кроме того, набор его команд перекрывает набор команд микропроцессора TMS32010, что сохраняет программную совместимость снизу вверх.
Микропроцессор TMS320C2x имеет один аккумулятор и использует Гарвардскую архитектуру в которой память данных и память программ разнесены в разные адресные пространства. Это позволяет полностью перекрыть во времени вызов и выполнение команды. Система команд включает команды обмена данными между двумя областями памяти. Вне микропроцессора пространства памяти данных и программ объединены на одну и ту же шину для того, чтобы максимально увеличить диапазон адресов в обеих областях памяти и одновременно максимально уменьшить количество выводных контактов. Внутри микропроцессора пространства программ и данных выведены на разные шины, чтобы увеличить мощность процессора и скорость выполнения программ.
Повышенная гибкость конструкции системы обеспечивается расположенными на кристалле двумя большими блоками памяти RAM, один из которых может использоваться и как память программ и как память данных. Большинство команд процессора выполняются за один машинный цикл с использованием как внешней памяти программ с быстрой выборкой,
страница 84
Микропроцессорные системы Лекции 2001 г.
так и с использованием внутренней памяти RAM. Гибкость микропроцессора TMS320C2x предусматривает также подключение медленной внешней памяти или периферийных устройств, используя сигнал READY; но в этом случае команды выполняются за несколько машинных циклов.
Организация памяти
На кристалле TMS32020 находится 544 16-разрядных слова памяти RAM, из которых 288 слова (блоки В1 и В2) всегда отведены под данные, а 256 слов (блок ВО) в разных конфигурациях процессора могут использоваться либо как память данных, либо как память программ. TMS320C25 кроме того обеспечен маскируемым ПЗУ (ROM), объемом 4К слов, а TMS320E25 - памятью 4К слов с ультрафиолетовым стиранием EPROM.
TMS320C2x обеспечен тремя разделенными адресными пространствами - для памяти программ, для памяти данных и для устройств ввода/вывода, как показано на рис. 6.5. Эти пространства вне кристалла различаются при помощи сигналов -PS, -DS, -IS (для пространств программы, данных, ввода/вывода соответственно). Блоки памяти ВО, Bl, B2, расположенные на кристалле, охватывают в сумме 544 слова памяти с произвольным доступом (RAM). RAM блок ВО (256 слов) располагается на 4 и 5 страницах памяти данных, если он отведен под данные, или по адресам >FFOO - >FFFF, если он является частью памяти программ. Блок В1 (только для данных) располагается на 6 и 7 страницах, а блок В2 занимает старшие 32 слова 0 страницы. Отметим, что оставшуюся часть 0 страницы занимают 6 адресуемых регистров и резервная область; 1-3 страницы также представляют собой резервную область. Резервные области нельзя использовать для хранения информации, при чтении их содержимое не определено.
Внутренняя память программ (ROM), расположенная на кристалле процессора может быть использована в качестве младших 4К слов памяти программ. Для этого на контакт МР/*МС должен быть подан сигнал низкого уровня. Для запрещения использования внутренней области ROM на МР/*МС надо подать высокий уровень.
Внешняя память и интерфейс ввода/вывода
Микропроцессор TMS32020 поддерживает широкий диапазон интерфейсных систем. Адресное пространство данных, программ и ввода/вывода обеспечивает сопряжение с памятью и внешними устройствами, что увеличивает возможности системы. Интерфейс локальной памяти состоит из:
-
16-ти разрядной шины данных (DO-D15);
-
16-ти разрядной шины адреса (АО-А15);
-
адресных пространств данных, программ и ввода/вывода выбираемых
сигналами (*DS, *PS и *IS);
-
различных сигналов управления системой.
Сигнал R/*W управляет направлением передачи, а сигнал *STRB управляет передачей.
Пространство ввода/вывода содержит 16 портов для вводы и 16 портов для вывода. Эти порты обеспечивают полный 16-разрядный интерфейс со внешними устройствами по шине данных. Одноразовый ввод/вывод с помощью команд IN и OUT выполняется за два командных цикла; однако использование счетчика повторений снижает время одного обращения к порту до 1-го цикла.
Использование ввода/вывода упрощается тем, что ввод/ вывод осуществляется также, как и обращение к памяти. Устройства ввода/вывода отображаются в адресном пространстве ввода/вывода, используя внешние адреса процессора и шину данных, таким же образом, как память. При адресации внутренней памяти шина данных находится в третьем состоянии, а управляющие сигналы в пассивном состоянии (высоком).
страница 85