Уилкс провел аналогию между этим подходом и обычным программированием и для описания своих идей заимствовал термины из области программирования, прибавив к ним в каждом случае приставку "микро", указывающую на элементарность операций управления. Так появился термин "микропрограммирование" и целое семейство родственных ему. В частности, каждый ряд клеток в управляющей матрице Уилкс назвал микроинструкцией, а каждую последовательность рядов, выполняющих одну макроинструкцию, — микропрограммой. Запоминающее устройство для хранения микропрограмм ученый предложил называть микропрограммной памятью. Принцип микропрограммирования облегчил понимание функций управления, а благодаря тому, что сложные схемы управления оказались замененными матрицей из повторяющихся запоминающих ячеек, упростилось построение аппаратуры. Еще важнее то, что этот принцип позволил придать машине дополнительную гибкость: стало возможным изменять систему управления, не конструируя заново аппаратную часть.
Свои идеи по микропрограммированию Морис Уилкс представил в докладе "Наилучший метод конструирования автоматической вычислительной машины" на конференции в Манчестерском университете, состоявшейся в июле 1951 года. Предложенный им метод стал основой техники микропрограммирования, которой предстояло стать популярной двумя десятилетиями позже, в начале 70-х годов.
В том же, 1951 году, Уилкс опубликовал еще одну работу. Совместно с двумя коллегами, Дэвидом Уиллером и Стенли Гиллом, он написал первый учебник по программированию.
К 60-м годам, после EDSAC–II, стало ясно, по какому направлению пойдет развитие компьютеров. Как писал в эти годы Уилкс, "первые компьютеры в известном смысле были вещью для программиста", и довольно скоро стала очевидна неэффективность такого использования дорогого и дефицитного оборудования. На смену однопрограммному режиму работы пришли многопрограммный режим и режим разделения времени. "Оно не было следствием открытия какого-либо нового принципа, просто стало ясно, что существующие технические средства можно использовать гораздо лучше, чем до сих пор," — писал М. Уилкс. В США, Англии и СССР развернулись работы по созданию систем с разделением времени, и первая CTSS была разработана Ф. Корбато и Р. Фано в 1963 году в Массачусетском технологическом институте. Затем в Англии в середине 60-х годов ученые Кембриджа в сотрудничестве с фирмой Ferranti Ltd под руководством Мориса Уилкса создали систему с разделением времени Titan.
С 1965 года Уилкс, будучи профессором Компьютерных технологий, вместе с Чарльзом Лангом участвовал в создании системы автоматизированного проектирования на основе миникомпьютеров PDP-7 компании DEC. Эта система совершенствовалась в течение 15 лет.
В 1974 году Морис Уилкс включился в работу по созданию корпоративной сети Кембриджского университета, так называемое "кольцо Кембриджа", с использованием сравнительно недорогих рабочих станций.
Выйдя в отставку и покинув Кембридж в 1980 году, он стал штатным консультантом компании DEC, а затем членом ученого совета по планированию научных исследований организации Olivetti Research Board. По возвращении в Кембридж он становится Заслуженным профессором в отставке, а в 1993 году ему была присвоена степень Почетного доктора наук.
Морис Уилкс был первым президентом Британского компьютерного общества, членом Королевского общества, иностранным членом многих академий — Испании, Америки, Еермании и др. В 1967 году он получил Тьюринговскую премию как первооткрыватель в таких областях, как компьютеры с хранимой программой, библиотеки подпрограмм и микропрограммирование.
Том Килбурн
Дальнейшее наше повествование посвящено другому первооткрывателю — Тому Килбурну, скромному профессору из Манчестера.
Он родился в 1921 году в Дьюсбери, в графстве Йоркшир (Англия). Закончив школу, Килбурн поступил в Кембриджский университет, где его страстью стала математика. По окончании университета он получил степень бакалавра наук, а затем магистра наук.
В 1942–1946 годах Том Килбурн проводил исследования в области электричества, магнетизма и электроники в City & Guilds в Лондоне, а затем работал в Научно-исследовательском институте дальней связи. Здесь состоялась его встреча с новым боссом, а затем коллегой Фредериком Уильямсом. Том Килбурн быстро произвел на всех впечатление как человек с острым мышлением и технически грамотный специалист в области электронной схемотехники и как член группы Уильямса сделал много усовершенствований в электронных схемах радара.
Значительной разработкой группы Уильямса было использование электронно-лучевой трубки (ЭЛТ) для хранения битов данных. Так называемая трубка Уильямса записывала на люминофорном покрытии экрана точки и тире, которые представляли соответственно 0 и 1 двоичных данных. Поместив в металлическую пластину на экран трубки, можно было получить емкостную связь, а затем для считывания этих точек и тире использовать развертку электронным лучом. Применение трубок Уильямса позволяло осуществлять произвольную выборку хранимой информации (первые ЗУПВ) вместо последовательной выборки при использовании ртутных линий задержки.
Фредерик Уильямс
В декабре 1946 года Фредерик Уильямс и Том Кил- бурн перешли в Манчестерский университет для того, чтобы усовершенствовать конструкцию запоминающей трубки и в то же время начать разработку того, что впоследствии стало первым компьютером с хранимой программой.
Том Килбурн познакомился с разрабатываемыми в США компьютерами еще в 1945 году, а затем более детально изучил их в начале 1947 года, когда посещал лекции Алана Тьюринга в Национальной Физической Лаборатории (НФЛ). Известно, что в это время Тьюринг и его коллеги из НФЛ разрабатывали компьютер и подробности его создания излагались на лекциях Тьюринга.
Подготовив таким образом плацдарм, Килбурн вместе с Джеффри Тутиллом возглавил разработку компьютера Baby (Small-Scale-Experimental-Machine) с памятью на трубке Уильямса объемом 1024 бита. 21 июня 1948 года Том Килбурн просчитал первую программу на компьютере Baby. Программа по определению максимального множителя числа была реализована компьютером за 52 минуты.
Новость о появлении Baby была подхвачена журналистами: "Чудо нашего времени…", "Запоминающая машина, способная решать сложнейшие математические задачи"… — гласили заголовки газет. Изобретатели были завалены письмами от ученых-биофизиков, физиков-ядерщиков, метеорологов с просьбами произвести расчеты, но создатели компьютера были заинтересованы в заказах на разработку новых машин.
В дальнейшем Baby был доработан и стал называться "манчестерский Mark-1" (чтобы не путали с "Марк-I" Говарда Айкена). В 1951 году фирма Ferranti Ltd поставила на рынок одну из первых в мире коммерческих машин, которая называлась Ferranti Mark 1.
В начале 50-х годов Том Килбурн работал в Манчестерском университете в качестве лектора электротехнической кафедры, а затем приступил к своей уникальной разработке — машине Atlas.
Компьютер Baby
Машина Atlas — первая компьютерная система, в которой были реализованы многие устройства и принципы, в настоящее время признанные стандартными, в том числе виртуальное (логическое) пространство адресов, превышающее по объему фактическое (физическое) адресное пространство, одноуровневая память на магнитных сердечниках с дублирующим ее магнитным барабаном, а также архитектура, основанная на использовании операционной системы с аппаратными средствами для облегчения программирования (например, с экстракодами).
Работы по созданию этой машины начались в 1956 году под руководством Тома Килбурна в Манчестерском университете. С 1958 года проект Atlas финансировался фирмой Ferranti Ltd. Опытный образец машины был испытан в 1961 году, а первые промышленные образцы машины появились на рынке в 1963 году.