Архитектура блоков микро¬программного управления Исполнитель
- Скачано: 67
- Размер: 444 Kb
Архитектура блоков микропрограммного управления
План:
1. Обобщенная логическая структура
2. Организация схем образования адреса
{spoiler=Подробнее}
Если изменение разрядности микропрограммируемых процессоров достигается благодаря секционной структуре БИС CPU, то адаптация к конкретным алгоритмам — за счет возможности произвольного кодирования ДОМ-микро-команд, адресуемого от БИС блоков микропрограммного управления (MCU).
Обобщенная логическая структура ' MCU. Обобщенная логическая схема блока микропрограммного управления (рис. 1.9) включает: логику условий (LU); регистр состояний (RS); логику циклов (LC); регистр команд (RI); схему образования адреса (PLA); логику прерываний (INTU); регистр микрокоманд (M1R) и адреса микрокоманд (RMA).
В каждом такте MCU генерирует адрес следующей микрокоманды на осно RESET ве местоположения внутри микропрограмм (RMA), кодов обрабатываемых команд (RI), состояний триггеров RS и значений вырабатываемых процессором и периферией условий DY, наличия запросов прерываний, поступающих от контроллера прерываний, кода текущей микрокоманды (MIR). Таким образом, MCU является «сердцем» микроЭВМ и выполняет обширный перечень сложных функций. Большое число выводов микросхем и высокая степень интеграции, необходимая для их реализации,
приводят к вырождению или упрощению ряда возможностей БИС или реализации MCU в виде нескольких микросхем.
Для исследования архитектур MCU прежде всего следует рассмотреть способы генерации адресов микрокоманд, заложенные при организации PLA.
Организация схем образования адреса. Простейшей дисциплиной адресации является принудительная, когда внутри каждой считанной из ROM микрокоманды находится поле (DA), определяющее адрес следующей ячейки. Использование принудительной адресации предоставляет широкие возможности по размещению микропрограмм, но связано с большими затратами объема памяти. Для входа в начальные ячейки ROM микропрограмм используется шипа (DI), подключенная к выходу регистра команд, по которой в первых тактах подается адрес начала микропрограмм для каждого кода операции. Специальное поле (F) определяет источник адреса на входе мультиплексора (MUX). Ниже приведен фрагмент микропрограммы умножения, построенный с использованием принудительной адресации:
MIA | MI | DA | R0 |
40 | AC, RO): = SRA (AC, RO) |
46 46 |
0-46, 1-47 0-46, 1-47 |
41 |
(AC, RO): = SRA (AC + Rl, RO)
|
46 | 0-46, 1-47 |
46 | (AC, RO): = SRA (AC, RO) | 34 | 0-34, 1-35 |
47 |
(AC, RO): = SRA (AC + Rl, RO)
|
34 | 0-34, 1-35 |
34 | (AC, RO): = SRA (AC, RO) | 58 | 0-58, 1-59 |
35 |
(AC; RO): = SRA (AC + Rl, RO)
|
58 | 0-58, 1-59 |
Ветвление между ячейками, выполняющими сдвиг при (R0) = О и сдвиг с суммированием при (R0)m = 1, может осуществляться наложением значения (R0)m через шину DY на адрес следующей микрокоманды в младшем разряде.
В отличие от принудительной адресации, организация последовательностей адресов путем инкремента (либо декремента) текущего адреса в блоке инкремента (INC) не требует расширения поля микрокоманды в ROM, но накладывает ограничения по местонахождению следующих микрокоманд, что приводит к росту длины микропрограмм и большим сложностям в их размещении. Фрагмент микропрограммы умножения иллюстрирует возможности принудительной адресации:
программ, адреса возврата к которым запоминаются в стеке (STACK). Управление связями между микропрограммами осуществляется полем F (выбор источника адреса) и сигналами управления стеком: FE — выбор стека; PUP — загрузка/выдача адреса.
Модульное микропрограммирование позволяет использовать одни и те же микроподпрограммы при обработке различных команд, что резко сокращает объем используемой памяти.
Следующим шагом в развитии архитектуры MCU (рис. 1.10, в) является замена счетчика полноразрядным сумматором и введение в состав БИС счетчика циклов (TMR). Введение ALU позволяет осуществлять смещение адресов микрокоманд на произвольное число ячеек, за-
(MIA), (Ml)
1/ + 2 | 0-42, 1-43 |
1/ + 2 | 0-42, 1-43 |
1/ + 2 | 0-44, 1-45 |
1/ + 2 | 0-44, 1-45 |
40 (AC, R0): = SRA (AC, R0)
41 (AC, R0): = SRA(AC + Rl, R0)
42 (AC,R0):=SRA(AC,R0)
43 (AC, R0): = SRA (AC + Rl, R0)
Условные переходы в простейшем случае также могут осуществляться наложением кодов условий (DY) на адреса микрокоманд (MlА). На рис. 1.10, а приведена схема (MCU), сочетающая в себе возможности принудительной и инкре-ментной адресации. Возможности обоих . методов хорошо иллюстрированы на примере микропрограммы умножения, требующей для то-разрядных операндов 2т ячеек памяти микрокоманд.
Введение в состав инкрементного MCU стека адресов (рис. 1.10,6) позволяет организовать модульное микропрограммирование с осуществлением переходов между несколькими уровнями микро-
даваемое по шине DA или DY, что предоставляет программисту такие преимущества, как, например, индексирование самоперемещающихся программ для универсальных ЭВМ. Наличие счетчика циклов позволяет резко сократить затраты памяти при обработке циклических микропрограмм. Например, микропрограмма умножения модулей m-разрядных чисел теоретически может быть записана с использованием четырех ячеек: одной подготовительной, запускающей счетчик на подсчет частоты CLK (Start TMR); двух реализующих цикл умножения модулей чисел; одной для выхода из цикла с остановом счетчика (Stop TMR).
Рис. 1.10
Выход из цикла может осуществляться сигналом переполнения таймера (ШТ= 0) с выбором из стека инкрементированного адреса ячейки входа в микроподпрограмму.
Другим подходом является использование для организации MCU комбинационной схемы (рис. 1.10, г), позволяющей за счет усечения по отношению к принудительной адресации возможностей переходов сократить суммарную разрядность DYh F поля. Например, в комплекте «1п-fel-3000» [16] для управления PLA БИС, генерирующей 9-разрядные адреса, используется 7-разрядная микрокоманда. Использование комбинационной схемы по отношению к MCU со встроенными АН] снижает степень интеграции и сокращает время такта БИС, но приводит к резкому усложнению микропрограммирования.
Известные блоки микропрограммного управления отличаются также наличием и числом регистров, стоящих в тракте микропрограммного управления. Следует отметить три основные схемы включения этих регистров: на адресных входах ROM микрокоманд (RMA); на числовых выходах ROM микрокоманд (MIR); на входах и выходах ROM.
Рис 1.10, д — ж иллюстрирует все три схемы включения регистров. Первая и вторая схемы в принципе являются адекватными по быстродействию. Третья схема является избыточной. Ее недостатки либо преимущества по быстродействию определяются в каждом конкретном случае с учетом соотношения времени цикла регистров PLA и ROM.
Альтернативой всем перечисленным подходам является организация MCU со встроенным накопителем микропрограмм (рис. 1.10,з). БИС содержит: регистр команд (RI); регистр состояний (RS); регистр управления (MIR); блок синхронизации исполнения микроопера-
ускорения переноса для достижения предельного быстродействия. Кроме того, известны и «нетрадиционные» способы применения блоков ускоренного переноса, например для ускорения сигналов группового разрешения запросов прерываний при использовании нескольких БИС-блоков приоритетных прерываний [17].
Контрольные вопросы :
1. Архитектура блоков микропрограммного управления
2. Обобщенная логическая структура
3. Организация схем образования адреса
{/spoilers}