Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ковалев.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
385 Кб
Скачать
☆
  1. Анализ исходных данных

Целью данного курсового проекта является разработка арифметического устройства для реализации вычисления функции F=(А+В)*(В+С)

Умножение будет реализовано по алгоритму Бута , исключив нечётные степени множителя.

Формат чисел, в котором они будут передаваться устройству:

4 0

А3

А2

А1

А0

Где:

А0 – А3 – четыре числовых разрядов передаваемых чисел.

Комбинационная схема арифметического устройства будет реализована в импликации, логический 0.

  1. Алгоритм работы устройства

Рис.1 Блок-схема алгоритма работы устройства

2.1 Операция умножения двух чисел по алгоритму Бута

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

Это соотношение позволяет разреживать последовательность степеней суммы частичных произведений. Мы исключаем нечётные степени:

Рис 1.1–Схема разбиения двоичного числа по алгоритму Бута.

Исключение чётных и нечётных степеней позволяет сократить количество произведений вдвое, что увеличивает скорость операций.

Частичные произведения имеют следующий вид:

, где i-порядковый номер группы.

Так как число частичных произведений уменьшилось примерно вдвое, при применении этого алгоритма говорят об умножении сразу на два разряда.

Составим таблицу получения частичного произведения:

Операция

0

0

0

0

0→SM

0

0

1

1

A→SM

0

1

0

1

A→SM

0

1

1

2

2A→SM

1

0

0

-2

-2A→SM

1

0

1

-1

-A→SM

1

1

0

-1

-A→SM

1

1

1

0

0→SM

Схема умножения по алгоритму Бута, исключая нечётные степени

Пример:

, где А=0,100 В=0,110.

→ B=0,1000

  1. →

  2. →

  3. В сумматоре sm

2.2 Блок сложения двух чисел

Операция сложения достаточно просто реализуется с помощью

многоразрядных сумматоров. Сложение удобно проводить в два этапа:

  1. Осуществляется поразрядное суммирование без учета переносов.

  2. С учетом переносов между разрядами формируется окончательная сумма

Сложение

0+0= 0

0+1= 1

1+0= 1

1+1=10

Пример: 0,5+0,25=0,010+0,100

0,010

0,100

0,110 — окончательная сумма