stringtranslate.com

Procesador de señales digitales

Un chip DSP L7A1045, como el que se utiliza en varios samplers de Akai y en la placa arcade Hyper Neo Geo 64.
El NeXTcube de 1990 tenía un Motorola 68040 (25 MHz) y un procesador de señal digital Motorola 56001 de 25 MHz al que se podía acceder directamente a través de una interfaz.

Un procesador de señales digitales ( DSP ) es un chip microprocesador especializado , con su arquitectura optimizada para las necesidades operativas del procesamiento de señales digitales . [1] : 104–107  [2] Los DSP se fabrican en chips de circuitos integrados semiconductores de óxido metálico (MOS) . [3] [4] Se utilizan ampliamente en el procesamiento de señales de audio , telecomunicaciones , procesamiento de imágenes digitales , radares , sonares y sistemas de reconocimiento de voz , y en dispositivos electrónicos de consumo comunes como teléfonos móviles , unidades de disco y televisión de alta definición (HDTV). productos. [3]

El objetivo de un DSP suele ser medir, filtrar o comprimir señales analógicas continuas del mundo real . La mayoría de los microprocesadores de uso general también pueden ejecutar algoritmos de procesamiento de señales digitales con éxito, pero es posible que no puedan mantener dicho procesamiento de forma continua en tiempo real. Además, los DSP dedicados suelen tener una mejor eficiencia energética, por lo que son más adecuados en dispositivos portátiles como teléfonos móviles debido a las limitaciones de consumo de energía. [5] Los DSP a menudo utilizan arquitecturas de memoria especiales que pueden recuperar múltiples datos o instrucciones al mismo tiempo.

Descripción general

Un sistema de procesamiento digital típico

Los algoritmos de procesamiento de señales digitales (DSP) suelen requerir la realización rápida y repetida de una gran cantidad de operaciones matemáticas en una serie de muestras de datos. Las señales (quizás de sensores de audio o video) se convierten constantemente de analógicas a digitales, se manipulan digitalmente y luego se vuelven a convertir a forma analógica. Muchas aplicaciones DSP tienen limitaciones de latencia ; es decir, para que el sistema funcione, la operación DSP debe completarse dentro de un tiempo fijo y el procesamiento diferido (o por lotes) no es viable.

La mayoría de los microprocesadores y sistemas operativos de uso general pueden ejecutar algoritmos DSP con éxito, pero no son adecuados para su uso en dispositivos portátiles como teléfonos móviles y PDA debido a limitaciones de eficiencia energética. [5] Sin embargo, un DSP especializado tenderá a proporcionar una solución de menor costo, con mejor rendimiento, menor latencia y sin requisitos de refrigeración especializada o baterías grandes. [ cita necesaria ]

Estas mejoras en el rendimiento han conducido a la introducción del procesamiento de señales digitales en satélites de comunicaciones comerciales , donde se requieren cientos o incluso miles de filtros analógicos, conmutadores, convertidores de frecuencia, etc., para recibir y procesar las señales ascendentes y prepararlas para el enlace descendente , y pueden ser reemplazados por DSP especializados con importantes beneficios para el peso de los satélites, el consumo de energía, la complejidad/costo de construcción, la confiabilidad y la flexibilidad de operación. Por ejemplo, los satélites SES-12 y SES-14 del operador SES lanzados en 2018 fueron construidos por Airbus Defence and Space con un 25% de capacidad utilizando DSP. [6]

La arquitectura de un DSP está optimizada específicamente para el procesamiento de señales digitales. La mayoría también admite algunas de las funciones de un procesador de aplicaciones o microcontrolador, ya que el procesamiento de señales rara vez es la única tarea de un sistema. A continuación se describen algunas funciones útiles para optimizar los algoritmos DSP.

Arquitectura

Arquitectura de software

