Из Википедии, бесплатной энциклопедии
  (Перенаправлено из модели фон Неймана )
Перейти к навигации Перейти к поиску

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

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

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

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

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

История [ править ]

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

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

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

Возможности [ править ]

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

Некоторые языки высокого уровня используют архитектуру фон Неймана, предоставляя абстрактный, машинно-независимый способ управления исполняемым кодом во время выполнения (например, LISP ) или используя информацию времени выполнения для настройки своевременной компиляции (например, языки, размещенные на Java виртуальная машина или языки, встроенные в веб-браузеры ).

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

Разработка концепции хранимой программы [ править ]

Математик Алан Тьюринг , которого предупредили о проблеме математической логики на лекциях Макса Ньюмана в Кембриджском университете , написал в 1936 году статью под названием « О вычислимых числах с приложением к проблеме Entscheidungsproblem» , которая была опубликована в Proceedings Лондонского математического общества . [6] В нем он описал гипотетическую машину, которую он назвал универсальной вычислительной машиной, теперь известной как « Универсальная машина Тьюринга ». Гипотетическая машина имела бесконечное хранилище (память в современной терминологии), содержащее как инструкции, так и данные. Джон фон Нейманпознакомился с Тьюрингом, когда он был приглашенным профессором в Кембридже в 1935 году, а также во время курса доктора философии Тьюринга в Институте перспективных исследований в Принстоне, штат Нью-Джерси, в период с 1936 по 1937 год. Знал ли он тогда о работе Тьюринга 1936 года, неизвестно. Чисто.

В 1936 году Конрад Цузе в двух заявках на патент также ожидал, что машинные инструкции могут храниться в том же хранилище, которое используется для данных. [7]

Независимо друг от друга Дж Преспер Эккерт и Джон Мочли , которые разрабатывали ENIAC на Мур школа электротехники , в Университете Пенсильвании , писал о концепции хранимой программы в декабре 1943 года [8] [9] При планировании нового machine, EDVAC , Экерт писал в январе 1944 года, что они будут хранить данные и программы в новом адресуемом запоминающем устройстве, запоминающем устройстве с ртутной металлической линией задержки . Это был первый случай, когда была предложена конструкция практической машины с хранимой программой. В то время он и Мочли не знали о работе Тьюринга.

Фон Нейман был вовлечен в Манхэттенского проекта в Национальной лаборатории в Лос - Аламосе , которая требует огромного количества расчетов. Это привлекло его к проекту ENIAC летом 1944 года. Там он присоединился к продолжающимся обсуждениям проекта этого компьютера с хранимой программой, EDVAC. В составе этой группы он написал описание под названием « Первый проект отчета по EDVAC» [1], основанное на работе Эккерта и Мочли. Она была незаконченной, когда его коллега Герман Гольдстайн распространил ее только с именем фон Неймана, к ужасу Эккерта и Мокли. [10] Этот доклад был прочитан десятками коллег фон Неймана в Америке и Европе и повлиял на следующий виток компьютерных разработок.

Джек Коупленд считает, что "исторически неуместно называть электронные цифровые компьютеры с хранимой программой" машинами фон Неймана ". [11] Его коллега из Лос-Аламоса Стэн Франкель сказал об уважении фон Неймана к идеям Тьюринга:

Я знаю, что примерно в 1943 или 1944 году фон Нейман был хорошо осведомлен о фундаментальной важности статьи Тьюринга 1936 года… Фон Нейман познакомил меня с этой статьей, и по его настоянию я внимательно ее изучил. Многие люди провозглашали фон Неймана «отцом компьютера» (в современном смысле этого слова), но я уверен, что он никогда бы не совершил эту ошибку сам. Возможно, его вполне можно было бы назвать акушеркой, но он твердо подчеркнул для меня и других, я уверен, что основная концепция принадлежит Тьюрингу - в той мере, в какой не предвидел Бэббидж ... И Тьюринг, и фон Нейман, конечно, , также внесла существенный вклад в «приведение к практике»этих концепций, но я бы не считал их сопоставимыми по важности с введением и объяснением концепции компьютера, способного хранить в своей памяти свою программу действий и изменять эту программу в ходе этих действий.[12]

