Cuando hablamos de implementar algún algoritmo en hardware, significa que diseñamos un circuito digital (generalmente) que implementa este algoritmo. Este circuito se puede realizar en FPGA (Field Programmable Gate Array) o en un ASIC.
Cuando hablamos de implementar algún algoritmo en software, significa que escribimos código que implementa este algoritmo y este código es compilado y ejecutado por un microprocesador o un microcontrolador. El microprocesador puede ser de un solo núcleo, de múltiples núcleos o de cualquier otro tipo.
Ese es el concepto principal.
- Microsoft Excel: ¿Cómo resalto las filas en función del rango de valores / texto de dos columnas diferentes?
- ¿Qué lista de softwares se recomienda usar para preparar el informe del proyecto para proyectos universitarios?
- ¿Existe una buena plantilla de plan de marketing digital que pueda descargar gratis en línea?
- ¿Cuál es el mejor BaaS para una aplicación basada en chat?
- ¿Es el inventor de la aplicación MIT mejor que Android Studio para crear aplicaciones de Android?
Un SoC puede contener diferentes componentes (procesador, memoria, acelerador especializado, etc.) porque es un “sistema en chip”. Normalmente utiliza un SoC mediante la implementación de un algoritmo en un software que se ejecuta en el procesador principal dentro del SoC pero que puede utilizar otros componentes. Un acelerador especializado como el acelerador de movimiento en Apple A9 SoC (en iPhone) es en realidad un bloque ASIC que tiene una implementación de hardware de algunos algoritmos relacionados con el movimiento. La aplicación que se ejecuta en el procesador puede invocar este acelerador (lea Apple SDK para saber cómo hacerlo).