Джордж Дайсон: Как рождались компьютеры

Лекции

Джордж Дайсон: Как рождались компьютеры

Историк Джордж Дайсон рассказывает о рождении современного компьютера – от его истоков в XVI веке до забавных заметок некоторых компьютерщиков-первопроходцев

Джордж Дайсон
Лидерство

В прошлом году я рассказал вам историю – за семь минут – про «Проект Орион», это была совершенно невероятная технология, которая с технической точки зрения была работоспособна, но политическое «окно», когда все могло получиться, было всего год, так что ничего не вышло. Это была мечта, которая не сбылась.

В этом году я расскажу вам историю о рождении цифровых вычислений. Это было отличное вступление. И это – история, когда все получилось. Это произошло, и эти машины повсюду рядом с нами. Это технология, которая была неизбежна. Если бы не те люди, о которых я расскажу, – если бы не они, то кто-то другой это сделал бы. Это была как бы нужная идея в нужный момент. Это – Вселенная Барричелли, Вселенная, в которой мы сейчас живем. Это Вселенная, в которой эти машины делают все, включая изменение биологии. Я начинаю этот рассказ с первой атомной бомбы в Тринити, то есть Проекта Манхэттен. Это было нечто вроде TED: он свел целую кучу очень умных людей вместе. И трое самых умных из них были Стэн Улем, Ричард Файнман и Джон фон Нойман, и именно фон Нойман сказал, после бомбы, что он работал на чем-то гораздо важнее бомб: он думал о компьютере. И он не просто о нем думал, он его построил.

Вот машина, которую он построил. Он собрал эту машину и устроил замечательную демонстрацию этой штуки в работе, со всеми этими битами. И идея эта совершенно не нова. Первым, кто это объяснил, был Томас Хоббс, который в 1651-м году показал, что арифметика и логика – суть одно и то же, и что, если вы хотите создать искусственное мышление и логику, вы можете все это делать с помощью арифметики. Он считал, что нужны лишь сложение и вычитание.

Лейбниц, пришедший чуть позже – это 1679-й – продемонстрировал, что даже вычитание не нужно: все можно сделать лишь с помощью сложения. Вот вам вся бинарная арифметика и логика, произведшая компьютерную революцию, и Лейбниц был первым, кто заговорил о создании такой машины. Он предполагал делать это с помощью шариков с воротами, что мы теперь называем сдвиговыми регистрами. Вы сдвигаете ворота, и шарики проваливаются на желоба. И все эти машины именно это и делают, разве что вместо шариков они делают это с электронами. И затем мы перескакиваем к фон Нойману, в 1945-й, когда он как бы заново изобретает все то же самое.

А в 1945-м, после войны, уже существовала электроника, необходимая, чтобы попробовать построить такую машину. Итак, июнь 1945-го. Собственно, бомба еще не сброшена, а фон Нойман собирает всю теорию, необходимую для постройки этой штуки, что возвращает нас к Тьюрингу, еще раньше подавшему идею, что все то же можно сделать с помощью совершенно безмозглого маленького конечного автоматика, просто читающего ленту туда-сюда. Еще одна идея, поданная фон Нойманом, – по поводу трудностей прогнозирования погоды. Льюис Ричардсон понял, как это можно делать с помощью людской клеточной структуры, давая каждому по кусочку и сводя воедино. А вот – электрическая модель, иллюстрирующая разум, обладающий волей, но способный только на две идеи. Это и правда простейший компьютер. Вот, собственно, зачем и нужен кубит, – потому что у него есть только две идеи. И если большое количество их собрать вместе, получится основа современного компьютера: арифметическое устройство, центральное управление, память, устройство записи, ввод и вывод. Но есть одна загвоздка. «Неисправимая ошибка» – знаете, мы видели ее при запуске этих программ. Команды, управляющие этим процессом, должны быть абсолютно исчерпывающе точными. Так что программирование должно быть совершенно, иначе оно не работает.