В то время, когда был распространен «Первый проект» отчета, Тьюринг подготовил отчет, озаглавленный « Предлагаемый электронный калькулятор» . В ней подробно описывалась инженерия и программирование, его идея машины, которую он назвал Automatic Computing Engine (ACE) . [13] Он представил это Исполнительному комитету Британской национальной физической лаборатории 19 февраля 1946 года. Хотя Тьюринг знал из своего военного опыта в Блетчли-парке, что то, что он предлагал, было осуществимо, - секретность вокруг Колосса , которая впоследствии сохранялась в течение нескольких десятилетия не позволили ему сказать это. Были произведены различные успешные реализации конструкции ACE.

В статьях как фон Неймана, так и Тьюринга описывались компьютеры с хранимыми программами, но более ранняя статья фон Неймана достигла более широкого распространения, а описанная в ней компьютерная архитектура стала известна как «архитектура фон Неймана». В публикации 1953 года « Быстрее, чем мысль: симпозиум по цифровым вычислительным машинам» (под редакцией Б.В. Боудена), раздел главы « Компьютеры в Америке» гласит: [14]

Машина Института перспективных исследований, Принстон

В 1945 году профессор Дж. Фон Нейман, который тогда работал в инженерной школе Мура в Филадельфии, где был построен ENIAC, выпустил от имени группы своих сотрудников отчет о логическом проектировании цифровых компьютеров. . Отчет содержал подробное предложение по конструкции машины, которая с тех пор стала известна как EDVAC (электронный автоматический компьютер с дискретными переменными). Эта машина только недавно была завершена в Америке, но отчет фон Неймана вдохновил на создание EDSAC (электронного автоматического калькулятора с запоминанием данных) в Кембридже (см. Стр. 130).

В 1947 году Беркс, Голдстайн и фон Нейман опубликовали еще один отчет, в котором описывалась конструкция другого типа машины (на этот раз параллельной машины), которая была бы чрезвычайно быстрой и способной, возможно, выполнять 20 000 операций в секунду. Они указали, что нерешенной проблемой при создании такой машины было создание подходящей памяти с мгновенно доступным содержимым. Сначала они предложили использовать специальную вакуумную лампу, названную « Селектрон », которую изобрели Принстонские лаборатории RCA. Эти лампы были дорогими и сложными в изготовлении, поэтому фон Нейман впоследствии решил построить машину на основе памяти Вильямса.. Эта машина, построенная в июне 1952 года в Принстоне, стала широко известна как Маньяк. Дизайн этой машины вдохновил по крайней мере полдюжины машин, которые сейчас строятся в Америке, и все они известны как «Джоньяки».

В той же книге первые два абзаца главы, посвященной ACE, читаются следующим образом: [15]

Автоматические вычисления в Национальной физической лаборатории

Один из самых современных цифровых компьютеров, воплощающий в себе разработки и усовершенствования техники автоматических электронных вычислений, был недавно продемонстрирован в Национальной физической лаборатории в Теддингтоне, где он был разработан и построен небольшой командой математиков и инженеров-исследователей электроники в штате. Лаборатории при содействии ряда инженеров-технологов из English Electric Company, Limited. Оборудование, установленное на данный момент в Лаборатории, является лишь пилотной моделью гораздо более крупной установки, которая будет известна как Автоматическая вычислительная машина, но, хотя она сравнительно небольшая по размеру и содержит всего около 800 термоэмиссионных клапанов, как можно судить по Таблице XII. XIII и XIV, это чрезвычайно быстрая и универсальная вычислительная машина.

Основные концепции и абстрактные принципы вычислений на машине были сформулированы доктором А.М. Тьюрингом, FRS, в статье 1 . читали в Лондонском математическом обществе в 1936 году, но работа над такими машинами в Великобритании была отложена из-за войны. В 1945 году, однако, исследование проблем было проведено в Национальной физической лаборатории г-ном Дж. Р. Уомерсли, в то время заведующим математическим отделом лаборатории. К нему присоединился доктор Тьюринг и небольшой штат специалистов, и к 1947 году предварительное планирование было достаточно продвинуто, чтобы оправдать создание уже упомянутой специальной группы. В апреле 1948 года последний стал отделом электроники лаборатории, которым руководил г-н Ф. М. Колбрук.

