5 votos

¿Cómo puede un microcontrolador ser más eficaz que una FPGA?

Si no contamos el costo de ambos (MCU, FPGA) hay aplicaciones donde un microcontrolador puede ser más eficaz que una FPGA? Es más fácil programar un microcontrolador de un FPGA (embedded C vs VHDL, por ejemplo), pero si alguien pasó un tiempo y se implementó el MCU de diseño dentro de un FPGA, entonces la FPGA podría ser utilizado para la misma aplicación como el MCU, pero más eficiente, ya que nos puede implementar más de una sola MCU en un FPGA.

Me preguntaba si la única aplicación que de una MCU puede ser más eficiente que un FPGA es cuando nos conectamos a un sensor analógico para el MCU (por ejemplo una fuente analógica que la cosecha de la entropía en el caso de la producción de números aleatorios, etc)? Es esto correcto o estoy totalmente equivocado?

editar(como gbulmer sugerido): Mis criterios para la eficiencia de la velocidad de ejecución y el rendimiento/watt

12voto

jns Puntos 449

A ver Cuando se puede FPGA a ser utilizado y Microcontroladores/Dsp no?

Microprocesadores casi siempre gana en rendimiento/watt. Para el rendimiento total, usted puede conseguir muy buenos resultados con chips DSP, el más grande de los microcontroladores, o en los Brazos, con los gráficos integrados de los núcleos. Aunque puede ser difícil cambiar la finalidad de los gráficos de núcleos de otras aplicaciones si la plataforma no soporta CUDA o similar.

Los FPGAs ganar en latencia, especialmente si se quiere garantizar una baja latencia de respuesta a un montón de entradas. Sólo puede tener una mayor prioridad de la interrupción de un microcontrolador. Los FPGAs son también buenas si desea fijo de una función de proceso que no utiliza una gran cantidad de memoria RAM, como un algoritmo de compresión de algún tipo de señal de captura.

2voto

GetFree Puntos 495

La diferencia clave entre la FPGA y los microprocesadores/microcontroladores es que un µp es una empresa especializada en el circuito, y un FPGA general es un circuito que puede ser 'en tiempo de ejecución' configurado. En una comparación justa (mismo tamaño de chip y los parámetros de proceso) un µp/µc va a ganar por lo que está diseñado para: la ejecución de muy diferentes secuencias de instrucciones, con un poco de repetición y un montón de decisiones y las dependencias de datos. En el extremo, pensar que ejecutan Linux o Windows, o una escala equivalente para un menor µc.

Un FPGA gana cuando se pueden utilizar su capacidad de configuración y parallellism: de simple y repetido transformaciones, que no se traducen de manera efectiva a µc/µp instrucciones.

Tomemos, por ejemplo IEEE cálculos de punto flotante. Un µp/µc a menudo tiene un hardware dedicado para eso, lo que es más eficiente que un FPGA configurado para hacer lo mismo. Pero cambiar un par de detalles triviales en la especificación IEEE, y el µc/µp hardware es inútil, pero la FPGA puede ser configurado en consecuencia, y será tan eficaz como lo fue con el original especificaciones.

Tenga en cuenta que un µc/µp pueden comerciales el rendimiento de la complejidad: si hace la tarea más compleja, que todavía puede hacerlo, pero tomará más tiempo. Un FPGA se necesitan más FPGA de bienes raíces si el trabajo se vuelve más complejo. En otras palabras: en un FPGA de la funcionalidad se extiende sobre (requiere más) la FPGA de bienes raíces, en un µc/µp se propaga a lo largo (requiere más) de tiempo.

Resumen: un µc/µp será más eficiente para lo que está diseñado para (que es general en serie cómputo), un FPGA será más eficiente para un 'pequeño' parallelizable tarea.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X