Архитектура фон Неймана
Идея, что команды и данные живут в одной памяти, — она сделала компьютер универсальным и заодно создала его самое узкое место.
Всё началось с First Draft of a Report on the EDVAC — рабочего документа, который Герман Голдстайн размножил в июне 1945 года с одним лишь именем Джона фон Неймана на обложке. Содержание выросло из обсуждений в Moore School, где Преспер Эккерт и Джон Мокли уже имели проект на руках, а распространение отчёта юридически считалось публикацией — что позже и погубило их патентные притязания. Отчёт делит машину на пять органов: арифметическое устройство, устройство управления, память, ввод и вывод.
Радикальное в том, что программа лежит в той же памяти, что и данные. ENIAC перепаивали под каждую новую задачу; машина с хранимой программой считывает программу так же, как числа. Это, в свою очередь, позволяет программам работать с программами — необходимое условие для ассемблеров, компиляторов и операционных систем.
Счёт приходит в виде «узкого места фон Неймана» — выражения, которое Джон Бэкус ввёл в тьюринговской лекции 1977 года: всё должно протискиваться по единственному пути между процессором и памятью, и этот путь становится потолком. Альтернатива — гарвардская архитектура, разделяющая команды и данные. Современные процессоры снаружи — фон Нейман, а в ядре — Гарвард, с раздельными кэшами L1 для кода и данных: узкое место не решено, а лишь погребено под иерархией кэшей.