Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа по МП №1-2 печать.doc
Скачиваний:
1
Добавлен:
19.11.2019
Размер:
1.98 Mб
Скачать

Операция алу

Таблица 3

Микрокод

Операции

АЛУ

I5

I4

I3

0

0

0

R + S + C0

0

0

1

S – R – 1 + C0

0

1

0

R – S – 1 + C0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

Арифметические операции в АЛУ выполняются с учетом значения на входе С0 - переноса из младшей МП секции в старшую при объединении секций для реализации многосекционного МП. Так как данный микротренажер состоит только из одной МП секции, то значение на входе переноса задается программно битом С0 третьей тетрады микрокоманды (таблица 1). При выполнении арифметических операций представление отрицательных чисел в МП К1804ВС1 выполняется по правилам дополнительного кода.

Кроме результата выполнения операции АЛУ формирует четыре флага, отражающих некоторые особенности полученного результата:

    • С4 - перенос из старшего(3-го) разряда в несуществующий четвертый разряд. Такая ситуация возникает тогда, когда полученный результат не может быть представлен четырех разрядным числом (например 1011+1100=10111). Данный флаг используется для осуществления переноса между секциями в многосекционных МП.

    • OVR – переполнение. При выполнении арифметических операций данный флаг устанавливается (переходит из 0 в 1) при переносе между вторым и третьим разрядом, и с его помощью можно отследить ошибки, возникающие при выполнении арифметических операций над знаковыми числами. Например, сложение положительных чисел 0011(+3) + 0110(+6) = 1001(-7) привело к появлению отрицательного результата.

    • F3 – соответствует значению старшего разряда (бит знака) на выходе АЛУ.

    • Z – указывает на наличие нулевого результата на выходе АЛУ.

Флаги используются в СУАМК для реализации условных переходов.

Результат выполнения операции с выхода F АЛУ может быть сохранен в РЗУ либо в RQ. Управление приемником результата осуществляется разрядами I8-I6 четвертой тетрады микрокоманды (таблица 4).

Управление приемником результата и

селектором выходных данных

Таблица 4

Микрокод

Запись в РЗУ

Запись в RQ

Источник выходных

данных

Y3-Y0

I8

I7

I6

Сдвиг

Запись

Сдвиг

Запись

0

0

0

-

-

-

F→Q

F

0

0

1

-

-

-

-

F

0

1

0

-

F→B

-

-

A

0

1

1

-

F→B

-

-

F

1

0

0

Вправо

F/2→B

Вправо

Q/2→Q

F

1

0

1

Вправо

F/2→B

-

-

F

1

1

0

Влево

2∙F→B

Влево

2∙Q→Q

F

1

1

1

Влево

2∙F→B

-

-

F

Данные перед записью РЗУ и RQ, сдвигателями данных СДА и СДQ могут быть сдвинуты влево или вправо на один разряд. Кроме четырехразрядных входа и выхода сдвигатели имеют одноразрядные двунаправленные выводы в СДА – PR3,PR0 и СДQ - PQ3,PQ0 (рис. 2). При выполнении сдвига влево (рис. 3, б) двунаправленный вывод PR3(PQ3) становится выходом, на который поступает старший бит, а двунаправленный вывод PR0(PQ0) становится входом. При выполнении сдвига вправо, выводы сдвигателя меняют свое направление на противоположное (рис. 3, в). При записи данных без сдвига (рис. 3, а) выводы PR3(PQ3) и PR0(PQ0) отключены.

Рис. 3. Схема сдвиговых операций. Передача данных без сдвига (а), со сдвигом влево (б), со сдвигом вправо (в).

Различные виды сдвигов (одинарной длины, двойной длины, арифметический, циклический и т.д.) реализуются с помощью мультиплексоров сдвига (на рис. 1 не показаны), которые обеспечивают нужную коммутацию выводов PR3, PQ3, PR0 и PQ0 для выполнения заданного типа сдвига. Управление сдвиговыми мультиплексорами осуществляется битами S1 и S0, входящими в 5 и 4 тетрады микрокоманды (таблица 5).

Виды сдвиговых операций

Таблица 5

S1

S0

Сдвиг вправо

Сдвиг влево

Тип сдвига

0

0

Сдвиг одинарной длины с вталкиванием нуля

0

1

Циклический сдвиг одинарной длины

1

0

Циклический сдвиг двойной длины

1

1

Арифметический сдвиг двойной длины

F3 – старший (знаковый) разряд данных.

На выходную шину центрального процессорного элемента Y3-Y0 данные поступают через селектор выходных данных (СВД) с выхода F арифметико-логического устройства, либо из РЗУ через регистр RA. Управляют СВД биты I8-I6 микрокоманды (таблица 4).