Ранние компьютеры с архитектурой фон Неймана [ править ]

В Первом проекте описан дизайн, который использовался многими университетами и корпорациями для создания своих компьютеров. [16] Среди этих различных компьютеров только ILLIAC и ORDVAC имели совместимые наборы команд.

  • ARC2 ( Биркбек, Лондонский университет ) официально был запущен 12 мая 1948 г. [17]
  • Manchester Baby (Университет Виктории, Манчестер, Англия) произвел свой первый успешный запуск сохраненной программы 21 июня 1948 года.
  • EDSAC (Кембриджский университет, Англия) был первым практическим электронным компьютером с хранимой программой (май 1949 г.)
  • Manchester Mark 1 (Манчестерский университет, Англия), разработанный с детства (июнь 1949 г.)
  • CSIRAC ( Совет по научным и промышленным исследованиям ) Австралия (ноябрь 1949 г.)
  • МЭСМ в Киеве, Украина (ноябрь 1950 г.)
  • EDVAC ( Лаборатория баллистических исследований , вычислительная лаборатория на Абердинском полигоне 1951)
  • ORDVAC (штат Иллинойс) на Абердинском полигоне, штат Мэриленд (завершено в ноябре 1951 г.) [18]
  • Машина IAS в Принстонском университете (январь 1952 г.)
  • МАНИАК I в Лос-Аламосской научной лаборатории (март 1952 г.)
  • ILLIAC в Университете Иллинойса (сентябрь 1952 г.)
  • БЭСМ-1 в Москве (1952 г.)
  • AVIDAC в Аргоннской национальной лаборатории (1953)
  • ORACLE в Национальной лаборатории Ок-Ридж (июнь 1953 г.)
  • BESK в Стокгольме (1953)
  • ДЖОННИАК в RAND Corporation (январь 1954 г.)
  • DASK в Дании (1955)
  • WEIZAC в Институте науки Вейцмана в Реховоте , Израиль (1955)
  • ПЕРМЬ в Мюнхене (1956)
  • СИЛЬЯК в Сиднее (1956)

Ранние компьютеры с хранимой программой [ править ]

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

  • У IBM SSEC была возможность обрабатывать инструкции как данные, и это было публично продемонстрировано 27 января 1948 года. Эта способность была заявлена ​​в патенте США. [19] [20] Однако он был частично электромеханическим, а не полностью электронным. На практике инструкции считывались с бумажной ленты из-за ее ограниченной памяти. [21]
  • СМ2 разработан Эндрю Бут и Кэтлин Бут в Биркбек официально пришел в Интернете 12 мая 1948 г. [17] Это показало первое поворотное устройство хранения барабана . [22] [23]
  • Манчестер Ребенок был первый полностью электронный компьютер , чтобы запустить сохраненную программу. 21 июня 1948 г. он запустил программу факторинга в течение 52 минут после выполнения программы простого деления и программы, показывающей, что два числа являются относительно простыми .
  • Эниак был изменен , чтобы работать в качестве примитивного только для чтения , хранящей программой компьютера ( с помощью функции таблиц для программы ПЗУ ) и был продемонстрирован , как например 16 сентября 1948 года, запуск программы по Адел Голдстиной для фон Неймана.
  • BINAC провел несколько тестовых программ , в феврале, марте и апреле 1949 года, хотя и не была завершена до сентября 1949 года.
  • Манчестер Mark 1 разработана в рамках проекта Baby. Промежуточная версия Mark 1 была доступна для запуска программ в апреле 1949 года, но не была завершена до октября 1949 года.
  • EDSAC провел свою первую программу на 6 мая 1949 года.
  • EDVAC был поставлен в августе 1949 года, но это были проблемы , которые держали его из не претворяются в регулярную эксплуатацию до 1951 года.
  • СНПИ Mk I провел свою первую программу в ноябре 1949 года.
  • SEAC была продемонстрирована в апреле 1950 года.
  • Pilot ACE провел свою первую программу на 10 мая 1950 года и был продемонстрирован в декабре 1950 года .
  • SWAC была завершена в июле 1950 года.
  • Вихрь был завершен в декабре 1950 года и был в реальных условиях эксплуатации в апреле 1951 года.
  • Первый ERA Atlas (позже коммерческий ERA 1101 / UNIVAC 1101) был установлен в декабре 1950 года.

