архитектура фон Неймана
Архитектура фон Неймана , также известная как модель фон Неймана или архитектура Принстона , представляет собой компьютерную архитектуру, основанную на описании 1945 года Джона фон Неймана и других авторов в первом проекте отчета о EDVAC . [1] В документе описывается архитектура проекта электронного цифрового компьютера со следующими компонентами:
- Процессор . с арифметико-логическим блоком и регистрами процессора
- Блок управления , включающий в себя регистр команд и счетчик программ.
- Память , в которой хранятся данные и инструкции
- Внешнее запоминающее устройство
- ввода и вывода Механизмы [1] [2]
Термин «архитектура фон Неймана» развился для обозначения любого компьютера с хранимой программой , в котором выборка инструкций и операция с данными не могут происходить одновременно (поскольку они используют общую шину ). Это называется узким местом фон Неймана , которое часто ограничивает производительность соответствующей системы. [3]
Архитектура фон Неймана проще, чем гарвардская архитектура (которая имеет один выделенный набор адресов и шин данных для чтения и записи в память, а также другой набор адресов и шин данных для выборки инструкций ).
Компьютер с хранимой программой использует один и тот же базовый механизм для кодирования как программных инструкций , так и данных, в отличие от конструкций, в которых используется такой механизм, как дискретная коммутационная инструкций для реализации плата или фиксированная схема управления . Компьютеры с хранимыми программами были шагом вперед по сравнению с компьютерами с ручной перенастройкой или фиксированными функциями 1940-х годов, такими как Colossus и ENIAC . Они были запрограммированы путем установки переключателей и подключения соединительных кабелей для маршрутизации данных и сигналов управления между различными функциональными блоками.
Подавляющее большинство современных компьютеров используют один и тот же аппаратный механизм для кодирования и хранения как данных, так и программных инструкций, но имеют кэши между ЦП и памятью, а для кэшей, ближайших к ЦП, имеют отдельные кэши для инструкций и данных, так что большинство инструкций и выборок данных используют отдельные шины ( архитектура с разделенным кэшем ).
История [ править ]
Первые вычислительные машины имели фиксированные программы. Некоторые очень простые компьютеры до сих пор используют эту конструкцию либо для простоты, либо в целях обучения. Например, настольный калькулятор (в принципе) представляет собой компьютер с фиксированной программой. Он может выполнять базовые математические задачи , но не может запускать текстовый процессор или игры. Изменение программы машины с фиксированной программой требует перемонтажа, реструктуризации или перепроектирования машины. Самые ранние компьютеры были не столько «запрограммированы», сколько «спроектированы» для выполнения конкретной задачи. «Перепрограммирование» — если оно вообще было возможно — представляло собой трудоемкий процесс, который начинался с блок-схем и бумажных заметок, за которым следовали подробные инженерные проекты, а затем часто трудный процесс физического перемонтажа и восстановления машины. Настройка и отладка программы на ENIAC может занять три недели . [4]
С появлением компьютера с хранимой программой ситуация изменилась. Компьютер с хранимой программой по своей конструкции включает в себя набор инструкций и может хранить в памяти набор инструкций ( программу ), подробно описывающих вычисления .
Конструкция хранимой программы также допускает самомодифицирующийся код . Одной из первых причин создания такого средства была необходимость в программе для увеличения или иного изменения адресной части инструкций, что в ранних разработках операторам приходилось делать вручную. Это стало менее важным, когда индексные регистры и косвенная адресация стали обычными особенностями машинной архитектуры. Другое применение заключалось в встраивании часто используемых данных в поток команд с использованием непосредственной адресации .
Возможности [ править ]
В большом масштабе способность обрабатывать инструкции как данные — это то, что делает возможными ассемблеры , компиляторы , компоновщики , загрузчики и другие инструменты автоматического программирования. Это делает возможными «программы, которые пишут программы». [5] Это привело к процветанию сложной автономной вычислительной экосистемы вокруг машин с архитектурой фон Неймана.
Некоторые языки высокого уровня используют архитектуру фон Неймана, предоставляя абстрактный, машинно-независимый способ манипулирования исполняемым кодом во время выполнения (например, LISP ) или используя информацию времени выполнения для настройки своевременной компиляции (например, языки, размещенные на платформе Java). виртуальная машина или языки, встроенные в веб-браузеры ).
В меньших масштабах некоторые повторяющиеся операции, такие как BITBLT или пиксельные и вершинные шейдеры, можно ускорить на процессорах общего назначения с помощью методов компиляции «точно в срок». Это один из вариантов использования самомодифицирующегося кода, который остается популярным.
Разработка концепции хранимой программы [ править ]
Математик Алан Тьюринг , который был предупрежден о проблеме математической логики лекциями Макса Ньюмана в Кембриджском университете , написал в 1936 году статью под названием « О вычислимых числах с применением к Entscheidungsproblem» , которая была опубликована в журнале «Proceedings». Лондонского математического общества . [6] В нем он описал гипотетическую машину, которую назвал универсальной вычислительной машиной , ныне известную как « Универсальная машина Тьюринга ». Гипотетическая машина имела бесконечную память (память в современной терминологии), содержащую как инструкции, так и данные. Джон фон Нейман познакомился с Тьюрингом, когда он был приглашенным профессором в Кембридже в 1935 году, а также во время года работы Тьюринга в докторантуре в Институте перспективных исследований в Принстоне, штат Нью-Джерси, в 1936–1937 годах. Неясно, знал ли он в то время о статье Тьюринга 1936 года.
В 1936 году Конрад Цузе в двух патентных заявках также предположил, что машинные инструкции могут храниться в том же хранилище, что и данные. [7]
Независимо от этого Дж. Преспер Экерт и Джон Мочли , разрабатывавшие ENIAC в Школе электротехники Мура , Пенсильванского университета написали о концепции хранимой программы в декабре 1943 года. [8] [9] Планируя новую машину EDVAC , Экерт писал в январе 1944 года, что они будут хранить данные и программы в новом адресуемом запоминающем устройстве — ртутной металлической памяти с линией задержки . Это был первый раз, когда была предложена конструкция практичной машины с хранимой программой. В то время он и Моучли не знали о работе Тьюринга.
Фон Нейман участвовал в Манхэттенском проекте Национальной лаборатории Лос-Аламоса . Это потребовало огромных объемов расчетов, что привлекло его летом 1944 года к проекту ENIAC. Там он присоединился к продолжающимся обсуждениям конструкции компьютера с хранимой программой, EDVAC. В составе этой группы он написал описание под названием « Первый проект отчета о EDVAC». [1] на основе работ Экерта и Мокли. Когда его коллега Герман Гольдштейн распространил его, он был незавершенным и носил только имя фон Неймана (к ужасу Эккерта и Моучли). [10] Статью прочитали десятки коллег фон Неймана в Америке и Европе, и она оказала влияние на [ нечеткий ] следующий раунд компьютерных разработок.
Джек Коупленд считает, что «исторически неуместно называть электронные цифровые компьютеры с хранимой программой «машинами фон Неймана » ». [11] Его коллега из Лос-Аламоса Стэн Франкель сказал об уважении фон Неймана к идеям Тьюринга. [12]
Я знаю, что примерно в 1943 или 1944 году фон Нейман хорошо осознавал фундаментальную важность статьи Тьюринга 1936 года...Фон Нейман познакомил меня с этой статьей, и по его настоянию я внимательно ее изучил. Многие люди провозглашали фон Неймана «отцом компьютера» (в современном смысле этого слова), но я уверен, что сам он никогда бы не совершил такой ошибки. Возможно, его вполне можно было бы назвать акушеркой, но он твердо подчеркнул мне и, я уверен, другим, что фундаментальная концепция принадлежит Тьюрингу - в той степени, в которой это не было предвосхищено Бэббиджем... И Тьюринг, и фон Нейман , конечно, также внес существенный вклад в « приведение к практике » этих концепций, но я бы не считал их сравнимыми по важности с введением и объяснением концепции компьютера, способного хранить в своей памяти свою программу действий и модификации этой программы в ходе этой деятельности.
В то время, когда был распространен «первый проект» отчета, Тьюринг готовил отчет под названием « Предлагаемый электронный калькулятор » . В нем подробно описана инженерия и программирование, его идея машины, которую он назвал автоматической вычислительной машиной (ACE) . [13] Он представил это исполнительному комитету Британской национальной физической лаборатории 19 февраля 1946 года. Хотя Тьюринг из своего военного опыта в Блетчли-парке знал, что то, что он предложил, было осуществимо, секретность, окружавшая Колосса , которая впоследствии сохранялась в течение нескольких десятилетий, помешала его от таких слов. Были произведены различные успешные реализации конструкции ACE.
И в статьях фон Неймана, и в статьях Тьюринга описывались компьютеры с хранимыми программами, но более ранняя статья фон Неймана получила большее распространение, и изложенная в ней компьютерная архитектура стала известна как «архитектура фон Неймана». В публикации 1953 года « Быстрее, чем мысль: симпозиум по цифровым вычислительным машинам» (под редакцией Б.В. Боудена) раздел главы « Компьютеры в Америке» гласит следующее: [14]
Машина Института перспективных исследований, Принстон
В 1945 году профессор Дж. фон Нейман, работавший тогда в Инженерной школе Мура в Филадельфии, где был построен ЭНИАК, опубликовал от имени группы своих сотрудников доклад о логическом проектировании цифровых компьютеров. . В отчете содержалось подробное предложение по конструкции машины, которая с тех пор стала известна как 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 г.)
- Машина ИАС (1951 год(
- ORDVAC (Университет Иллинойса) на Абердинском полигоне , штат Мэриленд (завершен в ноябре 1951 г.) [18]
- МАНИАК I в научной лаборатории Лос-Аламоса (март 1952 г.)
- Машина IAS в Институте перспективных исследований (июнь 1952 г.)
- ILLIAC в Университете Иллинойса (сентябрь 1952 г.)
- БЭСМ-1 в Москве (1952 г.)
- AVIDAC в Аргоннской национальной лаборатории (1953 г.)
- ORACLE в Национальной лаборатории Ок-Ридж (июнь 1953 г.)
- БЭСК в Стокгольме (1953 г.)
- ДЖОННИАК в RAND Corporation (январь 1954 г.)
- ДАСК в Дании (1955)
- ВЕЙЦАК в Научном институте Вейцмана в Реховоте , Израиль (1955 г.)
- ПЕРМЬ в Мюнхене (1956)
- СИЛЛИАК в Сиднее (1956)
Ранние компьютеры программой с хранимой
Информацию о датах в следующей хронологии трудно привести в надлежащий порядок. Некоторые даты относятся к первому запуску тестовой программы, некоторые — к первой демонстрации или завершению работы компьютера, а некоторые — к первой доставке или установке.
- IBM SSEC обладал способностью обрабатывать инструкции как данные и был публично продемонстрирован 27 января 1948 года. Эта способность была заявлена в патенте США . [19] [20] Однако он был частично электромеханическим , а не полностью электронным. На практике инструкции читались с бумажной ленты из-за ее ограниченной памяти. [21]
- ARC2 , разработанный Эндрю Бутом и Кэтлин Бут в Биркбеке, Лондонский университет, официально появился в сети 12 мая 1948 года. [17] Это было первое устройство хранения с вращающимся барабаном . [22] [23]
- Manchester Baby был первым полностью электронным компьютером, на котором запускалась хранимая программа. 21 июня 1948 года он запустил программу факторинга в течение 52 минут после запуска простой программы деления и программы, показывающей, что два числа являются относительно простыми .
- ENIAC был модифицирован для работы в качестве примитивного компьютера с хранимой программой только для чтения (с использованием функциональных таблиц для ПЗУ программы ) и был продемонстрирован как таковой 16 сентября 1948 года, когда запускалась программа Адель Голдстайн для фон Неймана.
- BINAC провел несколько программ испытаний в феврале, марте и апреле 1949 года, но завершился только в сентябре 1949 года.
- Manchester Mark 1 разработан на основе проекта Baby. Промежуточная версия Mark 1 была доступна для запуска программ в апреле 1949 года, но была завершена только в октябре 1949 года.
- EDSAC запустил свою первую программу 6 мая 1949 года.
- EDVAC был доставлен в августе 1949 года, но у него возникли проблемы , из-за которых его ввод в регулярную эксплуатацию невозможен до 1951 года.
- CSIR Mk I выполнил свою первую программу в ноябре 1949 года.
- SEAC . был продемонстрирован в апреле 1950 года
- Pilot ACE выполнил свою первую программу 10 мая 1950 года и был продемонстрирован в декабре 1950 года.
- SWAC . был завершен в июле 1950 года
- Whirlwind . был завершен в декабре 1950 года и вступил в эксплуатацию в апреле 1951 года
- Первый ERA Atlas (позже коммерческий ERA 1101/UNIVAC 1101) был установлен в декабре 1950 года.
Эволюция [ править ]
В течение десятилетий 1960-х и 1970-х годов компьютеры в целом становились меньше и быстрее, что привело к эволюции их архитектуры. Например, ввод-вывод, отображаемый в памяти, позволяет устройствам ввода и вывода обращаться так же, как и памяти. [24] Одну системную шину можно использовать для создания модульной системы с меньшими затратами. [ нужны разъяснения ] . Иногда это называют «оптимизацией» архитектуры. [25] В последующие десятилетия в простых микроконтроллерах иногда не учитывались особенности модели, чтобы снизить стоимость и размер.На более крупных компьютерах были добавлены функции для повышения производительности.
Ограничения дизайна [ править ]
фон Неймана editУзкое место
Общая шина между памятью программ и памятью данных приводит к узкому месту фон Неймана — ограничению пропускной способности (скорости передачи данных) между центральным процессором (ЦП) и памятью по сравнению с объемом памяти. Поскольку одна шина может одновременно обращаться только к одному из двух классов памяти, пропускная способность ниже скорости, с которой может работать ЦП. Это серьезно ограничивает эффективную скорость обработки, когда ЦП требуется выполнять минимальную обработку больших объемов данных. ЦП постоянно вынужден ждать перемещения необходимых данных в память или из памяти. Поскольку скорость ЦП и объем памяти росли гораздо быстрее, чем пропускная способность между ними, узкое место стало более серьезной проблемой, серьезность которой возрастает с каждым новым поколением ЦП.
Узкое место фон Неймана было описано Джоном Бэкусом в его лекции на Премии Тьюринга ACM в 1977 году . По словам Бэкуса:
Конечно, должен быть менее примитивный способ внесения больших изменений в хранилище, чем проталкивание огромного количества слов туда и обратно через узкое место фон Неймана. Эта трубка не только буквально является узким местом для передачи данных о проблеме, но, что более важно, это интеллектуальное узкое место, которое удерживает нас прикованными к пословному мышлению вместо того, чтобы побуждать нас думать с точки зрения более крупные концептуальные единицы поставленной задачи. Таким образом, программирование — это, по сути, планирование и детализация огромного потока слов через узкое место фон Неймана, и большая часть этого трафика касается не самих важных данных, а того, где их найти. [26] [27]
Смягчения [ править ]
Существует несколько известных методов устранения узких мест в производительности фон Неймана. Например, все следующее может улучшить производительность [ почему? ] :
- обеспечение кэша между процессором и основной памятью ;
- предоставление отдельных кэшей или отдельных путей доступа для данных и инструкций (так называемая Модифицированная Гарвардская архитектура );
- использование прогнозирования ветвей ; алгоритмов и логики
- предоставление ограниченного стека ЦП или другой встроенной памяти для сокращения доступа к памяти;
- реализация ЦП и иерархии памяти как системы на кристалле , обеспечивающая большую локальность ссылок и, таким образом, уменьшающую задержку и увеличивающую пропускную способность между регистрами процессора и основной памятью .
Проблему также можно несколько обойти, используя параллельные вычисления , используя, например, архитектуру неоднородного доступа к памяти (NUMA) — этот подход обычно используется в суперкомпьютерах . Менее ясно, интеллектуальное узкое место , которое критиковал Бэкус, с 1977 года. Предложенное Бэкусом решение не оказало большого влияния. сильно ли изменилось [ нужна ссылка ] Современное функциональное и объектно-ориентированное программирование гораздо менее ориентировано на «перемещение огромного количества слов туда и обратно», чем более ранние языки, такие как FORTRAN , но внутренне это все еще то, на что компьютеры тратят большую часть своего времени, даже суперкомпьютеры с высокой степенью параллелизма.
По состоянию на 1996 год сравнительное исследование базы данных показало, что три из четырех циклов ЦП тратятся на ожидание памяти. Исследователи ожидают, что увеличение количества одновременных потоков инструкций с помощью многопоточности или однокристальной многопроцессорности еще больше усугубит это узкое место. [28] [29] В контексте многоядерных процессоров дополнительные накладные расходы требуются для поддержания согласованности кэша между процессорами и потоками.
Самомодифицирующийся код [ править ]
Помимо узкого места фон Неймана, модификации программы могут быть весьма вредными, как случайно, так и намеренно. [ нужна ссылка ] В некоторых простых компьютерных конструкциях с хранимой программой неисправная программа может повредить себя, другие программы или операционную систему компьютера , что может привести к сбою . Однако эта проблема касается и обычных программ, в которых отсутствует проверка границ . Защита памяти и различные средства контроля доступа обычно защищают как от случайных, так и от злонамеренных изменений программы.
См. также [ править ]
- КАРТОННОЕ Иллюстративное пособие по вычислениям
- Узкое место межсоединения
- Маленький человечек-компьютер
- Машина произвольного доступа
- Гарвардская архитектура
- Машина Тьюринга
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с фон Нейман, Джон (1945), Первый проект отчета о EDVAC (PDF) , заархивировано из оригинала (PDF) 14 марта 2013 г. , получено 24 августа 2011 г.
- ^ Ганесан 2009 .
- ^ Маркграф, Джоуи Д. (2007), Узкое место фон Неймана , заархивировано из оригинала 12 декабря 2013 года .
- ^ Коупленд 2006 , с. 104.
- ^ Запись MFTL (My Favorite Toy Language), жаргонный файл 4.4.7 , получено 11 июля 2008 г.
- ^ Тьюринг, Алан М. (1936), «О вычислимых числах с применением к проблеме Entscheidungs», Труды Лондонского математического общества , 2, том. 42 (опубликовано в 1937 г.), стр. 230–265, doi : 10.1112/plms/s2-42.1.230 , S2CID 73712 и Тьюринг, Алан М. (1938), «О вычислимых числах с применением к проблеме Entscheidungs. Исправление», Труды Лондонского математического общества , 2, том. 43, нет. 6 (опубликовано в 1937 г.), стр. 544–546, doi : 10.1112/plms/s2-43.6.544 .
- ^ Уильямс, ФК; Килберн, Т. (25 сентября 1948 г.), «Электронные цифровые компьютеры», Nature , 162 (4117): 487, Бибкод : 1948Natur.162..487W , doi : 10.1038/162487a0 , S2CID 4110351 .
- ^ Луков, Герман (1979). От цифр к битам: личная история электронного компьютера . Портленд, Орегон: Robotics Press. ISBN 0-89661-002-0 . LCCN 79-90567 .
- ^ Администратор проекта ENIAC Грист Брейнерд в отчете о ходе работы за первый период разработки ENIAC за декабрь 1943 года неявно предлагал концепцию хранимой программы (одновременно отвергая ее реализацию в ENIAC), заявляя, что «чтобы иметь самый простой проект и не усложнять ситуацию «ЭНИАК будет построен без какого-либо «автоматического регулирования».
- ^ Коупленд 2006 , с. 113.
- ^ Коупленд, Джек (2000), Краткая история вычислений: ENIAC и EDVAC , получено 27 января 2010 г.
- ^ Коупленд, Джек (2000), «Краткая история вычислений: ENIAC и EDVAC» , получено 27 января 2010 г. (работа, в которой цитируется Рэнделл, Брайан (1972), Мельцер, Б.; Мичи, Д. (ред.), «Об Алане Тьюринге и происхождении цифровых компьютеров», Machine Intelligence , 7 , Эдинбург: Издательство Эдинбургского университета : 10, ISBN 0-902383-26-4 .
- ^ Коупленд 2006 , стр. 108–111.
- ^ Боуден 1953 , стр. 176, 177.
- ^ Боуден 1953 , с. 135.
- ^ «Электронный компьютерный проект» . Институт перспективных исследований . 11 сентября 2009 года . Проверено 26 мая 2011 г.
- ↑ Перейти обратно: Перейти обратно: а б Кэмпбелл-Келли, Мартин (апрель 1982 г.). «Развитие компьютерного программирования в Великобритании (1945–1955 гг.)». IEEE Анналы истории вычислений . 4 (2): 121–139. дои : 10.1109/MAHC.1982.10016 . S2CID 14861159 .
- ^ Робертсон, Джеймс Э. (1955), Illiac Design Techniques , номер отчета UIUCDCS-R-1955–146, Лаборатория цифровых компьютеров, Университет Иллинойса в Урбана-Шампейн .
- ^ Электронный калькулятор выборочной последовательности (веб-сайт USPTO) .
- ^ Электронный калькулятор выборочной последовательности (патенты Google) .
- ^ Грош, Герберт Р.Дж. (1991), Компьютер: отрывки из жизни , Книги третьего тысячелетия, ISBN 0-88733-085-1 .
- ^ Лавингтон, Саймон, изд. (2012). Алан Тьюринг и его современники: создание первых в мире компьютеров . Лондон: Британское компьютерное общество . п. 61. ИСБН 978-1906124908 .
- ^ Джонсон, Роджер (апрель 2008 г.). «Школа компьютерных наук и информационных систем: краткая история» (PDF) . Биркбекский колледж . Лондонский университет . Проверено 23 июля 2017 г.
- ^ Белл, К. Гордон ; Кэди, Р.; МакФарланд, Х.; О'Лафлин, Дж.; Нунан, Р.; Вульф, В. (1970), «Новая архитектура для мини-компьютеров - DEC PDP-11» (PDF) , Весенняя совместная компьютерная конференция , стр. 657–675 .
- ^ Налл, Линда; Лобур, Джулия (2010), Основы компьютерной организации и архитектуры (3-е изд.), Jones & Bartlett Learning, стр. 36, 199–203, ISBN 978-1-4496-0006-8 .
- ^ Бэкус, Джон В. (август 1978 г.). «Можно ли программирование освободиться от стиля фон Неймана? Функциональный стиль и его алгебра программ» . Коммуникации АКМ . 21 (8): 613–641. дои : 10.1145/359576.359579 . S2CID 16367522 .
- ^ Дейкстра, Эдсгер В. «Архив Э.В. Дейкстры: обзор лекции о премии Тьюринга 1977 года» . Проверено 11 июля 2008 г.
- ^ Сайты, Ричард Л. (5 августа 1996 г.). «Архитекторы смотрят на процессоры будущего» (PDF) . Отчет микропроцессора . 10 (10). Это Память, Глупый!.
- ^ Патт, Йельский университет (5 августа 1996 г.). «Архитекторы смотрят на процессоры будущего» (PDF) . Отчет микропроцессора . 10 (10). Во-первых, давайте разберемся с однопроцессором правильно.
Дальнейшее чтение [ править ]
- Боуден, Б.В., изд. (1953), Быстрее, чем мысль: симпозиум по цифровым вычислительным машинам , Лондон: сэр Исаак Питман и сыновья 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
- Можно ли освободить программирование от стиля фон Неймана? . Бэкус, Джон . Лекция на премию ACM Тьюринга 1977 года. Сообщения ACM, август 1978 г., том 21, номер 8. Интернет в формате PDF. Архивировано 21 июня 2007 г., на Wayback Machine. Подробности см. на https://www.cs.tufts.edu/~nr/backus-lecture.html.
- Белл, К. Гордон; Ньюэлл, Аллен (1971), Компьютерные структуры: материалы для чтения и примеры , книжная компания McGraw-Hill , Нью-Йорк. Массивный (668 страниц)
- Коупленд, Джек (2006), «Колосс и развитие современного компьютера», в Коупленд, Б. Джек (редактор), Колосс: Секреты компьютеров для взлома кодов Блетчли-Парка , Оксфорд: Oxford University Press , ISBN 978-0-19-284055-4
- Ганесан, Дипак (2009), Модель фон Неймана (PDF) , заархивировано из оригинала (PDF) 25 апреля 2012 г. , получено 22 октября 2011 г.
- Маккартни, Скотт (1999). ЭНИАК: Триумфы и трагедии первого в мире компьютера . Уокера и Ко ISBN 0-8027-1348-3 .
- Голдстайн, Герман Х. (1972). Компьютер от Паскаля до фон Неймана . Издательство Принстонского университета . ISBN 0-691-08104-2 .
- Шуркин, Джоэл (1984). Машины разума: история компьютера . Нью-Йорк, Лондон: WW Norton & Company . ISBN 0-393-01804-0 .