Алгоритм деления чисел (электроника)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:25, 7 января 2015.

1. Деление двух двоичных чисел (целых чисел)

используется для решения следующего неравенства

(структура устройства отражающая принцип работы данного устройства)

Структурная схема для операции деления:

Рис. 1. Описание схемы для операции деления:
A1 - n разрядный сдвиговый регистр с записью в параллельном коде
A2 - m разрядный регистр хранения
A4 - сумматор разрядности max(n,m)+1, где 1 отвечает за знаковый бит
A5 - преобразование в дополнительный код
A6 - преобразование целого числа в целое положительное

В регистре после прихода всех импульсов синхронизации будет храниться частное. Остаток хранится в

Число тактов равно числу разрядов делимого

Входы:

  • операнд А
  • операнд В + входы синхронизации

Выходы:

  • RES1 - остаток
  • RES2 - частное

На регистрах D1 и D2 происходит хранение операций (первоначальная их запись). Каждый разряд из D1 записывается в младший разряд D3 (организуют сдвиговый разряд).

на D5 реализуется преобразование числа в дополнительный код; на следующем элементе - вычитание из D3.

Если при вычитании получится "1", то операнд А подается на Sm < операнд B подается на тот же сумматор.

D7, D8 - с их помощью заносится "0" в число.

Если при вычислении "1" с помощью D8 - имеем "1". на вход подаем еще столько импульсов, какова разрядность А.

Особенность реализации:

1) из промежуточного результата (D3) вычитается делитель.

Сдвиг: D1-D3

Запись: различными способами.

2) сравнение : > или < - также реализуется с помощью регистра, результат в D8 - частное от деления.

Какова должна быть разрядность сумматора, регистра D3, частного?

Рассмотрим общий случай:

делимое [N]

делитель [M]

(деление для целого беззнаковых чисел)

частное [N] (худший случай деление на 1)

делимое [M] разрядность D8 = N