Procesamiento de señales con múltiples frecuencias de muestreo en filtros digitales FIR
------------------------------------------- ----- -------------------------------------
Hierba no está muertoPensando: uso estático en Java - -| Volver al inicio | Índice del año 2005 | - - Debo estar loco ¿Qué es DSP? -
Etiqueta: ¿Qué es DSP?
Qué es DSP
|Procesamiento de Señal Digital|Procesador de Señal Digital|Procesador DSP y Procesador General|
Procesamiento de Señal Digital Procesamiento de Señal Digital
Procesamiento de Señal Digital p>Como un caso Para estudiarlo, consideremos la función más común en el ámbito digital: el filtrado. En pocas palabras, el filtrado consiste en procesar una señal para mejorar sus características. Por ejemplo, el filtrado puede eliminar el ruido o la interferencia estática de una señal, mejorando así la relación señal-ruido. ¿Por qué utilizar un microprocesador en lugar de un dispositivo analógico para filtrar la señal? Echemos un vistazo a sus ventajas:
El rendimiento de un filtro analógico (o más ampliamente, de un circuito analógico) depende de factores ambientales como la temperatura. Los filtros digitales, por el contrario, no se ven afectados en gran medida por el medio ambiente.
Los filtros digitales son fáciles de reproducir dentro de tolerancias extremadamente estrictas porque su rendimiento no depende de una combinación de componentes que se desvíe de los valores normales.
Una vez fabricado un filtro analógico, sus características (como el rango de frecuencia de banda de paso) no se pueden cambiar fácilmente. Cuando se utiliza un microprocesador para implementar un filtro digital, las características del filtro se pueden cambiar mediante reprogramación.
Comparación de métodos de procesamiento de señales
Factores de comparación métodos analógicos métodos digitales
Flexibilidad para modificar el diseño Modificar el diseño del hardware o ajustar los parámetros del hardware para cambiar el configuración del software
p>
El número de dígitos del componente de precisión A/D, la longitud de la palabra de la computadora y el algoritmo
La confiabilidad y la repetibilidad se ven afectadas por la temperatura ambiente, la humedad y la ruido, pero no se ven afectados por estos factores
p>
Campos electromagnéticos y otras interferencias y efectos
Integración a gran escala Aunque existen muchos circuitos integrados analógicos, solo hay Hay algunos tipos y el grado de integración no es alto, pero los tipos son pequeños, el grado de integración no es alto y el precio. Los costosos dispositivos DSP son de tamaño pequeño, potentes en función, de bajo consumo de energía y de buena consistencia. , fácil de usar y con una alta relación rendimiento/precio
Además del retraso introducido por el circuito, el proceso de procesamiento en tiempo real está controlado por el ordenador
Alta frecuencia El procesamiento de señales procesa señales de alta frecuencia, incluidas señales de microondas, ondas milimétricas e incluso señales de ondas de luz, que pueden procesarse según nanocódigo, pero están limitadas por S/H, A/D y la velocidad de procesamiento.
Procesador de señales digitales
Clasificación de microprocesadores
Procesador de propósito general (propósito general)
Procesador de propósito general (GPP) )
Utilizando la estructura de von Neumann, tanto los programas como los datos se almacenan en el procesador.
Apple de 8 bits (6502), NEC PC-8000 (Z80)
8086/286/386/486/Pentium/Pentium II/ Pentium III
CPU PowerPc de 64 bits (SUN Sparc, DEC Alpha, HP)
Procesador de propósito general (GPP) HP)
Computadora de instrucciones complejas CISC, computadora de instrucciones reducidas RISC
Adopte varios métodos para mejorar la velocidad informática, como aumentar la frecuencia del reloj, bus de alta velocidad, shell multinivel, coprocesador, etc.
Unidad de computadora/microcontrolador (MCU) de un solo chip
Además de la CPU de uso general con ALU y CU, también hay registros de memoria (RAM/ROM), relojes, contadores, temporizadores, puertos serie/paralelo y, en ocasiones, A/D y D/A
INTEL MCS/48/51/96 (98)
MOTOROLA HCS05/011
p>
DSP
Adoptar la estructura de Harvard, el programa y los datos se almacenan por separado
Adoptar una serie de medidas para garantizar la velocidad de procesamiento de las señales digitales, como optimización especial de FFT
Una comparación simple entre MCU y DSP
MCU DSP
Gama baja, gama alta, gama baja, gama alta
Ciclo de instrucción (ns) 600 40 50 5
Tiempo de multiplicación y suma (ns) 1900 80 50 5
USD/MIPS 1,5 0,5 0,15 0,1
Comparación de procesadores DSP y procesadores de uso general
Consideraciones Un ejemplo de procesamiento de señales digitales es un filtro de respuesta de impacto finito (FIR). En términos matemáticos, un filtro FIR es una serie de productos escalares. Tome una cantidad de entrada y un vector ordinal, realice una multiplicación entre los coeficientes y una ventana deslizante de muestras de entrada, y luego sume todos los productos para formar una muestra de salida.
En el proceso de procesamiento de señales digitales se repetirán mucho operaciones similares, por lo que es necesario brindar soporte especializado a los equipos diseñados para este fin. Aquí también entran los equipos DSP y los procesadores de propósito general (. GPP) se separan Una razón:
1 Compatibilidad con operaciones de multiplicación densa
GPP no está diseñado para realizar tareas de multiplicación densa, e incluso algunos GPP modernos requieren múltiples ciclos de instrucción para completar una multiplicación . Los procesadores DSP también agregaron registros acumuladores para manejar la suma de múltiples productos. Los registros acumuladores suelen ser más anchos que otros registros y se agregan bits adicionales llamados bits de resultado para evitar el desbordamiento.
Además, para aprovechar al máximo el hardware dedicado de acumulación múltiple, casi todos los DSP incluyen instrucciones MAC explícitas en sus conjuntos de instrucciones.
2 Estructura de la memoria
Tradicionalmente, GPP utiliza la estructura de memoria de von.Neumann. En esta arquitectura, sólo hay un espacio de memoria conectado al núcleo del procesador a través de un conjunto de buses (bus de direcciones y bus de datos). Normalmente, una operación de multiplicación requiere cuatro accesos a la memoria y requiere al menos cuatro ciclos de instrucción.
La mayoría de DSP adoptan la arquitectura Harvard, que divide el espacio de memoria en dos para almacenar programas y datos respectivamente. Disponen de dos conjuntos de buses conectados al núcleo del procesador, permitiendo el acceso simultáneo a los mismos. Este diseño duplica el ancho de banda de la memoria del procesador y, lo que es más importante, proporciona datos e instrucciones al núcleo del procesador. Con este diseño, el DSP puede ejecutar instrucciones MAC de ciclo único.
Otro problema es que el GPP de alto rendimiento típico de hoy en día contiene dos cachés en el chip, uno para datos y otro para instrucciones, que están conectados directamente al núcleo del procesador para acelerar el tiempo de ejecución. Físicamente, esta arquitectura de bus y memoria dual en chip es casi idéntica a la arquitectura de Harvard. Pero, lógicamente, existen diferencias importantes.
GPP utiliza lógica de control para decidir qué datos y palabras de instrucciones se almacenan en la caché del chip, sin que el programador lo especifique (y quizás incluso sin saberlo). Por el contrario, los DSP utilizan múltiples memorias en chip y múltiples buses para garantizar múltiples accesos a la memoria por ciclo de instrucción. Cuando se utiliza un DSP, el programador tiene control explícito sobre qué datos e instrucciones se almacenarán en la memoria del chip. Los programadores deben asegurarse de que el procesador utilice eficientemente sus buses duales al escribir programas.
Además, los procesadores DSP casi siempre no tienen caché de datos. Esto se debe a que los datos típicos de un DSP son un flujo de datos. Es decir, después de que el procesador DSP realiza cálculos en cada muestra de datos, la descarta y rara vez la reutiliza.
3 bucles sin sobrecarga
No es difícil si comprendes que una característica común de los algoritmos DSP es que la mayor parte del tiempo de procesamiento se dedica a ejecutar bucles más pequeños. Entiendes por qué la mayoría de los DSP. están equipados con hardware dedicado para bucles sin gastos generales. Un bucle sin sobrecarga es aquel en el que el procesador ejecuta el bucle sin perder tiempo comprobando el valor del contador del bucle, moviéndose condicionalmente a la parte superior del bucle y disminuyendo el contador del bucle en uno.
Por el contrario, el ciclo GPP se implementa a través de software. Algunos GPP de alto rendimiento utilizan hardware de predicción de ramificaciones para lograr casi el mismo efecto que un bucle sin sobrecarga soportado por hardware.
4 Cálculos de punto fijo
La mayoría de los DSP utilizan cálculos de punto fijo, no cálculos de punto flotante. Si bien las aplicaciones DSP deben prestar mucha atención a la precisión numérica, lo que debería ser más fácil con la aritmética de punto flotante, el bajo costo del DSP es igualmente importante. Las máquinas de punto fijo son más baratas (y más rápidas) que las de punto flotante. Para mantener la precisión numérica sin utilizar una máquina de punto flotante, los procesadores DSP admiten cálculos de saturación, redondeo y desplazamiento, tanto en el conjunto de instrucciones como en el hardware.
5 modos de direccionamiento especializados
Los procesadores DSP a menudo admiten modos de direccionamiento especiales que son útiles para operaciones y algoritmos de procesamiento de señales comunes. Por ejemplo, direccionamiento en bloque (cíclico) (adecuado para implementar líneas de retardo de filtro digital) y direccionamiento de bits invertidos (adecuado para FFT). Estos modos de direccionamiento muy especializados no se utilizan habitualmente en GPP y sólo pueden implementarse en software.
6 Predicción del tiempo de ejecución
La mayoría de las aplicaciones DSP, como teléfonos móviles y módems, son estrictamente en tiempo real y todo el procesamiento debe completarse dentro de un tiempo específico. Esto requiere que el programador determine exactamente cuánto tiempo de procesamiento requerirá cada muestra, o al menos sepa cuánto tiempo llevará en el peor de los casos.
Si planea utilizar un GPP de bajo costo para completar tareas de procesamiento de señales en tiempo real, entonces predecir el tiempo de ejecución puede no ser un gran problema, porque la estructura del GPP de bajo costo es relativamente simple. y es relativamente fácil predecir el tiempo de ejecución. Sin embargo, la mayoría de las aplicaciones DSP en tiempo real requieren potencia de procesamiento que los GPP de bajo costo no pueden proporcionar.
Esta es la ventaja del DSP sobre el GPP de alto rendimiento, porque incluso con un DSP en caché, es el programador (no el procesador) quien decide qué instrucciones van al caché, por lo que es fácil determinar si la instrucción se lee desde la memoria caché o la memoria. Por lo tanto, predecir el tiempo de ejecución requerido a partir de un código determinado es completamente sencillo. Esto permite a los programadores determinar los límites de rendimiento del chip.
7 Conjunto de instrucciones DSP de punto fijo
El conjunto de instrucciones DSP de punto fijo está diseñado con dos objetivos:
Permitir que el procesador realice múltiples operaciones en cada ciclo de instrucción, mejorando así la eficiencia informática de cada ciclo de instrucción.
Minimizar el espacio de memoria utilizado para almacenar programas DSP (este problema es particularmente importante en aplicaciones DSP sensibles al costo, ya que la memoria tiene un impacto significativo en el costo general del sistema).
Para lograr estos objetivos, el conjunto de instrucciones de un procesador DSP a menudo permite al programador especificar múltiples operaciones paralelas en una sola instrucción. Por ejemplo, una instrucción consta de una operación MAC, que consiste en uno o dos movimientos de datos simultáneos. En un ejemplo típico, una sola instrucción contiene todas las operaciones necesarias para calcular una sección del filtro FIR. El precio de esta eficiencia es que su conjunto de instrucciones no es intuitivo ni fácil de usar (en comparación con el conjunto de instrucciones GPP).
A los programas GPP normalmente no les importa si el conjunto de instrucciones del procesador es fácil de usar, ya que suelen utilizar un lenguaje de alto nivel como C o C. Desafortunadamente para los programadores de DSP, las principales aplicaciones de DSP están escritas (al menos parcialmente optimizadas) en lenguaje ensamblador. Hay dos razones para esto: en primer lugar, los lenguajes de alto nivel más utilizados (como C) no son adecuados para describir algoritmos DSP típicos. En segundo lugar, la complejidad de las arquitecturas DSP (por ejemplo, múltiples espacios de memoria, múltiples buses, conjuntos de instrucciones irregulares y hardware altamente especializado) hace que sea muy difícil escribir compiladores eficientes para ellas.
Incluso si se utiliza un compilador para compilar el código fuente C en código ensamblador DSP, la tarea de optimización sigue siendo muy pesada.
Las aplicaciones DSP típicas tienen altos requisitos computacionales y estrictas restricciones generales, por lo que la optimización del programa es crucial (al menos para las partes más críticas del programa). Por lo tanto, un factor clave al considerar la selección de DSP es si hay un número suficiente de programadores que se adapten mejor al conjunto de instrucciones del procesador DSP.
8 requisitos de herramientas de desarrollo
Dado que las aplicaciones DSP requieren un código altamente optimizado, la mayoría de los proveedores de DSP proporcionan muchas herramientas de desarrollo para ayudar a los programadores a optimizar. Por ejemplo, la mayoría de los proveedores proporcionan herramientas de simulación de procesadores para simular con precisión la actividad del procesador durante cada ciclo de instrucción. Estas herramientas son útiles tanto para garantizar el funcionamiento en tiempo real como para optimizar su código.
Los proveedores de GPP generalmente no proporcionan este tipo de herramientas, principalmente porque los programadores de GPP generalmente no necesitan herramientas de este nivel de detalle.
La falta de herramientas de simulación de GPP con precisión de ciclo de instrucción es un gran problema para los desarrolladores de aplicaciones DSP: dado que es casi imposible predecir el número de ciclos que necesitará un GPP de alto rendimiento para realizar una tarea determinada. , es imposible explicar cómo mejorar el rendimiento de su código.
Características de la arquitectura de hardware y software DSP
Características de la arquitectura de hardware
1 Arquitectura de Harvard
El almacenamiento de programas y datos está separado, cada uno tiene sus propios buses de datos y direcciones independientes, por lo que la recuperación y la lectura se pueden realizar simultáneamente.
Actualmente, se pueden lograr 9 mil millones de operaciones de punto flotante por segundo (9000 MFLOPS).
Actualmente, se pueden alcanzar 10.000 MFLOPS por segundo. 9000MFLOPS)
2 canalizaciones
3 multiplicadores de hardware independientes
Las instrucciones de multiplicación se completan en un ciclo, optimizando convolución, filtrado digital y FFT, correlación, matriz. operaciones y otros algoritmos, una gran cantidad de multiplicaciones repetidas, etc.
4 Direccionamiento de bucle, direccionamiento de bits y direccionamiento de bits, etc.
4 Direccionamiento de bucle, direccionamiento de bits, direccionamiento de bits, direccionamiento de bits, direccionamiento de bits, direccionamiento de bits, direccionamiento de bits y direccionamiento de bits. Mejora drásticamente la velocidad de direccionamiento, clasificación y cálculo para FFT, convoluciones y otras operaciones. El tiempo FFT de 1024 puntos es inferior a 1 μs
5 buses y controladores DMA independientes
Hay uno o más buses DMA independientes conectados al programa y a los buses de datos de la CPU El programa. de la CPU El bus de datos está conectado con los buses de programa y de datos de la CPU. El programa de la CPU y el bus de datos funcionan en paralelo sin afectar el trabajo de la CPU. La velocidad DMA alcanza más de 800 Mbytes/s.
6 interfaces multiprocesador
Permite la conexión de múltiples procesadores. se puede paralelizar fácilmente o trabajar en serie, aumentando así la velocidad de procesamiento
7 interfaz de prueba estándar JTAG (Joint Test Action Group) (interfaz estándar IEEE 1149)
Facilita la simulación en línea de DSP y el procesamiento DSP en el dispositivo de chip.
Facilita la simulación en línea de DSP en el chip y la depuración en condiciones de múltiples DSP
Funciones de software
1 Direccionamiento numérico inmediato
2 Direccionamiento directo
Los chips de la serie TMS320 de TI dividen la memoria de datos en 512 páginas, cada página tiene 128 palabras. La memoria de datos está dividida en 512 páginas de 128 caracteres cada una. Configure el puntero de la página de datos DP (puntero de datos), los puntos de 9 bits a la página de datos, más la dirección de desplazamiento de 7 bits dentro de la página, forman una dirección de datos de 16 bits. Esto puede acelerar enormemente el direccionamiento.
3 Direccionamiento indirecto
8 registros auxiliares (AR0--AR7), entre los cuales se utiliza el puntero de registro auxiliar (ARP 3 bits) para especificar la unidad aritmética del registro auxiliar (ARAU) to Realiza una operación numérica sin signo de 16 bits para determinar la nueva dirección que se cargará en uno de los registros auxiliares
El contenido de AR0--AR7 puede cargar un número inmediato, sumar un número inmediato o restar un número inmediato; también La dirección se puede cargar desde la memoria de datos y se puede direccionar de la siguiente manera:
Suma o resta 1 del contenido de este AR y direcciona nuevamente (comúnmente usado en bucles)
Suma o resta el contenido de AR0 del contenido de este AR y luego direcciona nuevamente
Suma o resta el contenido de AR0 del contenido de este AR y luego direcciona nuevamente
Redondear inversamente, sumar o restar el contenido de AR0 y direccionar nuevamente
Redondear inversamente, sumar o restar el contenido de AR0 y direccionar nuevamente. Reste el contenido de AR0 y la dirección nuevamente
Debido al redondeo inverso, se puede lograr el direccionamiento directo de bits
Dirección original Dirección original Direccionamiento directo de bits Direccionamiento directo de bits Direccionamiento de bits de dirección
4 100 001 1
5 101 101 5
6 110 011 3
7 111 111 7
Ejemplo: MAC X0,Y0,A Multiplica el número en el registro. Multiplica los números en los registros X0 e Y0
Suma el resultado a Acc A
Suma el valor en la dirección de memoria X apuntada por el registro R0 al registro X0
Sume el valor de la dirección de memoria Y apuntada por el registro R4 al valor del registro R0 en el registro Y0 y sume 1
Sume el valor del registro N4 al registro R4
Como puede ver, el orden de las operaciones aritméticas cumple con los requisitos de la operación mariposa FFT
Utilice el direccionamiento de bucle para lograr un bucle de sobrecarga cero, un bucle de sobrecarga cero, un bucle de sobrecarga cero, un bucle de sobrecarga cero, cero -bucle de sobrecarga, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, bucle de sobrecarga cero, cero -bucle superior. Bucles generales, que mejoran enormemente la velocidad de ejecución de algoritmos como convolución, correlación, operaciones matriciales, FIR, etc.
4 Instrucciones de multiplicación únicas
Herramientas de desarrollo DSP
1 Herramientas de generación de código
Compilador de optimización C
Ensamblaje herramientas
Ensamblador (Ensamblador).
Ensamblador
Enlazador
Archivador
Lista de referencias cruzadas
2 Herramientas y entorno de integración y depuración del sistema (Tome TI como ejemplo)
Interfaz del depurador (depurador de código fuente C/ensamblado)
Proporciona funciones ricas y flexibilidad para el desarrollo de sistemas integrados. Como se describe a continuación, el depurador es la interfaz estándar para emuladores de software, módulos de evaluación, emuladores en circuito, etc.
El depurador se ejecuta en plataformas como PC o SPARC y proporciona control total de programas escritos en C o lenguaje ensamblador. Sus capacidades de análisis de código identifican rápidamente los segmentos del programa que consumen más tiempo, sugiriendo dónde enfocar el tiempo de desarrollo.
Simulador de software
TMS320 Software Simulator es un programa de software que utiliza el procesador y la memoria del host. para simular los modos de microprocesador y microcomputadora del DSP TMS320 para permitir el desarrollo de software y la verificación de programas en tiempo no real.
En una PC, las velocidades de simulación típicas son de varios cientos de instrucciones por segundo
DSP Starter Kit (DSK, DSP Starter Kit)
DSK está diseñado y producido para principiantes como una herramienta de desarrollo económica para la evaluación. Plataformas DSP. Bajo el sistema operativo DOS o Windows de la PC, los usuarios pueden usar DSK para experimentar con aplicaciones DSP, como sistemas de control y procesamiento de voz; escribir y ejecutar código fuente en tiempo real y evaluarlo en sus propios sistemas; Sistema de desarrollo y experimentación (DES, sistema de expiración Dsp)
Ginkgo DES incluye TMS320C542-40 e interfaces relacionadas, y también tiene una fuente de señal integrada, un osciloscopio virtual y un software de espectrómetro. El uso de este sistema minimiza la dependencia del usuario de los periféricos, ya que solo requiere una tarjeta y un conjunto de software para el desarrollo o la experimentación del DSP.
Módulo de evaluación estándar (EVM)
El módulo de evaluación (EVM) TMS320 es una placa de desarrollo económica que se utiliza para la evaluación de dispositivos, la verificación de programas estándar y la depuración limitada del sistema. El EVM es un complemento para PC que incluye un procesador de destino, memoria pequeña y una cantidad limitada de periféricos.
Emulador de hardware TMS320
XDS (Sistema de desarrollo extendido) es un emulador potente y de alta velocidad para la integración y depuración a nivel de sistema.
Los emuladores basados en escaneo son un enfoque no intrusivo único para la simulación, integración y depuración de sistemas. Con este enfoque, los programas se pueden ejecutar en tiempo real desde la memoria de destino dentro o fuera del chip sin introducir estados de espera adicionales a cualquier velocidad de reloj
3 sistemas operativos en tiempo real
Para tareas simples de DSP, las herramientas de desarrollo presentadas anteriormente pueden satisfacer las necesidades de las tareas de desarrollo y, por lo general, se pueden ejecutar sin un sistema operativo. Sin embargo, cuando el número de tareas DSP aumenta y la complejidad aumenta, por ejemplo, un sistema multitarea con múltiples DSP funcionando en paralelo que requiere un alto rendimiento en tiempo real, es posible que se necesite un determinado sistema operativo para administrar los recursos del sistema, organizar la ejecución de tareas múltiples y comunicación entre tareas, intercambio de información, etc.
Sistema Operativo DSP SPOX
SPOX está especialmente diseñado para el diseño de sistemas DSP y desarrollo de software. SPOX es un sistema operativo multitarea en tiempo real diseñado para el diseño de sistemas DSP y el desarrollo de software. Proporciona un conjunto de funciones llamadas en lenguaje C que son independientes de la plataforma de hardware que se está desarrollando, aislando así la parte de la aplicación en tiempo real del DSP de muchos detalles de hardware de bajo nivel. Se puede utilizar como un entorno integrado para el desarrollo de aplicaciones DSP en tiempo real, completando toda la tarea de desarrollo, desde nuevos conceptos de algoritmos hasta la carga del software de la aplicación en el hardware del producto.
Introducción a los chips DSP
1 ¿Qué es un chip DSP?
El chip DSP, también conocido como procesador de señal digital (DSP), es un microprocesador con una estructura especial. La arquitectura Harvard interna del chip DSP separa el programa y los datos. La arquitectura Harvard interna del chip DSP separa el programa y los datos. Los chips DSP cuentan con una arquitectura Harvard que separa programas y datos, multiplicadores de hardware especializados, extensas operaciones de canalización e instrucciones DSP especiales para una rápida implementación de varios algoritmos de procesamiento de señales digitales. De acuerdo con los requisitos del procesamiento de señales digitales, los chips DSP generalmente tienen las siguientes características principales:
(1) Las operaciones de multiplicación y suma se pueden completar dentro de un ciclo de instrucción.
(2) Espacio de programa y espacio de datos independientes, que permite el acceso simultáneo a instrucciones y datos.
(3) RAM rápida en chip, generalmente accesible en dos bloques simultáneamente a través de un bus de datos separado.
(4) El hardware admite bucles y saltos con poca o ninguna sobrecarga.
(5) Manejo rápido de interrupciones y soporte de E/S de hardware.
(6) Se pueden ejecutar varios generadores de direcciones de hardware en un ciclo.
(7) Se pueden realizar múltiples operaciones en paralelo.
(8) Admite operaciones de canalización, por lo que operaciones como la búsqueda, decodificación y ejecución del dedo se pueden superponer.
En comparación con los microprocesadores de uso general, otras funciones de propósito general de los chips DSP son relativamente débiles.
2 Desarrollo de chips DSP
El primer chip DSP de un solo chip del mundo fue el S2811 lanzado por AMI en 1978, y el americano Iintel lo lanzó en 1979 durante el período de comercialización programable. 2920 es un hito importante para los chips DSP. Ninguno de los chips tiene en su interior los chips de ciclo único que se requieren en los chips DSP modernos. 1980. El μPD7720 de NEC Corporation de Japón fue el primer chip DSP comercial con multiplicador. En 1982, Hitachi de Japón lanzó un chip DSP de punto flotante. Fue la primera empresa en utilizar la tecnología CMOS para producir chips DSP de punto flotante. En 1983, la compañía japonesa Fujitsu lanzó el MB8764, que tenía un ciclo de instrucción de 120 ns y dos buses internos, lo que supuso un gran salto en el rendimiento de procesamiento. El primer chip DSP de punto flotante de alto rendimiento debería ser AT.