Открыть сервис

Texas Instruments TMS320C6x

TMS320C6x — это семейство цифровых сигнальных процессоров (DSP) с архитектурой VLIW (Very Long Instruction Word — «очень длинное командное слово»), разработанное и выпускаемое компанией Texas Instruments (TI). Процессоры этого семейства, впервые представленные в 1997 году, предназначены для высокопроизводительных вычислений в реальном времени, таких как обработка аудио- и видеосигналов, телекоммуникации, медицинская визуализация и системы управления. Ключевой особенностью архитектуры TMS320C6x является возможность параллельного выполнения до восьми инструкций за такт, что обеспечивает высокую производительность при относительно низкой тактовой частоте.

История

Разработка семейства TMS320C6x началась в середине 1990-х годов как ответ на растущие потребности рынка в более мощных DSP, способных обрабатывать сложные алгоритмы, такие как кодеки сжатия видео (MPEG-4, H.264) и высокоскоростная модуляция (OFDM). Первым процессором семейства стал TMS320C62x, анонсированный в 1997 году. Он базировался на 32-битной архитектуре VLIW и работал на частоте до 200 МГц, выполняя до 1600 миллионов операций с плавающей запятой (MFLOPS) в пиковом режиме.

В 2000 году была представлена версия TMS320C67x, которая впервые в семействе получила аппаратный блок для операций с плавающей запятой двойной точности (64-бит). Это сделало процессоры C67x пригодными для научных и инженерных расчётов, например, в сейсморазведке и радиолокации. В 2002 году вышло семейство TMS320C64x, ориентированное на более высокую производительность за счёт увеличенного объёма кэш-памяти, поддержки SIMD-инструкций (Single Instruction, Multiple Data) и тактовых частот до 1 ГГц.

Позднее, в 2010-х годах, Texas Instruments сосредоточилась на интеграции DSP-ядер C6x в более сложные системы-на-кристалле (SoC), такие как серия OMAP (Open Multimedia Applications Platform) и KeyStone. В этих SoC ядро C66x (последняя версия архитектуры) объединялось с ARM-процессорами, что позволяло создавать гибридные решения для мобильных устройств, автомобильных систем и промышленной автоматизации. Последние процессоры семейства C6x выпускаются до сих пор, хотя их доля на рынке снизилась из-за конкуренции со стороны более универсальных ARM- и x86-решений.

Архитектура

VLIW и параллелизм

Основой архитектуры TMS320C6x является принцип VLIW. В отличие от суперскалярных процессоров, которые сами определяют, какие инструкции можно выполнять параллельно, в VLIW решение о параллельном выполнении принимает компилятор. Он анализирует код и упаковывает до восьми независимых инструкций в одно «очень длинное командное слово» (длиной 256 бит). Эти инструкции затем выполняются одновременно на восьми функциональных устройствах (блоках) процессора.

Такое построение упрощает аппаратную реализацию, так как процессору не нужно тратить ресурсы на динамическое обнаружение параллелизма. Однако оно требует сложного и эффективного компилятора (например, TI Code Composer Studio), который может правильно распараллелить код. Если алгоритм плохо поддаётся распараллеливанию, производительность может резко упасть.

Функциональные блоки

Процессор TMS320C6x содержит два набора по четыре функциональных блока: .L (логика и арифметика), .S (сдвиги и битовые операции), .M (умножение) и .D (доступ к памяти). Каждый блок может выполнять определённый набор инструкций. Например, блок .M специализируется на умножении с накоплением (MAC), что критически важно для цифровой фильтрации и преобразований Фурье.

Память

Процессоры C6x имеют иерархическую структуру памяти. Внутренняя память делится на два уровня: L1 (кэш-память) и L2 (статическая оперативная память SRAM). L1, в свою очередь, разделена на кэш команд (L1P) и кэш данных (L1D). Объём L1P и L1D обычно составляет от 4 до 32 КБ. L2-память может быть от 32 КБ до 1 МБ, и её можно настраивать как кэш или как SRAM. Внешняя память подключается через контроллер EMIF (External Memory Interface), поддерживающий SDRAM, SRAM, Flash и другие типы памяти.

Классификация

