Контрольная работа: Построение арифметико-логического устройства для выполнения операции умножения целых чисел
В состав АЛУ входят:
· многоразрядный сумматор
· совокупность регистров с цепями сдвига и обратными связями
Любая выполняемая операция в АЛУ представляется последовательностью микроопераций устройством управления, в соответствии с кодом операции текущей команды.
В состав входят:
· рабочий регистр – регистр, имеющий N разрядов
· рабочий регистр сумматора
· параллельный комбинационный N разрядный сумматор
· выходной N разрядный регистр сумматор
· Логическая схема Пр, формирующая признаки результатов выполнения операций.
Каждый регистр оснащается схемами управления, которые позволяют подключить входные цепи к разрядам регистров для их установки, либо выходные цепи для считывания содержимого разрядов регистров (регистр сумматор). Информация из регистра 1 может передаваться в регистр А, либо с использованием прямых кодов, извлекаемых из основных выходов триггеров в составе регистров, либо с использованием инверсных кодов, извлекаемых из инверсных выходов соответствующих триггеров
Входные операнды представляются позиционными входами:
,
где
Xi – значение i -того разряда.
- старший разряд двоичного поля, выделяемый для хранения знака.
Для представления двоичных чисел может использоваться прямой код, обратный и дополнительный.
Прямой код:
Используя 4-х разрядное битовое поле, десятичное число 3 можно представить в следующем виде:
3пр = 0011
-3пр = 1011
Старший разряд определяет знак числа, а числовые разряды определяют значение числа.
1. Для выполнения арифметических операций с операндами, представленными в виде двоичного поля, имеющими одинаковый код производится суммирование числовых разрядов операторов. Знак результата совпадает со знаком операнда.
2. Если операнды имеют разные знаки, то необходимо определить вначале операнд с большими значениями, из которого вычесть числовые разряды операнда с меньшим значением. Знак результата совпадает со знаком операнда, большего по модулю.
Как следует из описания операции с операндами, представленными в прямом коде, операция имеет достаточно высокую трудоемкость. Поэтому в целях экономии аппаратных и временных ресурсов для представления отрицательных операндов используют обратный или дополнительный коды. Обратный код для определения отрицательных чисел записывается как дополнение к числу, которое может размещаться в числовых разрядах соответствующего числа.
Xобр X<0
Чтобы получить обратный код достаточно каждый разряд двоичного поля заменить инверсным значением: -3обр = 1100