Эволюция [ править ]

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

В течение десятилетий 1960-х и 1970-х годов компьютеры в целом стали меньше и быстрее, что привело к эволюции их архитектуры. Например, ввод-вывод с отображением в память позволяет обрабатывать устройства ввода и вывода так же, как память. [24] Можно использовать единую системную шину для создания модульной системы с меньшими затратами [ требуется пояснение ] . Иногда это называют «оптимизацией» архитектуры. [25] В последующие десятилетия простые микроконтроллеры иногда пропускали функции модели, чтобы снизить стоимость и размер. На больших компьютерах добавлены функции для повышения производительности.

Ограничения дизайна [ править ]

Узкое место фон Неймана [ править ]

Совместная шина между памятью программ и памятью данных приводит к узкому месту фон Неймана , ограниченной пропускной способности (скорости передачи данных) между центральным процессором (ЦП) и памятью по сравнению с объемом памяти. Поскольку единственная шина может одновременно обращаться только к одному из двух классов памяти, пропускная способность ниже, чем скорость, с которой может работать ЦП. Это серьезно ограничивает эффективную скорость обработки, когда от ЦП требуется минимальная обработка больших объемов данных. ЦП постоянно вынужден ждатьдля необходимых данных для перемещения в память или из памяти. Поскольку скорость ЦП и объем памяти увеличиваются намного быстрее, чем пропускная способность между ними, узкое место стало более серьезной проблемой, проблема, серьезность которой возрастает с каждым новым поколением ЦП.

Узкое место фон Неймана было описано Джоном Бэкусом в его лекции 1977 года ACM Turing Award . По словам Бэкуса:

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

Смягчения [ править ]

Существует несколько известных методов устранения узких мест, связанных с производительностью фон Неймана. Например, все следующее может улучшить производительность [ почему? ] :

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

Эту проблему также можно в некоторой степени обойти, используя параллельные вычисления , используя, например, архитектуру неоднородного доступа к памяти (NUMA) - этот подход обычно используется суперкомпьютерами. Менее ясно, изменилось ли интеллектуальное узкое место, которое критиковал Бэкус, с 1977 года. Предложенное Бэкусом решение не оказало большого влияния. [ необходимая цитата ] Современное функциональное и объектно-ориентированное программирование гораздо меньше ориентировано на "перемещение огромного количества слов вперед и назад", чем более ранние языки, такие как FORTRAN были, но внутренне это все еще то, на что компьютеры тратят большую часть своего времени, даже суперкомпьютеры с высокой степенью параллелизма.

В 1996 году сравнительное исследование базы данных показало, что три из четырех циклов процессора были потрачены на ожидание памяти. Исследователи ожидают, что увеличение количества одновременных потоков инструкций с многопоточностью или однокристальной многопроцессорной обработкой еще больше усугубит это узкое место. [29] В контексте многоядерных процессоров требуются дополнительные накладные расходы для поддержания согласованности кеш-памяти между процессорами и потоками.

Самомодифицирующийся код [ править ]

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

См. Также [ править ]

  • Картонный иллюстративный материал для вычислений
  • Узкое место в межсоединении
  • Маленький компьютер человека
  • Машина с произвольным доступом
  • Гарвардская архитектура
  • Машина Тьюринга
  • Архитектура Эккерта

