Текст книги "Пиксель. История одной точки"
Автор книги: Элви Рэй Смит
Жанр: Исторические приключения, Приключения
Возрастные ограничения: +18
сообщить о неприемлемом содержимом
Текущая страница: 15 (всего у книги 53 страниц) [доступный отрывок для чтения: 17 страниц]
Британцы выиграли соревнование по разработке быстродействующей памяти за счет трубки Уильямса или Уильямса – Килбурна. Но, строго говоря, Уильямс и Килбурн не изобретали новый тип вакуумной трубки. Они изобрели метод использования стандартной ЭЛТ для хранения данных. Их компьютерная память представляла собой ЭЛТ, в которой для хранения битов использовалась технология Уильямса-Килбурна. Она хранила биты в виде маленьких (0) или больших (1) пятен, нарисованных на широком плоском конце трубки катодным лучом и отображенных на ее лицевой стороне (их делали видимыми при помощи нанесения светящегося люминофора). Луч сканировал экран трубки построчно слева направо и сверху вниз. Биты располагались через равные промежутки вдоль каждой строки растра – как семена на вспаханном поле.
Янки тоже не бездействовали. Сначала, не подозревая о разработках Уильямса и Килбурна, команда фон Неймана подвигла своих спонсоров, Radio Corporation of America (RCA), всерьез взяться за разработки памяти на электронных лампах. Изначально надежды возлагались на Selectron, специализированную радиолампу, которую должно было спроектировать и изготовить новое подразделение Лаборатории электронных исследований. Лабораторию возглавлял Владимир Зворыкин, а главным конструктором он назначил инженера Яна Райхмана. Мы уже встречались со Зворыкиным в третьей главе. Он присутствовал на судьбоносном совещании с фон Нейманом, где впервые прозвучало слово «программирование». Кстати, встреча состоялась в офисе Зворыкина в RCA. Райхман тоже там присутствовал. Зворыкина уже хорошо знали в Америке, поскольку он сыграл важную роль в изобретении телевидения в 1920-х и 1930-х годах.
Группа Зворыкина разрабатывала Selectron для хранения битов в виде точек, которые светятся (1) или не светятся (0). Эти светящиеся (и несветящиеся) точки можно было увидеть – как небольшой прямоугольный растровый массив – через прозрачное стекло лампы. Увы, Selectron оказался намного сложнее, чем обычная электронно-лучевая трубка. Его разработка заняла слишком много времени, фатально много.
Лишь по случайному, но приятному стечению обстоятельств разработчики первых компьютеров по обе стороны Атлантики использовали память с визуально отображаемыми элементами. Все могло бы сложиться иначе. Биту не обязательно быть видимым, чтобы работать как ячейка памяти, – именно таковы большинство современных битов. Примечательно, что Pilot Ace Тьюринга использовал память «на невидимых носителях», ртутную линию задержки, в которой единица представляла собой акустический импульс, как в звуковой волне, – он относительно медленно перемещался по трубке, заполненной ртутью. «Запоминание» происходило лишь на время движения. В линии задержки 0 выражался отсутствием импульса. Последовательность импульсов, прошедшая через линию задержки, рециркулировалась, то есть то, что выходило на приемном конце, автоматически возвращалось в передающий, благодаря чему последовательность битов в линии сохранялась сколько необходимо. Биты в огромных массивах памяти современных компьютеров также невидимы. Они спрятаны глубоко внутри кремниевых микросхем. Тот факт, что в первые дни существования компьютеров биты иногда были видимыми и располагались в виде прямоугольных матриц, дало возможность Цифровому Свету загореться в самом начале компьютерной эры.
Трубка Уильямса оказалась настолько важным и своевременным изобретением, что обе команды сразу же взяли ее на вооружение. Через месяц после запуска Baby американец Джулиан Бигелоу, главный инженер аппаратной части MANIAC, заехал к Максу Ньюману в Манчестер и увидел трубку Уильямса в действии. Команда фон Неймана все еще ждала Selectron Зворыкина, но как только Бигелоу понял, насколько просто на самом деле хранить и считывать информацию с электронно-лучевой трубки, было решено воспользоваться ею. Основная память MANIAC состояла из 40 таких устройств. Так что у янки почти все потомки EDVAC первого поколения использовали память на трубках Уильямса, в том числе и IBM 701, первый компьютер в династии ЭВМ Голубого Гиганта.
Американская компания IBM, уверенный лидер рынка в сфере электромеханических и электронных «табуляторов» – огромных арифмометров на перфокартах, только начинала свой путь в мире компьютеров (фон Нейман сотрудничал с ней в качестве консультанта). Пост президента компании занимал известный бизнесмен Томас Дж. Уотсон (его биография сама по себе может стать увлекательной книгой). Именно он придумал знаменитый слоган «ДУМАЙ». Узнав, что в гонке за памятью победила трубка Уильямса, и беспокоясь о конкуренции со стороны Baby и его потомка Mark I, компания пригласила Уильямса в свою штаб-квартиру в Нью-Йорке в июле 1949 года. Конечно же, его спросили, как так получилось, что команде из «двух мужчин и собаки» удалось построить в Манчестере машину более совершенную, чем все наработки могучей компании IBM. Уильямс ответил в своей непроницаемо серьезной манере (представьте себе саркастический огонек в его глазах): «Ну, у нас была идея, как хранить данные, а потом мы просто начали строить компьютер, пока не построили, не останавливаясь, чтобы слишком много ДУМАТЬ». Собравшиеся сотрудники IBM сначала растерялись, а потом, поскольку Уотсон на встрече не присутствовал, весело рассмеялись.
Рассказывая эту историю, Уильямс не лукавил. Компьютеры действительно довольно просты, особенно маленький компьютер по имени Baby. И довольно простая по конструкции трубка Уильямса, сделанная из того, что было под руками, опередила сложный и более продвинутый Selectron. В этом случае британцы действительно превзошли мозгами то, что янки пытались решить деньгами.
На самом деле дисплей на компьютере, который использовал память на основе трубки Уильямса, – это не трубка Уильямса. На настоящей трубке Уильямса биты не видны или практически не видны. То, что мы видели на экранах первых компьютеров, – это электрические заряды, созданные с помощью электронной пушки. Они видимы только из-за свечения люминофора. Но для работы трубки Уильямса необходимо, чтобы экран закрывала так называемая коллекторная пластина. Коллекторная пластина замыкает электрическую цепь, так что заряд – тот, который заставляет светиться люминофоры, – может быть обнаружен электронной схемой и использован на следующем шаге вычислений. Мы говорим, что при помощи схемы считывается наличие и величина невидимого заряда. Схема считывает заряд, но не видит свечение люминофора. Мы, люди, видим свечение люминофора, но не считываем соответствующий заряд.
Коллекторная пластина на основной трубке памяти Baby была сделана из «металлической марли» – тонкой проволочной сетки. В принципе, сквозь нее действительно получалось увидеть биты – конечно, не очень отчетливо. На самом деле это не имеет значения, потому что драгоценная трубка Уильямса помещалась в металлический кожух для защиты от случайных электрических разрядов (скажем, от проезжающего мимо трамвая), способных повредить ее или исказить биты. Инженеры считали невидимый электрический заряд на коллекторной пластине более важным, чем светящийся люминофор на экране.
Поэтому биты, хранившиеся на трубке Уильямса, демонстрировались на другой электронно-лучевой трубке. Ничего сложного. Каждый раз, когда считывалась строка трубки Уильямса (скажем, пять раз в секунду), она напрямую копировалась в соответствующую строку трубки дисплея. Трубка дисплея представляла собой не память, а точную видимую копию скрытого светящегося экрана памяти. Поскольку этот экран предназначался только для демонстрации содержимого памяти, а не для вычислений, его не требовалось защищать от проезжающих мимо трамваев. Мы тоже используем такой дисплей для наблюдения или мониторинга памяти и называем его монитором.
Строго говоря, первые биты уже были первыми «разбросанными» пикселями, но инженеры спрятали их под защитным кожухом. Отображенные пиксели уже находились на своем месте, но оставались невидимыми – тут как в философской загадке о том, раздается ли звук, если деревья падают в лесу, где никого нет. Человек мог их увидеть, только если они отображались на мониторе для людей.[20]20
Философская загадка, восходящая еще к «Трактату о принципах человеческого знания» Джорджа Беркли, ставит вопрос о соотношении реальности и наблюдений. Согласно одному из вариантов ее решения, при описанных условиях звука не будет из-за отсутствия кого-либо, способного его воспринять. – Прим. ред.
[Закрыть]
EDSAC Уилкса в Кембридже был важным исключением из тенденции повсеместно использовать победившую в гонке памяти трубку Уильямса. Уилкс отказался от видимой – пусть даже только потенциально – памяти. Как и в Pilot Ace Тьюринга, в его машине применялись ртутные линии задержки.
Но инженеры, разработавшие EDSAC, тоже хотели видеть, что находится в ртутных линиях задержки, поэтому они тоже снабдили свою машину монитором. Электронная схема преобразовывала последовательность импульсов, проходящих через линию задержки, в набор пятен, отображавшийся на экране электронно-лучевой трубки. Электронная схема получала цепочку импульсов из линии задержки и превращала их в горизонтальные ряды матрицы – делала из одной длинной последовательности (512 бит) аккуратные прямоугольники из более коротких рядов (по 32 бита в каждом). Затем они просто воспроизводились на экране обычной электронно-лучевой трубки растровым массивом. Благодаря такому монитору EDSAC из британского Кембриджа тоже включился в гонку за первенством в Цифровом Свете. Обратите внимание, что с тем же успехом основой для монитора мог стать один длинный ряд лампочек, а не двумерный. Лишь по удачному стечению обстоятельств технология мониторов привела к растровому отображению.
Еще одним заметным исключением стал Whirlwind из Массачусетского технологического института в американском Кембридже. Команда Джея Форрестера решила переработать идею Уильямса, поскольку Whirlwind предъявлял более высокие требования к пропускной способности памяти. Началась разработка конкурирующей конструкции, хотя хранить биты предполагалось также на электронно-лучевой трубке. Однако, очевидно, использовать ее как дисплей для изображений не предполагалось.
Поскольку на совершенствование «электростатической памяти», основанной на идее Уильямса, требовалось много времени, Форрестер и его команда сначала использовали в качестве запоминающего устройства Whirlwind то, что они назвали «тестовым хранилищем». Большая его часть состояла из обычных электрических тумблеров! Люди «записывали» в память машины данные и команды при помощи комбинаций из включенных и выключенных тумблеров. Whirlwind считывал эти комбинации, но, естественно, не записывал – если говорить на компьютерном жаргоне, он обладал памятью только для чтения. Команда Форрестера разработала специальный монитор для отображения содержимого тестового хранилища.
Хотя тестовую конфигурацию Whirlwind не называли полноценным компьютером, а процедура его программирования оказалась крайне трудоемка, его впервые успешно использовали 19 августа 1949 года. Назовем тестовую конфигурацию Whirlwind– (Whirlwind-минус), потому что сам Whirlwind без минуса разрабатывался как компьютер с полной хранимой программой. Обычно промежуточные тестовые запуски вычислительных машин не рассматривают отдельно, но эта тестовая конфигурация очень важна для истории Цифрового Света.
В процессе моих изысканий я обнаружил настоящее сокровище – фотоархив разработчиков Whirlwind. Он хранился не в Массачусетском технологическом институте, где я рассчитывал его обнаружить, а в управляющей самыми секретными научно-технологическими лабораториями американского правительства корпорации MITRE в соседнем Бедфорде. Криста Ферранте, архивариус корпорации, пригласила меня в хранилище 11 октября 2016 года. В процессе работы над этой книгой редко выдавались более захватывающие и полезные дни. Архивариус подготовила для меня целую тележку с коробками, полными тщательно каталогизированных фотографий. Их было очень-очень много. Даже первые пользователи Whirlwind без зазрения совести создавали картинки. Криста и я в течение нескольких часов с удовольствием рассматривали фотографии, и мне удалось найти среди них кое-что впечатляющее.
На рисунке 4.10 вы видите, вероятно, первое цифровое изображение из проекта Whirlwind. Оно создано в июне 1949 года, вероятно, при помощи памяти с ручным набором, так как даже Whirlwind– еще не предполагал возможности полноценного программирования. Инициалы на рисунке означают Whirlwind I, полное официальное название будущего компьютера, работа над которым официально завершилась в апреле 1951 года.
Рис. 4.10
Чтобы определить, какая ячейка памяти соответствует точке на дисплее, инженер Массачусетского технологического института Боб Эверетт изобрел «световой пистолет», который взаимодействовал с дисплеем, выключая определенные точки. Что как раз и происходит на рисунке 4.11 – съемка датирована апрелем 1952 года. Для американцев это были самые ранние опыты взаимодействия с цифровым изображением, но, как мы вскоре увидим, британцы их опередили.
В сентябре 1949 года к Whirlwind– добавили «специальный дисплей». Его тоже сделали на основе электронно-лучевой трубки. Осциллоскоп, как они его называли (позаимствовав название у контрольно-измерительного инструмента инженеров-электронщиков), мог нарисовать точку в любом месте своего двумерного экрана, не соблюдая ограничения растровой сетки. Он отображал световые пятна, но Whirlwind не считывал их, они не были частью его памяти. Не были они и изображением битов его памяти. Осциллоскоп – не монитор, как в случае с Baby или EDSAC. Это устройство стало первым в истории компьютеров, предназначавшимся только для отображения графической информации. Любое изображение на графическом устройстве отображения – это преднамеренно созданная двумерная картинка.
Рис. 4.11
Это очень важное событие в истории Цифрового Света. Устройство позволяло создавать изображение из невидимого описания или модели, которая хранилась в памяти компьютера. Это то, что мы подразумеваем под компьютерной графикой.
Программисты Whirlwind во главе с Чарли Адамсом начали создавать изображения в конце 1949 года, сперва – при помощи программ, хранившихся в тестовой памяти на основе тумблеров. Рисунок 4.12, изображающий параболу и кривую четвертой степени с осями, сделан 18 мая 1950 года и представляет собой типичное раннее изображение, созданное на Whirlwind. Модель для каждого из этих изображений хранилась в памяти в виде математического уравнения.
Большинство изображений, созданных Whirlwind, двумерны. Но на рисунке 4.13 показаны два снимка экрана, сделанные 6 марта 1950 года, – на них, вероятно, впервые изображены трехмерные поверхности. Они дают некоторое представление о будущих реалистичных компьютерных изображениях, хотя стоит отметить, что здесь не учитывается линейная перспектива. До этого фундаментального шага в компьютерной графике оставалось более десяти лет, и он ожидал своего Брунеллески.
Осциллограф – это векторное устройство отображения. Он, перемещая электронный луч в любом направлении, рисовал пятно в произвольной точке экрана и с произвольным интервалом, а не только в регулярно расположенных точках сетки вдоль горизонтальных линий. Такое описание – еще один способ напомнить, что эти пятна не были ни битами, ни отображенными пикселями. Так началось разделение Цифрового Света на вектор и растр. Основное направление компьютерной графики – главное подразделение Цифрового Света – расцвело на этой каллиграфической ветви спустя примерно десятилетие. Оно включится в растровую ветвь к началу нового тысячелетия во время Великой цифровой конвергенции.
Гарри Хаски создавал цифровое изображение, показанное на рисунке 4.14, именно как картинку. Это фотография с монитора еще одного, но уже американского компьютера с памятью, основанной на трубках Уильямса. Хаски нелегко отнести к янки или британцам, потому что сначала он работал в команде ENIAC в Америке, а затем участвовал в проекте Pilot Ace Тьюринга в Англии. Вернувшись в США, он создал для Национального бюро стандартов машину, которую вначале назвал Zephyr – эта фотография как раз ее рекламирует – по образцу EDVAC фон Неймана. Я познакомился с доктором Хаски в 2013 году, когда ему присудили премию Fellow Awards Музея компьютерной истории в Маунтин-Вью, штат Калифорния. Ему было 97 лет. Он рассказал, что работал над этим изображением в конце 1948 года – и вручную заносил биты в память трубки Уильямса, используя ту же технику, что и Килбурн. Это третье цифровое изображение сделано в начале разработки Zephyr. Компьютер позже переименовали в SWAC и запустили в работу в августе 1950 года.
Рис. 4.12
Рис. 4.13
Хотя к 1948 году лампы Selectron еще не были готовы, чтобы служить устройствами памяти в MANIAC фон Неймана, они все равно включились в забег раннего Цифрового Света, потому что кто-то вручную создал изображение (рис. 4.15) на лампе Selectron. На ней горела аббревиатура RCA Laboratories, где Зворыкин и Райхман разрабатывали Selectron. Поскольку Райхман сыграл наиболее важную роль, возможно, именно он создал эту картинку.
Джон Преспер Эккерт, участник команды ENIAC и EDVAC, – еще один американец, попытавшийся создать память на базе электронно-лучевой трубки в 1946 году. У него и его коллег получилось записывать биты на экране ЭЛТ, но не удалось сохранять их достаточно долго, чтобы устройство смогло использоваться как надежная память. Усилия Эккерта стали еще одним сетом в матче янки против британцев за первенство в разработке компьютерной памяти, и американцы снова проиграли.
Хотя команде Эккерта не удалось создать свою конструкцию запоминающего устройства, она изготовила работающий прототип, как только узнала о результатах наработок Уильямса и Килбурна. Герман Лукофф, инженер из группы Эккерта, проводя тесты на надежность хранения, вручную вводил в память свои инициалы H. L. Эту картинку Лукофф сделал где-то между декабрем 1948 и мартом 1949 года, но у нас нет ее фотографии. Эта память, однако, никогда не использовалась в компьютере.
Руководство по программированию Ferranti Mark I от марта 1951 года, написанное Тьюрингом, содержит фотографию, показанную слева на рисунке 4.16. Килбурн представил его на компьютерной конференции в декабре того же года. Справа на рисунке показана, возможно, цифровая картинка, созданная под управлением программы, но она грубая и неубедительная. С левой стороны вы видите случайный набор точек, показывающий состояние битов памяти. Он не имеет двумерной когерентности и определенно не относится к цифровым изображениям.
Участникам конференции также продемонстрировали векторное изображение, созданное на компьютере Whirlwind. Оно показано справа на рис. 4.16. Его определенно сгенерировала программа. Это были единственные цифровые изображения в материалах конференции. По сути, произошло публичное объявление о расколе между векторной каллиграфией и растром. По крайней мере, изображение, сгенерированное на Whirlwind, считается примером компьютерной графики, потому что для управления его отображением на дисплее (не важно, векторном или растровом) компьютер с программой, хранимой в памяти, использовал внутреннюю модель. В данном случае – математическое уравнение многочлена седьмого порядка, лаконичное, абстрактное и невидимое. Фотография свидетельствует, что команда Whirlwind в начале 1950-х годов приступила к созданию компьютерной графики.
Рис. 4.14
Композиция из двух изображений на рисунке 4.17, а также подпись к ней взяты из рекламной брошюры Ferranti Mark I, выпущенной в декабре 1952 года. Из подписи понятно, что уже на этом этапе производители осознавали коммерческий потенциал компьютерных изображений. Картинки наконец признали серьезным делом. Мне известно, что картинку с галочками сгенерировала программа, мне рассказал об этом Дай Эдвардс, член исходной команды манчестерского компьютера. Вероятно, его запрограммировал Дитрих Принц, еврей, бежавший из Берлина в Британию в 1938 году.
Рис. 4.15
Игры сопровождают компьютер с момента его появления. В общих чертах, с момента рождения его сопровождает интерактивность. Поразительно, что уже на заре Цифрового Света инновации в компьютерах стимулировало желание играть. Непреодолимое желание взаимодействовать с самыми сложными из созданных нами машин возникло сразу, как только они появились.
Кристофер Стрейчи, однокурсник Тьюринга по Кембриджу, пытался сделать программу для игры в шашки на Pilot Ace. В письме Тьюрингу от 15 мая 1951 года он утверждал, что она работает. Затем Стрейчи узнал, что у манчестерского Мark I, потомка Baby, гораздо больше памяти. Наверняка возможность визуализировать память тоже произвела на него впечатление. Он переписал свою программу с использованием руководства по программированию Тьюринга и запустил ее на коммерческой версии Ferranti Mark I не позднее 9 июля 1952 года.
«Он сам писал руководство [по программированию Ferranti Mark I], и, когда я заполучил копию, я понял, почему оно славится тем, что его никто не понимает, – рассказывал Стрейчи о Тьюринге. – Люди просто не привыкли читать точные описания, и это усугублялось слегка раздражающим предположением Алана, что все такие же умные, как он».
Рис. 4.16
Последовательные состояния доски для игры в шашки отображались на трубке Уильямса. На рисунке 4.18 показаны шесть оригинальных фото, сделанных Стрейчи. Изображения сгенерировал компьютер под управлением программы в своей памяти.
Шашки Стрейчи – это лучший из задокументированных претендентов на звание первой в мире видеоигры. Но в период с 1950 по 1952 год созданы несколько компьютеров, и любой из них можно было запрограммировать для игры (а еще – для показа неподвижных изображений или анимации). Безусловно, как мы увидим далее, появлялись даже вполне анекдотические претенденты.
Что интересно, шахматы никогда не претендовали на звание первой видеоигры, хотя Тьюринг увлекался ими. Как и Клод Шеннон, который встречался с Тьюрингом в Манчестере в 1950 году, в том числе и для обсуждения этого вопроса. Как и Дитрих Принц, который довольно рано присоединился к разработчикам Ferranti. Как и Стрейчи. Но шахматы были слишком сложны для компьютеров того времени, хотя Принц запрограммировал заключительную часть этой игры, эндшпиль, в пределах двух ходов до мата в 1951 году на Ferranti Mark I. Хотя, вероятно, именно он сгенерировал изображение с галочками (рис. 4.17), нет никаких доказательств, что его шахматная программа использовала визуальный дисплей.
Рис. 4.17 [Иллюстрация возможных изображений, которые демонстрируются на экране монитора, когда Компьютер производит проверку своей оперативной памяти. Другие изображения могут демонстрировать кривые, таблицы и т. п.]
Еще два претендента на звание первой в мире видеоигры написаны для EDSAC. В диссертации, защищенной в Кембридже в ноябре 1952 года, Стэнли Гилл описал простую программу, в которой овца приближается к забору с парой ворот. EDSAC на дисплее рисовал вертикальную линию забора, в которой промежутки сверху и снизу изображали ворота. Напротив ворот, открытие которых предсказывала программа, компьютер проводил горизонтальную линию. Игрок движением руки прерывал луч считывателя перфоленты, чтобы открыть верхние ворота, иначе открывались нижние. Графика и сама игровая механика были примерно такими же простыми, как и у гораздо более поздней видеоигры Pong. Увы, снимков экрана с этой игрой никто не сделал[21]21
Pong – спортивная видеоигра, симулятор тенниса, разработанная и выпущенная компанией Atari в 1972 году. Считается первой в истории коммерчески успешной видеоигрой. – Прим. ред.
[Закрыть].
Рис. 4.18
Рис. 4.19
Александр Шафто «Сэнди» Дуглас сделал фотографии (рис. 4.19) своего игрового творения. Он запрограммировал крестики-нолики для EDSAC примерно в 1952 году, но точно до марта 1953-го. Эти три картинки – оригиналы фото, которые он сделал с монитора компьютера. Если в случаях, когда точная дата неизвестна, ориентироваться на самый ранний срок, то Гилл с ноябрем 1952 года побеждает Дугласа с мартом 1953 года, что делает их создателями второй и третьей видеоигр соответственно. Согласно этому алгоритму овцы проигрывают шашкам, но берут верх над крестиками-ноликами.
Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?