Основное правило составления микрокоманд и микропроцедур.
Содержимое регистров, которые не учавствуют в выполнении команды или данной микрокоманды должно быть сохранено или восстановлено, если без искажения данных регистр выполнит команду или микрокоманду не представляется возможным. Таким образом формируется полный набор микрокоманд (МК), которые используются для:
- написания программ ВУ, в которых требуется максимальное быстродействие (специализированные ВУ);
- разработки системы команд в виде микропрограмм и макрокоманд:
а) директивная система команд
б) система команд, формируемая разработчиком.
Однокристальное РАЛУ
Это РАЛУ характерно тем, что разрядность обрабатываемых слов может наращиваться только программным образом. Для того чтобы обеспечить наращивание разрядности необходима аппаратная поддержка.
| |
|
Цепи по сдвигу включают в себя элементы: y2, Т2, y3 и y4. Сигнал L2 обеспечивает выбор сдвигаемого разряда. Сигнал L3 обеспечивает фиксацию сдвигаемого разряда. Сигнал L4 выбирает источник сдвига.
Цепи по переносу включают: Т1, y1 и y5. Сигнал Р обеспечивает фиксацию значения разряда переноса.
Для использования этой структуры в вычислительной системе необходимо определить набор микроопераций и микрокоманд, выполняемых данным РАЛУ.
№ | Операция | Обозначение | S3 | S2 | S1 | S0 | M | P0 | Р | А | АДР | W/R | V0 | V1 | V2 | V3 | L1 | L2 | L3 | L4 | IS |
1 | Сдвиг влево содержимого Рг2 на один разряд с запоминанием результата сдвига и использование ранее заполненного разряда | (Рг2)3®3(Рг2) | * | * | * | * | * | * | 0 | * | * | 0 | 0 | 0 | 1 | 0 | * | 1 | 1 | 1 | * |
2 | Сложение двух операндов А и В, младшие части которых находятся в РОН с адресом А1 и РОН с адресом А2, а старшая часть в РОН с адресом А3 и РОН с адресом А4 соответсвтенно. Результат поместить в РОН А1 и РОН А2 | (РОН-А1)®Рг1 (РОН-А2)®Рг2 (Рг1)3плюс 3(Рг2)®РОН-А1 (РОН-А3)®Рг1 (РОН-А4)®(Рг2) (Рг1)3плюс 3(Рг2)®РОН-А2 | * * 1 * * 1 | * * 0 * * 0 | * * 0 * * 0 | * * 1 * * 1 | * * 1 * * 1 | * * Р0 * * * | 0 0 1 0 0 1 | 0 * * 0 * * | А1 А2 А1 А3 А4 А2 | 0 0 1 0 0 1 | 1 0 0 1 0 0 | 0 1 0 0 1 0 | 0 1 0 0 1 0 | 0 0 0 0 0 0 | 0 0 0 0 0 1 | 0 0 0 0 0 0 | 0 0 0 0 0 0 | 0 0 0 0 0 0 | * * * * * * |
Изменив структуру вычислительной системы, приходится менять структуру микрокоманд.
Протокол обмена - это совокупность, последовательность которой необходимо вырабатывать для функционирования.
Примеры использования РАЛУ разрядно-модульного типа. Использование законченной структуры
Для того чтобы использовать эту структуру необходимо изучить:
1. Структуру РАЛУ (с точки зрения программиста, если РАЛУ однокристального типа).
2. Таблицы микрокоманд, микропрограмм и микроопераций, выполняемых РАЛУ.
3. Правила и типовые схемы наращивания разрядности обрабатываемых слов.
4. Временные и динамические характеристики РАЛУ.
5. Электрические характеристики. Конструктивное исполнение.
6. Условия эксплуатации.
1. Анализ структуры РАЛУ. Взаимодействие узлов.
Эта схема имеет большое количество входов и большое количество выходов.
RA – регистр адреса
АС – регистр-аккумулятор (RD)
DC – дешифратор микрокоманды
За один такт выполняется одна микрооперация (вертикальное микропрограммирование). Структура микрокоманды (МК) следующая:
![]() |

