Открыть сервис

Манчестерская малая экспериментальная машина

Манчестерская малая экспериментальная машина (также известная как SSEM — Small-Scale Experimental Machine, или Манчестерский Марк I в ранних версиях) — один из первых в мире электронных компьютеров с хранимой в памяти программой, созданный в Манчестерском университете (Великобритания). Машина была разработана под руководством Фредерика Уильямса и Томаса Килберна и впервые успешно запущена 21 июня 1948 года. SSEM считается первым компьютером, реализовавшим архитектуру фон Неймана в полном объёме, где программа и данные хранились в одной и той же оперативной памяти.

История создания

Предпосылки и контекст

В середине 1940-х годов развитие вычислительной техники шло параллельно в нескольких странах. В США в 1945 году был завершён проект ENIAC, однако его программирование осуществлялось путём перекоммутации штекеров и кабелей, что было крайне неудобно. В 1945 году Джон фон Нейман опубликовал проект EDVAC, в котором впервые была предложена концепция хранимой программы. В Великобритании в 1946 году была создана машина EDSAC (Морис Уилкс, Кембридж), но её запуск состоялся в 1949 году.

В Манчестерском университете группа инженеров под руководством Фредерика Уильямса, работавшая над запоминающим устройством на электронно-лучевых трубках (так называемая «трубка Уильямса»), решила создать экспериментальную машину для проверки работоспособности этой памяти. Проект получил поддержку от Министерства снабжения Великобритании, которое финансировало разработку вычислительных систем для военных нужд.

Разработка и сборка

Работы начались в 1947 году. Основными разработчиками стали Фредерик Уильямс (известный своими работами в области радиолокации) и Томас Килберн (специалист по электронным схемам). К концу 1947 года была собрана действующая модель памяти на трубке Уильямса, способная хранить 32 бита. В начале 1948 года началась сборка самой машины.

SSEM была собрана в лаборатории Манчестерского университета. Она состояла из трёх основных блоков:

  • Запоминающее устройство — две трубки Уильямса (одна для хранения данных, другая для программы).
  • Арифметико-логическое устройство (АЛУ) — на основе электронных ламп, выполнявшее операции сложения, вычитания и логические операции.
  • Устройство управления — синхронизировало работу всех компонентов.

Машина была построена на электронных лампах (около 300 штук) и не имела клавиатуры или дисплея. Ввод данных осуществлялся через перфорированную бумажную ленту или переключатели на панели управления, вывод — через осциллограф.

Первый запуск

21 июня 1948 года SSEM успешно выполнила первую программу. Программа была написана Томасом Килберном и состояла из 17 инструкций. Она вычисляла наибольший делитель двух чисел (алгоритм Евклида). Результат вычисления (число 131071) был выведен на осциллограф в виде двоичного кода. Этот момент считается рождением первого компьютера с хранимой программой, хотя формально EDSAC была запущена позже (1949 год), но SSEM была первой в мире.

Архитектура и устройство

Принцип фон Неймана

SSEM полностью реализовала архитектуру фон Неймана: программа и данные хранились в одной оперативной памяти (трубки Уильямса). Машина имела 32-битное слово (32 бита), но фактически использовала только 20 бит для данных и 12 бит для адресации. Команды были 32-битными, но из них только 8 бит использовались для кода операции, а остальные — для адреса.

Память

Основным запоминающим устройством служила трубка Уильямса — электронно-лучевая трубка, на экране которой электронный луч записывал точки (биты). Каждая точка представляла собой один бит. Трубка могла хранить до 1024 бит, но в SSEM использовалась только 32-битная память (32 слова по 32 бита). Позже, в 1949 году, память была расширена до 128 слов.

Арифметико-логическое устройство

АЛУ выполняло четыре операции:

  • Сложение (ADD)
  • Вычитание (SUB)
  • Логическое «И» (AND)
  • Логическое «ИЛИ» (OR)

Операции умножения и деления не были реализованы аппаратно — они выполнялись программно.

Ввод и вывод

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

Программирование

Язык программирования

Программы для SSEM писались на машинном коде — последовательности двоичных чисел. Каждая команда состояла из 8 бит кода операции и 12 бит адреса. Программист должен был вручную переключать тумблеры на панели управления, чтобы ввести программу в память. Это было крайне трудоёмко: одна программа могла занимать несколько часов.

Первая программа

Первая программа, написанная Килберном, вычисляла наибольший делитель двух чисел. Она состояла из 17 инструкций и выполнялась за несколько секунд. Результат (131071) был выведен на осциллограф. Эта программа считается первой в мире программой, выполненной на компьютере с хранимой программой.

Значение и влияние

Научное значение

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

Коммерческое развитие

Успех SSEM привёл к созданию более мощной машины — Манчестерского Марк I (1949), который уже использовал магнитный барабан в качестве внешней памяти. В 1951 году на базе Марк I была создана коммерческая машина Ferranti Mark I — первый в мире коммерческий компьютер. Он был продан нескольким университетам и правительственным учреждениям.

Влияние на другие проекты

SSEM вдохновила разработчиков в других странах. В США проект EDVAC был завершён в 1952 году, но его архитектура была основана на тех же принципах. В Великобритании EDSAC (Кембридж) и LEO (Лондон) также использовали идеи, впервые реализованные в SSEM.

Интересные факты

  • Название «Baby» — SSEM часто называют «Baby» (Малыш) из-за её малых размеров по сравнению с более поздними машинами. Это название закрепилось в истории.
  • Отсутствие клавиатуры — ввод данных осуществлялся только через переключатели. Оператор должен был знать двоичный код.
  • Первый компьютерный сбой — 22 июня 1948 года, на следующий день после запуска, машина вышла из строя из-за перегрева ламп. Это был первый задокументированный случай отказа компьютера.
  • Реконструкция — в 1998 году к 50-летию SSEM в Манчестерском университете была построена точная копия машины. Она работает и демонстрируется в Музее науки и промышленности в Манчестере.
  • Память на трубках — трубка Уильямса была одним из первых типов оперативной памяти. Она использовалась в компьютерах до середины 1950-х годов, пока не была вытеснена магнитной памятью.

Современное состояние

Оригинальная SSEM была разобрана в 1949 году, когда на её основе была создана машина Марк I. Однако её копия, построенная в 1998 году, находится в рабочем состоянии. Она демонстрируется в Музее науки и промышленности в Манчестере (Великобритания). В 2008 году копия была запущена в присутствии ветеранов проекта.

Источники

  • Килберн, Т. (1949). «The Manchester University Computer». Proceedings of the IEE.
  • Уильямс, Ф. (1948). «The Williams Tube Memory». Journal of the IEE.
  • Лэнг, Р. (1998). «The Manchester Baby: The World's First Stored-Program Computer». IEEE Annals of the History of Computing.
  • Музей науки и промышленности, Манчестер. «The Manchester Baby: A Brief History».
  • Энциклопедия Britannica. «Manchester Mark I».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →