Цифровые сигнальные процессоры (1015496), страница 2
Текст из файла (страница 2)
д.Допустимые параметры окружающей среды.Другие, в зависимости от назначения.Часто используются также интегральные характеристики ЦСП, например показатель«мощность/ток/быстродействие», например ma/MIPS (миллиампер на 1 млн инструкций всекунду), что позволяет оценить реальную потребляемую мощность в зависимости отсложности задачи, решаемой процессором в указанный момент.1.3 Особенности архитектуры1.3.1 Гарвардская архитектураЦифровые сигнальные процессоры строятся на основе.
«Гарвардской архитектуры»,отличительной особенностью которой является то, что программы и данные хранятся вразличных устройствах памяти — памяти программ и памяти данных. В отличие отархитектуры фон Неймана, где процессору для выборки команды и двух операндов требуетсяминимум три цикла шины, ЦСП может производить одновременные обращения как к памятикоманд, так и к памяти данных, и указанная выше команда может быть получена за два циклашины. В реальности, благодаря продуманности системы команд и другим мерам, это время4Цифровые сигнальные процессорыможет быть сокращено до одного цикла. В реальных устройствах память команд можетхранить не только программы, но и данные. В этом случае говорят, что ЦСП построен помодифицированной гарвардской архитектуре.
Внешние шины адреса/данных у сигнальныхпроцессоров, обычно, такие же как у универсальных.Рис. 11.3.2 Классификация ЦСП по архитектуреОсобенности архитектуры ЦСП удобно рассматривать на примере конкретного алгоритмацифровой обработки данных, например, КИХ-фильтра, выходной сигнал которого можнозаписать как:,••где— отсчеты входного сигнала;bi — коэффициенты фильтра.Как можно легко заметить, вычисление результата является классически примеромиспользования операции «умножение с накоплением» — MAC (Y := X + A × B).1.3.2.1 Стандартные ЦСПНа рисунке 2.
показано два варианта выполнения команды MAC на стандартном ЦСП. Впервом варианте оба операнда хранятся в памяти данных, поэтому на их выборку требуетсядва такта, то есть время выполнения n сложений равно 2n. Во втором случае один изоперандов хранится в памяти программ, поэтому команда исполняется за один такт, и общеевремя выполнения цикла будет равно n тактов (следует уточнить, что в реальности дляисполнения за один такт MAC должна исполняться внутри специальной команды цикла дляисключения повторной выборки самого кода команды, что требует дополнительного такта).Здесь видно, что эффективная реализация алгоритма требует использования памяти программдля хранения данных, а максимальное быстродействие достигается только в однокомандномцикле.5Цифровые сигнальные процессорыРис. 2. Два варианта исполнения команды MAC на ЦСП Texas InstrumentsОдним из вариантов, позволяющим отказаться от использования памяти программ дляхранения данных, является применение т. н.
«двухпортовой памяти», то есть памяти,имеющей два комплекта входных шин — двух шин адреса и данных. Такая архитектурапозволяет произвести одновременное обращение по двум адресам (правда, при этом онидолжны находиться в разных адресуемых блоках). Данное решение применяется в ЦСПкомпаний Motorola (DSP56000) и Lucent (DSP1600).При указанной архитектуре повысить производительность можно только увеличениемтактовой частоты.1.3.3 Улучшенные стандартные ЦСП«Улучшенные стандартные ЦСП» для повышения производительности системы, посравнению со стандартными ЦСП, используют следующие методы повышения параллелизма:•••••Увеличение количества операционных и вычислительных устройств;Введение специализированных сопроцессоров;Расширение шин для увеличения количества передаваемых данных;Использование памяти с многократным доступом (несколько обращений за такт);Усложнение системы команд;6Цифровые сигнальные процессорыРис.
3. Исполнение двух операций MAC на ЦСП Texas Instruments TMS320C55xНа рисунке показан пример реализации вычисления двух параллельных команд MAC. Дляэтого в ЦСП присутствуют два модуля MAC и два аккумулятора. Блоки MAC получаютданные по трём шинам одновременно, причём одно из значений является для них общим.Таким образом, происходит одновременное исполнение двух команд:••АК1 := АК1 + D1 × D2АК2 := АК2 + D1 × D3Особенность показанного решения состоит в том, что к выполнению двух параллельныхкоманд с одним общим сомножителем можно свести многие алгоритмы ЦОС, например:••КИХ-фильтр с симметричными коэффициентами.
В качестве одинаковыхсомножителей используются коэффициенты фильтра, а на раздельные шины подаютсядва разных набора отсчетов сигнала, то есть параллельно рассчитываются двеполовины фильтра, которые затем суммируются.Двухканальная обработка. На общую шину подаются отсчеты сигнала, а нараздельные — наборы коэффициентов.В некоторых процессорах (Lucent DSP16xxx, ADI ASDP-2116x) используются дваодинаковых ядра, каждый со своей памятью, то есть одна команда исполняется одновременнов двух ядрах с различными данными. Это позволяет обойти ограничение на использованиеполностью независимых данных.Характерным недостатком таких процессоров можно считать необходимость в высокойквалификации разработчика, так как эффективное использование указанных особенностейтребует программирования на языке ассемблера, хорошего знания архитектуры и системыкоманд, то есть эти устройства считаются «недружественными» к языкам высокого уровня.7Цифровые сигнальные процессоры1.3.4 ЦСП с архитектурой VLIWОсновное отличие VLIW-процессоров состоит в том, что коды команд ещё на этапекомпиляции собираются в большие «суперкоманды» и выполняются параллельно.
Обычнотакие процессоры используют RISC-архитектуру с фиксированной длиной команды, гдекаждая из них выполняется в отдельном операционном модуле. К характерным особенностямтаких процессоров можно отнести:••••Большой набор операционных модулей, работающих независимо друг от друга. Всостав таких модулей могут входить:o Арифметические: Модули арифметических операций и операций сравнения; Модули логических операций; Модули умножения чисел с плавающей и фиксированной точкой; Модули генерации констант.o Модули генерации адреса, в том числе для линейных и циклических буферов;Необходимость оптимизации компилятора под каждую модель процессора, так какмежду моделями может меняться состав и функции вычислительных блоков, чтовлечет за собой изменение перечня команд, которые могут выполнятьсяодновременно;Необходимость в наличии сверхшироких шин данных (порядка 128 бит), чтобы кодоперации, состоящий из отдельных команд (до 8-ми) мог быть получен из памяти заодно обращение.Высокие требования к объёму памяти программ, что также связано с большой длинойоперации.Обычно, если процессор имеет несколько одинаковых модулей, то при создании программына ассемблере имеется возможность указания только типа необходимого операционногомодуля, а конкретное устройство будет назначено компилятором.
С одной стороны, этоупрощает программирование таких устройств, а с другой стороны, позволяет достаточноэффективно использовать их ресурсы.1.3.5 Суперскалярные ЦСПСуперскалярные процессоры также характеризуются большим набором параллельныхоперационных модулей и возможностью одновременного исполнения нескольких команд.Однако, по сравнению с VLIW, они имеют две характерные особенности:••Команды процессора не группируются в блоки, каждая их них поступает в процессорнезависимо;Команды для параллельного исполнения группируются внутри процессора на основесостава и текущей загруженности операционных блоков, а также зависимости междуданными.С помощью описанного подхода можно обойти следующие недостатки VLIW:••Неэффективное использование памяти из-за большой длины групповой операции;Зависимость скомпилированного кода от состава операционных модулей конкретногопроцессора.Платой за решение этих проблем становится значительное усложнение схемы процессора, вкотором появляется модуль планирования выполнения команд.8Цифровые сигнальные процессорыСуперскалярные процессоры планируют исполнение команд не только на основе информациио загруженности операционных блоков, но и на основе анализа зависимостей междуданными.
К примеру, команда сохранения результата арифметической операции не можетбыть выполнена раньше самой операции вычисления, даже если модуль обращения к памятив данный момент свободен. Эта особенность приводит в том числе к тому, что один и тот женабор команд может по-разному исполняться в различных местах программы, что делаетневозможным точную оценку производительности. Особенно это важно для систем,работающих в реальном времени, ведь оценка по наихудшему результату приведет к тому,что ресурсы процессора будут использованы не полностью.1.3.6 Гибридные ЦСППод гибридными ЦСП обычно понимаютспециализированные устройства, сочетающие всебе функцию микроконтроллера и цифровогосигнального процессора. Обычно такие изделияпредназначены для выполнения однойфункции — например, управленияэлектрическими двигателями, или другимиобъектами в реальном времени. Другой широкойобластью их применения в последнее времястановится мобильная телефония, где ранееиспользовались два процессора — один обычныйдля управления функциями аппарата (дисплеем,клавиатурой), а другой для обработки голосовыхсигналов (кодирование и т.