В «Основных направлениях экономического и социального развития СССР на 1981;1985 годы и на период до 1990 года» особое внимание уделено проблеме повышения эффективности вычислительной техники. Большие и сложные задачи, встающие перед вычислительной техникой по автоматизации интеллектуальных и производственных процессов деятельности всего общества, требуют пересмотра принципов построения, применения и оценки ЭЕМ.
Программа создания ЭВМ пятого поколения предусматривает резкое повышение интеллектуального уровня ЭВМ. ЭВМ должны обеспечивать эффективный и удобный интерфейс для специалистов из различных областей знания, предлагать методы решения конкретных задач, синтезировать решения на основе огромных хранилищ информации, обладать способностью к оперативной функциональной и структурной реконфигурируемости с целью настройки на оптимальное решение задач.
ЭВМ пятого поколения пока относятся к области цроектов. Однако ряд требований, предъявляемых к этим ЭВМ, является актуальным и для текущих разработок отечественных ЭВМ, в частности, для новых разработок ЭВМ Единой системы. Несмотря на то, что технические и программные средства ЕС ЭВМ широко применяются в различных сферах народного хозяйства и пакет заявок на них не иссякает, однако просто количественный рост производства ЭВМ уже не способен удовлетворить потребности народного хозяйства. Необходима качественная модернизация средств ЕС ЭВМ" которая обеспечила бы улучшение показателей эффективноети ЭВМ (отношение производительность/стоимость) и адаптируемости к применениям. Эти задачи решаются на начавшемся в Х1-ой пятилетке третьем этапе развития ЕС ЭВМ — этапе «Ряд-3» .
Сложность и важность задач, поставленных перед разработчиками ЕС ЭВМ на этапе иРяд-3″, заставляет искать такие узловые моменты г в работах, которые позволили бы наиболее эффективно решить задачи этапа. Одним из таких моментов является расширение роли микропрограммирования в организации вычислительного процесса на ЭВМ. Основанием для такого подхода являются результаты многочисленных исследований возможностей микропрограммирования, которые показывают, что микропрограммирование может рассматриваться как:
— средство улучшения технических и эксплуатационных характеристик ЭШ;
— средство реализации современных тенденций развития архитектуры ЭВМ, в частности таких, как повышение интеллектуальности ЭВМ на основе повышения уровня и специализации машинных языков, функциональной и цроблемной переориентации архитектуры ЭВМ;
— средство повышения производительности, надежности и мобильности программного обеспечения.
В современных вычислительных системах, для которых характерна иерархическая организация, микропрограммирование может рассматриваться как инструмент регулирования производительности как на отдельных уровнях иерархии, так и в целом в системе путем перемещения (вертикальной миграции) функций с верхних (программных) уровней иерархии на микропрограммный уровень. Достигаемый при этом эффект связан с принципиальной возможностью микропрограммирования, как внутреннего уровня управления, непосредственно использовать все компоненты структуры технических средств, а, следовательно, более эффективно реализовывать заданные алгоритмы, нежели используя программные средства. расширение роли микропрограммирования в организации вычислительного процесса на ЭВМ требует решения ряда задач, основными из которых являются следующие:
— обеспечение оперативного доступа к микропрограммному обеспечению неограниченного объема;
— поддержка расширенного круга пользователей микропрограммирования, включая разработчиков системных и прикладных программ;
— согласование микропрограммных и программных средств, управляющих вычислительным процессом в ЭВМ.
Отдельные вопросы поставленных задач, например, вопросы, связанные с иерархической организацией памяти микропрограмм, или вопросы автоматизации микропрограммирования довольно хорошо изучены и изложены во многих работах, но без учета распространения организующей роли микроцрограширования на все программные уровни иерархии ЭВМ, а также без учета расширения круга и специфики новых сфер его применений. Требования к организации средств, обеспечивающих расширенное применение микроцрограширования, нуждаются в котфетизации, а вопросы, связанные с их реализацией, — в исследовании.
Настоящая работа посвящена вопросам развития средств динамического микропрограммирования, а также вопросам прикладных применений микропрограммирования.
Предметом исследования являются возможности микропрограммирования по реализации современных тенденций развития архитектуры ЭК5 и повышению качества программного обеспечения, проблемы организации динамического микропрограммирования с учетом специфики операционной среды, функционирующей на ЭВМ, методы организации систем динамического микропрограммирования, разработка средств динамического микропрограммирования для ЭВМ ЕС1036 и других перспективных моделей ЕС ЭВМ.
Целью исследования является анализ возможностей и системных проблем организации динамического микропрограммирования, разработка способов и практических рекомендаций по их решению, разработка методов организации систем динамического микропрограммирования, учитывающих специфику программных уровней в иерархии вычислительной системы, для которых осуществляется вертикальная миграция функций на микропрограммный уровень.
Указанная цель достигается решением следующих задач:
— анализом возможностей микропрограммирования и разработкой предложений по применению микропрограммирования для повышения качества программного обеспечения;
— анализом и классификацией вариантов организации динамического микропрограммирования;
— анализом проблем организации динамического микропрограммирования и разработкой способов и рекомендаций по их решению;
— разработкой и исследованием методов организации систем динамического микропрограммирования;
— разработкой на базе проведенных исследований системы динамического микропрограммирования и микропрограммных средств поддержки операционных систем, повышения надежности программ и эмуляции*.
В результате проведенных исследований получены следующие основные результаты:
1″ Предложена классификация вариантов организации динамического микропрограммирования, позволяющая установить зависимость между обеспечиваемыми возможностями динамического микропрограммирования и принципиальными техническими решениями по его реализации*.
2. Предложены способы решения таких проблем организации динамического микропрограммирования, как загрузка микропрограмм, организация мультимикропрограширования, интеграция средств динамического микропрограширования с операционными системами, обеспечение доступности микропрограммирования пользователям.
3. Разработаны и исследованы методы организации сиз тем динамического ми1фоцрограммирования. Получены аналитические зависимости, позволяющие уточнить области применения разных методов.
На основе полученных результатов разработаны и внедрены система динамического микропрограммирования на ЭВМ ЕС1036, средства микропрограммной поддержки системы виртуальных машин и повышения надежности программ на ЭВМ ЕС1036, средства эмуляции ЭВМ «Минск-32° на ЭВМ ЕС1035. Указанные разработки включены в комплект поставки серийно выпускаемых ЭВМ ЕС1035 и ЭВМ ЕС1036.
Результаты работы приняты за основу при разработке принципов организации динамического микропрограммирования в ЕС ЭВМ «Ряда-З», что отражено в соответствующих решениях. В настоящее время они применяются при разработке перспективных моделей ЕС ЭВМ.
На защиту выносятся следующие основные положения:
1. Классификация динамического микропрограммирования.
2. Способы организации загрузки микропрограмм.
3. Рекомендации по реализации мультимикропрограммирования, интеграции средств динамического микропрограммирования с операционными системами, обеспечению доступности микропрограммирования пользователям, обеспечению мобильности микропрограмм.
4. Методы организации системы динамического микропрограммирования. Принципы организации и схема функционирования многоуровневой системы динамического микропрограммирования.
5. Зависимости между временем доступа к целевым микропрограммам и уровнем организации динамического микропрограширования.
6. Методы и средства применения микропрограширования для повышения качества программ.
I. АНАЛИЗ ВОЗМОЖНОСТЕЙ МИКРОПРОГРАШИРОВАНШ И.
КЛАССИФИКАЦИЯ ДИНАМИЧЕСКОГО МИКРОПРОГРАММИРОВАНИЯ.
I.I. Роль и возможности микропрограширования в организации вычислительного процесса.
Современные вычислительные системы представляют собой сложные комплексы с многоуровневой иерархической организацией. Могут быть выделены шесть основных уровней [30,32,39]: I) уровень физических компонент- 2) микропрограммный уровень- 3) уровень традиционного машинного языка- 4) уровень операционных систем- 5) уровень языков программирования- 6) уровень прикладных программ. Уровни могут различаться по содержанию, но всегда справедливо: на каждом уровне i уровень 1−1 используется для создания уровня 1 .
Нужно отметить, что не для всех ЭВМ характерна именно такая иерархия уровней. Так у некоторых отсутствует микропрограммный уровень или уровень традиционного машинного языка, например, ЭВМ серии В1700 С97] или qa-1/qa-2 [70,94] не ориентированы на преимущественное исполнение некоторого машинного языка, они предназначены для интерпретации различных внутренних языков ЭВМ.
Совокупность структурных и функциональных характеристик ЭВМ, определяющих возможности ее применения, принято называть архитектурой. Архитектура многоуровневой ЭВМ определяется архитектурой каждого из уровней.
Формально архитектуру уровня можно представить кортежем {m, r, a, l, i}, где м определяет иерархию и организацию памятей (регистры, основная и управляющая память, внешняя память и их взаимодействие), r — представление данных и команд (микрокоманд), асхемы адресацииь — состав команд (внутренний язык уровня), Iпроцесс интерпретации. m, r, a определяют концептуальную структуру, a l и I — функциональные характеристики архитектуры ЭВМ.
Фундаментальным для понимания организации вычислительных машин является понятие процесса. Неформально процесс определяется ИЗО] выполнением некоторого алгоритма или элементов из множества алгоритмов, которое в результате приведет к изменению состояния (или состояний) в конечном векторе состояний. Вектор состояний задается объектами (переменными) состояния, которые известны алгоритму процесса.
Далее введем понятие логического процессора, такой процессор не связан с понятием аппаратуры, программного обеспечения или их комбинацией. Процессор может быть как арифметическим устройством, так и программным монитором, управляющим распределением ресурсов. Тогда процесс можно представить как функцию от процессора и программы, где выполнение программы ведет к изменению вектора состояния процесса.
Применяются два основных метода создания логических процессоров: интерпретация и трансляция. Вообще говоря, функционирование ЭВМ в принципе построено на методе интерпретации. Этот метод может применяться на всех уровнях иерархии вплоть до самых верхних. Однако он единственный на нижних уровнях и совмещается с методом трансляции на верхних уровнях организации вычислительных систем.
Принцип построения вычислительных систем как многоуровневых иерархических комплексов программных, микропрограммных и аппаратурных средств обеспечивает удобный стройный подход к проектированию систем, позволяет расширить их функциональные возможности, но при этом требует дополнительных накладных расходов для организации взаимодействия между уровнями. Одним из способов уменьшения этих расходов является метод вертикальной миграции.
Под вертикальной миграцией понимается метод повышения эффективности вычислительной системы путем перемещения функций на более низкие уровни ее иерархии [90]. Здесь и далее понятия эффективности и производительности вычислительной системы включают такие характеристики, как пропускная способность, время прохождения, время ответа, а также обеспечение корректного результата [40,42].
Эффект вертикальной миграции тем выше, чем ниже уровень, на который переносится функция. ЭВМ можно представить как совокупность алгоритмического описания и структурных схем [34]. Чем ниже уровень иерархии, тем меньше структурных вариантов соответствует одному и тому же алгоритмическому описанию, т. е. тем больше соответствие между алгоритмическим описанием и структурными схемами, тем выше эффективность выполнения алгоритма, в этой связи особый интерес представляет миграция функций на микропрограммный уровень, т. е. микропрограммная реализация функций или фрагментов программ. С одной стороны относительно легкая изменяемость микропрограммного уровня (по сравнению со структурными схемами) позволяет организовать оперативную миграцию функций. С другой стороны среди программируемых уровней это самый низкий уровень, наиболее учитывающий специфику аппаратуры, следовательно эффект миграции на него должен превышать эффект миграции на более высокие уровни.
Миграция на микропрограммный уровень позволяет в целом улучшить организацию вычислительного процесса в ЭВМ путем оперативного перераспределения функций между программными уровнями иерархии и микроцрограммным. В частности, такой подход может рассматриваться как одно из средств решения одной из важнейших проблем, стоящих перед вычислительной техникой в настоящее время: обеспечения адекватности отображения структуры задач на структуру аппаратуры ЭВМ [39].
Очевидно, что миграция на микропрограммный уровень означает, что организация некоторого уровня может строиться не только на базе предыдущего уровня 11->1, но и на уровне 1±-к, где кколичество уровней между уровнем 11 и микропрограммным.
— 12.
4.5. Выводы.
1# Показана практическая реализуемость концепции многоуровневой иерархической организации системы динамического микропрограммирования, обеспечивающей полный набор функциональных возможностей, предоставляемых в рамках адаптивного типа ДМ. Практически решены как базовые, так и системные проблемы дм, в том числе такие, как организация мультимикр (c)программирования, обеспечение доступности микропрограммирования пользователям, интеграция со средой операционной системы.
2. Продемонстрирован подход к организации многофункциональной системы ДМ, обеспечивающий эффективность и надежность системы и минимизирующий затраты на ее разработку и сопровождение.
3. Исследование системы, цроведенное на основе серии натурных экспериментов, показало, что эффективность микропрограммной поддержки программных алгоритмов зависит от уровня системы, на котором эта поддержка функционирует. Выявлена зависимость производительности СДМ36 от режима ДМ, коэффициента мультимикроцрограммирования, интенсивности страничного обмена в памяти микропрограмм.
4. На примере конкретных реализаций показана возможность и эффективность применения микропрограммирования для обеспечения мобильности и надежности программ (эмуляция и фильтрация), а также поддержки операционных систем.
— 148 -ЗАКЛЮЧЕНИЕ.
В работе получены следующие основные результаты.
1. Проведена классификация вариантов организации динамического микропрограммирования, позволяющая установить зависимость между обеспечиваемыми возможностями динамического микропрограммирования и принципиальными техническими решениями по его реализации.
2. Разработаны и исследованы способы организации загрузки микропрограмм, дифференцированные в зависимости от типа целевых микропрограмм, что позволяет оптимально организовать загрузку с учетом специфики каждого типа. Получены аналитические выражения для оценки временных затрат на организацию загрузки.
3. Исследована проблема интеграции средств динамического микропрограммирования со средой операционных систем, разработаны способы концептуальной и структурной интеграции, позволяющие минимизировать возможное снижение показателей производительности и безотказности работы системы в связи с включением в нее режима динамического микропрограммирования, сохранить мобильность системы, обеспечить независимое развитие и сопровождение средств динамического микропрограммирования и операционных систем.
4. Разработан способ организации прерываемости и синхронизации микропрограмм в мультимикропрограммной среде, основанный на использовании механизма передачи управления целевым командам.
5. Исследованы проблемы пользовательского мипрограммирования, выявлена специфика его требований к инструментальным средствам динамического микропрограммирования, предложены способы обеспечения устойчивости систем к ошибкам в микропрограммах пользователей.
6. Для ЕС ЭВМ предложена методика, обеспечивающая автоматическую настройку программ на выполнение с программной или микропрограммной интерпретацией целевых команд, что позволяет обеспечить мобильность программ, использующих целевые комаады, не распространенные на все модели ряда ЭВМ,.
7, Разработаны и исследованы методы организации систем динамического микропрогра ширования, учитывающие специфику программных уровней в иерархии вычислительных систем, для которых осуществляв ется вертикальная миграция функций на микропрограммный уровень, разработаны схемы и алгоритмы функционирования систем для ЕС ЭВМ, Получены аналитические зависимости, позволяющие уточнить области применения разных методов,.
8, На основе проведенных исследований разработаны многоуровневая система динамического микропрограммирования на ЭВМ ЕС1036, средства поддержки системы виртуальных машин на ЭВМ ЕСЮ35 и ЕС1036, средства повышения надежности программ и средства оперативного получения временных и частотных характеристик программ на ЭШ ЕС1036, средства эмуляции ЭВМ «Минск-32» на ЭВМ ЕС1035.