Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
эвм лабы.doc
Скачиваний:
80
Добавлен:
30.03.2015
Размер:
801.28 Кб
Скачать

Организация и правила работы в среде программно-логической модели «бмп к584вм1»

Программно-логическая модель симулирует работу операционной части, состоящей из четырех разряднонаращиваемых интегральных микропроцессорных секций К584ВМ1. Справочные данные об архитектуре микропроцессорной секции К584ВМ1 приведены в файле справки программно-логической модели. В дальнейшем операционная часть будет именоваться блоком микропроцессоров (БМП).

Программно-логическая модель позволяет осуществлять компоновку и отладку микропрограмм, написанных для БМП, а также составлять отчёт о результатах исследования. Вызов программно-логической модели осуществляется запуском файла «БМП K584ВМ1.exe». Главное окно графического интерфейса программно-логической модели представлено на рис. 1.

Сносками 1–20 на рис. 1 обозначены следующие операционные окна и объекты интерфейса:

  1. Меню «Файл»;

  2. Меню «Правка»;

  3. Меню «Отладка»;

  4. Меню «Помощь»;

  5. Панель кнопок быстрого вызова;

  6. Окно системы микроинструкций БМП;

  7. Панель состояния регистров БМП;

  8. Курсор выполнения микропрограммы;

  9. Точка останова выполнения микропрограммы;

  10. Панель точек останова и курсора выполнения микропрограммы;

  11. Флаг ВхПАЛУ (вход переноса АЛУ);

  12. Курсор редактирования микропрограммы;

  13. Окно редактирования текста микропрограммы;

  14. Панель состояния программно-логической модели;

  15. Панель фильтра микроинструкций БМП;

  16. Окно описания микроинструкции;

  17. Панель состояния шин БМП;

  18. Панель состояния входов БМП;

  19. Панель состояния выходов БМП;

  20. Панель режимов клавиатуры.

Разработанные микропрограммы перед исследованием студент должен разместить в соответствующем операционном окне главного окна графического интерфейса программно-логической модели «БМП К584ВМ1» и провести отладку в пошаговом режиме, в режиме останова по контрольным точкам и в автоматическом режиме.

При запуске программно-логической модели по умолчанию создается файл «Безымянный.k584», который хранится в оперативной памяти компьютера до последующего сохранения на жестком диске. При сохранении микропрограммы можно изменить имя файла и выбрать директорию, в которой будет сохранен файл. Все операции, связанные с файлом микропрограммы, содержатся в меню «Файл» (рис. 2):

  1. «Новый» – создает новый файл микропрограммы;

  2. «Открыть» – открывает ранее сохраненный файл микропрограммы;

  3. «Сохранить» – сохраняет редактируемый файл микропрограммы;

  4. «Сохранить как» – позволяет сохранить файл микропрограммы в указанную директорию на жестком диске.

Все команды меню «Файл» продублированы на панели кнопок быстрого вызова.

В меню «Файл» есть подменю «Экспорт», о котором будет говориться в дальнейшем.

По команде «Выход» меню «Файл» осуществляется выход из программно-логической модели.

Состояние входных и выходных шин, входов и выходов БМП отображается на панелях главного окна графического интерфейса программно-логической модели, обозначенными сносками 17–19 (см. рис. 1), расшифровка имён которых приведена в табл. 2.

Таблица 2

Описание выводов БМП, используемых в программно-логической модели

      1. Обозначение

      1. Тип вывода

      1. Функциональное назначение выводов

      1. 1

      1. 2

      1. 3

ШВх

Входы

            1. Шина данных

ШВых

Выходы

Шина данных

ШАдр

Выходы

Шина адресов

ВхПАЛУ

Вход

Входной перенос АЛУ

Р0

Вход

Вход позиционной настройки старшей секции БМП

!ПСч

Вход

Вход переноса программного счетчика (инверсный)

ИНКР/A15

Вход/ выход

В младшей секции задает величину инкремента программного счетчика / в старшей секции – выход старшего разряда шины А блока АЛУ

B15

Выход

Выход старшего разряда входной шины B АЛУ

ПР

Вход

Вход «Приоритет» управления мультиплексором вывода содержимого программного счётчика, либо РР или РРР на шину ШАдр

ПАЛУ0, ПАЛУ1, ПАЛУ2, ПАЛУ3

Выходы

Выходной перенос младшей секции БМП

Выходной перенос младшей средней секции БМП

Выходной перенос старшей средней секции БМП

Выходной перенос АЛУ

РРР0,

РРР3

Выходы

Выход старшего разряда регистра РРР в старшей секции или младшего разряда регистра РРР в младшей секции

Окончание табл. 2

1

2

3

!СДП1

Вход/ выход

Вход при сдвиге выходных данных влево, выход при сдвиге вправо (инверсный)

!СДЛ1

Вход/ выход

Вход при сдвиге выходных данных вправо, выход при сдвиге влево (инверсный)

!СДП2

Вход/ выход

Вход при сдвиге данных регистра РРР влево, выход при сдвиге вправо (инверсный)

!СДЛ2

Вход/ выход

Вход при сдвиге данных регистра РРР вправо, выход при сдвиге влево (инверсный)

Компоновка микропрограммы

На этапе компоновки микропрограммы требуется:

  1. Составить структурную схему алгоритма (ССА) выполнения соответствующей арифметической операции;

  2. Осуществить распределение аппаратных средств БМП, т.е. закрепить регистры общего назначения (РОН), рабочий регистр (РР), расширитель рабочего регистра (РРР) и шины БМП за определёнными типами данных;

  3. Отобразить ССА в текст микропрограммы;

  4. Разместить микропрограмму в окне редактирования текста микропрограммы.

При построении ССА используются знания, полученные при изучении дисциплины «Арифметические и логические основы ЦВМ». Соответственно правильность построения ССА выявится при отладке микропрограммы.

Распределение аппаратных средств БМП позволяет оптимизировать процесс составления микропрограммы и заранее оценить достаточность аппаратного ресурса для реализации разработанной ССА.

Составление микропрограммы состоит в отображении алгоритма выполнения арифметической операции на множестве микроинструкций БМП. На данном этапе необходимы знания, полученные при изучении дисциплины «Основы программирования».

Для размещения текста микропрограммы предназначено окно редактирования текста микропрограммы. Это окно содержит поля «ВхПАЛУ», «Адр» (указывает адрес микроинструкции), «Мнемокод микроинструкции», «Комментарий». Процесс размещения текста микропрограммы осуществляется при помощи соответствующих манипуляций между окном системы микроинструкций БМП и окном редактирования текста микропрограммы.

В окне системы микроинструкций БМП символьное описание микроинструкций микропроцессорной секции К584ВМ1 представлено в виде свёрнутого дерева. Содержательное наполнение микроинструкций даётся в окне описания микроинструкций при выборе символьного описания той или иной микроинструкции. Большинство микроинструкций в корневой ветви дерева изображено в обобщённом виде, что помечается символом папки слева от микроинструкции. Для разворачивания соответствующей ветви необходимо выполнить щелчок левой клавишей мыши на символе «» слева от папки (рис. 3). Выбор конкретной микроинструкции в развёрнутой ветви осуществляется однократным щелчком левой клавиши мыши в соответствующей строке ветви.

Требуемую микроинструкцию из окна микроинструкций БМП можно поместить в текст микропрограммы в окне редактирования текста микропрограммы двойным щелчком левой клавиши мыши в соответствующей строке ветви или путём перетаскивания её с помощью мыши при нажатой левой клавише в нужную строку микропрограммы (рис. 4).

Если микроинструкция содержит операнд «П», то в поле ВхПАЛУ окна редактирования текста микропрограммы необходимо определить для данной микроинструкции состояние флага, который отвечает за состояние входа переноса арифметико-логического устройства БМП. Смена состояния флага осуществляется щелчком левой клавиши мыши в поле ВхПАЛУ слева от текста микроинструкции (см. рис. 1, строка микропрограммы по адресу 002). Единичное значение флага (П = 1) отмечается галочкой.

Для уменьшения размерности дерева микроинструкций путём свёртки по требуемой группе микроинструкций БМП создана панель «Фильтр микроинструкций БМП». На этой панели верхний горизонтальный ряд кнопок управляет фильтрацией по именам источников операндов арифметических, логических операций и операций сдвига. Надписи на кнопках соответствуют именам источников операндов. При нажатии на кнопку панели щелчком левой кнопки мыши шрифт надписи становится полужирным, и осуществляется фильтрация по данному операнду. Допускается и комбинированное нажатие кнопок, тогда фильтрация осуществляется сразу по нескольким операндам. Для снятия фильтра по операнду нужно повторно нажать на соответствующую кнопку, при этом шрифт надписи кнопки вернется в исходное состояние. Второй горизонтальный ряд кнопок осуществляет фильтрацию микроинструкций по имени объекта размещения результата операции (приёмника). Одновременная фильтрация по нескольким именам приёмников не возможна. Фильтрацию приёмников можно производить в совокупности с фильтрацией источников операндов, т.е. допускается совместное нажатие нескольких кнопок в верхнем и одной кнопки в нижнем горизонтальных рядах.

Пример результата фильтрации микроинструкций по именам источников «РОН» и «РР» и приёмника «РР,РРР» представлен на рис. 5.

