Пилотный ACE: один из первых компьютеров Великобритании.
Pilot ACE
Пилот ACE: один из первых британских компьютеров 1950-х. Разработан как упрощенная версия ACE Алана Тьюринга. История и вклад в вычислительную технику.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Один из первых компьютеров, построенных в Соединенном Королевстве, Pilot ACE (Automatic Computing Engine) был одним из первых компьютеров, созданных в Великобритании. Построенный в Национальной физической лаборатории (NPL) в начале 1950-х годов, он также являлся одним из первых компьютеров с хранимой программой общего назначения – наряду с другими британскими разработками, такими как Manchester Mark 1 и EDSAC той же эпохи. Это была предварительная версия полноценного ACE, разработанная Аланом Тьюрингом, который покинул NPL до завершения строительства.
One of the first computers built in the United Kingdom
The Pilot ACE (Automatic Computing Engine) was one of the first computers built in the United Kingdom. Built at the National Physical Laboratory (NPL) in the early 1950s, it was also one of the earliest general purpose, stored program computers – joining other UK designs like the Manchester Mark 1 and EDSAC of the same era. It was a preliminary version of the full ACE, which was designed by Alan Turing, who left NPL before the construction was completed.
История
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 года и передан в Музей науки, где он находится и сегодня.
Pilot ACE was built to a cut down version of Turing's full ACE design. After Turing left NPL (in part because he was disillusioned by the lack of progress on building the ACE), James H. Wilkinson took over the project. Donald Davies, Harry Huskey and Mike Woodger were involved with the design. The Pilot ACE ran its first program on 10 May 1950, and was demonstrated to the press in November 1950. Although originally intended as a prototype, it became clear that the machine was a potentially useful resource, especially given the lack of other computing devices at the time. After some upgrades to make operational use practical, it went into service in late 1951 and saw considerable operational service over the next several years. One reason Pilot ACE was useful is that it was able to perform floating point arithmetic necessary for scientific calculations. Wilkinson tells the story of how this came to be. When first built, Pilot ACE did not have hardware for either multiplication or division, in contrast to other computers at that time. (Hardware multiplication was added later.) Pilot ACE started out using fixed point multiplication and division implemented as software. It soon became apparent that fixed point arithmetic was a bad idea because the numbers quickly went out of range. It only took a short time to write new software so that Pilot ACE could do floating point arithmetic. After that, James Wilkinson became an expert and wrote a book on rounding errors in floating point calculations, which eventually sold well. Pilot ACE used approximately 800 vacuum tubes. Its main memory consisted of mercury delay lines with an original capacity of 128 words of 32 bits each, which was later expanded to 352 words. A 4096 word drum memory was added in 1954. Its basic clock rate, 1 megahertz, was the fastest of the early British computers. The time to execute instructions was highly dependent on where they were in memory (due to the use of delay line memory). An addition could take anywhere from 64 to 1024 microseconds. The machine was so successful that a commercial version of it, named the DEUCE, was constructed and sold by the English Electric Company. Pilot ACE was shut down in May 1955, and was given to the Science Museum, where it remains today.
Программное обеспечение
Установка магнитного барабана в 1954 году открыла путь к разработке управляющей программы для выполнения программ, работающих с матрицами. По настоянию Дж. М. Хана из Британской авиационной корпорации, Брайан У. Мундей разработал Общую интерпретационную программу (GIP), для запуска которой требовались лишь простые кодовые слова для работы с набором программ, называемых "кирпичами". Каждый "кирпич" мог выполнять отдельную задачу, такую как решение системы линейных уравнений, инвертирование матрицы или умножение матриц. Хотя сама по себе эта концепция не была новой, GIP отличался простотой кодовых слов, которые не определяли размеры матриц. Размеры брались из матрицы, хранящейся на барабане, где вторым и третьим элементами хранились границы. При перфорации матрицы на картах границы указывались в качестве первых двух элементов. Таким образом, после написания программы она могла автоматически работать с матрицами разных размеров без необходимости ее изменения. GIP функционировал в 1954 году и был переписан для DEUCE, преемника Pilot ACE. "Кирпичи" для использования с GIP были написаны М. Вудгером, который разработал уникальную схему хранения элементов массива, известную как "блочная плавающая точка". Использование стандартной плавающей запятой потребовало бы двух слов для каждого элемента. Компромиссом стало использование единого показателя степени для всех элементов массива. Таким образом, для каждого элемента требовалось только одно слово. Нормализовались только элементы с наибольшей абсолютной величиной. Меньшие элементы масштабировались соответствующим образом. Хотя некоторая потеря точности, связанная с меньшими элементами, и имела место, она была незначительной, учитывая, что элементы, как правило, отличались друг от друга не более чем в десять раз. Показатель степени хранился вместе с матрицей и ее размерами.
Installing the magnetic drum in 1954 opened the way to develop a control program for running programs dealing with matrices. Following urging by J. M. Hahn of the British Aircraft Corporation, Brian W. Munday developed General Interpretive Programme (GIP), which required only simple codewords to run a collection of programs called "bricks". Each brick could perform a single task, such as to solve a set of simultaneous equations, to invert a matrix, and to perform matrix multiplication. Though there was nothing new in this concept, where GIP was unique was in the simplicity of the codewords that did not specify the bounds of the matrices. Bounds were taken from the matrix on the drum, where the bounds were the second and third element stored. When a matrix was punched on cards, the bounds were given as the first two elements. Thus, once a program was written, it could run automatically with different sizes of matrices, without needing to change the program. GIP was running in 1954, and was re written for DEUCE, the successor to Pilot ACE. Bricks to be used with GIP were written by M. Woodger, who devised a unique scheme for storing array elements, namely, "block floating". To use regular floating point would have required two words for each element. The compromise was to use a single exponent for all the elements of an array. Thus, only one word was required for each element. Only the largest element(s) were normalized. Smaller elements were scaled accordingly. Though there was some loss of precision associated with the smaller elements, it was not great, considering that elements tended to be within a factor of ten of each other. The exponent was stored with the matrix, along with the dimensions.