Принцип управления каждым тактом машины. Часть 3.

Программист излагает алгоритм либо на ассемблере, представляя его в терминах системы команд, либо на языке высокого уровня, который затем транслятором переводится на язык системы команд. А эта система команд, как и прежде, с помощью логических схем реализуется в аппаратуре машин.

Для упрощения логических схем машин изобрели микропрограммирование. Структура теперь стала совсем сложной (рис. 1.3). Она отличается от предыдущей тем, что система команд реализуется в аппаратуре косвенно — с помощью более элементарного языка микропрограмм пишется интерпретатор системы команд. А в аппаратуре реализуется лишь более простой язык микропрограмм.

Схема информационной системы, включающая микропрограммирование

В целом структура получилась весьма сложной, приводящей к низкой эффективности. При переходе с уровня на уровень теряется эффективность. Это было хорошо осознано и начались поиски выхода из создавшегося положения.

Полученную картину можно представить следующим образом. Программисты «отгородились» от неудобной системы команд языками высокого уровня, а инженеры «отгородились» от столь же неудобной, с их точки зрения, системы команд микропрограммами. Напрашивается простое решение — убрать систему команд и транслировать язык высокого уровня прямо в микропрограммы. Однако этого сделать до сих пор было нельзя, так как программисты недостаточно надежно «отгородились» от системы команд. Остался достаточно распространенный в случае сложного программирования системных и логических задач ассемблерный путь — от алгоритмов непосредственно в систему команд, изображенный на приведенных рисунках. Именно этот путь был убран в результате исключения ассемблерного программирования в проекте «Эльбрус». Структура системы «Эльбрус» приведена на рис. 1.4.

Схема информационной системы «Эльбрус»