- •1. Структура и принцип функционирования эвм
- •2. Назначение и структура одноадресной эвм
- •3. Кодирование программ и система команд
- •4. Форматы команд и способы адресации
- •5. Выполнение машинных команд
- •6. Микропрограммный уровень эвм
- •7. Микропрограммное устройство управления Структура
- •8. Работа алу
- •9. Микрокоманды
- •10,13. Варианты построения микрокоманд
- •11. Организация шин в микропроцессорах и микропроцессорных системах
- •12. Стандартная структура шины
- •14. Выполнение микропрограмм
- •15. Временная диаграмма работы шины
- •16. Сигналы подтверждения окончания цикла. Совмещение адресной шины и шины данных, побайтная запись-чтение
- •18. Методы повышения быстродействия динамической памяти
- •19. Способы передачи информации
- •20. Способы передачи информации по линиям
- •21. Дистанционная связь
- •22. Контроллеры ву
- •23. Параллельная передача данных
- •24. Параллельный прием данных
- •25. Синхронный последовательный прием данных
- •26. Синхронная последовательная передача данных
- •27. Асинхронная последовательная передача данных
- •28. Асинхронный последовательный прием данных
- •29. Организация прерываний
- •30. Организация прерываний с программным опросом готовности
- •31. Организация прерываний с использованием векторов прерываний
- •32. Организация пдп с захватом цикла
- •33. Организация памяти. Адресная, стековая, ассоциативная память
- •34. Динамические озу. Структура и принцип работы
- •35. Управление работой динамического озу
9. Микрокоманды
М
икрокоманды.
Интерпретирующий
уровень обладает набором команд,
состоящим только из двух микрокоманд:
операционной (ОМК) и управляющей (УМК),
форматы которых показаны на рисунке.
(состоит только из двух команд)
Поскольку команд только две, достаточно однобитового кода операции: 0 — для ОМК и 1 — для УМК. Хотя для размещения информации и кода операции достаточно 30 бит, были выбраны 32-разрядные (четырехбайтовые) микрокоманды.
В операционной микрокоманде каждый из 29 информационных битов управляет одной из 29 вентильных схем. Единица означает, что вентильная схема должна быть открыта, нуль — закрыта.- Подобная структура микрокоманды обычно называется горизонтальной.
Управляющая микрокоманда используется для изменения последовательности выполнения микрокоманд в зависимости от тех или иных условий. Каждая микрокоманда УМК определяет 1 бит, подлежащий проверке (любой из 61 бит, находящихся в А, РК, РД и PC). Если выбранный бит и 24-й бит микрокоманды совпадают, последовательность микрокоманд, подлежащих исполнению, изменяется, и адрес следующей микрокоманды определяется битами с 16 по 23 самой УМК. Если выбранный бит отличается от бита 24, последовательность выполнения микрокоманд не претерпевает изменений.
Бит, подлежащий проверке, определяется двумя полями микрокоманды. Биты с 25 по 28 указывают, какой регистр интерпретирующей машины должен быть проверен согласно следующим правилам:
бит 25 — регистр состояний (PC);
бит 26 — регистр данных (РД);
бит 27 — регистр команд (РК);
бит 28 — аккумулятор (А).
Биты микрокоманды с 0 по 15 указывают, какой бит выбранного регистра подлежит проверке. Только один бит, принадлежащий группе битов с 0 по 15, и один бит группы битов с 25 по 28 должны быть равны единице.
Выполнение микропрограмм. Микропрограмма хранится в памяти микрокоманд, которая состоит из 256 (28) 32-битовых слов (рис.). Для управления выполнением микропрограммы используется счетчик микрокоманд (СчМК), аналогичный счетчику команд традиционного машинного уровня. Чтобы извлекать микрокоманды из памяти микрокоманд, декодировать их и исполнять, следовало бы иметь регистры адреса, данных и команд. Но поскольку машина-интерпретатор очень проста, один регистр выполнит функции регистра адреса и счетчика микрокоманд, а другой — регистра данных и регистра микрокоманд (РМК).
Работу процессора можно описать следующим образом. При появлении тактового импульса из памяти микрокоманд извлекается и загружается в РМК слово, на которое указывает СчМК, и к содержимому этого счетчика прибавляется единица. Если из памяти извлечена УМК, то в 31-м бите РМК содержится 1 (код операции УМК), которая открывает вентильную схему ВР1 и тем самым создает условия для исполнения УМК. Если же извлечена ОМК, то в 31-м бите РМК — нуль. Этот сигнал с помощью инвертора НЕ открывает вентильную схему ВРО, и через нее на ВО—В28 передаются состояния соответствующих битов РМК. Разряды РМК, содержащие единицы, создают открывающий управляющий сигнал, а содержащие нули — закрывающий (У0 — У28).
При исполнении УМК по сигналу, создаваемому каким-либо битом поля выбора проверяемого регистра (У1, У2, У4 или У5), открывается одна из вентильных схем В1, В2, В4 или В5 и на вентили ВВО — ВВ15 поступает через АЛУ содержимое соответствующего регистра. Одновременно на эти же вентили поступает с РМК содержимое поля выбора проверяемого бита. Так как в этом поле должна быть записана только одна единица, то открывается лишь один из вентилей ВВО — ВВ15, через который на схему сравнения поступает содержимое проверяемого бита из проверяемого регистра.
На второй вход схемы сравнения поступает содержимое однобитового поля сравнения (24-й бит УМК), в которое при кодировании УМК записали цифру 0 или 1. Если проверяемый бит и бит из поля сравнения идентичны, то схема сравнения формирует единичный сигнал, который открывает вентильную схему ВА, и на СчМК пересылается адрес перехода (биты с 16 по 23). В противном случае на СчМК сохраняется адрес микрокоманды, расположенной вслед за исполняемой.
Когда на СчМК появляется адрес микрокоманды, с которой начинается какой-либо из машинных циклов, изменяется информация на индикаторе состояний процессора. Эта информация изменяется и при переходе ЭВМ из состояния ОСТАНОВ в состояние ПРОГРАММА или обратном переходе.
Реализация любой адресной команды завершается микрокомандой перехода к циклу прерывания (микрокоманды 8F — 98), где выясняется режим работы ЭВМ и, если машина находится в состоянии “ПРОГРАММА”, то проверяется, не требуется ли прервать выполнение программы по запросу внешнего устройства. Если не требуется, то осуществляется переход к началу микропрограммы (строка 01), т. е. к выборке новой команды интерпретируемой машины. В противном случае организуется переход к подпрограмме обработки прерываний.
Аналогичным образом обрабатываются безадресные команды, команды ввода-вывода и команды, задаваемые нажатием кнопок на пульте управления ЭВМ.
В системе команд базовой ЭВМ ряд кодов операций зарезервирован для включения новых команд. Это арифметическая команда 7ххх, команда перехода Dxxx и безадресные команды FCOO, FD00, FE00 или FF00. Когда при декодировании команды выясняется, что выбрана команда 7ххх, производится передача управления к строке В0. Следовательно, часть микропрограммы, описывающая последовательность микроопераций по реализации этой команды, должна начинаться со строки В0. Сюда можно записать, например, действия по умножению или делению операндов. Часть микропрограммы, реализующая дополнительные безадресные команды, начинается от строки Е0. Первые микрокоманды этой части должны осуществить декодирование выбранной команды (определить расширение кода операции: С, D, Е или F) и передать управление соответствующим микрокомандам нового куска микропрограммы. Так как память микрокоманд имеет 256 ячеек, то при составлении микропрограмм новых команд можно использовать лишь строки с номерами от AD до FF.
