ю роботу з налаштування та розміщення підпрограми всередині основної програми.
Моріс Уїлкс назвав мнемонічну схему для EDSAC і бібліотеку підпрограм збирає системою (по-англійськи assembly system - звідси слово асемблер), оскільки вона збирала послідовності підпрограм.
Нині мови програмування, в яких короткі мнемонічні імена безпосередньо відповідають окремим машинним командам, називаються мовами асемблера. Так що, Моріс Уїлкс вважається творцем (1949 рік) одного з так званих мов асемблера. Комп'ютер EDSAC успішно використовувався в розрахунках за урядовим проектом ядерних досліджень, що проводяться в Кембриджі.
На початку 50-х років група розробників, очолювана Уилксом, приступила до створення другої версії комп'ютера EDSAC - EDSAC-II, який був введений в експлуатацію в 1958 році.
При конструюванні машини EDSAC-II були вперше втілені ідеї Моріса Уїлкса з побудови систем управління - ідеї мікропрограмування. Відомо, що одне з найважливіших питань, яке доводиться вирішувати при конструюванні комп'ютера, полягає в тому, як управляти в комп'ютері потоками електричних сигналів, що переносять інформацію. В даний час існують, в принципі, два методи побудови систем або пристроїв управління.
Один з методів побудови системи управління полягає в тому, що їй надають жорстку, тобто неизменяемую, схему внутрішніх з'єднань і в такому вигляді приєднують до інших електричних ланцюгів процесора. Інший підхід, що дозволяє отримати більш гнучку, простішу, а в ряді випадків і більш дешеву систему управління, зводиться до того, що систему управління замінюють програмою, що містить докладні інструкції з управління машиною в кодованому вигляді. Таку програму поміщають в окремий блок пам'яті, який вводять до складу процесора.
Цей підхід реалізації функцій управління Моріс Уїлкс почав розробляти ще в 1949 році. Після двох років досліджень він дійшов висновку, що найкращий підхід до конструювання системи управління полягає в тому, щоб розглядати її як матрицю, або прямокутну таблицю, в якій кожен горизонтальний ряд клітин відповідає одному такту, а кожен вертикальний стовпець - однієї з ліній передачі керуючих сигналів.
При такому підході вибір послідовності операцій спрощується і зводиться до того, що в клітинах кожного горизонтального ряду повинні бути проставлені двійкові символи, які утворили б потрібну комбінацію: для кожної лінії напряму, яка під час даного такту повинна бути включена, слід у відповідній клітині проставити одиницю, а в клітинах тих ліній, які повинні бути відключені, записати нулі.
Апарат, еквівалентний керуючої матриці, являє собою просте запам'ятовуючий пристрій, побудоване з повторюваних елементів. Вміст кожного осередку в ряду визначає стан відповідної лінії управління протягом одного такту. Набір двійкових цифр, який утворює одну макроінструкцію, служить тепер просто для того, щоб вибрати підходящий ряд або послідовність рядів у керуючої пам'яті. Іншими словами, макроінструкція стає адресою, що позначає ряд.
Зважаючи на це побудова системи управління з завдання конструювання електронного пристрою перетворюється на задачу розробки програмного забезпечення. Складність її полягає тепер не в тому, щоб підібрати правильну комбінацію схем з жорсткими зв'язками для генерації керуючих сигналів, а в т...