Fгр – задаёт тип операции, выполняемой АЛУ
Rгр – источник операнда, приёмник результата
C1, С0 – вход и выход арифметического переноса
СП1, СП0 – вход и выход сдвигов
ВА, ВD – сигналы, которые переводят выходной буфер в третье состояние.
Взаимодействие элементов в РАЛУ
1. По переднему фронту ТИ происходит дешифрация МК, активизация трактов передачи информации к АЛУ; реконфигурация АЛУ под воздействием управляющего слова и формирование результата на выходе АЛУ.
2. По заднему фронту ТИ происходит фиксация результата в элементах хранения.
Наращивание разрядности обрабатываемых слов
Два способа: последовательный и параллельный перенос с использованием схем ускоренного переноса.
Система синхронизации (с. с.):
Используется однофазная с. с.
Пример использования секционированного РАЛУ.
КОП, источник операндов, приёмник результата и способ определения адреса следующей команды.
Этап применения включает в себя:
1. Разработку обобщённой структуры микроЭВМ.
2. Разработку микропрограмм.
3. Оценку эффективности структуры и микропрограмм.
Этот цикл является итерационным.
Вычислительная структура должна отвечать на следующие вопросы:
1. Какова структура микрокоманд.
2. Каким образом осуществляется вход в микропрограмму.
3. Как осуществляется старт микроЭВМ и организуется последовательный цикл работы.
Фаза старта реализуется с помощью средств аппаратной и программной поддержки. Аппаратно старт микроЭВМ обеспечивает принудительное формирование заранее определённого адреса, в котором записан последовательный путь микроЭВМ. В данном случае это осуществляется переводом в третье состояние адреса и формирования самого старшего адреса на входах памяти. Память переводится в режим чтения и вырабатывается команда перехода на начало.
Фаза последовательной работы характеризуется тем, что в начальный момент времени формируется начальный адрес микропрограммы по коду операции (КОП) или адрес следующей микропрограммы (МК) по внутренним сигналам УУ. Результатом выполнения микрооперации является фиксация адреса в данных в соответствующих регистрах RA и RD.
Перед разработкой микропрограммы все регистры, входящие в АЛУ, делятся на: регистры программиста ( эти регистры доступны программисту на программном уровне) и на рабочие регистры (эти регистры доступны только на уровне МК).
Устройство микропрограммного управления.
Обобщённая структура вертикальных, квазивертикальных, горизонтальных микропрограмм (МП).
Требования к УМУ:
1. Оно должно формировать полную совокупность управляющих сигналов Yi для управления работой процессорного элемента и сопряжённых с ним субблоков (ОЗУ, процессоров и т. д.).
2. Количество внутренних состояний автомата, моделирующего работу УУ должно быть не меньше числа различных МК, подлежащих реализации во всей совокупности МП.
3. Должна быть обеспечена возможность произвольной выборки последовательности микрокоманд и микропрограмм в зависимости от управляющих кодов Qj.
4. Должна быть обеспечена возможность модификации последовательности микрокоманд в пределах микропрограммы в зависимости от внешних условий Uk.
![]() |
УУ на жёсткой логике
УУ – формирование адреса следующей макрокоманды. На жёсткой логике это формируется следующим образом:
Аi+1 = Aг +1
Структурная реализация УУ зависит от архитектуры процессорных элементов, состава и архитектуры субблоков. Структурная реализация управляющих входов, совокупность входов, требуемых для реализации всех команд.
Недостатки: невозможность введения или изменения системы команд без изменения аппаратной части; отсутствует инвариантность к составу субблоков; затруднён условный и безусловный переходы.
Достоинства: минимальные аппаратные затраты и минимальное операционное время.
УМУ подразделяются на:
1. Устройства с вертикальным микропрограммированием.
Если сигналы Yi на всех управляющих входах являются взаимоисключающими или ортогональными в том смысле, что одновременно не появляются более одного активного выхода (входа), то соответствующая микрокоманда может быть представлена в закодированном виде. Если все управляющие сигналы объединены в группы и каждая микрокоманда задаётся отдельным кодом, то считается, что используется вертикальное МП.
![]() |
Достоинства: минимальный объём памяти.
Недостатки: отсутствие инвариантности к изменению Yi (невыполнение условия ортогональности приводит к неработоспособности структуры); отсутствует возможность совмещения операций во времени; требуется большое время для формирования сигнала Yi из-за необходимости дешифрации.
2. Устройства с горизонтальным микропрограммированием.
![]() |
Достоинства: минимальное аппаратное и операционное время; возможность совмещения операций во времени; максимальная простота при подпрограммных микрокомандах.
Недостатки: большой объём требуемой памяти.
3. Устройства с квазивертикальным микропрограммированием.
![]() |
Эта структура реализуется в том случае, если в совокупности сигналов Yi можно найти сигналы, которые являются ортогональными по отношению друг к другу.
Достоинства и недостатки – сочетание из 1. и 2.
Структура УМУ:
![]() |
* - зона следящего (следующего) адреса. Разряды управления – это сигналы, поступающие на элементы вычислительной системы и обеспечивающие выполнение той или иной команды.
В информационном составе * представляет собой маску проверки условий для выбора внешних условий Uk для реализации ветвящихся микропрограмм или ссылку на адрес следующей микрокоманды.
Если адрес следующей микрокоманды формируется в зависимости от совокупности сигналов или 1 или 2, то данная система называется ортогональной по вводу адреса следующей микрокоманды.
БМУ используется как:
1. Само устройство МУ.
2. Построение быстродействующих программируемых контроллеров.
Построение быстродействующих контроллеров на основе БМУ
Типовой процесс проектирования включает:
1. Анализ объекта управления:
- изучение состава датчиков входных сигналов;
- изучение состава исполнительных элементов;
- изучение или разработка алгоритма работы объекта управления;
- изучение динамических характеристик объекта управления, датчика входной информации и исполнительных элементов;
- изучение динамических и статических точностных характеристик системы управления;
- анализ конструктивных требований.
2. Оценка возможностей использования типового варианта контроллера.
3. Формирование взаимосвязи объект управления – контроллер.
4. Разработка программ работы контроллера.
![]() |
Два режима работы:
1. Стартовый – по сигналу "Старт" заносится стартовый код, который как правило является начальным адресом микропрограммы управления объекта.
2. Последовательный – по сигналам УА из зоны следящего адреса формируется адрес следующей микрокоманды, а из зоны опроса внешних устройств формируются сигналы позволяющие осуществить ветвление программ.
Эти устройства могут быть многократными. Выбор программы зависит от стартового кода.
Структурные методы повышения быстродействия микропроцессора
Временные диаграммы взаимодействия основных узлов микроЭВМ
![]() |
Ni – ссылка на адрес следующей микрокоманды
Ci – разряды управления процессорными элементами и субблоками.
Si – информация о состоянии ПЭ (регистр состояния).
ai – адрес текущей микрокоманды.
ta – время установки информации на выходе.
tNC – время реакции управляющей памяти на адрес, поступающий из БМУ.
ts – время формирования результата операции в ПЭ с момента поступления сигнала Сi.
tm – время, необходимое для фиксации результата операции во внешнем устройстве.
Конвейерная обработка информации
![]() |
В данном случае имеют место 2 параллельных процесса:
1. Формирование адреса следующей микрокоманды.
2. Выполнение операции в проц. эл-те.
При этом задержки ts и tNC совмещаются во времени. А т. к. tp и tA приблизительно одинаковы, то быстродействие повышается в 1,5 – 1,8 раза.
Достоинства: повышение быстродействия при минимальных аппаратных затратах.
Недостатки: наличие фазового сдвига в тех участках вычислительного процесса, в которых происходит анализ состояния ПЭ. Для устранения этого недостатка используются "длинные" микрокоманды. "Длинная" микрокоманда – это микрокоманда, в которой разряды управления не изменяются в течение двух тактов.
УП и ПЭ – устройства комбинационного типа.
Многоуровневая конвейерная обработка
В данном случае имеет место случай когда ПЭ по своему быстродействию значительно превышает быстродействие памяти. В этом случае устанавливается такое количество конвейерных регистров, во сколько раз быстродействие процессора выше быстродействия памяти.
Достоинства: максимальное быстродействие при минимальных аппаратных затратах.
Недостатки: наличие фазового сдвига в тех участках вычислительного процесса, когда оценивается состояние ПЭ.
Для устранения этого недостатка используются и длинные микрокоманды, т. е. микрокоманды, которые занимают 2 такта.
Память с расслоением
![]() |
|
В данном случае используется такое количество слоёв памяти - во сколько раз быстродействие ПЭ выше быстродействия памяти.
Достоинства: повышение быстродействия при минимальных аппаратных затратах.
Недостатки: наличие фазового сдвига при выполнения программ ветвления.
Для ликвидации этого недостатка используются длинные микрокоманды, т. е. одна и та же микрокоманда размещена в соседних слоях памяти.
Вычислительные системы с переменной длительностью цикла
| |
![]() |
1 – время необходимое для выполнения логической операции.
2 – время необходимое для выполнения арифметической операции без формирования признаков состояний.
3 – арифметические операции с формированием признаков состояний.
В структуру микрокоманды вводятся дополнительные разряды, которые обеспечивают управление генератором ТИ, который формирует соответствующую временную диаграмму.
Достоинства: повышение быстродействия на 15-20%
Недостатки: наличие машинного цикла переменной длины.
При построении вычислительных систем обычно встречаются все 4 варианта структурных решений.
Технические средства организации прерываний
Прерывание можно охарактеризовать как автоматическое изменение в программе, вызванное условием или совокупностью условий, возникающих в некоторой части вычислительной системы. Для организации прерываний необходимы 2 части:
- аппаратная;
- программная.
Система прерываний должна:
1. реагировать на запросы прерывания (аппаратно).
2. формировать код номера запроса прерывания (аппаратно)
3. сравнивать поступающий запрос с уровнем текущего приоритета (аппаратно или программно)
4. обеспечивать сохранение содержимого регистров прерванной программы (программно)
5. обеспечивать переход к вызываемой программе (программно)
6. по окончанию работы вызванной программы, вернуться к прерванной и продолжить её выполнение.
Основной характеристикой режима и является время реакции на прерывание – время между поступившим запросом на прерывание и выполнение первой полезной команды затребованной программы.
При прерывании информация сохраняется в стековой области памяти. В памяти храним номер следующей команды и РОН. Если попали во время выполнения программы, тогда уже необходимо сохранить промежуточные данные в стек. Поэтому лучше дождаться выполнения команды до конца.
Обобщённая структура микропроцессора (МП), обеспечивающего работу в режиме прерывания.
Режимы:
1. INT=0 – прерывание отсутствует. В этом случае по сигналу ЗМ (занесение микрокоманды) происходит считывание очередной команды из памяти, т. е. в данном случае функционирует последовательный режим работы.
2. INT=1 – прерывание отсутствует. Считывается код КМП. Этот код является начальным адресом микропрограммы (мп) расположенной в памяти и обеспечивающей вход в прерывание.
Примечание: режим прерывания воспринимается только после завершения команды.
Системы с циклическим опросом.
Схемы входа в прерывание должны обеспечивать режим 2-х вопросов:
1) Сформировать сигнал общего запроса на прерывание;
2)
Сформировать код номера запроса на прерывание.
По сигналу RESET триггер Т устанавливается в "0" и СТ2 (счётчик) – обнуляется. Сигнал INT=0, следовательно тактовые импульсы поступают на СТ2. Состояние СТ2 поступает на дешифратор (DC), на выходе которых присутствует один активный уровень. Последовательно происходит опрос наличия запросов на прерывание. Если запрос на прерывание и активный уровень с выхода CD совпадают, то триггер Т переключает в него "1". Прекращается подача ТИ на СТ2. На выходе схемы появляется активный уровень INT, а с выхода СТ2 формируется код номера запроса на прерывание.
Достоинства: простота реализации при минимальных аппаратных затратах.
Недостатки:
- сравнительно большое время реакции на прерывание;
- резко возрастают аппаратные затраты с увеличением входов прерывания;
- в этой системе не представляется возможным проранжировать сигналы по уровням приоритета.
Пример: системы, которые не позволяют обеспечить прерывание с запросом с более высоким уровнем приоритета, называются одноуровневыми.
Для устранения последнего недостатка используются Дейзи-цепочки.
![]() |
“1” – для маскирования и не маскирования наличия прерывания. Эта структура позволяет обеспечивать приоритетность прерываниям.
Структура микроЭВМ с блоками прерываний
Два режима работы:
1. Прерывание отсутствует (INT=0). По сигналу ЗМ происходит считывание КОП очередной макрокоманды. Блок МУ разворачивает последовательность микрокоманды для выполнения данной команды. Под воздействием мк формируется адрес (в ПЭ) следующей команды. По данному адресу из памяти считывается КОП следующей команды по сигналу ЗМ, если прерывание отсутствует и т. д.
2. Прерывание присутствует (INT=1). По сигналу ЗМ считывается код КМП, по которому осуществляется вход в микропрограмму обработки прерывания, т. е. обеспечивается сохранение рабочих регистров, осуществляется ввод номера кода запроса на прерывание (INT-N), формируется адрес первой полезной команды, затребованной программой, считывается эта команда и выполняется формирования сигнала RESET. После окончания обработки прерываний, осуществляется возврат в прерванную программу, для чего осуществляется микропрограмма выхода их прерывания.
Блок приоритетных прерываний (БПП)
Любой режим прерывания характеризуется тремя этапами:
1. Режим входа в прерывание. В этом режиме сохраняются регистры в стековой области памяти, формируется адрес первой полезной команды программы, обслуживающей прерывание и считывается данная команда.
2. Выполнение команды, обслуживающей прерывание.
3. Программа выхода из прерывания. На этом этапе осуществляется восстановление регистров прерванной программы и запуск на её выполнение.
1. и 3. этапы не могут быть прерваны запросами на прерывание с более высоким приоритетом.
БПП имеет два режима работы.
1. Активный режим работы – в триггере состояние Т1 записан “0”. Тем самым разрешается приём и реакция БПП на вновь поступающие запросы на прерывание. Шифратор уровня приоритета (Ш) обеспечивает ранжирование по уровням приоритета (Дейзи-цепи) и формирование кода номера запроса на прерывание. Этот код поступает на ССК и, если вновь поступивший уровень приоритета выше текущего, то он проходит через схему “&”, поступает на Т2 и формируется на выходе сигнал приоритета INT. Этот сигнал поступает в вычислительную систему и переключает Т1 в единичное состояние. Если Т1 находится в состоянии “Т1”, то БПП не активен.
2. БПП в неактивном состоянии – в этом случае выполняется первый этап режима прерывания. БПП не активен до тех пор, пока в триггер текущего состояния не будет записано новое текущее состояние. Сигнал ЗТС – занесение текущего состояния.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |














