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

Микропрограммных устройств

Описание условий функционирования

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

(автомате)

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

Эффективность применения любой технической системы, в том числе и автоматизированных систем контроля и управления (АСКУ), в значительной степени зависит от эффективности устройства управления этой системы. Как правило, устройство управления современных автоматизированных технических систем (АСКУ, ЭВМ и др.) представляют собой дискретные устройства. Проектирование устройств управления (УУ) представляет собой весьма трудоемкий процесс, что обусловлено зависимостью структуры УУ от алгоритмов управления и особенностей объекта управления. Поиск путей упорядоченья (систематизации) процесса построения УУ привел к созданию принципа микропрограммного управления. Использование его позволяет строить устройства управления в виде микропрограммных устройств (МПУ), которые значительно превосходят по гибкости и экономичности УУ, построенные по аппаратному принципу.

Рассмотрим кратко понятия о микропрограммном управлении и микропрограммном устройстве (автомате). Предварительно дадим понятие о так называемом программном дискретном автомате.

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

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

Сложные алгоритмы или классы алгоритмов реализуются программными дискретными автоматами.

Использование программных автоматов позволяет представить алгоритм в виде программы, которая может изменяться при изменении алгоритма, а автомат выполняет программу.

       
 
 
   
Рисунок 4.1


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

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

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

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

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

Запоминающее устройство автомата служит для запоминания и хранения входной и выходной информации, результатов промежуточных преобразований и программы работы автомата. В зависимости от требуемой длительности хранения информации ЗУ делятся на оперативные запоминающие устройства (ОЗУ) – оперативную память – и долговременные запоминающие устройства (ДЗУ) – долговременную память.

Операционное устройство является основным преобразователем информации в автомате. Программа этих преобразований хранится в памяти.

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

Заметим, что схема программного дискретного автомата (Рисунок 4.1) фактически является наиболее общей формой структурной схемы любой АСКУ, в том числе и ЭВМ.

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

Алгоритмическое описание применимо только к процессам, имеющим дискретный характер.

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

Операции (микрооперации) и исходные данные (содержание) алгоритма можно закодировать состояниями памяти автомата в соответствии с системой команд.

Операциям алгоритма соответствуют команды в автомате, микрооперациям – микрокоманды (Рисунок 4.2). Последовательность команд образует программу работы автомата. Эта программа и есть реализация соответствующего алгоритма в программном автомате.

Рисунок 4.2

Выполнение отдельных команд или микрокоманд в автомате происходит дискретно: за каждый такт работы автомата выполняется одно действие (команда или микрокоманда, или их часть).

Программа работы автомата (команды и исходные данные) хранится в его памяти.

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

Команды из памяти автомата (Рисунок 4.1) поступают в УУ. Эти команды определяют действия, которые должны быть выполнены и расположение в памяти данных, над которыми должны производиться эти действия. После того, как устройство управления определит, какую команду надо исполнить, оно формирует управляющие сигналы. Эти сигналы поступают во все функциональные устройства и обеспечивают передачу данных между ними одновременно или в определенной последовательности. Кроме того, УУ обеспечивает вывод полученных результатов, сформированных команд и управляющих сигналов к другим устройствам. В конце исполнения команды (если это не команда «Стоп») УУ выдает управляющий сигнал в память на выбор следующей команды. Далее цикл повторяется. Очевидно, что основным устройством в программном автомате является устройство управления. Оно совместно с запоминающим устройством обеспечивает реализацию принципа программного управления.

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

В программном автомате наиболее сложным устройством с точки зрения конструирования является устройство управления. Принцип эго построения может быть схемным (аппаратным) или микропрограммным.

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

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

При такой упорядоченной методике построения УУ машинную команду рассматривают как замкнутую подпрограмму – микропрограмму (Рисунок 4.2), разбитую на последовательность более мелких функциональных шагов, называемых микрокомандами (отсюда и появился термин «микропрограммирование»).

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

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

4.2 Структурная схема микропрограммного устройства (автомата)

Способ установления порядка выполнения микрокоманд самым непосредственным образом связан со структурой устройства управления. В результате использования программного принципа были получены упорядоченные структуры центрального блока управления (ЦБУ). Такие ЦБУ получили название микропрограммных автоматов (МПА) или микропрограммных устройств (МПУ).

Отметим, что впервые принципы микропрограммного управления были сформулированы в 1953 г. М. Уилксом. Вопросы микропрограммного управления развиты в работах советских ученых В.М. Глушкова, В.Г. Лазарева, С.А. Майорова, Ф.Ф. Атстопаса, С.И. Баранова и др. Большой вклад в решение задач микропрограммирования внесли зарубежные ученые С. Хассон, С. Рамамурфи, А. Грассели и др.

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

Выходы регистра микрокоманд Р соединены со входом дешифратора Д, который имеет управляющий вход (вход синхронизации) "Вх. синхр.". Дешифратор декодирует код регистра и при поступлении управляющего сигнала на шину "Вх. синхр." выдает сигнал на одной из своих выходных шин. Длительность выходного сигнала дешифратора равна длительности управляющего сигнала. Эти сигналы будем именовать микрокомандами 0, 1,..., m.

Выходы дешифратора соединены со входами блоков ПЛУ, ФА, ФКУ.

z 1

Вх.К.
z p
z 2
x k
x 2
x 1
n
k
k
m
c
n
n
z p
Рисунок 4.3

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

Блок ПЛУ служит для проверки логических условий. Он представляет собой совокупность логических узлов, каждый из которых проверяет определенное логическое условие. На рисунке 4.4 представлена схема логического узла. Эта схема проверяет логическое условие x. Если x =1, то по микрокоманде l формируется управляющий сигнал в цепи Pl и по ней подается в формирователь микрокоманд. Если x =0 (), то по микрокоманде l формируется управляющий сигнал в цепи и по ней подается в блок ФМК.

Блок ФМК служит для формирования сигналов (микрокоманд), которые задают последовательность действий МПА.

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

l
x
& x
& x
ОтД l
Pl
Pl
x
Рисунок 4.4
Работа автомата начинается по первой команде, код которой поступает на вход "Вх.К." регистра микрокоманды Р (Рисунок 4.3). Регистр выдает сигнал на дешифратор, который преобразует позиционный код в унитарный. При этом только на одном из его выходов формируется сигнал. Так как каждый выход дешифратора сопоставляется с одной микрокомандой, то этот сигнал будет первой микрокомандой. Эта микрокоманда поступает в блоки ПЛУ, ФКУ и ФА. В блоке ФКУ из нее формируется управляющий сигнал. В блоке ПЛУ она может использоваться для проверки логического условия. В блоке ФА по этому сигналу формируется сигнал для считывания кода очередной микрокоманды из ЗУМП в регистр Р.

Дешифратор по коду, поступающему из регистра, формирует выходной сигнал на следующем своем выходе. Этот сигнал подается в блоки ПЛУ, ФКУ и ФА. В них формируются команды управления, проверяются логические условия и образуются управляющие сигналы для считывания кода следующей микрокоманды из ЗУМП в регистр Р.

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

Затем из внешних устройств по шине "Вх.К." в регистр Р записывается новая команда и МПА работает по ней также как описано выше.

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

Рассмотренная структура МПА явилась исходной для дальнейшего развития идеи микропрограммного управления. Существуют различные модификации исходной структурной схемы МПА Уилкса.

Для устранения состязаний элементов памяти, которые возможны в МПА Уилкса, в схему МПА вводится второй регистр Р2, служащий для хранения кода следующей микрокоманды, которая будет выполняться после текущей. Код текущей микрокоманды находится, как и в первой схеме, в регистре Р1.

Разработаны схемы быстродействующих микропрограммных автоматов, микропрограммных автоматов с регистром-счетчиком, отличающихся большой гибкостью и экономичностью, микропрограммных автоматов с кодированным управлением, применяющихся в случае большого (свыше 100) числа команд управления и др.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: