Некоторые отличия реализации программного обеспечения от аппаратной реализации:
- Способ достижения результата. 1 При программной реализации алгоритма окончательный ответ достигается путём выполнения набора инструкций в порядке, составленном программистом. 1 При аппаратной реализации ответ получается с помощью промежуточных шагов, которые не доступны внешнему миру. 1
- Функциональность. 3 Аппаратная логика чаще всего реализует строго достаточную для выполнения предписанных задач функциональность без включения туда произвольных операций. 3 Программное обеспечение, как правило, имеет полнофункциональный механизм для выполнения чего-то, существенно отличающегося от запланированного функционала. 3
- Эффективность. 13 Аппаратные реализации обычно более энергоэффективны по сравнению с программными и обеспечивают более высокую производительность при равном потреблении электроэнергии. 3
- Стоимость. 3 Стоимость оборудования у каждой системы, как правило, фиксирована, а дополнительные затраты на развёртывание программного обеспечения фактически равны нулю. 3
При этом любая операция, моделируемая программно, может быть исполнена напрямую на аппаратном уровне, и наоборот. 5 Разделение происходит на основании таких факторов, как цена производства, скорость, надёжность и другие. 5