<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0</id>
	<title>Архитектура фон Неймана - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0&amp;action=history"/>
	<updated>2026-07-20T08:17:11Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0&amp;diff=40362&amp;oldid=prev</id>
		<title>imported&gt;DenisKrivosheev в 14:13, 15 марта 2026</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0&amp;diff=40362&amp;oldid=prev"/>
		<updated>2026-03-15T14:13:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Файл:Схема архитектуры фон Неймана.svg|right|450px|альт=Архитектура фон Неймана|мини|Схематичное изображение архитектуры компьютера фон Неймана ([[Компьютерная память|память]], [[УУ]], [[АЛУ]], [[Аккумулятор (регистр процессора)|аккумулятор]], [[ввод-вывод]])]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Архитектура фон Неймана&amp;#039;&amp;#039;&amp;#039; (модель [[Нейман, Джон фон|фон Неймана]], [[Принстонский университет|Принстонская]] архитектура) — широко известный принцип совместного хранения [[Инструкция (информатика)|команд]] и [[Данные (вычислительная техника)|данных]] в [[Компьютерная память|памяти компьютера]]. [[Компьютер|Вычислительные машины]] такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают принцип хранения [[данные|данных]] и [[Инструкция (информатика)|инструкций]] в одном разделе [[Компьютерная память|памяти]]. Альтернативой архитектуре фон Неймана («принстонской архитектуре») является [[гарвардская архитектура]].&lt;br /&gt;
