Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 136
Текст из файла (страница 136)
Процессоры ЦОС, появившиеся в начале 1980-х, стали в настоящее время значительно сложнее, повысили свои возможности и расширили число сфер применения. Все это также привело к значительному увеличению числа доступных процессоров ЦОС. Чтобы помочь читателю сориентироваться в выборе необходимого процессора ЦОС, в главу включен обзор основных отличий поколений процессоров ЦОС с фиксированной или плавающей запятой. тв4 Глава 12. Универсальные и специализированные процессоры ЦОС ' 12;1.
Вступпенкгие,(,:о:,хт', '„;,:.",,',.-'" .,-::~ --„р;,-',.-',,)!";;:::.;:"-' = ':,,',~,";;,::,!",-;: ,' 12.2. Компьютерные архитесктУры'обрегботски,"'сиг~Мг~оЕг„;;,' Большинство доступных сейчас универсальных процессоров основаны на архитектуре фон Неймана, при которой операции выполняются последовательно'.
Упрощенная архитектура стандартного процессора фон Неймана показана на рис. 12.1. При обработке инструкции в таюм процессоре блоки процессора, не задействованные в каждой фазе инструкции, находятся в холостом состоянии до передачи им управления. Повышение скорости процессора достигается за счет ускорения работы отдельных блоков, хотя существует определенный предел, ограничивающий их возможную скорость работы.
Если устройство должно работать в реальном времени, архитектуру процессора ЦОС нужно оптимизировать под выполнение функций ЦОС. Например, на рис. 12.2 показана общая аппаратная архитектура, подходящая для цифровой обработки сигналов в реальном времени. Она характеризуется следующими особенностями. 'Уже нет — в большинство (чтобы не скшагь — во все) универсальные пропессоры встроено «ак минимум нефоннеймвновское влро (ММХ, 30НОИГ н другие технологии, ставшие аппаратным шнрпотребом). — Нршг, ре). Процессоры ЦОС можно для удобства разделить на две обширные категории: универсальные и специализированные.
В число распространенных процессоров ЦОС входят такие устройства с фиксированной запятой, как ТМБ320С54х от Техаз 1пзтпяпеп(з и !3БР563х от Мо(ого!а, и такие устройства с плавающей запятой, как ТМБ320С4х (Телах 1пз(попел(з) и А!)БР21ххх БНАкС (Апа)08 !)еч!сез). Существует два типа специализированных устройств. 1. Аппаратное обеспечение, разработанное для эффективного выполнения специальных алгоритмов ЦОС, таких как цифровая фильтрация, быстрое преобразование Фурье. Устройства данного типа иногда называют алгоритмическими процессорами ЦОС. 2.
Аппаратное обеспечение, разработанное для специального приложения, например, в сфере юнтроля, телекоммуникаций или цифрового аудио. Устройства данного типа иногда называют процессорами 2ГОС специального назначения (специализированными). В большинстве случаев специализированные процессоры выполняют такие алгоритмы ЦОС, как кодирование-декодирование РСМ. Кроме того, они должны выполнять другие операции, отражающие специфику приложения.
В качестве примеров специализированных процессоров ЦОС можно привести процессор Ситца СБ8420 для конвертеров частоты дискретизации в цифровой аудиоаппаратуре, подавитель речевого эха в многоканальной телефонии Мйе! МТ9300, процессор БПФ РьзБР165 15А и программируемый КИХ-фильтр Ъ'Р!зБР16256. Все универсальные и специализированные процессоры можно построить с помощью отдельных чипов или блоков умножителей, АЛУ, ячеек памяти и т.д.
Рассмотрим архитектурные особенности процессоров ЦОС, которые позволили применить цифровую обработку в реальном времени во многих областях. Глава 12. универсальные и специализированные процессоры цОС ° Многошинная структура с раздельной памятью для данных и инструкций программы. Обычно память для хранения данных содержит входные данные, промежуточные значения и выходные выборки, а также фиксированные коэффициенты, например, для цифровой фильтрации или БПФ. Команды программы хранятся в специально отведенных ячейках памяти.
° Порт ввода-вывода позволяет обмениваться данными со внешними устройствами (АЦП, ЦАП) или передавать цифровые данные другим процессорам. Прямой доступ к памяти (Р(гесг Мепюгу Асеева — РМА) (если он есть) позволяет быстро обмениваться блоками данных с памятью (ОЗУ) для хранения данных, причем обычно это происходит под внешним управлением.
° Арифметические устройства для логических и арифметических операций, в число которых выходят АЛУ, аппаратные умножнтели и схемы сдвига (или умножителинакопители). Почему необходима именно такая архитектура? Большинство алгоритмов ЦОС (фильтрация, корреляция, преобразование Фурье) включают повторяющиеся арифметические операции, такие как умножение, сложение, обращение к памяти и интенсивная передача данных через центральный процессор. Архитектура стандартных микропроцессоров не предназначена для такого типа деятельности.
При разработке аппаратуры ЦОС важно оптимизировать под операции ЦОС и аппаратную архитектуру, и систему юманд. В процессорах ЦОС для этого широко используется концепция параллелизма. В частности, применяются следующие средства; ° гарвардская архитектура; ° конвейерная обработка; ° быстрые специализированные аппаратные умножители-накопители; ° специальные команды, предназначенные для ЦОС; ° копирование; ° встроенная памятьукэш; ° расширенный параллелизм — векторная архитектура (31МР), архитектура с командными словами сверхбольшой длины (Ч(.1%) и статическая суперскалярная обработка.
Для успешной разработки структуры ЦОС важно понимать и правильно использовать все названные ключевые архитектурные особенности. 12.2.1. Гарвардская архитектура Принципиальная особенность гарвардской (двухшинной) архитектуры заключается в том, что память для хранения данных и память для хранения программы располагаются в разных местах, допуская полное совмещение во времени операций вызова команды из памяти и ее выполнения.
Стандартные микропроцессоры, такие как 1пГе! 6502, характеризуются одношинной структурой, через которую передаются и данные, и команды, как показано на рис. 12.!. Предположим, что при использовании стандартного микропроцессора требуется считать значение ор1, которое находится по адресу памяти Айй1, в аккумулятор, а затем 12.2. Компьютерные архитектуры обработки сигналов 7В7 ЬОА бтА АОК2 бтААОК3 АОК АОК АОК а) 1 )л..лир - в ' Выбо ' ванне ! нонне 1 ! ! 1 1 1 1 ! дскоднро.! Выпал- Выборка ! ванне ! Ионне 1 3 1 2 1 1 ! 1 1деколиро-1 Выпал- В!сборка ! ванне ! нонне 1 1 -- .1 3 1 3 1 3 1 ьОА ятА АОЮ б) Рис.
) 2.3. Иллюстрация выборки, декодирования и выполнения воманды в негврвардсяой ярк нтск!тра с единой областью памяти: а) вызон команды из памяти; б) временная диаграмма процесса сохранить его по двум другим адресам, А1Ж2 и АОИЗ. В этом случае могут использоваться такие команды; ООА АОИ1 загрузить операнд ор1 в аккумулятор из ячейки АОК1 ЗТА АОВ2 сохранить Ор1 по адресу АО)к2 ЗТА АО)кЗ сохранить ор1 по адресу АОКЗ Обычно каждая из приведенных команд включает три различных этапа: и выборка команды из памяти; ° деюдирование команды; ° выполнение команды. В нашем случае выборка команды включает вызов следующей юманды из памяти, а выполнение команды предполагает чтение данных из памяти либо запись данных в память.
В стандартном процессоре без гарвардской архитектуры команды программы (те. программный код) и данные (операнды) содержатся в одной области памяти (см. рис. 12.3). Следовательно, вызов следующей юманды при выполнении текущей невозможен, поскольку обе операции требуют обра)цения к памяти. В гарвардской архитектуре (рис. 12.4), где команды программы и данные хранятся в различных областях памяти, вызов следующей команды может совладать с выполнением текущей команды (см. рис. 12.5). Обычно память программы содержит программный уаа Глава 12. Универсальные и специализированные процессоры ЦОС Шина данных Рис. 12.4. Стандартная гарвардская архитектура с раздельными областями памяти для хранения данных и программы.
Вызов юманд данных и юманд программы может выполняться одновременно, поскольку используются две независимые памяти деколн- 1 1 1 Выборка ! роыннс ! Выполненно! 1 1 1 ! 1 1 1 1 1 ! дскоан. 1 1 Выборы ! роааннс !Выполнение ' 1 ! 1~ 1 1 1 1 1 1 1 1 1 деколн. 1 1 1 Выборка ! роаанне !Выполнение! 1 1 1 1 1 ! 1 1 ! ! ЬОА АОК1 бтА Аодт бтА Аою Рнс. 12.5.
Иллюстрация совмегнения яоманд, возможного при использовании гарвардской архитектуры $„"ф,,фф Конвейерная обработка Конвейерная обработка — это метод, который позволяет совмешать несколько операций а процессе Выполнения, При конаейерной обработке задача разбивается на несколь- код, тогда как память для хранения данных включает переменные, например, выборки входных данных. Строгая гарвардская архитектура используется лишь в нескольких процессорах ЦОС (например, Могого!а )дЗР56000), В большинстве устройств применяется модифицированная гарвардская архитектура (например, семейство процессоров ТМ8320).
В модифицированной архитектуре также выделяются раздельные области памяти для хранения программы и данных, но в отличие от строгой гарвардской архитектуры Здесь разрешена связь между двумя областями памяти. 12.2. Комцьютвриыв архитектуры обработки сит)аялон 789 Команда ! Команда2 Команда) а) ! ! ! ! ! !а! ! )а2 ! Вмб ока коконам ! — — к ! ! ! ! ! аа! ! кот ! ! ! ! ! ! ! )-2 !-! )а ! В ма од нонна командм ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! оа 2 б) Рис. 22.6.
Иллюстрация концацции яонясасрноб обработки ко различных подзадач, юторые затем совмещаются при выполнении. Данный метод широко используется в цифровой обработке сигналов для повышения скорости. Конвейер в цифровой обработке подобен обычной производственной линии на фабрике, например, предприятии по сборке телевизоров или автомобилей.