Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПособиеМПЭВС_ч2

.pdf
Скачиваний:
26
Добавлен:
11.05.2015
Размер:
2.62 Mб
Скачать

2.6 Устройство управления процессора

31

УПИ, является частью адреса первой МК той микропрограммы, которая реализует предусматриваемую командой совокупность действий.

Рис. 2.4 – Структура процессора с УУ с управляющей памятью

Вформировании полного адреса микрокоманды предусматриваются поля смещения относительно её начального адреса, и переходов по МКП (см. рисунок 2.4, б). В БМУ выполняется «склеивание» (конкатенция) начального адреса

исмещения (поток 2), размещаемого в микрокомандах УП для формирования адреса очередной МК микропрограммы. По ходу отработки микропрограммы может потребоваться учёт состояния результатов преобразования числовых данных в ОУ (поток 3 на рисунке 2.4) или состояния внешних управляющих сигналов, направленных на изменение реакции УУ (поток 4 запросов). Учёт состояния потоков 3, 4 порождает ветвления в микропрограммах формирования управляющих сигналов в зависимости от внешних или текущих внутренних условий.

Поле управляющих сигналов МК используется для подачи управляющих сигналов в операционное устройство ОУ, во внутренние цепи БМУ (поток 2), в УПИ (поток 5) и далее на внешнее управление. Таким образом, микрокоманда делится на две части:

одна ее часть, включающая управление адресом МК с учётом влияния внутренних и внешних условий (потоки 2, 3, 4), управление средствами адресации внешних команд и данных, определяет функционирование БМУ, т. е. имеет внутреннее применение;

другая часть определяет управление процессом обработки данных ОУ (поток 1), управление УПИ (поток 5), внешним окружением (поток ВнУпр).

Вприложении А папки электронных материалов к пособию приведен вариант МПА, на примере которого можно анализировать работу БМУ.

2.6.4 Средства адресации при централизованном управлении

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

32

Глава 2. Архитектура и структура процессора

электронно-вычислительных средств (систем, ЭВМ, контроллеров). Для адресации внешних команд и данных в процессорах предусматриваются аппаратные ресурсы, активизация которых осуществляется управляющими сигналами БМУ. При централизованном способе управления адресацией объектов хранения внешних команд аппаратные средства адресации группируются в составе БМУ УУ. В соответствии с информационным составом внешних команд (см. подраздел 2.4) предусматриваются жесткие меры по разделению средств адресации операций и данных, над которыми предусматривается выполнение операций. Распространёнными являются следующие способы разделения:

префиксный, когда в коде команды предусматривается выделение первого слова с кодом операции и указателями способа доступа к данным для её выполнения;

с упорядоченной очередью кодов данных и операций.

Впервом способе аппаратные средства адресации специализируются по признаку «команда/данные». Адрес слова (слов) команды УУ процессора выставляется

имодифицируется строго упорядочено с использованием счётного регистра. Способ задания адреса данных явно (или не явно) кодируется наряду с кодом операции в первом слове команды. Аппаратные средства адресации данных являются тем ресурсом, который определяет состав доступных способов адресации данных.

Во втором способе для линейного упорядоченного чередования кодов данных

икодов операций предусматривается магазинная память их размещения и последовательный доступ к ним. Специфичность размещения программ в памяти при этом способе сопровождается снижением требований к аппаратному ресурсу средств адресации, стирая различие в доступе к кодам операций и данных, но радикально изменяет алгоритмы процессов доступа к командам и данным. Характерный для рассматриваемого способа последовательный доступ к объектам программ не способствует снижению задержки в управлении объектами периферийного окружения

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

Для перечисленных в разделе 2.4 способов адресации в УУ включаются функциональные регистры, изображённые на рисунках 2.5, а, б и 2.6, а, б.

Рис. 2.5

2.6 Устройство управления процессора

33

Функциональный регистр, используемый как указатель слов адреса кода команды IP (instruction pointer), изображённый на рисунке 2.5, a, допускает параллельную загрузку n-разрядного двоичного кода по фронту сигнала на входе WR. По фронту сигнала на входе «+1» содержимое регистра увеличивается на единицу упорядоченно (поэтому регистр IP часто называется счётчиком команд PC (program counter)), по высокому уровню сигнала на входе R (сброс) содержимое регистра устанавливается в нуль. Низким уровнем сигнала на входе OE выходы DO регистра PC переводятся из отключённого состояния в режим вывода внутреннего состояния.

