Введение

Один из первых компьютеров, построенных в Соединенном Королевстве, Pilot ACE (Automatic Computing Engine) был одним из первых компьютеров, созданных в Великобритании. Построенный в Национальной физической лаборатории (NPL) в начале 1950-х годов, он также являлся одним из первых компьютеров с хранимой программой общего назначения – наряду с другими британскими разработками, такими как Manchester Mark 1 и EDSAC той же эпохи. Это была предварительная версия полноценного ACE, разработанная Аланом Тьюрингом, который покинул NPL до завершения строительства.

История

Pilot ACE был построен на основе упрощенной версии оригинального проекта ACE Тьюринга. После ухода Тьюринга из NPL (отчасти из-за разочарования отсутствием прогресса в создании ACE), проект возглавил Джеймс Х. Уилкинсон. В разработке участвовали Дональд Дэвис, Гарри Хаски и Майк Вудгер. Pilot ACE выполнил свою первую программу 10 мая 1950 года, а в ноябре 1950 года был продемонстрирован прессе. Изначально задуманный как прототип, он быстро зарекомендовал себя как потенциально полезный ресурс, особенно учитывая недостаток других вычислительных устройств в то время. После ряда модернизаций, сделавших его практичным в эксплуатации, он был введен в строй в конце 1951 года и успешно использовался в течение нескольких последующих лет. Одной из причин полезности Pilot ACE была его способность выполнять арифметику с плавающей точкой, необходимую для научных расчетов. Уилкинсон рассказывает историю о том, как это произошло. При первом создании у Pilot ACE отсутствовали аппаратные средства для умножения и деления, в отличие от других компьютеров того времени. (Аппаратное умножение было добавлено позднее.) Pilot ACE изначально использовал умножение и деление с фиксированной точкой, реализованные программно. Вскоре стало очевидно, что арифметика с фиксированной точкой – неудачное решение, поскольку числа быстро выходили за допустимый диапазон. Для перевода на арифметику с плавающей точкой потребовалось немного времени и новая программная разработка. После этого Джеймс Уилкинсон стал экспертом в этой области и написал книгу об ошибках округления при вычислениях с плавающей точкой, которая впоследствии имела успех. В Pilot ACE использовалось около 800 вакуумных ламп. Его основная память состояла из ртутных линий задержки с первоначальной емкостью 128 слов по 32 бита каждое, которая впоследствии была увеличена до 352 слов. В 1954 году была добавлена барабанная память на 4096 слов. Его базовая тактовая частота, 1 мегагерц, была самой высокой среди ранних британских компьютеров. Время выполнения инструкций сильно зависело от их расположения в памяти (из-за использования линий задержки). Сложение могло занимать от 64 до 1024 микросекунд. Машина оказалась настолько успешной, что английская компания English Electric Company создала и продавала ее коммерческую версию под названием DEUCE. Pilot ACE был выведен из эксплуатации в мае 1955 года и передан в Музей науки, где он находится и сегодня.

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

Установка магнитного барабана в 1954 году открыла путь к разработке управляющей программы для выполнения программ, работающих с матрицами. По настоянию Дж. М. Хана из Британской авиационной корпорации, Брайан У. Мундей разработал Общую интерпретационную программу (GIP), для запуска которой требовались лишь простые кодовые слова для работы с набором программ, называемых "кирпичами". Каждый "кирпич" мог выполнять отдельную задачу, такую как решение системы линейных уравнений, инвертирование матрицы или умножение матриц. Хотя сама по себе эта концепция не была новой, GIP отличался простотой кодовых слов, которые не определяли размеры матриц. Размеры брались из матрицы, хранящейся на барабане, где вторым и третьим элементами хранились границы. При перфорации матрицы на картах границы указывались в качестве первых двух элементов. Таким образом, после написания программы она могла автоматически работать с матрицами разных размеров без необходимости ее изменения. GIP функционировал в 1954 году и был переписан для DEUCE, преемника Pilot ACE. "Кирпичи" для использования с GIP были написаны М. Вудгером, который разработал уникальную схему хранения элементов массива, известную как "блочная плавающая точка". Использование стандартной плавающей запятой потребовало бы двух слов для каждого элемента. Компромиссом стало использование единого показателя степени для всех элементов массива. Таким образом, для каждого элемента требовалось только одно слово. Нормализовались только элементы с наибольшей абсолютной величиной. Меньшие элементы масштабировались соответствующим образом. Хотя некоторая потеря точности, связанная с меньшими элементами, и имела место, она была незначительной, учитывая, что элементы, как правило, отличались друг от друга не более чем в десять раз. Показатель степени хранился вместе с матрицей и ее размерами.