Разработчики микропроцессоров могут отказываться от гарвардской архитектуры по нескольким причинам:
- Сложность реализации. 2 Использование отдельных пространств памяти для команд и данных в гарвардской архитектуре усложняет конструкцию процессора и может увеличить стоимость производства. 2
- Ограниченная гибкость. 2 В гарвардской архитектуре сложно изменять инструкции во время выполнения, так как команды и данные хранятся в разных пространствах памяти. 2 Это может затруднять или делать невозможным реализацию некоторых типов программирования. 2
- Высокие требования к объёму памяти. 2 Гарвардская архитектура требует больше памяти, чем архитектура фон Неймана, что может привести к увеличению затрат и энергопотребления. 2
- Ограничения по размеру кода. 2 Фиксированная длина инструкций в гарвардской архитектуре может ограничивать размер исполняемого кода, что делает её непригодной для некоторых приложений с большими базами кода. 2
Однако гарвардская архитектура всё ещё используется во внутренней структуре современных высокопроизводительных микропроцессоров, где для хранения команд и данных применяется отдельная кэш-память. 1