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

Для обоснования принципа построения операционного автомата воспользуемся правилом умножения двоичных чисел, при котором частичные произведения формируются, начиная с младших разрядов множителя В (рис. 4.20).

Состав аппаратных средств для реализации умножения двоичных чисел. Прежде всего, необходимо иметь в виду, что суммирование частичных произведений должно осуществляться последовательно во времени с помощью сумматоров, предназначенных для сложения двух операндов, так как сложность схемного решения сумматоров возрастает как с ростом числа операндов, так и с увеличением их разрядности. Как видно из рис. 4.20, особенность умножения двоич-

Правило умножения двоичных чисел, начиная с младших разрядов множителя

Рис. 4.20. Правило умножения двоичных чисел, начиная с младших разрядов множителя

ных чисел состоит в том, что частичные произведения могут принимать лишь два значения: значение множимого А либо нуля. Величина частичного произведения определяется значением текущего разряда множителя В. Если частичное произведение равно нулю, то микрооперацию сложения можно не выполнять. Таким образом, множимое А используется как частичное произведение, и его будем постоянно хранить в регистре RGi (рис. 4.21). Для аппаратного определения значения текущего разряда множителя В необходимо располагать сдвигающим регистром RG2. В исходном состоянии регистр RG2 загружен множителем В, причем выходной сигнал должен соответствовать самому младшему разряду множителя. Чтобы выявить значение следующего разряда множителя В, после каждой микрооперации сложения частичного произведения необходимо производить сдвиг содержимого на один разряд в сторону младшего разряда. Для хранения частичных сумм частичных произведений необходимо располагать третьим

Иллюстрация алгоритма умножения двоичных чисел с помощью трех регистров и сумматора

Рис. 4.21. Иллюстрация алгоритма умножения двоичных чисел с помощью трех регистров и сумматора

регистром RG3. В исходном состоянии RG3 должен быть загружен нулями. В процессе умножения осуществляется сложение содержимого регистра RG3 с частичным произведением А. Частичная сумма помещается в RG3, после чего выполняется сдвиг на один разряд, так как в два раза увеличивается вес каждого очередного разряда множителя В (см. рис. 4.21).

Алгоритм умножения двоичных чисел. Процесс умножения с использованием трех регистров и сумматора показан на рис. 4.21. Множимое А = 0111 постоянно находится в регистре RGV В исходном состоянии в регистр RG3 помещен нуль 0000, а в регистр RG2 – множитель В = 0101. Нуль в старшем разряде операндов Аи В свидетельствует о том, что перемножаются положительные числа. В процессе умножения в регистре RG3 размещаются частичные суммы частичных произведений и произведение. Анализируется младший разряд регистра RG2 (МР RGJ), который отождествляется с логическим условием Xv Если МР RG2 = Xt = 1, то выполняется микрооперация сложения содержимого регистров RG3 и RGX и результат помещается в RG3. Эта микрооперация может быть записана в виде RG3: = RG3 + RGV Затем осуществляется микрооперация сдвига вправо на один разряд (R1) содержимого составного регистра, образованного из регистров RG3 и RG2: RG3, RG2. = R1 (RG3,RG2). Если MP RG2 = X{ = 0, то выполнятся только сдвиг содержимого составного регистра.

Из рис. 4.21 видно, что процесс носит циклический характер. Число циклов п равно числу разрядов множителя (в примере п = 4). Поэтом}' при схемной реализации для автоматической фиксации завершения операции умножения целесообразно использовать вычитающий счетчик СТ числа повторений цикла В исходном состоянии он загружается числом п = 4 (1002). По завершении каждого цикла содержимое счетчика уменьшается на единицу. После четвертого цикла счетчик будет пуст (000). Если к выходам счетчика подключить элемент ЗИЛИ-НЕ и его выходной сигнал принять в качестве логического условия Х2, то Х2 = 1 будет свидетельствовать о завершении четвертого цикла или об окончании операции умножения.

Структурная схема операционного автомата. Схема автомата для умножения двоичных чисел приведена на рис. 4.22. Составной регистр из RG3 и RG2 образован путем соединения выхода триггера младшего разряда RG3 с входом старшего разряда RG2. С помощью управляющего сигнала ух регистр RG3 устанавливается в нулевое состояние, а сигнала

Структурная схема операционного аппарата для умножения двоичных чисел

Рис. 4.22. Структурная схема операционного аппарата для умножения двоичных чисел

у2 – в счетчик СТ вводится число п = 4 (1002). По сигналу у2 результаты суммирования содержимых RG3 и RG{ с выхода сумматора поступают в RG3. Для сдвига содержимого составного регистра RG3, RG2 используется управляющий сигнал г/4, а для уменьшения показаний счетчика СТ на единицу – сигнал у5. Предполагается, что операнды Аи В уже загружены в регистры. Управляющие сигналы у{ – у5 отождествляются с микрооперациями. Совокупность микроопераций, выполняемых на одном временно́м интервале (такте), называют микрокомандой. Сформируем набор микрокоманд, выполняемых процессорным устройством:

  • • так как микрооперации yv у2 (загрузки регистра RG3 и счетчика СТ) могут быть выполнены одновременно (на одном тактовом интервале), то объединим их в общую микрокоманду и обозначим У,: = {г/,, у2};
  • • выделим в отдельную микрокоманду микрооперацию сложения содержимого регистров RG3 + RGt с загрузкой суммы в RG3 и обозначим У2: = у3,
  • • объединим микрооперации г/4, у5 (сдвига вправо на один разряд содержимого регистровой пары RG3, RG2 и уменьшения на единицу содержимого счетчика СТ) в микрокоманду У3: = {yv у2).

В операционном автомате формируются следующие логические условия (признаки, флаги):

  • Хх – значение младшего разряда RG2 Хх = 1 свидетельствует о том, что младший разряд регистра RG2 равен единице и выполняются описанные выше микрооперация сложения, а затем сдвига. При Xi = 0 младший разряд регистра RG2 равен нулю и выполняется только микрооперация сдвига;
  • Х2 – результат проверки на нуль содержимого СТ, Х2 = 1 свидетельствует о том, что счетчик пуст (СТ = 000), и операция умножения завершается. При X2 = 0 начинается новый цикл операции умножения.

В табл. 4.8 приведен список микрокоманд Yi (и микроопераций у), выполняемых операционным автоматом, и формируемых логических условий.

Таблица 4.8

Y, X

Назначение

Описание

Y1

y1

Загрузка регистра RG1 множимым А

Y1

y2

Загрузка регистра RG2 множимым В

Y1

y3

Загрузка регистра RG3 нулями, или сброс

y4

Загрузка счетчика числом 4 (OlOO2)

Y2

y5

Сложение содержимого RG3 и RGi с сохранением суммы в RG3

Y3

y6

Сдвиг содержимого регистровой пары RGyRG2 на один разряд вправо

y7

Уменьшение содержимого счетчика на единицу

X1

Значение младшего разряда регистра RG2

X1

Содержимое счетчика

 
< Пред   СОДЕРЖАНИЕ     След >