Для изменения состояний регистра PC на его управляющие входы должны быть поданы сигналы управления из МПА УУ. На входы DI регистра от источника данных через переключатели (или по мультиплексируемой магистрали данных) для загрузки подаются данные, которые при разблокировании выходов регистра PC могут использоваться в качестве кода адреса команды. Регистр, изображённый на рисунке 2.5, б, отличается от указателя команд отсутствием входа R и наличием входа « 1». Регистр с такой нотацией входов можно применить в качестве указателя адреса упорядоченного массива слов данных в памяти их хранения по принципу стека (указатель данных стека SP (stack pointer)). На рисунке 2.6, a изображён регистр, который может быть применён для сохранения состояний и подключения в каскадных и радиальных соединениях. В нём предусмотрена запись по фронту управляющего сигнала состояний со входов DI (data input) без отключения выхода

DO (data output).

Рис. 2.6

В составе УУ такой регистр может быть применён для сохранения кода команды на время её выполнения на входе узла БМУ (см. рисунок 2.4), для хранения индекса и смещения на входе вычислителя адреса при индексной адресации. В функциональном регистре, изображённом на рисунке 2.6, б, предусмотрена блокировка выхода, что расширяет спектр его применений в магистральных переходах.

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

Наличие третьего состояния у регистров, показанных на рисунках 2.5, а, б и 2.6, б (на рисунках обозначено ромбом с короткой диагональю), позволяет эффек-

34

Глава 2. Архитектура и структура процессора

тивно применять их в модульных структурах и конструкциях устройств адресации команд и данных как на совмещённых магистралях адреса (структуры Неймана), так и на раздельных.

Активизация состояний входов регистров адресации, согласно рисункам 2.5, 2.6, осуществляется небольшим по составу набором управляющих сигналов (WR, OE, «+1», «1», R). На рисунках 2.5, 2.6 символ «*» перед обозначением сигнала обозначает активное состояние по положительному перепаду (фронту), а после обозначения сигнала — отрицательному перепаду (срезу). Символ «/» перед обозначением сигнала соответствует активному состоянию сигнала при низком уровне.

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

Методом программирования алгоритмических задач является описание процессов управления системой внешних команд. Каждая из внешних команд системы представляется МКП. Алгоритм решения задачи представляется очередью команд, которым в управляющей памяти соответствует очередь микропрограмм. Набор внешних команд хранится во внешней, относительно процессора, оперативной памяти. Первое слово очередной «внешней» команды специальной МКП автомата принимается и помещается в регистр, за которым закреплен термин «регистр команды». Все другие слова «внешней» команды, если они есть в команде, принимаются и обрабатываются на ресурсах процессора в соответствии с назначением, заявленным в первом слове. Это могут быть:

указатели адресов последующих слов команды;

указатели адресов предписанных ветвлений программы;

указатели смещений адресов;

указатели адресов объектов приёма и хранения данных;

непосредственные данные.

Микропрограмма отработки атрибутов первого слова команды размещается в управляющей памяти с адреса, образованного «склеиванием» содержимого ре-

2.6 Устройство управления процессора

35

гистра команды полем смещения. Для переходов между МКП управления приёма первого слова в регистр команды и микропрограммами отработки атрибутов этого слова в БМУ УУ, на рисунке 2.4, применён переключатель, управляемый специфицированным для этого полем в микрокоманде. По этой логической схеме реализуются микропрограммы исполнения «внешних» команд, включая безусловные и условные программные ветвления по внутренним и внешним условиям. Проще реализуются переходы на микропрограммы отработки ветвлений процесса управления без условий и сложнее выполнить переходы по условиям, не встроенным в код первого слова «внешних команд». Модификациями процесса программного управления, отработка которого связана с «непредсказуемыми» условиями ветвления программного управления, являются:

реакция процессора на внешние запросы обслуживания, поступающие

вслучайные моменты времени по отношению к программе, выполняемой процессором;

реакция процессора на внешнюю принимаемую текущую команду, ветвление процесса управления по которой зависит от заранее сформированных

впроцессоре условий.

Впервом варианте, известном, как «аппаратное прерывание» процесса управления, в аппаратных средствах процессора предусматривается проверка состояния сигналов на входах ввода запросов и сопоставление их с наличием, по необходимости, внутренних сигналов разрешения в процессе выполнения микропрограммы отработки текущей внешней команды. Этому варианту соответствует завершение подготовки к ветвлению по прерыванию одновременно с завершением выполнения текущей внешней команды. Микропрограммная поддержка отработки этого варианта ветвления начинается до перехода к первому машинному циклу процесса управления в связи с запросом прерывания (названному циклом прерывания).

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

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

2.6.5 Формы описания процессов функционирования МПА

Функционирование устройства представляется в формах алгоритмов и направленных графов, микропрограмм, временных диаграмм.

36

Глава 2. Архитектура и структура процессора

