14
необходимости останавливать процессор на время выборки команды. Этот
метод реализации операций позволяет обеспечивать выполнение различных
команд за одинаковое число тактов, что дает возможность более просто
определить время выполнения циклов и критичных участков программы.
Однако такая организация сложнее по сравнению с Принстонской, так как
заставляет процессор обслуживать обмен по двум шинам
одновременно.
Кроме того, такая схема реализации доступа к памяти имеет один
очевидный недостаток – высокую стоимость. При разделении каналов передачи
адреса и данных на кристалле процессора последний должен иметь почти в два
раза больше выводов (так как шины адреса и данных составляют основную
часть выводов микропроцессора). Способом решения этой проблемы стала
идея
использовать общую шину данных и шину адреса для всех внешних данных, а
внутри процессора использовать шину данных, шину команд и две шины
адреса. Такую концепцию стали называть модифицированной Гарвардской
архитектурой. Разделение шин в модифицированной Гарвардской структуре
осуществляется при помощи раздельных управляющих сигналов: чтения,
записи или выбора области памяти (например, микроконтроллер
ADuC812).
Большинство производителей современных 8-разрядных МК используют
Гарвардскую архитектуру. Однако Гарвардская архитектура является
недостаточно гибкой для реализации некоторых программных процедур.
Поэтому сравнение МК, выполненных по разным архитектурам, следует
проводить применительно к конкретному приложению.
В Гарвардской архитектуре принципиально невозможно производить
операцию записи в память программ, что исключает возможность случайного
разрушения управляющей программы
в случае неправильных действий над
данными. Эти особенности определили области применения этой архитектуры
построения микропроцессоров. Гарвардская архитектура применяется в
микроконтроллерах, где требуется обеспечить высокую надежность работы
аппаратуры и в сигнальных процессорах, где эта архитектура кроме
обеспечения высокой надежности работы устройств позволяет обеспечить
высокую скорость выполнения программы.
Существуют гибридные модификации архитектур, сочетающие
достоинства как Гарвардской, так и Принстонской (фон-Неймановской)
архитектур. Современные CISC-процессоры обладают раздельной кэш-памятью
1-го уровня для инструкций и данных, что позволяет им за один такт получать
одновременно как команду, так и данные для её выполнения, т.е. процессорное
ядро, формально, является Гарвардским, но с программной точки зрения
выглядит
как Принстонское, что упрощает написание программ. Обычно в
данных процессорах одна шина используется и для передачи команд, и для
передачи данных, что упрощает конструкцию системы. Современные варианты
таких процессоров могут иногда содержать встроенные контроллеры сразу
нескольких разнотипных шин для работы с различными типами памяти –
например, DDR RAM и Flash. Тем не менее, и
в этом случае шины, как правило,