Текст книги "Архитекторы компьютерного мира"
Автор книги: Аркадий Частиков
сообщить о нарушении
Текущая страница: 8 (всего у книги 30 страниц)
Джон фон Нейман
"Повивальная бабка" компьютера
Многие люди провозгласили Неймана отцом вычислительных машин (в современном смысле термина), но я уверен, что он никогда не сделал бы подобной ошибки сам. Его (фон Неймана) достоверно можно назвать повивальной бабкой.
С.Френкель
Джон фон Нейман
В конце 1944 года, когда Маучли и Эккерт трудились над компьютером с хранимой в памяти программой EDVAC, через шесть месяцев после того, как Эккерт выдвинул идею компьютера с хранимой программой, к ним присоединился в качестве консультанта Джон фон Нейман. В то время ему шел 41 год, и он был известен как блестящий математик.
Ему суждено было оказать существенное влияние на развитие компьютерной техники в последние годы, выделить основные постулаты, определяющие архитектуру компьютера (известные как постулаты фон Неймана).
Джон фон Нейман родился в Будапеште 28 декабря 1903 года. Он был родом из венгерского высшего класса, из которого вышли многие гиганты математики и физики. Его отец, еврейский банкир Макс Нейман заслужил достаточное габсбурское уважение, чтобы добавить почетное "Маргаттай" к своему фамильному имени (позже измененное Джоном на "фон"). Янош, как его называли в детстве, был старшим из трех сыновей.
Еще маленьким ребенком Янош любил математику и постоянно стремился приспосабливать ее логику к миру в целом. Продолжительные прогулки с другом детства Юджином Вигнером привели их к дискуссии о теории множеств и теории чисел. Тем не менее, его необъятный интеллект не был ограничен математикой. С шестилетнего возраста он шутил со своим отцом на классическом греческом. Когда ему было 10 лет, для мальчика был нанят личный репетитор, позже учитель предложил его отцу развивать особые дарования Яноша. Юноша был вынужден вращаться в кругу своих сверстников, чтобы не показаться надменным. Он не нуждался в заботе. Его незаурядный ум уважали. С 1911 по 1916 год он посещал лютеранскую гимназию в Будапеште и был ее лучшим математиком.
Беспорядки Первой мировой войны нанесли удар семье фон Нейман. Когда к власти пришел коммунистический режим Бела Куна в 1919 году, банки были экспроприированы, оставив Максу фон Нейману один выбор – бежать с семьей в их дом в Вене. Они оставались там 4 месяца, возвратились домой в августе 1919 года, два месяца спустя после падения Куна. Этот эпизод превратил Яноша в антикоммуниста на всю жизнь.
Хотя он был зачислен в университет в Будапеште в 1921 году, фон Нейман получил большую часть образования в других институтах. Значительную часть времени, особенно с 1921 по 1923 год, он провел в Берлинском университете. Там он мог заниматься с математиком Эрхардом Шмидтом и слушать лекции Альберта Эйнштейна. Фон Нейман продолжил обучение в швейцарском федеральном институте Технологии в Цюрихе, где он получил диплом по специальности химическое машиностроение в 1925 году. Год спустя, 12 марта 1926 года, в возрасте 22 лет он получил докторскую степень по математике в университете в Будапеште. Не профилирующими предметами у него были экспериментальная физика и химия. Проходя обучение в университете в Геттингене в 1926 и 1927 годах, фон Нейман общался с одними из самых великолепных умов математики. Там он подружился со студентом Робертом Оппенгеймером.
В период с 1927 по 1930 год фон Нейман был лектором по математике в университете в Берлине. Редко кто, будучи молодым, получает такую должность. В течение первого года он опубликовал там 5 научных работ. Три из них, излагавшие математическую структуру для квантовой теории, имели большое значение для этой области науки. Четвертая научная работа была первой попыткой в изучении теории игр. Пятая рассматривала связь между формальными логическими системами пределов математики. К 30-м годам XX века фон Нейман был признан одним из ведущих математиков мира. Он провел весну 1929 года в Гамбурге и именно тогда получил приглашение читать лекции в Принстонском университете, что явилось поворотным пунктом в его карьере. Фон Нейман приехал в Соединенные Штаты в 1930 году. После чтения лекций по квантовой статистике в течение года в Принстоне, в 1931 году он был назначен на должность профессора. Математическая гидродинамика была предметом его лекций в следующем году. В 1933 году, когда в Принстоне был основан институт перспективных исследований, фон Нейман стал одним из первых шести профессоров школы математики. Эту должность он будет занимать до конца своей жизни. 1 января 1930 года фон Нейман женился на Мариетте Коведи, у них родилась дочь Марина в 1935 году, но брак распался в 1937 году. В том же году фон Нейман стал американским гражданином, а 18 декабря 1938 года женился на Кларе Дэн, которая позже стала программистом в научной лаборатории в Лос-Аламосе.
О фон Неймане часто рассказывают анекдоты в связи с его редкой способностью к мгновенному вызову информации из памяти. Он мог прочесть книгу, а потом несколько лет спустя цитировать ее дословно. Герман Голдстайн, который близко работал с ним в Принстоне в 40-е годы, однажды попытался проверить его память, попросив его вспомнить, как начинается "Рассказ двух городов" Диккенса. Без паузы фон Нейман стал декламировать первую главу, продолжая в течение 10 минут до тех пор, пока его не попросили остановиться. В другой раз Голдстайн наблюдал, как фон Нейман читал лекцию, которую он не проводил 20 лет – и к удивлению Голдстайна, фон Нейман использовал те же буквы и символы, которые он применял в первоначальной лекции. Но более поразительной была скорость, с которой он мог выполнять сложные вычисления в уме. Однажды один из знаменитых математиков провел всю ночь, пытаясь решить задачу при помощи настольного калькулятора. На следующее утро фон Нейман выполнил эти же вычисления в уме за 6 минут. Не удивительно, что Юджин Вигнер, физик– теоретик и близкий друг фон Неймана, сравнивал его мозг со своего рода совершенным инструментом, способным измерять с точностью до тысячной дюйма.
У фон Неймана было овальное лицо с широким лбом. Он был небольшого роста и толстоват. Нейман разговаривал на элегантном, английском языке, но с небольшим акцентом. Говорил он бегло. Тратя бесчисленное количество часов, он не прерывал работы на перерыв, пока задача не была решена, он был известным трудоголиком. Иногда Нейман просыпался ночью, чтобы прийти к решению какой-либо задачи при помощи неожиданно возникшей интуиции. Одевался он аккуратно: жилет, платок в кармане, застегнутый пиджак. Любил технические новинки и был среди первых, кто в начале сороковых годов установил дворники на свою машину. Сложные игрушки доставляли ему особое удовольствие. Никакой отшельнической оторванности от жизни – фон Нейману нравилось быть окруженным людьми. Он испытывал благоговейный трепет перед теми, кто обладал властью, особенно перед военными. Когда он сам приобрел политическую власть как член комиссии по атомной энергии в 50-х годах, он наслаждался внешними преимуществами занимаемой должности, в особенности вертолетом, который приземлился в Принстоне, чтобы доставить его на совещание в Вашингтоне. Он устраивал много вечеринок в Принстоне, хотя временами удалялся в кабинет работать, а затем возвращался. Фон Нейман любил рассказывать истории, а шуточные стихотворения были его особым хобби.
Знакомые находили недостатки в фон Неймане. Он был безрассудным водителем, отправляющим одну за другой машины на свалку в Принстоне. Он не был атлетом и даже презирал все занятия спортом. Он переедал, и, находясь в Лос-Аламосе, ему ничего не стоило проехать 20 миль до любимого мексиканского ресторана. Он был оригинальным рассеянным профессором. Однажды, когда его больная жена Клара попросила стакан воды, ему пришлось спросить ее, где хранятся стаканы, хотя они прожили в одном доме 17 лет.
Решающий момент в карьере Джона фон Неймана произошел, когда он начал работать над созданием первой атомной бомбы в Лос-Аламосе в начале 40-х годов. Результат этой работы привел его к пониманию высокой значимости компьютеров. Роберт Оппенгеймер, который знал фон Неймана с Геттингена, убедил его стать математическим консультантом для секретного Манхэттенского проекта в конце 1943 года. Его квалификация математика в вопросах теории взрыва была крайне необходима. Другие участники манхэттенского проекта отклонили взрывной метод как бесполезный, но, полагаясь на свои знания в теории взрыва, Нейман считал, что такой метод может сработать. Оппенгеймер был убежден в этом, и поэтому фон Нейман разработал детали. Техника фон Неймана, правильность которой была доказана испытаниями в Аламогордо, была применена при взрыве бомбы в Нагасаки.
В течение лета 1944 года фон Нейман был полон страстного желания найти пути ускорения вычислений. Как это ни странно, его первая "встреча" с компьютерами произошла на железнодорожной платформе. Однажды, в июне 1944 года, Герман Голдстайн, математик и военный офицер, который был посредником между Абердинской Мэрилендской баллистической исследовательской лабораторией и секретным компьютерным проектом в школе Мура при университете в Пенсильвании увидел фон Неймана на платформе в Абердине. Голдстайн ожидал поезда из Филадельфии. В течение военных лет фон Нейману приходилось ездить на работу из Лос-Аламоса (где он был консультантом в баллистической лаборатории) в Принстон. Позже Голдстайн рассказывал: "Разговор вскоре зашел о моей работе". Голдстайн испытывал большое почтение к фон Нейману. В спокойной обстановке той железнодорожной платформы искушение попробовать произвести на него впечатление было огромным. Какой же лучший способ сделать это, чем раскрыть, что он, Голдстайн, был вовлечен в проектирование компьютера в университете в Пенсильвании, названного электронно-числовым интегратором – ENIAC. Когда Голдстайн объяснил, что компьютер может выполнять 333 умножения в минуту, фон Нейман взволнованно попросил более детального объяснения. "Вся атмосфера нашего разговора, – вспоминал Голдстайн, – изменилась: из расслабляющего доброго юмора в атмосферу, более похожую на устный экзамен на докторскую степень по математике". Фон Нейман добился разрешения от властей посетить проект. Приехав 7 сентября 1944 года в школу Мура электронного проектирования, где компьютер находился в стадии завершения, фон Нейман придал программе ENIAC респектабельность, которая не вызвала энтузиазма у создателей. Джон Маучли, автор изобретения, считал фон Неймана не самим выдающимся математиком в мире и был взволнован тем, что фигура такой величины проявляла интерес к его работе. С ним обходились как с посещающим членом королевской семьи, которому было разрешено все видеть и обо всем спрашивать. То, что он видел, поражало своим великолепием: два аккумулятора, вычислявших со скоростью, которая была гораздо быстрее той, с которой фон Нейман мог вычислять в уме. Но чувствуя огромный потенциал внутри ENIAC, он уже представлял себе более совершенные компьютеры, которые по своей значимости превзойдут даже эти вычислительные способности. По словам Маучли, фон Нейман был так похож на ребенка, получившего новую игрушку.
Нейман стал лицом, прочно обосновавшимся в проектах ENIAC и EDVAC в качестве консультанта, высокопоставленного посетителя и энтузиаста. Он понял, что работы Маучли и Эккерта по реализации проектов ENIAC и EDVAC очень важны для науки. Обобщив увиденное и услышанное о проектах ENIAC и EDVAC в июне 1945 года, меньше, чем через год после того, как он присоединился к группе Маучли и Эккерта, Нейман, пользуясь своим высоким авторитетом, написал отчет под названием "Предварительный доклад о машине EDVAC". В нем он описал не только саму машину, но и ее логическую организацию.
Компьютер EDVAC
Интересно привести основные положения доклада (цит. по статье «Предварительное рассмотрение логической конструкции электронного вычислительного устройства», написанной и опубликованной годом позже совместно с А. Берксом и Г. Голдстайном и повторяющей содержание доклада):
"Так как законченное устройство будет универсальной вычислительной машиной, оно должно содержать несколько основных органов, таких как орган арифметики, памяти, управления и связи с оператором. Мы хотим, чтобы после начала вычислений работа машины не зависела от оператора".
"Очевидно, что машина должна быть способна запоминать некоторым образом не только цифровую информацию, необходимую для данного вычисления… но также и команды, управляющие программой, которая должна производить вычисления над этими числовыми данными".
"Если, однако, приказы (команды) машины свести к числовому коду и если машина сможет некоторым образом отличать число от приказа (команды), то орган памяти можно использовать для хранения как чисел, так и приказов (команд)" (идея, выдвинутая еще в начале 1944 года Эккертом).
"Если память для приказов (команд) является просто органом памяти, то должен существовать еще орган, который может автоматически выполнять приказы (команды), хранящиеся в памяти. Мы будем называть этот орган управляющим".
"Поскольку наше устройство должно быть вычислительной машиной, в нем должен иметься арифметический орган… устройство, способное складывать, вычитать, умножать и делить".
"Наконец, должен существовать орган ввода и вывода, с помощью которого осуществляется связь между оператором и машиной".
Как уже говорилось в предыдущем очерке, Герман Голдстайн размножил этот отчет и разослал его ученым США и Англии. В первый раз посторонние люди, не работающие над EDVAC, узнали о проекте электронного компьютера с хранимой программой. Джона фон Неймана стали воспринимать как первого инициатора первого компьютерного проекта. Этот вывод обескураживал многих действительных разработчиков. Маучли и Эккерт были сердиты на Голдстайна за нарушение секретных постановлений, которые удерживали от их разглашения собственной главной роли в проекте EDVAC. Они пришли в ярость также из-за того, что Нейман позволил поставить свое имя на работе, не отдавая чести заслуженному вкладу исследовательской команды школы Мура.
Надо сказать, что спустя годы Герман Голдстайн помог придать необходимую форму мифу о приоритете фон Неймана в этой сфере деятельности. "Это очевидно, – заявлял он в своей книге "Компьютер от Паскаля до фон Неймана", – что фон Нейман, написав свой отчет, придал определенную форму размышлениям в области компьютеров, чего никто другой не делал ранее. Он был, среди всех членов группы в школе Мура, самым необходимым человеком… только фон Нейман был весьма ценным для всего задания". Это мнение Голдстайна не меняет того факта, что Преспер Эккерт написал заметку о компьютере с хранимой программой за полгода до того, как фон Нейман услышал о работах, проводимых в школе Мура.
EDVAC с 4000 электронными лампами и 10 000 кристаллическими диодами, в отсутствие Маучли и Эккерта, был завершен только в 1952 году. Но таланты фон Неймана были многогранны. В 1944 году он и Оскар Моргенштерн опубликовали классическую работу "Теория игр и экономическое поведение", в которой они проанализировали такие простые игры, как покер и игра в орлянку, чтобы продемонстрировать, что "наиболее возможный" метод игры существует и математически обусловлен. Их "теория игр" могла также быть применима к экономическим и социальным проблемам. Посредством этой книги фон Нейман и Моргенштерн сделали первый шаг к общей математической теории экономики.
После Второй мировой войны фон Неймана забросали престижными академическими предложениями, ни одно из которых он не принял. Норберт Винер предлагал ему стать главой математического департамента. В Чикагском университете шли разговоры о создании нового института прикладной математики, которым будет руководить фон Нейман. Но он был полон страстного желания создать свой собственный компьютер, и Принстон, казалось, был наилучшим местом для осуществления этого намерения. Но этот путь не был гладким. Члены Института перспективных исследований чувствовали, что их учреждение представляло собой идиллическую башню из слоновой кости и не было местом, загроможденным непривлекательными образцами машинного оборудования, однако фон Нейман имел опыт, необходимый, чтобы идти своей дорогой. В его планах было создать полностью автоматическую, цифровую универсальную электронную вычислительную машину, самую быстродействующую. Она предназначалась для научных исследований, а не для коммерческого рынка. IAS-компьютер, названный в честь Института перспективных исследований, был начат в 1946 году и закончен пять лет спустя.
Джон фон Нейман и компьютер IAS
Тем временем 22 марта 1946 года фон Нейман и Голдстайн попытались получить патент на EDVAC, обосновывая свое требование на «Первом отчете». Они обратились в юридическое отделение Пентагона. 3 апреля 1947 года армия отказала им, аргументируя это тем, что хотя «Первый отчет» квалифицируется как опубликованное доказательство, но уже слишком поздно, т. к. патенты выдаются в течение года после публикации свидетельства. EDVAC пришлось стать общественной собственностью. Маучли и Эккерт были озадачены в равной степени. Они знали, что патент по праву принадлежит им.
В октябре 1954 года фон Нейман был назначен членом комиссии по атомной энергии, которая ставила своей главной заботой накопление и развитие ядерного оружия. Он был утвержден Сенатом Соединенных Штатов 15 марта 1955 года. В мае он и его жена переехали в Вашингтон, пригород Джорджтаун. В течение последних лет жизни фон Нейман был главным советником по атомной энергии, атомному оружию и межконтинентальному баллистическому оружию. Возможно, вследствие своего происхождения или раннего опыта в Венгрии, фон Нейман решительно придерживался правого крыла политических взглядов. В статье журнала "Жизнь", опубликованной 25 февраля 1957 года, вскоре после его смерти, он представлен приверженцем предупредительной войны с Советским Союзом.
Летом 1954 года фон Нейман ушиб левое плечо при падении. Боль не проходила, и хирурги поставили диагноз костная форма рака. Предполагалось, что рак фон Неймана мог быть вызван его посещениями испытаний ядерного оружия и проживанием в Лос-Аламосе в течение долгих месяцев. Болезнь прогрессировала и посещение три раза в неделю совещаний КАЭ (Комиссии по атомной энергии) требовало огромных усилий. Он все еще оставался членом КАЭ и членом научно-совещательного правления Военно– воздушных сил США. Когда конец ученого был близок, секретарь обороны, депутаты, секретари сухопутных, морских и воздушных сил и все военные начальники штабов собрались вокруг кровати фон Неймана для встречи в Уолтер-Рид-Госпитале в Вашингтоне, федеральный округ Колумбия – он был все еще важен для них. Только врачи и санитары с целью проверки на благонадежность могли посещать фон Неймана, настолько велико было беспокойство, что в ослабленном состоянии и под воздействием лекарств он мог разгласить секреты.
Джон фон Нейман умер 8 февраля 1957 года. Он никогда не узнает полную степень своего влияния на компьютерную науку.
Во многих странах мира широко признаны заслуги Джона фон Неймана. Он был членом Американского философского общества, Национальной Академии наук, Американской Академии искусств и наук, президентом Американского математического общества. Также Нейман был членом-корреспондентом многих иностранных академий, награжден медалью за выдающиеся гражданские заслуги, премиями Энрико Ферми и Альберта Эйнштейна.
Морис Уилкс и Том Килбурн
Создатели первых компьютеров с хранимой программой
EDSAC, как и EDVAC, является последовательной машиной, работающей в двоичной системе и имеющей ультразвуковую память. Она отличается от EDVAC тем, что использует одноадресную систему команд.
Морис Уилкс
…наиболее захватывающим временем был июнь 1948, когда заработала первая машина. Ничто не могло когда-либо сравниться с этим.
Том Килбурн
Морис Уилкс
Несмотря на то, что концепцию хранимой в памяти компьютера программы выдвинул в январе 1944 года Джон Эккерт и в том же году он вместе с Джоном Маучли начали работу по созданию EDVAC (компьютера с хранимой программой), все же первые машины с хранимой программой заработали в Англии, в Кембриджском и Манчестерском университетах.
Морис Уилкс, профессор Кембриджа, который прослушал курс лекций по машине EDVAC в школе Мура, возвратился в Англию для того, чтобы начать разработку компьютера EDSAC. Было это в ноябре 1946 года и закончил ее в 1949 году, на два года раньше, чем в США был запущен EDVAC.
А в Манчестерском университете Том Килбурн вместе с Джеффри Тутиллом создает компьютер с хранимой программой под названием Small-Scale– Experimental-Machine, или сокращенно Baby, еще раньше – в июне 1948 года.
Но не только созданием компьютеров с хранимой программой эти два корифея компьютерной науки прославили свои имена, в дальнейшем они выдвинули ряд идей и принципов, которые с успехом применяются в наше время.
Морис Винсент Уилкс родился 26 июля 1913 года в Дадли в графстве Стаффордшир (Англия). С 1931 года учился в Кембриджском колледже Святого Джона, который закончил в 1934 году. Затем его учеба продолжилась в Кембриджском университете до его окончания в 1937 году. В 1936 году он получил звание доктора философии за работу, посвященную распространению очень длинных радиоволн в ионосфере.
По окончании университета он был назначен на младшую должность – демонстратора, что соответствует должности ассистента профессора в США, в открытую Математическую лабораторию. В его обязанности входило: контроль за разработкой нового дифференциального анализатора и консультации в Манчестерском университете по дальнейшим разработкам в этой области.
В годы Второй мировой войны, с 1939 по 1945 год, он находился в составе действующей армии союзников.
По возвращению в Кембридж в сентябре 1945 года он назначается директором Математической лаборатории (позже Компьютерной лаборатории), в которой Уилкс и проработал до 1980 года.
В мае 1946 года была получена копия неймановского отчета относительно компьютера EDVAC и Уилксу представилась возможность за одну ночь прочитать и понять документ, который описывал концепцию записи и хранения программы в компьютере. Он понял сразу, что это реально, и с этого момента никогда не сомневался, что развитие компьютеров пойдет именно таким путем.
После прочтения отчета Уилкс принял приглашение посетить лекции по "Теории и методам конструирования электронных цифровых компьютеров", проводимых в школе Мура Пенсильванского университета с 8 июля по 31 августа 1946 года. Уилкс ухватился за предоставленный шанс посетить эти лекции, хотя и опоздал к их началу, но все же успел к моменту детального описания ENIAC и обсуждения принципов создания EDVAC. Вот что пишет сам Морис Уилкс: "Самое важное событие в моей жизни произошло в 1946 году… Мне удалось прослушать учебный курс по компьютерам, и он произвел на меня сильнейшее впечатление. Ничего подобного никогда раньше не было, а о достижениях школы Мура и других зачинателей компьютерной техники тогда знали лишь немногие. Курс слушали 28 человек из 20 организаций. В роли основных преподавателей выступали Джон Ма– учли и Преспер Эккерт. Они находились на гребне успеха, создав первый электронный компьютер ENIAC и принципы конструирования EDVAC… Последующие события убедительно подтвердили принципы, которым Эккерт и Маучли научили в 1946 году тех из нас, кому посчастливилось прослушать этот курс".
После возвращения Уилкса в Кембридж был составлен проект создания компьютера с хранимой программой, который предстояло осуществить силами Математической лаборатории. Лаборатория имела достаточные средства, чтобы начать реализацию проекта, и следующие три года были потрачены на конструирование EDSAC (Electronic Delay Storage Automatic Calculator – электронный автоматический калькулятор с памятью на линиях задержки), который заработал 9 мая 1949 года.
Компьютер EDCAS
В сущности, машина EDSAC была прямой копией проекта EDYAC, но в части, касающейся вопросов программирования EDSAC, Морис Уилкс явился в некотором роде первооткрывателем. Устав кодировать каждую команду с помощью двоичных цифр («единиц» и «нулей»), он занялся поисками более удобного способа общения с машиной. Первым результатом этих усилий явились новые коды, составленные из букв и коротких слов, взятых из английского языка. Он ввел мнемонику, где каждая команда изображалась одной заглавной буквой: S обозначала «вычитание», Т – «передать информацию в память», Z – «остановка машины» и т. д.
Но, пожалуй, более ценным новшеством, чем мнемоника, введенная на EDSAC, явилась библиотека подпрограмм. Надо сказать, что программисты уже были знакомы с понятием подпрограммы. Грейс Хоппер и ее коллеги применяли подпрограммы на гарвардской машине Говарда Айкена. Они имели блокноты с записью наиболее употребляемых подпрограмм, чтобы в случае необходимости не составлять их заново.
Проблема состояла в том, что адреса расположения команд и переменных подпрограммы в памяти менялись в зависимости от ее размещения в последней. Настройка подпрограмм на определенное место в памяти, очевидно, нуждалась в автоматизации, и впервые это было сделано в компьютере EDSAC. Программисты EDSAC начали с написания набора унифицированных подпрограмм, которые и образовали библиотеку. После этого достаточно было ввести лишь короткую команду, чтобы компьютер самостоятельно проделал всю работу по настройке и размещению подпрограммы внутри основной программы.
Морис Уилкс назвал мнемоническую схему для EDSAC и библиотеку подпрограмм собирающей системой (по-английски assembly system – отсюда слово "ассемблер"), поскольку она собирала последовательности подпрограмм.
В настоящее время языки программирования, в которых короткие мнемонические имена непосредственно соответствуют отдельным машинным командам, называются языками ассемблера. Так что, Морис Уилкс считается создателем (1949 год) одного из так называемых языков ассемблера.
Компьютер EDS АС успешно использовался в расчетах по правительственному проекту ядерных исследований, проводимых в Кембридже.
В начале 50-х годов группа разработчиков, возглавляемая Уилксом, приступила к созданию второй версии компьютера EDSAC – EDSAC–II, который был введен в эксплуатацию в 1958 году.
При конструировании машины EDSAC–II были впервые воплощены идеи Мориса Уилкса по построению систем управления – идеи микропрограммирования. Известно, что один из важнейших вопросов, который приходится решать при конструировании компьютера, заключается в том, как управлять в компьютере потоками электрических сигналов, переносящих информацию. В настоящее время существуют, в принципе, два метода построения систем или устройств управления. Один из методов построения системы управления состоит в том, что ей придают "жесткую", т. е. неизменяемую, схему внутренних соединений и в таком виде присоединяют к другим электрическим цепям процессора. Другой подход, позволяющий получить более гибкую, более простую, а в ряде случаев и более дешевую систему управления, сводится к тому, что систему управления заменяют программой, содержащей подробные инструкции по управлению машиной в кодированной форме. Такую программу помещают в отдельный блок памяти, который вводят в состав процессора.
Этот подход реализации функций управления Морис Уилкс начал разрабатывать еще в 1949 году. После двух лет исследований он пришел к выводу, что наилучший подход к конструированию системы управления состоит в том, чтобы рассматривать ее как матрицу, или прямоугольную таблицу, в которой каждый горизонтальный ряд клеток соответствует одному такту, а каждый вертикальный столбец – одной из линий передачи управляющих сигналов. При таком подходе выбор последовательности операций упрощается и сводится к тому, что в клетках каждого горизонтального ряда должны быть проставлены двоичные символы, которые образовали бы нужную комбинацию: для каждой управляющей линии, которая во время данного такта должна быть включена, следует в соответствующей клетке проставить единицу, а в клетках тех линий, которые должны быть отключены, записать нули.
Аппарат, эквивалентный управляющей матрице, представляет собой простое запоминающее устройство, построенное из повторяющихся элементов. Содержимое каждой ячейки в ряду определяет состояние соответствующей линии управления в течение одного такта. Набор двоичных цифр, образующий одну макроинструкцию, служит теперь просто для того, чтобы выбрать подходящий ряд или последовательность рядов в управляющей памяти. Иными словами, макроинструкция становится адресом, обозначающим ряд. Ввиду этого построение системы управления из задачи конструирования электронного устройства превращается в задачу разработки программного обеспечения. Сложность ее состоит теперь не в том, чтобы подобрать правильную комбинацию схем с жесткими связями для генерации управляющих сигналов, а в том, чтобы правильно определить комбинации единиц и нулей, которые нужно записать в управляющую память.
Уилкс провел аналогию между этим подходом и обычным программированием и для описания своих идей заимствовал термины из области программирования, прибавив к ним в каждом случае приставку "микро", указывающую на элементарность операций управления. Так появился термин "микропрограммирование" и целое семейство родственных ему. В частности, каждый ряд клеток в управляющей матрице Уилкс назвал микроинструкцией, а каждую последовательность рядов, выполняющих одну макроинструкцию, – микропрограммой. Запоминающее устройство для хранения микропрограмм ученый предложил называть микропрограммной памятью. Принцип микропрограммирования облегчил понимание функций управления, а благодаря тому, что сложные схемы управления оказались замененными матрицей из повторяющихся запоминающих ячеек, упростилось построение аппаратуры. Еще важнее то, что этот принцип позволил придать машине дополнительную гибкость: стало возможным изменять систему управления, не конструируя заново аппаратную часть.
Свои идеи по микропрограммированию Морис Уилкс представил в докладе "Наилучший метод конструирования автоматической вычислительной машины" на конференции в Манчестерском университете, состоявшейся в июле 1951 года. Предложенный им метод стал основой техники микропрограммирования, которой предстояло стать популярной двумя десятилетиями позже, в начале 70-х годов.
В том же, 1951 году, Уилкс опубликовал еще одну работу. Совместно с двумя коллегами, Дэвидом Уиллером и Стенли Гиллом, он написал первый учебник по программированию.