martes, 3 de marzo de 2009

Cuestionario sobre el articulo "DSP: Arquitecturas y criterios de seleccion"

1-. Justifica la necesidad de un DSP en una aplicación real de electrónica de consumo. ¿En que casos usarías un microprocesador convencional?

            Los DSP`s son necesario en una aplicación real de electrónica de consumo, debido a que  la mayoría de estos sistemas tienen una carga computacional extremadamente intensa, y con un DSP, que utilizan arquitecturas especiales para acelerar cálculos matemáticos intensos, además en el propio chip incluyen periféricos especiales e interfaces E/S que permiten que el procesador se comunique de forma eficiente con el resto de componentes. Por todo ello debemos elegir un DSP en vez de un microprocesador.

            Utilizaremos un microprocesador cuando no se tenga que hacer tareas de altas prestaciones, repetitivas y numéricamente intensas.

3-. ¿Que medidas para comparar la velocidad de un procesador conoces? ¿Te parecen adecuadas? ¿Como crees que se utilizan? Añade otras que tú consideres necesarias.

            Para comparar velocidades de procesador utilizaremos el tiempo de ciclo por instrucción o la velocidad del procesador en millos de instrucción por segundo o MIPS, en el caso de coma fija o MFLOPS en el de coma flotante.

            No me parece adecuada ya que al comparar los tiempos de ejecución de instrucción de varios procesadores es que la cantidad de trabajo realizado por una instrucción varía mucho de un procesador a otro, ya que algunos por ejemplo disponen de desplazamientos combinatorios de bits y otros requiere que el dato sea desplazado con repetitivas instrucción de un solo bit.

            No creo que sea una buena utilización, ya que aunque la medición e estos valores son muy precisos no nos dicen lo que el DSP es capaz de hacer. Para que este valor fuera efectivo debería medir el tiempo al realizar una operación básica como por ejemplo una operación MAC.

4-. Explica, con tus propias palabras, que es la segmentación de instrucciones. ¿Que son las instrucciones de "salto"? ¿Por que dan problemas con el pipelinig? ¿Que supone esto en una operación de tratamiento digital de señal en tiempo real? ¿Se te ocurren otros tipos de instrucción que acareen estos problemas?

             La segmentación es la división de secuencias de operaciones en otras más sencillas para ejecutarlas en la medida de lo posible en paralelo y hacer una operación más veloz y eficaz.

            Las instrucción de salto son las que permiten realizar saltaros en el flujo de control de un programa, o lo que es lo mismo permiten transferir el control alterado bruscamente el control del mismo.

            Porque cuando llega una instrucción de este tipo en la decodificación del segundo ciclo de reloj, la “pipeline” se vacía y detiene la obtención de nuevas instrucciones.

            Esto en una aplicación en tiempo real haría que la señal “llegase” más tarde.

Otras instrucciones serian las de interrupción o que el procesador necesite 2 ciclos de reloj para escribir en memoria.

5-. Imagina que tienes un puesto de ingeniero jefe de un proyecto de telecomunicaciones en una empresa. Tu primer cometido es elegir una placa de desarrollo en tiempo real adecuada para la aplicación que vas a desarrollar. Especifica que criterios tomarías para realizar dicha elección, justificándolos.

            Para elegir un DSP lo primero que deberíamos saber es lo requisitos de procesado del sistema. Después nos fijaríamos en la potencia de cálculo, que resuelva suficientemente los cálculos, y el coste. También habrá que tener en cuenta que el DSP tenga un número suficiente de herramientas de desarrollo, además tendrá que tener unos requerimientos básicos que podrían ser el siguiente: documentación de diseño detallada, herramientas de desarrollo de código en ensamblador, herramientas para el test de la funcionalidad de diseño y notas de aplicación.

 

No hay comentarios:

Publicar un comentario