Джон Булл шагает впереди
Юрий Полунов
Лучше синица в руке,
чем журавль в небе.
Житейская мудрость
Истории было угодно распорядиться, чтобы среди тех, кто заложил основы вычислительной техники (иногда даже не подозревая об этом), было много англичан (вспомним Гэрриота1, Бэббиджа, леди Лавлейс, Буля, Тьюринга!). Да и первый широкомасштабный опыт практического применения электроники в вычислительно-логических машинах был получен на берегах Туманного Альбиона (в дешифровочной машине COLOSSUS). Продолжателями этой традиции в сороковые — пятидесятые годы прошлого столетия стали английские ученые и инженеры, которые разработали ряд вычислительных машин (ВМ), по своей архитектуре и характеристикам не только не уступавших машинам заокеанских коллег, но и во многом опережавших их. Об этих машинах и некоторых их “промышленных продолжениях” и пойдет речь в настоящей и нескольких следующих статьях.
Морис Винсент Уилкс (справа) и Уильям Ренвик
Как ни парадоксально, но один из самых титулованных людей компьютерного мира, обладатель множества научных наград (в том числе премии им. Тьюринга), член академий наук и почетный доктор университетов многих стран сэр Морис Винсент Уилкс (Maurice Vincent Wilkes, р. 1913), в молодые свои годы не помышлял о карьере компьютерщика. Радиофизик по образованию, он защитил в кембриджском колледже св. Иоанна докторскую диссертацию о распространении сверхдлинных радиоволн в ионосфере, в военные годы занимался исследованиями в области радиолокации, а в сентябре 1945-го возглавил Математическую лабораторию (позднее переименованную в Лабораторию вычислительной техники) в своей альма-матер. Рачительный руководитель, Уилкс стремился насытить лабораторию как можно большим количеством средств вычислительной техники (ВТ), на которых университетские ученые могли бы решать свои задачи. Но он мог предоставить своим коллегам либо стандартные счетные машины, либо аналоговые устройства — машину для решения систем линейных алгебраических уравнений и дифференциальные анализаторы различных конструкций. В мае следующего года уже знакомый нам Лесли Дж. Комри (см. "Электромеханический колосс") привез из США бесценные сто страниц мимеографической копии “Первого варианта отчета об EDVACе” фон Неймана и передал их (на одну ночь) Уилксу. Сэр Морис вспоминал: “Я сразу понял, что это (машина с хранимой программой. — Ю. П.) — стоящая вещь, и с тех пор у меня никогда не возникало серьезных сомнений относительно путей развития ВТ”.
Еще через два месяца Уилкс отправляется за океан, в Пенсильванский университет. “Самое важное событие в моей жизни произошло в 1946 г., — писал он много лет спустя.— Мне удалось прослушать учебный курс по вычислительным машинам, и он произвел на меня сильнейшее впечатление. Ничего подобного раньше не было, а о достижениях ученых из школы Мура и других пионеров ВТ тогда было известно немногим. Последующие события убедительно подтвердили принципы, которым Эккерт и Моучли обучили тех, кому посчастливилось прослушать этот курс… Я возвращался с убежденностью, что знаю всё [о вычислительных машинах], всё, что следует знать… и начал набрасывать эскиз будущей машины на борту “Куин Мэри” по пути домой. Мне хотелось, чтобы она была простой и удобной для пользователей; это должна была быть машина последовательного действия, скромная по размерам и в основе своей повторяющая EDVAC…”.
Итак, цель Уилкса заключалась в том, чтобы, “не изобретая колеса”, создать в возможно короткие сроки машину, в которой были бы использованы, может быть, и не самые передовые, но апробированные технические решения. Он прекрасно понимал, что основным блоком машины является ее память, и это нашло отражение в названии планируемой ЭВМ: “Электронный автоматический вычислитель с памятью на [линиях] задержки” (Electronic Delay Storage Automatic Calculator, EDSAC).
Поначалу Уилкс был не только главным архитектором машины, но и схемотехником и программистом. Но постепенно его “команда” пополнилась талантливыми исполнителями. Механической конструкцией машины занялся П. Дж. Фармер (P. J. Farmer). Кембриджский физик Томас Голд (Tomas Gold), участник разработки радаров для ВМФ, в начале 1947 г. приступил к созданию памяти на РУЛЗ (ртутных ультразвуковых линиях задержки). Он познакомил Уилкса с талантливым электронщиком Уильямом Ренвиком (William Renwick), который в марте того же года по существу стал главным инженером проекта: по словам Уилкса, “…Билл построил машину и сделал ее работоспособной. Постепенно я начал уделять все меньше времени конструированию и тестированию, возложив всю ответственность на Ренвика”. Среди других разработчиков следует упомянуть инженеров С. Бэртона (S. Barton), Р. Пиггота (R. Piggott) и Г. Стевенса (G. Stevens), математика Дэвида Джона Уиллера (David John Wheeler,1927—2004), ставшего впоследствии выдающимся программистом, и его коллег Стенли Гилла (Stanly Gill, 1926—1975) и Дж. Беннета (J. Bennett).
ЭВМ EDSAC
Работа над EDSAC длилась два с половиной года. Один из ее участников вспоминал: “Для изготовления машины было выделено помещение бывшей препараторской анатомической школы Кембриджского университета, расположенной на верхнем этаже здания. Это имело свое преимущество и свой недостаток. Преимущество заключалось в наличии очень хорошего большого лифта, сконструированного так, чтобы зараз можно было перевезти два трупа. Недостаток проявлялся летом, когда под действием тепла начинал испаряться формалин, использовавшийся для сохранения трупов и за многие годы пропитавший доски пола. Запах формалина ощущался очень сильно”.
Весной 1949 г. кембриджская машина была изготовлена и отлажена, а 6 мая выполнила первую программу, вычислив таблицу квадратов чисел от 0 до 99. “За 2 минуты и 35 секунд свершилось историческое событие [history was made]”, — писал журналист. И с этим трудно не согласиться: EDSAC стала первой в мире действующей и практически используемой ЭВМ с хранимой программой!2
Она оперировала с числами в форме с фиксированной запятой и имела следующие характеристики: оперативная память, работавшая на тактовой частоте примерно в 0,5 МГц, состояла из 32 РУЛЗ длиной 1,5 м и емкостью 512 тридцатишестиразрядных машинных слов (была предусмотрена возможность работы с числами половинной разрядности, что в ряде случаев удовлетворяло необходимой точности вычислений); в качестве быстродействующих регистров арифметического устройства (АУ) использовались “короткие” РУЛЗ (емкостью в одно слово); операция умножения выполнялась в отдельном множительном устройстве; командный набор состоял из 18 одноадресных команд (в машинном слове помещались две команды); выполнение операций сложения, умножения и деления занимало в среднем 1,4; 5,4 и 200 мс соответственно; ввод данных и программ осуществлялся с 5-канальной бумажной перфоленты, результаты вычислений печатались принтером телетайпа. Машина содержала около 3000 ламп, потребляла примерно 12 кВт и занимала комнату площадью 20 кв. м.
Если в архитектуре и схемотехнике EDSAC никаких новинок не было, то в области программирования кембриджская группа совершила настоящий прорыв. “Мы вскоре пришли к выводу, что создание машины является лишь первой стадией проекта, — много позднее вспоминал Уилкс.— Нам надо было научиться очень многому: как писать программы, как использовать машину для численного анализа, расчетов и всего остального… Как только мы начали заниматься программированием, то к своему удивлению обнаружили, что написать программу, которая удовлетворяла бы нас, значительно труднее, чем это нам представлялось… В один прекрасный момент, который я отчетливо помню, я понял, что теперь бoльшую часть моей жизни буду тратить на поиск ошибок в моих собственных программах”.
Здесь необходимо заметить, что первые программы, написанные для машин с хранимой программой, представляли собой совокупность последовательно расположенных строчек; каждая из них содержала записанные, например, в двоичной системе код команды, адреса ячеек памяти, хранивших числа (операнды), и адрес ячейки, в которую помещался результат операции. В процессе работы машины двоичные цифры преобразовывались в электрические сигналы высокого или низкого уровня, инициируя либо прекращая работу узлов и схем ЭВМ, участвовавших в выполнении той или иной команды. Таким образом, программирование осуществлялось на так называемом машинно-ориентированном языке или машинном коде, который был вполне очевиден, но абсолютно противоестественен для человека. Рост сложности задач привел к тому, что написанные в машинном коде программы начали представляться совокупностью тысяч или даже миллионов нулей и единиц, а ошибка хотя бы в одной двоичной цифре могла сделать программу неработоспособной (не говоря уже о том, что она плохо читалась, и даже математику, разработавшему алгоритм решения, понять ее было трудно). “Вылавливание блох” (поиск ошибок) и отладка длинной программы зачастую занимали гораздо больше времени, чем ее выполнение, что делало бессмысленным повышение быстродействия ЭВМ.
Уже первые программисты, пытаясь хоть как-нибудь облегчить свой труд, перешли к сокращенной записи комбинаций двоичных цифр, в том числе с помощью восьмеричной системы, каждая цифра которой (от 0 до 7) служила для представления одной из восьми возможных комбинаций битов (000, 001, 010, 011, 100, 101, 110, 111). Использовались и другие способы сокращенной записи программ. Например, программисты из группы Уилкса применяли не числовую, а буквенную мнемонику, заимствованную из букв латинского алфавита: скажем, команда “вычесть” обозначалась буквой S (subtract), команда “передать в память” — буквой T (transfer) и т. д., причем каждая буква имела свой двоичный эквивалент. Программа писалась с помощью этих мнемонических обозначений, набивалась на перфоленте, вводилась в машину и автоматически преобразовывалась в код команды. Язык программирования, основанный на использовании мнемонических обозначений, позднее получил название Ассемблера (от assembler — сборщик), а преобразующая программа — программой ассемблера, или, кратко, ассемблером. Впрочем, этимология этого термина была связана не с мнемоникой, а с другой головной болью программистов, излечить от которой и взялась команда Уилкса.
Речь идет о создании и автоматизации использования библиотеки стандартных подпрограмм — эту идею выдвинул еще Бэббидж. Главная сложность здесь заключалась в том, что адреса команд и переменных подпрограммы менялись в зависимости от ее размещения в памяти. Поэтому, например, при “ручном” переносе подпрограммы в другую программу к каждому адресу обычно приходилось добавлять некоторую константу, а, как говорила выдающийся программист Грейс Мюррей Хоппер (Grace Murray Hopper, 1906—1992), “программисты суммируют числа ужасно плохо”. Уиллер сумел автоматизировать этот процесс: достаточно было ввести особую команду-идентификатор, и машина сама проделывала работу по настройке и размещению подпрограммы внутри основной программы3. Происхождение термина “программа ассемблера” как раз и связано с тем, что она как бы “собирала” последовательности подпрограмм. Языки ассемблера широко используются и в настоящее время, поскольку позволяют “сжать” программу до минимального размера и выполнить её максимально быстро и эффективно. Они, однако, имеют крупный недостаток, так как тесно связаны с набором машинных команд конкретной ЭВМ, и поэтому программу, написанную на ассемблере для одной машины, не может “понять” другая машина (по этой причине машинно-ориентированные языки и языки ассемблера называют языками программирования низшего уровня).
К 1951 г. кембриджские программисты разработали библиотеку из 87 подпрограмм, хранившихся на бумажных перфолентах, для работы с числами в форме с плавающей запятой, вычисления логарифмических и тригонометрических функций, решения дифференциальных уравнений и т. д4.
Результаты этой работы Уилкс, Уиллер и Гилл обобщили в первом в мире учебнике по программированию “Подготовка программ для электронных цифровых вычислительных машин” (1951), переведенном на многие языки (в том числе и на русский). Нельзя не сказать и о другой сфере деятельности Уилкса: начиная с 1950 г. он проводил в своей лаборатории ежегодные “Летние школы по программированию”, в которых принимали участие многие известные впоследствии специалисты, например выдающийся нидерландский программист Эдсгер Вайб Дейкстра (Edsger Wabe Dijkstra, 1930—2002).
В дальнейшем машина подверглась ряду усовершенствований (в частности, была дополнена накопителем на магнитной ленте) и эксплуатировалась по июль 1958 г. включительно5.
За пять лет до этого под руководством Уилкса и Ренвика в Лаборатории вычислительной техники началась работа над новой ламповой ЭВМ — EDSAC-2. Эта одноадресная машина была куда богаче на новинки, чем ее предшественница. Вместо громоздкой и ненадежной памяти на РУЛЗ использовалось магнитное оперативное запоминающее устройство (МОЗУ) емкостью в 1024 слова, основанное на ферритовых сердечниках. Новшеством было включение в состав оборудования постоянного запоминающего устройства (ПЗУ) емкостью примерно в 800 слов, также построенного на ферритовых кольцах и существенно уменьшавшего время загрузки подпрограмм (в том числе ввода-вывода). В машине имелось два 11-разрядных индексных регистра6, значительно облегчавших жизнь программиста; АУ параллельного действия оперировало с 40-разрядными числами как с фиксированной, так и с плавающей запятой: в первом случае операции сложения и умножения выполнялись соответственно за 20 и 200 мкс, во втором — за 75 и 275 мкс. Следует также упомянуть, что в EDSAC-2 использовался bit-slice principal — метод конструирования процессора (АУ+УУ; УУ — устройство управления) из так называемых процессорных секций, которые представляли собой независимые процессоры, обрабатывающие один, два, четыре или восемь разрядов данных.
Но, конечно, важнейшей особенностью машины было первое использование принципа микропрограммного управления, предложенного М. Уилксом еще в середине 1951 г.
Напомню, что сущность этого принципа заключается в том, чтобы не фиксировать жестко набор машинных операций, осуществляемых в АУ и УУ, а предоставить программисту возможность самостоятельно составлять по крайней мере некоторые из них путем комбинации микроопераций (таких, например, как “сдвиг операнда”, “передача операнда из одного регистра в другой”). Последовательность микроопераций, необходимых для выполнения машинной операции, получила название микропрограммы. Набор микропрограмм хранится в постоянной памяти (в EDSAC-2 в качестве таковой использовалась диодная, а затем ферритовая матрица), а адрес ее ячейки, с которой начинается микропрограмма той или иной операции, служит кодом операции в составе команды. Таким образом, ВМ как бы сама “программировала” внутренние информационные потоки. Принцип микропрограммного управления позволял существенно упростить схемотехнику машин и поэтому использовался во многих ВМ.
EDSAC-2 была введена в действие в 1957 г. и проработала до 1965-го. Последняя машина была построена в Кембридже в 60-е годы под руководством профессора Рождера Нидхэма (Roger Needham) и называлась Titan. В ней были повторены архитектура и программные решения знаменитого компьютера Atlas, разработанного Манчестерским университетом (мы еще встретимся с ним в одной из следующих статей).
Что же касается родоначальника кембриджской школы ВТ сэра Мориса Уилкса, то он в 1980 г. ушел из университета, затем работал консультантом в ряде американских компаний, писал статьи, мемуары, выступал на конференциях…
Но вернемся в начало 50-х, когда EDSAC получила свое “промышленное продолжение” в виде серии машин, разработанных и изготовленных по инициативе компании J. Lyons & Co. Ltd. Эта фирма владела несколькими большими отелями и ресторанами, торговала чаем, кофе, мороженым, разнообразными бакалейными товарами, выпечкой собственного производства, а также имела разветвленную сеть чайных по всей стране, чрезвычайно популярных среди домохозяек и клерков средней руки. Ясно, что множество торговых точек и “пищеблоков” требовало большого штата сотрудников для выполнения бухгалтерской и логистической работы, ведения учета и т. д. Это, естественно, увеличивало накладные расходы и снижало экономическую эффективность компании. Поэтому еще в 1923 г. руководители Lyons пригласили на работу выпускника Кембриджа математика Джона Р. M. Симмонса (John R. M. Simmons, ум. 1985), перед которым поставили задачу упорядочения и усовершенствования корпоративных бизнес-процедур. В 1936 г. к нему присоединился Дэвид Кэминер (David Caminer, р.1915), который в 40-е годы возглавил отдел системных исследований, состоявший из двадцати математиков и клерков. Им удалось сделать немало, но все же к концу 30-х примерно 2500 из 30 000 работников компании были обременены рутинными конторскими операциями. Одна из причин этого заключалась в малой производительности и неприспособленности вычислительных средств (арифмометры и счетно-перфорационные машины — СПМ), которыми пользовались сотрудники Кэминера.
Поэтому после появления в прессе сообщений о разработках американских вычислительных машин два сотрудника Lyons7, Томас Раймонд Томпсон (Thomas Raymond Thompson, ум. 1972) и Оливер Стэндингфорд (Oliver Standingford), в мае 1947 г. отправились в США, чтобы выяснить, существуют ли в этой стране компьютеры, которыми можно заменить арифмометры и СПМ для автоматизации конторской работы. Они посетили Гарвардский и Пенсильванский университеты, компании NCR, Burroughs и IBM8, получили консультации у ряда ученых, но в целом поездка оказалась безрезультатной, если не считать рекомендации Германа Голдстайна (см. статью "Электронная, универсальная..."): он знал о проекте Уилкса и посоветовал визитерам установить взаимовыгодные отношения с кембриджской группой. По возвращении на родину Томпсон и Стэндингфорд подготовили пространный отчет для руководства компании, в котором предлагали создать собственную ЭВМ, взяв за основу EDSAC (после того, как она будет изготовлена и проверена в действии). В мае 1949 г. после успешного прогона первой программы на кембриджской ЭВМ совет директоров Lyons утвердил план разработки машины и выделил значительную по тем временам сумму в 3000 фунтов стерлингов для консультационной поддержки разработки (сверх 2500 фунтов, выделенных в ноябре 1947 г.).
В качестве главного инженера будущей ЭВМ, названной “Лайоновским электронным офисом” (Lyons Electronic Office, LEO), в январе 1949 г. был приглашен инженер-электронщик Джон М. М. Пинкертон (John M. M. Pinkerton, 1919—1997), в годы войны занимавшийся разработкой радарной техники. Ему предстояло превратить машину для научных и инженерных вычислений (scientific computer), каковой была EDSAC, в машину для решения деловых приложений (business computer). Это была нетривиальная задача, поскольку две разновидности ЭВМ существенное различались: для научных машин, как правило, характерно небольшое число входных и выходных данных, но значительный объем собственно вычислений; для деловых машин все было с точностью до наоборот. Кроме того, в последнем случае программное преобразование входных данных, представленных в десятичной или английской денежной форме (фунты, шиллинги и т. д.) съедало бы большую часть машинного времени.
Для решения проблемы ввода-вывода Пинкертон дополнил EDSAC тремя входными и двумя выходными буферными каналами, которые представляли собой “длинные” РУЛЗ. Они хранили пакеты данных, так что в единицу времени в машину вводилось (выводилось) не одно число (знак), а целый пакет чисел (знаков), причем в то время как данные поступали в машину из одного канала, второй канал заполнялся входными данными, а третий подготавливался для следующего приема данных. При этом система ввода-вывода работала параллельно с выполнением вычислительных операций. Входные данные поступали в буферные каналы с перфокарт9 и перфолент, а результаты обработки выводились на печать или на перфокарты (позднее была сделана не во всем удачная попытка заменить перфокарты и перфоленты накопителем на магнитной ленте). Проблема аппаратного преобразования информации из десятичной и денежной формы в двоичную и обратно была решена компанией Standard Telephone & Cables (STC).
Первую тестовую программу LEO выполнила 5 сентября 1951-го, а в конце ноября того же года было запущено первое в мире деловое приложение — расчет потребности в поставках продукции в различные точки торговой системы. Через два года с небольшим началось машинное начисление заработной платы сотрудникам компании: то, что опытный клерк мог сделать за восемь минут, машина выполняла за полторы секунды. Несколько позднее машину научили решать различные плановые задачи, выписывать счета, отслеживать заявки, контролировать запасы продукции на складах, вести статистику продаж и т. д. Кроме того, на условиях аутсорсинга LEO начисляла заработную плату сотрудникам британских отделений американских корпораций Ford Motor и Kodak, выполняла вычисления для страховых компаний и решала задачи баллистики для оборонного ведомства.
Еще примерно через полгода совет директоров Lyons принимает два судьбоносных решения: запустить проект более совершенной деловой машины LEO II и организовать дочернюю компанию LEO Computers Ltd. для разработки и выпуска этой (и последующих) ЭВМ. Новую фирму, зарегистрированную в ноябре 1954 г., возглавили Джон Симмонс, Томас Томпсон и Энтони Сэлмон, а в 1959-м её директором был назначен Пинкертон.
LEO II была введена в эксплуатацию а мае 1957-го (по другим данным — годом ранее) и имела более высокие технические характеристики, чем ее предшественница: длина машинного слова равнялась 39 разрядам, емкость памяти на РУЛЗ составляла 1038 слов, имелось четыре магнитных барабана общей емкостью 65 536 слов, время сложения и умножения чисел с фиксированной запятой занимало 0,34 и 0,6—3,5 мс соответственно. Машина с успехом продавалась: за сравнительно короткое время было изготовлено и установлено в различных государственных учреждениях, страховых и промышленных компаниях Британии, Австралии, ЮАР и даже ЧССР порядка сотни экземпляров LEO II по цене приблизительно 100—200 тыс. фунтов (в зависимости от состава периферийного
Наконец, в 1961 г. появилась еще одна модель — ЭВМ LEO III, на этот раз транзисторная. В ней было немало из того, что, говоря словами Ч. Бэббиджа, “стало излюбленной пищей будущих поколений (вычислительных машин — Ю. П.)”: многоканальный прямой доступ к памяти, мультипрограммирование, режим разделения времени (timesharing) и т. д. Но эта машина (как и ее вариант LEO 326) была изготовлена лишь в нескольких экземплярах, после чего Lyons отказалась от компьютерного бизнеса. Причин тому было несколько, и их анализ выходит за рамки настоящей статьи. В феврале 1963 г. LEO Computers Ltd. слилась с другой компанией, а затем последовали новые слияния и объединения, в результате которых “ребенка выплеснули вместе с водой”: новые хозяева избрали иную линию собственных разработок, и опыт Пинкертона и его коллег был забыт.
Однако LEO навсегда останется в анналах истории ВТ как первая в мире деловая ЭВМ!
В заключение кратко скажу еще об одной ЭВМ, о которой нечасто вспоминают историки ВТ. С большой степенью вероятности можно утверждать, что “техническая идеология” ее создателей сформировалась под влиянием проекта EDSAC.
В 1945 г. английский физик Тревор Перси (Trevor Pearcey, 1919—1998), трудившийся в военные годы над проблемами радиолокации, получил приглашение на работу в Сиднейскую радиофизическую лабораторию Австралийского Совета по научным и промышленным исследованиям (Council for Scientific and Industrial Research, CSIR)10. До Сиднея он добирался через США, где посетил Гарвардский университет и познакомился с машиной Эйкена. Вычислительный колосс произвел на Перси огромное впечатление, и в начале 1947 г. он обратился к совету директоров CSIR с предложением построить аналогичную машину силами сотрудников своей лаборатории. Получив одобрение и финансовую поддержку, Перси приступил к разработке логической структуры машины. Примерно в это же время под его начало поступил инженер Мастон Берд (Maston Beard), который должен был руководить “реализацией замыслов шефа в железе”. Первоначально предполагалось, следуя Эйкену, использовать электромеханическую элементную базу, но в конце 1948 г. Перси побывал в Британии, где встретился с создателями первых английских ЭВМ, в частности с Морисом Уилксом. Именно в результате этой поездки было решено применить в машине электронные лампы и РУЛЗ в качестве оперативной памяти.
Одна из первых в мире ЭВМ с хранимой программой — CSIR Mark I, или CSIR Mk I, — была установлена в Сиднейском университете и публично представлена в августе 1949-го; в ноябре того же года она выполнила первую тестовую программу, а в июне 1951-го началась ее регулярная эксплуатация.
Эта одноадресная машина содержала примерно 2000 ламп, имела размеры 5x2x2 м и весила около семи тонн. Память на РУЛЗ хранила 768 двадцатиразрядных слов, в качестве внешнего запоминающего устройства использовался магнитный диск (!) емкостью 4К слов11, ввод данных/команд и вывод результатов вычислений осуществлялся с помощью перфокарт. CSIR Mark I оперировала числами с фиксированной запятой, в распоряжении программиста имелось 200 (!) 10-разрядных команд, в том числе команда условного перехода. Машина работала на тактовой частоте 300 кГц и выполняла в среднем 500 операций в cекунду.
В следующие четыре года в CSIR Mk I были внесены существенные изменения: в два раза увеличено быстродействие, емкость ОЗУ возросла до 1К слова, недостаточно стабильно работавший магнитный диск заменен магнитным барабаном той же емкости и т. д. Как и все ранние ЭВМ, машина не имела ОС, но программист Джоффри Хилл (Geoffrey Hill) разработал для нее сходный с Бейсиком интерпретируемый язык INTERPROGRAMM (почти на десять лет раньше, чем это сделали разработчики Бейсика Д. Д. Кемени и Т. Ю. Курц). В 1954 г. машину Перси и Берда передали Мельбурнскому университету, переименовали в CSIRAC (Council for Scientific and Industrial Research Automatic Computer) и ввели в действие 14 июня 1956-го. Она успешно эксплуатировалась в течение восьми с лишним лет.
Появление в Австралии первой ЭВМ сыграло огромную роль в популяризации ВТ в стране: вокруг машины образовался круг энтузиастов, которые писали прикладные программы и использовали ее для решения самых разнообразных задач; Перси начал читать курс по основам ВТ и программирования; в августе 1951 г. силами CSIRO была организована международная Конференция по автоматическим вычислительным машинам.
Примечания
1. Томас Гэрриот (Tomas Herriot, 1560—1621) — выдающийся ученый, истинный homo universalis английского Возрождения, в рукописях которого историки обнаружили сведения о первом использовании двоичной системы для выполнения арифметических операций.
2. С этим не согласен Джон У. Моучли, который в статье, опубликованной в октябрьском за 1979 г. номере журнала Datamation, утверждал, что построенная им и Дж. Преспером Эккертом ЭВМ с хранимой программой BINAC (о ней речь пойдёт впереди) была введена в действие (в лабораторных условиях. — Ю. П.) в начале 1949-го и в апреле того же года непрерывно проработала без сбоев 44 часа.
3. Переход к подпрограмме и возврат к основной программе получил в литературе название “прыжка Уиллера” (Wheeler Jump).
4.Интересно, что в 1952 г. А. С. Дуглас (A. S. Douglas) разработал для EDSAC программу OXO, версию игры в “крестики-нолики”, с графическим выводом на ЭЛТ. Это была, вероятно, одна из первых в мире компьютерных видеоигр.
5. В 1967 г. Уилкс был удостоен премии им. Тьюринга (аналог Нобелевской премии в области компьютерных наук) за “руководство разработкой первой практически эксплуатировавшейся ЭВМ с хранимой в памяти программой (EDSAC), развитие идеи и разработку библиотек подпрограмм”.
6. Об индексных регистрах будет подробно рассказано в одной из следующих статей.
7. Как и Симмонс, они были выпускниками математического факультета Кембриджского университета.
8. Любопытно, что после посещения IBM они писали: “Насколько мы поняли, для этой компании электронные вычисления рассматриваются как дополнения к перфокартам и обсуживающим их устройствам”.
9. Использовалось оборудование компании British Tabulating Machine.
10.Под таким названием Совет существовал в 1926—1949 гг., а затем был переименован в Организацию [Британского] Содружества по научным и промышленным исследованиям (Commonwealth Scientific and Industrial Research Organization, CSIRO).
11.В его разработке, по-видимому, принял активное участие немецкий инженер Хайнц Биллинг, с которым мы еще встретимся в одной из следующих статей.
Из Цикла статей Ю. Полунова "Исторические машины".
Статья опубликована в PCWeek/RE № 28-29 2006 г.
Статья помещена в музей 22.08.2006 года