Delay Line Memory: ртутная память UNIVAC I

Delay Line Memory: ртутная память UNIVAC I

Автор: Евгений Лебеденко, Mobi.ru

Опубликовано 02 ноября 2011 года

Ни для кого не секрет, что изобретения порой "выстреливают" вовсе не в той области, которую им уготовил изобретатель. Почти все, наверняка, слышали историю о плитке шоколада, расплавившейся в кармане американского инженера Перси Спенсера во время его работы с магнетроном, находившимся в радарной установке противоракетного комплекса производства компании Raytheon. Будь Спенсер чуть более задумчив, событие это, кроме раздражения его супруги, вынужденной отстирывать пиджак, никак не повлияло бы на судьбу человечества. Но инженер был весьма наблюдателен. Итогом стала СВЧ-печь - прибор, без которого немыслимо ни одно будничное утро Хомо Работикуса, то есть трудового народа.

Устройство, о котором рассказывается ниже, тоже появилось благодаря радарной установке. И так же, как в случае с магнетроном, его идея возникла благодаря любознательности изобретателя и его желанию превратить идею в реальность.

Речь идёт об удивительной разновидности оперативной памяти компьютеров, в основе которой лежит эффект, к компьютерной области никакого отношения не имеющий. Эта разновидность "оперативки" имела недолгий век, однако успела "засветиться" в таких раритетах, как первый коммерчески успешный компьютер UNIVAC I и один из первых электронных программируемых калькуляторов компании Monroe.

Официально этот вид ОЗУ именуют "памятью на линиях задержки" (delay line memory), но благодаря применяемому в ней рабочему веществу её чаще всего называют mercury memory - ртутной памятью.

Линия задержки. Исчезнуть с радаров

1942 год. Разгар Второй мировой войны. Военная авиация противоборствующих сторон, нанося сокрушительные бомбовые удары и дерзкие налёты истребителей, успешно доказывает, что именно она является царицей войны.

Чтобы успешно бороться с налётами, учёные всех участвующих в войне стран упорно трудятся над совершенствованием "воздушного эхолота" - радара. Его простой, но чрезвычайно эффективный принцип работы, основанный на измерении времени задержки радиоимпульса, отражаемого объектами, на которые он был направлен, имеет один существенный недостаток. В том случае, когда объект движется, время задержки отражённого от него импульса в каждый момент времени будет разным, и на экране радара визуально видно направление его перемещения. Но на своем пути радарный радиоимпульс отражается от массы неподвижных объектов - крон деревьев, заводских труб, радиомачт. Время задержки радиоимпульса от неподвижного предмета всякий раз одинаково. А это означает, что предмет на экране радара становится "бельмом на глазу" - его постоянное присутствие мешает разглядеть перемещение движущихся объектов. Особенно плохо дело обстоит, если радар сканирует пространство, наполненное неподвижными вещами. Их светящиеся фантомы заполоняют экран и делают поиск целей бессмысленным занятием.

До появления линий задержки экраны радаров были переполнены шумами от неподвижных объектов

Оригинальное решение этой проблемы было найдено довольно быстро. Отражённый радиоимпульс разделялся на два сигнала, один из которых попадал на экран, а другой в так называемую линию задержки (delay line) - устройство, замедляющее его распространение на время очередного цикла сканирования. На выходе линии задержки сигнал инвертируется и подается на экран вместе с сигналом нового цикла. Поскольку время задержки отражённого от неподвижного объекта сигнала совпадает со временем сигнала, побывавшего в линии задержки, то два эти противоположных по фазе импульса взаимно гасят друг друга. Неподвижный объект исчезает с экрана.

Элегантно? Конечно. Но одно дело придумать идею, а другое - воплотить её в реальном устройстве. Инженеры всего мира бились над поиском материалов и способов реализации delay line. Принципиальное решение было найдено быстро: преобразовать электрический импульс в акустическую волну. Скорость распространения звука значительно ниже скорости потока электронов, а значит, правильно настроенная акустическая волна задержит радарный импульс на требуемое время. На выходе линии задержки звук вновь преобразовывают в электрический сигнал, который и подают на инвертор. И если со способом всё было понятно, то с материалами для его реализации возникли трудности. Чего только не перепробовали инженеры. В ход шли пьезокристаллы, стекло с металлизированным напылением, хитро переплетённые стальные сердечники и сплавы различных металлов.

Несмотря на массу усилий, полученные линии задержки были далеки от совершенства. До того момента, пока свой вариант не предложил Джон Экерт Младший. Направленный после окончания знаменитой школы инженеров-электронщиков Мура в физическую лабораторию Университета Пенсильвании, Экерт вплотную занялся радарными проблемами, и в частности линиями задержки. Эксперименты Экерта не прошли даром. Ему удалось найти вещество, удельное акустическое сопротивление которого совпадало с сопротивлением кварцевых пьезокристаллов - генератора и детектора звуковых волн на концах линии задержки. Этим веществом оказалась ртуть.