Семейство TMS320C6x делится на несколько подсемейств, различающихся производительностью, поддерживаемыми типами данных и целевыми приложениями:

  • TMS320C62x — базовое семейство с фиксированной точкой (16-битные и 32-битные целые числа). Работает на частотах до 300 МГц. Применялось в аудиообработке, модемах и базовых станциях.
  • TMS320C67x — семейство с плавающей запятой (32-битные и 64-битные числа). Частоты до 300 МГц. Использовалось в научных расчётах, обработке изображений и радиолокации.
  • TMS320C64x — высокопроизводительное семейство с фиксированной точкой, поддерживающее SIMD-инструкции. Частоты до 1,2 ГГц. Применялось в видеокодеках, системах видеонаблюдения и медицинской визуализации.
  • TMS320C66x — последнее семейство, объединяющее фиксированную и плавающую запятую. Частоты до 1,25 ГГц. Является основой для SoC KeyStone. Применяется в телекоммуникациях, промышленности и обороне.

Программирование

Программирование TMS320C6x осуществляется на языках C/C++ или ассемблере. Основная среда разработки — TI Code Composer Studio (CCS), которая включает компилятор, ассемблер, линкер и отладчик. Компилятор CCS оптимизирует код для VLIW-архитектуры, автоматически распараллеливая инструкции, где это возможно. Однако для достижения максимальной производительности часто требуется ручное написание критически важных участков кода на ассемблере.

Для упрощения разработки Texas Instruments предоставляет библиотеки DSP-функций (DSPLIB, IMGLIB), которые содержат оптимизированные реализации алгоритмов, таких как БПФ (быстрое преобразование Фурье), фильтры, корреляция и преобразование цветовых пространств. Также существует операционная система реального времени (RTOS) — TI-RTOS, адаптированная для работы на процессорах C6x.

Применение

Процессоры TMS320C6x нашли широкое применение в различных областях:

  • Телекоммуникации: обработка сигналов в базовых станциях сотовой связи, модемах, VoIP-шлюзах. Архитектура C6x позволяла эффективно реализовывать алгоритмы модуляции/демодуляции, кодирования/декодирования и коррекции ошибок.
  • Аудио- и видеообработка: кодеки сжатия (MP3, AAC, MPEG-4, H.264), системы шумоподавления, цифровые усилители, профессиональные аудиоинтерфейсы.
  • Медицинская техника: обработка сигналов в ультразвуковых сканерах, магнитно-резонансных томографах, системах мониторинга жизненных показателей.
  • Оборона и авионика: радиолокационные системы, системы наведения, обработка сигналов в сонарах.
  • Промышленность: системы управления двигателями, робототехника, измерительные приборы, системы технического зрения.

Критика и ограничения

Несмотря на высокую производительность, архитектура TMS320C6x имеет ряд недостатков. Основной из них — высокая сложность программирования. Для эффективного использования VLIW-архитектуры требуется глубокое понимание работы компилятора и аппаратуры. Неоптимизированный код может работать значительно медленнее, чем на традиционных DSP с суперскалярной архитектурой.

Другой недостаток — высокое энергопотребление по сравнению с более современными ARM-процессорами. Это ограничивает применение C6x в портативных устройствах с батарейным питанием. Кроме того, процессоры C6x имеют относительно высокую стоимость, что делает их менее привлекательными для массовых потребительских товаров.

В последние годы Texas Instruments сместила фокус на SoC KeyStone, где ядро C66x интегрировано с ARM-ядрами. Это позволяет использовать ARM для управления и пользовательского интерфейса, а C66x — для цифровой обработки сигналов. Однако чистые DSP C6x постепенно вытесняются с рынка более универсальными решениями, такими как FPGA с встроенными DSP-блоками или GPU.

Источники

  • Texas Instruments. TMS320C6000 DSP Platform Overview. Technical Documentation, 2005.
  • Texas Instruments. TMS320C67x Floating-Point Digital Signal Processors. Data Manual, 2001.
  • Texas Instruments. TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide, 2007.
  • Texas Instruments. KeyStone Architecture: Multicore DSP and ARM SoCs for High-Performance Computing, 2012.
  • Lapsley, P., Bier, J., Shoham, A., & Lee, E. A. (1997). DSP Processor Fundamentals: Architectures and Features. Berkeley Design Technology, Inc.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →