Введение
Все операционные устройства можно обобщённо представить в виде модели академика Глушкова В.М., где есть два основных взаимосвязанных блока. Один блок является операционным автоматом (ОА), а второй служит управляющим автоматом (УА). Блок-схема операционного устройства представлена на рисунке ниже:
Рисунок 1. Обобщенная структура операционного устройства. Автор24 — интернет-биржа студенческих работ
Данный подход делает проще процесс проектирования устройства и позволяет легко понять принципы его работы. В операционном автомате выполняется обработка исходных информационных данных (D) для получения итогового результата (R), то есть он выполняет функции исполнительного элемента устройства. Он может состоять из различных логических и вычислительных модулей, принимающих от внешних устройств кодовые исходные операнды D для выработки итоговых результатов R, то есть это исполнительный модуль всего устройства.
Операционный автомат выполняет все вычисления и отправляет в управляющий автомат сигналы осведомления X = {x1, x2, …xL}, которые являются характеристикой, определяющей состояние узлов операционного автомата по окончании осуществления текущего алгоритмического шага. Управляющий автомат выполняет генерацию последовательности сигналов управления Y = {y1, y2, …, YM}, распределённых во времени, которые инициализируют в операционном автомате осуществление набора микроопераций согласно алгоритму. Это означает, что автомат управления определяет очерёдность исполнения процедур в операционном автомате.
Очерёдность управляющих сигналов задаётся переходными функциями управляющего автомата, которые имеют зависимость от сигналов операционных кодов q, приходящих снаружи в управляющий автомат, и величин сигналов осведомления Х, определяющих текущее положение узлов операционного автомата. Организация структуры и функций операционных устройств основана на методах управления на уровне микропрограмм. Все операции, выполняемые операционным устройством, разбиваются на последовательность простейших неразделяемых действий работы с информацией, которые выполняются за интервал одного такта времени работы автомата и называются микрооперацией. Когда операционный автомат выполняет набор микроопераций, этот набор микроопераций является микрокомандой.
В таком варианте в операционный автомат поступает комплекс сигналов управления, которые вызывают одновременное исполнение более одной микрооперации. Порядок выполнения микрокоманд определяется под управлением логических условий. Логические условия представляют собой некое множество, которое и является осведомительными сигналами. Алгоритмы, которые определяют выполнение операций в устройстве, записываются в терминологии микроопераций и условий логики, считаются микропрограммой. Микропрограмма задаёт очерёдность выполнения проверок условий логики и осуществления микроопераций, и применяется как формат отображения функций, на базе которого формируются структурная организация, и очерёдность исполнения функций устройством в зависимости от времени. Конечный автомат, который выполняет микропрограмму функционирования дискретного устройства, называют микропрограммным автоматом. Известно два базовых типа автоматов управления, выполненных на микропрограммах:
- Автоматы, построенные на основе жёсткой логики. Реализуются на основе применения элементов логики и памяти. Все операции, которые выполняются в устройстве, сопровождаются набором схемной логики. Эти логические схемы в текущем такте формируют управляющий сигнал, запускающий нужную микропрограмму. Поменять алгоритм функционирования таких автоматов невозможно без изменения схемы соединения его элементов.
- Автоматы, обладающие перепрограммируемой логикой. Алгоритм функционирования пишется в память управляющего автомата в форме последовательного набора микрокоманд. В микрокоманде записана информация о микрооперациях, которые необходимо исполнить в текущем такте, выполняемым устройством, и об адресации микрокоманды, подлежащей исполнению в следующем такте.
Синтез операционного устройства
Рассмотрим пример синтеза управляющего автомата специализированного операционного устройства, которое должно уметь выполнять основные арифметические операции. Исходными данными являются числа с фиксированной запятой, имеющие знак и расположенные в интервале $1 ≥ |X| ≥ 2-^{7} (n=8)$.
Способ исполнения операции умножения заключается в начале с младших разрядов множителя и смещением суммы частичных произведений вправо. Для операции деления применяется способ без восстановления остатка и сдвигом делителя.
Функциональная схема операционного автомата, реализующего действия деления и умножения, приведена на рисунке ниже:
Рисунок 2. Функциональная схема ОА для операции умножения и деления. Автор24 — интернет-биржа студенческих работ
В данной схеме используются такие обозначения:
- RG1(0:7) − регистр для хранения множимого А или записи делимого, а после передачи его на сумматор − делитель;
- RG2(0:7) − регистр для хранения множителя В, а затем для хранения младшей части произведения С или в который в цикле деления в режиме сдвига последовательно заносятся цифры частного;
- Sm(0:7) − параллельный комбинационный сумматор.
- RGSm(0:7) − регистр, для хранения частичного произведения (по окончании умножения в нем находится старшая часть произведения) или для хранения делимого, а затем остатка;
- СФФ – схема формирования флагов;
- РGФ(0:3) – регистр флагов;
- СF – флаг переноса (carry flag);
- SF – флаг знака (sign flag). В него записывается значение знакового разряда результата;
- ZF – флаг равенства нулю результата операции (zero flag). Если результат операции равен 0, то ZF = 1, в противном случае – нулю;
- СТ(0:3) − счетчик тактов, работает на вычитание и служит для подсчета количества тактов умножения или деления.