Шрифт:
Интервал:
Закладка:
Архитектура Тьюринга сильно отличалась от архитектуры, разработанной командой фон Неймана. Тьюринг предложил реализовать аппаратную поддержку новой концепции — программной иерархии. Программисты (читай: сам Тьюринг) быстро поняли, что продуктивнее создавать программы как иерархические пирамиды. Иерархия придает смысл и структуру чрезвычайно длинным линейным спискам бессмысленных инструкций.
Создание иерархии внутри программы чем-то напоминает разделение книги на главы. Предположим, что программа состоит из сотен тысяч инструкций — вполне привычно для современного мира, но невозможно уложить в человеческой голове. Однако попробуйте разбить ее, скажем, на сотню частей, в среднем по несколько тысяч инструкций в каждой, и дать каждой части осмысленное имя. Тогда для программиста она сведется только к сотне поименованных осмысленных частей, каждая из которых называется подпрограммой (это слово придумал не Тьюринг). На самом высоком уровне иерархии программа концептуально состоит всего из сотни «инструкций», где каждая инструкция представляет собой подпрограмму. Это как оглавление книги и ее главы.
Программист все еще должен создать все подпрограммы со всеми их утомительными деталями, точно так же как и автор должен сочинить каждую главу. Но задача написать каждую часть уже более компактна и вполне укладывается в отдельной голове, хотя она и более кропотливая. Как говорится в одной известной шутке, слона проще съесть по кусочкам. Кроме того, эта иерархическая идея действует и на других уровнях. Дополнительно каждую подпрограмму можно разделить на свои собственные подпрограммы, а их, в свою очередь, — на свои и так далее. Еще более маленькие кусочки легче надкусывать, их еще проще запрограммировать. Концепция подпрограммы делает чрезвычайно сложную задачу понятной — например, дальнейшее разбиение глав на подпункты, подпункты на абзацы и, наконец, на сами слова. Архитектура Тьюринга подразумевает аппаратное ускорение, которое делает иерархическое использование подпрограмм быстрее и проще.
Безусловно, архитектура Тьюринга со своей изощренной поддержкой подпрограмм имела все шансы стать повсеместно принятой, но этого не произошло. В 1940-х годах американцы опубликовали отчет EDVAC фон Неймана, а отчет AСЕ Тьюринга британцы обнародовали лишь в 1986 году.
Британцы
ACE, единственная неудача Тьюринга
Сэр Чарльз Галтон Дарвин, директор Национальной физической лаборатории и внук великого биолога-эволюциониста, сразу после войны инициировал работы по развитию британской электронно-вычислительной техники. Все началось довольно неплохо. Он пригласил на работу Тьюринга. Тот уже в конце 1945 года приступил к созданию архитектуры компьютера, впоследствии получившего имя ACE, и вскоре представил свой план. В его отчете ACE за 1946 год упоминается чуть более ранний отчет фон Неймана EDVAC, в котором представлена конкурирующая архитектура американцев. Но Тьюринг продвинулся дальше. Его отчет содержал не только архитектуру, но и конструкцию — вероятно, это был первый реальный проект электронного компьютера. Тьюринг погрузился в работу по строительству Pilot Ace — прототипа компьютера, основанного на архитектуре ACE. Несомненно, компьютер, разработанный Тьюрингом — человеком, который изобрел саму концепцию компьютера, — должен был стать первым компьютером в мире. Увы, но этого не произошло. Проект Pilot Ace пал жертвой многочисленных проблем[18].
Одной из них стал сам Тьюринг. Во-первых, он продолжал менять архитектуру по мере того, как ему приходили в голову новые блестящие идеи. Во-вторых, он не умел играть в команде. Или, говоря иначе, но более позитивно, он обладал необычайно сильной индивидуальностью. Однако другие проблемы у проекта возникли не по его вине, например бюрократическая некомпетентность и досадное физическое разделение теоретической концепции с практическим воплощением — башни из слоновой кости и зловонной лаборатории. Держать разработчиков аппаратного и программного обеспечения отдельно друг от друга — не лучшая идея. В отличие от своего знаменитого дедушки, Чарльз Галтон Дарвин был не столько ученым, сколько бюрократом, и на нем лежит значительная доля ответственности за возникшую неразбериху.
Проект Pilot Ace превратился в настолько запутанный клубок, что разочарованный и обескураженный Тьюринг покинул проект задолго до завершения. Дарвин писал: «Мы согласны, что было бы лучше, если бы Тьюринг на какое-то время отказался от работы с нами». Первый детский крик Pilot Ace, безнадежно запоздалый, наконец прозвучал 10 мая 1950 года — почти на два года позже появления Baby. Pilot Ace едва успел попасть в десятку первых компьютеров. А полноценный ACE, детище Pilot Ace и главная цель Тьюринга, будет создан только через десять лет после его ухода из проекта.
Однако перед тем как покинуть проект в 1947 году, Тьюринг прочитал знаменитую лекцию об ACE — и в ней он использовал новое слово «программирование». В аудитории находился инженер Том Килбурн, который ненадолго заехал в Лондон по пути в Манчестер, где он собирался присоединиться к Фредди Уильямсу. Тьюринг тоже отправится туда примерно через год. Удачным следствием его безуспешного ухода из проекта ACE оказалось то, что он стал открыт для других компьютерных проектов. В Тьюринге нуждался даже Макс Ньюман, тот самый кембриджский профессор, который своей лекцией о е-Проблеме когда-то вдохновил Тьюринга на идею машинных вычислений, а потом убедил поехать получать степень в Принстон. Так что теперь предложение старого учителя и наставника Тьюринга помочь Манчестерскому проекту в разработке программного обеспечения для Baby Уильямса и Килбурна оказалось счастливым билетом.
Baby
Baby родился 21 июня 1948 года в Манчестерском университете. Уильямс и Килбурн спроектировали и построили его с нуля в зловонной лаборатории на факультете электротехники. Они сделали его собственноручно. Килбурн сам написал первую программу для него. Они объявили о рождении Baby — с отцовской гордостью, как мне кажется — в сентябрьском номере престижного научного журнала Nature.
Ньюман, намеревавшийся заманить Тьюринга в проект, пребывал в башне из слоновой кости — он работал на факультете математики Манчестерского университета. После положительного опыта работы с почти-компьютером Colossus в Блетчли-Парке он планировал заполучить полноценный компьютер для Манчестерского университета. Он всерьез порывался пригласить американцев в лице фон Неймана и даже начал с ним переписку, когда обнаружил, что домашняя команда Манчестера, состоящая из Уильямса и Килбурна, уже опередила янки. Он быстро переориентировался и через пропасть, разделяющую башню из слоновой кости и
- Цифровой журнал «Компьютерра» № 98 - Коллектив Авторов - Прочая околокомпьтерная литература
- Грузовые автомобили. Освещение, сигнализация, контрольно-измерительные приборы - Илья Мельников - Техническая литература
- Журнал PC Magazine/RE №05/2008 - PC Magazine/RE - Прочая околокомпьтерная литература