Ссылки [ править ]

  1. ^ a b c фон Нейман, Джон (1945), Первый проект отчета по EDVAC (PDF) , заархивирован из оригинала (PDF) 14 марта 2013 г. , извлечен 24 августа 2011 г.
  2. ^ Ганесан 2009
  3. Markgraf, Joey D. (2007), Узкое место фон Неймана , заархивировано из оригинала 12 декабря 2013 г.
  4. Перейти ↑ Copeland 2006 , p. 104
  5. ^ MFTL (My Favorite Toy Language) запись Jargon File 4.4.7 , получено 11 июля 2008 г.
  6. ^ Тьюринг, Алан М. (1936), «О вычислимых числах в приложении к Entscheidungsproblem», Proceedings of the London Mathematical Society , 2 (опубликовано 1937), 42 , стр. 230–265, doi : 10.1112 / plms / с2-42.1.230Тьюринг, Алан М. (1938), «О вычислимых числах, с приложением к Entscheidungsproblem. Исправление», Proceedings of the London Mathematical Society , 2 (опубликовано в 1937 году), 43 (6), стр. 544–546). , DOI : 10.1112 / ПДКС / s2-43.6.544)
  7. ^ Уильямс, ФК; Килбурн, Т. (25 сентября 1948 г.), «Электронные цифровые компьютеры» , Nature , 162 (4117): 487, doi : 10.1038 / 162487a0 , S2CID 4110351 , заархивировано из оригинала 6 апреля 2009 г. , получено 10 апреля 2009 г. 
  8. ^ Lukoff, Герман (1979). От Dits к Bits: личная история электронного компьютера . Портленд, Орегон, США: Robotics Press. ISBN 0-89661-002-0. LCCN  79-90567 .
  9. ^ Отчет администратора проекта ENIAC Гриста Брейнерда за декабрь 1943 года о ходе первого периода разработки ENIAC неявно предлагал концепцию хранимой программы (одновременно отвергая ее реализацию в ENIAC), заявляя, что «для того, чтобы иметь самый простой проект и не усложнять ситуацию. , «ENIAC будет построен без какого-либо« автоматического регулирования ».
  10. Перейти ↑ Copeland 2006 , p. 113
  11. Copeland, Jack (2000), A Brief History of Computing: ENIAC and EDVAC , получено 27 января 2010 г.
  12. Copeland, Jack (2000), A Brief History of Computing: ENIAC and EDVAC , получено 27 января 2010 г.который цитирует Randell, Brian (1972), Meltzer, B .; Мичи, Д. (ред.), «Об Алане Тьюринге и происхождении цифровых компьютеров», Машинный интеллект , Эдинбург: Издательство Эдинбургского университета , 7:10 , ISBN 0-902383-26-4
  13. Перейти ↑ Copeland 2006 , pp. 108–111
  14. ^ Bowden 1953 , стр. 176177
  15. ^ Bowden 1953 , стр. 135
  16. ^ "Электронный компьютерный проект" . Институт перспективных исследований . Проверено 26 мая 2011 года .
  17. ^ a b Кэмпбелл-Келли, Мартин (апрель 1982 г.). «Развитие компьютерного программирования в Великобритании (1945-1955)». IEEE Annals of the History of Computing . 4 (2): 121–139. DOI : 10.1109 / MAHC.1982.10016 . S2CID 14861159 . 
  18. ^ Робертсон, Джеймс Э. (1955), Illiac Design Techniques , номер отчета UIUCDCS-R-1955-146, Лаборатория цифровых компьютеров, Университет Иллинойса в Урбана-Шампейн
  19. ^ Электронный калькулятор выборочной последовательности (веб-сайт USPTO)
  20. ^ Электронный калькулятор выборочной последовательности (Google Patents)
  21. ^ Грош, Герберт RJ (1991), Компьютер: Биты Кусочки из жизни , Третий Книга тысячелетия, ISBN 0-88733-085-1
  22. ^ Лавингтон, Саймон, изд. (2012). Алан Тьюринг и его современники: создание первых компьютеров в мире . Лондон: Британское компьютерное общество . п. 61. ISBN 9781906124908.
  23. ^ Джонсон, Роджер (апрель 2008 г.). "Школа компьютерных наук и информационных систем: краткая история" (PDF) . Биркбек колледж . Лондонский университет . Проверено 23 июля 2017 года .
  24. ^ Белл, К. Гордон ; Cady, R .; McFarland, H .; О'Лафлин, Дж .; Noonan, R .; Wulf, W. (1970), «Новая архитектура для мини-компьютеров - DEC PDP-11» (PDF) , Spring Joint Computer Conference , стр. 657–675
  25. ^ Ноль, Линда; Лобур, Джулия (2010), Основы компьютерной организации и архитектуры (3-е изд.), Jones & Bartlett Learning, стр. 36, 199–203, ISBN 978-1-4496-0006-8
  26. ^ Бэкус, Джон В. "Может ли программирование быть освобождено от стиля фон Неймана? Функциональный стиль и его алгебра программ" . DOI : 10.1145 / 359576.359579 . Цитировать журнал требует |journal=( помощь )
  27. ^ Дейкстра, Эдсгер В. «Архив Э. В. Дейкстры: обзор лекции 1977 года по Премии Тьюринга» . Проверено 11 июля 2008 года .
  28. Перейти ↑ Backus, John (август 1978). «Можно ли освободить программирование от стиля фон Неймана? Функциональный стиль и его алгебра программ» (PDF) . Коммуникации ACM . 21 (8): 613–641. DOI : 10.1145 / 359576.359579 . S2CID 16367522 . Получено 19 сентября 2020 г. - через Карла Крари, Школа компьютерных наук, Университет Карнеги-Меллона.  
  29. ^ Сайты, Ричард Л .; Патт, Йель. «Архитекторы смотрят в будущее» . Отчет микропроцессора. 1996 г.

