Арифметико-логические устройства

ИЗУЧЕНИЕ ПРИНЦИПОВ ОРГАНИЗАЦИИ АРИФМЕТИКО-ЛОГИЧЕСКИХ УСТРОЙСТВ.
СТРУКТУРА АЛУ ДЛЯ СЛОЖЕНИЯ И ВЫЧИТАНИЯ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ
Цель работы: Изучение принципов построения и функционирования АЛУ для сложения и
вычитания чисел с фиксированной запятой.
Введение: Обычно в АЛУ операции алгебраического сложения сводятся к
арифметическому сложению кодов чисел путем применения дополнительного или
обратного кодов для представления отрицательных чисел.
Алгоритм выполнения в АЛУ арифметических операций зависит от того, в каком виде
хранятся в памяти ЭВМ отрицательные числа, в прямом или дополнительном коде. В
последнем случае сокращается время выполнения операции за счет исключения
операции преобразования получаемого в АЛУ дополнительного кода отрицательного
результата в прямой код.
Работа АЛУ: При выполнении операции сложения положительные слагаемые
представляются в прямом коде, а отрицательные - в дополнительном. Производится
сложение двоичных кодов, включая разряды знаков. Если при этом возникает перенос
из знакового разряда суммы при отсутствии переноса в этот разряд или перенос в
знаковый разряд при отсутствии переноса из разряда знака, то имеется
переполнение разрядной сетки соответственно при отрицательной и положительной
суммах. Если нет переносов из знакового разряда и в знаковый разряд суммы или
есть оба эти переноса, то переполнения нет и при нуле в знаковом разряде сумма
положительна и представлена в прямом коде, а при 1 в знаковом разряде сумма
отрицательна и представлена в дополнительном коде.
Упрощенная структурная схема АЛУ для операций сложения и вычитания n-разрядных
(n-й разряд знаковый) двоичных чисел с фиксированной запятой приведена на рис.1.
Предполагается, что отрицательные числа хранятся в памяти в дополнительном коде.
В состав АЛУ входят n-разрядный параллельный комбинационный сумматор См, регистр
сумматора PrCм, входные регистры сумматора PrB и PrА, входной регистр АЛУ Pr1.
Из оперативной памяти по входной информационной шине Шивк в АЛУ поступают
операнды: положительные числа в прямом коде, а отрицательные в дополнительном.
Операнды размещаются в PrB (первое слагаемое или уменьшаемое) и Pr1 (второе
слагаемое или вычитаемое); Pr1 связан с PrA цепями прямой и инверсной передачи
кода. Результат операции выдается из АЛУ в оперативную память по выходной
информационной шине ШИвых. Запись информации в регистры АЛУ осуществляется под
управлением сигналов ПрРг1 и ПрРгВ. Слово из Рг1 в РгА передается в прямом коде
под действием управляющего сигнала ПрРгАП, в инверсном коде ПрРгАИ. Сигнал
ПрРгСм управляет записью результата в регистр сумматора РгСМ, а сигнал ПрИШвых
передачей содержимого РгСМ в информационную шину.
Код признака результата формируется комбинационной схемой Пр, на выходы которой
поступают выходные сигналы всех разрядов сумматора СМ, а также сигналы переноса
из знакового разряда ПнСМ[0] и из старшего цифрового разряда ПнСМ[1].
Признак переполнения (ПР=11) формируется, если выполняется условие
(1) ПнСМ[0]/\ПнСМ[1]\/ПнСМ[0]/\ПнСМ[1]=1
Признак нулевого значения результата Пр=00 формируется если
(2) S СМ[i]=1
Признак положительного результата Пр=10 формируется при условии
(3) СМ[0](ПнСМ[0]/\ПнСМ[1]\/ПнСМ[0]/\ПнСМ[1]=1
(4) СМ[0](ПнСМ[0]/\ПнСМ[1]\/ПнСМ[0]/\ПнСМ[1]
При выполнении алгебраического сложения поступившие в АЛУ коды операндов
находятся в выходных регистрах PrB и PrА сумматора. Код суммы формируется на
выходе схемы См и фиксируется в регистре PrCм.
Операция алгебраического вычитания
Z=X-Y=X+(-Y)
может быть сведена к изменению знака вычитаемого Y и операции алгебраического
сложения. Изменению знака соответствует следующая процедура: принятый в Pr1 код
числа знака передается инверсно в PrА и при сложении осуществляется
подсуммирование 1 в младший разряд сумматора.
Выполнение лабораторной работы:
1) 2 + 3 00011 + 00010 = 00101 = 5
Пр=10 -> 5 > 0
2) 9 + 8 01000 + 01001 = 10001 = -1
Пр = 11 -> переполнение
3) –2 + 3 00011 + 10010 = 00011 + 11101 = 00000 + 00001 = 00001 = 1 Пр 10 -> 1 >
0
4) –3 + 2 00010 + 11000 (О.К.) = 11110 + 00001 = 10001 (ПК) = -1
Пр = 01 -> -1 < 0
5) –3 –2 10010 (ПК) + 10011 (ПК) = 11101(ОК) + 11100(ОК) = 11001 + 00001 = 10101
(ПК) = -5
Пр = 01 -> -5 < 0
6) – 8 – 9 11001(ПК) + 11000(ПК) + 10110 (ОК) + 10111(ОК) = 01101 + 00001 =
01110 =14
Пр = 11 -> переполнение
Вывод: проведя данную лабораторную работу, я изучил принципы построения и
функционирования АЛУ для сложения и вычитания чисел с фиксированной запятой.