Архитекторы компьютерного мира
Шрифт:
Морис Уилкс и Том Килбурн
Создатели первых компьютеров с хранимой программой
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 году тех из нас, кому посчастливилось прослушать этот курс".
После возвращения Уилкса в
Компьютер EDCAS
В сущности, машина EDSAC была прямой копией проекта EDYAC, но в части, касающейся вопросов программирования EDSAC, Морис Уилкс явился в некотором роде первооткрывателем. Устав кодировать каждую команду с помощью двоичных цифр ("единиц" и "нулей"), он занялся поисками более удобного способа общения с машиной. Первым результатом этих усилий явились новые коды, составленные из букв и коротких слов, взятых из английского языка. Он ввел мнемонику, где каждая команда изображалась одной заглавной буквой: S обозначала "вычитание", Т — "передать информацию в память", Z — "остановка машины" и т. д.
Но, пожалуй, более ценным новшеством, чем мнемоника, введенная на EDSAC, явилась библиотека подпрограмм. Надо сказать, что программисты уже были знакомы с понятием подпрограммы. Грейс Хоппер и ее коллеги применяли подпрограммы на гарвардской машине Говарда Айкена. Они имели блокноты с записью наиболее употребляемых подпрограмм, чтобы в случае необходимости не составлять их заново.
Проблема состояла в том, что адреса расположения команд и переменных подпрограммы в памяти менялись в зависимости от ее размещения в последней. Настройка подпрограмм на определенное место в памяти, очевидно, нуждалась в автоматизации, и впервые это было сделано в компьютере EDSAC. Программисты EDSAC начали с написания набора унифицированных подпрограмм, которые и образовали библиотеку. После этого достаточно было ввести лишь короткую команду, чтобы компьютер самостоятельно проделал всю работу по настройке и размещению подпрограммы внутри основной программы.
Морис Уилкс назвал мнемоническую схему для EDSAC и библиотеку подпрограмм собирающей системой (по-английски assembly system — отсюда слово "ассемблер"), поскольку она собирала последовательности подпрограмм.
В настоящее время языки программирования, в которых короткие мнемонические имена непосредственно соответствуют отдельным машинным командам, называются языками ассемблера. Так что, Морис Уилкс считается создателем (1949 год) одного из так называемых языков ассемблера.
Компьютер EDS АС успешно использовался в расчетах по правительственному проекту ядерных исследований, проводимых в Кембридже.
В начале 50-х годов группа разработчиков, возглавляемая Уилксом, приступила к созданию второй версии компьютера EDSAC — EDSAC–II, который был введен в эксплуатацию в 1958 году.
При конструировании машины EDSAC–II были впервые воплощены идеи Мориса Уилкса по построению систем управления — идеи микропрограммирования. Известно, что один из важнейших вопросов, который приходится решать при конструировании компьютера, заключается в том, как управлять в компьютере потоками электрических сигналов, переносящих информацию. В настоящее время существуют, в принципе, два метода построения систем или устройств управления. Один из методов построения системы управления состоит в том, что ей придают "жесткую", т. е. неизменяемую, схему внутренних соединений и в таком виде присоединяют к другим электрическим цепям процессора. Другой подход, позволяющий получить более гибкую, более простую, а в ряде случаев и более дешевую систему управления, сводится к тому, что систему управления заменяют программой, содержащей подробные инструкции по управлению машиной в кодированной форме. Такую программу помещают в отдельный блок памяти, который вводят в состав процессора.