Если посмотреть на истоки этого, классическая история здесь возводит все к ЭНИАКу вот здесь. Но на самом деле машина, о которой я вам расскажу, машина Института передовых исследований, которая вон там наверху, должна быть здесь внизу. Так что я пытаюсь пересмотреть историю и воздать должное тем, кто этого заслужил. Такой компьютер открыл бы вселенные, находящиеся сейчас вне досягаемости для любых приборов, так что он открывает совершенно новый мир, и эти люди предвидели это. Тот, кому надлежало построить эту машину, – мужчина в середине, Владимир Зворыкин из RCA. RCA, приняв, наверное, самое паршивое бизнес-решение всех времен, решила не заниматься компьютерами. Но первые собрания, в ноябре 1945, проводились в офисах RCA. RCA заварила эту кашу, а потом заявила, мол, будущее – за телевидением, а не компьютерами. Основы были заложены – все, что нужно для работы этих машин. Фон Нойман, а также логик и армейский математик, свели все воедино. Затем им понадобилось место для сборки. Когда RCA отказала, вот тогда они и решили собрать его в Принстоне, где Фриман работал в Институте. Там, где я провел свое детство.

Это я и моя сестра Эстер, которая выступала перед вам ранее, так что мы оба уходим корнями к рождению этой штуки. Это – Фриман, много лет назад, а это – я. Это фон Нойман и Моргенштерн, написавшие «Теорию игр». Все эти силы сошлись вместе там, в Принстоне. Оппенгеймер, построивший бомбу. На самом деле машина использовалась в основном для расчетов для бомбы. И Джулиан Бигелоу, который занял место инженера, чтобы понять, как с помощью электроники построить эту штуку. Вся команда людей, которым случилось работать над этим, и женщины на переднем плане, писавшие большинство кода, были первыми программистами. Вот это прообраз ботанов-компьютерщиков. Они были не на своем месте в институте. Это – письмо директора, озабоченного «особенной несправедливостью в вопросе о сахаре». Можете сами прочитать текст. Это – хакеры, впервые заработавшие себе проблемы.

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

Это был первый микропроцессор. Все нынешние компьютеры – копии этой машины. Памать была в электронно-лучевых трубках – целая куча точек на лицевой стороне трубки, крайне чувствительных к электромагнитным возмущениям. И вот, 40 этих трубок, как 40-цилиндровый двигатель, приводящий в движение память. Сначала ввод и вывод производился в помощью телетайпной ленты. Это – проволочный накопитель с велосипедными колесами. Это – прообраз теперешнего жесткого диска в вашем компьютере. Позже они перешли на магнитный барабан. Вот модификация оборудования IBM, которое было у истоков всей индустрии обработки данных, позже начатой в IBM. А это – начало компьютерной графики, называлось «Graph’g-Beam Turn On.» На следующем слайде – насколько я знаю, первый цифровой растровый дисплей, 1954 год.

Итак, фон Нойман уже витал в облаках теории, проводя абстрактные исследования о том, как можно построить надежные машины из ненадежных компонентов. А те ребята, которые выпили весь чай с сахаром, строчили в своих журналах, пытаясь заставить работать эту штуку из 2600 ламп, которые сами наполовину не работали. И последние полгода я как раз читал эти журналы исследований. «Время прогона: 2 минуты. Ввод-вывод: 90 минут». Плюс большое количество человеческих ошибок. Они постоянно пытались понять: где ошибся человек, а где машина? Где проблема в коде, а где – в оборудовании? Вот инженер взирает на лампу № 36, пытаясь понять, почему память не в фокусе. Нужно было настроить память – кажется, все в порядке. Ему приходилось настраивать каждую лампу, чтобы память нормально работала, не говоря уже о программных проблемах. «Бесполезно. Ушел домой». «Невозможно ничего найти в этой чертовщине, где оглавление? Они уже тогда жаловались насчет инструкций. «Подводя итоги с чувством отвращения,» «Общая арифметика – рабочие журналы». Долгими зимними вечерами. Сокращение MANIAC стало акронимом машины: Математический и цифровой интегратор и калькулятор, «потерял память». » MANIAC снова обрёл память, когда выключили питание», «машина или человек?» «Ага!» Они нашли, что это проблема в коде. «Нашел проблему в коде. Кажется…» «Ошибка в коде, машина не виновата». «Черт возьми, я могу быть таким же упрямым, как и эта штука». «А вот и рассвет». То есть они работали всю ночь.

