Введение

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

Описание

В принципе, компьютеры с хранимой программой создавались с различными архитектурными особенностями. Компьютер с архитектурой фон Неймана хранит данные программы и инструкции в одной и той же памяти, а компьютер с архитектурой Гарварда имеет отдельные памяти для хранения программы и данных. Однако термин "компьютер с хранимой программой" иногда используется как синоним архитектуры фон Неймана. Джек Коупленд полагает, что "исторически неточно называть электронные цифровые компьютеры с хранимой программой "машинами фон Неймана"". Хеннесси и Паттерсон писали, что ранние машины Гарвардской архитектуры рассматривались как "отсталые сторонниками компьютеров с хранимой программой".

История

Концепция компьютера с хранимой программой восходит к теоретической концепции универсальной машины Тьюринга 1936 года. Фон Нейман был знаком с этой работой и убедил в ней своих коллег. Многие ранние компьютеры, такие как компьютер Атанасова-Берри, не были перепрограммируемыми. Они выполняли одну жестко заданную программу. Поскольку программных инструкций не было, хранение программ не требовалось. Другие компьютеры, хотя и программируемые, хранили свои программы на перфоленте, которая физически подавалась в систему по мере необходимости. В 1936 году Конрад Цузе в двух патентных заявках предвидел, что машинные инструкции можно хранить в той же памяти, что и данные. Компьютер «Baby» Манчестерского университета обычно признается первым в мире электронным компьютером, запустившим программу с хранимой программой – событие, произошедшее 21 июня 1948 года. Однако «Baby» не считался полноценным компьютером, а скорее прототипом, предшественником компьютера Manchester Mark 1, который впервые был использован для исследовательских работ в апреле 1949 года. 6 мая 1949 года EDSAC в Кембридже запустил свою первую программу, став еще одним электронным цифровым компьютером с хранимой программой. Иногда утверждается, что IBM SSEC, введенный в эксплуатацию в январе 1948 года, был первым компьютером с хранимой программой; это утверждение является спорным, в частности из-за иерархической системы памяти SSEC и того, что некоторые аспекты его работы, такие как доступ к реле или ленточным накопителям, определялись подключением. Первым компьютером с хранимой программой, построенным в континентальной Европе, был MESM, завершенный в Советском Союзе в 1950 году.

Первые компьютеры с сохраненной программой

Несколько компьютеров можно рассматривать как первый компьютер с хранимой программой, в зависимости от критериев. В апреле 1948 года были завершены модификации ENIAC, чтобы он мог функционировать как компьютер с хранимой программой, при этом программа хранилась путем установки дисков в его функциях таблицах, которые могли хранить 3600 десятичных цифр инструкций. Он выполнил свою первую программу с хранением в памяти 12 апреля 1948 года и свою первую программу для практического применения 17 апреля. Это утверждение оспаривается некоторыми историками вычислительной техники. ARC2, релейный компьютер, разработанный Эндрю Бутом и Кэтлин Бут в Биркбеке, Лондонский университет, официально был введен в эксплуатацию 12 мая 1948 года. Он включал в себя первое устройство хранения на вращающемся барабане. Manchester Baby, экспериментальный, полностью электронный компьютер, который успешно выполнил программу с хранением в памяти 21 июня 1948 года. Впоследствии он был разработан в Manchester Mark 1, который выполнил свою первую программу в начале апреля 1949 года. Электронный калькулятор с автоматической задержкой хранения (EDSAC), который выполнил свои первые программы 6 мая 1949 года и стал полномасштабным, функционирующим компьютером, обслуживавшим сообщество пользователей за пределами своих разработчиков. EDVAC, задуманный в июне 1945 года в первом проекте отчета об EDVAC, но поставленный только в августе 1949 года. Он начал фактическую работу (в ограниченном режиме) в 1951 году. BINAC, поставленный заказчику 22 августа 1949 года. Он работал на заводе, но существуют разногласия относительно того, работал ли он удовлетворительно после поставки. Если бы он был завершен в запланированный срок, он был бы первым в мире компьютером с хранимой программой. Он был первым компьютером с хранимой программой в США.

В 1951 году Ferranti Mark 1, усовершенствованная версия Manchester Mark 1, стал первым коммерчески доступным электронным цифровым компьютером. Bull Gamma 3 (1952) и IBM 650 (1953) были первыми компьютерами, производимыми массово для коммерческих целей, с объемом продаж около 1200 и 2000 единиц соответственно. Транзисторный компьютер Манчестерского университета обычно считается первым транзисторным компьютером с хранимой программой, который начал функционировать в ноябре 1953 года.

Телекоммуникации

Концепция использования компьютера с хранимой программой для коммутации телекоммуникационных цепей называется управлением с хранимой программой (SPC). Она сыграла ключевую роль в разработке первых электронных коммутационных систем компанией American Telephone and Telegraph (AT&T) в системе Bell, разработка которой активно началась примерно в 1954 году с первоначальных концептуальных проектов Эрны Шнайдер Гувер в Bell Labs. Первая из таких систем была установлена в качестве эксперимента в Моррисе, штат Иллинойс, в 1960 году. В качестве носителя для программных инструкций использовалась память на основе "летающего луча" – фотографическая пластина, считываемая оптическим сканером со временем доступа около одной микросекунды. Для временного хранения данных система использовала электростатическую трубку с барьерной сеткой.