Цифровые автоматы с управлением последовательностью операций
Принцип последовательного выполнения операций обработки информации начал применяться в механических и электромеханических счетных машинах (арифмометрах и табуляторах) и нашел дальнейшее развитие в ЭВМ. Массовое применение этого принципа для построения разнообразных ЦА началось с момента изобретения микропроцессоров (МП) в 1971 г. И серийного выпуска микропроцессорных БИС. Удалось естественным образом разделить ЦА на функционально законченные универсальные модули, реализовать их в виде БИС и СБИС, создать стандартные средства объединения модулей.
Представление ЦА в виде совокупности управляющего (микропрограммного) и операционного автоматов было предложено академиком Виктором Михайловичем Глушковым, который основал и проработал долгие годы директором Института Кибернетики АН СССР в г. Киеве. В своей монографии “Синтез цифровых автоматов” (1963г.) и последующих работах В.М. Глушков провел глубокие теоретические исследования ЦА с такой структурой.
Общая структура ЦА с управлением последовательностью операций приведена на рис. 1.11 и включает операционное устройство (ОУ) и устройство управления (УУ) последовательностью операций.
Рис. 1.11
На МФЭ возложена реализация набора операций F={F1,F 2, ...,F k}, а элементы памяти ЭП1, ...,ЭПN предназначены для временного хранения результатов выполнения операций, входных кодов Х1, ...,Xm и выходных кодов Z1, ..., Zn. Операции в МФЭ могут выполняться над различными комбинациями Х1, ...,Xm и содержимого ЭП1, ...,ЭПN.
Последовательность операций задается устройством управления серией команд вида
К= <КОП,А,В.С>,
где КОП - код операции над А и В, выполняемой в МФЭ;
С - место размещения результата.
Например, выполнение команды <+, X1, X2, ЭП1> вызывает сложение кодов со входов Х1, Х2 и запись результата в элемент памяти ЭП1. А и В выбираются управляемой схемой связей ОУ из множества Х1, ..., Хm, ЭП1, ..., ЭПN, а результат операций С схемой связей пересылается в один из элементов памяти ЭП1, ..., ЭПN или на один из выходов Z1, ..., Zn.
Для функции
Z1=2X1-X2+2X3
последовательность команд выглядит следующим образом:
K1= <+, X1, X3, ЭП1>;
K2=<+ЭП1, ЭП1, ЭП2>;
K=<-, ЭП2, X2, Z1>.
Такая последовательность команд называется программой. В результате выполнения программы получаем требуемую функциональную зависимость между Z1, ..., Zn и X1, ..., Xm.
В ходе выполнения программы последовательность команд может изменяться в зависимости от признаков результатов выполнения команд: знака, равенства нулю, четности или нечетности результата и др.
Последовательность выполнения команд, увеличивает время реализации функций и тем больше, чем длиннее программа. А длинна программы зависит от сложности операций выполняемых МФЭ, числа элементов памяти, сложности схемы связей ОУ, т. е. от набора команд. Таким образом, при усложнении ОУ упрощается УУ (уменьшается число формируемых команд), уменьшается время реализации функций и наоборот. Но сложность МФЭ и сложность схемы связей ограничена.
Общее число Nk команд легко вычислить по формуле:
Nk=K×NА×NВ×NС,
где K - число операций;
NÀ - число источников А;
NВ - число источников В;
NС - число приемников результата С.
Уже при K=m=n=N=10 получаем Nk= 80 000.
При большом числе K, m, n и N управление ОУ становится очень сложным, число разрядов команды достигает десятков и сотен. С целью получения приемлемой сложности ОУ и УУ функции управления разделяются на два уровня (рис. 1.12).
1. Управление всеми доступными элементами ОУ происходит под действием наборов управляющих сигналов - микрокоманд, формируемых микропрограммными устройствами управления (МПУУ).
Рис. 1.12
2. Программное управление на уровне команд, каждой из которых соответствует последовательность микрокоманд, называемая микропрограммой.
Таким образом, программное устройство управления (ПУУ) избавляется от непосредственного управления элементами структуры. ПУУ может быть как с гибкой, так и жесткой логикой. В ПУУ с гибкой логикой программы хранятся в запоминающем устройстве команд (ЗУК), а считывание их в определенной последовательности выполняет специальный блок выборки команд (БВК).
Команды от ПУУ преобразуются в МПУУ в последовательность микрокоманд. Эта последовательность может изменяться в зависимости от признаков выполнения микрокоманд Xмк. Автоматы с такой структурой будем называть цифровыми автоматами с программным управлением.
Для ПУУ совокупность МПУУ и ОУ является псевдооперационным устройством с признаками XK.
МПУУ часто используется самостоятельно в качестве контроллера, а совместно с ОУ - для построения ЦА средней сложности при повышенных требованиях к быстродействию. Для сохранения микрокоманд в МПУУ с гибкой логикой используется запоминающее устройство микрокоманд (ЗУМК). Считывания их в определенной последовательности с учетом признаков XМк выполняет БВМК - блок выборки микрокоманд (рис. 1.12). Автомат включающий МППУ и ОУ, назовем цифровым автоматом с микропрограммным управлением.
Структура современных ЦА с программным управлением приведена на рис. 1.13. По сравнению с ранее рассмотренной она имеет ряд особенностей, которые состоят в следующем.
Рис. 1.13
1. Схема связей ОУ упорядочена и представляет собой набор линий (шин), по которым различные элементы обмениваются данными. Такой набор линий и правил обмена по ним называется интерфейсом.
2. ПУУ включает блок выборки команд (БВК) и запоминающее устройство команд (ЗУК). Совокупность БВК, МПУУ, МФЭ, ограниченного набора элементов памяти ЭП1, ...,ЭПl и внутренний интерфейс составляют центральное процессорное устройство (ЦПУ).
ЦПУ имеет интерфейс памяти и ввода-вывода, по которому производится считывание команд из ЗУК, обмен с ОЗУ и ПЗУ, ввод X1, ..., Xm и вывод Z1, ..., Zn.
3. Информация со входов X1, ...,Xm с помощью устройств ввода УВв1, ..., УВвmb вводится в ЦПУ и ОЗУ для дальнейшей обработки, а выходная информация из ЦПУ, ОЗУ или ПЗУ выводится на Z, 1 ..., Zn через устройство вывода УВыв1, ..., УВывn. Такая структурная организация позволяет легко изменить число входов и выходов . На практике часто используются универсальные устройства ввода-вывода (УВВ), у которых каждая линия может быть настроена либо на ввод либо на вывод.
ЦПУ может быть выполнено на одном или нескольких кристаллах БИС. В этом случае оно будет называться микропроцессором. ЗУК, ОЗУ и ПЗУ, УВВ1, ..., УВВm, УВыв1, ..., УВывm представляют собой функционально законченные узлы и реализуются на серийных БИС.
Модульность структуры ЦА достигается благодаря унификации интерфейса, а функциональная гибкость обусловлена возможностью программирования и микропрограммирования путем смены программ в ЗУК и микропрограмм в ЗУМК, БИС и СБИС памяти позволяют хранить огромное число команд и микрокоманд.
Однокристальная реализация такого ЦА отличается сравнительно небольшим числом линий ввода-вывода, поэтому эти лини используются как для ввода так и для вывода. Кроме того объем внутреннего ЗУ однокристального ЦА ограничен, но унифицированный интерфейс позволяет наращивать объем памяти и число устройств ввода-вывода.
Таким образом, в рассматриваемых цифровых автоматах часть функций реализуется программными средствами, а часть - аппаратными.
Изменение соотношения между программной и схемной реализацией функций в ЦА позволяет оптимизировать сложность и быстродействие устройств. Реализация функций программными средствами позволяет значительно уменьшить сложность схем цифровых автоматов. Это обусловлено массовым выпуском БИС ЗУ, их низкой стоимостью и большой информационной емкостью, а также возможностью однокристальной реализации автоматов. Однако схемная реализация функций позволяет получить более высокое быстродействие ЦА.
ВЫВОДЫ К ГЛАВЕ 1
1. Для задания цифрового автомата в самом общем виде необходимо указать число его входов, выходов, внутренних состояний и особенности соответствующих наборов (алфавитов). Сравнительно простые цифровые автоматы, содержащие 3-4 входа и выхода, целесообразно представить в виде канонической структуры, в которой первичным признаком деления на блоки является тип используемого элемента (логический элемент или элемент памяти).
2. В качестве единицы измерения времени функционирования ЦА выбирается автоматный такт, границы которого определяются моментами изменения состояния автомата, т. е. моментами изменения либо входного сигнала (устойчивый такт), либо состояния памяти (неустойчивый такт). Примером ЦА с неустойчивыми тактами может служить генератор импульсов.
3. Закон функционирования ЦА с канонической структурой описывается двумя основными функциями - функцией переходов, определяющей порядок смены состояний автомата, и функций выходов, задающей порядок выдачи выходных сигналов в зависимости от состояния памяти и входных сигналов.
4. Решение задачи синтеза оптимальной структуры цифрового автомата существенно зависит от правильного выбора соотношения функций со схемой (аппаратной), программной или (и) микропрограммной реализацией. Программная реализация функций позволяет в большинстве случаев уменьшить сложность автомата, но про этом чаще всего (в отличие от схемной реализации) снижается быстродействие ЦА.
КОНТРОЛЬНЫЕ ВОПРОСЫ К ГЛАВЕ 1
1. Чем определяется число состояний цифрового автомата?
2. В чем отличие цифровых автоматов Мили и Мура?
3. дайте сравнительную качественную характеристику синхронных и асинхронных автоматов (например, по показателям быстродействия, сложности, помехоустойчивости).
4. В чем состоит физический смысл допущений, принимаемых при построении теории цифровых автоматов?
5. Каким образом задается математическое описание автомата?
6. По каким признакам могут классифицироваться цифровые устройства?
7. В чем состоит принципиальное отличие между: ЦА со схемной реализацией и ЦА с управлением последовательностью операций, автоматами с “жесткой” и “гибкой” логикой?
ЛИТЕРАТУРА К ГЛАВЕ 1
1.1. Глушков В.М. Синтез цифровых автоматов. - М.: Физматгиз, 1962.
1.2. Дискретные устройства АСУ. / Под ред. Тимонькина Г. Н., Харченко В. С. - Мо СССР, 1990.
1.3. Баранов С.И. синтез микропрограммных автоматов. - Л.: Энергия, 1974.
1.4. Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. Л.: Машиностроение, 1979.
1.5. Шевкопляс Б. В. Микропроцессорные структуры. Инженерные решения. - М.: Радио и связь, 1985.
1.6. Балашов Е. П. и др. Многофункциональный синтез систем. - М.: Радио и связь, 1985.
1.7. Балашов Е. П. др. Многофункциональные регулярные вычислительные структуры. - М.: Сов. Радио, 1978.
1.8. Каляев А. В. Микропроцессорные системы с программируемой архитектурой. - М.: Радио и связь, 1984.
1.9. Пупырев Е. И. Перестраиваемые автоматы и микропроцессорные системы. - М.: Наука, 1985.
ГЛАВА 2