Организация управления процессом
Тема 1.2 Организация управления процессом обработки информации
План:
1 Структура микропроцессора
2 Аппаратный принцип управления выполнением операций
3 Микропрограммный принцип управления выполнением операций
1 Структура микропроцессора
Структура микропроцессора определяет состав и взаимодействие основных устройств и блоков, размещенных на его кристалле.
Рекомендуемые материалы
В эту структуру входят:
центральный процессор (процессорное ядро), состоящее из устройства управления (УУ), одного или нескольких операционных устройств (ОУ), структурная схема приведена на рисунке 2;
внутренняя память (РЗУ, кэш-память, блоки оперативной и постоянной памяти);
интерфейсный блок, обеспечивающий выход на системную шину и обмен данными с внешними устройствами через параллельные или последовательные порты ввода/вывода;
периферийные устройства (таймерные модули, аналого-цифровые преобразователи, специализированные контроллеры);
различные вспомогательные схемы (генератор тактовых импульсов, схемы для выполнения отладки и тестирования, сторожевой таймер и ряд других).
Рисунок 2 – Структурная схема процессора
Операционное устройство (ОУ) - устройство, в котором выполняются операции. Оно включает в качестве узлов регистры, сумматоры, арифметико–логическое устройство (АЛУ), каналы передачи информации, мультиплексоры для коммутации каналов, шифраторы, дешифраторы и т.д.
Арифметико–логическое устройство (АЛУ) предназначено для выполнения арифметических и логических операций.
Управляющее устройство (УУ) координирует действия узлов операционного устройства; оно вырабатывает в некоторой временной последовательности управляющие сигналы, под действием которых в узлах операционного устройства выполняются требуемые действия.
Процесс функционирования операционного устройства распадается на последовательность элементарных действий в его узлах:
1) установка регистра в некоторое состояние (например, запись в регистр R1 числа 0, обозначаемая R1 <− 0);
2) инвертирование содержимого разрядов регистра (например, если регистр R2 содержал двоичное число 101101, то после инвертирования его содержимое будет равно 010010; такое действие обозначают R2 <− ());
3) пересылка содержимого одного узла в другой (например, пересылка содержимого регистра R2 в регистр R1, обозначаемая R1 <− (R2));
4) сдвиг содержимого узла влево, вправо (например, сдвиг на один разряд влево содержимого регистра R1, обозначаемый R1 <− СдвЛ (R1);
5) счет, при котором число в счетчике (регистре) возрастает или убывает на единицу (Сч<− (Сч ± 1));
6) сложение (например, R2 <− (R2) + (R1));
7) сравнение содержимого регистра на равенство с некоторым числом; результат сравнения: лог. 1 (при выполнении равенства) либо лог.0 (при невыполнении равенства);
8) некоторые логические действия (поразрядно выполняемые операции конъюнкции, дизъюнкции и др.). Каждое такое элементарное действие, выполняемое в одном из узлов ОУ в течение одного тактового периода, называется микрооперацией.
В определенные тактовые периоды одновременно могут выполняться несколько микроопераций, например R2 <− 0, Сч <− (Сч) - 1. Такая совокупность одновременно выполняемых микроопераций называется микрокомандой, а весь набор микрокоманд, предназначенный для решения определенной задачи, - микропрограммой.
Таким образом, если в операционном устройстве предусматривается возможность исполнения п различных микроопераций, то из управляющего устройства выходят п управляющих цепей, каждая из которых соответствует определенной микрооперации. И если необходимо в операционном устройстве выполнить некоторую микрооперацию, достаточно из управляющего устройства по определенной управляющей цепи, соответствующей этой микрооперации, подать сигнал (например, напряжение уровня лог. 1). В силу того, что управляющее устройство определяет микропрограмму, т.е. какие и в какой временной последовательности должны выполняться микрооперации, оно получило название микропрограммного автомата.
Формирование управляющих сигналов y1, ... ,yп для выполнения микрокоманд может происходить в зависимости от состояния узлов операционного устройства, определяемого сигналами х1,... xs, которые подаются с соответствующих выходов операционного устройства на входы управляющего устройства. Управляющие сигналы y1, ..., yп могут также зависеть от внешних сигналов xs+1,..., xL.
Для сокращения числа управляющих цепей, выходящих из управляющего устройства (в тех случаях, когда оно конструктивно выполняется отдельно от операционного), микрокоманды могут кодироваться.
Существует два принципиально разных подхода к проектированию микропрограммного автомата (управляющего устройства):
- использование принципа схемной логики;
- использование принципа программируемой логики.
В первом случае в процессе проектирования подбирается некоторый набор цифровых микросхем (обычно малой и средней степени интеграции) и определяется такая схема соединения их выводов, которая обеспечивает требуемое функционирование (т.е. функционирование процессора определяется тем, какие выбраны микросхемы и по какой схеме выполнено соединение их выводов). Устройства, основанные на таком принципе схемной логики, способны обеспечивать наивысшее быстродействие при заданном типе технологии элементов. Недостаток этого принципа построения процессора состоит в трудности использования БИС и СБИС.
Второй подход предполагает построение процессора с использованием одной или нескольких БИС некоторого универсального устройства, в котором требуемое функционирование (т.е. специализация устройства на выполнение определенных функций) обеспечивается занесением в память устройства определенной программы (или микропрограммы).
В зависимости от введенной программы такое универсальное управляющее устройство способно обеспечивать требуемое управление операционным устройством при решении самых разнообразных задач. В этом случае число типов БИС, необходимых для построения управляющего устройства, окажется небольшим, а потребность в БИС каждого типа высокой, что обеспечит целесообразность их выпуска промышленностью.
При построении операционных устройств целесообразно широко использовать БИС с таким набором узлов и схемой соединения, которые обеспечили бы решение разнообразных задач. Независимо от решаемой задачи может быть использовано одно и то же универсальное операционное устройство, функционирующее под действием микропрограммы, хранящейся в управляющем устройстве. Следует иметь в виду, что наивысшее быстродействие достигается в процессорах, в которых управляющее устройство строится с использованием принципа схемной логики, а операционное устройство выполняется в виде устройства, специализированного для решения конкретной задачи.
2 Аппаратный принцип управления выполнением операций
Процессор является примером цифрового автомата-устройства, осуществляющего прием, хранение и преобразование дискретной информации по некоторому алгоритму. Теорию автоматов подразделяют на абстрактную и структурную. Абстрактная теория изучает поведение автомата, отвлекаясь от структуры (т.е. способа его построения, схемной реализации).
Автомат под действием входных сигналов принимает состояния в соответствии с набором значений входных сигналов и выдает сигнал, зависящий от внутреннего состояния либо от внутреннего состояния и входных сигналов.
Для хранения внутреннего состояния автомат должен иметь память; таким образом, автомат является устройством с памятью, т.е. устройством последовательностного типа.
Несмотря на то, что реальные автоматы могут иметь несколько входов и выходов, на каждом из которых в дискретные моменты времени (определяемые тактом работы) образуются сигналы, соответствующие лог. 0 и лог.1, в абстрактной теории удобно рассматривать автоматы с одним входом и одним выходом (рисунок 3).
Функционирование цифрового автомата происходит на трех множествах:
- множестве возможных входных сигналов х1, х2, … хn
- множестве внутренних состояний а0, а1 ... аk
- множестве возможных выходных сигналов y1, y2, … ym
Одно из состояний является начальным (состояние а0), и перед началом работы автомат всегда устанавливается в это состояние.
Рисунок 3 - Структурная схема автомата
Работа автомата определяется следующими функциями:
- функцией переходов f, которая определяет состояние автомата a(t + 1) в момент t +1 в зависимости от состояния автомата a(t) и значения входного сигнала x(t) в момент t:
a(t + 1) = f(a(t); x(t)),
- функцией выходов φ, определяющей зависимость выходного сигнала автомата y(t) от состояния автомата a(t) и входного сигнала x(t):
y(t) = φ (a(t); x(t)).
Автомат c функцией выходов, зависящей от состояния автомата и входного сигнала, называется автоматом Мили.
Другой тип автомата - автомат Мура. Особенность автомата Мура в том, что в нем выходной сигнал зависит лишь от внутреннего состояния a(t) и не зависит от входного сигнала. Функции переходов и выходов для него имеют вид
a(t + 1) = f(a(t); x(t)),
y(t) = φ(а(t)).
Функционирование автомата может быть задано в форме таблиц переходов и выходов либо с помощью так называемого графа.
Синтез управляющего устройства в форме автомата Мили и автомата Мура состоит из следующих этапов:
- построение схемы алгоритма в микрооперациях;
- построение схемы алгоритма в микрокомандах;
- построение графа функционирования;
- кодирование состояний устройства;
- построение структурной схемы управляющего устройства;
- структурная схема управляющего устройства;
- построение таблицы функционирования комбинационного узла;
- построение логической схемы комбинационного узла.
3 Микропрограммный принцип управления выполнением операций
Мы рассмотрели выполнение операций процессором в виде последовательности микрокоманд. Можно предусмотреть другой способ формирования управляющих сигналов, под действием которых в операционном устройстве выполняются микрокоманды.
Управляющие сигналы у1,....,уп на выходе управляющего устройства в каждом тактовом периоде имеют уровни лог. 0 и лог. 1. Таким образом, каждой микрокоманде на выходе управляющего устройства соответствует некоторая кодовая комбинация. Такие кодовые комбинации, называемые кодовыми комбинациями микрокоманд (или просто микрокомандами), можно хранить в специально предназначенной для них управляющей памяти. При этом выполнение операции сводится к выборке из управляющей памяти последовательно микрокоманд микропрограммы и выдаче с их помощью управляющих сигналов у1,....,уп в операционное устройство.
В управляющей памяти можно хранить много микропрограмм, предназначенных для выполнения различных операций. По выбранной из оперативной памяти команде в управляющей памяти находится соответствующая команде микропрограмма. Далее путем последовательного считывания микрокоманд найденной микропрограммы и их выполнения в операционном устройстве реализуется предусматриваемая командой операция. Такой способ реализации операций называется микропрограммным, а построенное на этом способе управляющее устройство - управляющим устройством с программируемой логикой.
На рисунке 4 изображена структурная схема процессора с управляющим устройством, построенным по принципу программируемой логики. Функции блока микропрограммного управления (БМУ) сводятся к определению адреса очередной микрокоманды (МК) в управляющей памяти (УП). Поступающая из оперативной памяти (ОП) команда содержит адрес первой МК той микропрограммы, которая реализует предусматриваемую командой операцию. Так решается задача поиска в УП микропрограммы, соответствующей данной команде. Адреса всех последующих МК определяются в БМУ следующим образом.
В формате МК (Рисунок 3) предусматривается поле адреса, которое содержит адрес очередной МК. Считав из УП микрокоманду, по содержимому ее поля адреса определим адрес следующей МК. Но так можно получить адреса МК при отсутствии в алгоритме разветвлений, т.е. условных переходов (УсП). Для реализации условных переходов в МК надо предусмотреть поле условных переходов, в котором указывается, имеет ли место условный или безусловный переход и при условном переходе - на значения каких условий следует ориентироваться при определении адреса очередной МК.
Рисунок 4 – Структурная схема процессора
с микропрограммным принципом управления
Пусть поле условных переходов построено следующим образом. Один из разрядов поля указывает вид перехода (например, 0 в этом разряде означает безусловный переход, 1 - условный переход). Кроме того, для каждого условия в поле условных переходов имеется разряд, указывающий участие данного условия в определении адреса. Если условный переход осуществляется по некоторому условию, то адрес очередной МК будем формировать замещением младшего разряда содержимого поля адреса текущей МК значением соответствующего условия (такую операцию называют модификацией адреса). Получается разветвление на два направления. В зависимости от значения условия образуются два различающихся в младшем разряде адреса и очередная МК считывается из одной либо другой ячейки УП. Если модифицировать два разряда содержимого поля адреса, то можно осуществить разветвление на четыре направления.
Поле управляющих сигналов МК используется для подачи управляющих сигналов в операционное устройство (ОУ). Таким образом, микрокоманда может быть разбита на две части: одна часть - поле адреса и поле условных переходов - определяет функционирование БМУ при нахождении адреса очередной МК и может быть названа микрокомандой БМУ; другая часть - поле управляющих сигналов - определяет функционирование ОУ и может быть названа микрокомандой ОУ.
Машинное представление команды в памяти микроконтроллера называется объектным кодом.
Организация работы процессора состоит из фаз:
1) выборка очередной команды (ВК);
2) декодирование выбранной команды (ДК);
3) формирование адреса операнда (ФА);
4) прием операнда из памяти (ПО);
5) выполнение операции (ВО);
6) размещение результата в памяти (РР).
Реализация каждого этапа занимает один такт машинного времени и производится устройствами и блоками процессора, образующими ступени исполнительного конвейера, на каждой из которых выполняется соответствующая микрооперация. При последовательной загрузке в конвейер выбираемых команд каждая его ступень реализует определенный этап выполнения очередной команды.
Время для исполнения одной команды называется командным циклом. Основное содержание фазы выборки состоит в считывании первого байта (слова) команды из памяти микроконтроллера и его ввод в специальный регистр команд IR (Instruction Register).
Независимо от архитектуры процессора в нем имеются кроме памяти программ CSEG (Code Segment) и памяти данных DSEG (Data Segment), программно доступные регистры RSEG (Register Segment). Внутренняя логическая организация RSEG очень разнообразна и играет определяющую роль в классификации архитектур. Одним из основных является регистр PC (Program Counter)-программный счетчик. Он связан с с адресацией памяти программ и служит указателем следующего элемента программной последовательности, подлежащей выборке и исполнению. Считывание байта происходит по адресу, хранящемся в программном счетчике PC. Одновременно с этим содержимое PC увеличивается на 1 или 2, указывая на следующий элемент объектного кода. Фаза выборки одинакова для всех команд.
Вывод:
Существует два принципиально разных подхода к проектированию микропрограммного автомата (управляющего устройства) процессора с использованием схемной логики и с использованием программируемой логики.
В первом случае в процессе проектирования подбирается некоторый набор цифровых микросхем (обычно малой и средней степени интеграции) и определяется такая схема соединения их выводов, которая обеспечивает требуемое функционирование (т.е. функционирование процессора определяется тем, какие выбраны микросхемы и по какой схеме выполнено соединение их выводов). Устройства, основанные на таком принципе схемной логики, способны обеспечивать наивысшее быстродействие при заданном типе технологии элементов. Недостаток этого принципа построения процессора состоит в трудности использования БИС и СБИС.
Второй подход предполагает построение процессора с использованием одной или нескольких БИС некоторого универсального устройства, в котором требуемое функционирование (т.е. специализация устройства на выполнение определенных функций) обеспечивается занесением в память устройства определенной программы (или микропрограммы).
В зависимости от введенной программы такое универсальное управляющее устройство способно обеспечивать требуемое управление операционным устройством при решении самых разнообразных задач. В этом случае число типов БИС, необходимых для построения управляющего устройства, окажется небольшим, а потребность в БИС каждого типа высокой, что обеспечит целесообразность их выпуска промышленностью.
Контрольные вопросы:
1 Пояснить структуру процессора.
Ещё посмотрите лекцию "2. Информационные системы" по этой теме.
2 В чем суть аппаратного принципа управления операциями микропро-цессора?
3 Пояснить работу микропроцессора с микропрограммным управлением.
4 Каково назначение управляющего устройства микропроцессора?
5 Что представляет собой операционное устройство?
6 Каковы преимущества принципа микропрограммного управления микропроцессором?