Составление и проверка работоспособности микропрограмм Разработка МП производится в несколько этапов. Этап 1 - выбор алгоритма решения задачи и его запись в символьной форме. Этап 2 - разработка блок-схемы алгоритма (если это необходимо). Этап 3 - распределение памяти, то есть распределение загрузки регистров ПС. Этап 4 - запись микропрограммы, реализующей алгоритм, в ОЗУ МК. Этап 5 - отладка микропрограммы. Составление МП удобнее начать с написания операционной части МК, т.е. с заполнения полей с 0-го по 5-й в соответствии с таблицами кодов (табл. 1…4). Микропрограмма записывается в виде последовательности МК. Рекомендуется каждую МК записывать в виде двух строк: символьной (на языке микропрограммирования) и кодовой (в машинном коде). В символьной Формат прохождения данных Таблица 5 Контролируемые выходы Таблица 6 Пример составления микропрограммы Таблица 7 строке для каждой МК записываются функции обработки данных и функции переходов. Адреса переходов, констант, задаваемые полем в символической записи, а также адреса МК представляются в шестнадцатеричной форме. Кодовые строки применяются при загрузке МК в микроЭВМ. При этом для ускорения ввода микропрограммы неиспользуемые поля рекомендуется считать нулевыми. При выполнении МП в микроЭВМ можно выделить следующие типичные операции: загрузка исходных данных, чтение содержимого регистров, обработка данных, индексация (контроль) исходных данных, промежуточных и конечных результатов. Следует отметить, что МП заносится в ОЗУ МК вручную, а данные размещаются в следующих регистрах ПС: R0…R15, RQ. Ввод исходных данных может быть проведен только с использованием арифметических и логических операций. Загрузка любого РОН и регистра Q производится только с выводов АЛУ, например, путем суммирования с нулем. Поля 6 и 7 в данном случае можно не использовать. Пусть необходимо, например, прочитать содержимое РОН5. Поля 0, 2 в этом случае не используются. В поле 1 (адрес В) заносится код адреса РОН5 - 0101. В качестве операции АЛУ выберем логическую функцию «ИЛИ», осуществляемую с данными, поступающими на его R и S входы. Для этого в поле 3 МК занесем код 0011. Источниками операндов выберем нулевой код, подаваемый на вход R, и регистр В (RB), содержимое которого пересылается на вход S. Для осуществления данной операции (R=0. S=B) в разряды 18…16 (I8…I6, поле 4) МК необходимо записать кодовое слово 011. Если результат чтения РОН5 необходимо загрузить в регистр Q без сдвига, а выход процессора Y подключить к входу АЛУ, то в разряды 23…20 (поле 5) МК требуется занести код 0000 (табл. 7). Допустим, необходимо сложить содержимое регистров РОН5 и Q и результат поместить в ячейку 1101 ОЗУ МК. В этом случае полем 0 пользоваться не будем. В поле 1 запишем адрес регистра, в который необходимо поместить результат операции, например 1101. В поле 2 занесем адрес РОН5 - 0101; в поле 3 - код сложения 0000 (С0 =0), в трех младших разрядах поля 4 - код 000, соответствующий R=А и S=Q; а в поле 5 - код 011, определяющий пересылку результата в РОН с адресом, указанным в поле 1 (адрес В). Порядок выполнения работы Запись микропрограмм в ОЗУ происходит в режиме ЗАГРУЗКА. МК заносится в память ОЗУ сегментами по 4 бита (тетрада). Адрес загружаемой МК набирается с помощью переключателя АДРЕС, номер поля МК - переключателем МУЛЬТИПЛЕКСОР, содержимое поля МК – переключателем ДАННЫЕ. Возможны два варианта загрузки: «по горизонтали» и «по вертикали». Загрузка по горизонтали выполняется в следующей последовательности: 1. Переключатель ЗАГРУЗКА/РАБОТА установить в положение ЗАГРУЗКА. 2. С помощью переключателя АДРЕС набрать адрес загружаемой МК. 3. Переключателем МУЛЬТИПЛЕКСОР установить номер загружаемой тетрады. 4. Набрать с помощью переключателя ДАННЫЕ требуемый двоичный набор (записываемую тетраду). 5. Нажать клавишу ЗАГРУЗКА, при этом происходит запись данных. 6. Проверить на индикаторе ПАМЯТЬ правильную загрузку тетрады в память ОЗУ. 7. Повторить шаги 3-6 для всех восьми комбинаций переключателей МУЛЬТИПЛЕКСОР, что соответствует загрузке всех тетрад МК. 8. Повторить шаги 2-7 для загрузки всех возможных МК (максимальное число микрокоманд равно 16). При программировании любые безразличные состояния полей МК можно опускать. Приведенная процедура соответствует последовательной записи восьми 4-битных полей каждой МК с переходом к следующей. Допустима последовательная загрузка «по вертикали», когда заполняются все 16 тетрад одного поля. Для этого переключателем МУЛЬТИПЛЕКСОР устанавливается код 000 (поле 1 МК). Далее при последовательном изменении кода адреса МК в соответствующие ячейки памяти ОЗУ загружаются сооветствующие тетрады микрокоманд. Затем, меняя положение переключателя МУЛЬТИПЛЕКСОР, загружают остальные тетрады всех МК. Следует отметить, что загрузку МП удобнее производить первым способом, а контроль содержимого ОЗУ - вторым. Если в режиме ЗАГРУЗКА нажать кнопку ПУСК, то выполнится МК, адрес которой был набран переключателем АДРЕС. Таким образом можно задать начало выполнения МП с нужного адреса. Для запуска МП необходимо произвести начальную установку: - переключателями АДРЕС установить значение стартового адреса; - однократным нажатием кнопки ПУСК занести МК, имеющую стартовый адрес, в регистр микрокоманды. Для прогона микропрограммы в пошаговом режиме необходимо: - переключатель ЗАГРУЗКА/РАБОТА перевести в положение РАБОТА; - нажатием кнопки ПУСК осуществить пошаговое выполнение МП; - с помощью СИ ДАННЫЕ и переключателей МУЛЬТИПЛЕКСОР проконтролировать выполнение МП, используя информацию табл. 6. Для контроля данных на выходе ПС К1804ВС1 переключатель МУЛЬТИПЛЕКСОР устанавливается в положение 001, а при контроле последовательности адресации – в 000. Содержание отчета 1. Изучить (повторить) теоретический материал по лабораторной работе. 2. Вычертить схему учебной микро ЭВМ. 3. Записать назначение ее основных функциональных элементов. 4. Вычертить схему формата команды учебной микро ЭВМ. 5. С привязкой к схеме выяснить и отобразить, что для учебной микро ЭВМ что может являться источником входных данных (источник операндов). 6. С привязкой к схеме выяснить и отобразить функциональные элементы, куда может быть сохранен результат вычислений в АЛУ (приемник результатов). 7. В таблице записать функции АЛУ учебной микро ЭВМ. 8. Найти соответствие элементов схемы с программной реализацией учебной микро ЭВМ. 9. Отработать учебные примеры теоретического материала. (пп.4 и Табл.7) 10. Сделать выводы. Контрольные вопросы 1. Пояснить смысл принципов функционирования микроЭВМ. 2. Рассмотреть особенности функционирования МТ 1804. 3. Как происходит выполнение и контроль МП? 4. Почему для операций ввода-вывода и обнуления приходится использовать арифметические либо логические операции? Задание 1. Пользуясь таблицами 8, 9, составить МП обнуления, чтения и записи РОНа с номером N, равным номеру варианта. Загруженное в РОН число принять равным N+1. При этом использовать все возможные варианты, пригодные для обнуления. 2. (№ + 16 ) ® R (ст. разр.) и RQ (мл. разр.). Контролировать выполнение каждой МК на СИ ДАННЫЕ. |