Según los estándares de los procesadores de uso general, los conjuntos de instrucciones DSP suelen ser muy irregulares; Mientras que los conjuntos de instrucciones tradicionales se componen de instrucciones más generales que les permiten realizar una variedad más amplia de operaciones, los conjuntos de instrucciones optimizados para el procesamiento de señales digitales contienen instrucciones para operaciones matemáticas comunes que ocurren con frecuencia en los cálculos DSP. Tanto los conjuntos de instrucciones tradicionales como los optimizados para DSP pueden calcular cualquier operación arbitraria, pero una operación que podría requerir múltiples instrucciones ARM o x86 para calcularse podría requerir solo una instrucción en un conjunto de instrucciones optimizado para DSP.

Una implicación para la arquitectura de software es que las rutinas de código ensamblador optimizadas manualmente (programas ensambladores) comúnmente se empaquetan en bibliotecas para su reutilización, en lugar de depender de tecnologías de compilación avanzadas para manejar algoritmos esenciales. Incluso con las optimizaciones del compilador moderno, el código ensamblador optimizado manualmente es más eficiente y muchos algoritmos comunes involucrados en los cálculos de DSP están escritos a mano para aprovechar al máximo las optimizaciones arquitectónicas.

Conjuntos de instrucciones

Instrucciones de datos

Flujo de programa

Arquitectura de hardware

Arquitectura de memoria

Los DSP generalmente están optimizados para la transmisión de datos y utilizan arquitecturas de memoria especiales que pueden recuperar múltiples datos o instrucciones al mismo tiempo, como la arquitectura Harvard o la arquitectura von Neumann modificada , que utilizan memorias de datos y programas separados (a veces incluso acceso simultáneo en múltiples buses de datos).

En ocasiones, los DSP pueden confiar en el código de soporte para conocer las jerarquías de caché y los retrasos asociados. Se trata de una compensación que permite un mejor rendimiento [ se necesita aclaración ] . Además, se emplea ampliamente el uso de DMA .

Direccionamiento y memoria virtual.

Los DSP utilizan con frecuencia sistemas operativos multitarea, pero no admiten memoria virtual ni protección de memoria. Los sistemas operativos que utilizan memoria virtual requieren más tiempo para el cambio de contexto entre procesos , lo que aumenta la latencia.

Historia

TRW TDC1010 multiplicador-acumulador

Desarrollo

En 1976, Richard Wiggins propuso el concepto Speak & Spell a Paul Breedlove, Larry Brantingham y Gene Frantz en las instalaciones de investigación de Texas Instruments en Dallas. Dos años más tarde, en 1978, produjeron el primer Speak & Spell, siendo la pieza tecnológica central el TMS5100 , [15] el primer procesador de señales digitales de la industria. También marcó otros hitos, siendo el primer chip en utilizar codificación predictiva lineal para realizar síntesis de voz . [16] El chip fue posible gracias a un proceso de fabricación PMOS de 7 µm . [17]

En 1978, American Microsystems (AMI) lanzó el S2811. [3] [4] El "periférico de procesamiento de señales" AMI S2811, como muchos DSP posteriores, tiene un multiplicador de hardware que le permite realizar operaciones de multiplicación y acumulación en una sola instrucción. [18] El S2281 fue el primer chip de circuito integrado diseñado específicamente como DSP y fabricado utilizando un semiconductor vertical de óxido metálico ( VMOS , V-groove MOS), una tecnología que anteriormente no se había producido en masa. [4] Fue diseñado como un periférico de microprocesador, para el Motorola 6800 , [3] y tuvo que ser inicializado por el host. El S2811 no tuvo éxito en el mercado.

En 1979, Intel lanzó el 2920 como un "procesador de señales analógicas". [19] Tenía un ADC/DAC en chip con un procesador de señal interno, pero no tenía un multiplicador de hardware y no tuvo éxito en el mercado.

En 1980, los primeros DSP completos e independientes ( el NEC µPD7720 de Nippon Electric Corporation basado en la arquitectura Harvard modificada [20] y el DSP1 de AT&T ) se presentaron en la Conferencia Internacional de Circuitos de Estado Sólido '80. Ambos procesadores se inspiraron en la investigación en telecomunicaciones de redes telefónicas públicas conmutadas (PSTN) . El µPD7720, introducido para aplicaciones de banda vocal , fue uno de los primeros DSP de mayor éxito comercial. [3]