На рисунке 2.7 изображена схема алгоритма функционирования некоторого устройства с заданным набором условий переходов x1, x2 и последовательностью микроопераций y1. . .y7.

Состояния управляющего автомата обозначены a0, a1, a2. Согласно рисунку 2.2 управляющее устройство после выполнения микрокоманды Y1, представленной совокупностью микроопераций y4, y6, переходит из состояния a0 в состояние a1. Выход из состояния a1 зависит от выполнения условия x2. При выполнении условия x2 управляющее устройство возвращается в состояние a0.

Рис. 2.7 – Алгоритм функционирования автомата смены состояний

При невыполнении условия x2 предусматривается проверка выполнения условия выполнения условия x1. Выполнение условия x1 сопровождается последовательным выполнением микрокоманд Y2, с переходом в состояние a2, и Y3 с возвратом в состояние a1. Если условие x1 не выполняется, то микрокоманда Y2 пропускается и УУ переходит из состояния a1 в состояние a2. Различие двух несоединённых состояний a0 может быть связано со сходством вида состояния, но отличием внешних условий их контроля (например, по времени).

Иная форма представления функционирования этого устройства в форме направленного графа показана на рисунке 2.8.

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

2.6 Устройство управления процессора

37

Рис. 2.8 – Граф функционирования автомата

Дуги показывают возможные переходы между узлами (на схеме алгоритма эти переходы соответствуют условиям Xi и микрокомандам Yi между соответствующими отметками узлов состояний).

Состояниями графа в управляющих устройствах процессоров являются этапы процесса, в течение которых выполняются операции, проверяются условия. Такими этапами являются интервалы времени смены состояний. Длительность процесса смены состояний асинхронных и синхронных устройств определяется длительностью такта, который для асинхронных устройств есть время срабатывания «медленного» базисного элемента, а для синхронных устройств есть период синхронизирующей последовательности.

На схеме алгоритма и на графе символом a0 обозначены начало и конец отображаемого процесса. Символами a1, a2 отмечены входы последующих операторных блоков (фрагменты алгоритма, содержащие условия и линейные микропрограммы). Первый операторный блок содержит две микрооперации (y4, y6) между состояниями a0 и a1. Из состояния a1 возможны переходы в состояния a0 и a2. В состояние a2 возможны два операторных перехода:

с операторами перехода невыполнения условий x1 и x2 (блоки 2, 3);

с операторами перехода по невыполнению условия x2 (блок 2), выполнению условия x1 (блок 3) с последующим выполнением микро-операции y3 (блок 4).

Всостояние a0 устройство возвращается из состояния a1 по выполнению условия x2 (блок 2).

Операторный блок 5 является переходным между состоянием a2 и a1. Применение графических форм представления процессов имеет несомненным

достоинством наглядность и обозримость проектных решений, позволяя на ранних этапах проектирования выявить возможные ошибки и несоответствия.

Следующая форма представления основывается на записи микропрограммы процесса функционирования в текстовой форме. Состав элементарных операций однозначно определяется составом функциональных входов применённых функци-

38

Глава 2. Архитектура и структура процессора

ональных узлов — элементного базиса процессора. Примером могут быть обозначения сигнальных входов (выходов) применённые на рисунках 2.5, 2.6. В качестве функционального базиса для операционного анализа и синтеза процессора предпочтительно ориентироваться на такие интегрированные функциональные узлы, как многоразрядные запоминающие регистры, сумматоры, шифраторы, дешифраторы, переключатели, шинные формирователи. Примерный состав микроопераций на уровне регистров:

установка, прием слова;

установка, сброс в нуль;

инкремент (увеличение) / декремент (уменьшение);

сдвиг влево/вправо;

выдача прямого/обратного кода;

присоединение (конкатенция) и т. д.

Для средств коммутации (переключатели, шинные формирователи) при передаче данных на уровне комбинационных схем реализуются такие микрооперации, как:

переключение сигнальных потоков коммутаторами;

подключение/отключение в магистральных трактах коммутации;

разрешение/запрет (блокировка) сигнальных потоков.

Для текстового описания функционирования цифровых (и иных) устройств выработаны общие правила ведения записей, составляющие основу языка микроопераций (ЯМ). Описание строится из меток, операторов, комментария. Метка представляет собой подобранный исполнителем идентификатор микрооперации, отражающий существо микрооперации. За меткой следует разделитель в форме « ». После разделителя размещается один или несколько (если несколько, то с разделителями в форме запятой «,») микрооператоров. Структура оператора представляется двумя словами, разделенными знаком « =» присвоения (слово 1 =слово 2). Слово слева от знака « =» идентифицирует регистр или иной объект, которому присваивается значение, полученное в результате действия микрооператора, заявленного «словом 2». Для перечисленных ранее регистровых микроопераций общеприняты записи меток, такие как:

