Компьютерра
05.11.2012 - 11.11.2012
Статьи
Sketchpad Айвена Сазерленда и сила случая
Евгений Лебеденко
Опубликовано 09 ноября 2012 года
В конце пятидесятых годов прошлого века руководство Массачусетского Технологического Института (MIT) передало университетскому городку вычислительную машину TX-0. Каждый студент и аспирант MIT получил право использовать TX-0 для любых целей раз в день в течение часа. Вряд ли кто-то подозревал, что из этого выйдет.
Без того компьютера, возможно, не появилась бы одна из первых компьютерных игр — Spacewar. Не будь Spacewar, молодой аспирант Айвен Сазерленд, вероятно, выбрал бы совсем другую тему для своей докторской диссертации. Тогда, скорее всего, не увидел бы свет и его Sketchpad — уникальный программно-аппаратный комплекс, оказавший огромное влияние на развитие систем автоматизированного проектирования и формирование базовых принципов графических пользовательских интерфейсов. История вычислительной техники пошла бы по иному пути.
В середине прошлого века MIT стал одним из центров, где совершенствовались американские системы противовоздушной обороны. В 1940 году на его базе была организована лаборатория сервомеханизмов под управлением профессора Гордона Брауна. Задача, стоящая перед лабораторией, была не из простых: реализовать взаимодействие корабельных радарных установок и бортовой артиллерии с компьютером. Кроме того, лётчики хотели получить универсальный авиасимулятор, который мог быть легко перенастроен под любой тип самолёта.
Аспирант Брауна Джей Форрестер быстро понял, что аналоговые вычислители, традиционно применяемые в этой области, недостаточно эффективны. А успешное применение для баллистических расчётов цифрового компьютера ENIAC только закрепило в нём это убеждение.
Трудность заключалась в том, что существовавшие тогда способы взаимодействия операторов с цифровыми вычислительными машинами решительно не годились ни для симуляции, ни для автоматизированного управления артиллерией. Оператор не мог получать результаты вычислений в режиме реального времени или быстро вводить информацию. Самые простые операции требовали длительной возни с перфокартами или перфолентами.
Чтобы преодолеть эти проблемы, была начата разработка интерактивной вычислительной системы Whirlwind («Вихрь»). Для своего времени это была невероятно мощная машина. Арифметический модуль Whirlwind состоял из 12500 электронных ламп и трудился на частотах 1 и 2 мегагерца, выполняя двадцать тысяч операций в секунду. Whirlwind обеспечивал параллельную обработку шестнадцатибитных данных, используя для этого тридцать две команды.
Для визуализации компьютерных данных решили применить хорошо зарекомендовавшие себя в радарных установках экраны на электронно-лучевых трубках. Чтобы указать координаты цели, оператор крутил рукоятки, расположенные вокруг дисплея. Whirlwind стал, вероятно, первым компьютером, использующим для взаимодействия с человеком графические образы.
В пятидесятые годы его вычислительная мощь стала основой SAGE (Semiautomatic Ground Environment) — автоматизированной системы ПВО, объединившей Whirlwind с радарными установками на обеих побережьях США. Из главного кампуса MIT занимавший целый этаж Whirlwind переехал в мозговой центр SAGE — лабораторию Линкольна.
Инженеры лаборатории Линкольна существенно усовершенствовали средства ввода-вывода Whirlwind. Дисплей, отображавший всего 256 точек, получил матрицу 64х64 точки. Оператору Whirlwind больше не приходилось запоминать координаты объектов и возиться с рукоятками ввода координат. Вместо этого он использовал «световой пистолет», которым можно было указать на дисплее нужный объект. Компьютер вычислял координаты светового пятна и по ним идентифицировал связанный с ним объект.
Whirlwind и его преемники, компьютеры TX-0 и TX-2, годились не только для управления системами ведения огня. В 1949 году лаборатории поручили разработку системы компьютерного управления фрезерным станком. Дело в том, что создание новых реактивных истребителей требовало изготовления компонентов корпуса с высочайшей точностью, которая была недостижима даже самыми квалифицированными фрезеровщиками.