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