Investigación sobre arquitectura de los DSP y sus módulos embebidos

 Se trata de un sistema de computación diseñado para realizar una o algunas funciones dedicadas frecuentemente en un sistema de computación en tiempo real. Al contrario de lo que ocurre con los ordenadores de propósito general (como por ejemplo una computadora personal o PC) que están diseñados para cubrir un amplio rango de necesidades, los sistemas embebidos se diseñan para cubrir necesidades específicas. En un sistema embebido la mayoría de los componentes se encuentran incluidos en la placa base (la tarjeta de vídeo, audio, módem, etc.) y muchas veces los dispositivos resultantes no tienen el aspecto de lo que se suele asociar a una computadora. Los sistemas embebidos se pueden programar directamente en el lenguaje ensamblador del microcontrolador o microprocesador incorporado sobre el mismo, o también, utilizando los compiladores específicos, pueden utilizarse lenguajes como C o C++; en algunos casos, cuando el tiempo de respuesta de la aplicación no es un factor crítico, también pueden usarse lenguajes como JAVA.

Las características básicas de los sistemas embebidos son las siguientes: 

  • Deben ser confiables, 
  • La confiabilidad, en inglés reliability R(t), es la probabilidad de que el sistema trabaje correctamente dado que está funcionando en t=0. 
  • La mantenibilidad, en inglés Maintainability M(d), es la probabilidad de que el sistema vuelva a trabajar correctamente d unidades de tiempo después de un fallo. 
  • La disponibilidad, en inglés Availability A(t), es la probabilidad de que el sistema esté funcionando en el tiempo t. 
  • La seguridad informática: consiste en disponer de una comunicación confidencial y autentificada. 
  • La creación de un sistema confiable debe ser considerada desde un comienzo, no como una consideración posterior. 
  • Deben ser eficientes en cuanto a la energía, al tamaño de código, al peso y al costo. 
  • Están dedicados a ciertas aplicaciones. 
  • Interfaces de usuario dedicadas (sin ratón, keyboard y pantalla).
 Muchos sistemas embebidos deben cumplir restricciones de tiempo real. Un sistema de tiempo real debe reaccionar a estímulos del objeto controlado (u operador) dentro de un intervalo definido por el ambiente.

Existen varios tipos de arquitectura: 

  • Arquitectura Von Neumann ( Tipo Princeton) – memoria común, bus de datos e instrucción. 
  • Arquitectura Harvard – memorias separadas, buses de datos e instrucciones 
  • Arquitectura Super Harvard – memorias separate + CACHE para instrucciones + controladores I/O (E/S).
La arquitectura Harvard es típica para microcontroladores y DSP. También se utiliza en la organización de la memoria CACHE en los sistemas MP más complejos.

La arquitectura Harvard, es la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.

La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento. Típicamente los sistemas con esta arquitectura pueden ser dos veces más rápidos que sistemas similares con arquitectura Von Neumann. La desventaja está en que consume muchas líneas de E/S del procesador; por lo que en sistemas donde el procesador está ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayoría de los microcontroladores. Por eso es importante recordar que un microcontrolador se puede configurar de diferentes maneras, siempre y cuando se respete el tamaño de memoria que este requiera para su correcto funcionamiento.

Detalles del bloque DSP

El bloque Stratix IV DSP es una arquitectura de silicio de alto rendimiento con una gran capacidad de programación que ofrece un procesamiento optimizado en muchas aplicaciones. Cada bloque DSP proporciona ocho multiplicadores de 18 x 18, así como registros, sumadores, restadores, acumuladores y funciones de unidad de suma que se requieren con frecuencia en los algoritmos DSP típicos. El bloque DSP admite anchos de bits completamente variables y varios modos de redondeo y saturación para cumplir de manera eficiente los requisitos exactos de su aplicación. Ver figura 1.

Figura 1. Arquitectura de bloques DSP

Como conclusión del trabajo podemos hacer referencia a la variedad de ejemplos de sistemas embebidos que se utilizan en la actualidad:

  • - Máquinas y otros dispositivos de respuesta y contestación automática.
  • - Sistemas para el control automático de objetos en movimiento.
  • - Los teléfonos móviles y sistemas GPS
  • - Dispositivos de una red de ordenadores, tales como routers, hubs,
  • firewalls etc.
  • - Impresoras para computadoras, copiadoras y dispositivos multifunción.
  • - Dispositivos de control para HDD y FDD
  • - Controladores de un motor de automóvil, sistemas de frenos, sistemas
  • de cierre, etc
  • - Aparatos electrodomésticos tales como refrigeradores, acondicionadores
  • de aire, sistemas de seguridad, hornos de microondas, lavadoras, TV y
  • sistemas de DVD, etc.
  • - Equipamiento médico
  • - Los asistentes personales como computadoras portátiles, notebooks, etc.
  • - Controladores Lógicos Programables (PLC) para aplicación industrial.
  • - Dispositivos para juegos de video.
  • - Cámaras digitales y cámaras de video, etc. 
Referencias 

Comentarios

Entradas populares de este blog

Dispositivos Digitales Programables Pal y Gal

Arquitectura de los DSP y sus módulos embebidos

Bloques funcionales en PLD