Управляющие автоматы со «схемной» логикой
Термин “автомат” используют двояко. В технике с понятием “автомат” связывают некоторое устройство, способное выполнять определенные функции без вмешательства человека или с его ограниченным участием. В другом, широком аспекте, автомат – это математическая модель, отображающая физические или абстрактные явления самой разнообразной природы (вычислительные машины, системы управления и связи, лингвистика и др.). Универсальность теории автоматов позволяет рассматривать с единой точки зрения различные объекты, устанавливать связи и аналогии между ними, переносить результаты исследований из одной области в другую. Обобщенным примером цифрового автомата является компьютер, выполняющий прием, хранение и преобразование дискретной информации по заданным алгоритмам.
Общая теория автоматов подразделяется на абстрактную и структурную. Абстрактная теория изучает поведение автомата относительно внешней среды и не рассматривает способы его построения. Структурная теория автоматов изучает способы построения логических схем автоматов на основе алгоритма, заданного на абстрактном уровне.
Абстрактный автомат как систему задают упорядоченной совокупностью шести объектов {X, Y, Z, ), где:
Х= {x1, x2, x3…. xm} – множество входных сигналов;
Y= {y1, y2, y3,. yn} – множество выходных сигналов;
Z = {z1, z2, z3,. zr} – множество внутренних состояний, определяемых памятью автомата;
— функция переходов, задающая отображение множеств X*Z Z;
— функция выходов, задающая отображение множеств или Z Y;
— начальное состояние автомата.
Множества X, Y, Z называются алфавитами, а их элементы – буквами. Последовательности входных и выходных букв образуют соответственно входные и выходные слова.
Понятие “память” (внутренние устойчивые состояния) автомата введено для описания систем, сигналы на выходах которых зависят как от входных сигналов в данный момент времени, так и от предыдущей истории развития процесса. В общем множество устойчивых состояний автомата – это совокупность текущих значений физических параметров элементов памяти (например, напряжение на выходах триггеров), которая сохраняется до поступления соответствующего входного сигнала. Внутреннее состояние автомата соответствует некоторой памяти о прошлом и позволяет устранить время как явную переменную и выражать выходные сигналы в виде функции входов и памяти.
Автомат работает в дискретном времени и переход из состояния в состояние происходит мгновенно. По способу ввода дискретного времени автоматы подразделяются на синхронные и асинхронные. В синхронных автоматах дискретное время задают генератором синхросигналов: t= 0, 1, 2 …, где t – номер машинного такта. В асинхронных автоматах моменты перехода из одного состояния в другое предварительно не определены и зависят от некоторых событий. В таких автоматах интервал дискретности переменный.
В теории наиболее полно описаны и на практике широко применяются синхронные автоматы. Автомат, имеющий начальное состояние, называется инициальным. В начальный момент времени t = 0 инициальный автомат всегда находится в начальном состоянии Z.
По способу формирования выходных сигналов различают автоматы Мили, Мура и С-автоматы. Функция переходов всех автоматов одинакова и записывается в виде:
Z(t) = [X(t), Z(t-1)].
Функции выходов задают выражения:
Y(t) = [X(t), Z(t-1)] – для автоматов Мили;
Y{t) = [Z(t)] – для автоматов Мура;
С-автомат объединяет свойства автоматов Мили и Мура.
Абстрактные автоматы Мили и Мура характеризуются одноканальными входами и выходами (рисунок 7.3.1).
Рисунок 7.3.1. Структура абстрактных автоматов Мили и Мура
Функция переходов показывает все возможные переходы из одного состояния памяти zi в другое zj, под действием входных сигналов. Функция выходов задает все возможные выходные сигналы, вырабатываемые автоматом в дискретные моменты времени в зависимости от xi(t) и zi (t).
В автоматах Мили выходные сигналы являются функцией входных сигналов и состояния памяти. В автоматах Мура выходные сигналы определяются только состоянием памяти.
Автомат называется конечным, если его множества X, Y и Z конечны; иначе автомат является бесконечным. В конечном автомате переход из одного состояния в любое другое заканчивается за конечное число тактов.
Принцип микропрограммного управления
Мы рассмотрели выполнение операций процессором в виде последовательности микрокоманд. Можно предусмотреть другой способ формирования управляющих сигналов, под действием которых в операционном устройстве выполняются микрокоманды.
Управляющие сигналы у1...., уn на выходе управляющего устройства в каждом тактовом периоде имеют уровни лог. 0 и лог.1. Таким образом, каждой микрокоманде на выходе управляющего устройства соответствует некоторая кодовая комбинация. Такие кодовые комбинации, называемые кодовыми комбинациями микрокоманд (или просто микрокомандами), можно хранить в специально предназначенной для них управляющей памяти. При этом выполнение операции сводится к выборке из управляющей памяти последовательно микрокоманд микропрограммы и выдаче с их помощью управляющих сигналов у1...., уn в операционное устройство.
В управляющей памяти можно хранить много микропрограмм, предназначенных для выполнения различных операций. По выбранной из оперативной памяти команде в управляющей памяти находится соответствующая команде микропрограмма. Далее путем последовательного считывания микрокоманд найденной микропрограммы и их выполнения в операционном устройстве реализуется предусматриваемая командой операция. Такой способ реализации операций называется микропрограммным, а построенное на этом способе управляющее устройство – управляющим устройством с программируемой логикой. На рисунке 7.3.2 а) изображена структурная схема процессора с управляющим устройством, построенным по принципу программируемой логики.
Рисунок 7.3.2.
Функции блока микропрограммного управления (БМУ) сводятся к определению адреса очередной микрокоманды (МК) в управляющей памяти (УП). Поступающая из оперативной памяти (ОП) команда содержит адрес первой МК той микропрограммы, которая реализует предусматриваемую командой операцию. Так решается задача поиска в УП микропрограммы, соответствующей данной команде. Адреса всех последующих МК определяются в БМУ следующим образом.
В формате МК (рисунок 7.3.2. б) предусматривается поле адреса, которое содержит адрес очередной МК. Считав из УП микрокоманду, по содержимому ее поля адреса определим адрес следующей МК. Но так можно получить адреса МК при отсутствии в алгоритме разветвлений, т.е. условных переходов (УсП). Для реализации условных переходов в МК надо предусмотреть поле условных переходов, в котором указывается, имеет ли место условный или безусловный переход и при условном переходе – на значения каких условий следует ориентироваться при определении адреса очередной МК.
Пусть поле условных переходов построено следующим образом. Один из разрядов поля указывает вид перехода (например, 0 в этом разряде означает безусловный переход, 1 – условный переход). Кроме того, для каждого условия в поле условных переходов имеется разряд, указывающий участие данного условия в определении адреса. Если условный переход осуществляется по некоторому условию, то адрес очередной МК будем формировать замещением младшего разряда содержимого поля адреса текущей МК значением соответствующего условия (такую операцию называют модификацией адреса). Получается разветвление на два направления. В зависимости от значения условия образуются два различающихся в младшем разряде адреса и очередная МК считывается из одной либо другой ячейки УП. Если модифицировать два разряда содержимого поля адреса, то можно осуществить разветвление на четыре направления.
Поле управляющих сигналов МК используется для подачи управляющих сигналов в операционное устройство (ОУ).
Таким образом, микрокоманда может быть разбита на две части:
– одна часть – поле адреса и поле условных переходов – определяет функционирование БМУ при нахождении адреса очередной МК и может быть названа микрокомандой БМУ;
– другая часть – поле управляющих сигналов – определяет функционирование ОУ и может быть названа микрокомандой ОУ.