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

Электронное хранение задержки автоматического калькулятора ( EDSAC ) был ранний британский компьютер. [1] Вдохновленный оригинальным Первым проектом отчета Джона фон Неймана о EDVAC , машина была построена Морисом Уилксом и его командой из математической лаборатории Кембриджского университета в Англии. EDSAC был вторым электронным цифровым компьютером с хранимой программой, введенным в регулярную эксплуатацию. [2]

Позже проект был поддержан компанией J. Lyons & Co. Ltd. , намеревающейся разработать коммерчески применяемый компьютер и преуспевшей в разработке LEO I в Лионе на основе дизайна EDSAC. Работа над EDSAC началась в 1947 году [3], а 6 мая 1949 года он запустил свои первые программы, когда рассчитал таблицу квадратных чисел [4] и список простых чисел . [5] [6] EDSAC был окончательно закрыт 11 июля 1958 года, его заменил EDSAC 2 , который использовался до 1965 года. [7]

Технический обзор [ править ]

Физические компоненты [ править ]

9-дюймовые трубки, используемые для мониторинга
Уильям Ренвик со считывателем лент с 5 отверстиями и телетайпом Creed

Как только EDSAC заработал, он начал обслуживать исследовательские нужды университета. Раньше задержек ртутных линий для памяти, а также понижены вакуумные трубки для логики. Потребляемая мощность составила 11 кВт электроэнергии. [8] [9] Время цикла составляло 1,5 мс для всех обычных инструкций, 6 мс для умножения. Ввод осуществлялся через перфоленту с пятью отверстиями, а вывод - через телетайп .

Первоначально регистры были ограничены регистром аккумулятора и регистром умножителя. В 1953 году Дэвид Уиллер , вернувшись из Университета Иллинойса , разработал индексный регистр как расширение оригинального оборудования EDSAC.

Накопитель на магнитной ленте был добавлен в 1952 году, но никогда не работал достаточно хорошо, чтобы его можно было использовать в реальной жизни. [10]

До 1952 года доступная основная память (инструкции и данные) составляла всего 512 18-битных слов, и не было резервного хранилища. [11] Линии задержки (или «танки») были организованы в две батареи по 512 слов каждая. Вторая батарея вступила в строй в 1952 г. [10]

Полное хранилище линии задержки на 1024 слова не было доступно до 1955 или в начале 1956 года [12], что ограничивало программы примерно 800 словами.

Джон Линдли (аспирант 1958–1959) упомянул «невероятную трудность, с которой нам когда-либо приходилось производить единственный правильный кусок бумажной ленты с грубым и ненадежным самодельным оборудованием для штамповки, печати и проверки, доступным в конце 50-х годов». [13]

Память и инструкции [ править ]

Морис Уилкс осматривает линию задержки ртути в строящемся EDSAC
Морис Уилкс и Билл Ренвик перед полным EDSAC

Основная память EDSAC состояла из 1024 ячеек, хотя изначально было установлено только 512 ячеек. Каждый содержал 18 бит, но самый верхний бит всегда был недоступен из-за проблем с синхронизацией, поэтому использовались только 17 бит. Инструкция состояла из пятибитового кода инструкции, одного запасного бита, десятибитного операнда (обычно адреса памяти) и бита длины для управления тем, использовала ли инструкция 17-битный или 35-битный операнд (два последовательных слова , с прямым порядком байтов ). Все коды инструкций были представлены одной мнемонической буквой, так что , например, инструкция Add использовала символьный код EDSAC для буквы A.

Внутри EDSAC используется двоичное дополнение , двоичные числа. Числа были либо 17 бит (одно слово), либо 35 бит (два слова). Необычно то, что множитель был разработан для обработки чисел как дробей с фиксированной точкой в диапазоне −1 ≤ x <1, то есть двоичная точка находилась сразу справа от знака. Аккумулятор может держать 71 бит, включая знак, позволяя два длинных (35-бит) числа , чтобы умножать без потери точности.

Доступны следующие инструкции:

  • Добавлять
  • Вычесть
  • Умножить и сложить
  • И-и-сложение (так называемое "Сортировка")
  • Сдвиг влево
  • Арифметический сдвиг вправо
  • Загрузить регистр множителя
  • Сохранить (и при необходимости очистить) аккумулятор
  • Условный переход
  • Читать входную ленту
  • Печать символа
  • Круглый аккумулятор
  • Нет операции
  • Останавливаться.

