DEUCE ( Digital Electronic Универсальный Computing Engine ) был один из самых ранних британских коммерчески доступных компьютеров , построенный английской Electric с 1955 года [1] Это была серийная версия Pilot ACE , сама урезанной версии Алана Тьюринга «с ACE .
Также известен как | Цифровая электронная универсальная вычислительная машина |
---|---|
Производитель | Английский Электрик |
Дата выпуска | 1955 г. |
Снято с производства | 1964 г. |
Отгружено единиц | 33 |
Процессор | термоэмиссионный клапан на основе |
объем памяти | ртутные линии задержки 384 32-битных слова (Mark I и Mark II) 608 32-битных слов (Mark IIA) |
Место хранения | Магнитный барабан на 8192 слов |
Отображать | 2 × ЭЛТ |
Предшественник | Пилот ACE |
Описание оборудования
DEUCE имел 1450 термоэмиссионных клапанов и использовал ртутные линии задержки для своей основной памяти ; каждая из 12 линий задержки может хранить 32 инструкции или слова данных по 32 бита каждая. Он адаптировал тогда высокую тактовую частоту Pilot ACE в 1 мегагерц . Ввод / вывод осуществлялся через перфокарточное оборудование Hollerith на 80 столбцов. Считыватель считывал карты со скоростью 200 карт в минуту, в то время как скорость перфорации карт составляла 100 карт в минуту. DEUCE также имел магнитный барабан на 8192 слова для основной памяти. Для доступа к любой из 256 дорожек из 32 слов барабан имел одну группу из 16 считывающих головок и одну группу из 16 записывающих головок, причем каждая группа находилась на независимых подвижных рычагах, каждая из которых могла перемещаться в одно из 16 положений. Время доступа составляло 15 миллисекунд, если головки уже были на месте; дополнительные 35 миллисекунд требовались, если нужно было перемещать головки. При чтении и записи на барабан не было задержки вращения. Данные передавались между барабаном и одной из 32-словных линий задержки.
DEUCE мог быть оснащен оборудованием для бумажной ленты ; скорость считывателя составляла 850 символов в секунду, а скорость вывода на бумажную ленту - 25 символов в секунду. (В 1964 году к DEUCE Университета Нового Южного Уэльса {UTECOM} был подключен телетайп Siemens M100, обеспечивающий ввод / вывод 10 символов в секунду). Также можно было прикрепить магнитные ленты Decca. Автоматический умножитель и делитель работали асинхронно (то есть другие инструкции могли выполняться во время работы умножителя / делителя). Для целочисленных операций были предусмотрены два арифметических устройства: один 32-битный, а другой способный выполнять 32-битные операции и 64-битные операции. Автоинкремент и автоуменьшение были обеспечены для восьми регистров примерно с 1957 года. Были разрешены арифметические операции с массивами и их передача. По сравнению с современниками, такими как Manchester Mark 1 , DEUCE был примерно в десять раз быстрее.
Отдельные слова четверных регистров были связаны с функцией автоматического увеличения / уменьшения. Это средство можно использовать для подсчета и изменения инструкций (для индексации, управления циклом и для изменения адреса источника или назначения инструкции). [2]
Поскольку это машина с последовательным интерфейсом, время доступа к одному регистру составляло 32 микросекунды, к двойному регистру - 64 микросекунды, а к учетному регистру - 128 микросекунд. Это для линии задержки 1024 микросекунды.
Время выполнения команд: сложение, вычитание, логические операции: 64 микросекунды для 32-битных слов; с двойной точностью 96 микросекунд; умножение и деление 2 миллисекунды. Для арифметических операций с массивами и операций передачи время на слово составляло 33 микросекунды на слово для 32 слов.
Операции с плавающей запятой обеспечивались программным обеспечением; раз: 6 миллисекунд для сложения и вычитания, в среднем 5½ миллисекунд для умножения и в среднем 4½ миллисекунды для деления.
В ранних машинах все инструкции, касающиеся магнитного барабана, блокировались во время выполнения операции. Таким образом, если считывающие головки были перемещены, любая последующая магнитная операция, такая как считывание дорожки или запись дорожки, не могла продолжаться до тех пор, пока первая не будет завершена. Примерно с 1957 года появился новый блок, названный «рационализированный магнетизм». Этот блок устранил ненужные блокировки. Таким образом, можно было выполнить инструкцию, которая перемещала считывающие головки: если за ней следовала инструкция для перемещения записывающих головок или записи дорожки, такие инструкции не блокировались и могли выполняться параллельно с перемещением считывающих головок. [3]
На передней панели DEUCE было два ЭЛТ- дисплея: один отображал текущее содержимое регистров, а другой отображал содержимое любого из хранилищ ртутной линии задержки.
Примерно с 1958 года можно было подключить семь дополнительных линий задержки, что давало еще 224 слова высокоскоростного магазина. Комбинированный ридер-перфоратор IBM 528 можно было заменить оборудование Hollerith, давая те же скорости ввода / вывода, и в этом случае машина получила название Mark II. Автоматическое преобразование буквенно-цифровых данных в BCD было обеспечено на входе и обратная операция на выходе для всех восьмидесяти столбцов карточек. На этом оборудовании чтение и перфорация могут выполняться одновременно, если требуется, и, таким образом, могут использоваться для чтения в записи, ее обновления, а затем перфорации обновленной записи одновременно с чтением следующей записи. С семью дополнительными линиями задержки DEUCE получил обозначение Mark IIA.
Программное обеспечение
Основными языками программирования высокого уровня были GEORGE (Генератор общего порядка), [4] [5] [6] [7] ALPHACODE, STEVE, TIP, GIP, [8] и ALGOL . [9] В состав переводчиков языка ассемблера входили ZP43 и STAC. [10]
Изобретенный Чарльзом Леонардом Хэмблином в 1957 году, GEORGE был наиболее близок к современным языкам программирования. [4] [5] Используется обратная польская нотация . Например, чтобы оценить e = ay 2 + по + c, нужно написать
ay dup × × на × + c + (e).
где «dup» дублирует предыдущую запись, то же самое, что использовать здесь «y».
GEORGE предоставил 12-позиционный аккумулятор в виде выдвижной стопки. Использование имени переменной в программе (например, 'd') переносило значение переменной 'd' в аккумулятор (т.е. помещало d в верхнюю часть стека), при этом имя заключалось в круглые скобки {например, (d )} присваивает переменной 'd' значение наверху стека (аккумулятора). Чтобы уничтожить (выскочить и отбросить) значение в верхней части стека, использовалась точка с запятой (;). Следующая программа GEORGE считывает десять чисел и печатает их квадраты:
1, 10 повторений (i) читать dup × ударить кулаком ;]
В приведенной выше программе команда «dup» дублировала верхнюю часть стека, так что наверху стека было две копии значения. [6]
GIP (General Interpretive Program) - это управляющая программа для управления программами, называемыми «кирпичиками». Его основная услуга заключалась в запуске программ из нескольких сотен в библиотеке линейной алгебры DEUCE . Подготовка такой программы включала выбор необходимых кирпичей (на перфокартах), копирование их и GIP в воспроизводящий пуансон и сборку копий в колоду карт. Затем будут написаны простые кодовые слова, чтобы использовать блоки для выполнения таких задач, как: умножение матриц; инверсия матриц; почленная матричная арифметика (сложение, вычитание, умножение и деление); решение одновременных уравнений; Вход; и вывод. Размеры матриц никогда не указывались в кодовых словах. Размеры были взяты из самих матриц, либо с карты, предшествующей картам данных, либо из матриц, хранящихся на барабане. Таким образом, программы были полностью общими. После написания такая программа обрабатывала матрицы любого размера (разумеется, вплоть до емкости барабана). [11] Короткая программа для чтения матрицы с карточек, транспонирования матрицы и вывода результатов на карточки требует следующих кодовых слов:
0, 0, 5, 15, 0, 120, 2120, 0, 0, 3
В каждом из кодовых слов четвертое число - это номер кирпича. Первое кодовое слово указывает, что матрица считывается с карт и сохраняется по адресу барабана 5; второе кодовое слово указывает, что матрица по адресу барабана 5 транспонируется, и результат сохраняется по адресу 120 барабана; и третий удары по картам.
STAC был макроассемблером. Большинство инструкций были записаны в форме передачи в десятичном формате, например 13–16, что означает копирование слова из регистра 13 в регистр 16. Местоположение инструкции не было указано. STAC назначил инструкцию слову в линии задержки и вычислил шесть компонентов двоичной инструкции. Он разместил следующую инструкцию в оптимальном месте, чтобы она выполнялась, как только предыдущая инструкция была завершена, если это возможно.
Следующая программа считывает значение n, а затем считывает n двоичных целых чисел. Он вычеркивает целое число и его квадрат. Комментарии в нижнем регистре объясняют инструкцию.
1.0 12-24 запускаем кардридер. Расположение программы указано как 1.0. 0-13X считывает одно число (n) с кардридера. Буква X заставляет компьютер ждать до тех пор, пока первая строка карты не поступит на станцию считывания.R2 12-24 запускает или перезапускает кардридер. 0-16X считайте одно число для возведения в квадрат, сохраните его в регистре множителя. 9-24 остановите кардридер. 16-21.3 скопируйте число в регистр множимого. 30-21.2 очищает младшие биты регистра умножаемого. MULT 10-24 запускают перфорацию карты. 21.2-29X отправить квадрат на перфорацию карты. 9-24 остановите перфорацию карты. 27-26 декремент n. 13-28 Тест R1 на ноль. Переход от нуля к R1; ветвь ненулевой к R2.R1 1-1X остановка; программа завершена.
STAC создаст следующие инструкции (в дополнение к двоичной программе). Расположение каждой инструкции в памяти показано слева.
1.0 12-241,2 0-13X1,4 12-241,6 0-16X1,8 9-241,10 16–21,31,13 30–21,21.16 0-24 ждать 11.18 1-1 подождите 11,20 10-241,22 21,2–29X1,24 9-241,26 27-261,28 13-28 1,31,3 1-1X
Числа ожидания и времени не показаны, за исключением умножения.
Программирование
Программирование DEUCE отличалось от других компьютеров. Последовательный характер линий задержки требовал, чтобы инструкции были упорядочены таким образом, чтобы, когда одна инструкция завершила выполнение, следующая была готова выйти из линии задержки. Для операций с отдельными регистрами самое раннее время, когда можно было выполнить следующую инструкцию, было через 64 микросекунды после текущей. Таким образом, инструкции не выполнялись из последовательных мест. Как правило, инструкции могут передавать одно или несколько слов. Следовательно, каждая инструкция указывала местоположение следующей инструкции. Оптимальное программирование означало, что по мере выполнения каждой инструкции следующая только выходила из линии задержки. Расположение инструкций в хранилище может сильно повлиять на производительность, если расположение инструкции не было оптимальным.
Считывание данных с кардридера происходило в режиме реального времени - каждую строку нужно было читать, когда она проходила через считывающие кисти, без остановки. Аналогично для перфорации карты; слово для определенного ряда было подготовлено заранее и должно было быть готово, когда данный ряд карты окажется в положении под ножами перфоратора. Обычный режим чтения и перфорации был бинарным. Десятичный ввод и вывод производился с помощью программного обеспечения.
Высокоскоростное хранилище состояло из четырех регистров одного слова по 32 бита каждый, трех регистров двойного слова и двух регистров четверного слова. Каждое 32-битное слово регистров двойных и четверных слов могло быть адресовано отдельно. К ним также можно было обращаться как к паре, а в случае учетверенных регистров - как к группе из трех или четырех. Хранилище команд состояло из двенадцати ртутных линий задержки, каждая из 32 слов, пронумерованных от 1 до 12. Линия задержки 11 (DL11) служила буфером между магнитным барабаном и высокоскоростным хранилищем. Будучи «машиной передачи», данные могут передаваться по слову за раз, по паре слов за раз и любое количество слов до 33 за раз. Таким образом, например, 32 слова, считанные с барабана, могут быть переданы как блок на любую из других линий задержки; четыре слова могут быть переданы как блок из одного учетверенного регистра в другой или между учетверенным регистром и линией задержки - все с помощью одной инструкции. 32 слова линии задержки можно суммировать, передав их сумматору одинарной длины (с помощью одной инструкции). [12]
Посредством специальной связи между DL10 и одним регистром, а именно регистром 16, DL10 может использоваться как выталкивающий стек.
Производство
Первые три машины были поставлены весной 1955 года; в конце 1958 года появилась улучшенная модель DEUCE Mark II . В этой версии использовались комбинированный кардридер и перфоратор. Комбинированные считыватель и перфоратор IBM 528 вели себя как отдельные устройства Hollerith на более ранних машинах DEUCE Mark I; однако он также был снабжен аппаратным преобразованием буквенно-цифровых данных в BCD на входе и наоборот на выходе. Данные также могут считываться и перфорироваться одновременно со скоростью 100 карт в минуту. DEUCE Mark IIA предусмотрены семь дополнительных линии задержки ртути, каждый из 32 слов.
В период с 1955 по 1964 год было продано в общей сложности 33 машины DEUCE, две из которых были приобретены производителем двигателей Bristol Siddeley . [13]
Успех DEUCE был обусловлен ее программной библиотекой, содержащей более 1000 программ и подпрограмм. [14]
Характеристики оборудования
DEUCE Mark 0 и I:
Тактовая частота 1 МГцРазмер слова 32 битаСкоростной магазин 378 словАрифметика: один 32-битный аккумулятор; один 64-битный аккумулятор, который может использоваться также как два 32-битных аккумулятора. сложение / вычитание 64 микросекунды одиночной длины, 96 микросекунд с двойной точностью Добавление числа одинарной длины к числу двойной длины, с автоматическим расширением знака, 64 микросекунды. умножение 2088 микросекунд деление 2112 микросекундмагнитный барабан 8192 слова отдельные головки чтения и записи Время чтения трека 15 мс Время смены головы 35 мсскорость кардридера 200 карт в минутускорость перфорации 100 карт в минутускорость чтения бумажной ленты 850 символов в секунду лента: 5, 7, 8-рядная лента. время остановки: ½ миллисекунды (мс) время начала 20 миллисекундскорость перфорации бумажной ленты 25 символов в секунду лента: 5 или 7 рядовПрограммное обеспечение с плавающей точкой (среднее время): сложение / вычитание 6 мс умножение 5½ мс деление 4½ мс
DEUCE MARK II:
Что касается DEUCE Mark I. Комбинированный картридер и перфоратор IBM 528 могли читать карты со скоростью 200 карт в минуту и перфорировать со скоростью 100 карт в минуту. При одновременном запуске считыватель и перфоратор работали со скоростью 100 карт в минуту. Обеспечено автоматическое преобразование в и из 6-битных символов. Этот режим был в дополнение к программному преобразованию, предоставленному Mark I DEUCE.
DEUCE MARK IA И IIA:
Как и выше, с 7 дополнительными линиями задержки, обеспечивающими высокоскоростное хранение 224 слов.
Примечания: множитель и делитель были асинхронными. Несколько целых чисел можно умножать, вставляя целые числа в множитель или множимое во время умножения, а также извлекая результаты во время умножения. Другие специальные эффекты включали подсчет битов в слове и преобразование двоично-десятичного числа (BCD) в двоичное. То же самое и с делением, которое можно использовать для преобразования целых чисел в двоично-десятичные числа (BCD), а также для преобразования фунтов, шиллингов и пенсов в пенсы.
Смотрите также
Рекомендации
- ↑ Copeland, B. Jack (24 мая 2012 г.). Электронный мозг Алана Тьюринга: борьба за создание ACE, самого быстрого компьютера в мире . ОУП Оксфорд. С. 4, 164, 327. ISBN 9780199609154.
- ^ DG Burnett-Hall & PA Samet, "Руководство по программированию для компьютера DEUCE", Королевское авиастроительное учреждение, Министерство авиации, Лондон (Англия), апрель 1959 г., Техническая записка MS38.
- ^ DEUCE в NPL намеренно не обновлялся, а DEUCE в Университете Нового Южного Уэльса не обновлялся до 1963 года.
- ^ а б Хэмблин, Чарльз Леонард (май 1957 г.). Схема безадресного кодирования, основанная на математической нотации (машинописный текст). Технологический университет Нового Южного Уэльса .
- ^ а б Хэмблин, Чарльз Леонард (июнь 1957 г.). «Схема безадресного кодирования, основанная на математической нотации». Труды Первой австралийской конференции по вычислениям и обработке данных . Солсбери, Южная Австралия: Центр исследования оружия .
- ^ а б Хэмблин, Чарльз Леонард (1958). GEORGE IA и II: Схема полупереводного программирования для DEUCE: Руководство по программированию и эксплуатации (PDF) . Школа гуманитарных наук, Университет Нового Южного Уэльса, Кенсингтон, Новый Южный Уэльс. Архивировано 4 апреля 2020 года (PDF) . Проверено 27 июля 2020 .
- ^ Борода, Боб (осень 1997 г.) [1996-10-01]. «Компьютер KDF9 - 30 лет спустя» (PDF) . Воскресение - Бюллетень Общества Сохранения Компьютеров . № 18. Общество сохранения компьютеров (CCS). С. 7–15. ISSN 0958-7403 . Архивировано 27 июля 2020 года (PDF) . Проверено 27 июля 2020 .
[…] KDF9 примечателен тем, что считается первым компьютером с форматом команд с нулевым адресом, о котором было объявлено (в 1960 году). Впервые он был доставлен примерно в то же время (начало 1963 года), что и другой известный компьютер с нулевым адресом, Burroughs B5000 в Америке. Как и многие современные карманные калькуляторы, машина с нулевым адресом позволяет использовать обратную польскую арифметику; это дает определенные преимущества разработчикам компиляторов. Считается, что внимание команды English Electric было впервые привлечено к концепции нулевого адреса благодаря контакту с GEORGE (General Order Generator), языком программирования высокого уровня, написанным для компьютера DEUCE Чарльзом Хамблином из Университета Нового Южного Уэльса. of Technology , Австралия, в 1957 году. GEORGE использовал Reversed Polish , и команда KDF9 была привлечена к этому соглашению по прагматической причине, желая повысить производительность за счет минимизации доступа к основному магазину. Это можно противопоставить более "теоретической" линии, взятой независимо Берроузом . Помимо аппаратного хранилища или стека вложенности - основного механизма компьютера с нулевым адресом - KDF9 имел другие группы центральных регистров для повышения производительности, которые придавали ему интересную внутреннюю структуру. […]
[1] (NB. Это отредактированная версия выступления Северо-Западной группы общества в Музее науки и промышленности, Манчестер, Великобритания, 01.10.1996.) [Цитата исправлена 23 апреля 2021 г.] - ^ Робинсон, К. (1 апреля 1959 г.). "Программы перевода DEUCE" . Компьютерный журнал . 1 (4): 172–176. DOI : 10.1093 / comjnl / 1.4.172 . ISSN 0010-4620 .
Аннотация: В этой статье описываются основные особенности (i) общей интерпретирующей программы, (ii) табличной интерпретирующей программы и (iii) Alphacode, которые являются интерпретирующими программами, которые наиболее широко используются при решении проблем на DEUCE. Сравниваются и противопоставляются характеристики этих трех схем.
- ^ Брайан Рэнделл и LJ Рассел, "DEUCE Алгол", Доклад W / AT 844, Отдел атомной энергии, английский Electric Co., точильный, Лестер, Англия, 1962 февраля
- ^ Библиотечная служба DEUCE, "Руководство по программированию DEUCE STAC", English Electric Co., Ltd, Kidsgrove, Staffs, England, c. 1960 г.
- ^ Deuce Library Service "DEUCE Общего Interpretive программа", 2й изд., Английский Electric Company Limited, Kidsgrove, Штабы, Англия, гр. 1963 г.
- ^ «Руководство по программированию DEUCE 'English Electric'», The English Electric Company Limited, май 1956 г., публикация № NS-y-16.
- ^ Доу, Эндрю (20 августа 2009 г.). Пегас, Сердце Харриера: история и разработка первого в мире рабочего реактивного двигателя с вертикальным взлетом и посадкой . Перо и меч. п. 186. ISBN. 9781473817142.
- ↑ Copeland, BJ, ed., Automatic Computing Engine Алана Тьюринга, Oxford: Oxford University Press, 2005, ISBN 0-19-856593-3
Внешние ссылки
- Устное интервью истории с Дональдом У. Дэвисом , Институт Чарльза Бэббиджа , Университет Миннесоты. Дэвис описывает компьютерные проекты в Национальной физической лаборатории Великобритании , от проектной работы Алана Тьюринга в 1947 году до разработки двух компьютеров ACE . Дэвис обсуждает гораздо более крупный второй компьютер ACE и решение о заключении контракта с English Electric Company на создание компьютера DEUCE, который он называет первым коммерчески производимым компьютером в Великобритании.
- «Двойка» , статья 1955 года о полете на «Двойке».
- «Английский электрический компьютер DEUCE» . users.tpg.com.au .