Сэр Морис Винсент Уилкс (26 июня 1913 г. – 29 ноября 2010 г.) [11] был английским ученым-компьютерщиком , который спроектировал и помог построить электронный автоматический калькулятор с задержкой хранения (EDSAC), один из самых ранних компьютеров с хранимой программой , и который изобрел микропрограммирование , метод использования логики хранимой программы для работы блока управления цепей центрального процессора . На момент своей смерти Уилкс был почетным профессором Кембриджского университета .
Уилкс родился в Дадли , Вустершир , Англия [12] был единственным ребенком Эллен (Хелен), урожденной Мэлоун (1885–1968) и Винсента Джозефа Уилкса (1887–1971), бухгалтера в поместье графа Дадли . [13] Он вырос в Стаурбридже , Западный Мидленд, и получил образование в колледже короля Эдуарда VI в Стаурбридже . В школьные годы его учитель химии познакомил его с любительским радио . [14]
Он изучал математические трипос в колледже Св. Иоанна в Кембридже с 1931 по 1934 год, а в 1936 году защитил докторскую диссертацию по физике на тему распространения радиоволн сверхдлинных радиоволн в ионосфере . [15] Он был назначен на должность младшего преподавателя Кембриджского университета , где участвовал в создании вычислительной лаборатории. Он был призван на военную службу во время Второй мировой войны и работал над радаром в Исследовательском центре телекоммуникаций (TRE) и в оперативных исследованиях . [16]
В 1945 году Уилкс был назначен вторым директором Математической лаборатории Кембриджского университета (позже известной как Компьютерная лаборатория). [12]
В кембриджской лаборатории изначально было много различных вычислительных устройств, включая дифференциальный анализатор . Однажды Лесли Комри посетил Уилкса и одолжил ему копию допечатного описания Джона фон Неймана EDVAC , преемника ENIAC [17] [18], который разрабатывался Преспером Экертом и Джоном Мочли в Школе электротехники Мура . Ему пришлось прочитать его за ночь , потому что он должен был вернуть его, а возможности для копирования не существовали. Он сразу же решил, что документ описывает логическую конструкцию будущих вычислительных машин, и что он хочет участвовать в проектировании и создании таких машин. В августе 1946 года Уилкс отправился на корабле в Соединенные Штаты, чтобы записаться на лекции в Школе Мура , на которых он смог присутствовать только последние две недели из-за различных задержек в пути. [19] Во время пятидневного обратного плавания в Англию Уилкс в деталях набросал логическую структуру машины, которая станет EDSAC.
Поскольку его лаборатория имела собственное финансирование, он сразу же смог начать работу над небольшой практической машиной, EDSAC (для «Электронного автоматического калькулятора с задержкой хранения»), [8] вернувшись в Кембридж. Он решил, что его задача не в том, чтобы изобрести лучший компьютер, а просто сделать его доступным для университета. Поэтому его подход был неустанно практичным. Он использовал только проверенные методы для построения каждой части компьютера. Полученный компьютер был медленнее и меньше, чем другие запланированные современные компьютеры. Однако компьютер его лаборатории был вторым практическим компьютером с хранимой программой, который был завершен и успешно работал с мая 1949 года, за год до гораздо более крупного и сложного EDVAC. В 1950 году вместе с Дэвидом Уилером Уилкс использовал EDSAC для решения дифференциального уравнения, касающегося частот генов в статье Рональда Фишера . [20] Это представляет собой первое использование компьютера для задачи в области биологии .
В 1951 году он разработал концепцию микропрограммирования [10] , осознав, что центральный процессор компьютера может управляться миниатюрной, узкоспециализированной компьютерной программой в высокоскоростном ПЗУ . Эта концепция значительно упростила разработку ЦП. Микропрограммирование было впервые описано на инаугурационной конференции по компьютерам Манчестерского университета в 1951 году [21] , затем расширено и опубликовано в IEEE Spectrum в 1955 году. [ необходима цитата ] Эта концепция была впервые реализована в EDSAC 2 [ 9] , который также использовал несколько идентичных «битовых слайсов» для упрощения конструкции. Для каждого бита процессора использовались взаимозаменяемые, сменные сборки трубок. Следующим компьютером для его лаборатории стал Titan , совместное предприятие с Ferranti Ltd, начатое в 1963 году. В конечном итоге он поддерживал первую в Великобритании систему с разделением времени [22] [23] , которая была вдохновлена CTSS [24] [25] и обеспечивала более широкий доступ к вычислительным ресурсам в университете, включая графические системы с разделением времени для механических САПР . [26]
Примечательной особенностью дизайна операционной системы Titan было то, что она обеспечивала контролируемый доступ на основе идентификатора программы, а также или вместо идентификатора пользователя. Она представила систему шифрования паролей, которая позже использовалась Unix . Ее система программирования также имела раннюю систему контроля версий. [26]
Уилксу также приписывают идею символических меток, макросов и библиотек подпрограмм. Это фундаментальные разработки, которые значительно упростили программирование и проложили путь для языков программирования высокого уровня . Позже Уилкс работал над ранней системой разделения времени (теперь называемой многопользовательской операционной системой) и распределенными вычислениями . К концу 1960-х годов Уилкс также заинтересовался вычислениями на основе возможностей , и лаборатория собрала уникальный компьютер, Cambridge CAP . [27]
В 1974 году Уилкс столкнулся со швейцарской сетью передачи данных (в Hasler AG), которая использовала кольцевую топологию для распределения времени в сети. Первоначально лаборатория использовала прототип для совместного использования периферийных устройств. В конечном итоге были сформированы коммерческие партнерства, и похожая технология стала широко доступна в Великобритании.
Уилкс получил ряд отличий: он был рыцарем-бакалавром , почетным членом Британского компьютерного общества , членом Королевской инженерной академии и членом Королевского общества . [28] [29] [30] [31 ] [ 32] [14] [16] [33] [34] Уилкс был одним из основателей Британского компьютерного общества (BCS) и его первым президентом (1957–1960). В 1967 году он получил премию Тьюринга со следующей цитатой: «Профессор Уилкс больше всего известен как создатель и проектировщик EDSAC, первого компьютера с внутренней программой. Построенный в 1949 году, EDSAC использовал память с ртутной линией задержки . Он также известен как автор, совместно с Дэвидом Уилером и Стэнли Гиллом , тома « Подготовка программ для электронных цифровых компьютеров» в 1951 году, [35] в котором были эффективно представлены библиотеки программ». В 1968 году он получил Мемориальную премию Гарри Х. Гуда со следующей формулировкой: «За его многочисленные оригинальные достижения в области компьютеров, как в области инженерии, так и программного обеспечения, а также за его вклад в развитие деятельности профессионального сообщества и в международное сотрудничество между компьютерными специалистами». [36]
В 1972 году Уилксу была присуждена почетная степень доктора наук Ньюкаслским университетом . [37]
В 1980 году он ушел с должности профессора и руководителя компьютерной лаборатории и присоединился к центральному инженерному составу Digital Equipment Corporation в Мейнарде, штат Массачусетс , США. [12]
В 1981 году Уилкс был награжден медалью Фарадея Институтом инженеров-электриков. Премия Мориса Уилкса , ежегодно присуждаемая за выдающийся вклад в архитектуру компьютеров, сделанный молодым ученым или инженером-компьютерщиком, названа в его честь. В 1986 году он вернулся в Англию и стал членом Совета по стратегии исследований Оливетти . В 1987 году ему была присуждена почетная степень (доктор наук) Университетом Бата . В 1993 году Уилксу была вручена Кембриджским университетом почетная степень доктора наук. В 1994 году он был введен в качестве члена Ассоциации вычислительной техники . В 1997 году он был награжден медалью Маунтбеттена , а в 2000 году прочитал первую лекцию Пинкертона . Он был посвящен в рыцари в Новогоднем почетном списке 2000 года . В 2001 году он был назначен членом Музея компьютерной истории «за вклад в компьютерные технологии, включая ранний дизайн машин, микропрограммирование и сеть Cambridge Ring». [38] В 2002 году Уилкс вернулся в компьютерную лабораторию Кембриджского университета в качестве почетного профессора. [12]
В своих мемуарах Уилкс писал: [16]
Я хорошо помню, когда это осознание впервые пришло ко мне со всей силой. EDSAC находился на верхнем этаже здания, а оборудование для перфорации и редактирования ленты — этажом ниже. ... Во время одного из моих путешествий между комнатой EDSAC и оборудованием для перфорации, «колеблясь на углах лестниц», ко мне со всей силой пришло осознание того, что большую часть оставшейся жизни мне предстоит провести, находя ошибки в собственных программах.
В 1947 году Уилкс женился на классике Нине Твайман. [39] Она умерла в 2008 году, он — в 2010 году. У Уилкса остались один сын и две дочери.
Как только мы начали программировать, мы с удивлением обнаружили, что писать программы правильно не так просто, как мы думали. Нам пришлось открыть для себя отладку. Я помню точный момент, когда я понял, что с тех пор большую часть своей жизни я буду тратить на поиск ошибок в собственных программах.
Сэр Морис, как его знают сегодня, был вдохновлен CTSS на создание системы разделения времени
Морис Уилкс открыл для себя CTSS во время визита в Массачусетский технологический институт примерно в 1965 году и вернулся в Кембридж, чтобы убедить остальных из нас, что разделение времени — это путь вперед