El Altamira DX-1 fue otro de los primeros DSP, que utilizaba canales enteros cuádruples con ramas retrasadas y predicción de ramas. [ cita necesaria ]

Otro DSP producido por Texas Instruments (TI), el TMS32010 presentado en 1983, resultó ser un éxito aún mayor. Se basaba en la arquitectura de Harvard y, por lo tanto, tenía memoria de datos e instrucciones independientes. Ya tenía un conjunto de instrucciones especial, con instrucciones como cargar y acumular o multiplicar y acumular. Podía funcionar con números de 16 bits y necesitaba 390 ns para una operación de multiplicación y suma. TI es ahora el líder del mercado de DSP de uso general.

Unos cinco años después, la segunda generación de DSP comenzó a difundirse. Tenían 3 memorias para almacenar dos operandos simultáneamente e incluían hardware para acelerar bucles cerrados ; también tenían una unidad de direccionamiento capaz de direccionar bucles. Algunos de ellos operaban con variables de 24 bits y un modelo típico solo requería unos 21 ns para un MAC. Los miembros de esta generación fueron, por ejemplo, el AT&T DSP16A o el Motorola 56000 .

La principal mejora de la tercera generación fue la aparición de unidades e instrucciones específicas de la aplicación en la ruta de datos o, a veces, como coprocesadores. Estas unidades permitieron la aceleración directa por hardware de problemas matemáticos muy específicos pero complejos, como la transformada de Fourier o las operaciones matriciales. Algunos chips, como el Motorola MC68356, incluso incluían más de un núcleo de procesador para trabajar en paralelo. Otros DSP de 1995 son el TI TMS320C541 o el TMS 320C80.

La cuarta generación se caracteriza mejor por los cambios en el conjunto de instrucciones y la codificación/decodificación de instrucciones. Se agregaron extensiones SIMD y aparecieron VLIW y la arquitectura superescalar. Como siempre, las velocidades del reloj han aumentado; Ahora era posible una MAC de 3 ns.

DSP modernos

Los procesadores de señales modernos ofrecen un mayor rendimiento; Esto se debe en parte a avances tecnológicos y arquitectónicos, como reglas de diseño más bajas, caché de dos niveles de acceso rápido, circuitos (E) DMA y un sistema de bus más amplio. No todos los DSP proporcionan la misma velocidad y existen muchos tipos de procesadores de señal, cada uno de los cuales es más adecuado para una tarea específica, con precios que oscilan entre 1,50 y 300 dólares estadounidenses.

Texas Instruments produce los DSP de la serie C6000 , que tienen velocidades de reloj de 1,2 GHz e implementan cachés de datos e instrucciones independientes. También cuentan con una caché de segundo nivel de 8 MiB y 64 canales EDMA. Los modelos superiores son capaces de hasta 8000 MIPS ( millones de instrucciones por segundo ), utilizan VLIW ( palabra de instrucción muy larga ), realizan ocho operaciones por ciclo de reloj y son compatibles con una amplia gama de periféricos externos y varios buses (PCI). /serie/etc). Los chips TMS320C6474 tienen cada uno tres DSP de este tipo, y los chips C6000 de última generación admiten procesamiento de punto flotante y de punto fijo.

Freescale produce una familia de DSP multinúcleo, el MSC81xx. El MSC81xx se basa en procesadores StarCore Architecture y el último DSP MSC8144 combina cuatro núcleos SC3400 StarCore DSP programables. Cada núcleo SC3400 StarCore DSP tiene una velocidad de reloj de 1 GHz.

XMOS produce una línea de procesadores multinúcleo y multiproceso muy adecuada para operaciones DSP. Vienen en varias velocidades que van desde 400 a 1600 MIPS. Los procesadores tienen una arquitectura multiproceso que permite hasta 8 subprocesos en tiempo real por núcleo, lo que significa que un dispositivo de 4 núcleos admitiría hasta 32 subprocesos en tiempo real. Los subprocesos se comunican entre sí con canales almacenados en búfer que son capaces de alcanzar hasta 80 Mbit/s. Los dispositivos son fácilmente programables en C y tienen como objetivo cerrar la brecha entre los microcontroladores convencionales y los FPGA.

