Трубка Уильямса , или трубка Уильямса-Килберна, названная в честь изобретателей Фредди Уильямса и Тома Килберна , является ранней формой компьютерной памяти . [1] [2] Это было первое цифровое запоминающее устройство с произвольным доступом , которое успешно использовалось в нескольких ранних компьютерах. [3]
Трубка Уильямса работает, отображая сетку точек на электронно-лучевой трубке (ЭЛТ). Из-за принципа работы ЭЛТ это создает небольшой заряд статического электричества над каждой точкой. Заряд в месте расположения каждой точки считывается тонким металлическим листом прямо перед дисплеем. Поскольку дисплей со временем выцветал, его периодически обновляли. Он работает быстрее, чем более ранняя акустическая память с линией задержки , со скоростью электронов внутри вакуумной трубки, а не со скоростью звука . Система подвергалась неблагоприятному воздействию близлежащих электрических полей и требовала частой регулировки для поддержания работоспособности. Трубки Уильямса-Килберна использовались в основном в высокоскоростных компьютерных конструкциях.
Уильямс и Килберн подали заявки на британские патенты 11 декабря 1946 года [4] и 2 октября 1947 года [5] , а затем заявки на патенты США — 10 декабря 1947 года [6] и 16 мая 1949 года [7].
Работа трубки Уильямса основана на эффекте, называемом вторичной эмиссией , который происходит в электронно-лучевых трубках (ЭЛТ). Когда электронный луч попадает на фосфор , который образует поверхность дисплея, он обычно заставляет его светиться. Если энергия луча превышает заданный порог (в зависимости от смеси фосфора), это также приводит к выбиванию электронов из фосфора. Эти электроны проходят небольшое расстояние, прежде чем притягиваются обратно к поверхности ЭЛТ и падают на нее на небольшом расстоянии. Общий эффект заключается в том, чтобы вызвать небольшой положительный заряд в непосредственной близости от луча, где наблюдается дефицит электронов, и небольшой отрицательный заряд вокруг точки, куда попадают эти электроны. Полученный зарядный колодец остается на поверхности трубки в течение доли секунды, пока электроны возвращаются в свои исходные положения. [1] Срок службы зависит от электрического сопротивления фосфора и размера колодца.
Процесс создания зарядовой ямы используется как операция записи в компьютерной памяти, сохраняя одну двоичную цифру, или бит . Положительно заряженная точка стирается (заполняя зарядовую яму) путем рисования второй точки, непосредственно смежной с той, которая должна быть стерта (большинство систем делали это, рисуя короткий тире, начиная с позиции точки, расширение тире стирало заряд, изначально сохраненный в начальной точке). Это работало, потому что отрицательное гало вокруг второй точки заполняло положительный центр первой точки. Набор точек или пробелов, часто один горизонтальный ряд на дисплее, представляет собой компьютерное слово. Увеличение энергии луча делало точки больше и сохранялось дольше, но требовало, чтобы они были дальше друг от друга, поскольку соседние точки стирали друг друга.
Энергия пучка должна быть достаточно большой, чтобы производить точки с пригодным сроком службы. Это накладывает верхний предел на плотность памяти , и каждая трубка Уильямса обычно может хранить около 256–2560 бит данных.
Поскольку электронный луч по существу не имеет инерции и может перемещаться в любое место на дисплее, компьютер может получить доступ к любому месту, что делает его памятью с произвольным доступом. Обычно компьютер загружает адрес памяти как пару X и Y в схему драйвера, а затем запускает генератор временной развертки , который просматривает выбранные места, считывая или записывая во внутренние регистры, обычно реализованные как триггеры .
Чтение памяти происходило посредством вторичного эффекта, вызванного операцией записи. В течение короткого периода, когда происходит запись, перераспределение зарядов в люминофоре создает электрический ток , который индуцирует напряжение в любых близлежащих проводниках . Это считывается путем размещения тонкого металлического листа прямо перед стороной дисплея ЭЛТ. Во время операции чтения луч сначала записывает в выбранные ячейки бит на дисплее. Те ячейки, которые были записаны ранее, уже обеднены электронами, поэтому ток не течет, и на пластине не появляется напряжение. Это позволяет компьютеру определить, что в этой ячейке была «1». Если ячейка ранее не была записана, процесс записи создаст яму, и на листе будет считан импульс, указывающий на «0». [1]
Чтение ячейки памяти создает зарядный колодец, независимо от того, был ли он там ранее, тем самым уничтожая исходное содержимое этой ячейки. Поэтому любое чтение должно сопровождаться перезаписью для восстановления исходных данных. В некоторых системах это достигалось с помощью второй электронной пушки внутри ЭЛТ, которая могла записывать в одну ячейку, пока другая читала следующую.
Поскольку дисплей со временем выцветал, весь дисплей приходилось периодически обновлять, используя тот же базовый метод. Поскольку данные считываются и тут же перезаписываются, эта операция может быть выполнена внешней схемой, пока центральный процессор (ЦП) занят выполнением других операций. Эта операция обновления похожа на циклы обновления памяти DRAM в современных системах.
Поскольку процесс обновления заставлял один и тот же рисунок постоянно появляться на дисплее, возникла необходимость в возможности стирать ранее записанные значения. Обычно это достигалось путем записи на дисплей рядом с исходным местоположением. Электроны, высвобождаемые этой новой записью, попадали в ранее записанный колодец, заполняя его. Первоначальные системы создавали этот эффект, записывая небольшую черточку, что было легко сделать, не меняя главные таймеры и просто производя ток записи в течение немного более длительного периода. Результирующий рисунок представлял собой серию точек и черточек. Было проведено значительное количество исследований по более эффективным системам стирания, при этом некоторые системы использовали не сфокусированные лучи или сложные узоры.
Некоторые трубки Уильямса были сделаны из электронно-лучевых трубок радарного типа с фосфорным покрытием, которое делало данные видимыми, в то время как другие трубки были специально изготовлены без такого покрытия. Наличие или отсутствие этого покрытия не влияло на работу трубки и не имело значения для операторов, поскольку лицевая часть трубки была закрыта пластиной захвата. Если требовался видимый выход, вторая трубка, подключенная параллельно с трубкой хранения, с фосфорным покрытием, но без пластины захвата, использовалась в качестве устройства отображения.
Разработанный в Университете Манчестера в Англии , он предоставил носитель для хранения программ для Manchester Baby , первого электронного компьютера с хранимой программой , который впервые успешно запустил программу 21 июня 1948 года. [8] Вместо того, чтобы разрабатывать для Baby ламповую память Уильямса, Baby был испытательным стендом для демонстрации надежности памяти. [9] [10] Том Килберн написал программу из 17 инструкций для вычисления наивысшего собственного множителя чисел размером до 2 18 . Традиция в университете гласит, что это была единственная программа, которую когда-либо написал Килберн. [11]
Лампы Уильямса, как правило, становились ненадежными со временем, и большинство работающих установок приходилось настраивать вручную. Напротив, ртутная память с линиями задержки была медленнее и не имела случайного доступа, поскольку биты представлялись последовательно, что усложняло программирование. Линии задержки также нуждались в ручной настройке, но не старели так сильно и пользовались некоторым успехом в ранних цифровых электронных вычислениях, несмотря на проблемы со скоростью передачи данных, весом, стоимостью, температурой и токсичностью. Manchester Mark 1 , в котором использовались трубки Уильямса, был успешно коммерциализирован как Ferranti Mark 1. Некоторые ранние компьютеры в Соединенных Штатах также использовали трубки Уильямса, включая машину IAS (первоначально разработанную для памяти на трубках Selectron ), UNIVAC 1103 , IBM 701 , IBM 702 и Standards Western Automatic Computer (SWAC). Лампы Уильямса также использовались в советской Стреле-1 и в японской TAC (Tokyo Automatic Computer). [12]
{{citation}}
: CS1 maint: location missing publisher (link)