Книги / Книга Проектирование ВПОВС (часть 2)
.pdf3.4. Параллельная обработка массива групп
Как показано в предыдущем параграфе, последовательные алгоритмы формирования произведения имеют достаточно серьёзный недостаток – длительный цикл выполнения операций. Это ставит задачу повышения скорости выполнения “длинных” операций. Основными методами повышения производительности, при всём их многообразии, являются два метода. Это параллелизм, т.е. увеличение одновременно работающих устройств, и
конвейерность, в основе которой лежит разбиение сложных и, как следствие,
длительных операций на множество простых, позволяющих совместить выполнение нескольких микроопераций во времени и тем самым формировать и выдавать результат со скоростью выполнения простой операции.
Рассмотрим возможность ускорения операции умножения на основе конвейеризации выполнения операций.
3.4.1. Параллельный перенос в системах с произвольной разрядностью
В рассмотренном в предыдущем параграфе операционном устройстве умножения значительное время тратится на операцию суммирования,
обусловлено последовательным пробегом переноса через цепочку сумматоров.
Для снижения времени суммирования прибегают к построению схем ускорения пробега переноса в сумматоре, иными словами строят схемы параллельного переноса. С этой целью, как уже было сказано выше, отдельные разряды слагаемых объединяются в произвольные группы. В случае кода
«опережающий перенос» все группы одинаковы. В общем случае группа может содержать четыре или восемь бит плюс дополнительный бит. Большее число бит усложняет аппаратную реализацию. Рассмотрим построение сумматора для
4-и 8-битовой групп. На рис. 3.7 показан 8-битовый сумматор. В случае 4-
разрядного сумматора остаются только нижние сумматоры с дополнительным разрядом.
141
|
a |
a |
|
a |
7 |
|
a |
8 |
|
|
5 |
|
|
|
|
|
|||
|
|
6 |
|
|
|
|
|
|
|
|
c5 |
c 6 |
|
|
c 7 |
|
|
|
c 8 |
e 4 |
e |
|
e |
|
e |
|
+1/0 |
||
5 |
6 |
7 |
|||||||
|
|
|
|
8 |
|||||
|
S |
S |
|
|
S |
|
|
S |
|
|
|
|
7 |
|
|
|
8 |
||
|
5 |
6 |
|
|
|
|
|
|
|
|
|
|
|
S5-8 |
|
|
|
|
|
-1/0 |
|
a |
|
2 |
|
a |
3 |
|
a |
4 |
|
|
1 |
|
|
|
|
|
|
||||
|
|
|
a |
|
|
|
|
|
|||
|
|
c1 |
|
c 2 |
|
|
c 3 |
|
|
c 4 |
|
|
е |
|
е |
|
е |
|
е |
|
e |
4 |
|
Sign |
0 |
1 |
2 |
3 |
4 |
||||||
|
|
|
|
|
|||||||
Sign |
|
S |
|
S |
|
|
S |
|
|
S |
|
|
|
1 |
|
2 |
|
|
3 |
|
|
4 |
|
|
|
|
|
|
S1-4 |
|
|
|
|
|
|
Рис. 3.7
Сумматор групп, работающий непосредственно с множительным устройством, содержит не два слоя комбинационных двоичных сумматоров, а
один. Это связано с тем, что при суммировании только у одного операнда дополнительный разряд может содержать минус единицу во вспомогательном разряде, что позволяет строить групповые сумматоры без коррекции дополнительных разрядов.
При размерности группы в 8 бит построить полностью параллельную систему переноса затруднительно, так как с ростом бит существенно возрастает число входов элементов И – ИЛИ. Поэтому разобьем 8-битовый сумматор на два сумматора по 4 бита каждый.
Первая группа сумматоров производит сложение исходных операндов,
начиная с младших разрядов. Вторая группа сумматоров определяет сумму соответственно старших разрядов (рис. 3.7).
142
Суммирование начинается с младших разрядов. Для них можно записать
следующую систему уравнений:
– Сумматор младших разрядов
R |
a |
5 |
c |
|
; R |
|
a |
6 |
c |
; R |
7 |
a |
7 |
c |
; R |
a |
8 |
c |
; |
|||||||||||||||||
|
5 |
|
|
|
5 |
|
6 |
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
7 |
|
8 |
|
8 |
|
|||||||
P a |
|
c |
; P a |
|
|
c |
|
; P |
a |
c |
; P a |
|
c |
|
; |
|
|
|
||||||||||||||||||
|
6 |
6 |
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
5 |
|
5 |
|
5 |
|
6 |
|
|
|
|
7 |
|
7 |
|
|
7 |
|
8 |
|
|
|
8 |
8 |
|
|
|
|
||||||||
P |
|
P P R |
P R R P R R R |
; |
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
5 8 |
|
|
|
5 |
|
|
6 |
6 |
|
|
|
|
7 |
6 |
5 |
|
|
|
8 |
|
7 |
6 |
|
|
5 |
|
|
|
|
|
|
|
|||
R |
|
R R |
R R |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
5 8 |
|
|
|
5 |
6 |
|
7 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e |
7 |
P |
|
|
e R , |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
8 |
|
|
8 |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
e |
|
P P R e |
R R |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
7 |
|
|
6 |
|
5 |
|
|
|
4 |
|
|
3 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
e |
|
P P R P R R e |
|
R R R |
|
, |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
5 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
6 |
|
|
7 |
|
6 |
|
|
|
8 |
|
7 |
6 |
|
8 |
|
8 |
7 |
6 |
|
|
|
|
|
|
|
|
|
|||||||
e |
4 |
P |
|
|
|
e R |
5 8 |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
5 8 |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
(3.2)
S8 = |
e |
R |
; S7= |
e |
R |
;S6= |
e |
R |
; S5= |
e |
R |
8 |
8 |
7 |
7 |
6 |
6 |
5 |
5 |
Аналогично для сумматора старших разрядов.
– Сумматор старших разрядов
R1 a1 c1 ; R2 a2 c2 ; R3 |
a3 c3 ; R4 |
a4 |
c4 |
; |
P1 a1c1 ; P2 a2 c2 ; P3 a3c3 |
; P4 a4 c4 ; |
|
|
|
|
|
|
||
P1 4 P1 P2 R1 P3 R2 R1 P4 R3 R2 R1 ; |
|
|
|
|
|
|
|
||
R1 4 R1 R2 R3 R4 ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
(3.3) |
e3 P4 e4 R4 , |
|
|
|
|
e2 P3 P4 R3 e4 R3 R4 , |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e1 P2 P3 R2 P4 R3 R2 e4 R4 R3 R2 , |
|
|
|
|
e0 P1 4 e4 R1 4 , |
|
|
|
|
|
|
|
|
|
S4= |
e |
4 |
R |
4 |
; S3= |
e |
R |
; S2= |
e |
R |
e |
R |
|
|
3 |
3 |
2 |
2 |
; S1= 1 |
1 |
Сумматор в устройстве умножения строится без коррекции. Как уже говорилось, это достигается предварительным анализом дополнительных разрядов групп. Если дополнительный разряд равен нулю, то формируется перенос в следующую группу, а в дополнительный разряд заносится минус единица, в случае если в дополнительном разряде минус единица, то перенос не формируется. Считая, что время срабатывания элементов И, ИЛИ, НЕ
143
одинаково и равно , получим, что сумматор формирует результат за 3 при сложении 4-битовых групп и 6 при сложении 8-битовых групп.
Для сравнения рассмотрим также параллельный сумматор на 8 бит.
R |
a |
5 |
c |
|
; R |
|
|
|
a |
6 |
|
|
c |
|
; R |
|
a |
7 |
c |
7 |
; R |
||||||||||||||||||||||||||||||||||
|
5 |
|
|
|
|
|
|
|
|
5 |
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
8 |
|||||||||
R a |
|
|
c |
|
; R |
2 |
|
a |
2 |
c |
; R |
|
a |
3 |
c |
|
; R |
4 |
|||||||||||||||||||||||||||||||||||||
|
1 |
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
|
|
|
|
3 |
|
|
|
|||||||||
P a |
|
c |
5 |
; P a |
6 |
c |
6 |
; P a |
7 |
c |
7 |
; P a |
c |
; |
|
|
|||||||||||||||||||||||||||||||||||||||
|
5 |
|
|
5 |
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
8 |
|
|
|
|
8 |
|
8 |
|
|
|||||||||||||||
P a c |
|
; P a |
2 |
c |
|
; P a |
|
c |
; P a |
4 |
c |
4 |
; |
|
|
||||||||||||||||||||||||||||||||||||||||
|
1 |
|
|
1 |
|
1 |
|
|
2 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
3 |
|
|
|
|
3 |
|
3 |
|
|
4 |
|
|
|
|
|
|
|
|
|
|
||||||||||||
P |
|
P P R P R |
R P R R |
|
R |
; |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
1 4 |
|
|
|
|
1 |
|
|
|
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
3 |
|
|
|
2 |
|
|
1 |
|
|
|
|
4 |
|
3 |
|
2 |
|
|
1 |
|
|
|
|
|
|
|
||||||
P |
|
P P R P R R P R R R |
; |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
5 8 |
|
|
|
|
5 |
|
|
|
|
|
6 |
|
|
6 |
|
|
|
|
|
|
|
|
7 |
|
|
6 |
5 |
|
|
|
|
|
8 |
|
7 |
|
|
6 |
|
|
5 |
|
|
|
|
|
|
|||||||
P |
|
P P R P R |
2 |
R P R R |
|
R |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
1 8 |
|
|
|
|
1 |
|
|
|
|
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
|
|
4 |
|
3 |
|
2 |
|
|
1 |
|
|
|
|
|
|
|
||||||
P R R R R P R R |
|
R R |
|
R P R R R |
R |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
5 |
4 |
3 |
|
|
|
2 |
1 |
|
|
|
|
6 |
|
|
|
5 |
|
|
4 |
|
|
3 |
2 |
|
|
1 |
|
|
|
7 |
|
|
6 |
|
5 |
|
4 |
|
3 |
|||||||||||||||
P R R R R |
4 |
R R |
R |
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
|
8 |
|
7 |
|
|
|
6 |
|
5 |
|
|
|
|
3 |
|
|
|
2 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
R |
|
|
R R |
R R |
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
1 4 |
|
|
|
|
1 |
|
2 |
|
|
|
3 |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
R |
|
|
R R R R |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
5 8 |
|
|
|
|
|
5 |
6 |
|
|
|
7 |
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
R |
|
|
R R |
R R |
|
R R R R |
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
1 8 |
|
|
|
|
1 |
|
2 |
|
|
3 |
|
4 |
|
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
e |
7 |
P |
|
|
e R |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
8 |
|
|
|
|
|
8 |
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
e |
|
P P R |
|
e |
R R |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
|
6 |
|
|
7 |
|
|
|
|
|
6 |
|
|
|
5 |
|
|
|
|
|
|
|
4 |
|
|
|
3 |
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
e |
5 |
P P R |
6 |
|
P R R e R R R |
|
, |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
6 |
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
8 |
|
|
7 |
|
|
|
6 |
|
|
|
|
8 |
|
8 |
|
7 |
|
|
6 |
|
|
|
|
|
|
|
|||||||||
e |
|
P |
|
|
|
|
|
e R |
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
5 8 |
|
|
|
|
|
8 |
|
|
5 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
e |
|
P e |
R |
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
4 |
|
|
|
|
|
4 |
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
e |
2 |
P P R e |
4 |
R R |
4 |
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
3 |
|
|
|
|
|
4 |
|
|
3 |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
e |
|
P P R |
|
|
P R R |
|
e |
R |
R R |
|
, |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
2 |
2 |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
1 |
|
|
2 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
3 |
|
|
|
|
|
|
|
|
4 |
|
|
4 |
|
3 |
|
|
2 |
|
|
|
|
|
|
||||||||
e |
|
P |
|
|
|
|
e |
|
R |
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
0 |
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
1 4 |
|
|
|
|
|
|
|
|
1 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
a8 c8 ;
a4 c4 ;
R R |
|
2 |
1 |
Как нетрудно увидеть, в логических выражениях задержка, определяемая
каждым членом выражения, не превышает 3 |
|
. |
|
|
|
|
|
|
|
|
|
|
|
||
Учитывая, что все переменные, являются суперпозицией исходных |
|||||||
переменных, задержка в 8-разрядном сумматоре увеличивается до 6 . |
|
|
|||||
При замене в выражениях для P1 4 , 5 8 |
, 1 8 , R1 4 , |
5 8 |
, 1 8 |
, промежуточных |
|||
P |
|
P |
R |
R |
|
|
|
переменных на исходные, время выполнения операции снижается и равно 3 |
. |
||||||
Однако в максимальном случае, например, при формировании переменной P |
|
, |
|||||
|
|
|
|
|
1 8 |
|
|
понадобится элемент с 16-входовыми |
элементами |
(И) |
и 7-входовыми |
||||
144 |
|
|
|
|
|
|
|
элементами (ИЛИ), что существенно усложняет реализацию на ПЛИС. Поэтому для построения сумматоров в устройстве умножения следует использовать четырёхразрядные сумматоры с параллельным переносом, а сумматоры большей разрядности формировать на основе их последовательного соединения. Хотя задержка несколько увеличивается, но оборудование и число входов на элементах “ИЛИ” в целом сокращается, что делает метод более пригодным и для реализации на ПЛИС.
3.4.2. Конвейерный сумматор в последовательной системе с
произвольной разрядностью
Заменяя сумматоры в схеме последовательного умножения на сумматоры с параллельным переносом, определим время умножения. Последовательность выполнения операции не изменяется. Полученные частичные произведения складываются и формируются частичные произведения. Далее полученное произведение заносится в регистры Рг11 Рг1(n+1), в нашем примере Рг1 Рг8.
Затем процесс повторяется со следующей группой множителя и так далее.
Нетрудно заметить, что наличие регистров в схемах умножения позволяет совместить умножение с формированием предыдущего текущего произведения.
После трёх умножений первая группа в дальнейшем не изменяется, и она
переносится в память. |
|
|
|
|
|
|
|
|
|
|
|
||||
Общее |
время |
|
получения |
|
полного |
произведения определяется как |
|||||||||
умножение группы на группу 4 |
|
, время суммирования групп при получении |
|||||||||||||
|
|||||||||||||||
частичных произведений равно 3 |
|
для 4-битовых групп и 6 |
|
для 8-битовых |
|||||||||||
|
|
||||||||||||||
групп. Таким |
|
образом, |
для |
|
|
формирования |
частичного |
произведения |
|||||||
необходимо |
4 |
r |
, 6 |
r |
( |
r 1 |
) суммирований и |
для формирования полного |
|||||||
|
|
|
|||||||||||||
произведения 6( |
r 1 |
) суммирований. Таким образом, общее время вычисляется |
|||||||||||||
|
|||||||||||||||
по формуле |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T = (10(r 1)2 |
6r 6) . |
|
|
|||||
145
Здесь |
(4+6=10) |
|
– время умножения |
плюс суммирование частных |
|
|
|||||
произведений, 6 |
|
– |
время накапливающего суммирования частичных |
||
|
|||||
произведений. Время сократилось практически на р/2. |
|||||
Для |
дальнейшего |
снижения времени |
формирования произведения |
||
используем конвейер для получения полного произведения. Остановимся на 4-
битовом сумматоре. Здесь можно выделить четыре уровня конвейеризации.
Для ускорения можно использовать конвейерную систему при реализации суммирования групп (рис. 3.8). Для этого рассмотрим сумматор
групп с ускоренным переносом для 4-разрядного сумматора.
I уровень. Формирование разрядных переносов и сумм по модулю 2:
R |
a |
c |
; R |
2 |
a |
2 |
c |
; R |
|
a |
3 |
c |
; R |
4 |
a |
4 |
c |
; |
||||||
1 |
1 |
|
1 |
|
|
|
|
2 |
|
3 |
|
|
3 |
|
|
|
4 |
|
||||||
P a c |
; P a |
c |
; P a |
c |
3 |
; P a |
c |
4 |
; |
|
|
|
|
|
||||||||||
1 |
1 |
1 |
2 |
|
2 |
2 |
|
|
3 |
3 |
|
4 |
|
4 |
|
|
|
|
|
|
|
|||
II уровень. Формирование полных переносов из разрядов:
e |
P |
e R |
, |
|
|
|
|
|
|
|
|
|
|
|
|
3 |
4 |
4 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
e |
P P R e R R |
, |
|
|
|
|
|
|
|
|
|||||
2 |
3 |
4 |
3 |
4 |
3 |
4 |
|
|
|
|
|
|
|
|
|
e |
P P R P R R |
e R R R |
, |
|
|
|
|
||||||||
1 |
2 |
3 |
2 |
4 |
3 |
2 |
4 |
4 |
3 |
2 |
|
|
|
|
|
e |
P |
P R P R R P R R R e R R R R |
|||||||||||||
0 |
1 |
2 |
1 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
1 |
2 |
3 |
4 |
III уровень. Формирование разрядных сумм и корректирующих разрядов:
S4 = |
e |
|
R |
; S3= |
e |
R |
;S2= |
e |
R |
; S1= |
e |
R |
|||
4 |
3 |
||||||||||||||
|
|
4 |
|
3 |
2 |
2 |
1 |
1 |
|||||||
d |
3 |
= X |
0 X1 |
|
X 0e0 |
|
X e |
; |
|
|
|
|
|
||
|
|
|
1 0 |
|
|
|
|
|
|||||||
d |
4 |
|
=
X |
0 |
|
X e |
|
1 |
0 |
X |
X e |
|
0 |
1 |
0 |
X |
0 |
X e |
|
|
1 |
0 |
|
.
X |
X e |
|
0 |
1 |
0 |
IV
y |
4 |
|
y |
3 |
|
y2
уровень. Формирование окончательной суммы групп (корректор):
d x |
4 |
d x |
4 |
, |
P d |
x |
4 |
; |
|
4 |
4 |
3 |
4 |
|
|||||
d P x |
d P x |
d P x |
d |
P x |
3 |
, |
P d x d P P x |
; |
3 3 3 |
3 3 3 |
3 3 3 |
3 |
3 |
2 3 3 3 3 3 3 |
P2 x2 x2 P2 , P1 x2 P2 ;
y x |
|
x P |
|
P x P |
|
||||
P |
, |
; |
|||||||
1 |
1 |
1 |
1 |
1 |
|
0 |
1 |
1 |
|
146
y |
0 |
|
P0
.
a |
1 |
a |
2 |
|
a |
3 |
|
a |
4 |
|
|
|
|
|
|
|
|
|
|
||||
|
c |
|
c |
2 |
|
c |
3 |
|
c |
4 |
|
|
1 |
|
|
|
|
|
|
|
|||
Схемы формирования R и P |
|
||||||||||
|
|
|
|
|
P, R |
|
|
|
|
|
|
Схемы формирования переносов |
3 |
||||||||||
|
|||||||||||
|
|
|
|
|
е |
|
|
|
|
|
|
Схемы формирования промежуточной суммы |
3 |
||||||||||
|
и коррекции кодов |
|
|
|
|||||||
|
|
|
|
|
S |
|
|
|
|
|
|
Схемы формирования окончательной суммы |
3 |
||||||||||
|
|
|
|
|
Y |
|
|
|
|
|
|
Рис 3.8
Первый уровень – множительные устройства, второй уровень – сум-
маторы частных произведений, третий уровень – сумматоры, формирующие частичное произведение, и четвёртый уровень – сумматоры корректоры в схеме формирования текущего произведения. Время работы каждого уровня, включая умножение, одинаково и равно 6 . Время формирования произведения равно Т=6 (r 1)r +54 , где (30+24) –время заполнения и освобождения конвейера.
Если разбить сумматор на две части по 4 разряда и 8 уровней конвейера, то
время умножения будет равно Т = 4 |
(r 1)r |
+ 68 |
|
, где (36 + 32) |
|
– время |
|
|
|
заполнения и освобождения конвейера. Здесь все ступени конвейера выровнены по времени срабатывания схемы умножения. При двух схемах умножения время умножения будет равно Т=3 (r 1)r +52 . По отношению к первой схеме умножения вторая схема даёт выигрыш по времени в 1,3 раза, в
втором - 1,8 раз.
147
3.4.3. Векторная схема множительного устройства
В данном параграфе рассматривается вопрос снижения длительности операции путём увеличения числа операционных элементов. Другими словами,
вместо использования одной схемы (элемента) умножения группы на группу используем линейку, состоящую из n таких элементов. Учитывая независимость групп, эти устройства одновременно формируют все частные произведения. Такие устройства относятся к векторным устройствам умножения. Устройство содержит n множителей и выполняет операцию умножения группы множителя на n групп множимого. Схема такого множителя приведена на рис. 3.9. Она содержит векторный умножитель, сумматор для формирования частичных произведений и накапливающий сумматор – корректор для получения полного произведения, а также управляемый регистр сдвига.
|
|
|
|
|
Da 1 |
|
Da 2 |
|
Da 3 |
|
Da n |
|
|
|
|
|
|
Db 1 |
Сх 1 Умн. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рег10,Рег11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
Db 2 |
|
|
Сх 2 Умн. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Рег20,Рег21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Db |
|
|
|
|
Сх 3 Умн. |
|
Сх m Умн. |
|
|
|
|
|
|
|
|
|
|
Рег30,Рег31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рег m0,Рег m1 |
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
... |
Рг m |
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
Db n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
|
3 |
|
n |
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
n |
|
n 1 |
|
|
|
|
|
|
|
|
||||||
Рг 0 |
Рг 1 |
|
Рг 2 |
|
Рг 3 |
|
Рг 4 |
|
Рг 5 |
|
Рг n |
|
Рг n+1 |
OП |
Ком |
1 |
Ком |
1 |
Ком |
1 |
Ком |
1 |
Ком |
1 |
Ком |
1 |
Ком |
|
|
|
|
|
|
Рис. 3.9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
|
|
|
|
|
Размерность (число групп) множимого определяет размерность сумматора групп, используемого при формировании произведения при перемножении полей. Для суммирования всех частных произведений и получения частичного произведения используется сумматор групп (первый ряд сумматоров). Для получения полного произведения используется дополнительный накапливающий сумматор частичных произведений. Обход полной матрицы частичных произведений осуществляется по следующему правилу. Начинают умножения со старших групп множителя (рис. 3.9).
При векторном умножении регистр множимого рассчитан на n-групп, а
регистр множителя – на одну. Соответственно имеется n множителей группы на группу и сумматор для формирования и накопления частичного произведения.
Умножение начинается со старшей группы, одновременно формируются частные произведения n-групп. Для формирования частичных произведений используется верхний сумматора, а для получения полного произведения – нижний сумматор. В него включены и дополнительные сумматоры, которые необходимы для суммирования переносов, возникающих в младших разрядах,
как об этом говорилось ранее.
В соответствии с диаграммой (рис. 3.10) при суммировании в отдельных случаях необходимо согласовывать веса суммируемых групп. Для реализации этой функции введён коммутатор, обеспечивающий изменение направления передачи данных.
Время умножения вычисляется по формуле
T = |
(6 р((r 1)r |
|
где r – длина поля в группах;
n – длина вектора умножителей;
6р |
|
– время суммирования групп; |
|
||
р – разрядность группы. |
||
|
Как видим, время практически |
|
использовании параллельного переноса
/ n) 1) 4) ,
уменьшается пропорционально n. При время уменьшается в р /2 раз.
149
T = |
(12(((r 1)r |
/ n) 1) 4) |
. |
|
|
В изменённом сумматоре существуют четыре уровня, последовательно
зависящих друг от друга, внутри которых действия выполняются независимо.
Время задержки на одном уровне равно |
3 |
, а время умножения группы на |
|
группу равно |
4 |
, поэтому для балансировки конвейера увеличим задержку на |
||
|
|
|||
сумматорах до |
4 |
. Тогда время получения частичного произведения равно T = |
||
|
|
|||
(4 15) 19 |
, где |
15 |
|
– время заполнения конвейера. Окончательное |
||
|
|
|
|
|||
произведение формируется за время, равное |
||||||
T = |
(4r(r 1) |
15) |
. |
|
||
|
|
|
|
|
||
При использовании |
восьмиразрядного сумматора группы, которые |
|||||
строятся как два четырёхразрядных сумматора, соединённых последовательно каждая. Время суммирования увеличивается не более чем в два раза.
Для дальнейшего снижения необходимо увеличивать число
множителей. В предельном случае до размерности групп, т.е. число умножителей равно числу групп. Тогда время умножения определяется как
T = |
6(r 1) 15 |
, где r – полное число групп множимого. |
|
Как видим, время снижается существенно. Однако при переменной разрядности поля этот путь мало эффективен, так как требует постоянного изменения числа умножителей. Наиболее рационально использовать вместо строки матрицу умножителей, что позволяет формировать не только набор частичных произведений, но одновременно и некоторое число групп окончательного произведения.
150
