Перспективные модели многопроцессорных ЭВМ. Часть 2.

Управление в «реальном масштабе времени». В отличие от обычных систем команд при микропрограммировании момент выдачи микрокоманды соответствует исполнению предписаний, указанных в команде. В обычных системах команд с динамическим управлением аппаратура меняет последовательность команд, написанных программистом, в интересах более рационального распределения ресурсов и, как следствие, более быстрого выполнения программ.

Описанные два свойства микропрограммирования — параллельность и управление каждым тактом — это те свойства, которые использованы в МВК «Эльбрус-3».

Далее приведем еще два свойства микропрограммирования, которые являются отрицательными и исключены в МВК «Эльбрус-3» и других перспективных моделях ЭВМ типа «Эльбрус».

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

Интерпретационность управления. В обычных микропрограммных машинах микропрограммы используются лишь для реализации традиционной системы команд, а не для трансляции в них программ пользователя. В противном случае объем командной памяти был бы слишком велик. Интерпретационность является основной причиной, приводящей к неэффективности микропрограммирования. Как было указано выше, это свойство микропрограмм не используется в разработке МВК «Эльбрус-3».

Проведенный анализ состояния развития современной архитектуры позволил вскрыть те важные положительные стороны, которые необходимо использовать и развивать.

Отсутствие требования ассемблерной совместимости дает возможность использования современных достижений в развитии архитектуры.

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