¿Cuáles son los pros y los contras de software y hardware?

Esta es una pregunta muy general, así que reduzcamos la esperanza y espero poder abordar algo que esté remotamente cerca de lo que desea saber.

Muchas veces, cuando se necesita resolver un problema, el equipo de ingenieros de diseño tiene la opción de utilizar un enfoque más basado en hardware, lo que en la actualidad significa desarrollar FGPA o ASIC, o un enfoque más basado en software, que generalmente implicaría comprar una placa o chip de computadora más o menos estándar e implementar la solución en código.

La elección dependerá de cuántas unidades desee construir, el costo de desarrollo, el costo del dispositivo por unidad, cuánto tiempo tiene para construirlo y qué tan bien determinado está el problema al inicio del proyecto.

ASIC – IC de aplicación específica. Está construyendo efectivamente su propia CPU (o cerca de ella) para resolver una función muy específica. Costo: costo inicial muy alto antes de que salga el primer ASIC de la fundición (esto se conoce como NRE o gasto no recuperable), más barato en el extremo posterior, por unidad.

FPGA = matriz de puerta programable de campo. Básicamente, es un circuito integrado que es programable. Costo: moderadamente bajo por adelantado, bastante alto por unidad.

Software: Costo: bastante bajo por adelantado, bastante alto por unidad, porque tenía que comprar una CPU de uso general y la mayor parte probablemente se desperdicie.

Si el problema es dudoso y las soluciones cambian constantemente, entonces estás prácticamente atrapado con una solución de software. El desarrollo de ASIC y FPGA necesita especificaciones por adelantado y prácticamente sólido como una roca.

Por ejemplo, digamos que haces un ASIC. Una vez que, de alguna manera, funciona en tus simulaciones, disparas un ciclo de fabricación de chips y te hacen 10,000 de las cosas. La NRE en eso estaría en millones. Imagine la mirada en la cara de su VP cuando le dice un error menor, que debería haber podido detectar de antemano, pero no lo hizo, forzará el desecho de ese chip y forzará una nueva carrera fabulosa, incurriendo en una nueva NRE. Su error le costó a la compañía millones de una sola vez.

Los ingenieros intentan evitar esa mirada en la cara del jefe, la que dice: Me costó 50 veces su salario anual. ¿Por qué te tengo cerca?

Si eres una tienda pequeña, casi seguro que no tienes los recursos para hacer el diseño de FPGA o ASIC. Estarás atascado con una CPU estándar y algunos tipos de software.

Espero que esto haya sido útil o, si he perdido su nota de manera exhaustiva, al menos es una información útil para alguien.

El software y el hardware son cosas completamente diferentes.

Software: una aplicación o programa que su computadora ejecuta siguiendo un conjunto de instrucciones.

Hardware: las piezas y partes de una computadora que la hacen funcionar, como el procesador, la tarjeta gráfica, la RAM, la fuente de alimentación, etc.

En resumen, el software y el hardware son dos cosas completamente diferentes.