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

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

Архитектура фон Неймана, также известная как модель фон Неймана или принстонская архитектура , представляет собой компьютерную архитектуру, основанную на описании 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]

В то время, когда был распространен «Первый проект» отчета, Тьюринг готовил отчет, озаглавленный « Предлагаемый электронный калькулятор» . Он подробно описал инженерные и программные аспекты его идеи машины, которую он назвал Автоматическим вычислительным механизмом (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), The Von Neumann Bottleneck , заархивировано из оригинала 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 .; Мичи, Д. (ред.), «Об Алане Тьюринге и происхождении цифровых компьютеров», Machine Intelligence , Эдинбург: Издательство Эдинбургского университета , 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)
  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), «Колосс и рост современного компьютера», в Copeland, B. Jack (ed.), Colossus: The Secrets of Bletchley Park's Codebreaking Computers , Oxford: 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.

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

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