- •Содержание
- •Введение
- •Анализ исходных данных
- •Описание алгоритма реализации заданной операции.
- •2.1 Операция умножения двух чисел используя алгоритм Бута
- •Блок вычитания двух чисел
- •Описание регистров.
- •Разработка блок-схемы устройства и описание работы цикла .
- •Составление и минимизация комбинационной схемы.
- •Представление основных элементов в требуемом базисе.
- •Описание работы компараторов.
- •Описание работы сумматоров.
- •Описание работы мультиплексора.
- •Реализация блока перевода в дополнительный код.
- •Составление комбинационной схемы дешифратора.
- •Реализация блока перевода в код с избытком 3.
- •Описание работы устройства для реализации заданной операции.
Анализ исходных данных
Целью данного курсового проекта является разработка арифметического устройства для реализации вычисления функции F=(А*В)-С.
Умножение будет реализовано по алгоритму Бута (умножение на два разряда множителя одновременно ). Операция вычитания будет представлена в виде сложения в дополнительных кодах чисел.
Формат чисел, в котором они будут передаваться устройству:
5 0
-
S0
А4
А3
А2
А1
А0
Где:
А0 – А4 – пять числовых разрядов передаваемых чисел.
S0 – знаковый разряд.
Комбинационная схема арифметического устройства будет реализована в алгебре Жигалкина.
Последние 4 бита результата будут представлены в кодес избытком 3.
Описание алгоритма реализации заданной операции.
В данной курсовой работе необходимо разработать арифметическое устройство, отвечающее определённым требованиям.
Вышеупомянутое устройство должно выполнять послебовательно действия, представленные на схеме:
р
Умножение
чисел А и В по алгоритму Бута.
Схема
представления результата в коде с
избытком 3
B
нр
Вычитание из результата умножения
числа С
С
2.1 Операция умножения двух чисел используя алгоритм Бута
Суть алгоритма Бута - уменьшение количества слагаемых при умножении. Такой метод позволяет сократить время суммирования. Алгоритм Бута позволяет умножать сразу два разряда числа.
Э
то
соотношение позволяет разреживать
последовательность степеней суммы
частичных произведений.
Рис 2.1–Схема разбиения по тройкам.
Исключение чётных и нечётных степеней позволяет сократить количество произведений вдвое, что увеличивает скорость операций.
Остальные частичные произведения имеют :
где i-порядковый номер группы.
Так как число частичных произведений уменьшилось примерно в двое, при применении этого алгоритма говорят об умножении сразу на два разряда (иногда можно встретить и такое название данного алгоритма умножения).
Знак произведения определяется как сумма знаков обоих сомножителей по модулю 2. Если оба сомножителя имеют одинаковые знаки, то сумма знаков по модулю 2 будет равна 0 (0=0+0 (mod 2), 0=1+1 (mod 2)), что означает, что произведение положительно. Если оба сомножителя имеют разные знаки, то сумма знаков равна 1 (0+1=1+0=1), что означает, что произведение отрицательно.
Блок вычитания двух чисел
Операцию вычитания будем реализовывать как сложение 2 чисел в дополнительных кодах. F=(A*B)-C=-C+(A*B).
Значение С анализируется по его знаковому биту. Если число положительное, то его представляют в виде –С и переводят в дополнительный код, после чего подают на сумматор, а если число С отрицательно, то число С подаётся на сумматор со знаковым битом 1 без каких либо преобразований .
Если число положительное (знаковый бит равен 0), то его форма в дополнительном коде будет тоже самое число , что и в прямом коде. Если же число отрицательное (знаковый бит равен 1), то для перевода числа в дополнительный код сначала нужно проинвертировать каждый бит числа и добавить к младшему биту 1. После суммирования результат нужно перевести обратно в прямой код.
