Организация ЭВМ и систем

Центральное устройство управления микропрограммного типа


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

Микрокоманда (МК) имеет операционно-адресную структуру. В опера­ционной части МК размещается информация о микрооперациях (МО), одно­временно выполняемых в блоках ЭВМ под управлением данной МК. В ад­ресной части МК находится информация, необходимая для формирования адреса следующей микрокоманды.

Существуют различные способы организации операционной части МК:

- горизонтальное микропрограммирование;           

- вертикальное микропрограммирование;

- смешанное микропрограммирование.

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

По второму способу из всего множества М микроопераций выделяются подмножества, содержащие не более Н совместно выполняемых в каждом такте МО. Номера МО кодируются двоичным кодом, разрядность которого определяется по формуле m ³ log2М. Операционная часть МК должна со­держать Н полей, каждое из которых имеет разрядность m и определяет код номера микрооперации. В результате использования данного метода умень­шается длина МК, сокращаются затраты микропрограммной памяти, но воз­никает необходимость в дешифрировании полей операционной части МК, что приводит к увеличению затрат времени на выработку УС.


В настоящее время наибольшее распространение получил третий способ — смешанное микропрограммирование, в котором сочетаются первые два способа. В этом случае операционная часть МК содержит как коды номеров микроопераций, так и сами УС, соответствующие отдельным МО.

Адресная часть МК используется для определения адреса следующей МК.

Существуют два способа адресации микрокоманд:



- принудительная адресация;

- естественная адресация.

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

При естественной адресации адрес следующей МК принимается равным увеличенному на единицу адресу предыдущей МК. В этом случае отпадает необходимость во введении адресной части в каждую МК. Если микрокоман­ды идут в естественном порядке, то процесс адресации реализуется счетчи­ком адреса МК. Для организации безусловных или условных переходов в микропрограмму включаются дополнительные управляющие МК.

Обобщенная структура блока микропрограммного управления (ЕМУ) представлена на рис. 3.7. Узел ФАМ предназначен для формирования адреса очередной МК с учетом значений адресной части (АЧ) предыдущей МК и множества {х} осведомительных сигналов. Микропрограммная память (МПП) хранит микропрограммы операций и по сформированному адресу в каждом такте выдает значение очередной МК, которое записывается в ре­гистр микрокоманд (РМК). Поля операционной части (OЧ), выбранной МК, при необходимости дешифрируются для выработки управляющих сигна­лов {y}. Первоначальное обращение к какой-либо микропрограмме осущест­вляется по начальному адресу (НА), который соответствует коду операции выполняемой команды.





Рис.3.7. Обобщенная структура БМУ

С точки зрения физической реализации управления МПП делится на два вида: память с постоянно записанной информацией и память, допускающая перезапись информации. Память с постоянно записанной информацией (ПЗУ) работает только на чтение информации и, как правило, является более быстродействующей и простой по управлению, нежели память с перезапи­сью. В то же время память, допускающая перезапись, предоставляет больше дополнительных возможностей для повышения эффективности работы про­цессора за счет постоянного совершенствования алгоритмов выполнения операций.

Таким образом, использование в составе центрального устройства управления БМУ приводит к двухуровневому принципу управления процес­сом обработки данных. Первый уровень — это система команд ЭВМ (про­граммное управление), второй — микропрограммное управление. Возникает задача организации перехода от одного уровня к другому. На рис. 3.8 приве­дена упрощенная структура процессора, в котором решается эта задача. По содержимому счетчика адреса команд (СЧАК) из памяти программ (кэш­памяти) выбирается команда и записывается в регистр команд (РК). Код опе­рации из РКОП подается на дешифратор начального адреса (ДШНА), кото­рый на выходе формирует адрес первой микрокоманды микропрограммы, со­ответствующей данному коду операции. ДШНА реализуется на ПЗУ или ПЛМ (программируемой логической матрице). Под управлением микроко­манд выполняются все последующие действия. Адрес операнда из РА пере­дается в память данных, осуществляется выборка операнда и занесение его в регистр общего назначения (СОЗУ) или в АЛУ. В АЛУ выполняется опреде­ленная микропрограммой операция, результат записывается в РОН или па­мять данных.

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


При расширенном составе сложных команд (как в CISC-процессорах) наиболее эффективно, с точки зрения затрат оборудования, микропрограммное управление. Однако оно приводит к увеличению затрат времени на выработку управляющих воздействий. Основным же преимуще­ством микропрограммного управления является его гибкость, которая позво­ляет повышать эффективность серийно выпускаемых и эксплуатируемых машин за счет введения новых средств математического обеспечения, ис­пользующих дополнительный набор команд и новые функции процессора. Модернизация алгоритмов или реализация дополнительных команд легко осуществляется путем изменения содержимого микропрограммной памяти. Наглядным примером использования данной возможности является техноло­гия ММХ, разработанная фирмой Intel. В серийно выпускаемый процессор Pentium были добавлены 57 новых команд для параллельной обработки ви­део- и аудиоинформации. Аппаратурные средства процессора остались прежними, изменению подверглась лишь микропрограммная память.



Рис.3.8. Процессор с микропрограммным управлением

33.2. Процедура выполнения команд

Стандартные фазы работы ЦП включают в себя выборку команды, вы­числение адреса и выборку операндов, выполнение команды и запись результатов, обработку прерывания, изменение состояния процессора и системы в целом.

Выборка команд (ВК) — передача содержимого счетчика команд в ре­гистр адреса памяти, считывание команды из основной памяти в регистр ко­манды, модификация содержимого счетчика команд для выборки следующей

команды.

Выборка операнда (ВО) — вычисление адреса и обращение в основную память или к регистру локальной памяти. Операнд считывается и принимает­ся в регистр АЛУ.

Арифметическая операция (АО) — инициализация (кодом операции) цикла работы устройства управления, которое, в свою очередь, управляет ра­ботой АЛУ, регистров и схем сопряжения. Результат выполнения передается в локальную или основную память и процессор переходит к выборке и вы­полнению следующей команды.



На рис. 3. 9 показаны временные диаграммы обработки команды с раз­биением на этапы (фазы) выполнения (а): последовательная обработка ко­манд (б); обработка команд в режиме совмещения — конвейер команд (в).



Рис. 3.9. Временные диаграммы обработки команд в процессоре:

а) этапы выполнения команды;

б) последовательное выполнение команд;

в) совмещенное выполнение команд (конвейеризация) »

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

Приостановка работы конвейера вызывает любая команда условного пе­рехода в программе или взаимозависимость команд, т. е. использование сле­дующей командой результатов предыдущей команды.

Следует учитывать, что совмещение обработки увеличивает объем обо­рудования и усложняет схемы управления тем сильнее, чем больше число уровней совмещения.

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

Для обеспечения непрерывности вычислительного процесса и сглажива­ния влияния логической зависимости команд в структуре ЦП используется блок прогнозирования ветвлений или устройство выполнения переходов.

В большинстве современных компьютеров используется конвейер ко­манд.


Содержание раздела