CEVA, Inc. produce y otorga licencias para tres familias distintas de DSP. Quizás la más conocida y más utilizada sea la familia DSP CEVA-TeakLite, una arquitectura clásica basada en memoria, con anchos de palabra de 16 o 32 bits y MAC simples o dobles . La familia CEVA-X DSP ofrece una combinación de arquitecturas VLIW y SIMD, con diferentes miembros de la familia que ofrecen MAC de 16 bits duales o cuádruples. La familia CEVA-XC DSP se dirige a diseños de módems de radio definidos por software (SDR) y aprovecha una combinación única de arquitecturas VLIW y Vector con 32 MAC de 16 bits.

Analog Devices produce el DSP basado en SHARC y su rendimiento varía desde 66 MHz/198 MFLOPS (millones de operaciones de punto flotante por segundo) hasta 400 MHz/2400 MFLOPS. Algunos modelos admiten múltiples multiplicadores y ALU , instrucciones SIMD y componentes y periféricos específicos de procesamiento de audio. La familia Blackfin de procesadores de señales digitales integrados combina las características de un DSP con las de un procesador de uso general. Como resultado, estos procesadores pueden ejecutar sistemas operativos simples como μCLinux , Velocity y Nucleus RTOS mientras operan con datos en tiempo real. El ADSP-210xx basado en SHARC proporciona ramas retrasadas y no retrasadas. [21]

NXP Semiconductors produce DSP basados ​​en la tecnología TriMedia VLIW , optimizados para el procesamiento de audio y video. En algunos productos, el núcleo DSP está oculto como un bloque de función fija en un SoC , pero NXP también ofrece una gama de procesadores multimedia flexibles de un solo núcleo. Los procesadores de medios TriMedia admiten tanto aritmética de punto fijo como aritmética de punto flotante , y tienen instrucciones específicas para manejar filtros complejos y codificación de entropía.

CSR produce la familia Quatro de SoC que contienen uno o más DSP de imágenes personalizados optimizados para procesar datos de imágenes de documentos para aplicaciones de escáner y fotocopiadora.

Microchip Technology produce la línea de DSP dsPIC basada en PIC24. Introducido en 2004, el dsPIC está diseñado para aplicaciones que necesitan un DSP verdadero así como un microcontrolador verdadero , como control de motores y fuentes de alimentación. El dsPIC funciona hasta 40MIPS y admite MAC de punto fijo de 16 bits, direccionamiento de módulo y de bit inverso, así como DMA.

La mayoría de los DSP utilizan aritmética de punto fijo, porque en el procesamiento de señales del mundo real no se necesita el rango adicional proporcionado por el punto flotante, y existe un gran beneficio de velocidad y costo debido a la menor complejidad del hardware. Los DSP de coma flotante pueden resultar invaluables en aplicaciones donde se requiere un amplio rango dinámico. Los desarrolladores de productos también podrían utilizar DSP de punto flotante para reducir el costo y la complejidad del desarrollo de software a cambio de hardware más caro, ya que generalmente es más fácil implementar algoritmos en punto flotante.

Generalmente, los DSP son circuitos integrados dedicados; sin embargo, la funcionalidad DSP también se puede producir mediante el uso de chips de matriz de puertas programables en campo (FPGA).

Los procesadores RISC integrados de uso general se están volviendo cada vez más parecidos a los DSP en cuanto a funcionalidad. Por ejemplo, los procesadores OMAP3 incluyen un ARM Cortex-A8 y un DSP C6000.

En Comunicaciones, una nueva generación de DSP que ofrecen la fusión de funciones DSP y función de aceleración H/W se está abriendo paso hacia la corriente principal. Dichos procesadores de módem incluyen ASOCS ModemX y XC4000 de CEVA.

En mayo de 2018, Huarui-2, diseñado por el Instituto de Investigación de Tecnología Electrónica de Nanjing del Grupo de Tecnología Electrónica de China, pasó la aceptación. Con una velocidad de procesamiento de 0,4 TFLOPS, el chip puede lograr un mejor rendimiento que los chips DSP convencionales actuales. [22] El equipo de diseño ha comenzado a crear Huarui-3, que tiene una velocidad de procesamiento en el nivel TFLOPS y soporte para inteligencia artificial . [23]

