Download ESTUDIO COMPARATIVO DE LOS DSP`s DEL MERCADO

Document related concepts
no text concepts found
Transcript
ESTUDIO COMPARATIVO DE
LOS DSP’s DEL MERCADO
Alumno: Damián Martínez Muñoz
Dpto. Ingeniería de Telecomunicación
Universidad de Jaén
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
INDICE
1.1 Introducción
3
1.2 Evolución Histórica
3
1.3 Arquitectura de los DSP’s
4
1.4 Clasificación de los DSP’s
4
2 DSP’s de Texas Instruments
7
2.1 Familia TMS320C1x
9
2.2 Familia TMS320C2x
12
2.3 Familia TMS320C2xx
15
2.4 Familia TMS320C3x
18
2.5 Familia TMS320C4x
20
2.6 Familia TMS320C5x
22
2.7 Familia TMS320C54x
24
2.8 Familia TMS320C8x
27
2.9 Familia TMS320AVxxx
30
3 DSP’s de Motorola
33
3.1 Familia DSP561xx
33
3.2 Familia DSP5600x
34
3.3 DSP96002
35
4 DSP’s de Analog Devices
37
4.1 Familia ADSP-2100
38
4.2 Familia ADSP-21cspxx
39
4.3 Familia ADSP-21020
40
4.4 Familia SHARC (ADSP-2106x)
41
ANEXO: Tablas comparativa
43
Bibliografía
49
Direcciones WEB de interés
49
Damián Martínez Muñoz
2
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
1.1 Introducción
En el presente trabajo se pretende hacer una descripción del mercado actual de
Procesadores Digital de Señal (DSP). A pesar de que el número de fabricantes de DSP’s
es cada vez más elevado, en este estudio sólo nos vamos a centrar en los tres principales
fabricantes: Texas Instruments, Motorola y Analog Devices.
Primero se hará un estudio pormenorizado de las diferentes familias de DSP’s
que ofrece cada fabricante, resaltando sus características diferenciales de unas respecto
a las otras.
El primer fabricante en ser abordado es Texas Instruments. Este lugar es de
justicia ya que fueron los pioneros en esta nueva clase de dispositivos.
El segundo fabricante estudiado es Motorola. Aunque se sumó al mercado de
DSP’s con cierto retraso, ha conseguido ocupar un lugar destacado dentro de un
mercado tan competitivo.
El tercer y último fabricante estudiado es Analog Devices. Este fabricante es uno
de los que ha experimentado un mayor incremento de cuota de mercado en los últimos
años. Las razones fundamentales de este desarrollo radica en la gran cantidad de
memoria integrada en el mismo chip y el precio económico.
El trabajo concluye con una tabla en la que aparecen la mayor parte de los
DSP’s del mercado agrupados por las características de precisión que ofrecen. En esta
tabla no sólo aparecen los tres fabricantes anteriormente citados sino también el resto de
fabricantes.
1.2 Evolución Histórica
La aparición de los DSP’s se produjo a mediados de la década de los 80 (año
1.984). El primer DSP que apareció en el mercado (TMS320C10 de Texas Instruments)
entró a competir directamente con los Microcontroladores de 8-16 bits que había en el
mercado. Otros dispositivos con los competían eran los Microprocesadores de propósito
general.
Rápidamente los DSP’s fueron ganando la batalla a los competidores
anteriormente enumerados. Esto condujo a la aparición de nuevos miembros, cada vez
más potentes y baratos, en este nuevo segmento del mercado. Entre las razones de este
éxito comercial de los DSP’s están:
• Elevada potencia de cálculo.
• Emulación, simulación y ejecución en tiempo real.
• Flexibilidad.
• Fiabilidad.
• Incremento del rendimiento del sistema.
• Coste reducido del sistema.
En los últimos años hemos asistido a un crecimiento espectacular en el uso de
los DSP’s, comenzando a ser utilizados en campos que hasta ahora casi no había
entrado la electrónica (automoción, multimedia, entretenimiento, etc.). Así mismo, su
aparición ha permitido que desarrollos que hasta entonces sólo se habían realizado a
Damián Martínez Muñoz
3
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
nivel de simulación, hayan podido ser realizados en tiempo real. El crecimiento en el
mercado de los DSP’s triplica el que experimenta el resto del mercado electrónico.
En resumen, los DSP’s han facilitado la creciente digitalización de los más
diferentes campos. Este desarrollo no tiene un final definido, apareciendo cada día
nuevas aplicaciones en las que son usadas. Baste con echar una mirada a las revistas
especializadas de Tratamiento Digital de la Señal para comprobar la anterior
aseveración.
1.3 Arquitectura de los DSP’s
La arquitectura de los DSP’s ha sido pensada para poder realizar la operación
MAC (multiplicación + suma con el acumulador) en el menor ciclo de instrucciones
posible. Esta operación (MAC) es la base en el Tratamiento Digital de la Señal. Si
pensamos en la implementación de un filtro digital tenemos que las operaciones básicas
que tenemos que realizar son multiplicaciones y sumas.
N
M
i=0
i=0
y[n] = ∑ a i x (n − i ) + ∑ bi x (n − i )
Para conseguir este resultado, la clásica arquitectura Von Neuman ha sido
modificada. En la arquitectura Von Neuman existía un único banco de memoria en el
que se encontraba tanto la memoria de programa como los datos. En la arquitectura
Harvard, se diferencian la memoria de programa de la de datos..
Por tanto, una de las características básicas de los DSP’s es la existencia de
varios bancos de memoria. Otro hecho diferencial es que se pretende que en un único
ciclo de instrucción se pueda decodificar la instrucción, traer dos datos de memoria,
realizar una operación MAC en la ALU y cargar la siguiente posición de memoria de
programa. Para conseguir estos resultados se recurre, aparte de aumentar el número de
bancos de memoria, a la existencia de varias unidades de proceso trabajando en
paralelo.
1.4 Clasificación de los DSP’s
Los DSP’s pueden ser clasificados atendiendo a diferentes criterios. La
clasificación más extendida es la que tiene en cuenta la precisión con que se realizan las
operaciones. Atendiendo a este criterio tenemos la siguiente clasificación:
•
DSP’s de coma fija: los datos se representan en formato de coma fija. Presentan el
problema de la limitación del rango dinámico de los datos que pueden representar.
Por contra, su precio es bastante más económico que los de coma flotante. El
número de bits usados para representar los datos varía entre los DSP’s de 16 bits y
los de 24 bits. Los primeros se aplican sobre todo en control, telecomunicaciones y
codificación de voz. Los segundos tienen prácticamente totalmente copado el
mercado del audio profesional, siendo una solución intermedia entre los DSP’s de
coma fija de 16 bits y los de coma flotante de 32 bits.
•
DSP’s de coma flotante: los datos son representados con formato de coma flotante.
Su rango dinámico es mucho mayor que los de coma fija, aunque su precio es
Damián Martínez Muñoz
4
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
mayor. Hay unanimidad en el mercado en cuanto al número de bits usados para
representar datos: 32 bits. Su juego de operaciones soportan también operaciones
con datos en formato coma fija.
Los nuevos miembros de ambos tipos de DSP’s coinciden en que el juego de
instrucciones tienden a parecerse a las de los lenguajes de alto nivel (lenguaje C sobre
todo). Esto facilita el empleo de compiladores cruzados, de tal forma que facilita el
proceso de programación de los DSP’s, sin tener un conocimiento de la arquitectura del
DSP empleado.
Damián Martínez Muñoz
5
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Texas Instruments
Damián Martínez Muñoz
6
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2 DSP’s de Texas Instruments
Texas Instruments engloba su conjunto de DSP’s mediante el prefijo TMS320.
Como ya se ha mencionado anteriormente, fue el primer fabricante de estos nuevos
dispositivos allá por el año 1.984.
Sus productos están ampliamente consolidados en el mercado y ocupan una
posición de privilegio respecto a sus competidores. Sin embargo, en algunos ámbitos de
aplicación el mercado lo tienen copado otros fabricantes.
Las ventajas de los DSP’s de Texas respecto a los de la competencia son:
• Gama de productos más amplia.
• Líderes en soluciones de mercado.
• Fabricación consolidada y compromiso de entrega.
• Amplia variedad en opciones de encapsulado.
• Mejor soporte técnico desde la aparición de la idea hasta la consecución del
producto.
• Bajo coste en sistemas de desarrollo y módulos de evaluación.
• Simuladores hardware fiables.
• Existencia de compiladores cruzados para lenguajes de alto nivel.
• Existencia de Debuggers.
• Existencia de Emuladores en tiempo real.
• Amplia librería de software para aplicaciones.
• Servicio hotline de asistencia técnica, también accesible desde Internet
• Para algunos de sus productos, hay otros posibles fabricantes por lo que la
dependencia tecnológica es menor.
La siguiente gráfica representa las diferentes generaciones de DSP’s que
conforman la oferta de Texas Instruments.
Damián Martínez Muñoz
7
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
‘C8x
Rendimiento
320C80/-40/-50
Multiprocesador
DSP
- Máximo Rendimiento
- Aplicaciones Multimedia
- 2 BOPS
‘C4x
‘C3x
320C30/C30-27/-40/-50
320C/LC31
320C31-27/-40/-50/-60
320C32-40/-50
320C40-40/-50/-60
320C44-40/-50/-60
- Muy Alto Rendimiento
- Procesamiento en
Paralelo.
- 60 MFLOPS
32-bit
Punto Flotante
‘C54x
320C/LC/VC541
320C/LC/VC542
- Alto Rendimiento.
320LC543/VC543
‘C5x
- 60 MFLOPS
320LC544/VC544
320LC545/VC545
‘C2xx
320C50/C50-57/-80 320LC546/VC546
320LC50
320LC548/VC548
‘C2x
320C/BC51/51-57/-80
320C203/LC203-40/-57/-80 320C/BC52/52-57/-80
‘C1x
320C204-40/-57/-80
320LC52-57
320C25/P25-40/-50
320C205-40/-57/-80
320C10/C10-25 320C26
320C/BC53/53-57/-80
320F206-40/-57/-80
320C14/P14
320LC56/57
320C28/C28-50
- 100 MIPS
320LF207-40/-57/-80
320C/P/LC15 320C203/-57/-80
320BC57S
‘AVxxx
320C209-40/-57
320C/LC16
320C209-/57
- Alto Rendimiento
320C240-40
320C/P/LC17
320AV310
- Alta Integración.
-12 MIPS
320F240-40
320C/P17-25
40-50 MIPS
320AV120
- Muy Bajo Coste
320AV220
Optimización
- Periféricos
Rendimiento / Coste
320AV420
- 6 MIPS
16-bit
Coma Fija
40 MIPS
Generación
A continuación veremos una a una las diferentes familias que aparecen en esta
gráfica.
Damián Martínez Muñoz
8
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.1 Familia TMS320C1X (coma fija)
Fueron los primeros DSP’s que aparecieron en el mercado. Son DSP’s de coma
fija de 16 bits. Hay una gran cantidad de miembros en esta familia, diferenciándose
principalmente en el encapsulado, velocidad y configuración de memoria interna.
Puntos destacados:
•
Diferentes configuraciones de Memoria RAM, ROM ó OTP PROM interna
para una mayor flexibilidad en el diseño.
• En ella se encuentran muchos de los DSP’s más económicos del mercado.
• Capacidad de integración a través de la librería cDSP.
• Posibilidad de escoger entre 5 versiones (‘C10,’C14,’C15,’C16,’C17) para
optimizar los costes del sistema.
Aplicaciones Fundamentales:
•
•
•
•
•
Sistema antibloqueo de frenos (ABS).
Instrumentos musicales.
Medidores de energía.
Servomecanismos y control de motores.
Contestadores automáticos digitales.
Características :
•
•
•
•
•
•
•
•
•
•
•
•
•
144 palabras de memoria RAM interna programable para el ‘C10, 256
palabras para el resto de dispositivos ‘C1x.
1.5k palabras de programa en ROM en el ‘C10, 4k en el ‘C14,’C15,’C17 y
8k en el ‘C16.
Opciones con 4k palabras de memoria OTP de programa.
Posibilidad de direccionar hasta 64k palabras de datos externos en el ‘C16,
4k para los demás dispositivos.
Unidad aritmético-lógica de 32 bits.
32 bits a la salida del multiplicador de la ALU (Dos entradas de 16 bits).
Multiplicación en un solo ciclo de instrucción.
Hasta 4 timers internos para el control de operaciones.
Hasta ocho niveles de anidamiento en la pila hardware
Dos registros auxiliares.
4 canales de entrada y de salida en el ‘C 14,’C15 y ‘C17.
Registro de desplazamiento de 16 bit.
Estados de espera para comunicación con memorias/periféricos externos más
lentos.
Damián Martínez Muñoz
9
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
En la siguiente figura se desglosan los diferentes miembros que componen esta
familia.
APLICACIONES EN
TELECOMUNICACIÓN
‘C17
‘C16
‘C14
MÁS MEMORIA
FUNCIONES DE
CONTROL
‘C15
NÚCLEO DE LA
GAMA ‘C1x
‘C10
BAJO COSTE
FAMILIA TMS320C1x
Damián Martínez Muñoz
10
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Como muestra, en la siguiente figura se representa el diagrama de bloques del
TMS320C15
RAM de datos
256x16
ROM de
programa
4kx16
A(11-0)
D(15-0)
Registro T de 16bit
Registro de
desplazamiento de 16 Multiplicador16x16
bits
Registro P de 32 bit
8 Puertos
E/S 16 bits
ALU de 32 bits
Shift L(0,1,4)
2 registros auxiliares
Registro de estado
Diagrama de bloques
TMS320C15
2.2 Familia TMS320C2x
Damián Martínez Muñoz
11
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Conforma la segunda generación de DSP’s de Texas Instruments. Su
arquitectura interna amplía las posibilidades que ofrecía la primera generación. Al igual
que ésta, sus miembros son de coma fija de 16 bits.
Puntos destacados:
•
Diferentes configuraciones de memoria RAM, ROM ó OTP PROM interna
para una mayor flexibilidad en el diseño.
• Un gran gama de herramientas de desarrollo de desarrollo desde $99, desde
módulos de inicio hasta emuladores en tiempo real.
• Capacidad de integración a través del paquete cDSP.
• Posibilidad de escoger entre 3 versiones (‘C25,’C26,’C28) para optimizar los
costes del sistema.
Aplicaciones Fundamentales:
•
•
•
•
•
•
Sistema de frenos antideslizamiento.
Servomecanismos y control de motores.
Control de robots.
Telecomunicaciones.
Sistemas de sonido, procesamiento de voz.
Aplicaciones de filtrado digital.
Características :
•
•
•
•
•
•
•
•
•
•
•
•
544 palabras de memoria RAM interna de datos programable (incluida 256
de programa/datos).
1568 palabras de memoria RAM configurable entre programa/datos en el
‘C26.
4k palabras de ROM de programa interna para el ‘C25.
Opciones con 4k palabras de memoria interna OTP ROM de programa.
Capacidad de direccionamiento hasta un total de 128k palabras de memoria
de datos/programa externa.
ALU y acumulador de 32 bits.
Multiplicador paralelo de 16x16 bits con resultado de 32 bits.
Instrucciones de multiplicación/acumulación con un solo ciclo de
instrucción.
Mejora en las instrucciones repetitivas para conseguir un uso eficiente de la
memoria de programa e incrementar la velocidad de ejecución.
Instrucciones para desplazamiento de bloques de datos/programa para
facilitar la gestión de programa.
Timer interno para operaciones de control.
Hasta 8 registros auxiliares.
Damián Martínez Muñoz
12
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
En las dos siguientes figuras se representa el diagrama de bloques de esta familia de
DSP’s.
RAM
de Datos
B0
256x16
RAM
D/P
B1
256x16
ROM
de Datos
B2
256x16
ROM
de Programa
B2
256x16
A(15-0)
D(15-0)
CPU
Registro
de
desplazamiento
de 16 bits
( L)
Puertos de
E/S (16x16)
Registro
T
de 16 bits
ALU de 32 bits
Acumulador de 32 bits
ShiftL
(0-7)
8 Registros Auxiliares
8 niveles de anidamiento pila
Dos registros de estado
Contador de repetición
Contador
Puerto
serie
síncrono
Diagrama de bloques
TMS320C2x
Damián Martínez Muñoz
13
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Multiplicador/ALU TMS320C2x
BUS DE PROGRAMA
16
16
16
Desplamiento
izquierda
16
Registro T (16)
16
MUX
16
Multiplicador (16x16)
32
Registro P (32)
32
Desplazamiento
izquierda (0-16)
32
32
MUX
32
32
Unidad Aritmético Lógica (ALU)
32
CC
Registro Acumulador (32)
32
16
Desplazamiento Izquierda (0-7)
Damián Martínez Muñoz
14
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.3 Familia TMS320C2xx
Es también de coma fija de 16 bits e implementa diferentes mejoras a los de las
generaciones anteriores.
Puntos destacados:
•
•
•
•
•
•
•
•
•
Potencia computacional desde 20 hasta 40 MIPS.
Precios a partir de $0.12 por MIPS.
Versiones de 3, 3.3 y 5V.
Consumo típico bajo:
1.9 mA/MIPS a 5V
1.1 mA/MIPS a 3 y 3.3V
Encapsulado TQFP de 100 y 80 pines.
Código fuente compatible con las generaciones ‘C1x y ‘C2x.
Compatibilidad hacia arriba con la generación ‘C5x.
Posibilidad de integración usando la librería cDSP.
Posibilidad de emulación usando JTAG.
Aplicaciones Fundamentales:
•
•
•
•
•
•
•
•
•
•
Aplicaciones telefónicas.
Terminales punto de venta.
Sistemas de seguridad.
Telecomunicaciones.
Redes de comunicaciones.
Servomecanismos y control de motores.
Detectores Radar.
Cámaras digitales.
Modems.
CD Roms.
Características :
• Hasta 4.5k de memoria RAM de datos/programa interna.
• En algunas versiones hasta 32k palabras de memoria flash interna
(‘F206/’F207).
• 16 pines de E/S de propósito general.
• ALU/acumulador de 32 bits.
• Multiplicador paralelo de 16x16 bits con resultado de 32 bits.
• Arquitectura optimizada para permitir que las instrucciones repetitivas se
ejecuten de forma eficiente.
• Timer interno de 16 bits.
• Registro de desplazamiento de 16 bits.
• 8 niveles de anidamiento en la pila.
• Existe modo de bajo consumo.
•
El software permite generar estados de espera.
Damián Martínez Muñoz
15
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Los TMS320C2xx abrieron nuevas
vías a otras generaciones de DSPs (coma fija)
Hicieron posible que los procesadores DSPs
tuvieran nuevos campos de aplicación :
ORDENADORES,INDUSTRIA,
CONSUMO Y TELEFONÍA
‘ C54x
Generación
‘ C5x
Generación
‘ C2xx
Generación
‘ C2x
Generación
Ordenador
Industria
Consumo
Telefonía
‘ C1x
Generación
Damián Martínez Muñoz
16
Ing. Telecomunicación
FLASH
32Kx16
‘C24x 16Kx16
Sistemas de Procesado de Señal en Tiempo Real
RAM (datos/Prog)
doble-puerto
544x16
RAM(Datos/Prog)
Acceso Simple
4Kx16
ROM
4Kx16
‘C24x 16Kx16
Control
de Emulación
D(15-0)
A(15-0)
BUS DE DATOS/PROGRAMA
Registro de
Desplazamiento
16 bits (L)
Registro T (16 b)
Multiplicador (16x16)
Desplazamiento (0,1,4-6)
ALU (16 bits)
ACUMULADOR (32 bits)
FUENTE
DE
ALIMENTACIÓN
DESPLAZAMIENTO L (0-7)
8 REGISTROS AUXILIARES
8 NIVELES DE PILA (HW)
INSTRUCCIONES DE REPETICIÓN
2 REGISTROS DE ESTADO
DIAGRAMA DE BLOQUES
‘C2xx
Damián Martínez Muñoz
B
U
S
DE
P
E
R
I
F
E
R
I
C
O
S
PUERTO SERIE SINCRONO
PUERTO SERIE ASINCRONO
TEMPORIZADOR
ESTADOS DE ESPERA (SW)
PUERTOS DE E/S
10-Bits ADC1
10-bits ADC2
DETECTOR DE BAJO NIVEL
WATCHDOG TIMER
17
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.4 Familia TMS320C3x
Es la primera generación de DSP’s de Texas Instruments de coma flotante. La
longitud de palabra es de 32 bit.
Puntos destacados:
• Potencia de cálculo de hasta 60 MFLOPS (millones de operaciones en coma
flotante por segundo).
• Alta eficiencia usando lenguaje C.
• Gran espacio de direccionamiento: 16Mwords.
• Gestión rápida de memoria con DMA interna.
Aplicaciones Fundamentales:
•
•
•
•
•
•
•
•
•
Audio digital.
Gráficos 3-D.
Impresoras láser, fotocopiadoras, escáners.
Escáners de código de barras.
Video conferencia.
Automatización industrial y robótica.
Correo de voz y Faxs.
Servomecanismos y control de motores.
Redes de comunicaciones.
Características :
• Alta potencia de cálculo:
Ciclos de instrucción de 33-ns.
30 MIPS.
60 MFLOPS.
330 MOPS.
Ancho de banda E/S de 120 Mbytes/second.
• CPU con arquitectura pipeline:
Multiplicación paralela y operaciones aritmético/lógicas con números
enteros o en coma flotante en un único chip.
8 registros con precisión extendida.
• Potente juego de instrucciones:
Ejecución de instrucciónes en un sólo ciclo.
Control de sistema y operaciones numéricas.
• Periféricos integrados:
Controlador de DMA para E/S simultáneas y operaciones en la CPU.
Temporizadores.
Puertos serie.
• Memoria:
Paralelismo del bus para permitir desplazamiento rápido de datos.
Damián Martínez Muñoz
18
Ing. Telecomunicación
CACHE
64x32
Sistemas de Procesado de Señal en Tiempo Real
RAM
(Doble puerto)
1Kx32
256x32(‘C32)
RAM
(Doble puerto)
1Kx32
512x32(‘C32)
ROM
4Kx32 (‘C30)
Boot (‘C31/’C32)
Puerto Principal
Interfaz de Memoria
Acceso de Datos
32 bits(‘C30-C31)
8/16/32 bits(‘C32)
Acceso al programa
32 bits (‘C30-‘C31)
(3)-D(31-0)
16/32 bits (‘C32)
(4)-A(23-0)
Reset
Int3-0
Iack
XfI-0
H1
H1
Mcbl/Mp
X2/Clkin
Vdd ,Vss
Shz
Emu6-0
X1
C
o
n
t
r
o
l
a
d
o
r
CPU
Multiplicador
de enteros y
coma flotante
ALU
de enteros y
coma flotante
8 Registros de Precisión
Coprocesador
DMA
DMA
Canal 0
TCLK0
Timer 0
TCLK1
Timer 1
CLKX0
DX0
FSX0
CLKR0
DR0
FSR0
8 Registros Auxiliares
Generación
Direcciónes 0
Generación
Direcciónes 1
DMA
Canal 1
Puerto Serie 0
12 Registros de Control
2 Modelos de muy Bajo Consumo
(‘C31-‘C32)
Damián Martínez Muñoz
CLKX1
DX1
FSX1
CLKR1
DR1
FSR1
Puerto Serie 1(‘C30)
Diagrama de
Bloques
‘C3x
19
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.5 Familia TMS320C4x
Es también de coma flotante de 32 bits. Está pensada sobre todo para el
procesamiento paralelo, por lo que cuenta con interfaz de comunicación muy rápidas.
Puntos destacados:
•
•
•
•
•
Hasta 60 MFLOPS.
Gran incremento de potencia de cálculo y de comunicaciones.
Capacidad de multiproceso.
Escalabilidad.
Tolerante a fallos.
Aplicaciones Fundamentales:
•
•
•
•
•
•
•
Comunicaciones de muy alta velocidad.
Realidad virtual, simuladores.
Procesamiento de rádar/sónar/imagen.
Gráficos 3-D.
Control de robots.
Reconocimiento de voz.
Infraestructura de telecomunicaciones.
Características :
• 6 puertos de comunicaciónes para comunicación entre procesadores a alta
velocidad:
Máxima velocidad de transferencia asíncrona de 32 Mbytes/s por cada
puerto.
Comunicación directa de procesador-procesador sin circuitería adicional.
• Coprocesador DMA con 6 canales para E/S simultáneas y operaciones de la
CPU.
• Alta velocidad de la CPU del DSP capaz de 330 MOPS y 384 Mbytes/s:
Hasta 11 operaciones por ciclo de instrucción.
Ciclos de instrucción de 33, 40 y 50 ns.
• Dos buses externos de direcciones y datos semejantes, permitiendo sistemas
con memoria compartida y alta velocidad de transferencia de datos,
transferencias en un único ciclo:
Velocidad de transferencia de datos por un puerto de hasta 120 Mbytes/s
(‘C40-60).
Damián Martínez Muñoz
20
Ing. Telecomunicación
UNIDADES DE PROCESO:
„ Coprocesador DMA.
„ CPU Alto Rendimiento.
Sistemas de Procesado de Señal en Tiempo Real
ENTRADAS/SALIDAS:
„ Coprocesador DMA.
„ Puertos de
Comunicaciones.
„ Buses locales y Globales
Rendimiento
del
TMS320C4x
Ciclo de instrucción
25 ns
CPU 8OPS/Cycle
320 MOPS
2 Accesos de Datos
80 MOPS
1 Multiplicación FP
40 MOPS
1 Operación FP (ALU)
40 MOPS
1 Contador de bucle
40 MOPS
1 Búsqueda instrucción
40 MOPS
2 Registros de Direcciones 40 MOPS
Coprocesador DMA
3 OPS/Ciclo
120 MOPS
1 Acceso de Datos
40 MOPS
1 Incremento del Contador
de Transferencias
40 MOPS
1 Registro de Direcciónes 40 MOPS
TOTAL MOPS =
440 MOPS
Damián Martínez Muñoz
TRANSFERENCIA DE DATOS
Puerto Global
160 Mbytes/sec.
Puerto Local
160 Mbytes/sec.
6 Puertos de
Comunicaciones
192 Mbytes/sec.
TOTAL E/S =
512 Mbytes/sec.
21
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.6 Familia TMS320C5x
Vuelve a ser una familia de procesadores de coma fija de 16 bits.
Puntos destacados:
•
•
•
•
Potencia de cálculo de hasta 50 MIPS.
Precios de venta desde $0.30 por MIP.
Versiones de 3 y 5V.
Diferentes versiones de encapsulado: 100 pins TQFP/PQFP, 128 pins
TQFP, 132 pins PQFP y 144 pins TQFP.
• Diferentes versiones de memoria RAM y ROM integradas.
• Emulación JTAG
• Compatible con ‘C1x, ‘C2x y ‘C2xx.
Aplicaciones Fundamentales:
•
•
•
•
•
•
•
Teléfonos inalámbricos y móviles.
Módems de alta velocidad.
Comunicaciones personales.
Sistemas de sonido y procesamiento de voz.
Impresoras láser, fotocopiadoras.
Otras aplicaciones de telecomunicación.
Multimedia.
• Control de discos duros.
Características :
•
•
•
•
•
•
•
•
•
El ciclo de instrucción del DSP ‘C5x es de 20 ns.
Potencia de procesamiento de 50 MIPS.
Consumos a razón de 1.15mA/MIPS.
Disponibles diferentes configuraciones de memoria RAM y ROM interna.
Emulación on-chip, eliminando los retardos de propagación asociados a las
antiguas tecnologías de emulación.
Código fuente compatible con el ‘C1x, ‘C2x y ‘C2xx.
Proporciona un tratamiento de bit a alta velocidad sin tener que modificar los
bits de estado de la ALU ó registros.
Permite, sin lógica adicional, la conexión de memoria externa lenta y
dispositivos de entrada/salida, reduciendo costes.
Los 12 registros más fundamentales de la CPU están duplicados.
Damián Martínez Muñoz
22
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
RAM (Datos/Prog)
ROM
10Kx16 (‘C50),2Kx16 (‘C51)
1Kx16(‘C52),4Kx16(‘C53,C53S)
7Kx16 (‘LC56,’LC57,’LC57S)
2Kx16 Boot (‘C50.’C57S)
8Kx16 prog.(‘C51),4Kx16 prog.
(‘C52),16Kx16.(‘C53,’C53S),
32Kx16 (‘LC56,’LC57)
Control
de Emulación
D(15-0)
A(15-0)
BUS DE DATOS/PROGRAMA
Registro de
Desplazamiento
(Pre-Post)
Multiplicador (16x16)
Desplazamiento
(ACC,PROD)
ALU (32 bits)
FUENTE
DE
ALIMENTACIÓN
PPL
PLU
DESPLAZAMIENTO (0-7)
8 REGISTROS AUXILIARES
8 NIVELES DE PILA (HW)
32 bits ACC & 32 bits ACC buffer
REGISTROS DE ESTADO
DIAGRAMA DE BLOQUES
‘C5x
Damián Martínez Muñoz
B
U
S
DE
P
E
R
I
F
E
R
I
C
O
S
PUERTO SERIE 1
PUERTO SERIE 2**
TIMERS
ESTADOS DE ESPERA (SW)
PUERTOS DE E/S
INTERFAZ DEL PUERTO
HOST*
* Disponible en ‘LC57 y ‘LC57S
** Un puerto serie en ‘C52,
puertos serie con buffer en
‘LC56, ‘LC57 y ’LC57S
23
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.7 Familia TMS320C54x
También es de coma fija. Son más rápidos que la familia ‘C5x.
Puntos destacados:
•
•
•
•
•
•
•
Hasta 66 MIPS.
Operación Viterbi integrada.
Tres modos de bajo consumo.
Diferentes configuraciones de RAM y ROM internas.
Puerto serie con auto-buffer.
Interfaz puerto host.
Encapsulado ultra pequeño (100, 128 y 144 pins TQFPs).
Aplicaciones Fundamentales:
•
•
•
•
•
•
Comunicaciones digitales móviles.
Sistemas personales de comunicación.
Módems.
Telecomunicaciones avanzadas.
Comunicaciones digitales inalámbricas.
Envío de datos en sistemas móviles.
Características :
• 66 MIPS.
• Acelerador Viterbi integrado.
• Opera a 2.7 y 5V.
• Direcciones de 40 bits y dos acumuladores de 40 bits para la ejecución de
operaciones en paralelo.
• ALU de 40 bits configurable como dos de 16 con capacidad de realizar dos
operaciones en un único ciclo.
• Multiplicador 17x17 que permite las operaciones con enteros con y sin
signo.
• 4 buses internos y dos generadores de direcciones que permiten realizar
diferentes operaciones y facilitan el acceso a memoria.
• 8 registros auxiliares.
• Dispone como herramienta del compilador de c para DSP de coma fija más
avanzado del sector.
• Modos de bajo consumo para aplicaciones en que se usan baterías.
Damián Martínez Muñoz
24
Ing. Telecomunicación
ROM(Datos/Prog)
Sistemas de Procesado de Señal en Tiempo Real
RAM(Datos/Prog)
Control de Emulación
D(15-0)
A(15-0)
FUENTE
DE
ALIMENTACIÓN
BUS DE DATOS/PROGRAMA
MAC
17x17 MPY
RND SAT
SUMADOR 40 BIT
ALU
ALU 40 BIT
OPERAC. CMPS
CODIF. EXPONENCIAL
DESPLAZAMIENTO
40 BITS
( 16 31)
ACUMULADORES
40 BITS ACC A
40 BITS ACC B
UNIDAD DE DIRECCIONAMIENTO
8 REGISTROS AUXILIARES
2 UNIDADES DE DIRECCIONAMIENTO
DIAGRAMA DE BLOQUES
‘C54x
Damián Martínez Muñoz
B
U
S
DE
P
E
R
I
F
E
R
I
C
O
S
PUERTO SERIE
PUERTO SERIE TDM
TIMER
GENERADOR DE RELOG(PLL)
GENERADOR SW DE
ESTADOS DE ESPERA
INTERFAZ DE PUERTO HOST
PUERTO SERIE CON BUFFER
25
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
SECCION ANALOGICA EN BB
SECCION DIGITAL EN BB
Interfaz
de
AUDIO
Interfaz
TMS320C54x
DSP
RF
Codif./Decodif de VOZ
Corrección de Errores
Codif/Decodif de CANAL
Ecualización
Demodulación
Encriptación
Microcontrolador
INTERFAZ
HOMBRE/MAQUINA
ANTENA
TRANSMISIÓN
y RECEPCIÓN
en RF
SPEAKER MICRO
PANTALLA
TECLADO
TARJETA SIM
SOLUCIÓN PARA UN
TELEFONO MOVIL DIGITAL
Damián Martínez Muñoz
26
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.8 Familia TMS320C8x
Integra varias unidades de proceso en el mismo encapsulado. Estas unidades de
proceso son de coma fija de 16 bits.
Puntos destacados:
•
Arquitectura de ‘C8x :
Arquitectura MIMD (Múltiple instrucción - Múltiple dato) totalmente
programable.
Instrucciones avanzadas de DSP.
Procesador principal RISC de 32 bit.
Controlador de transferencia.
Velocidad de transferencia de hasta 400 Mbytes/sec.
Capacidad de direccionamiento hasta 4 Gbytes.
Ciclos de instrucción de 17, 20 y 25 ns.
•
TMS320C80 :
Controlador de vídeo.
4 DSPs trabajando en paralelo.
50 kbytes de RAM interna.
2 BOPS.
Encapsulados 305 pins PGA, 352 BGA.
•
TMS320C82 :
2 DSPs trabajando en paralelo.
44 kbytes de RAM interna.
1.5 BOPS.
Encapsulado 352 BGA.
Aplicaciones Fundamentales:
•
•
•
•
•
•
•
•
•
Vídeo conferencia.
Vídeo teléfonos.
Telecomunicaciones a alta velocidad.
Procesamiento de imagen y vídeo.
Estaciones de trabajo multimedia.
Aceleradores de gráficos 2-D y 3-D.
Realidad virtual.
Seguridad.
Sistemas de rádar y sónar.
Características :
•
•
•
•
•
Controlador inteligente de transferencia interno y memoria (SRAM).
Procesamiento paralelo múltiple de 32 bit.
La ALU de 32 bit puede ser configurada como 2 de 16 bits ó 4 de 8 bits para
proceso paralelo de datos con baja precisión.
Interfaz directa con DRAM, SRAM y VRAM.
Interfaz de bus externo dinámico de 8, 16, 32 y 64 bit.
Damián Martínez Muñoz
27
Ing. Telecomunicación
PALETA
DE
PANTALLA
Sistemas de Procesado de Señal en Tiempo Real
V
R
A
M
D
R
A
M
TMS320C80
CAPTURA
DE
VIDEO
CONTROL
CODIFICADOR
DE
AUDIO
( 16 Bits)
DE
MEMORIA
PCI I/F
CHIP XDS
EN TARJETA
TARJETA DE
DESARROLLO DE SW
DEL TMS320C8x
Damián Martínez Muñoz
28
Ing. Telecomunicación
DSP
AVANZADO
G
L
I
Sistemas de Procesado de Señal en Tiempo Real
DSP
AVANZADO
G
L
I
DSP
AVANZADO
G
L
I
DSP
AVANZADO
G
L
I
RISC
MP
64
32
32
64
32
32
64
32
32
64
32
32
FLU
CONTROLADORES
DE
VIDEO
CAPTURA
VIDEO
32
64
64
CROSSBAR
50 Kbytes SRAM - TMS320C80
44 Kbytes SRAM -TMS320C82
Damián Martínez Muñoz
R
E
L
O
J
E
S
64
CONTROLADOR
DE
TRANSFERENCIA
29
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
2.9 Familia TMS320AVxxx (DCP)
Están orientados a una aplicación determinada. Está compuesta por varios
miembros.
Puntos destacados TMS320AV110 (Decodificador de audio MPEG):
•
•
•
Decodificador de audio ISO-MPEG en un único chip.
Decodifica los modos mono, estéreo, dual y joint stereo.
Soporta todas las frecuencias de muestreo y bit rates de MPEG, incluido el
formato libre.
• Acepta entrada de datos a ráfagas hasta una velocidad de 15 Mbits/s.
• Encapsulado pequeño de 120-pins plastic quad flat package (PQFP).
Puntos destacados TMS320AV120 (Decodificador de audio MPEG):
•
•
•
•
No requiere un microprocesador host para inicialización y operación.
Acepta SCR y PTS de audio y proporciona sincronización automática.
Proporciona información de estado al inicio de cada trama.
Encapsulado PLCC de 44 pins de bajo coste.
Puntos destacados TMS320AV220 (Decodificador de vídeo MPEG):
•
Interfaz directa con el decodificador de audio MPEG ‘AV110 y el
codificador NTSC ‘AV120.
• Sistema decodificador integrado con buffer para entrada de audio.
• Sincronización automática de audio y vídeo sin necesidad de lógica externa.
• Soporta formatos de salida de vídeo NTSC y PAL.
• Soporta resolución SIF y CCI R 601.
Puntos destacados TMS320AV420 (Codificador digital NTSC):
•
•
•
•
•
•
Codificador digital NTSC en un único chip.
Interpolación de línea vertical para MPEG-1 de vídeo.
Entrada : RGB, YUV 4:4:4 ó YUV 4:2:2.
Salida s-vídeo (C e Y).
Circuito interno para generación de señal de sincronismo.
Encapsulado 80 pins quad flat package.
Damián Martínez Muñoz
30
Ing. Telecomunicación
DECODIFICADOR
DE AUDIO
MPEG
‘AV120
Proporciona un coste bajo para la
implementación de algoritmos de codificación
de audio MPEG ( Layers 1 y 2 )
DECODIFICADOR
DE VIDEO
CD
MPEG
‘AV220
Basado en el decodificador de video
CL450 de C’Cube con características
especificas para Video CD integradas .
DECODIFICADOR
DE VIDEO
CD
MPEG
‘AV220
Convierte las secuencias de bits de salida ,
RGB or YUV del ‘AV220 a una señal
analógica NTSC para TV .
Damián Martínez Muñoz
Sistemas de Procesado de Señal en Tiempo Real
• Arquitectura matemáticamente modelada para minimizar el silicio usado y maximizar la calidad de audio.
• La calidad CD es mantenida sin ninguna cuantificación
adicional.
• También puede ser usado como un decodificador de audio MPEG sin necesidad de un procesador host.
*Derivado del TMS320AV110 MPEG decodificador de
Audio y optimizado para reducir el coste de las aplicaciones
de video CD.
CHIPSET
VIDEO
CD
• Integra decodificador de sistema MPEG1,buffer para audio y
microcódigo interno.
• Sincronización de las salidas de audio y video sin un host
externo.
• Integra funciones de control de Video CD (vista rápida,
reverse , elección de pista ...).
• Proporciona una interfaz para decodificadores de CDROM
SONY y SANYO.
• Verticalmente se interpolan las lineas para crear la imagen
reduciendo el ruido
• Genera señales de sincronización para el decodificador de
video ‘AV220.
• Soporte Overlays, proporcionando la capacidad de superponer
textos y gráficos en la pantalla de vídeo.
UN CHIPSET
VERSATIL Y
OPTIMIZADO
31
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
MOTOROLA
Damián Martínez Muñoz
32
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
3 DSP’s de Motorola
Motorola, aunque entró a competir en el mercado de los DSP’s relativamente
tarde (1987), ha conseguido tener un peso relativamente importante en este mercado. El
primer DSP que sacó a mercado (DSP56000/56001) era de coma fija pero de 24 bits.
Este valor de precisión ocupa un valor intermedio ocupa un valor intermedio entre la
precisión que aporta la coma fija de 16 bits con la coma flotante de 32 bits. Este DSP
desde su aparición tuvo una elevada aceptación sobre todo en lo que se refiere a
aplicaciones con audio.
Actualmente la familia de DSP’s que Motorola ofrece son:
•
Familia de coma fija de 16 bits (DSP561xx)
•
Familia de coma fija de 24 bits (DSP5600x)
•
Familia de coma flotante de 32 bits (DSP96002)
A continuación vamos a ver una a una estas familias de DSP’s.
3.1 Familia DSP561xx
La arquitectura de los DSP561xx fueron está basada en la arquitectura del
DSP56000, añadiendo un codec para conversiones D/A y A/D con ancho de banda
vocal para aplicaciones de telefonía móvil digital y comunicaciones de voz. El
DSP561xx realiza en un ciclo de instrucción, dos ciclos de reloj, la operación de
multiplicación-acumulación (MAC) y facilita la realización de sumas de productos y
procesamiento de vectores. La unidad aritmético lógica (ALU) consta de dos
acumuladores de 40 bits incluyendo 8 para extensión de signo, con 4 registros de
entrada de 16 bits para conservar ciertas variables y coeficientes. Los registros de
entrada, para una instrucción MAC deben cargarse al mismo tiempo que la instrucción
MAC anterior. Se pueden cargar los registros de entrada a la operación MAC en
paralelo con la operación MAC anterior. Cuando almacenamos el resultado en 16 bits
de memoria, ocasionalmente el circuito limitador satura los valores del acumulador de
40 bits a +1.0 y -1.0 que son los valores más grandes que puede tomar.
El DSP561xx tiene RAM de programa y memoria RAM de datos de doble
puerto interna; cada una tiene su propio bus de direcciones y de datos. La RAM de
datos de doble puerto permite al generador de direcciones entregar dos direcciones por
ciclo, permitiendo dos lecturas o una lectura y una escritura. El generador de
direcciones tiene 12 registros de 16 bits, tales como de direcciones de offset y de
modificación, que permiten implementar diferentes tipos de direccionamiento. El centro
del DSP561xx puede acceder a los registros generadores de direcciones a través de un
bus global de datos que une a estos registros con la memoria externa, periféricos, y una
unidad funcional para la manipulación de bits.
El bus externo de 16 bits del chip multiplexa entre 64 Kbytes de programa y
momoria de datos. La CPU puede realizar un acceso a memoria externa en un sólo ciclo
de instrucción. Cuando se usa una memoria lenta, el chip puede necesitar estados de
espera, controlados mediante programación. Con un reloj externo a 60 MHz y un ciclo
de instrucción básico a 30 MHz, un acceso desde memoria a la CPU debe tardar menos
de 33 nanosegundos. El DSP561xx tiene dos buses de dirección de memoria de datos
Damián Martínez Muñoz
33
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
que acceden a la memoria de datos RAM X, y a la memoria externa para los valores de
la memoria Y.
Modos de direccionamiento.
El DSP561xx soporta direccionamiento directo, indirecto (postincremento
/decremento por 1 u offset e indexado con offset) y direccionamiento inmediato. El
generador de direcciones también soporta direccionamiento circular y bit reverse (útil
para hacer la FFT).
Instrucciones especiales.
El DSP561xx proporciona instrucciones para realizar bucles tales como “do” y
“repeat”; solamente los bloques que se repiten usando la instrucción “do” son
interrumpibles.
Soporte.
Motorola vende el Sistema para Desarrollo de Aplicaciones con
operaciones de emulación in-circuit usando las características de emulación on-chip de
los DSPs. El emulador on-chip permite puntos de ruptura fijos, ejecución paso a paso, y
la lectura/modificación de memoria ó registros. Motorola proporciona un compilador de
C Gnu, un debuger, un linkador/ensamblador y un simulador.
3.2 Familia DSP5600x
Es un DSP de coma fija de 24 bits. Presenta tres bancos de memoria: uno de
programa y dos de memoria de datos (X e Y). Como la mayoría de otros DSP’s, el
DSP5600 tiene un bus de memoria externa versátil, capacidad de manipulación de bits y
es posible ejecutar desde memoria externa usando un único ciclo de instrucción. El chip
no tiene memoria ROM de programa interna, salvo un pequeño program de arranque en
algunas versiones. Por contra, el DSP56000 puede acceder a memoria externa en cada
ciclo de instrucción sin penalización temporal.
En el sentido tradicional, el DSP56000 es una maquina basada en acumulador
debido a que las operaciones lógicas y matemáticas se hacen a través de un acumulador.
Sin embargo, la arquitectura hace posible la manipulación de bits en registros y en
memoria. Tiene una unidad MAC que opera usando un solo ciclo de instrucción; la
unidad tiene dos acumuladores de 56 bits (8 bits para extensión de signo); dos conjuntos
de registros de 24 bits abastecen la unidad. Antes de que se usen los datos debemos
cargarlos dentro de los registros MAC. MAC sólo emplea un ciclo de instrucción (dos
ciclos de reloj) para multiplicar y acumular. Otros registros son los registros de
direccionamiento y control.
Como muchos otros DSP’s, el DSP56000 tiene dos generadores de direcciones
similares que acceden a las memorias X e Y para los ciclos MAC. Cada generador de
direcciones tiene una ULA de 16 bits y 4 conjuntos de 3 registros: 4 registros de
puntero que llevan asociados, cada uno, registros de offset y de modificación. Los
registros de modificación pueden especificar el tipo de operaciones aritméticas de
dirección del registro, o pueden contener datos. Los registros de modificación soportan
un buffer FIFO y direccionamiento bit reverse.
El procesador combina direccionamiento de 16 bits con palabras de 24, tiene tres
pares de buses de datos y direcciones internos, que permiten acceder a la siguiente
instrucción y 2 accesos de datos en un solo ciclo y, por lo tanto, evitar la necesidad de
Damián Martínez Muñoz
34
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
una memoria caché interna. Un cuarto bus , el bus global de datos, es un bus lógico
simple de 24 bits que transfiere datos hacia y desde periféricos “on-chip”. Podemos
cambiar cualquiera de las posiciones de memoria internas y externas de 16 bits y los
buses de datos de 24. Cuando el DSP56000 almacena valores de 56 bits en registros de
memoria de 24 podemos desplegar una operación de desplazamiento de un bit y saturar
el valor a ±1.0. A diferencia de otros DSPs, las memorias X e Y del DSP56000 tienen
sus propios espacios de memoria, los cuales incluyen RAM “on-chip” y ROM para las
direcciones superiores. Una unidad de intercambio de bus interno gestiona las
transferencias entre los buses internos y el único bus externo. La unidad de
manipulación de bits ejecuta operaciones de bits en posiciones de memoria y registros
de datos, de control y de direcciones.
Modos de direccionamiento.
El 56000 soporta direccionamiento directo a registro, directo a memoria,
indirecto a registro, inmediato, y bit reverse.
Instrucciones especiales.
El 56000 ejecuta bloques do/end-do, manipulaciones de bit, comparación,
división, saltos si el bit está activo/inactivo, saltos incondicionales a subrutinas y
movimiento de memoria de programa. Ejecuta operaciones lógicas sólo desde el bit 24
al 47 del acumulador; estos bits representan la parte más significativa de los datos.
Soporte.
Motorola ofrece varias placas de evaluación del DSP5600x de bajo coste ;
también un sistema de desarrollo y aplicación a 40 MHz. Otras herramientas hardware
también están disponibles. El DSP56000 usa una interfaz de debug propia, On Chip
Emulator (OnCE), en lugar del interfaz estándar JTAG. Motorola aporta un compilador
Gnu y un debugger, un ensamblador-linkador y un simulador. Otros fabricantes
proporcionan paquetes de adquisición de datos y de diseño de filtros así como software
OS.
3.3 DSP96002
El DSP96002 de Motorola es básicamente una extensión a 32 bits en coma
flotante del DSP56000 de coma fija de 24 bits. El 96002 tiene 5 buses internos para
acelerar el procesamiento de operaciones múltiples. Estos buses incluyen un conjunto
de buses de memoria X e Y y de programa. También incluye un bus de datos global
para transferir direcciones y datos locales, y también un bus DMA que soporta dos
canales DMA. El controlador DMA “on-chip” mueve datos sin interrumpir la ejecución
de instrucciones en el DSP.
El DSP96002 tiene también dos interfaces de bus externos de 32 bits con soporte
de modo paginado DRAM. Estas interfaces externas tienen capacidad multimaster
incorporada. Otros DSPs 96002 o un procesador host puede realizar una petición del
bus y controlar el bus y usarlo para acceder a la memoria externa compartida o a la
memoria interna del 96002.
El DSP96002 de Motorola presenta un modelo de programación casi idéntico al
del anterior procesador DSP56000 de coma fija de 24 bits. Los ingenieros de Motorola
ampliaron el conjunto de instrucciones con instrucciones de coma flotante y extendieron
los registros incluyendo los de direccionamiento desde 16 a 32 bits.
Damián Martínez Muñoz
35
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Al igual que el DSP56000, el 96002 tiene memoria RAM X e Y y bloques de
ROM para proporcionar los coeficientes y variables de los cálculos de multiplicaciónacumulación (MAC) para suma de productos. Las operaciones MAC toman los
operandos de entrada de los registros de la ALU (como en el DSP56000)
La unidad de ejecución incluye un multiplicador separado y un sumador-restador
que controla estas operaciones para los cálculos de FFT , una unidad lógica y un
registro de desplazamiento. Estas unidades soportan operaciones con enteros y en coma
flotante con exponentes de 11 bits y mantisas de 32. El DSP96002 cumple el estándar
IEEE para representaciones de coma flotante de precisión doble y simple.
El DSP96002 tiene esencialmente la misma unidad de generación de direcciones
que el anterior DSP56000. Esta unidad comprende dos generadores de direcciones que
pueden operar a la vez. Cada generador tiene tres conjuntos de 4 registros de 32 bits:
direcciones (punteros de dirección), desplazamiento (valores offset) y registros de
modificación. Podemos cargar y acceder a estos registros mediante el bus de datos
global. El DSP96002 tiene una arquitectura flexible. El DSP soporta una mezcla de
espacios de memoria extendidos desde un espacio de direcciones único y unificado a
otro con espacios de 32 bits separados para X e Y y memoria de programa.
Modos de direccionamiento.
El DSP96002 soporta direccionamiento de registro directo, directo a memoria,
registro indirecto e inmediato. El generador de direcciones también soporta
direccionamiento módulo (para buffers circulares) y bit reverse.
Instrucciones especiales.
El DSP96002 soporta bucles hardware con bloques repeat, test y cambio de bit,
comparación de gráficos, llamadas condicionales a subrutinas y estados, conversiones
de entero a coma flotante y viceversa. El DSP96002 no soporta instrucciones de
ejecución condicionales.
Soporte.
Módulo de desarrollo de aplicaciones para evaluaciones y debugging del
DSP96002. El módulo usa el soporte de emulación “on-chip” (ONCE) del procesador
para establecer puntos de ruptura, ejecuciones paso a paso de la CPU y leer/modificar
memoria o registros. No provee soporte JTAG. Podemos configurar el chip para que
trabaje con RAM externa para desarrollo. Motorola proporciona un compilador C Gnu
y herramientas, también un linkador/ensamblador, librerías y un simulador de
comportamiento. Otras compañías ofrecen otras herramientas que incluyen
compiladores ADA y C, sistemas de desarrollo para gráficos, software de diseño de
filtros y tiempo real OS.
Damián Martínez Muñoz
36
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
ANALOG DEVICES
Damián Martínez Muñoz
37
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
4.1 Familia ADSP-2100
Los DSP’s de la familia ADSP-2100 proporcionan un juego de instrucciones que requieren
un único ciclo de instrucción cuando se implementan algoritmos de DSP.
El procesador puede realizar varias operaciones por ciclo. La unidad multiplicadoracumulador (MAC), la ALU y los registros de desplazamiento están separados pero no pueden
trabajar en paralelo. Otros registros secundarios siguen cada ejecución de los registros de unidad,
permitiendo un rápido cambio de contexto para el procesamiento de instrucciones.
Si necesitamos precisión extendida podemos usar el acumulador de 40 bits de la unidad
MAC (incluidos los 8 bits para extensión de signo) como dos registros de 16 bits y uno de ocho, y
copiar individualmente la información que contienen en otros registros. El registro de
desplazamiento mueve una entrada de 16 bits a la izquierda o la derecha dentro de un registro de
32. El hardware también permite la detección de exponente y normalización de bloques en coma
flotante para incrementar la precisión del DSP de 16 bits. Una aplicación usa el registro de
desplazamiento para conversiones entre números en coma fija y en coma flotante.
Los miembros de la familia ADSP-2100 tienen generadores de direcciones X e Y y buses
de datos y programa. Cuando en la ejecución utilizamos memoria interna, los buses facilitan los
datos X e Y para cada ciclo de MAC. También podemos usar la memoria del programa como
memoria de datos para almacenar constantes durante la realización de la instrucción MAC.
La memoria de programa de doble puerto permite dos accesos a memoria en un solo ciclo.
Para accesos a la memoria externa, el ADSP-2100 tiene un generador de estados de espera
programable desde 0 hasta 7 estados posibles.
Los diseñadores de Analog Devices optaron por una palabra de datos de 16 bits y una
palabra de instrucción de 24. El tamaño de la palabra de instrucción permite al dispositivo usar más
instrucciones complejas y ofrece mayor flexibilidad que la que da un código de operación de 16
bits. La diferencia entre el tamaño de la palabra de código y la palabra de datos requiere una
arquitectura Harvard con dos espacios de memoria. Estas arquitecturas, con espacios de memoria
separados, son frecuentes en la mayoría de los DSPs, permitiendo realizar instrucciones en paralelo
con operaciones de ciclo único MAC. Para diseños con memoria externa, los diferentes anchos de
memoria conllevan que si se distribuye la memoria de datos y de programa en tres chips de
memoria de 8 bits de palabra perderemos uno de cada 3 bytes en el área de memoria de datos.
Modo de direccionamiento :
Los ADSP-2100 permiten direccionamiento inmediato, directo, indirecto e indexado. Cada
generador de direcciones soporta como máximo 4 buffers circulares con 3 registros cada uno. Los
registros definen el final, la longitud y las direcciones de acceso. Un generador de direcciones
proporciona direccionamiento bit reverse sólo para datos.
Instrucciones especiales :
El ADSP-2100 puede ejecutar condicionalmente la mayoría de las instrucciones. El
comando do-until establece una secuencia de instrucciones que pueden ser de longitud arbitraria.
Debido a que el ADSP-2100 es un dispositivo ‘nonpipelinned’ no incurre en penalizaciones por
ejecutar saltos y llamadas a subrutinas.
Soporte :
Analog Devices proporciona un compilador ANSI C, un ensamblador, un linkador y un
simulador interactivo. Las tarjetas de evaluación están disponibles para la mayoría de los DSP’s de
esta familia. Los emuladores en circuito están disponibles para el debug de tarjetas hardware.
Damián Martínez Muñoz
38
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
4.2 Familia ADSP-21cspxx
Analog Devices basa el ADSP-21cspxx de coma fija de 16 bits en los 21xx. Los 21cspxx
pueden realizar un procesamiento de señal concurrente. Para facilitar su programación en C, el
ADSP-21cspxx tiene un rango de direccionamiento de 16 M palabras y 48 registros de datos
internos para el almacenamiento de las variables locales, computación y generación de direcciones
de datos. Para el acceso múltiple de señales en tiempo real, 48 registros adicionales permiten al
DSP conmutar tareas en un ciclo de reloj. Estos registros ocultos favorecen aplicaciones que
ejecutan algoritmos con dos secuencias de datos diferentes.
El corazón de los ADSP-21cspxx es un direccionador-procesador-decodificador, que realiza
todo el proceso en un solo ciclo, después de que la instrucción direccionada es cargada. Una unidad
acumulador-multiplicador de 16x16 bits (MAC) utiliza dos acumuladores de 40 bits que reducen
los problemas asociados a un acumulador único. El segundo acumulador tiene un registro de salida
compartido con el registro de desplazamiento de 40 bits del DSP.
Aunque el ADSP-21cspxx tiene buses de datos de 16 bits, el dispositivo usa palabras de
instrucción de 24. Este ancho de palabra permite soportar más operaciones por instrucciones y
proporciona mayor flexibilidad en los mecanismos de direccionamiento. El DSP presenta una
arquitectura von Neumann de bus doble. Los dos buses permiten obtener datos simultáneamente
del espacio de memoria unificado del ADSP-21csp01.
Dos generadores de direcciones de datos (DAGs) soportan cada uno cuatro buffers
circulares simultáneos. Los DAGs tienen registros base que permiten a un programador situar los
buffers circulares en cualquier lugar de la memoria. Los DAGs pueden acceder como máximo a 16
M de palabras de memoria. Un generador de direcciones proporciona un direccionamiento de bit
reverse para datos exclusivamente .
El ADSP-21csp01 contiene dos puertos serie bidireccionales que se pueden programar para
obtener canales múltiples y para transferir datos a 25 Mbps. Un puerto DMA de 16 bits hace de
interfaz del dispositivo con otros procesadores y buses del sistema. Un controlador DMA permite al
dispositivo transferir datos hacia y desde cada puerto serie y también hacia y desde el puerto DMA
sin interrumpir al procesador.
Modos de direccionamiento.
El ADSP-21csp01 permite direccionamiento inmediato, con registro directo a memoria y
con registro indirecto.
Instrucciones especiales.
Tienen un carácter más ortogonal que las del 21xx. El ADSP-21csp01 puede ejecutar
condicionalmente más instrucciones. Un comando do-until establece una secuencia de
instrucciones para cada operación.
Soporte.
Las herramientas de desarrollo incluyen un linkador, un simulador y un compilador C
integrado dentro de un entorno de diseño basado en Windows. La compañía también ofrece un
emulador in-circuit, EZ-ICE, que usa el interfaz JTAG para monitorizar y controlar el procesador
de la tarjeta en cuestión. Analog Devices también proporciona una librería en tiempo real DSP.
4.3 Familia ADSP-21020
Damián Martínez Muñoz
39
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
El ADSP-21020 proporciona los cimientos para el SHARC DSP de Analog Devices. Como
los anteriores DSPs de Analog, el ASDP-21020 utiliza palabras de instrucción de 48 bits para
codificar múltiples operaciones por instrucción. La instrucción más compleja puede ejecutar 3
cálculos, 2 desplazamientos de datos y la actualización de 2 punteros en un solo ciclo. Sin embargo,
tenemos la desventaja de que las palabras de instrucción extensas aumentan el coste del sistema; el
21020 necesita acceder a memorias externas dobles. La arquitectura Harvard del chip soporta 2
generadores de direcciones de datos (DAGs) y 2 buses externos con estados de espera
programables: un bus de instrucción de 48 bits y otro de datos de 40 bits con 24 y 32 bits de
direccionamiento respectivamente.
El 21020 carece de memoria de programa y de datos on-chip. Sin embargo, la CPU lleva a
cabo instrucciones de acumular-multiplicar (MAC) en un único ciclo de intrucción mediante la
ejecución de instrucciones posicionadas en la memoria caché on-chip de 32 palabras del 21020 y
obteniendo los coeficientes y los datos desde memoria externa.
A diferencia de los DSPs anteriores, el ADSP-21020 no es un diseño basado en acumulador.
Las operaciones se centran en una matriz de 32x40 bits, 10 puertos de registro de fichero que
soportan múltiples acumuladores y registros permitiendo más flexibilidad para la compilación en C
y el ensamblado de programas. Los registros de datos soportan formatos de coma fija y coma
flotante, dependiendo de cómo la instrucción haga referencia a ellos. El 21020 tiene 10 puertos con
sólo 9 activos en un ciclo, que enlazan las tres unidades computacionales DSP y los buses de datos
y de programa al fichero de registro. Para un mayor cambio de contexto, el DSP oculta éste fichero
de registro y todos los registros DAG.
Las tres unidades computacionales del ADSP-21020 comprenden un multiplicador de coma
flotante con dos acumuladores de coma fija; un registro de desplazamiento de 32 bits; y una ALU
que ejecuta operaciones matemáticas tanto coma fija y coma flotante. Los acumuladores de 80 bits
proporcionan 16 bits de cabecera para la expansión de bit, que es especialmente útil para largas
cadenas MAC. Las tres unidades pueden operar en paralelo, cada una con entradas y salidas al
fichero de registro. Las operaciones son concurrentes, a menos que se produzca un conflicto como
cuando dos unidades acceden al mismo registro. Cada unidad funcional trabaja en un sólo ciclo de
reloj.
El registro de indicadores de la ALU retiene los resultados de 8 operaciones de comparación
de la ALU. Los bits del registro de indicadores forman un registro de desplazamiento a la derecha.
Cuando el procesador ejecuta una operación de comparación de la ALU, estos bits se desplazan
hacia el menos significativo.
Los dos DAGs del 21020 acceden a las zonas de datos X e Y. Cada generador de
direcciones posee 8 conjuntos de registros que soportan 16 bufferes circulares simultáneos; cada
conjunto de registros abarca el índice, modificación, base y longitud de los registros. Los bufferes
circulares pueden residir en cualquier dirección de memoria y su longitud puede ser arbitraria y son
esenciales para la gestión de lineas de retardo y de datos en transformadas en el dominio del tiempo
y la frecuencia.
El 21020 minimiza el uso de los estados de programa ofreciendo ejecuciones condicionales
de la mayoría de las instrucciones: la instrucción utiliza un test de condición preliminar y si ésta es
positiva se ejecuta la instrucción.
Damián Martínez Muñoz
40
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Modos de direccionamiento.
Inmediato con 32 bits, indexado, de bit-reverse, módulo-circular, por registro directo y
direccionamiento indirecto. Sin embargo, debemos usar direccionamiento indirecto para acceder a
memoria externa.
Instrucciones especiales.
El 21020 desarrolla manipulaciones de bit, iteraciones de división, llamadas a subrutinas
condicionales, bucles de una única instrucción o un bloque de instrucciones, comparaciones en
coma fija y coma flotante y ejecuciones condicionales. El ADSP-21020 soporta la IEEE-754 de
coma flotante (23 bits de datos, 8 de exponente y uno de signo). También soporta formatos de coma
fija, fraccionaria y entera (sin signo o en complemento a dos) de 32 bit. Son posibles 6 niveles de
anidación de interrupciones.
Soporte.
Analog Devices proporciona un conjunto de utilidades que incluyen un compilador de ANSI
C, un compilador de C con extensiones numéricas C para cálculos matemáticos y aplicaciones en
coma flotante, un debugger fuente, un linkador-ensamblador, un simulador, librerías de
aplicaciones y un divisor PROM. Analog Devices ofrece un emulador en circuito de gran velocidad.
También tiene licenciado el ADSP-21020 a Temics Semiconductors (SantaClara, CA).
4.4 Familia SHARC (ADSP-2106x)
Además de las características de la arquitectura del ADSP-21020, el computador de
arquitectura Super Harvard (SHARC) de coma fija y coma flotante, ó ADSP-2106x, integra una
gran memoria on-chip y un controlador de E/S para descargar los procesos de E/S de datos. Los
chips SHARC tienen dos puertos serie de alta velocidad y un puerto paralelo/host. Ambos hacen
posible una interfaz directa a memoria externa, periféricos y procesador host, facilitando la
interconexión de hasta 6 ADSP-2106x.
La CPU del ADSP-2106x trabaja usando memoria externa o interna del chip para una
amplia gama de aplicaciones. Algunos chips SHARC contienen 512 Kbytes de memoria on-chip
distribuidos en 2 bancos de memoria RAM de doble puerto. Ésta RAM permite accesos a memoria
en un único ciclo de instrucción. Podemos usar esta memoria para almacenar una combinación de
16, 32 ó 40 bits de datos o instrucciones de 48 bits y realizar hasta 4 accesos por ciclo: memoria de
programa para código de operación y datos, memoria de datos para los datos y una carga desde
memoria externa usando el procesador de E/S del chip.
SHARC incluye un controlador de E/S que realiza transferencias en paralelo con la realización de
operaciones en la CPU. El controlador de E/S descarga la lectura y escritura entre memoria interna
y externa, pero aparecen retardos cuando los accesos se realizan a una misma dirección de memoria.
El controlador administra 10 canales DMA, transfiriendo datos dentro de la memoria interna,
dispositivos periféricos externos, y el host, 2 puertos serie y 6 puertos de enlace. Todas las
operaciones DMA son transferencias de datos sin penalización en tiempo que generalmente no
producen interrupción. El controlador de DMA nos permite el control dinámico del ancho del bus
de memoria externa. Los puertos serie síncronos pueden transferir datos a velocidades de hasta 40
Mbps; los 6 puertos de comunicaciones pueden transferir datos tan rápido como un byte por ciclo
de reloj. Con 6 enlaces operando simultáneamente la máxima transferencia es de 240 Mbytes por
segundo.
La CPU, el controlador de E/S, y los periféricos interconectan y realizan transferencias
flexibles y no intrusivas a través de una unidad de interconexión multibus. Para reducir el cuello de
Damián Martínez Muñoz
41
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
botella, la interconexión permite el desplazamiento ilimitado de datos e instrucciones desde
memoria interna o externa , caché, y E/S desde periféricos de fuera o dentro del chip, en un solo
ciclo.
SHARC proporciona 6 puertos de comunicación y conexión para formar array de
multiprocesadores. Estos puertos captan datos a través del controlador de E/S y permiten crear
mallas de procesadores DSP que pueden acceder a los espacios de memoria del resto (conexiones
punto a punto entre los puertos del DSP definen cada procesador dentro de la malla). El
controlador “on-chip” de E/S inicia, y responde a esos puertos. Las transferencias pasan a través de
los puertos de E/S hacia y desde la memoria interna . El controlador de E/S descarga al procesador
principal del DSP de realizar todas estas transferencias.
Un puerto en paralelo sirve como interfaz directa para la memoria externa, periféricos o un
procesador host. Este bus puede ser compartido hasta un máximo de 6 chips ADSP-2106x. Los
chips SHARC ofrecen un espacio de direccionamiento unificado usando un bus de direcciones
único de 32 bits y un solo bus de datos de 32 ó 42 bits. Para relojes de 40 MHz., el chip permite
usar una memoria con ciclo de acceso de 15 nseg. sin requerir estados de espera. La interfaz
especial host soporta µPs de 16 y 32 bits, así como también buses de sistema, tanto ISA como PCI.
SHARC trata este host como un dispositivo mapeado en memoria, con escrituras o lecturas directas
a memoria interna.
Modos de direccionamiento.
SHARC ofrece direccionamiento inmediato, indexado, de bit reverse, módulo circular, de
registro directo e indirecto (se debe usar el direccionamiento indirecto para accesos a memoria
externa).
Instrucciones especiales.
SHARC permite manipulación de bit, iteraciones de división, llamadas a subrutinas
condicionales, bucles con una única instrucción o bloque de instrucciones, comparaciones de coma
fija y coma flotante y ejecuciones condicionales. SHARC soporta IEEE-754, coma flotante (23 bits
de datos, ocho de exponente y un bit de signo) y el formato extendido IEEE de 40 bits para
precisión adicional (32 bits de datos).
Soporte.
Analog Devices ofrece un emulador basado en JTAG de gran rapidez que usa la capacidad
de “debugging” incorporado en el ADSP-2106x. Trabaja bajo Microsoft Windows y soporta
“debugging” para sistemas multiprocesador. La compañía también proporciona un Sistema de
Desarrollo EZ-Lab, una tarjeta para PC con múltiples procesadores 2106x, así como un EZ-kit
reducido con un compilador de C por $179. Otras compañías ofrecen productos tales como tarjetas
multiprocesadores para PC, VME y OS. Analog Devices aporta un compilador de C basado en
tecnología Gnu. Este compilador soporta C Numérico, que amplía la capacidad de procesamiento
de matrices y vectores para procesamiento de señales. Otras herramientas incluyen un
emsamblador-linkador, un simulador, librerías de aplicaciones, un divisor PROM y un debugger C
a nivel fuente .
Damián Martínez Muñoz
42
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
ANEXO:
Tablas Comparativas
Damián Martínez Muñoz
43
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Dispositivos
Aplicaciones
Instrucciones
/datos (bits)
Acumulador (bits)
Registro de
desplazamiento
(bits)
Generador
de
direcciones
Buses de
datos
Puerto de
interfaz
host
Rango de direcciones
externo
Telefonía GSM,
codificación de voz CELP G.729
32/16
48
32
Uno
Uno
Sí
Sí
4 Kbytes
Módem,
videoconferencia,
GSM, speaker de teléfono
Estaciones base celulares,
módem DSVD, mezcladores de
audio,
cancelación de eco acústico
Radar, sonar, procesamiento de
imagen, electrónica médica
24/16
40
32
Dos
Dos
No
Paralelo
4 Mbytes
24/16
40
40
Dos
Dos
Sí
16 bit host
48 Mbytes puerto DMA
20/16
20
Ninguno
Chip separado
con 5
6
Sí
Paralelo
256 kbytes
32/16
40
40
2
2
No
64 kbytes
16/16
36
No
2
2
Sí
Opción del
cliente
Opción del
cliente
64kbytes (datos),
64kbytes (instrucciones)
16/16
36
36
2
2
Sí
Opción del
cliente
64kbytes (datos),
64kbytes (instrucciones)
32/32
40
40
2
3
No
64Mbytes
16/16
36
36
2
2
No
DMA,
Hold/Hida
Serie
Mensajería digital, cableado/móviles,
control digital
Celular digital, comunicación de voz
16/16
36
16
2
3
Sí
No
16/16
40
Ninguno
2
2
No
Paralelo
Móviles, multimedia, vídeo
conferencia, fax/módem
Procesamiento de vídeo
32/16
40
40
2
2
Sí
32/(8 ó 16)
40
Ninguno
5
1 por
procesador
Sí
Paralelo y
serie
100Mbyte/s
DMA
Móviles, fax/módem
16/16
40
40
2
2
Sí
Control de motores
16/16
32
16
1
1
No
TMS320C2x
Controladores de discos duros
16/16
32
16
1
1
TMS320C2xx
Telecomunicaciones, electrónica de
consumición, sistemas de seguridad
16/16
32
16
1
2
16 bit Coma fija
Advances Risc
Machines
Soporte
multiprocesador
16 bit Coma fija
Picolo
Analog Devices
ADSP-2011
ADSP-21csp01
Array Microsystems
A66xxx
Atmel
Lode
DSP Group
Pine DSPcore
Oak DSPcore
Hitachi
SH-DSP
Lucent Technologies
Codificación de voz,
procesamiento celular de señales
Máquinas de teléfono-contestadores,
módems de baja velocidad,
grabadoras de voz
Módems, DSVD, vídeo/audio
conferencia, teléfonos celulares,
DVD, AC3
Telecomunicaciones móviles, imagen
digital, multimedia, módems
Comunicación móvil, módems
64k words
DSP16xxx
Motorola
568xxx
DSP561xx
NEC
µPD7701x
Oxford Micro
Devices
128kbytes (datos),
1Mbyte (instrucciones)
128kbytes (datos),
128kbytes (programa)
96kbytes (datos),
96kbytes (instrucciones)
16 Mbytes
A236
SGS-Thomson
256kbytes (datos),
128kbytes (programa)
128kbytes
Sí
Opción del
cliente
Soporta paralelo (algunas
versiones)
No
Sí
No
384kbytes
D950-Core
Texas Insruments
TMS320C1x
Damián Martínez Muñoz
256kbytes
44
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Dispositivos
Aplicaciones
Instrucciones
/datos (bits)
Acumulador (bits)
Registro de
desplazamiento (bits)
Generador
de
direcciones
Buses de
datos
Soporte
multiprocesador
Puerto de
interfaz
host
Rango de direcciones
externo
TMS320C5x
Multimedia, celulares/sin
cable/módem, discos duros
Comunicaciones con/sin cable, redes,
multimedia
Estaciones móviles, plataformas de
telefonía multicanal
Vídeo conferencia, procesamiento
digital, switching digital
16/16
32
16
1
2
Sí
Paralelo
384 kbytes
16/16
40
40
2
3
Sí
Paralelo
384 kbytes
32/16
40
40
2
2
Sí
Paralelo
8 Mbytes
64/16
32
32
2 por DSP
2 por
procesador
Sí
4 Gbytes
16/16
24
Ninguno
2
2
No
Vía
Hold/HoldA
handshake
No
16/16
40
32
2
4
No
No
128 bytes (datos),
128 kbytes (programa)
Radar, imagen para aplicaciones
médicas
Audio, control, módem
8/24
(complex)
24/24
60
(dual)
56
Ninguno
Chip separado
Sí
Paralelo
Ilimitado
Ninguno
2
4
(complex)
2
No
Paralelo
Móviles, multimedia,
telecomunicaciones
24/24
56
56
2
3
Sí
PCIcompatible
256 kbytes (datos),
128 kbytes (programa)
16 Mwords x 3
48/40
80
32
2
48/40
80
32
2
32/32
96
Ninguno
32/32
40
32/32
40
TMS320C54x
TMS320C6x
TMS320C8x
Zilog
Z893xx
Z894xx
Contestadores automáticos digitales,
controladores de disco duro,
telefonía digital, lectores de cinta
magnética, control de motores
Móviles, compresión de datos,
dispositivos de contestadores
automáticos digitales
20 y 24 bit Coma fija
Butterfly
BDSP9124
Motorola
5600x
563xx
20 y24 bit Coma fija
32 bit Coma flotante
Analog Devices
ADSP-21020
ADSP-2106x
Motorola
DSP96002
Texas Instruments
TMS320C3x
TMS320C4x
Dispositivos
Ultrasonidos para aplicaciones
médicas, instrumentación de
precisión, gráficos 3D, radar, sonar
Procesamiento de
gráficos/vídeo/imagen, redes
digitales sin cable, antibloqueo,
estaciones digitales celulares de
sistemas de frenado
Imagen, comunicaciones,
procesamiento de cadenas
Control, gráficos, imagen, audio,
copiadoras, impresoras
Radar, sonar, imagen, gráficos 3D,
infraestructura de telecomunicación,
comunicaciones de alta velocidad,
aplicaciones de multiproceso
Caché de
instrucción
Damián Martínez Muñoz
Niveles de pila
hardware
64 bytes (datos),
64 kbytes (programa)
32 bit Coma flotante
Pila
software
Looping
hardware
Soporte
JTAG
No
No
4G words
3
Sí
Paralelo
4G words
2
2
Sí
413x109
32
2
2
Sí
Paralelo
(dos)
No
32 Mbytes
32
2
3
Sí
No
4 Gbytes
Fuentes de
interrupciones
Retardo máximo
de interrupción
FFT 256 puntos
(ciclos)
Características especiales
45
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
externas
(ciclos)
16 bit Coma fija
16 bit Coma fija
Permite trabajar con varios µP ARM,
4 acumuladores de 48 bit
64x32 bit
No
Sí
Sí
Sí
2
20
Contactar con el
vendedor
Ninguno
16
No
Sí
No
4
5
11,920
Interfaz de memoria externa de datos y de
programa es de 8 bits, 64 kwords SRAM
64 palabras
31 (caché
selectiva de
programa)
No
counter stack
Sí
Sí
4
5
11,915
No
Ninguno
No
No
Sí
Ninguno
NA
Contactar con el
vendedor
Controlador de DMA de 8 canales, puertos
serie multicanal, 96 registros con cambios
de tarea un sólo ciclo, 2 puertos serie
autobuffer/multicanal
Procesador de funciones específico para
FFTs ; nivel comercial, industrial y militar
No
16
No
Sí
Sí
1
8
Contactar con el
vendedor
Unidades MAC dobles, Galois,
Aceleradores Viterbi
DSP Group
No
8
No
Sí
Emulación onchip
2
2
19,424
Pine DSPcore
Oak DSPcore
Unidad de manipulación de bit,
base ASIC, acelerador Viterbi
No
Ninguno
Sí
Sí
Emulación onchip
3
2
16,528
Unidad de manipulación de bit,
base ASIC, acelerador Viterbi
Hitachi
No
No
Sí
Sí
Sí
4 individuales, 16
codificación binaria
5
Contactar con el
vendedor
15x16 bit
Ninguno
Sí
No
Sí
2
De 6 a 7
21,293
Bajo consumo (0.7 mA/MIPS), incluye
expansión de arquitectura con aceleradores
No
Bucle do
Sí
Sí
Sí
2
20
15,657
DSP561xx
No
15
No
Propio
4
5.5
12,162
NEC
No
15
No
Hardware con
bucles
anidados
Sí
Instrucciones y arquitectura tipo µC,
unidad MAC nonpipelined, 5 modos de
bajo consumo
Contador, codec
Sí
4
4
10,888
1 kbyte +
1 kbyte (datos)
Ninguno
Sí
No
No
4
12
Contactar con el
vendedor
No
Ninguno
Sí
Sí
Sí
1
7
12,971
Texas Insruments
No
4 (8 para el C16)
No
No
No
2
7
TMS320C1x
TMS320C2x
No
8
No
Sí
No
3
8
Contactar con el
vendedor
Contactar con el
vendedor
Advances Risc
Machines
Picolo
Analog Devices
ADSP-2011
ADSP-21csp01
Array Microsystems
A66xxx
Atmel
Lode
SH-DSP
Lucent Technologies
DSP16xxx
Motorola
568xxx
µPD7701x
Oxford Micro Devices
A236
SGS-Thomson
D950-Core
Damián Martínez Muñoz
µP RISC +DSP, interfaz EDO RAM,
DMA, DLL
8 registros/acumuladores de propósito
general de 40 bits, conjunto de
instrucciones en paralelo de un sólo ciclo,
operación multifunción
4 DSPs en paralelo y un µP scalar de 24
bit, 3 puertos DMA para conexión de
video,
RS-232C, coprocesador integrado con
estimación de movimiento
Diseño para aplicaciones dedicadas.
Librería disponible para diseños ASIC
Unidad MAC de dos instrucciones
Instrucción Repeat, RAM/ROM extendida
46
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Dispositivos
Caché de
instrucción
Niveles de pila
hardware
Pila
software
Looping
hardware
Soporte
JTAG
Fuentes de
interrupciones
externas
Retardo máximo
de interrupción
(ciclos)
FFT 256 puntos
(ciclos)
TMS320C2xx
No
8
No
No
Sí
5
8
25,039
Memoria flash on-chip
TMS320C5x
No
8
No
Sí
Sí
6
12
20,907
Unidad lógica en paralelo, amplia gama de
RAM y ROM
TMS320C54x
No
Ninguno
Sí
Sí
Sí
5
8
13,251
Gran cantidad de memoria RAM/ROM
interna, acelerador Viterbi
TMS320C6x
8 kbytes
Ninguno
Sí
Sí
Sí
5
12
4227
TMS320C8x
2 kbytes
Ninguno
Sí
Sí
Sí
4
6 DSP
4881
Zilog
No
6
No
No
No
3
4
Z893xx
Z894xx
Contactar con el
vendedor
No
No
Sí
Sí
No
3
6
Contactar con el
vendedor
20 y 24 bit Coma fija
DSP VLIW, 8 unidades funcionales en
paralelo, 32 registros de 32 bit, compilador
paralelo
4 DSPs y 1 µP RISC, 50 kbytes de SRAM,
control de DRAM y vídeo, coprocesador
DMA
Interfaz codec, ADC, contador
/temporizador ,PLL, SPI
Interfaz codec, temporizador/contador, bus
de teleprograma/datos externo,
direccionamiento lineal
20 y24 bit Coma fija
Opción del
consumidor
Opción del
consumidor
Sí
No
1
NA
BDSP9124
Contactar con el
vendedor
Contactar con el
vendedor
Motorola
Butterfly
Características especiales
1k-point complex, FFT 24 bit en 65 ms, 26
instrucciones de alto nivel integradas
Emulación onchip, PLL, temporizador
No
15
No
Bucles do
anidados
Propio
3
5
8332
5600x
563xx
3 kbytes
16
Sí
Sí
Sí
5
4.25
10,918
Analog Devices
32x48 bit
20
No
Sí
Sí
5
5
6303
32x48 bits
30
No
Sí
Sí
4
5
6303
1024x32 bits
15
No
Sí
Propio
3
5
Contactar con el
vendedor
Texas Instruments
64x32 bits
Ninguno
Sí
Sí
Propio
4
8
12,410
Interfaz de memoria flexible (C32)
TMS320C3x
TMS320C4x
128x32 bits
Ninguno
Sí
Sí
Sí
4
8
11,884
Puertos de comunicación
32 bit Coma flotante
32 bit Coma flotante
ADSP-21020
ADSP-2106x
Motorola
DSP96002
Damián Martínez Muñoz
La pila utiliza automáticamente memoria
externa cuando se desborda, DMA
La memoria de programa almacena tanto
datos como código, arquitectura Harvard
off-chip, unidades de cálculo
independientes en paralelo
SRAM de doble puerto, 512 kbytes onchip, 6 puertos de conexión, 2 serie,
controlador E/S de 10 canales DMA
2 interfaces host 32 bit, 2 puertos de
memoria externa 32 bit, 2 canales DMA
47
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Comparación entre diferentes DSP’s de coma flotante
ADSP-21060
TMS320C40
DSP96002
i860
25 ns
40 ns
50 ns
20 ns
40
25
20
50
120
50
60
100
25 ns
40 ns
50 ns
60 ns
32 (16 principales)
8
8
30
2
0
0
0
240 MB/s
50 MB/s
80 MB/s
0
0.46 ms
1.54 ms
1.05 ms
0.76 ms
150 ns, 6 ciclos
360, 9 ciclos
350 ns, 7 ciclos
440 ns, 22 ciclos
Tamaño encapsulamiento
1.59 in2
3.46 in2
3.46 in2
3.06 in2
Ejecución por pulgada
cuadrada
Respuesta a interrupción
74 MFLOPS/in2
14 MFLOPS/in2
17 MFLOPS/in2
33 MFLOPS/in2
3 ciclos
4 ciclos
3 ciclos
22 ciclos
Atributos del procesador
Tiempo de ejecución de
instrucción
MIPS
Máximo MFLOPS
Espera de las instrucciones en
coma flotante
RAM interna (32 bit words)
Puertos serie
Ancho de banda DMA
FFT, 1K complex
División, coma flotante 32 bit
Fuente : Texas Instruments, Motorola, Intel Users Manuals & Datasheets y EDN Magazine
Damián Martínez Muñoz
48
Ing. Telecomunicación
Sistemas de Procesado de Señal en Tiempo Real
Bibliografía
•
•
•
•
•
•
•
TMS320C1x User’s Guide. Texas Instruments.
TMS320C1x Product Bulletin. Texas Instruments.
TMS320C2x User’s Guide. Texas Instruments.
Apuntes del Seminario sobre DSP’s de Texas realizado por ADM.
Manual de Usuario de la familia DS56000. Motorola.
Manual de Usuario del DS56002. Motorola.
Número de Mayo-1997 de la revista EDN Europe.
Direcciones WEB de interés:
•
•
•
Texas Instruments: http://www.ti.com
Motorola: http://www.motorola-dsp.com
Analog Devices: http://www.analog.com
Damián Martínez Muñoz
49