Будучи помещённой в стальную трубку, на концах которой расположены пьезокристаллы, ртуть работала переносчиком акустической волны от кристалла-генератора к кристаллу-детектору. Подобрав трубку нужной длины и диаметра, вмещающей требуемое количество ртути, можно было создать линию задержки, работающую с беспрецедентной точностью. Свое изобретение Экерт запатентовал. Дивиденды от этого патента позволили Экерту чуть позже начать собственный бизнес его мечты.

От ENIAC до UNIVAC. Рождение Delay Line Memory

Мечтой инженера Экерта были компьютеры. В сороковые годы прошлого столетия успешные реализации цифровых ЭВМ можно было пересчитать по пальцам. Z3 - детище Конрада Цузе, британский "колосс" Mark 1 да узкоспециализированный компьютер ABC (Atanasoff-Berry Computer). Архитектуру этих машин и других попыток компьютеростроения Экерт знал наизусть. И горел желанием разработать собственный компьютер. Этой идеей Экерт заразил пришедшего учиться в Университет Пенсильвании Джона Мочли.

Экерт и Мочли

Тем более что задача, для которой требовался компьютер, была весьма актуальна: военному ведомству США нужна была машина для автоматизации расчётов таблиц стрельбы. В 1943 году Экерт и Мочли предлагают министерству обороны архитектуру компьютера ENIAC. Особенностью этой вычислительной машины было использование десятичной системы исчисления. Реализован ENIAC был в Лаборатории баллистических испытаний. Позже, в 1946 году, к тандему Экерта и Мочли присоединяется Джон фон Нейман, именем которого чуть позже назовут архитектуру компьютеров с хранимыми в памяти программами и данными - основу практически всех современных ЭВМ. Их совместным детищем стал компьютер EDVAC, разработка которого также финансировалась военными.

Накопив бесценный опыт создания компьютеров на благо обороноспособности Родины, Экерт и Мочли решают начать пожинать плоды трудов своих на полях частного бизнеса. Основанная ими в 1946 году Electronic Control Company чуть позже переименовывается в фирму имени себя любимых - Eckert-Mauchly Computer Corporation (EMCC). Напористый Экерт успешно находит первого крупного клиента - Бюро переписи населения США. Он убеждает работающих по старинке переписчиков в острой необходимости автоматизации их работы (на носу перепись 1950 года) и получает заказ на EDVAC II. Переманив много талантливых инженеров из школы Мура, Экерт и Мочли берутся за дело.

Сотрудники EMCC в 1949 году

Результатом их работы становится UNIVAC I, который в 1951 году и приобрело Бюро переписи. В UNIVAC Экерт развивает идеи фон Неймана о хранимой в памяти программе. В качестве долговременного запоминающего устройства в UNIVAC I используются бобины со стальной лентой. А вот для организации оперативной памяти изобретательный Экерт применяет свою давешнюю разработку - ртутную линию задержки. Как же устройство из радара попало в компьютер?

UNIVAC I представлял собой целый комплекс оборудования, занимающий отдельный этаж здания. Саркофаг слева - контейнер для хранения памяти на ртутных линиях задержки

Акустическая память UNIVAC I

Стоит отметить, что идея использования ртутной линии задержки, изобретённой Экертом в качестве оперативной памяти, принадлежала вовсе не ему. Впервые такой подход применили в 1949 году разработчики британского компьютера EDSAC. Вдохновленный идеей машины фон Неймана, заложенной в экертовский EDVAC, Морис Вилкес из математической лаборатории Кембриджского Университета вместе с командой единомышленников создает Electronic Delay Storage Automatic Calculator, в самом названии которого (Delay Storage) сквозит идея физической организации устройства хранения. Компьютер EDSAC во многих смыслах был экспериментальным. И именно в нём была впервые реализована идея превращения ртутной линии задержки в оперативную память.

Идея эта брала начало из простого вопроса: что, если в линии задержки выходной сигнал снова завернуть на вход? Электрические импульсы, соответствующие двоичной единице, превращённые в акустические волны, распространяемые по ртути, будут бесконечно циркулировать внутри линии задержки. Таким образом, она превращается в ячейку памяти. Только вот хранится в такой ячейке не один бит, а сразу несколько. Ведь пьезоэлемент на входе линии задержки может создать сразу несколько акустических волн, двигающихся друг за другом к детектору.

Для считывания конкретного бита из линии задержки Экерт предложил использовать тактовый генератор - метроном, синхронизированный с частотой распространения акустических волн. Электрический сигнал, полученный из определённой акустической волны, в нужный такт параллельно с движением на вход линии задержки считывался и усиливался, попадая в регистр арифметико-логического устройства.

Общая память компьютера состояла из множества линий задержки, объединённых в регистры. И память эта была воистину оперативной. Без подачи электричества на пьезокристаллы и выходной усилитель акустические волны внутри ртутной трубки затухали.

Идея памяти на ртутных линиях задержки, апробированная в британском EDSAC, была тщательно доработана Экертом в его коммерческом UNIVAC I.

Суммарно память компьютера Экерта состояла из тысячи слов, которые непрерывно циркулировали в ста ртутных линиях задержки, каждая из которых поддерживала хранение десяти слов.

