Совершенствование организации ядра СЭВМ. Часть 6.

Учитывая устойчивую тенденцию возрастания стоимости разработки средств программного обеспечения по сравнению с аппаратными средствами, в России, как и за рубежом, уделяется большое внимание созданию СЭВМ с аппаратными средствами реализации трансляторов с языков программирования высокого уровня и функций ОС. С точки зрения затрат аппаратных средств переход на более высокий уровень программирования, например с ассемблерного на макроассемблерный уровень, наиболее легко реализуется микропрограммным путем. В этом случае в СЭВМ наряду с множеством универсальных команд ассемблерного уровня создается обширная библиотека подпрограмм макроассемблерного уровня, реализующая микропрограммными средствами широкий класс математических функций (например, тригонометрических, элементарных, матричной алгебры, интегрирования дифференциальных уравнений и т. п.) и функций ОС (например, начального пуска, обработки внешних прерываний, поддержки интерактивного режима и пр.). Причем пользователям предоставляется возможность формирования из этой библиотеки необходимого для конкретной области применения СЭВМ подмножества макрокоманд путем реализации их в микропрограммных ПЗУ.

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

Недостатком этого направления является ориентация на язык программирования узкого применения, а преимуществомотносительная простота реализации и удобство сопровождения программного обеспечения.

Аппаратная реализация (не только микропрограммными средствами) широко распространенных или перспективных проблемно-ориентированных языков программирования, таких, как ФОРТРАН, ПАСКАЛЬ, АДА И др., на микропроцессорных БИС и СБИС является альтернативой этому направлению. Так, фирма Novix разработала 16-разрядную СБИС Forth, представляющую собой виртуальную машину, которая непосредственно обрабатывает команды языка высокого уровня FORTH, предназначенного для программирования систем управления реального времени. Процессор Forth выполнен на вентильных матрицах по КМОП-технологии и ориентирован на стековую организацию памяти. При тактовой частоте 10 МГц он обеспечивает быстродействие 10 млн. оп/с, причем операций языка высокого уровня. Процессор использует элементы архитектуры RISC (см. выше), например содержит ограниченный набор команд фиксированного формата, которые обрабатываются за один машинный цикл.