Эта штука работала 24 часа в сутки, в основном расчеты для бомбы. «Все, что было до сих пор – потерянное время». «Да зачем? Спокойной ночи.» «Организующая программа не работает. Гори она в аду. Конкретно не работает». «Что-то случилось с кондиционером – чувствуется запах приводных ремней.» «Замыкание, машину не включать». «Машина IBM мажет карточки смолистым веществом. Смола с крыши». Им действительно приходилось работать в сложных условиях. Вот: «Мышь забралась в вентилятор обдува стойки стабилизатора, возникла вибрация. Результат: мыши больше нет». «Здесь похоронена мышь. Родилась: ? Умерла: 4:50 утра, 1953 год.» Вот внутренний прикол, который кто-то записал: «Здесь похоронена мышь Марстон». Математики сразу поймут шутку, потому что Марстон был математиком, который возражал против компьютеров. «Убрал с барабана светлячка.» «Работает на 2 килоциклах». То есть две тысячи операций в секунду – «да, я слабак» – потому что 2 килоцикла – это медленная скорость. Быстрой скоростью тогда считалась 16 килоциклов. Не знаю, помните ли вы Mac с тактовой частотой 16 мегагерц. Очень медленный. «Я воспроизвел оба результата. Откуда мне знать, который правильный, предполагая, что один из них все-таки правильный? А это уже третий результат. Я знаю, мне крышка.» «Мы воспроизводили ошибки раньше». «Машина работает, а код – нет». «Только тогда, когда машина работает». Но иногда все в порядке. «Машина – просто прелесть, счастье навсегда». «Отличный прогон». «Мысль перед уходом: когда появятся ошибки побольше и получше, они наши».

Никто не должен был знать, что они разрабатывают бомбу. Они разрабатывали водородную бомбу. Но кто-то поздно ночью нарисовал в журнале бомбу. Такой она стала. Это был Майк, первая термоядерная бомба, 1952 год. Она была разработана на этой машине в лесу за зданием Института. Так фон Нойман пригласил кучу странных типов со всего мира работать над этими проблемами. Барричелли занимался тем, что мы сейчас называем искусственной жизнью, пытаясь понять, возможно ли это в искусственной Вселенной – он был вирусным генетиком – далеко опережая свое время. Он до сих пор впереди некоторых современных исследований. Пытался запустить искусственную генетическую систему на компьютере. Начал – его Вселенная стартовала 3 марта 1953 г. Это было почти точно 50 лет назад – кажется, будет в следующий вторник. И он видел все в терминах – он мог читать двоичный код прямо с машины. У них было отличное взаимопонимание. Другие люди не могли запустить машину, а у него она всегда работала. Даже ошибки воспроизводились. «Доктор Барричелли заявляет, что машина ошибается, а код правильный».

Итак, он разработал Вселенную и запустил ее. Когда разработчики бомбы уходили домой, ему разрешали остаться. Он часто работал с машиной всю ночь, запуская эти вещи. Если кто помнит, Стивен Вулфрам изобрел это заново. И опубликовал. Работа не легла под сукно и не исчезла. Ее напечатали в изданиях. «Если так легко создать живые организмы, почему не попробовать самому?» И он решил попробовать запустить искусственную биологию в машине. И он обнаружил все это, как натуралист, который пришел посмотреть на крошечную Вселенную на 5000 байт и увидел все то, что происходит в настоящем мире, в биологии.