Дальнейшее чтение [ править ]

  • Боуден, Б.В., изд. (1953), Faster Than Thought: симпозиум по цифровым вычислительным машинам , Лондон: Sir Isaac Pitman and Sons Ltd.
  • Рохас, Рауль; Хашаген, Ульф, ред. (2000), Первые компьютеры: история и архитектура , MIT Press , ISBN 0-262-18197-5
  • Дэвис, Мартин (2000), Универсальный компьютер: дорога от Лейбница к Тьюрингу , Нью-Йорк: WW Norton & Company Inc. , ISBN 0-393-04785-7переиздано как: Дэвис, Мартин (2001), Двигатели логики: математики и происхождение компьютера , Нью-Йорк: WW Norton & Company , ISBN 978-0-393-32229-3
  • Можно ли освободить программирование от стиля фон Неймана? . Бэкус, Джон . Лекция по Премии Тьюринга 1977 года. Сообщения ACM, август 1978 г., том 21, номер 8, онлайн-PDF, подробности см. На https://www.cs.tufts.edu/~nr/backus-lecture.html
  • Белл, К. Гордон; Ньюэлл, Аллен (1971), Компьютерные структуры: материалы и примеры , McGraw-Hill Book Company , Нью-Йорк. Массивный (668 стр.)
  • Коупленд, Джек (2006), «Колосс и рост современного компьютера», в Коупленде, Б. Джек (редактор), Колосс: секреты компьютеров для взлома кода Блетчли-Парка , Оксфорд: Oxford University Press , ISBN 978-0-19-284055-4
  • Ганесан, Дипак (2009), Модель фон Неймана (PDF) , получено 22 октября 2011 г.
  • Маккартни, Скотт (1999). ENIAC: Триумфы и трагедии первого в мире компьютера . ISBN компании Walker & Co. 0-8027-1348-3.
  • Голдстайн, Герман Х. (1972). Компьютер от Паскаля до фон Неймана . Издательство Принстонского университета . ISBN 0-691-08104-2.
  • Шуркин, Джоэл (1984). Двигатели разума: история компьютера . Нью-Йорк, Лондон: WW Norton & Company . ISBN 0-393-01804-0.

Внешние ссылки [ править ]

  • Гарвард против фон Неймана
  • Инструмент, имитирующий поведение машины фон Неймана.
  • ДЖОННИ: Простой симулятор машины фон Неймана с открытым исходным кодом для образовательных целей.