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