Hay aproximadamente 3 niveles de especialización de equipos informáticos:
La CPU (como en su computadora portátil) es la más genérica de todas. Puede hacerlo todo, pero esta versatilidad tiene un precio de baja velocidad y alto consumo de energía. La CPU está programada sobre la marcha, las instrucciones provienen de la memoria RAM. Los programas para la CPU son rápidos, baratos, fáciles de escribir y muy fáciles de cambiar.
FPGA (que significa Campo de Arreglo de Puerta Programable) es el nivel medio. Como su nombre lo indica, se puede programar "en el campo", que está fuera de una fábrica. FPGA generalmente se programa una vez, este proceso puede describirse como la configuración de su estructura interna. Después de este proceso, se comporta como una pequeña computadora especializada para la única tarea que eligió. Es por esto que puede funcionar mejor que la CPU genérica. Programar FPGA es muy difícil y costoso y depurarlos es muy difícil.
ASIC (que significa Circuito Integrado de Aplicación Específica) es el mejor especialista. Es un chip diseñado y producido para una y solo una tarea, una tarea que realiza de manera extremadamente rápida y eficiente. No hay posibilidad de reprogramar ASIC, deja la fábrica totalmente definida y es inútil cuando ya no se necesita trabajo. Diseñar ASIC es algo que solo las grandes empresas pueden permitirse y depurarlas es bastante, casi imposible.
Si piensas en "núcleos", entonces míralo de esta manera: las CPU tienen 4, 6, quizás 8 núcleos grandes que pueden hacer todo. Los ASICS a menudo tienen miles de núcleos, pero muy pequeños, capaces de una sola cosa.
Puedes ver la comunidad minera de bitcoin. Hacen hash SHA256.
- CPU Core i7: 0,8-1,5 M hash / s
- FPGA: 5-300M hash / s
- ASIC: 12000M hash / s por un chip pequeño, 2000000M (sí, ese 2T) hash / s para un dispositivo de 160 chips
Por supuesto, esos bebés con ASIC cuestan casi $ 2000 cuando se producen en masa, pero te dan una idea de cómo un jack-of-all-trade puede compararse con un especialista.
La única pregunta es: ¿puede el FPGA ofrecerle más ahorros de los que costaría diseñarlo?
Por supuesto, en lugar de ejecutarlo en UNA computadora portátil, puede intentar ejecutarlo en 20 PCS.