Архитектура фон Неймана | это... Что такое Архитектура фон Неймана? (original) (raw)

Схематичное изображение машины фон Неймана

Архитектура фон Неймана — широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные калькуляторы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для математических расчётов, но невозможно применить для обработки текста и компьютерных игр, для просмотра графических изображений или видео. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации и перестройки блоков и устройств и т. п.

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

Содержание

Принципы фон Неймана

В 1946 году трое учёных[1][2] — Артур Бёркс (англ. Arthur Burks), Герман Голдстайн и Джон фон Нейман — опубликовали статью «Предварительное рассмотрение логического конструирования электронного вычислительного устройства»[3][4]. В статье обосновывалось использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций — до этого машины хранили данные в десятичном виде[5]), выдвигалась идея использования общей памяти для программы и данных. Имя фон Неймана было достаточно широко известно в науке того времени, что отодвинуло на второй план его соавторов, и данные идеи получили название «принципы фон Неймана».

Принцип однородности памяти

Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

Принцип адресуемости памяти

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

Принцип последовательного программного управления

Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.

Принцип жесткости архитектуры

Неизменяемость в процессе работы топологии, архитектуры, списка команд.

Так же в некоторых источниках[_каких?_] указывается принцип двоичного кодирования, но существовали машины работающие с троичным и с десятичным кодом.

Компьютеры, построенные на принципах фон Неймана

В середине 1940-х проект компьютера, хранящего свои программы в общей памяти, был разработан в Школе электрических разработок Мура (англ. Moore School of Electrical Engineering) в Университете штата Пенсильвания. Подход, описанный в этом документе, стал известен как архитектура фон Неймана, по имени единственного из названных авторов проекта Джона фон Неймана, хотя на самом деле авторство проекта было коллективным. Архитектура фон Неймана решала проблемы, свойственные компьютеру ENIAC, который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 1946 году было объявлено о создании ENIAC. По плану предполагалось осуществить проект силами Муровской школы в машине EDVAC, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти и разногласий в группе разработчиков. Другие научно-исследовательские институты, получившие копии проекта, сумели решить эти проблемы гораздо раньше группы разработчиков из Муровской школы и реализовали их в собственных компьютерных системах. Первыми семью компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:

  1. прототип — Манчестерская малая экспериментальная машинаМанчестерский университет, Великобритания, 21 июня 1948 года;
  2. EDSACКембриджский университет, Великобритания, 6 мая 1949 года;
  3. Манчестерский Марк IМанчестерский университет, Великобритания, 1949 год;
  4. BINAC — США, апрель или август 1949 года;
  5. CSIR Mk 1 — Австралия, ноябрь 1949 года;
  6. SEAC — США, 9 мая 1950 года
  7. EDVAC — США, август 1949 года — фактически запущен в 1951 году;

Узкое место архитектуры фон Неймана

Совместное использование шины для памяти программ и памяти данных приводит к узкому месту архитектуры фон Неймана, а именно ограничению пропускной способности между процессором и памятью по сравнению с объёмом памяти. Из-за того, что память программ и память данных не могут быть доступны в одно и то же время, пропускная способность является значительно меньшей, чем скорость, с которой процессор может работать. Это серьезно ограничивает эффективное быстродействие при использовании процессоров, необходимых для выполнения минимальной обработки на больших объёмах данных. Процессор постоянно вынужден ждать необходимых данных, которые будут переданы в память или из памяти. Так как скорость процессора и объём памяти увеличивались гораздо быстрее, чем пропускная способность между ними, узкое место стало большой проблемой, серьезность которой возрастает с каждым новым поколением процессоров[источник не указан 68 дней].

См. также

Примечания

  1. Юрий Полунов. Автора!!! // PC Week/Russian Edition. — 2006. — № 20 (530).
  2. Cragon, H. G. Computer Architecture and Implementation. — Cambridge University Press, 2000. — P. 2. — 238 p. — ISBN 978-0-521-65168-4
  3. Burks A. W., Goldstine H. H., Neumann J. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. — Institute for Advanced Study, Princeton, N. J., July 1946.
  4. Смирнов А. Д. Архитектура вычислительных систем : Учебное пособие для вузов. — М.: Наука, 1990. — С. 104. — 320 с. — ISBN 5-02-013997-1
  5. Юрий Полунов. Электронная, универсальная… // PC Week/Russian Edition. — 2006. — № 13 (523).
Просмотр этого шаблона Технологии цифровых процессоров
Архитектура CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская 8 бит · 16 бит · 32 бит · 64 бит · 128 бит
Параллелизм Pipeline Конвейер · In-Order & Out-of-Order execution · Переименование регистров · Speculative execution Уровни Бит · Инструкций · Суперскалярность · Данных · Задач Потоки Многопоточность · Simultaneous multithreading · Hyperthreading · Superthreading · Аппаратная виртуализация Классификация Флинна SISD · SIMD · MISD · MIMD
Реализации DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессорМикропроцессор · Микроконтроллер
Компоненты Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУДемультиплексор · Мультиплексор · Микрокод · Тактовая частотаКорпусРегистрыКэш (Кэш процессора)
Управление питанием APM · ACPI · Clock gating · Динамическое изменение частоты • Динамическое изменение напряжения