Не было инструкции деления (но были предоставлены различные подпрограммы деления) и не было возможности напрямую загрузить число в аккумулятор (для этого была необходима инструкция «sTore и нулевой аккумулятор», за которой следовала инструкция «Добавить»). Не было ни инструкции безусловного перехода, ни инструкции вызова процедуры - ее еще не изобрели.

Морис Уилкс обсуждал режимы относительной адресации для EDSAC в статье, опубликованной в 1953 году. Он вносил предложения по облегчению использования подпрограмм . [14]

Системное программное обеспечение [ править ]

Эти первоначальные заказы были зашитыми на множестве uniselector переключателей и загружаются в низкие слова памяти при запуске. К маю 1949 года первоначальные заказы предоставили примитивный ассемблер с возможностью перемещения, использующий преимущества мнемонической конструкции, описанной выше, всего в 31 слове. Это был первый в мире ассемблер и, возможно, начало мировой индустрии программного обеспечения. Доступна симуляция EDSAC и полное описание начальных заказов и первых программ.

Первым расчетом, выполненным EDSAC, была программа с квадратными числами, выполненная 6 мая 1949 года. [15] Программа была написана Беатрис Уорсли, которая приехала из Канады для изучения машины. [16] [15]

Эта машина использовалась другими членами университета для решения реальных проблем, и были разработаны многие ранние методы, которые теперь включены в операционные системы. Пользователи готовили свои программы, набивая их (на ассемблере) на бумажную ленту. Вскоре они научились держать бумажную ленту на свету и считывать коды. Когда программа была готова, ее вешали на веревку, натянутую рядом с устройством чтения бумажной ленты. Присутствовавшие в течение дня механизаторы выбрали следующую ленту из линии и загрузили ее в EDSAC. Конечно, сегодня это хорошо известно как очереди заданий. Если он что-то напечатал, то лента и распечатка возвращались пользователю, в противном случае он был проинформирован, в каком месте памяти он остановился. Отладчики были некоторое время вдали,но экран ЭЛТ может быть настроен для отображения содержимого определенной части памяти. Это использовалось, например, чтобы увидеть, сходится ли число. К знаковому разряду аккумулятора был подключен громкоговоритель; опытные пользователи знали здоровые и нездоровые звуки программ, особенно программ, «зависающих» в цикле. В нерабочее время некоторым «авторизованным пользователям» разрешалось запускать машину самостоятельно, что продолжалось до поздней ночи, пока не взорвался клапан, что, по словам одного из таких пользователей, обычно происходило.им разрешили запустить машину самостоятельно, что продолжалось до поздней ночи, пока не взорвался клапан, что обычно происходило по словам одного из таких пользователей.им разрешили запустить машину самостоятельно, что продолжалось до поздней ночи, пока не взорвался клапан, что обычно происходило по словам одного из таких пользователей.[17]

Техника программирования [ править ]

Пульт мониторинга EDSAC [18]

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

Дэвиду Уиллеру , первому в мире доктору компьютерных наук, работающему над этим проектом, приписывают изобретение концепции подпрограммы. Пользователи писали программы, которые вызывали подпрограмму путем перехода к началу подпрограммы с адресом возврата (т. Е. Местоположением плюс один самого перехода) в аккумуляторе ( прыжок Уиллера ). По соглашению подпрограмма ожидала этого, и первое, что она сделала, - изменила свою заключительную инструкцию перехода на этот адрес возврата. Множественные и вложенные подпрограммы могут быть вызваны до тех пор, пока пользователь знает длину каждой из них, чтобы вычислить место перехода; рекурсивные вызовыбыли запрещены. Затем пользователь скопировал код подпрограммы с мастер-ленты на свою собственную ленту после завершения своей собственной программы. (Тем не менее, Тьюринг обсуждал подпрограммы в статье 1945 года о предложениях по проектированию NPL ACE , зайдя так далеко, что изобрел концепцию стека обратных адресов, которая позволила бы рекурсию. [19] )

Прикладное программное обеспечение [ править ]