Всего же в UNIVAC I было реализовано сто двадцать шесть ртутных линий задержки, объединённых в семь контейнеров по восемнадцать ртутных трубок в каждом. Сто из этих трубок были оперативной памятью UNIVAC. Двенадцать использовались для промежуточного хранения данных ввода-вывода. Ещё шесть были резервными.

Семь специально выделенных линий задержки использовались в качестве регистров схемы термостатов, подключённых к семи контейнерам со ртутными трубками.

Последняя сто двадцать шестая ртутная трубка использовалась в качестве регистра Y для организации косвенной адресации.

Семь контейнеров модуля памяти UNIVAC I содержали сто двадцать шесть ртутных линий задержки

Разрабатывая коммерческий вариант памяти на ртутных линиях задержки, Экерт столкнулся с массой проблем. Наиболее важными из них были задачи: точного позиционирования входных и выходных пьезокристаллов для исключения отражения акустических волн от стенок трубки, приводящих к интерференции, и поддержания постоянной и достаточно высокой (около сорока градусов Цельсия) температуры ртути. Именно при этой температуре акустическое сопротивление ртути было "созвучно" сопротивлению пьезокристаллов. Как результат контейнер с ртутными трубками представлял собой сложное инженерное устройство с массой винтов для калибровки положения ртутных трубок, расширительным бачком для излишков ртути и термостатом, автоматически управляющим её температурой.

Контейнер с ртутными линиями задержки

Тот же контейнер с теплоизолирующим корпусом, готовый к установке в "дом памяти" UNIVAC

Разработчик небезызвестной "машины" Алан Тьюринг, узнав о конструкции памяти на ртутных линиях задержки, в шутку предложил заменить в ней ртуть джином. По крайней мере, с этой жидкостью головная боль разработчиков памяти стала бы более приятной.

Техник, занятый калибровкой ртутных трубок в контейнерах памяти UNIVAC

Семь контейнеров акустической памяти UNIVAC размещались внутри его внушительного корпуса, чем-то напоминающего нынешние малометражные квартиры. Из-за излучаемого ими тепла находиться внутри долго было невозможно. Не спасали даже вмонтированные в пол кондиционеры.

Контейнер памяти чем-то напоминает противолодочную мину

"Дом памяти" UNIVAC изнутри

Между тем после точной калибровки ртутных трубок память UNIVAC I работала без сбоев. Доказательством тому служит успешный подсчёт переписи населения 1950 года и точный прогноз выборов президента США в 1952 году.

Магнитострикционные линии задержки. Звучи, струна!

Применение линий задержки на основе ртутных трубок в качестве оперативной памяти имело одно существенное ограничение. Габариты. Ёмкость каждого регистра-трубки напрямую зависела от её длины. Да и ртуть, используемая в качестве носителя акустических волн, являлась не самым удобным в эксплуатации компонентом. Скажем прямо, работать с нею было вредно.

Поэтому поиск альтернатив ртутным линиям задержки не прекращался. В конце концов, в середине пятидесятых годов прошлого столетия было найдено более безопасное и удобное решение организации памяти на линиях задержки.

Учёные, экспериментируя с магнитными свойствами разных металлов, обнаружили в них интересный эффект - изменение физической формы под воздействием магнитного поля. Эффект этот, чем-то напоминающий пьезоэффект кристаллов кварца, называется "магнитострикция".

Разные металлы могут проявлять магнитострикционные свойства по-разному. Некоторые меняют форму вдоль продольной оси, у других проявляется эффект скручивания, а третьи изгибаются. Наиболее хорошо были изучены скручивающие магнитострикционные свойства никеля. Именно на их основе и был разработан преемник ртутной линии задержки - магнитострикционная линия задержки.

Генератором и детектором выступали пластины никеля, прижимаемые к носителю акустической волны - стальной проволоке-струне. К никелевым пластинам генератора прикладывалось магнитное поле, заставляя их скручиваться и создавать в стальной струне звуковую волну. Детектор был устроен так же, за исключением того, что двигающиеся под воздействием акустической волны никелевые пластины индуцировали электричество в магнитной катушке.

Магнитострикционная линия задержки на основе пластин никеля

Магнитострикционная линия задержки была куда эффективнее ртутной. Во-первых, не требовалось работать с опасными ртутными парами; во-вторых, стальную струну можно свернуть в спираль и поместить в компактный корпус. Ну а в-третьих, магнитострикция малочувствительна к механическим воздействиям и не требует постоянной калибровки.

Компактную и непритязательную память на магнитострикционных линиях задержки стали применять не только в ЭВМ того времени, но и в их младших братьях - набирающих силу программируемых калькуляторах. Например, выпускаемых известной в своё время компанией Olivetti.

Память на линиях задержки была одним из множества весьма экзотических решений в организации системы хранения программ и данных в компьютерах с архитектурой фон Неймана. Но "подсмотренная" в соседней области идея оказалась весьма удачно развита и реализована. Копьютеры, использующие подобную память, были выдающимися образцами вычислительной техники того времени.

Разработка полупроводниковой логики довольно быстро свела на нет использование памяти на линиях задержки. "Звучащая" память войдёт в историю компьютерной индустрии как пример уникального инженерного подхода к решению весьма нетривиальных задач.