Архитектура фон Неймана


Архитектура фон Неймана — также известная как модель фон Неймана или Принстонская архитектура — представляет собой компьютерную архитектуру , основанную на описании 1945 года, сделанном Джоном фон Нейманом и другими в Первом черновике отчета о EDVAC . [1] В этом документе описывается архитектура проекта электронного цифрового компьютера со следующими компонентами:

Термин «архитектура фон Неймана» развился для обозначения любого компьютера с хранимой программой, в котором выборка инструкций и операция с данными не могут выполняться одновременно, поскольку они используют общую шину . Это называется узким местом фон Неймана и часто ограничивает производительность системы. [3]

Конструкция машины с архитектурой фон Неймана проще, чем машина с гарвардской архитектурой , которая также является системой с хранимой программой, но имеет один выделенный набор шин адреса и данных для чтения и записи в память, а другой набор шин адреса и данных для получить инструкции .

Цифровой компьютер с хранимой программой хранит как программные инструкции, так и данные в памяти с произвольным доступом (ОЗУ) для чтения и записи . Компьютеры с хранимой программой были шагом вперед по сравнению с управляемыми программами компьютерами 1940-х годов, такими как Colossus и ENIAC . Они были запрограммированы путем установки переключателей и вставки патч-кабелей для маршрутизации данных и сигналов управления между различными функциональными блоками. Подавляющее большинство современных компьютеров используют одну и ту же память как для данных, так и для программных инструкций, но имеют кэши между ЦП и памятью, а для кэшей, ближайших к ЦП, имеют отдельные кэши для инструкций и данных, так что большинство инструкций и данных выборки используют отдельные шины (раздельная архитектура кэша ).

Первые вычислительные машины имели фиксированные программы. Некоторые очень простые компьютеры до сих пор используют эту конструкцию либо для простоты, либо для обучения. Например, настольный калькулятор (в принципе) представляет собой компьютер с фиксированной программой. Он может выполнять базовую математику , но не может запускать текстовый процессор или игры. Изменение программы машины с фиксированной программой требует перемонтажа, реструктуризации или перепроектирования машины. Самые ранние компьютеры были не столько «запрограммированы», сколько «разработаны» для конкретной задачи. «Перепрограммирование» — когда это вообще было возможно — было трудоемким процессом, который начинался с блок -схем.и бумажные заметки, за которыми следуют подробные инженерные проекты, а затем часто трудный процесс физической перемонтажа и восстановления машины. На настройку и отладку программы на ENIAC могло уйти три недели . [4]

Это изменилось с появлением компьютера с хранимой в памяти программой. Компьютер с хранимой программой по своей конструкции включает в себя набор инструкций и может хранить в памяти набор инструкций ( программу ), детализирующих вычисления .


Схема архитектуры фон Неймана
Эволюция архитектуры единой системной шины