Концепция подпрограмм привела к доступности обширной библиотеки подпрограмм. К 1951 году для общего использования было доступно 87 подпрограмм следующих категорий: арифметика с плавающей запятой ; арифметические операции над комплексными числами ; проверка; разделение; возведение в степень ; процедуры, относящиеся к функциям; дифференциальные уравнения ; специальные функции; степенной ряд ; логарифмы ; Разное; печать и верстка; квадратура ; читать (ввод); корень n- й степени; тригонометрические функции ; подсчет операций (имитация повторения до циклов , циклов while и for циклов); векторы ; и матрицы .

Приложения EDSAC [ править ]

EDSAC был разработан специально как часть службы поддержки математической лаборатории для расчетов. [20] Первая научная статья, опубликованная с использованием компьютера для вычислений, была Рональдом Фишером . Уилкс и Уиллер использовали EDSAC, чтобы решить для него дифференциальное уравнение, относящееся к частотам генов. [21] В 1951 году Миллер и Уиллер использовали эту машину, чтобы найти 79-значное простое число [22] - самое большое из известных в то время.

Лауреаты трех Нобелевских премий: Джон Кендрю и Макс Перуц (химия, 1962), Эндрю Хаксли (медицина, 1963) и Мартин Райл (физика, 1974) извлекли выгоду из революционной вычислительной мощности EDSAC. В своих приветственных речах каждый признал роль, которую EDSAC сыграла в их исследованиях.

В начале 1960-х Питер Суиннертон-Дайер использовал компьютер EDSAC для вычисления количества точек по модулю p (обозначенного N p ) для большого числа простых чисел p на эллиптических кривых, ранг которых был известен. Основываясь на этих численных результатах, Берч и Суиннертон-Дайер (1965) предположили, что N p для кривой E ранга r подчиняется асимптотическому закону, гипотезе Берча и Суиннертона-Дайера , считающейся одной из главных нерешенных проблем математики на 2016 год.

«Мозг» [компьютер] может однажды опуститься до нашего уровня [простых людей] и помочь в наших расчетах по подоходному налогу и бухгалтерскому учету. Но это домыслы, и пока об этом нет никаких признаков.

-  Британская газета The Star в новостной статье в июне 1949 года о компьютере EDSAC, задолго до эры персональных компьютеров. [23]

Игры [ править ]

В 1952 году Сэнди Дуглас разработал ОХО , версия крестики и крестов (крестики-нолики) для EDSAC, с графическим выходом к VCR97 6" электронно - лучевой трубки . Это может также быть в мире первый видеоигр . [24 ] [25]

Еще одна видеоигра была создана Стэнли Гиллом и включала точку (называемую овцой), приближающуюся к линии, в которой можно было открыть одно из двух ворот. [26] Игра Стэнли Гилла контролировалась с помощью светового луча устройства чтения бумажных лент EDSAC. [26] Прерывание его (например, когда игрок кладет в него руку) откроет верхние ворота. [26] Оставление луча неповрежденным приведет к открытию нижних ворот. [26]

Дальнейшее развитие [ править ]

Преемник EDSAC , EDSAC 2 , был введен в эксплуатацию в 1958 году.

В 1961 году Дэвид Хартли разработал EDSAC 2 версию Autocode , похожего на АЛГОЛ язык программирования высокого уровня для ученых и инженеров .

В середине 1960-х годов, был запланирован преемником EDSAC 2, но этот шаг был сделан , а не на Титане , прототип Atlas 2 , разработанной с Atlas Computer в Университете Манчестера , Ferranti и Плесси .

Проект реплики EDSAC [ править ]

Реплика EDSAC в октябре 2018 г.

13 января 2011 года Общество сохранения компьютеров объявило, что планирует построить рабочую копию EDSAC в Национальном музее вычислительной техники (TNMoC) в Блетчли-парке под руководством Эндрю Герберта , который учился у Мориса Уилкса. [27] Первые части отдыха были включены в ноябре 2014 года. [28] [29] Текущий проект открыт для посетителей музея. В 2016 году два первых оператора EDSAC, Маргарет Маррс и Джойс Уиллер , посетили музей, чтобы помочь проекту. [30]По состоянию на ноябрь 2016 г. ввод в эксплуатацию полностью завершенного и находящегося в рабочем состоянии реплики должен был произойти осенью 2017 г. [31] Однако из-за задержек с проектом его открытие отложено.

