Введение
Тип компьютера с вакуумными лампами
Pegasus — ранний британский компьютер с вакуумными лампами (лампами), созданный компанией Ferranti, Ltd, который впервые применил конструктивные решения, призванные облегчить работу как инженеров, так и программистов. Изначально он назывался Ferranti Package Computer, поскольку его аппаратная конструкция была основана на Elliott 401 с использованием модульных подключаемых блоков. Большая часть разработки была результатом работы трех человек: У. С. (Билла) Эллиотта (аппаратное обеспечение), Кристофера Стречи (программное обеспечение) и Бернарда Сванна (маркетинг и клиентская поддержка). Это был самый популярный ламповый компьютер Ferranti, было продано 38 экземпляров. Первый Pegasus был поставлен в 1956 году, а последний — в 1959 году. Ferranti получила финансирование на разработку от Национальной корпорации по исследованиям и развитию (NRDC). Сохранилось как минимум два компьютера Pegasus: один находится в Музее науки в Лондоне, а другой, который выставлялся в Музее науки и промышленности в Манчестере, теперь перемещен на хранение в архивы Музея науки в Врогтоне. Pegasus в Музее науки в Лондоне выполнил свою первую программу в декабре 1959 года и регулярно демонстрировался до 2009 года, когда произошла серьезная электрическая неисправность. В начале 2014 года Музей науки принял решение окончательно вывести его из эксплуатации, фактически завершив жизненный цикл одного из старейших в мире рабочих компьютеров. Pegasus официально считался старейшим в мире компьютером до 2012 года, когда в Национальном музее вычислительной техники была завершена реставрация компьютера Харвелла.
Дизайн
В те дни было обычным делом, когда было неясно, вызвана ли ошибка аппаратным обеспечением или программой. В результате Кристофер Стречи из NRDC, сам блестящий программист, рекомендовал следующие цели проектирования: необходимость в оптимальном программировании (которое поощрялось Аланом Тьюрингом) должна была быть сведена к минимуму, «потому что оно имело тенденцию превращаться в бесполезное интеллектуальное хобби программистов». Потребности программиста должны были быть определяющим фактором при выборе набора команд. Машина должна была быть дешевой и надежной. Первая цель была достигнута лишь частично: поскольку как программа, так и данные, на которых она должна была работать, должны были помещаться в 128 словах первичной памяти, реализованной на 8 словах никелевых линий задержки. Остальная часть памяти хранилась на магнитном барабане емкостью 7936 слов, который вращался со скоростью 3750 оборотов в минуту, поэтому часто требовалось проявлять изобретательность, чтобы уменьшить количество передач между быстрой памятью и барабаном. Pegasus имел восемь аккумуляторов, семь из которых также могли использоваться в качестве индексных регистров – это был первый компьютер, позволявший такое двойное использование. Аккумуляторы 6 и 7 были известны как p и q и использовались в операциях умножения и деления, а также в некоторых командах двойного сдвига. Каждое слово содержало 39 бит плюс 1 бит для проверки четности. В одно слово помещались две 19-битные инструкции, а дополнительный бит можно было использовать для указания точки останова (необязательная остановка) для облегчения отладки. В соответствии со второй целью Стречи, компьютер имел относительно богатый набор команд для своего времени, но не было специальной аппаратной поддержки для работы с символами или числами с плавающей запятой. Скорость арифметических операций была примерно такой же, как у компьютера Elliott 402, который мог выполнять сложение за 204 микросекунды и умножение за 3366 микросекунд. Базовое время цикла выполнения инструкций Pegasus для сложения/вычитания/перемещения и логических операций составляло 128 микросекунд. Операции умножения, деления, выравнивания и сдвига занимали переменное время на выполнение. Передача данных на барабан и с барабана осуществлялась синхронно. Расположение блоков на барабане было чередующимся, что позволяло выполнять некоторую обработку между передачами в/из последовательных блоков. Насколько была достигнута третья цель Стречи, зависит от того, как оценивать цену в 50 000 фунтов стерлингов за Pegasus 1, который не имел магнитных ленточных накопителей, строчного принтера или устройств ввода-вывода на перфокартах. Однако модульная конструкция с подключаемыми аппаратными блоками делала его очень надежным по меркам того времени, а обслуживание было «несложной задачей». Во второй год эксплуатации, в 1958–1959 годах, Pegasus в Королевском колледже (в составе университета Дарема) в Ньюкасле-апон-Тайне демонстрировал типичную надежность более 98%, а общую надежность – 95,4%.
The necessity for optimum programming (favoured by Alan Turing) was to be minimised, "because it tended to become a time wasting intellectual hobby of the programmers". The needs of the programmer were to be a governing factor in selecting the instruction set. It was to be cheap and reliable. The first objective was only partially met: because both program and the data on which it was to operate had to be in the 128 words of primary storage contained in 8 word nickel delay lines. The rest of the memory was held on a 7936 word magnetic drum, which rotated at 3750 rpm, so it was often necessary to use ingenuity to reduce the number of transfers between the fast store and the drum. Pegasus had eight accumulators, seven of which could also be used as index registers, the first computer to allow this dual use. Accumulators 6 and 7 were known as p and q and were involved in multiply and divide and some double length shift instructions. Each word contained 39 bits plus 1 bit for parity checking. Two 19 bit instructions were packed into one word, with the extra bit that could be used to indicate a breakpoint (optional stop), to assist in debugging. In line with Strachey's second objective, it had a relatively generous instruction set for a computer of its time, but there was no explicit hardware provision for handling either characters or floating point numbers. The speed of arithmetic operations was about the same as in the Elliott 402 computer, which could add in 204 microseconds and multiply in 3366 microseconds. The Pegasus basic instruction cycle time for add/subtract/move and logical instructions was 128 microseconds. Multiply, divide, justify and shift instructions took a variable time to complete. Transfers to and from the drum were synchronous. The layout of blocks on the drum was interleaved to allow some processing between transfers to/from consecutive blocks. The computer was advertised as weighing
To what extent Strachey's third objective was reached, depends on how one views a price of £50,000 for Pegasus 1, which did not have magnetic tape drives, line printer or punched card input and output. The modular design with plug in units of hardware did, however, make it very reliable by the standards of the day, and maintenance was "a doddle of a job". In its second year of use in 1958–9, the Pegasus at King's College (part of Durham University) in Newcastle upon Tyne had a typical reliability in excess of 98%, and 95.4% overall.
Приложения
Первоначальная версия Пегаса, Пегас 1, предназначалась для научных и инженерных расчетов. Ввод осуществлялся с помощью перфоленты с пятью отверстиями, а вывод – на ленту. Вариант для обработки деловых данных назывался Пегас 2 и мог быть оснащен перфокартами, магнитной лентой и строчным принтером. В 1956 году первый Пегас был использован для расчета напряжений и деформаций хвостового оперения самолета Saunders Roe SR.53; результаты были использованы для проверки расчетов производителя; программистом была Энн Робсон. Ввиду важности компьютера, он был размещен в гостиной лондонского офиса Ferranti на Портленд-Плейс, с сохранившимся потолком работы Адама. Пегас 1 был установлен в Cyber House в Шеффилде Стаффордом Биром для использования компанией United Steel. Это был первый компьютер, установленный для задач управления на основе кибернетики. Компьютер Пегас в Саутгемптонском университете использовался для анализа данных о колебаниях на земле для вертолета Saro P.531, который впоследствии был запущен в производство под названиями Westland Scout и Westland Wasp. В 1957 году на компьютере Пегас было вычислено 7480 знаков числа π, что являлось рекордом на тот момент. В 1959 году компания Handley Page Ltd разместила объявление о поиске опытных программистов Пегас для работы в своей команде авиационного проектирования в Криклвуде, Лондон.
В Университете Лидса был компьютер Пегас, которым руководил Сэнди Дуглас. Он использовался, в частности, для проекта по обработке данных о зачислении студентов. Среди других специалистов, работавших с Пегасом, были Хью Макгрегор Росс и Дональд Б. Гиллис.