При архитектуре с общей единой шиной для данных и команд (одношинную или пристанскую, фон-неймановскую архитектуру) в составе системы присутствует одна общая память, как для данных, так и для команд (рис. 1).
Процессор
Память
Устройство ввода/вывода
Данные
Команды
Общая шина данных
Рис. 1 Архитектура с общей шиной данных и команд
Архитектура с общей шиной распространена гораздо больше, она применяется, например, в персональных компьютера и в сложных микрокомпьютерах.
Архитектура с общей шиной (принстонская, фон-неймановская) проще, она не требует от процессора одновременного обслуживания двух шин, контроля обмена по двум шинам сразу. Наличие единой памяти данных и команд позволяет гибко распределять ее объем между кодами данных и команд. Например, в некоторых случаях нужна большая и сложная программа, а данных в памяти надо хранить не слишком много. В других случаях наоборот, программа требуется простая, но необходимы большие объемы хранимых данных. Таким образом, основное преимущество – гибкость памяти.
Существует также и альтернативный тип архитектуры микропроцессорной системы – это архитектура с раздельными шинами данных и команд (двухшинная или гарвардская). Эта архитектура предполагает наличие в системе отдельной памяти для данных и отдельной памяти для команд (рис. 2). Обмен процессора с каждым из двух типов памяти происходит по своей шине.
Архитектура с раздельными шинами применяется в основном в микроконтроллерах.
Процессор
Память команд
Память данных
Устройства ввода/вывода
Шина команд
Шина данных
Рис. 2 Архитектура с раздельными шинами данных и команд (Гарвардская)
Архитектура с раздельными шинами данных и команд сложнее, она заставляет процессор работать одновременно с двумя потоками кодов, обслуживать обмен по двум шинам одновременно. Программа может размещаться только в памяти команд, данные – только в памяти данных. Такая узкая специализация ограничивает круг задач, решаемых системой, так как не дает возможности гибкого перераспределения памяти. Память данных и память команд в этом случае имеют не слишком большой объем, поэтому применение систем с данной архитектурой ограничивается обычно не слишком сложными задачами.
Преимущество архитектуры с двумя шинами в быстродействии.