Browse Prior Art Database

# Double Precision Multiply Operation

IP.com Disclosure Number: IPCOM000043587D
Original Publication Date: 1984-Sep-01
Included in the Prior Art Database: 2005-Feb-05
Document File: 3 page(s) / 57K

IBM

## Related People

Beraud, JP: AUTHOR

## Abstract

This article describes how to perform a double precision multiplication using a single precision multiplier and a double precision arithmetic logic unit (ALU). A simple extra logic performs an efficient multiplexing of a double precision ALU. With a 4 x 4 multiplier which works in twos complement and in sign/magnitude, it is possible to perform an 8 x 8 multiplication using the following rules: A is a twos complement word of 8 bits. A = - 27a7 + 26a6 + 25a5 + 24a4 + 23a3 + 22a2 + 21a1 + 20a0 A = 24 (-23a7 + 22a6 + 21a5 + 20a4) + (23a3 + 22a2 + 21a1 + 20a0) A = 24 B + C If D is another word, D = 24E + F. Thus the product A x D is equal to: 28 (B.E) + 24 (B.F) + 24 (C.E) + (C.F) The 8 x 8 bit multiplication is decomposed into four multiplications plus three additions made after appropriate shifting.

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 54% of the total text.

Page 1 of 3

Double Precision Multiply Operation

This article describes how to perform a double precision multiplication using a single precision multiplier and a double precision arithmetic logic unit (ALU). A simple extra logic performs an efficient multiplexing of a double precision ALU. With a 4 x 4 multiplier which works in twos complement and in sign/magnitude, it is possible to perform an 8 x 8 multiplication using the following rules: A is a twos complement word of 8 bits. A = - 27a7 + 26a6 + 25a5 + 24a4 + 23a3 + 22a2 + 21a1 + 20a0 A = 24 (-23a7 + 22a6 + 21a5 + 20a4) + (23a3 + 22a2 + 21a1 + 20a0) A = 24 B + C If D is another word,

D = 24E + F. Thus the product A x D is equal to:

28 (B.E) + 24 (B.F) + 24 (C.E) + (C.F) The 8 x 8 bit multiplication is decomposed into four multiplications plus three additions made after appropriate shifting. The four multiplications are different. The product B.E is performed with two operands coded in twos complement, the product is signed, and its maximum value is 7 x 7 = 49 coded in 8 bits. The products B.F and C.E are performed with one operand coded in twos complement and the other coded in sign/magnitude, so the products are signed. The maximum value is 7 x 15 = 105 coded in 8 bits. The C.F is performed with two operands coded in sign/magnitude, the product is signed, and its maximum value is 15 x 15 = 225 coded in 8 bits. As shown in Fig. 1, adders of 8-bits are used to perform this double precision multiplication. First step: C.F is added with C.E which is shifted 4 positions, as shown in Fig. 2. No overflow occurs since: 105/0 x 16/0 = 1680

C....