Вот одно из поколений этой Вселенной. Но они просто останутся цифрами, они не станут организмами. Им чего-то не хватает. Если есть генотип, нужен и фенотип. Нужно, чтобы они вышли и что-то сделали. И он начал давать маленьким цифровым организмам игрушки, чтобы они играли, например, в шахматы с другими машинами и т. д. И они начали развиваться. И после этого он поехал по стране. Когда он находил более новую и быструю машину, он использовал ее и видел в точности то, что происходит сейчас: программы, которые не завершаются, когда ты выходишь из нее, а продолжают работать, собственно, как это сейчас происходит в Windows – запуская их как многоклеточный организм на многих машинах, он представлял, как это происходит. И он понял, что сама эволюция – процесс интеллектуальный. Это не был какой-то божественный интеллект, эта штука была таким гигантским параллельным расчетом, что могла быть разумной. И он старался изо всех сил, чтобы показать, что он не говорит, что это похоже на жизнь, или новый вид жизни, а просто другая версия того, что уже происходит.

И действительно не было разницы между тем, что он делал в компьютере, и тем, что природа сделала миллиарды лет назад. Вы смогли бы повторить этой сейчас? Так что когда я углубился в эти архивы, – сейчас внимание! однажды пришел архивариус и сказал: «Кажется, мы нашли еще коробку, которую выбросили». Это была та Вселенная на перфокартах. И вот она перед нами, через 50 лет, как застывшая анимация. Это команды для запуска – фактически это исходный код для одной из тех Вселенных с примечаниями инженеров о том, какие возникали проблемы. «В этом коде должно быть что-то, чего вы еще не объяснили». И, думаю, так оно и есть. Мы до сих пор не понимаем, как эти простейшие команды могут привести к росту сложности. Где черта между тем, что похоже на жизнь, и самой жизнью?

Эти перфокарты, слава богу они попались мне, теперь спасены. И вот вопрос: стоит ли нам запустить их или нет? Знаете, можем ли мы запустить их? Или может быть выложить их в интернет? Эти машины будут думать, что они – эти организмы, если они вернутся к жизни сейчас, или что они умерли и попали на рай; есть Вселенная – мой лэптоп в 10 тысяч миллионов раз больше Вселенной, где они жили, когда Барричелли ушел из проекта. Он думал о будущем, о том, как это может перерасти действительно в новый вид жизни. Это и происходит! Когда Хуан Энрикез рассказал нам об этих 12 трлн бит, передаваемых туда-сюда, о всей этой информации генома в протеомической лаборатории, это было как раз то, что представлял Барричелли: цифровой код в этих машинах фактически начинает кодировать – он уже кодирует из нуклеиновых кислот. Мы делаем это с тех пор, как запустили полимеразную цепную реакцию и синтезируем небольшие цепочки ДНК. И довольно скоро мы будем синтезировать белки, и, как Стивен показал нам, это открывает нам новый мир. Тот мир, который представлял сам фон Нойман.

Это было опубликовано после его смерти – как бы неоконченные заметки о самовоспроизводящихся машинах. О том, как можно дать машинам этакий толчок, чтобы они начали воспроизводство. Вообще понадобилось трое людей. Барричелли придумал концепцию живого кода. Фон Нойман нашел, как можно построить машины. Так что по последним подсчетам 4 млн ноймановских машин производится в сутки. И Джулиан Бигелоу, умерший 10 дней назад, – это некролог Джона Маркоффа о нем, – он был важным недостающим звеном, инженером, который пришел в проект, зная, как собрать все эти лампы и заставить их работать. Внутри всех компьютеров – копии архитектуры, которую он разработал однажды просто при помощи карандаша и бумаги. И мы жутко обязаны ему за это. Он очень подробно описал тот дух, который собрал вместе этих людей в Институте перспективных исследований в 40-х годах на этом проекте и оставил проект в свободном доступе для всего мира, без патентов и ограничений, без споров об интеллектуальной собственности.

Вот последняя запись в журнале исследований, когда машина была отключена в июле 1958 г. И как раз Джулиан Бигелоу работал на ней до полуночи, когда машину официально отключили. Вот и конец истории. Большое вам спасибо.

Перевод: Андрей Прищенко
Редактор: Ахмет Юксельтюрк

Источник

Свежие материалы