Содержание к диссертации
стр.
Введение 4
ГЛАВА I. СИСТЕМЫ АВТОМАТИЗАЦИИ МИКРОПРОГРАММИРОВАНИЯ
И СУЩЕСТВУЮЩИЕ МЕТОДИКИ АВТОМАТИЗИРОВАННОГО
РАЗМЕЩЕНИЯ МИКРОПРОГРАММ В УПРАВЛЯЮЩЕЙ
ПАМЯТИ 10
ГЛАВА П. ОСНОВНЫЕ ПРИНЦИПЫ МЕГОДЙКИ АВТОМАТИЗИРОВАННОГО
РАЗМЕЩЕНИЯ МИКРОПРОГРАММ В УПРАВЛЯЮЩЕЙ ПАМЯТИ. . 29
2.1. Способы модификации адреса при организации
условного перехода 29
-
Теоретико-множественный подход при представлении исходной информации Э6
-
Трудности распределения УП при отсутствии алгоритма. А і
-
Методика размещения МП в УП. Постановка задачи. . . 48
-
Критерий размещения 48
-
Структурирование задачи 49
2.5. Методика размещения связок &&* Щ- в связке Sj,p . 52
-
Условия размещения связок Scii,mt в связке Sj,p . 55
-
Методика получения списка размещений B>j ... 56
-
Графовое представление укрупненной связки 5j,p . . 65 ВЫВОДЫ 69
ГЛАВА Ш. П УРОВЕНЬ ИЕРАРХИИ. РАЗМЕЩЕНИЕ СВЯЗОК П РОДА Sj,P
В СВЯЗКЕ Ш РОДА S ?<
3.1. Метрическое представление управляющей памяти S
как связки Ш рода Ч\
3.2. Условия размещения укрупненных связок П рода Sj,p
в связке S 76
3.2.1. Формализация условий плотного размещения связок
Sj,p N типов в УП 78
3.3. Способы размещения связок Sj,p в связке Ш рода S . 82.
_ з -
3.4. Оценка сложности размещения множества МК в УП
с помощью разработанной методики 88
-
Критерий разбиения Lpa5" регистра адреса микрокоманды на зоны Kj 89
-
Рекомендации разработчику микропрограммного устройства 96
-
Этапы методики автоматизированного размещения МП в УП.97
-
Обработка анкеты заказчика 99
-
Разбиение множества разрядов РАМ на зоны Kj . . . .100
-
Комплектование укрупненных связок П рода Sj,p связками I рода Sa^mi 1СЦ
-
Комплектование связки Ш рода S укрупненными связками Sj,p 105
вывода ю7
ГЛАВА ІУ. ОПИСАНИЕ БИБЛИОТЕКИ ПРОГРАММНЫХ МОДУЛЕЙ .... ЛЮ
-
Описание данных программного обеспечения 1^2.
-
Описание блок-схемы программного сегмента CONCATENACIA. 1И
-
Описание блок-схемы подпрограммы GENERATOR .... ^5
-
Описание блок-схемы подпрограммы RANG -118
-
Описание блок-схемы подпрограммы ZONA 120
-
Описание блок-схемы программного сегмента KUB . . .123
-
Характеристики комплекса программ . <23
ЗАКЛЮЧЕНИЕ 126
ЛИТЕРАТУРА 429
ПРИЛОЖЕНИЯ 135
- a -
Введение к работе
В настоящее время метод микропрограммного управления находит все большее применение при проектировании устройств вычислительной техники(ВТ), в частности специализированных цифровых вычислительных машин (СЦВМ), и других средств обработки данных. На микропрограммном уровне реализуется сегодня не только система команд, но и отдельные компоненты системного программного обеспечения, диагностические комплексы, средства обеспечения совместимости, прикладные задачи. При том значительно возрастает объем микропрограммной подсистемы и удельного веса ее разработки в общем процессе проектирования СЦВМ. Разработка микропрограмм как правило идет параллельно с разработкой аппаратной подсистемы, а иногда может распространяться на весь период выпуска и использования СЦВМ.
В то же время современное микропрограммирование характеризуется значительной сложностью, обусловленной применением многоформатных микрокоманд, сложными системами адресации микропрограммной памяти, наличие ''большого числа ограничений ^на ^сочетание и последовательность микроопераций. Современные конструкции микропрограммной памяти требуют для ее изготовдения : применения программно-управляемых автоматов и, следовательно, подготовки большого объема информации на управляющих носителях.
Все это повлекло за собой появление систем автоматизации микропрограммирования /7,12,19,26,28,30/45/. Эти системы, основанные на языках символического кодирования, или символического микропрограммирования /2,8,21,27/, позволили снизить трудоемкость кодирования микропрограмм и их подготовки для занесения в управляющую память, автоматизировать получение документации, подготовку информации для моделирования. Наиболее разработанными в существующих системах автоматизации микропрограммирования явля- ются процедуры разделения слова микрокоманды на поля, оптимального распределения микроопераций по полям микрокоманды и связанная с этими проблемами задача минимизации длины слова микрокоманды. Существенное развитие в настоящее время получили языки символического микропрограммирования, предназначенные для описания алгоритмов микропрограмм. Это языки уровня "один к одному", позволяющие представить микрокоманду как последовательность микроопераций и операндов в символическом виде и в кодированной форме. Ряд таких языков обладает дополнительными возможностями - средствами макрорасширения, т.е. одновременного составления часто используемых фрагментов микропрограмм; средствами микрокомпановки, .позволяющими автоматически "собирать" микрокоманды из микроопераций, логических условий и т.д. В результате работы транслятора системы автоматизации осуществляется преобразование символической микрокоманды во внутренний формат-запись, помещаемую в ячейку памяти микрокоманд.
Одну из основных трудностей при разработке систем автоматизации микропрограммирования составляет проблема оптимального размещения микропрограмм в управляющей памяти. Сложность решения этой проблемы вызвана большим количеством ограничений, накладываемых на выбор адреса управляющей памяти для размещения микрокоманды, Эти ограничения появляются из*-за того, что в системах микропрограммирования, как правило, адрес перехода, к следующей микрокоманде формируемый при выполнении очередной микрокоманды, не может быть произвольным. Кроме того, ограничения на значения адреса накладывают особенности выбранного способа модификации адреса при организации в микропрограмме перехода по условию. Усложнение микропрограмм приводит к ушеличению в составе микрокоманд удельного веса групп-преемников микрокоманд условного перехода. Это еще больше усложняет процесс размещения микропрограмм в уп- - 6 ** равляющей памяти. Как уже отмечалось, процесс разработки микро-программ при проектировании СЦВМ может распространяться на весь период разработки аппаратной части устройства, что приводит к необходимости вносить оперативные изменения в уже написанные и отлаженные микропрограммы. Часто это происходит после того, как наборы микропрограмм уже размещены в управляющей памяти, и трудоемкий процесс распределения памяти, поиск и исправление ошибок приходится повторять почти заново. Перечисленные трудности могут быть преодолены только в результате создания систем автоматизированного размещения микропрограмм в управляющей памяти.
Большинство из методик размещения, разработанных на сегодняшний день, ориентировано на системы микропрограммирования, в которых при ветвлении схема анализа условий воздействует на состояние младших разрядов адреса микрокоманды. В этом случае группа - преемников микрокоманды условного перехода может быть размещена в последовательно расположенных ячейках управляющей памяти, что упрощает разработку методик автоматизированного размещения. Существенно сложнее оказывается процедура распределения управляющей памяти для более общего способа формирования адресов микрокоманд, при котором условия переходов могут изменять любые разряды адреса. По оценкам специалистов, распределение управляющей памяти в 1024 ячейки для такого способа формирования адреса занимает месяц - два работы опытного микропрограммиста.
В то же время этот метод обладает рядом преимуществ. В частности, заметно сокращается глубина декодирующих схем анализа условий, воздействующих на состояние любых разрядов адреса. При этом увеличивается скорость выборки микрокоманды из управляющей памяти, что является определяющим фактором для некоторых типов СЦВМ. Декодирующие схемы для разрядов адреса, участвующих в модификации при условном переходе, во всех разрядах оказываются почти одинаковыми по оборудованию, что упрощает процедуру' трассировки при использовании схем малой и средней интеграции и тем более при изготовлении заказной СБИС (вентильная матрица). Однако, использование этого метода тормозится трудностями, возникающими при размещении набора микропрограмм в управляющей памяти.
Целью настоящей работы является создание методики автоматизированного размещения микропрограмм в управляющей памяти для способа формирования адресов микрокоманд, при котором условия перехода могут задавать любые разряды адреса, с учетом возможности внесения изменений и дополнений без перераспределения памяти заново в случае изменения участков микропрограммы; создание на основе разработанной методики библиотеки программных модулей, осуществляющих процесс автоматизированного распределения управляющей памяти.
В качестве методов исследования использовалась теория мно -жеств, работа со структурами в метризуемых пространствах, элементы теории графов.
Методика выполнения экспериментальных исследований включает написание и отладку на основе разработанных алгоритмов библиотеки программных модулей, осуществляющих распределение управляющей памяти, и оценку этого процесса для памятей различной размерности.
Научная, новизна полученных результатов состоит в следующем:
Предложен структурный подход к задаче размещения, играющий роль одного из основных принципов разработанной методики, позволяющий разбить исходную переборную задачу на подзадачи меньшей размерности с целью поиска решения в рамках этих подзадач путем полного перебора; на каждом уровне полученной иерархии переборных задач удалось применить подобные методы решения; предложено оригинальное представление управляющей памяти в виде метрического пространства, которое получаемся в ре- - a _ зультате произведения метрических пространств, эквивалентных выделенным в памяти структурам ; что позволило выявить порядок в задаваемом массиве вєтеящихся микрокоманд ;
3) такое представление управляющей памяти позволило свести сложную переборную задачу размещения микропрограмм в управляющей памяти к построению стандартных таблиц, по которым в подмножествах адресов управляющей памяти, также имеющих метрическое представление, осуществляется плотное размещение исходных групп микрокоманд - преемников при условном переходе.
Практическая ценность. Использование результатов работы позволяет существенно уменьшить трудоемкость процесса размещения микропрограмм в управляющей памяти и внесения изменений в уже распределенную память при корректировке микропрограмм и в целом значительно сократить время разработки микропрограммного устройства управления СЦЕЇ. Библиотека программных модулей, автомати -зирующих процесс распределения управляющей памяти, явилась частью системы автоматизированного проектирования микропрограмм, разрабатываемой в Научно-исследовательском центре электронной вычислительной техники. Кроме того, предложенная методика может использоваться при ручном распределении и корректировке управляющей памяти. При этом размещение получено плотное, без потерь адресов, что позволяет экономить память. Процесс подготовки данных и обработки результатов может производить даже не инженер.
Апробация работы и публикации. Основные положения работы докладывались и обсуждались на IX Всесоюзном совещании - семинаре "Актуальные проблемы автоматизации проектирования ЭШ" (май 1981 г. Симферополь), на научной конференции "Проблемы создания и развития АСНИ, САПР и информационно-вычислительных комплексов", посвященной 60-летию образования СССР (МЭИ,1982 г.), на техническом совете отделов № 179, 251 (Москва, НИИЦЭБТ, 1982 г.). По материа - ~ 9 - лам работы опубликовано 3 статьи, одна из которых в соавторстве. Материалы диссертации отражены также в трех отчетах по НИР, проводимых кафедрой ВТ МЭИ, исполнителем которых являлся автор.
Объем работы* Диссертация состоит из введения, четырех глав, заключения и списка литературы. Содержание диссертации изложено на 128 страницах, включает в себя 55 рисунков. Список литературы содержит 55 наименования:.
Краткое содержание диссертации.
Во введении обоснована актуальность тематики работы, сформіу-лирована цель исследований, приведены основные положения диссертаін ции.
В первой главе дается обзор и анализ известных систем автоматизации микропрограммирования и методик автоматизированного размещения микропрограмм в управляющей памяти.
Во второй главе обоснован выбор способа ветвления "функциональный переход" и способа модификации адреса микрокоманд, при котором условия перехода могут задавать любые разряды адреса. Предложен структурный подход к задаче размещения, в результате чего получена иерархия переборных задач. Подробно рассмотрен I уровень иерархии на основе метрического представления памяти.
В третьей главе рассмотрен II уровень полученной иерархии переборных задач. Получен алгоритм плотного заполнения управляющей памяти микрокомандами. Разработаны простые рекомендации разработчику микропрограммного устройства для наилучшего применения разработанной методики. Основные положения методики проиллюстрированы на конкретном примере.
В четвертой главе дано описание библиотеки программных модулей, реализующих автоматическое размещение микропрограмм в управляющей памяти.
В заключении сформулированы основные полученные автором результаты. — 10 —