Browse Prior Art Database

# Double Double Operation Using Multiply-Addition Dataflow

IP.com Disclosure Number: IPCOM000039842D
Original Publication Date: 1987-Aug-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 2 page(s) / 65K

IBM

## Related People

Desrosiers, DP: AUTHOR [+2]

## Abstract

A technique is described whereby the Multiply-ADdition (M.A.D.) dataflow is used to perform double double operations, such as D = (A,B) + C, where A, B and C are 56-bit numbers. The double _ double operation is an addition to the M.A.D.dataflow concept discussed in the article on pages 982-987. First, the two Booth encoder inputs will be A and a true "1" number, i.e., 56 "1". All the Booth coefficients will be null except the last one, bits 55 and 56, which will be -1. Using a "classical" Booth encoder, a "0" is forced by setting the EXT signal, as shown in Fig. 1, to "1". The 20 term, called the 29th term, is 20 * A = A. Therefore, the 29 terms out by the Booth encoder will be: (Image Omitted) Secondly, using the dataflow as shown in Fig.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 2

Double Double Operation Using Multiply-Addition Dataflow

A technique is described whereby the Multiply-ADdition (M.A.D.) dataflow is used to perform double double operations, such as D = (A,B) + C, where A, B and C are 56-bit numbers. The double _ double operation is an addition to the M.A.D.dataflow concept discussed in the article on pages 982-987. First, the two Booth encoder inputs will be A and a true "1" number, i.e., 56 "1". All the Booth coefficients will be null except the last one, bits 55 and 56, which will be -1. Using a "classical" Booth encoder, a "0" is forced by setting the EXT signal, as shown in Fig. 1, to "1". The 20 term, called the 29th term, is 20 * A = A. Therefore, the 29 terms out by the Booth encoder will be:

(Image Omitted)

Secondly, using the dataflow as shown in Fig. 2, we multiplex (MUX) the number B as an input of the second level of 7/3 counter to obtain A,B at the output. Using a one way MUX identical to the one used to form the 29th term, the dataflow is now perfectly symmetrical so that we have the 29th term followed by B. Thirdly, to obtain a correct C alignment, we force EXPB to "0", thereby obtaining a SHift Amount = EXPA -EXPC.

1

Page 2 of 2

2