При размещении микропрограммы могут возникать ситуации, требующие редактирования уже имеющегося текста. Все операции, связанные с редактированием текста микропрограммы, вызываются командами меню «Правка» (рис. 6):

  1. «Вырезать» – удаляет выделенный фрагмент из кода микропрограммы и помещает его в буфер;

  2. «Копировать» – копирует выделенный фрагмент микропрограммы в буфер;

  3. «Удалить» – удаляет выделенный фрагмент микропрограммы;

  4. «Вставить» – вставляет копию из буфера;

  5. «Отменить» – восстанавливает предшествующее состояние редактирования.

  6. «Режим вставки» – показывает состояние режима вставки.

Все команды меню «Правка» продублированы на панели кнопок быстрого вызова.

Для множественного выделения строк микропрограммы перед исполнением команд 13 меню «Правка» необходимо при нажатой клавише «Shift» выделить клавишами «» и «» нужный фрагмент микропрограммы.

При запуске программно-логической модели автоматически активизируется «Режим вставки», что отображается на панели режима клавиатуры символами «Ins» (см. рис. 1). В данном режиме при редактировании или при написании микропрограммы вставка микроинструкции в текст микропрограммы осуществляется со сдвигом лежащего ниже фрагмента микропрограммы.

Если «Режим вставки» отключить, программно-логическая модель будет работать в режиме замены, что отображается на панели режима клавиатуры символами «OVWR». В этом случае при редактировании или при написании микропрограммы микроинструкция вставляется в текст микропрограммы вместо микроинструкции, отмеченной курсором редактирования.

При желании можно ввести комментарий к микроинструкции. Окно комментария открывается в текущей строке путем двойного щелчка левой клавишей мыши в поле «Комментарий» окна редактирования текста микропрограммы.

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

Но для удобства проверки функциональности микропрограммы при её отладке в тексте комментария можно использовать директивы:

  1. if < флаг > then < адрес, если флаг = 1 > [ else < адрес, если флаг = 0 > ], или русский эквивалент: если <флаг> то <адрес, если флаг = 1 > [ иначе < адрес, если флаг = 0 > ];

  2. goto < адрес >, или русский эквивалент: идти_к < адрес >.

Ветвь else (иначе) необязательна: если она отсутствует и флаг = 0, то управление передается на следующую строку.

В качестве флагов можно указывать: "ПАЛУ3" ("П"), "ПАЛУ2" ("П2"), "ПАЛУ1" ("П1"), "ПАЛУ0" ("П0"), "!СДЛ1", "!СДП1", "!СДЛ2", "!СДП2", "РРР0", "РРР3", "A15", "B15".

Пример комментария: «если П то 21 иначе 5».

Директивы обеспечивают автоматический анализ соответствующих флагов и передачу управления на указанные адреса.

Отладка микропрограммы

Этап отладки микропрограммы осуществляется путем прогона микропрограммы. Для этих целей создано меню «Отладка», в котором содержатся команды (рис. 7):

  1. «Пуск» – запускает выполнение микропрограммы до конца или до точки останова;

  2. «Шаг» – пошаговое выполнение микропрограммы;

  3. «Пуск до курсора» – запуск микропрограммы до курсора;

  4. «Пауза» – прерывает выполнения микропрограммы;

  5. «Сброс» – сброс текущих значений РОН, РР, РРР, ШВх, ШВых, ШАдр, и установка входов и выходов БМП в исходное состояние.

Все команды меню «Отладка» продублированы на панели кнопок быстрого вызова.

Точка останова микропрограммы устанавливается в окне редактирования текста микропрограммы на панели точек останова и курсора выполнения микропрограммы путем одинарного щелчка левой клавишей мыши в области панели напротив требуемой микроинструкции.

Следует различать курсор выполнения микропрограммы, который изображен на рис. 1 и обозначен индексом 8, от курсора редактирования микропрограммы, который отображается подкрашиванием синим цветом строки микропрограммы и обозначен индексом 12. Команда «Пуск до курсора» будет исполнять микропрограмму до строки, которая подкрашена синим цветом.

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

При выполнении микропрограммы может возникнуть необходимость редактирования содержимого РОН, РР, РРР и ШВх. Редактирование регистров осуществляется на панели состояния регистров.

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

Редактирование содержимого регистра можно выполнить и через вызов окна ввода значения (рис. 9) путём двойного щелчка левой клавишей мыши в соответствующем окне состояния регистра.

Сносками на рис. 9 обозначены:

  1. Поле ввода бинарного значения;

  2. Панель ввода бинарного значения.

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

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

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

Создание отчета

В программно-логической модели создание отчета подразумевает экспортирование текста микропрограммы в среду Microsoft Word. Создать отчет можно при помощи команды «Microsoft Word» подменю «Экспорт» в меню «Файл».