См. Также [ править ]

  • EDVAC, на котором была основана большая часть дизайна EDSAC
  • История вычислительной техники
  • Список вакуумных ламповых компьютеров
  • Маргарет Маррс

Ссылки [ править ]

  1. ^ Wilkes, WV ; Ренвик, В. (1950). «EDSAC (Электронный автоматический калькулятор хранения задержки)» . Математика. Комп . 4 (30): 61–65. DOI : 10.1090 / s0025-5718-1950-0037589-7 .
  2. ^ 1948 Manchester младенца компьютер предшествовала EDSAC как хранящая программу компьютер , но была построенаосновномкачестве испытательного стенда для трубы Williams , а не как машины для общего пользования. http://www.cl.cam.ac.uk/conference/EDSAC99/history.html . Тем не менее, Baby был разработан в виде практически полезного преемника, Manchester Mark 1 1949 года, который был доступен для общего пользования другими университетскими факультетами и Ферранти в апреле 1949 года, несмотря на то, что все еще находился в разработке; EDSAC впервые был запущен в мае 1949 года, но все еще находился в стадии разработки. «50 лет Манчестерскому детскому компьютеру» . Архивировано из оригинала 9 февраля 2014. Проверено 5 января 2014 года .
  3. ^ [1] Архивировано 7 декабря 2014 года в Wayback Machine.
  4. ^ "Компьютер Pioneer будет восстановлен". Кэм . 62 : 5. 2011.Чтобы быть точными, первая программа EDSAC напечатан список квадратов этих чисел от 0 до 99 включительно.
  5. ^ Джонс, Клифф Б .; Ллойд, Джон Л. (24 января 2012 г.). Надежные и исторические вычисления: очерки, посвященные Брайану Рэнделлу по случаю его 75-летия . Springer. п. 29. ISBN 9783642245411.
  6. ^ . Другие ранние вычислительные проблемы выполняются на EDSAC; некоторые характеристики компьютера. «9. EDSAC, Кембриджский университет, Англия» . Информационный бюллетень по цифровым компьютерам . 2 (1): 3. 1 января 1950 г.CS1 maint: другие ( ссылка )
  7. ^ EDSAC 99: 15-16 апреля 1999 (PDF) ., Кембриджский университет компьютерной лаборатории, 6 мая 1999, стр 68, 69 , получен 29 июня 2013
  8. ^ EDSAC Simulator - Компьютерфил
  9. ^ Кембриджский университет - Некоторая статистика EDSAC
  10. ^ a b Некоторая статистика EDSAC
  11. ^ EDSAC 1 и позже
  12. ^ EDSAC 1 и позже
  13. ^ EDSAC 1 и позже
  14. ^ Труды Кембриджского философского общества, том 49, часть 1, стр. 84-9
  15. ^ a b «EDSAC выполнил свои первые вычисления» . История вычислений . Проверено 23 ноября 2018 года .
  16. Raymond, Katrine (25 октября 2017 г.). «Беатрис Уорсли» . Канадская энциклопедия . Архивировано из оригинального 13 января 2018 года . Проверено 23 ноября 2018 года .
  17. ^ Профессор Дэвид Бэррон, почетный профессор Саутгемптонского университета на семинаре компьютерной лаборатории Кембриджа, посвященном 60-летнему юбилею, 6 мая 2009 г.
  18. ^ Описание трех дисплеев (счетчик, память и управление последовательностью):
    • «Два новых видеоролика EDSAC: экраны VDU EDSAC» . Национальный музей вычислительной техники . 11 декабря 2015.
  19. Turing 1945 , перепечатано в Copeland (2005), стр. 383.
  20. ^ Годдард, Джонатан (3 мая 2019 г.), 70 лет с момента появления первого компьютера, разработанного для повседневного практического использования , Департамент компьютерных наук и технологий Кембриджского университета
  21. ^ Частоты генов в клине, определяемые отбором и диффузией , Р. А. Фишер, Biometrics , Vol. 6, No. 4 (декабрь 1950), стр. 353–361.
  22. ^ Caldwell - наибольшие известные простые числа по годам В одной из ссылок упоминается Miller, JCP «Большие простые числа» (1951) Nature 168 (4280): 838, но в аннотации это не упоминается.
  23. ^ «Архивная копия» (PDF) . Архивировано из оригинального (PDF) 22 декабря 2015 года . Проверено 18 ноября +2016 . CS1 maint: заархивированная копия как заголовок ( ссылка )
  24. Перейти ↑ Cohen, DS (20 сентября 2014 г.). «OXO aka Noughts and Crosses - Первая видеоигра» . About.com . МАК . Архивировано 22 декабря 2015 года . Проверено 18 декабря 2015 .
  25. Перейти ↑ Wolf, Mark JP (16 августа 2012 г.). Энциклопедия видеоигр: культура, технологии и искусство игр . Издательская группа «Гринвуд» . С. 3–7. ISBN 978-0-313-37936-9.
  26. ^ a b c d Смит, Элви Рэй (9 июня 2015 г.). «Рассвет цифрового света». IEEE Annals of the History of Computing . 38 (4): 74–91. DOI : 10.1109 / MAHC.2015.51 . S2CID 10257358 . 
  27. Уорд, Марк (13 января 2011 г.). «Новаторский компьютер Edsac будет построен в Блетчли-парке» . BBC News . Проверено 13 января 2011 года .
  28. ^ Музей включает исторический компьютер
  29. ^ Хартли, Дэвид; Герберт, Эндрю (2013). Проект реплики EDSAC . Делая историю компьютеров актуальной . Достижения ИФИП в области информационных и коммуникационных технологий. 416 . 9 Текущее состояние , стр. 307-308. DOI : 10.1007 / 978-3-642-41650-7_27 . ISBN 978-3-642-41649-1.
  30. ^ «Внутри проекта по восстановлению EDSAC, одного из первых в мире компьютеров общего назначения» . zdnet.com . Дата обращения 24 мая 2020 .
  31. Палмер, Дэнни (24 ноября 2016 г.). «Внутри проекта по восстановлению EDSAC, одного из первых в мире компьютеров общего назначения» . Дата обращения 1 декабря 2016 .

