Сигнальные микропроцессоры и их применение в системах телекоммуникаций и электроники (В.С. Сперанский, 2008). Сигнальные микропроцессоры и их применение в системах телекоммун. УМссэ дгбо Jdjcov p f f f
Скачать 14.91 Mb.
|
100 Глава 7. Цифровые процессоры фирмы Texas Instruments х = 1 0 f x 2 A e n p n S = 1. А = а(тап)е л а(ехр). в = Ь(тах)е л Ь(ехр). а * b = a(man) b(man) ел (а(ехр)+Ь(ехр)) при S = 0. Сложение чисел с плавающей точкой см. §1.2. Процессор TMS С для работы в многопроцессорных системах, поэтому он имеет развитую периферию. К основным характеристикам ЦСП относятся. Производительность 80 MFLOPS, тактовая частота 40 МГц, число разрядов 32, технология КМОП 0,7 мкм, имеется 6 коммуникационных портов, нонет последовательных портов. Формат данных - плавающая или фиксированная точка Поскольку процессор предназначен для использования в многопроцессорных системах он содержит 6 высокоскоростных телекоммуникационных портов со скоростью обмена 30 Мбит/с. Ядро ЦСП такое же как у С, также имеется 4 памяти. КЭШ - память р. КЭШ п = 80 MFLDPS. Ft = 40 МГц. tu = 25 не. ОЗУ К х р. ОЗУ К х р. ПЗУ К х р. Рис. 7.16. Порты ввода/вывода 101 Сигнальные микропроцессоры АЦП/ЦАП могут подключаться через коммуникационный порты. Порт DMA имеет 6 каналов для связи с внешними устройствами рис. 7.16). х -Способы объединения в многопроцессорную систему 1. Иерархическая. С С С С С С С 2. Конвейерная. Вход Память Память Память С 40 С 40 С 40 С 40 С 40 С 40 L t Выход Память Память Память Всего может быть соединено до 32 процессоров С. Процессор С с плавающей точкой совместим по командам с С, имеет 4 АЛУ с плавающей точкой, 2 АЛУ с фиксированной точкой, два умножителя с плавающей и фиксированной точкой. К основным характеристикам С относятся производительность до 1200 MFLOPS, 334 ММАС, t„ = 5 не, технология 0,18 и 0,13 мкм, памяти - статическая ОЗУ 1 Мбит и 512 Кбит. 102 Глава 7. Цифровые процессоры фирмы Texas Instruments Контрольные вопросы 1. Перечислите основные типы процессоров фирмы Texas Instruments. 2. Поясните назначение и особенности платформ С, С, С. 3. Назначение и особенности процессоров С. 4. Перечислите основные устройства процессора С. 5. Сравните характеристики ЦСП Си С. 6. Для чего в процессоре С используются два аккумулятора 7. Каковы функции и структура АЛУ процессора С 8. Каковы структура и операции умножителя С 9. Как производится операция сдвига в С 10. Поясните назначение устройства сравнения-запоминания С. 11. Какие типы адресации используются в ЦСП С 12. Что входит в устройство управления программой С 13. Каковы особенности и назначение процессора С 14. Что входит в ядро процессора С 15. Поясните структуру памяти С. 16. Поясните фазы обработки команд процессора С, 17. Что такое длинная команда и как она используется 18. За счет чего обеспечивается высокая производительность С 19. Поясните назначение вычислителей С. 20. Структура и характеристики процессоров СЗЗ*. 21. Как формируются адреса в процессоре СЗЗ*? 22. Для чего в процессоре С имеются коммуникационные порты и порты ПДП 23. Поясните способы объединения процессоров Св многопроцессорную систему. 24. Поясните назначение и структуру платформы ОМАР. 103 Глава. Процессоры фирмы Модуль св е кто р н ы мс оп ро ц е ссор ом ими кр окон тролле р « Мультик о р » фирмы Э л вис. Структурная схема процессоров и его характеристики К этим процессорам относятся ЦСП NM6403 и NM6404 фирмы Модуль А. 10 ]. Процессоры сочетают в себе архитектуры VLIW (Very Long In- struction Word) и SIMD (Single Instruction Multiple Data). Процессоры спроектированы для целочисленных данных. Структурная схема процессора NM6403 показана на рис. 8.1. Характеристики процессора Производительность Скалярные операции 40 MIPS; 120 MIPS для 32 р Векторные операции от 40 до 11.5 ММАС; Тактовая частота 40 МГц. Технология КМОП 0,5 мкм. Рис. 8.1. Структурная схема процессора NM 6403 104 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» Число разрядов • RISC ядро -Команды 32 р и 64 р Данные 32 р (целые • VCP 1 - 64 р (длина векторных операндов переменная. RISC процессор производит арифметические, логические и сдвиговые операции над разрядными скалярными данными и формирует разрядные адреса команд и данных при обращении к внешней памяти. Длина команды 32 и 64 разряда (две команды формируются одновременно. Обмен данными между основными узлами процессора происходит потрем внутренним шинам, двум входными одной выходной и LMI - два блока программируемого интерфейса с локальной и глобальной внешними шинами, к каждой может подключаться внешняя память дох разрядных ячеек. Обмен происходит словами пои разряда (две соседние ячейки памяти. СР1 и СР2 - коммуникационные порты, обеспечивающие обмен по двунаправленной разрядной шине. Каждый коммуникационный порт имеет контроллер ПДП (DMA), позволяющий обмениваться разрядными данными с памятью на внешних шинах СР1 и СР2, совместимыми с интерфейсами процессора TMS320C40. RISC ядро использует ступенчатый конвейер, две операции выполняются водной команде. В ядро входят АЛУ, сдвигатель, адресный генератор с адресным пространством 16 GB, также 2 интерфейса с SRAM / DRAM. Имеются регистры 8х32р общего назначения 8х32р адресных RG управления и состояния процессора. Векторный сопроцессор VCP включает три внутренних памяти FIFO - р. Имеет два типа насыщения на кристалле, поддержку матричных и векторно-матричных операций. Корпус процессора типа BGA имеет 256 контактов. Напряжение питания 3,5 В. Потребляемая мощность 1,3 Вт. Для увеличения производительности процессора используется параллельная работа в виде линейки процессоров, либо матрицы из процессоров. На рис. 8.2 представлена линейная многопроцессор- 105 Сигнальные микропроцессоры Рис. 8.2. Многопроцессорная система ная структура на базе NM6403. Для соединения с внешними памя- тями используются глобальные и локальные интерфейсы, а для связи процессоров между собой коммуникационные порты. Области применения нейронные сети • ЦОС (БПФ, фильтрация и др обработка видеоизображений; • векторно-матричные вычисления телекоммуникации. Одним из существенных недостатков процессора NM6403 является отсутствие внутренней памяти, кроме трех буферных памятей FIFO в векторном сопроцессоре. В 2005 г. фирма Модуль выпустила модернизированный ЦСП NM6404, имеющий два внутренних ОЗУ каждое по 16 Кх64 бит. К особенностям этого процессора можно отнести повышенную вдвое тактовую частоту 80 МГц, технологию мкм. Производительность при выполнении скалярных операций увеличена вдвое, векторные операции типа умножение с накоплением- за один такт при разрядных данных выполняется 2 MAC, а при разрядных - 4 MAC операций. За один такт процессор выполняет до трех скалярных операций (вычисление в АЛУ, модификация адреса, операция ввода-вывода - обращение к внешней памяти. Питание ядра 2,5 В, периферии - 3 В. 106 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» Кроме указанных выше применений, фирма рекомендует использовать процессор для обработки изображений, в гидро и радиолокации, в базовых станциях сотовых сетей CDMA, TDMA и криптографии. 8.2. Векторный сопроцессор и реализация нейронной сети Наличие векторного сопроцессора (В CP) отличает NM6403 из других ЦСП. Сопроцессор выполняет векторно-матричные операции и реализует операции нейросети. На рис. 8.3 изображена функциональная схема сопроцессора. В нее входят следующие устройства OU - операционное устройство (рис. 8.2, матрица вычислений RAM - буфер внутренней памяти - очередь глубиной 32х64р слова, организованных по принципу FIFO; VR - векторный регистр р, используемый в качестве операнда в операции умножения с накоплением (буфер из заданного количества одинаковых слов AFIFO - буфер накопления результата, 32x64 р по принципу FIFO; F2CR - регистр хранения параметров функции насыщения RCS (Re loadable control storage) - перезагружаемая управляемая память SU - блоки сегментации. В OU реализуются арифметические и логические операции в матричном виде. Имеется две матрицы 64х64р: рабочая и теневая. Результат любой операции процессора сохраняется в AFIFO. Он также может использоваться как один из аргументов в операциях умножения с накоплением ив операциях на векторном АЛУ. Чтобы получить доступ к результатам в AFIFO их надо перезагрузить в память. Векторное арифметическо-логическое устройство (АЛУ) совершает операции над парами р слов, каждое из которых разделено на малоразрядные элементы. Буфер весовых коэффициентов (WFIFO) - очередь глубинной 32x64 слова, память организованная по принципу FIFO. В нее загружаются весовые коэффициенты и хранятся до записи в теневую матрицу. Загрузка может происходить по частям. 107 Сигнальные микропроцессоры Шина векторных данных Рис. 8.3. Векторный процессорх Рабочая матрица (OU) производит умножение с накоплением. С рабочей матрицей связаны устройства разделения на строки SB 1 и столбцы NB1 (такие же и для теневой матрицы. 108 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» Теневая матрица (64x64) - используется для ускорения записи весовых коэффициентов в рабочую матрицу. При вычислениях в рабочей матрице в теневую записываются новые коэффициенты. Нейронная сеть Многослойная нейронная сеть (НС) типа персептрона содержит несколько слоев однотипных нейронов [24]. В нейроне вычисляется значение функции W U + I X * ; Ь j=1 где / ( * ) - нелинейная (пороговая) функция активации у, - начальные условия Xj - входные данные W u - весовые коэффициенты. Схема нейрона представлена на рис. 8.4. Нейрон можно представить в виде скалярной функции от вектора численных входных значений. В целях лучшей обучаемости градиентными методами пороговую функцию делают гладкой и нелинейной. Нейроны одного слоя, например персептрона, получают один и тот же вектор входных значений. Изменение выходных характеристик сети достигается за счет смены весовых коэффициентов, которые называются обучением. 109 Сигнальные микропроцессоры Значения пороговой функции вычисляются по таблице в диапазоне от -32768 до 32767. если результат больше, то используется функция насыщения - наиболее положительное или отрицательное число / = - ( х / 2048) - числа в таблице целые. Матрица произвольно делится на строки и столбцы. В макро- ячейки загружаются коэффициенты W lt . На вход матрицы подается входной вектор х = (x i ,x 2 ,...,x N ). Каждому его элементу соответствует строка матрицы. Ширина строки вбит соответствующей разрядности элемента входных данных. Для каждого столбца вычисляется Для снижения разрядности выходных данных и защиты от переполнения используется программируемая функция насыщения (SATUR), ограничение за счет уменьшения числа разрядов. На рис. 8.5. приведен вид функции. Базовое программное обеспечение включает компилятор С ассемблер редактор связей программный эмулятор символьный отладчик библиотекарь объективных файлов набор системных и прикладных библиотек. У1+1У,! Х Г Лу) 2*3-1 2*3-1 -20 Рис. 8.5. Функция ограничения 110 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» Нейрон 3 Нейрон 3 Нейрон 3 данные Х Xi X* УЗУ уз+ X|W;,I У+ X,W 2 | y i + X | W n + x 2 W 3 2 + x 2 W 22 + x 2 W| 2 + x 8 W 38 + x 8 W 28 + x 8 W, 8 SATUR 3 SATUR 2 SATUR 1 AFIFO WFIFO коэффициент Шина входных данных 2 Шнна выходных данных Рис. 8.6. Вычислитель нейронов Создание исполнимых файлов на основе объектных файлов (ОФ) путем объединения нескольких ОФ. Программы работают в 32-битном режиме. Все компоненты, за исключением символьного отладчика, имеют интерфейс командной строки. Символьный отладчик взаи- 111 Сигнальные микропроцессоры модеиствует с пользователем в диалоговом режиме в многооконной графической срсдс. На рис. 8.6 показан вычислитель трех нейронов на векторном сопроцессоре. 8.3. Сигнальный микроконтроллер серии «Мультикор» (1829ВМ2Т-МС24) А Сигнальный процессор МС ИПЦ «Элвис» представляет собой двухпроцессорную систему на кристалле [19]. Он содержит разрядный центральный процессор (CPU - Central Processor Unit), периферию и высокопроизводительный ЦСП (DSP) с фиксированной и плавающей точкой, обеспечивающий обработку данных с переменными форматами. Таким образом, МС сочетает в себе микроконтроллер и ЦСП, решающий одновременно задачи управления и цифровой обработки сигналов. На рис 8.7 представлена структурная схема процессора МС. LPORTO LPORT1 LPORT2 LPORT3 DDB С DDB [31:0) SPORTO SPORT 1 CDB [31:0] I C A C H E C P U T L B CPO CSR QSTR N1ASKR IT WDT RTT JTAG port IRQ D S P Elcore-24 DDB [63:0] PAB PDB YRAM0.1 !.ALUO.l ALU Ctr X у €D A L ED Рис 8.7. Микроконтроллер МС 112 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» Характеристики процессора МС Ядро центрального процессора (CPU): Архитектура MIPS -32. • 32-битные шины передачи адреса и данных. • КЭШ команд объемом 16 Кбайт. Регистры County Compare для обработки прерываний в реальном времени. Вектор обработки исключений. Устройство MAC. Порт JTAG ШЕЕ 1149.1. Производительность 100 млн оп/с. Оперативная память 32 Кбайт. • 5 внешних запросов прерываний. Ядро ЦСП (DSP) имеет следующие особенности гарвардская RISC подобная архитектура • 2 SIMD ( Single Instruction Multiple Data); набор инструкций для одновременной обработки и пересылок трехступенчатый конвейер по выполнению 32 и 64 разрядных инструкций аппаратная поддержка программных циклов память программ PRAM 16; память данных XRAM, YRAM 128 и 32 Кбайт соответственно производительность допри битных операндах и допри действиях с 32 разрядными данными с плавающей точкой. Порт внешней памяти (MPORT) включает шину данных 64 разряда, шину адреса 32 разряда встроенный контроллер управления памятью типа SRAM, FLASH, ROM, SDRAM; программное конфигурирование типа памяти и объема ее сегмента, а также циклов ожидания обслуживание х внешних прерываний. Периферийные устройства состоят из следующих узлов • 12 канальный контроллер ПДП (DMA); • 2 последовательных порта • 4 линк-порт; универсальный порт UART типа 16550; 113 Сигнальные микропроцессоры разрядный интервальный таймер разрядный таймер реального времени разрядный сторожевой таймер. Дополнительные блоки генератор тактовой частоты (PLL) с умножителем и делителем частоты входных сигналов встроенные устройства отладки (OnCD); порт JTAG; поддержка режима энергосбережения. Области применения сигнальных микроконтроллеров фирмы «Элвис»: акустика и гидролокация связь и обработка сигналов (БПФ. Фильтрация и пр мультимедийная обработка изображений и цифровое телевидение управление объектами с использованием высокоточных адаптивных алгоритмов мультимедийная обработка звука (звуковые кодеки разных стандартов. RISC ядро является ведущим в двухпроцессорной системе и выполняет основную программу. RISC ядро управляет работой DSP ядра путем передачи ему команд. Ядро DSP формирует ряд прерываний для RISC ядра. Внутренние интерфейсы микросхемы представляют собой стандартные шины архитектуры АМВА ( Ad- vanced Microcontroller Bus Architecture). DSP ядро микроконтроллера MC- 24 имеет две секции обработки данных с архитектурой SIMD, а ядро микроконтроллера МС имеет одну секцию. Параллелизм обработки данных на уровне SIMD секции определяется возможностью выполнения по одной инструкции нескольких операций. Регистры ядра Регистры ядра делятся на регистры данных и управления. Регистры данных состоят из файла данных RF RO-R31 - р. или р, двух аккумуляторов АСО и АС, используемых в операции как накопитель, регистра хранения результатов вычислений и регистров формирователей адресов. Аккумуляторы могут объединяться в один разрядный регистр. Ядро включает три 114 Глава 8. Процессоры NM640x и микроконтроллер «Мультикор» формирователя адресов инструкций AGU, содержащий 8 наборов по 3 регистра - регистры адреса AT, смещения г. и модификации Мп; два формирователя адресов данных AGU YO, AGU Y1, в которые входят по 4 регистра - адреса AT, смещения IT, DT, модификатор МТ. Регистр PDNR служит для управления, при операции денормализации, блочным порядком и режимом масштабирования (Scaling ). Устройство программного управления содержит регистры, контролирующие ход выполнения программы. Программный счетчик PC хранит разрядный адрес инструкции в программе. Системный стек SS (15х16)хранит содержимое программного счетчика при входе в подпрограммы. Регистры CSL, CSH содержат длину цикла и адрес последней команды. Регистр управления и состояния SR содержит параметры управления и состояния DSP и заносит инкрементированное значение счетчика PC в системный стек при инициализации нового программного цикла DO, DOFOR и при входе в программу. В регистре LA записывается адрес окончания цикла, регистр LC является счетчиком цикла, CNTR - счетчик циклов. Форматы и типы данных При вычислениях используются следующие форматы данных с фиксированной точкой - р. целое со знаком в дополнительном коде - р. целое без знака - р. дробное в дополнительном коде (эти форматы используются приумножении операндов - длинный двойной формат, данные помещаются в двух разрядных регистрах файла RF или в аккумуляторах АСО и АС, используются разрядные данные целые со знаком, без знака и дробные. - комплексный разрядный формат дробных или целых чисел (Re X ), ( Im X), размещаемых в разрядных регистрах RF, причем действительная часть помещается в старшем слове, а мнимая в младшем имеется также комплексный 8 разрядный формат - две пары чисел по 8 разрядов. Умножение целых и дробей отличается представлением результата приумножении дробей значащие биты результата (2N - 1) 115 Сигнальные микропроцессоры выравниваются полевой границе, а младший бит должен быть заполнен нулем приумножении целочисленных операндов ( 2N - 1 ) значащие биты результата выравниваются по правому краю и знаковый разряд дублируется. При действиях с плавающей точкой используется формат 32 разряда. При этом используются регистр файла или одно слово памяти данных. Форматы и классы команд Все инструкции процессора делятся на условно выполняемые и безусловные, по количеству одновременно выполняемых операций, по типу и количеству операндов (имеются трехадресные и двухадресные операции, по типу и числу одновременно выполняемых операций пересылок. Операции программного управления и пересылок обеспечиваются специальными форматами ( всего 8 ). Команды RISC ядра Все команды являются однословными (32 бит. Типы команд немедленного выполнения (I - immediate), перехода (J - jump), регистровые) представлены в табл. 8.1. Таблица 8.1 I Код операции Номер регистра Номер регистра Операнд J Код операции Адрес перехода R Код операции Номер регистра Номер регистра Номер регистра Величина сдвига Поле функций 6 бит К командам RISC относятся команды загрузки записи (память - RF), при этом следующий адрес = AT + In.; вычислительные - арифметические команды переходов/ветвлений, меняющие ход выполнения команд сопроцессорные команды, выполняемые в сопроцессоре спец. команды в формате R. |