EDSAC

редактировать
Британский компьютер 1940-1950-х годов

Автоматический калькулятор электронного хранения задержки (EDSAC)
EDSAC (19).jpg EDSAC I в июне 1948 года
РазработчикМорис Уилкс и его команда из математической лаборатории Кембриджского университета
Поколение1
Дата выпуска6 мая 1949 г.; 71 год назад (1949-05-06)
Срок службы1949–1958
Снято с производствада
Отгружено блоков1
ЦП С пониженными характеристиками вакуумные лампы
Память512 18-битных слов (Ртутные линии задержки )
ДисплейТелетайп
Входс пятью отверстиями перфолента
Power11 kW
ПреемникEDSAC 2 и LEO I

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

Позже проект был поддержан J. Lyons Co. Ltd., британской фирмой, которая была награждена первым коммерчески применяемым компьютером LEO I, основанным на дизайне EDSAC.. Работа над ЭЦП AC стартовал в 1947 году, а свои первые программы он запустил 6 мая 1949 года, когда он вычислил таблицу квадратных чисел и список простых чисел. EDSAC был окончательно закрыт 11 июля 1958 года, его заменил EDSAC 2, который использовался до 1965 года.

Содержание

  • 1 Технический обзор
    • 1.1 Физические компоненты
    • 1.2 Память и инструкции
    • 1.3 Системное программное обеспечение
    • 1.4 Техника программирования
    • 1.5 Прикладное программное обеспечение
  • 2 Приложения EDSAC
    • 2.1 Игры
  • 3 Дальнейшие разработки
  • 4 Проект EDSAC Replica
  • 5 См. Также
  • 6 Ссылки
  • 7 Дополнительная литература
  • 8 Внешние ссылки

Технический обзор

Физические компоненты

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

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

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

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

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

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

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

Память и инструкции

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

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

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

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

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

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

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

Системное программное обеспечение

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

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

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

Техника программирования

EDSAC пульт мониторинга

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

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

Прикладное программное обеспечение

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

Приложения EDSAC

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

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

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

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

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

Игры

В 1952 году Сэнди Дуглас разработал OXO, версию крестиков-ноликов (крестики-нолики) для EDSAC с графическим выводом на видеомагнитофон97. 6 "электронно-лучевая трубка. Это вполне могла быть первая видеоигра в мире.

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

Дальнейшие разработки

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

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

В середине 1960-х, преемник EDSAC 2 планировалось, но вместо этого был сделан переход на Titan, прототип Atlas 2, разработанный на основе Atlas Computer из Манчестерского университета, Ферранти. и Plessey.

Проект реплики EDSAC

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

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

См. Также

Ссылки

Дополнительная литература

Внешние ссылки

Викискладе есть медиафайлы, связанные с EDSAC.
Последняя правка сделана 2021-05-18 14:43:21
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте