Микропрограммные УУ

Альтернативой аппаратного способа реализации УУ является микро­программное управление, согласно которому сигналы генерируются программой, подобной программе, написанной на машинном языке для ЭВМ. Этотпринципиально иной подход был предложен английским ученым М. Уилксом в начале 50-х годов. Его называют принципом микропрограммного управления. Он позволяет преодолеть сложности реализации УУ с жесткой логикой. В основу принципа микропрограммного управления заложен тот факт, что каждой машинной команде соответствует уникаль­ный код, называемый микрокомандой. Последовательность микрокоманд, реализующих машинную команду, образует микропрограмму. Микропрограммы размещаются в специальной управляющей памяти, называемой памятью микропрограмм. Выполнение команд в процессоре реализуется путем последовательного извлечения микрокоманд из памяти микропрограмм с последующей их дешифрацией для формирования управляющих сигналов, необходимых при выполнении конкретной команды.

Идея заинтересовала многих конструкторов ЭВМ, но на момент возникновения она была нереализуема, поскольку требовала использования быстрой памяти относительно большой емкости. Вернулись к ней в 1964 году, в ходе создания системы 360 фирмой IBM. С этого времени устройства управления с программируемой логикой стали чрезвычайно популярными и были встроены во многие компьютеры.

Структура блока микропрограммного управления (БМУ) с принудительной адресацией микрокоманд (МК) приведена на рис. 4.4.3.1. В состав БМУ входят память микрокоманд (ПМК), регистр адреса микрокоманд (РАМК), регистр

 

4.4.3.1- Структура БМУ с принудительной адресацией МК

 

регистр микрокоманд (РМК), дешифратор микроопераций (ДшМО), генератор тактовых сигналов (ГТС).

Код операции (КОП) поступает из ОП системы на регистр кода операции (РКОП), который задает начальный адрес микропрограммы. Адрес микропрограммы формируется устройством формирования адреса МК (УФАМК) и хранится в РАМК. По этому адресу из памяти микрокоманд (ПМК) БМУ считывается микрокоманда и фиксируется в регистре МК (РМК).

Микрокоманда содержит два основных поля:

 

Код микрооперации (КМО) Адрес следующей МК (АСМК)

 

КМО дешифрируется и преобразуется в набор сигналов y1…ym, управляющих функционированием процессора. Поле адреса следующей микрокоманды заносится в УФАМК, в результате чего производится выборка следующей МК.

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

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

 

 

4.4.3.2- Структура БМУ с естественной адресацией МК

 

На формирователь начального адреса в этом случае возлагает­ся дополнительная функция - генерирование адреса перехода. По указанию мик­рокоманды этот блок загружает в счетчик СчМК новый адрес. Для поддержки услов­ных переходов на входы данного блока подаются не только КОП команды с РК, но и сигналы с внешних входов, а также коды условий.

В БМУ с естественной адресацией МК после выборки очередной микрокоманды из управляющей памяти происходит приращение значе­ния СчМК. Естественный порядок выборки МК нарушается в следующих случаях:

- если в РК загружается новая команда, в счетчик СчМК загружается начальный адрес ее микропрограммы;

- когда в последовательности выбираемых МК встречается микрокоманда перехода и условие пере­хода выполняется, в СчМК загружается адрес перехода;

- в случае появления микрокоманды “Останов” в СчМК загружается адрес микропрограммы для последующего выполнения очередной машинной команды.

 

 

БМУ с принудительной адресацией используются чаще, чем БМУ с естественной адресацией. Их общим достоинством является то, что замена одной системы команд на другую производится путем установки памяти микропрограмм с новой прошивкой. Кроме того, легко осуществляется эмуляция системы команд любого серийно выпускаемого процессора, что особенно важно при разработке контроллеров и специализированных ЭВМ. В этом случае можно использовать наработанное системное программное обеспечение серийной машины для отладки программ новой ЭВМ. Кроме того, микропрограммное управление позволяет легко создавать проблемно ориентированную систему команд в терминах управляемого объекта. Например, система команд для управления роботом - манипулятором может состоять из следующих команд: “Вправо”, “Влево”, “Поднять”, “Опустить”, и т.д. При использовании таких команд процесс написания программ для специализированной ЭВМ становится простым и может производиться оператором робота - манипулятора.

 

4.5. Структурно - функциональная организация классического процессора

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

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

После завершения процесса исполнения текущей команды, содержимое СчК модифицируется и производится выборка следующей команды.

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

Указатель стека УС предназначен для адресации стековой памяти, которая чаще всего реализуется в некоторой области оперативной памяти. Эта область определяется либо операционной системой, либо программистом путем загрузки начального адреса области стека в УС.