Ver también

Referencias

  1. ^ Dyer, Stephen A.; Harms, Brian K. (13 de agosto de 1993). "Procesamiento de señales digitales". En Yovits, Marshall C. (ed.). Avances en Computadoras . vol. 37. Prensa Académica . págs. 59-118. doi :10.1016/S0065-2458(08)60403-9. ISBN 978-0120121373. ISSN  0065-2458. LCCN  59015761. OCLC  858439915. OL  10070096M.
  2. ^ Liptak, BG (2006). Control y Optimización de Procesos. Manual de ingenieros de instrumentos. vol. 2 (4ª ed.). Prensa CRC. págs. 11-12. ISBN 978-0849310812– a través de libros de Google .
  3. ^ abcde "1979: Introducción del procesador de señal digital de un solo chip". El motor de silicio . Museo de Historia de la Computación . Consultado el 14 de octubre de 2019 .
  4. ^ abc Taranovich, Steve (27 de agosto de 2012). "30 años de DSP: del juguete para niños al 4G y más allá". EDN . Consultado el 14 de octubre de 2019 .
  5. ^ ab Ingrid Verbauwhede; Patricio Schaumont; Cristián Piguet; Bart Kienhuis (24 de diciembre de 2005). "Arquitecturas y técnicas de diseño para procesamiento multimedia y DSP integrado energéticamente eficiente" (PDF) . rijndael.ece.vt.edu . Consultado el 13 de junio de 2017 .
  6. ^ Publicaciones Beyond Frontiers Broadgate (septiembre de 2016) pág.22
  7. ^ "Procesadores DSP y memoria".
  8. ^ ""Procesadores DSP: arquitecturas de memoria"". Archivado desde el original el 17 de febrero de 2020 . Consultado el 3 de marzo de 2020 .
  9. ^ "Arquitectura del procesador de señal digital"
  10. ^ "Opción DSP de memoria ARC XY".
  11. ^ "Cero bucles aéreos".
  12. ^ "Referencia de hardware del procesador ADSP-BF533 Blackfin". pag. 4-15.
  13. ^ "Comprender las funciones avanzadas del procesador promueve una codificación eficiente".
  14. ^ "Técnicas para explotar eficazmente un búfer de bucle aéreo cero".
  15. ^ "Speak & Spell, el primer uso de un circuito integrado de procesamiento de señales digitales para la generación de voz, 1978". Hitos del IEEE . IEEE . Consultado el 2 de marzo de 2012 .
  16. ^ Bogdanowicz, A. (6 de octubre de 2009). "Tercer honor de hitos del IEEE". El Instituto . IEEE. Archivado desde el original el 4 de marzo de 2016 . Consultado el 2 de marzo de 2012 .
  17. ^ Khan, Gul N.; Iniewski, Krzysztof (2017). Sistemas integrados y de red: diseño, software e implementación. Prensa CRC . pag. 2.ISBN 9781351831567.
  18. ^ Alberto Luis Andrés. "Ecualizador de audio gráfico digital". pag. 48.
  19. ^ "Copia archivada" (PDF) . Archivado desde el original (PDF) el 29 de septiembre de 2020 . Consultado el 17 de febrero de 2019 .{{cite web}}: Mantenimiento CS1: copia archivada como título ( enlace )
  20. ^ "Procesadores de señales digitales NEC Electronics Inc. μPD77C20A, 7720A, 77P20". pag. 1 . Consultado el 13 de noviembre de 2023 .
  21. ^ "Introducción de los procesadores de señales digitales de la familia ADSP-21000" (PDF) . pag. 6 . Consultado el 1 de diciembre de 2023 .
  22. ^ "国产新型雷达芯片华睿2号与组网中心同时亮相-科技新闻-中国科技网首页".科技日报. Consultado el 2 de julio de 2018 .
  23. ^ 王珏玢. "全国产芯片华睿2号通过"核高基"验收-新华网". Agencia de Noticias Xinhua .南京. Archivado desde el original el 26 de mayo de 2018 . Consultado el 2 de julio de 2018 .

enlaces externos