logo
Все готово(Шпоры)

13.1.2 Машины Гарвардского и Принстонского классов

П ринстонский университет разработал ком­пьютер, который имел общую память для хранения программ и данных. Та­кая архитектура компьютеров больше известна как архитектура Фон-Нейма­на по имени научного руководителя этой разработки (рис. 1.3).

Рис. 1.3 - Структура компьютера с Принстонской архитектурой.

В этой архитектуре блок интерфейса с памятью выполняет арбитраж запро­сов к памяти, обеспечивая выборку команд, чтение и запись данных, размеща­емых в памяти или внутренних регистрах. Может показаться, что блок интер­фейса является наиболее узким местом между процессором и памятью, так как одновременно с данными требуется выбирать из памяти очередную команду. Однако во многих процессорах с Принстонской архитектурой эта проблема ре­шается путем выборки следующей команды во время выполнения предыдущей. Такая операция называется предварительной выборкой («предвыборка»), и она реализуется в большинстве процессоров с такой архитектурой.

Г арвардский университет представил разработку компьютера, в котором для хранения программ, данных и стека использовались отдельные банки па­мяти (рис. 1.4)

Принстонская архитектура выиграла соревнование, так как она больше соответствовала уровню технологии того времени. Использование общей па­мяти оказалось более предпочтительным из-за ненадежности ламповой элек­троники (это было до широкого распространения транзисторов) - при этом возникало меньше отказов.

Рис. 1.4 - Структура компьютера с Гарвардской архитектурой

Гарвардская архитектура почти не использовалась до конца 70-х годов, когда производители микроконтроллеров поняли, что эта архитектура дает преимущества устройствам, которые они разрабатывали.

Основным преимуществом архитектуры Фон Неймана является то, что она упрощает устройство микропроцессора, так как реализует обращение только к одной общей памяти. Для микропроцессоров самым важным являет­ся то, что содержимое ОЗУ (RAM - Random Access Memory) может быть использовано как для хранения данных, так и для хранения программ. В не­которых приложениях программе необходимо иметь доступ к содержимому стека. Все это предоставляет большую гибкость для разработчика программ­ного обеспечения, прежде всего в области операционных систем реального времени, о которых пойдет речь позднее.

Гарвардская архитектура выполняет команды за меньшее количество так­тов, чем архитектура Фон Неймана. Это обусловлено тем, что в Гарвардской архитектуре больше возможностей для реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполне­нием предыдущей команды, и нет необходимости останавливать процессор на время выборки команды.