+1 RGi,-1RGi — инкремент/декремент содержимого регистра RGi по фронту сигнала управления;

RGiСдвА, RGiСдвЛ, RGiСдвЦ — выполнить арифметический, логический, циклический сдвиг содержимого регистра RGi;

RGiСдвАЛ или RGiСдвАП — содержимое регистра RGi арифметически сдвинуть влево или вправо на разряд;

RGiСдвЛЛ — логический сдвиг влево на разряд содержимого регистра RGi;

«|» — знак присоединения, склеивания разделенных знаком объектов (конкатенция частей, разделенных знаком «|»).

Микрооперации в микрокоманде разделяются знаком запятая «,». Микрокоманды отмечаются меткой «Такт номер» или «МК номер». Метка «Такт номер»

2.6 Устройство управления процессора

39

отделяется от записей микроопераций знаком «)». Завершение микрокоманды отмечается знаком точка с запятой «;».

Пример записи:

Такт 1) +1 RG1:RG1:= RG1 + 1, ПрRGB: RGB[1÷16]: = RGA[8÷15]|Сч1[0÷3]| ТгП|000;

Приведенная запись микрокоманды определяет увеличение содержимого регистра RG1 на единицу и прием в регистр B с разрядностью 16 одного байта из регистра A в старшую часть слова, присоединение полубайта из счетчика Сч1, присоединение одного бита из триггера ТгП и за ними на младшие разряды регистра В — трехразрядной нулевой константы.

Когда микрооперации выполняются над конкретным объектом, то обозначение оператора в записях микрокоманд удобно заменить на совокупность микроопераций. Приведенный выше пример записи микрокоманды физически может быть реализован при наличии счётного регистра RG1 и четырёх коммутаторов между регистром RGB и регистром RGA, счётчиком Сч1, триггером ТгП и носителем кода 000.

Обозначая коммутаторы соответственно номерами К1, К2, К3, К4, микрооперацию их подключения «ОтКi» (открыть) для регистра RGB, заменяя микрооперацию приема на микрооперацию «Зп» (запись) и микрооперацию инкремента регистра RG1 «*+1 RG1), приведенную выше микрокоманду следует представить двумя микрокомандами в иной форме.

Такт 1) *+1 RG1, ОтК1, ОтК2, ОтК3, ОтК4;

Такт 2) ОтК1, ОтК2, ОтК3, ОтК4, *ЗпRGB.

В такой форме записи учитывается техническая реализация устройств, к которым применяется описание в соответствии с рисунком 2.9, a. Символ ЗпRGB. «*» на рисунке 2.10, a обозначает положительный фронт сигнала.

Другая форма записи микрокоманд учитывает реализацию той же функции элементами, показанными на рисунке 2.9, б. Регистр RGA, счётчик Сч1, триггер ТгП и носитель F кода «000» в схеме на рисунке 2.9, б имеют свойство переключения в третье состояние управляющей микрооперацией /РВ (/РВ — разрешить выход при состоянии U0) или (РВ — выход отключить при состоянии U1). Выходы элементов объединены на разных линиях магистрали.

Микропрограмма представляется микрокомандами

Такт 1) +1RG1, /РВRGA, /РВСч1, /РВТгП, /РВ«000»;

Такт 2) /РВRGA, /РВСч1, /РВТгП, /РВ«000», ЗпRGB,

которым соответствует схема, изображённая на рисунке 2.9, б.

Вторая и третья формы представления микропрограмм учитывают состояния сигналов, выполняемых микроопераций, и потому являются сигнальной формой записи микропрограмм.

Сигнальная форма записи МК позволяет представить процесс управления в графической форме временных диаграмм или записью таблиц состояний. Временные диаграммы соответствуют контролю процессов управления анализаторами состояний и осциллографами. Таблицы состояний соответствуют программированию управляющей памяти устройств управления и контролю процессов цифровыми анализаторами состояний.

40

Глава 2. Архитектура и структура процессора

Рис. 2.9 – Варианты схем одного функционального назначения

Пример временной диаграммы сигналов для схемы, изображённой на рисунке 2.9, б, приведен на рисунке 2.10. Комментарий к микрокомандам, по необходимости, определяет место микрокоманды в составе микропрограммы. На временной диаграмме не показано изменение сигнала на линии *+1 RG1.

Рис. 2.10 – Временная диаграмма микрокоманд

2.7 Операционное устройство

2.7.1 Функции операционного устройства

Действия процессора по выполнению логических и арифметических преобразований кодов данных, адресов, состояний битов кодов, предусмотренных функциональным содержанием команды (см. п. 2.5), реализуются устройством, опреде-