ИЗУЧЕНИЕ ПРИНЦИПОВ ОРГАНИЗАЦИИ АРИФМЕТИКО-ЛОГИЧЕСКИХ УСТРОЙСТВ.

СТРУКТУРА АЛУ ДЛЯ СЛОЖЕНИЯ И ВЫЧИТАНИЯ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

Цель работы: Изучение принципов построения и функционирования АЛУ для сложения и вычитания чисел с фиксированной запятой.

Введение: Обычно в АЛУ операции алгебраического сложения сводятся к арифметическому сложению кодов чисел путем применения дополнительного или обратного кодов для представления отрицательных чисел.

Алгоритм выполнения в АЛУ арифметических операций зависит от того, в каком виде хранятся в памяти ЭВМ отрицательные числа, в прямом или дополнительном коде. В последнем случае сокращается время выполнения операции за счет исключения операции преобразования получаемого в АЛУ дополнительного кода отрицательного результата в прямой код.

Работа АЛУ: При выполнении операции сложения положительные слагаемые представляются в прямом коде, а отрицательные - в дополнительном. Производится сложение двоичных кодов, включая разряды знаков. Если при этом возникает перенос из знакового разряда суммы при отсутствии переноса в этот разряд или перенос в знаковый разряд при отсутствии переноса из разряда знака, то имеется переполнение разрядной сетки соответственно при отрицательной и положительной суммах. Если нет переносов из знакового разряда и в знаковый разряд суммы или есть оба эти переноса, то переполнения нет и при нуле в знаковом разряде сумма положительна и представлена в прямом коде, а при 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 -> переполнение

Вывод: проведя данную лабораторную работу, я изучил принципы построения и функционирования АЛУ для сложения и вычитания чисел с фиксированной запятой.