ЦУУ с микропрограммной логикой
В управляющих автоматах с микропрограммной логикой каждой выполняемой машинной операции ставится в соответствие совокупность хранимых в памяти слов – микрокоманд.
Последовательность микрокоманд образует микропрограмму, хранимую в специальной памяти микропрограмм.
Каждая микропрограмма состоит из определенной последовательности микрокоманд, которые после выборки из памяти преобразуются в набор управляющих сигналов.
В таких автоматах блок управления операциями (БУО) выполняет функцию блока хранения и выборки кодов микрокоманд. В машинном такте производится выборка требуемой микрокоманды, выдача сигналов микроопераций, формирование адреса следующей микрокоманды.
Микрокоманда содержит операционную и адресную части. Операционная часть микрокоманды содержит информацию о микрооперациях, выполняемых в различных блоках ЭВМ в течение одного машинного такта под управлением данной микрокоманды. В адресной части микрокоманды находится информация, необходимая для формирования адреса следующей микрокоманды.
Существуют различные способы организации операционной части микрокоманды:
¨ горизонтальное микропрограммирование;
¨ вертикальное микропрограммирование;
¨ смешанное микропрограммирование.
При горизонтальном микропрограммировании, каждому разряду операционной части микрокоманды ставится в соответствие один управляющий сигнал, под действием которого выполняется соответствующая микрооперация.
Достоинства горизонтального микропрограммирования:
¨ нет необходимости в преобразовании операционной части микрокоманды в УС.
¨ сокращаются затраты времени на формирование УС.
Недостатки горизонтального микропрограммирования:
¨ большая длина операционной части микрокоманды, что ведет к значительным затратам памяти микропрограмм.
В случае вертикального микропрограммирования из операционной части микрокоманды считывается двоичный код, равный номеру управляющей точки (код микрооперации) в которую необходимо послать управляющий сигнал. Операционная часть микрокоманды должна содержать N полей, где N – максимальное количество совместно выполняемых в каждом такте микроопераций. Разрядность каждого поля операционной части микрокоманды определяется по формуле m ≥ log2 М, где М – число управляющих точек ЭВМ, равное числу управляющих сигналов. После считывания микрокоманды, код микрооперации расшифровывается дешифратором, и на одном из его выходов формируется управляющий сигнал.
Достоинством вертикального микропрограммирования:
¨ уменьшение длины микрокоманды,
¨ сокращаются затраты микропрограммной памяти.
Недостатки:
¨ наличие сложных дешифраторов на большое число микроопераций,
¨ в каждой микрокоманде указывается не больше N микроопераций, что приводит к увеличению длины микропрограмм, а значит и к уменьшению быстродействия ЭВМ.
В наше время распространение получили устройства управления со смешанным микропрограммированием, иначе называемым горизонтально-вертикальным.
Длина операционной части в этом случае равна , где
Mi – число микроопераций, представленных в i-ом поле.
С целью уменьшения длины операционной части микрокоманды может применяться косвенное кодирование микрооперации: в операционную часть микрокоманды с этой целью вводят дополнительные поля, содержимое которых может изменять коды микрооперации основных полей, то есть выходы дешифратора дополнительных полей используются для управления дешифратором основных полей. Косвенное кодирование уменьшает длину микрокоманды, но снижает быстродействие из-за потери времени на дешифрацию дополнительных полей.
Существуют два вида адресации микрокоманд:
¨ принудительная адресация;
¨ естественная адресация.
При естественной адресации адрес следующей микрокоманды принимается равным увеличенному на единицу адресу предыдущей микрокоманды. В этом случае отпадает необходимость во введении адресной части в каждую микрокоманды. Если микрокоманды идут в естественном порядке, то процесс адресации реализуется счетчиком адреса микрокоманды. Для организации безусловных или условных переходов в микропрограмму включаются дополнительные управляющие микрокоманды.
Принудительная адресация микрокоманды заключается в том, что в каждой микрокоманде указывается адрес следующей микрокоманды. Адрес следующей микрокоманды может задаваться безусловно, независимо от значений признаков (осведомительных сигналов, отображающих текущее состояние операционных блоков процессора) или выбираться по условию, определяемому текущими значениями осведомительных сигналов. Для этого в адресную часть МК кроме адресных полей включаются поля для задания условий (осведомительных сигналов).
Обобщенная структура блока микропрограммного управления (БМУ) представлена на рис. 5.10.
Формирователь адреса микрокоманды (ФАМ) – предназначен для формирования адреса следующей микрокоманды с учетом множества осведомительных сигналов {X} из операционных блоков ЭВМ и адресной части (АЧ) предыдущей микрокоманды.
Микропрограммная память (МПП) хранит микрооперации и по сформированному адресу в каждом такте выдает значение кода очередной микрокоманды, которая записывается в регистр микрокоманд (РМК). С точки зрения физической реализации управления МПП делится на два вида: память с постоянно записанной информацией и память, допускающая перезапись информации. Память с постоянно записанной информацией (ПЗУ) работает только на чтение информации и, как правило, является более быстродействующей и простой по управлению, нежели память с перезаписью. В то же время память, допускающая перезапись, предоставляет больше дополнительных возможностей для повышения эффективности работы процессора за счет постоянного совершенствования алгоритмов выполнения операций.
Поля операционной части (ОЧ)при необходимости дешифруются дешифраторами ДШ1 - ДШ1N для выработки множества управляющих сигналов {Y}.
Первоначальное обращение к командам микропрограммы осуществляется по начальному адресу (НА), который соответствует коду операции выполняемой команды.
Использование в составе устройства управления блока микропрограммного управления (в качестве блока управления операциями) приводит к двухуровневому принципу управления процессом обработки данных:
1-ый уровень – система команд ЭВМ (программное управление).
2-ой уровень – микропрограммное управление.
Возникает задача организации перехода от одного уровня к другому.
Проследить решение этой задачи можно по упрощенной схеме процессора с микропрограммным управлением (рис.5.11).
По содержимому счетчика адреса команд (СЧАК) из памяти программ (кэш-памяти) выбирается команда и записывается в регистр команд (РК). Код операции из РКОП подается на дешифратор начального адреса (ДШНА), который на выходе формирует адрес первой микрокоманды микропрограммы, соответствующей данному коду операции. ДШНА реализуется на ПЗУ или ПЛМ (программируемой логической матрице). Под управлением микрокоманд выполняются все последующие действия. Адрес операнда из регистра адреса РА передается в память данных, осуществляется выборка операнда и занесение его в регистр общего назначения (СОЗУ) или в АЛУ. В АЛУ выполняется определенная микропрограммой операция, результат записывается в РОН или память данных.
Для RISC процессоров выгоднее использовать аппаратное управление (автоматы с жесткой логикой). Для расширенного набора сложных команд, как, например, в CISC процессорах, наиболее эффективно (с точки зрения затрат на оборудование) микропрограммное управление. Однако оно приводит к уменьшению быстродействия, так как увеличивается время, затрачиваемое на выработку управляющих сигналов. Главный же плюс микропрограммного управления – гибкость, позволяющая наращивать систему команд процессора путем изменения содержимого микропрограммной памяти.
Пример – технология MMX. В процессор Pentium были добавлены 57 новых команд. Аппаратные средства остались без изменения.
Дата добавления: 2016-04-11; просмотров: 1256;