Продолжаем серию статей, посвященных многоядерным цифровым сигнальным процессорам TMS320C6678. В данной статье будет рассмотрена подсистема памяти ядра. Архитектура памяти процессора — один из ключевых моментов, напрямую влияющих на его эффективность. Знание особенностей организации архитектуры памяти позволяет разработчику более рационально использовать ресурсы DSP. Современные процессоры имеют достаточно сложную архитектуру памяти, включающую несколько уровней и контроллеры кэш. При этом в случае DSP работа с памятью усложняется наличием свободы выбора объемов кэш-памяти на разных уровнях, а для многоядерных процессоров характерна проблема синхронизации кэш разных ядер.
Читать полностью »
Рубрика «сигнальные процессоры»
Многоядерный DSP TMS320C6678. Организация памяти ядра
2017-06-30 в 8:34, admin, рубрики: dsp, TMS320C66x, многоядерные DSP, многоядерные процессоры, программирование микроконтроллеров, сигнальные процессоры, цифровые сигнальные процессорыМногоядерный DSP TMS320C6678. Операционные ядра: вычислительные ресурсы процессора
2017-06-29 в 6:48, admin, рубрики: dsp, TMS320C66x, многоядерные DSP, многоядерные процессоры, программирование микроконтроллеров, сигнальные процессоры, цифровые сигнальные процессорыПродолжаем рассматривать устройство многоядерного DSP TMS320C6678. Данная статья посвящена устройству операционных ядер процессора. Архитектура ядер описывается кратко с акцентом на сравнении платформы С66х с более ранними хорошо известными моделями С6000.
Операционное ядро сигнального процессора – это основной элемент, непосредственно реализующий вычислительные действия, направленные на осуществление обработки сигнала в соответствии с алгоритмом, диктуемым заложенной в процессор программой. Многоядерные процессоры семейства TMS320C66xх содержат набор операционных ядер, что является предпосылкой соответствующего роста вычислительной производительности устройства по сравнению с одноядерными процессорами. Далее будет рассмотрено одно типовое ЦСП-ядро процессора TMS320C66хх.
Читать полностью »
Программирование многоядерных DSP-процессоров TMS320C66x с использованием OpenMP
2016-12-29 в 13:25, admin, рубрики: dsp, openmp, TMS320C66x, многоядерные DSP, многоядерные процессоры, параллельное программирование, программирование микроконтроллеров, сигнальные процессоры, цифровые сигнальные процессорыВ статье описывается подход к программированию многоядерных сигнальных процессоров на основе OpenMP. Рассматриваются директивы OpenMP, разбирается их смысл и варианты использования. Делается акцент на цифровых сигнальных процессорах. Примеры применения директив OpenMP выбраны приближенными к задачам цифровой обработки сигналов. Реализация проводится на процессоре TMS320C6678 фирмы Texas Instruments, включающем 8 DSP-ядер. В части I статьи рассматриваются основные директивы OpenMP. Во II части статьи планируется дополнить список директив, а также рассмотреть вопросы внутренней организации работы OpenMP и вопросы оптимизации программного обеспечения.
Данная статья отражает лекционно-практический материал, предлагаемый слушателям в рамках курсов повышения квалификации по программе «Многоядерные процессоры цифровой обработки сигналов C66x фирмы Texas Instruments», проводимых ежегодно в Рязанском радиотехническом университете. Статья планировалась к публикации в одном из научно-технических журналов, но в силу специфики рассматриваемых вопросов было принято решение о накоплении материала для учебного пособия по многоядерным DSP-процессорам. А пока данный материал будет копиться, он вполне может полежать на страницах Интернета в свободном доступе. Отзывы и пожелания приветствуются.
Читать полностью »
Использование DSP-сопроцессора DM8168 с помощью фреймворка C6Accel
2015-01-27 в 9:19, admin, рубрики: C6Accel, DM8168, dsp, DSP-сопроцессор, EZSDK, linux, opencv, texas instruments, Блог компании Promwad, высокая производительность, микропроцессоры, Программирование, разработка, разработка электроники, сигнальные процессоры, Электроника для начинающих
В этой статье мы познакомимся с отладочной платой DM816x/C6A816x/AM389x и фреймворком C6Accel (он же C6EZAccel), а также рассмотрим инструкции по наладке системы для выполнения встроенных тестовых приложений.
Всё началось с интересной идеи использовать алгоритмы нынче очень популярной библиотеки компьютерного зрения OpenCV на микропроцессоре. Однако, изучив немного тему, идея уточнилась. Почему бы не реализовать алгоритмы не просто на ядре ARM, а на специализированном ядре для цифровой обработки сигналов DSP? Тем самым разгрузим ядро ARМ, ускорим выполнение алгоритмов, и, глядишь, самое громоздкое приложение заработает в реальном времени.
Итак, что же использовать для решения задачи? Оказалось вариантов немного…
Читать полностью »