&lt;br /&gt;
== История возникновения термина ==&lt;br /&gt;
Основы учения об архитектуре вычислительных машин заложил [[Нейман, Джон фон|Джон фон Нейман]] в 1944 году, когда подключился к созданию первого в мире лампового компьютера [[ЭНИАК]]. В процессе работы над [[ЭНИАК]]ом в [[Электротехническая школа Мура|Институте Мура]] в [[Пенсильванский университет|Пенсильванском Университете]] во время многочисленных дискуссий фон Неймана с его коллегами [[Мокли, Джон Уильям|Джоном Уильямом Мокли]], [[Эккерт, Джон Преспер|Джоном Эккертом]], [[Голдстайн, Герман|Германом Голдстайном]] и Артуром Бёрксом возникла идея более совершенной машины под названием [[EDVAC]]. Исследовательская работа над EDVAC продолжалась параллельно с конструированием ЭНИАКа.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Firstdraftofrepo00vonn 0003.jpg|thumb|right|170px|{{center|Первая страница отпечатанной копии «Первого отчёта по EDVAC»}}]]&lt;br /&gt;
В марте 1945 года принципы логической архитектуры были оформлены в документе, который назывался «[[Первый проект отчёта о EDVAC]]» — отчёт для Баллистической лаборатории Армии США, на чьи деньги осуществлялась постройка [[ЭНИАК]]а и разработка [[EDVAC]]а. Отчёт, поскольку он являлся всего лишь наброском, не предназначался для публикации, а только для распространения внутри группы, однако [[Голдстайн, Герман|Герман Голдстайн]] — куратор проекта со стороны Армии США — размножил эту научную работу и разослал её широкому кругу учёных для ознакомления. Так как на первой странице документа стояло только имя фон Неймана&amp;lt;ref name = &amp;quot;von Neumann 1945&amp;quot;&amp;gt;{{Cite web | author = [[Нейман, Джон фон|John von Neumann]] | title = First Draft of a Report on the EDVAC | year = 30 июня 1945 | publisher = University of Pennsylvania | url = https://sites.google.com/site/michaeldgodfrey/vonneumann/vnedvac.pdf?attredirects=0&amp;amp;d=1 | access-date = 2013-08-28 | archive-date = 2015-04-06 | archive-url = https://web.archive.org/web/20150406152253/https://sites.google.com/site/michaeldgodfrey/vonneumann/vnedvac.pdf?attredirects=0&amp;amp;d=1 | url-status = live }}&amp;lt;/ref&amp;gt;, у читавших документ сложилось ложное впечатление, что автором всех идей, изложенных в работе, является именно он. Документ давал достаточно информации для того, чтобы читавшие его могли построить свои компьютеры, подобные EDVAC, на тех же принципах и с той же архитектурой, которая в результате стала называться «архитектурой фон Неймана».&lt;br /&gt;
&lt;br /&gt;
После завершения Второй мировой войны и окончания работ над [[ЭНИАК]]ом в феврале 1946 года команда инженеров и учёных распалась, [[Мокли, Джон Уильям|Джон Мокли]], [[Эккерт, Джон Преспер|Джон Экерт]] решили обратиться в бизнес и создавать компьютеры на коммерческой основе. Фон Нейман, Голдстайн и Бёркс перешли в [[Институт перспективных исследований]], где решили создать свой компьютер «[[IAS-машина]]», подобный [[EDVAC]], и использовать его для научно-исследовательской работы. В июне 1946 года они&amp;lt;ref&amp;gt;{{статья|автор=Юрий Полунов.|заглавие=Автора!!!|ссылка=http://www.pcweek.ru/themes/detail.php?ID=72606&amp;amp;phrase_id=204737|издание=PC Week/Russian Edition|год=2006|номер=20 (530)|archive-date=2013-03-17|archive-url=https://web.archive.org/web/20130317165928/http://www.pcweek.ru/themes/detail.php?ID=72606&amp;amp;phrase_id=204737}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{книга|isbn=978-0-521-65168-4|автор=Cragon, H. G.|год=2000|заглавие=Computer Architecture and Implementation|ссылка=https://archive.org/details/computerarchitec00crag_484|издательство=Cambridge University Press|allpages=238|pages=[https://archive.org/details/computerarchitec00crag_484/page/n11 2]}}&amp;lt;/ref&amp;gt; изложили свои принципы построения вычислительных машин в ставшей классической статье «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства»{{sfn|Goldstine|1980|p=255}}&amp;lt;ref&amp;gt;{{книга|автор=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}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{книга|автор=Смирнов А. Д.|заглавие=Архитектура вычислительных систем : Учебное пособие для вузов|место=М.|издательство=Наука|год=1990|страниц=320|страницы=104|isbn=5-02-013997-1}}&amp;lt;/ref&amp;gt;. С тех пор прошло более полувека, но выдвинутые в ней положения сохраняют свою актуальность и сегодня. В статье убедительно обосновывается использование двоичной системы для представления чисел, а ведь ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде. Авторы продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации — текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.&lt;br /&gt;
&lt;br /&gt;
Ещё одной революционной идеей, значение которой трудно переоценить, является принцип «хранимой программы». Первоначально программа задавалась путём установки перемычек на специальной коммутационной панели. Это было весьма трудоёмким занятием: например, для изменения программы машины ЭНИАК требовалось несколько дней, в то время как собственно расчёт не мог продолжаться более нескольких минут — выходили из строя лампы, которых было огромное количество. Однако программа может также храниться в виде набора нулей и единиц, причём в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.&lt;br /&gt;
&lt;br /&gt;
Наличие заданного набора исполняемых команд и программ было характерной чертой первых компьютерных систем. Сегодня подобный дизайн применяют с целью упрощения конструкции вычислительного устройства. Так, настольные [[калькулятор]]ы, в принципе, являются устройствами с фиксированным набором выполняемых программ. Их можно использовать для [[Математика|математических]] расчётов, но почти невозможно применить для обработки [[текст]]а и [[Компьютерная игра|компьютерных игр]], для просмотра графических изображений или [[видео]]. Изменение встроенной программы для такого рода устройств требует практически полной их переделки, и в большинстве случаев невозможно. Впрочем, перепрограммирование ранних компьютерных систем всё-таки выполнялось, однако требовало огромного объёма ручной работы по подготовке новой [[Документация на программное обеспечение|документации]], перекоммутации и перестройки блоков и устройств и т. п.&lt;br /&gt;
&lt;br /&gt;
Всё изменила идея хранения компьютерных программ в общей памяти. Ко времени её появления использование архитектур, основанных на [[Система команд|наборах исполняемых инструкций]], и представление вычислительного процесса как процесса выполнения инструкций, записанных в программе, чрезвычайно увеличило гибкость вычислительных систем в плане обработки данных. Один и тот же подход к рассмотрению данных и инструкций сделал простой задачу изменения самих программ.&lt;br /&gt;
&lt;br /&gt;
== Принципы фон Неймана ==&lt;br /&gt;
;Принцип программного управления&lt;br /&gt;
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд (инструкций). Каждая команда предписывает некоторую операцию из фиксированного набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно (по соответствующей команде).&lt;br /&gt;
&lt;br /&gt;
;Принцип адресности&lt;br /&gt;
Структурно основная память состоит из пронумерованных ячеек, причём процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек — адреса.&lt;br /&gt;
&lt;br /&gt;
;Принцип однородности памяти&lt;br /&gt;
Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает [[Самомодифицирующийся код|ряд возможностей]]. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой приём носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.&lt;br /&gt;
&lt;br /&gt;
По плану, первым компьютером, построенным по архитектуре фон Неймана, должен был стать [[EDVAC]] (Electronic Discrete Variable Automatic Computer) — одна из первых электронных вычислительных машин. В отличие от своего предшественника [[ЭНИАК]]&amp;lt;nowiki/&amp;gt;а, это был компьютер на двоичной, а не десятичной основе. Как и ЭНИАК, EDVAC был разработан в [[Электротехническая школа Мура|Институте Мура]] [[Пенсильванский университет|Пенсильванского университета]] для Лаборатории баллистических исследований (англ.) [[Армия США|Армии США]] командой инженеров и учёных во главе с [[Эккерт, Джон Преспер|Джоном Преспером Экертом]] и [[Мокли, Джон|Джоном Уильямом Мокли]] при активной помощи математика, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной [[компьютерная память|компьютерной памяти]] и разногласий в группе разработчиков. Другие научно-исследовательские институты, ознакомившись с ЭНИАКом и проектом EDVAC, сумели решить эти проблемы гораздо раньше. Первыми компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:&lt;br /&gt;
* [[Прототипирование|прототип]] — [[Манчестерская малая экспериментальная машина]] — [[Манчестерский университет]], Великобритания, 21 июня 1948 года;&lt;br /&gt;
* [[EDSAC]] — [[Кембриджский университет]], Великобритания, 6 мая 1949 года;&lt;br /&gt;
* [[Манчестерский Марк I]] — [[Манчестерский университет]], Великобритания, 1949 год;&lt;br /&gt;
* [[BINAC]] — США, апрель или август 1949 года;&lt;br /&gt;
* [[CSIRAC|CSIR Mk 1]] — Австралия, ноябрь 1949 года;&lt;br /&gt;
* [[EDVAC]] — США, август 1949 года — фактически запущен в 1952 году;&lt;br /&gt;
* [[CSIRAC]] — Австралия, ноябрь 1949 года;&lt;br /&gt;
* [[SEAC]] — США, 9 мая 1950 года;&lt;br /&gt;
* [[ORDVAC]] — США, ноябрь 1951 года;&lt;br /&gt;
* [[IAS-машина]] — США, 10 июня 1952 года;&lt;br /&gt;
* [[MANIAC I]] — США, март 1952 года;&lt;br /&gt;
* [[AVIDAC]] — США, 28 января 1953 года;&lt;br /&gt;
* [[ORACLE (компьютер)|ORACLE]] — США, конец 1953 года;&lt;br /&gt;
* [[WEIZAC]] — Израиль, 1955 год;&lt;br /&gt;
* [[SILLIAC]] — Австралия, 4 июля 1956 года.&lt;br /&gt;
&lt;br /&gt;
В СССР первой полностью электронной вычислительной машиной, близкой к принципам фон Неймана, стала [[МЭСМ]], построенная [[Лебедев, Сергей Алексеевич|Лебедевым]] (на базе киевского [[Институт электротехники АН УССР|Института электротехники АН УССР]]). [[МЭСМ]] как прототип впервые была публично запущена 6 ноября 1950 года и уже в качестве полноценной машины прошла государственные приёмочные испытания 25 декабря 1951 года.&lt;br /&gt;
&lt;br /&gt;
== Узкое место архитектуры фон Неймана ==&lt;br /&gt;
[[Файл:Von Neumann Architecture-bottleneck-rus.svg|250px|мини|справа|альт=&amp;quot;Бутылочное горлышко&amp;quot; в архитектуре фон Неймана|«Бутылочное горлышко» архитектуры фон Неймана — интерфейс с оперативной памятью]]&lt;br /&gt;
Совместное использование шины для памяти программ и памяти данных приводит к [[узкое место|узкому месту]] архитектуры фон Неймана, а именно ограничению пропускной способности между процессором и памятью по сравнению с объёмом памяти. Из-за того, что память программ и память данных не могут быть доступны в одно и то же время, пропускная способность канала «процессор — память» и скорость работы памяти существенно ограничивают скорость работы процессора — гораздо сильнее, чем если бы программы и данные хранились в разных местах.&lt;br /&gt;
&lt;br /&gt;
Данная проблема решается совершенствованием систем [[кэш]]ирования, что в свою очередь усложняет архитектуру систем и увеличивает риск возникновения побочных ошибок (например, проблема [[когерентность памяти|когерентности памяти]]).&lt;br /&gt;
&lt;br /&gt;
Термин «узкое место архитектуры фон Неймана» ввёл [[Бэкус, Джон|Джон Бэкус]] в 1977 в своей лекции [[«Можно ли освободить программирование от стиля фон Неймана?»]], которую он прочитал при вручении ему [[Премия Тьюринга|Премии Тьюринга]]&amp;lt;ref name=backus&amp;gt;{{статья |doi=10.1145/359576.359579 |заглавие=Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs |access-date=2012-01-20 |язык=en |тип=journal |автор=[[Бэкус, Джон|Backus, John W.]]}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD692.html|title=E. W. Dijkstra Archive: A review of the 1977 Turing Award Lecture|access-date=2008-07-11|first=Edsger W.|last=Dijkstra|author-link=Дейкстра, Эдсгер Вибе|archive-date=2020-02-26|archive-url=https://web.archive.org/web/20200226000801/http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD692.html|url-status=live}}&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Гарвардская архитектура]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания|2}}&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
* {{книга&lt;br /&gt;
|автор         = Herman H. Goldstine.&lt;br /&gt;
|заглавие      = The Computer from Pascal to von Neumann&lt;br /&gt;
|ссылка        = https://books.google.co.jp/books?id=jCSpiVBH5W0C&lt;br /&gt;
|издательство  = Princeton University Press&lt;br /&gt;
|год           = 1980&lt;br /&gt;
|allpages      = 365&lt;br /&gt;
|isbn          = 9780691023670&lt;br /&gt;
|ref           = Goldstine&lt;br /&gt;
|язык=en}}&lt;br /&gt;
* {{книга&lt;br /&gt;
|автор         = William Aspray.&lt;br /&gt;
|заглавие      = John von Neumann and the Origins of Modern Computing&lt;br /&gt;
|ссылка        = https://books.google.co.jp/books?id=c5uDQgAACAAJ&lt;br /&gt;
|издательство  = MIT Press&lt;br /&gt;
|год           = 1990&lt;br /&gt;
|allpages      = 394&lt;br /&gt;
|isbn          = 0262011212&lt;br /&gt;
|ref           = Aspray&lt;br /&gt;
|язык=en}}&lt;br /&gt;
* {{книга&lt;br /&gt;
|автор         = Scott McCartney.&lt;br /&gt;
|заглавие      = ENIAC: The Triumphs and Tragedies of the World&amp;#039;s First Computer&lt;br /&gt;
|ссылка        = https://books.google.com/books?id=GxMIAQAAMAAJ&lt;br /&gt;
|издательство  = Berkley Books&lt;br /&gt;
|год           = 2001&lt;br /&gt;
|allpages      = 262&lt;br /&gt;
|isbn          = 9780425176443&lt;br /&gt;
|ref           = McCartney&lt;br /&gt;
|язык=en}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
{{Навигация}}&lt;br /&gt;
* [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11516.html Harvard vs von Neumann]{{ref|en}}&lt;br /&gt;
* [https://web.archive.org/web/20080219131555/http://home.gna.org/vov/ A tool that emulates the behavior of a von Neumann machine]{{ref|en}}&lt;br /&gt;
* [http://sourceforge.net/projects/johnnysimulator/ JOHNNY: A simple Open Source simulator of a von Neumann machine for educational purposes]{{ref|en}}&lt;br /&gt;
&lt;br /&gt;
{{Нет источников |дата=2012-09-23}}&lt;br /&gt;
{{ВС}}&lt;br /&gt;
{{Технологии CPU}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Архитектура компьютеров]]&lt;br /&gt;
[[Категория:Эталонные модели]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DenisKrivosheev</name></author>
	</entry>
</feed>