Пример операционного автомата

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

На рис. 1.25 приведена структурная схема операционного автомата.

Рис. 1.25



На схеме использованы следующие обозначения:

RGA, RGB – регистры для размещения операндов;

ФОК – формирователь обратного кода;

RGR – регистр результатов;

RGF – регистр флагов (признаков результата);

С1, C2 – синхросигналы;

yi – сигналы для управления элементами хранения;

Yi – сигналы для управления комбинационными элементами.


Сигналы логических условий:

x0 – признак совпадения знаков операндов;

x1 – флаг CF переполнения сумматора, т.е. переноса из 15-го разряда суммы;

x2 – флаг CS знака результата, формируется в старшем, 15-ом (знаковом) разряде сумматора.

Микрооперации, выполняемые в операционном автомате:

y1: RGA := ШД;

y2: RGA := 0;

y3: RGB := ШД;

Y4: B := ;

y6: RGB := A+B+Y5; RGF[s] := SM[15]; RGF[c] := SM[p];

Y7: ШД := RGR.

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

Управляющие сигналы, формируемые УА, связываются не с состояниями УА, а с выполнением конкретных микроопераций. Сигналы управления от УА синхронизируются сигналами C2 от внешнего генератора. Сигналы управления Y4, Y5, Y7, Y8 комбинационными схемами отличаются от сигналов y1, y2, y3, y6 управления элементами хранения по длительности.

Функционирование ОУ начинается после подачи от внешнего устройства на шину F УА кода команды. УА дешифрует этот код и начинает выполнять микропрограмму поданной команды.

Данное операционное устройство предназначено для выполнения следующих команд:

1. Сложение в дополнительном коде ADD: R:=A+B;

2. Вычитание в дополнительном коде SUB: R:=A-B;

3. Прибавление 1 INC: R:=B+1;

4. Смена знака числа ISG: R:= -B;

5. Инвертирование (поразрядная логическая операция) NOT: R:= .

При выполнении всех команд данные поступают с ШД. Результат формируется на регистре результата RGR, а в регистре RGF фиксируются признаки результата.

В процессе выполнения арифметических команд управляющий автомат может сформировать управляющий сигнал OF (Overflow – переполнение). В последнем такте любой микропрограммы УА формирует сигнал RESULT. В данном операционном автомате этим же сигналом (Y7) разрешается передача результата с RGR на ШД. Сигналы OF и RESULT предназначены для внешних устройств.

Схема алгоритма команды сложения ADD целых чисел со знаком в дополнительном коде представлена на рис. 1.26.




























Рис. 1.26







По сигналам y1 и y3 в регистры операндов по очереди заносятся коды операндов. Предполагается, что на ШД их выдает то устройство, которое формирует код команды ADD.

В следующем такте УА вырабатывает y7. Поскольку сигнал Y4 не формируется, то есть Y4 = 0, то ФОК передаст код с выхода RGB на вход сумматора без преобразования.

Аналогично, Y5 не формируется, т.е. Y5 = 0 и поэтому на вход переноса сумматора поступает «0».

В результате на выходе сумматора SM сформируется код суммы операндов, т.е.

RGA + RGB + 0.

По сигналу y6 этот код занесется в регистр результата RGR. При записи результата в RGR одновременно в регистр RGF флагов заносятся признаки результата.

Далее проверяется возможность переполнения при суммировании. Переполнение возможно только при сложении чисел одного знака (x0 = 1). Признаком переполнения служит неравенство сигнала переноса x1 и знакового разряда суммы x2. Эти сигналы поступают в УА, где они анализируются. Если нет переполнения, т.е. x1 = x2, то УА формирует сигнал микрокоманды Y7, по которой результат с RGR через ШФ поступает на ШД. При этом сигнал y8 не формируется, что означает отсутствие переполнения. Сигнал Y7 выдается из УА также и для внешних устройств и означает готовность результата RESULT на ШД.

При обнаружении переполнения вместо Y7 и сигнала RESULT формируется сигнал y8: OF – «переполнение».

Переполнение возможно лишь при сложении 2-х чисел с одинаковыми знаками.

Сайт управляется системой uCoz