Дальнейшее чтение [ править ]

  • Подготовка программ для электронного цифрового компьютера профессорами сэром Морисом Уилксом , Дэвидом Уилером и Стэнли Гиллом , Эддисон – Уэсли , издание 1, 1951 г. archive.org
  • 50 лет EDSAC  - специальный веб-сайт компьютерной лаборатории Кембриджского университета .
  • Берч, Брайан ; Суиннертон-Дайер, Питер (1965). «Заметки об эллиптических кривых (II)». J. Reine Angew. Математика. 165 (218): 79–108. DOI : 10,1515 / crll.1965.218.79 . S2CID  122531425 .
  • Уилкс, М.В.; Ренвик, В. (1950). «EDSAC (Электронный автоматический калькулятор хранения задержки)» . Математика вычислений . 4 (30): 61–65. DOI : 10.1090 / S0025-5718-1950-0037589-7 . ISSN  0025-5718 .
  • Коупленд, Б.Дж. , изд. (2005), Автоматическая вычислительная машина Алана Тьюринга , Оксфорд: Oxford University Press, ISBN 0-19-856593-3
  • Тьюринг, Алан М. (1945), Отчет д-ра А. М. Тьюринга о предложениях по разработке автоматического вычислительного механизма (ACE): представлен Исполнительному комитету NPL в феврале 1946 г.перепечатано в Copeland 2005 , pp. 369–454.

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

  • Симулятор EDSAC  - разработан Мартином Кэмпбелл-Келли , факультет компьютерных наук, Уорикский университет , Англия.
  • Устная история интервью с Дэвидом Wheeler, 14 мая 1987 года . Институт Чарльза Бэббиджа , Университет Миннесоты. Уиллер был студентом-исследователем в университетской математической лаборатории в Кембридже с 1948 по 51 год и одним из первых программистов в проекте EDSAC. Уилер обсуждает проекты, которые выполнялись на EDSAC, методы ориентированного на пользователя программирования и влияние EDSAC на ILLIAC , ORDVAC и IBM 701 . Уиллер также отмечает визиты Дугласа Хартри , Нельсона Блэкмана (из ONR), Питера Наура , Аада ван Вейнгардена , Артура ван дер Поэля , Фридриха Бауэра иЛуи Куффиньяль .
  • Николас Энтикнап и Морис Уилкс, Золотой юбилей Кембриджа  - в: RESURRECTION Бюллетень Общества сохранения компьютеров. ISSN 0958-7403 . Номер 22, лето 1999.