Browse Prior Art Database

Improved Fixed Divide Exception Detection Enhances Performance of Divide Instruction

IP.com Disclosure Number: IPCOM000110169D
Original Publication Date: 1992-Sep-01
Included in the Prior Art Database: 2005-Mar-25
Document File: 3 page(s) / 137K

IBM

Related People

Maass, KK: AUTHOR

Abstract

Disclosed is a method to detect fixed point divide exception during the execution of a fixed point divide instruction without increasing the number of recursive cycles of the operation.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Improved Fixed Divide Exception Detection Enhances Performance of Divide Instruction

Disclosed is a method to detect fixed point divide
exception during the execution of a fixed point divide instruction
without increasing the number of recursive cycles of the operation.

Part of the algorithm of the 2 quotient bits generation per
cycle is the fact that the divisor and the dividend are made positive
and are normalized.  The divisor is normalized to the form of
001XX...X; any shift done to the divisor is also done to the
dividend.

The divide exception occurs when the quotient exceeds the size
of the quotient register.  The exception can be detected before
generating any quotient bits, by subtracting the LZB_MINUS2S (leading
zero bits minus 2) of the divisor from the LZB_MINUS2S of the
dividend and inspecting the results.  An exception is recognized when
the result is zero and there was a carry or when the result is not
zero and there was no carry.  In other words, a dividend with
LZB_MINUS2S less or equal to the LZB_MINUS2S of the divisor will
cause an exception.

Examples of equal, less and greater cases follow:
LZB_2 of Dividend  =  9         001001
LZB_2 of Divisor   =  9         110111     2's compl. of 9
1   000000       EXCEPTION
carry
LZB_2 of Dividend  =  3         000011
LZB_2 of Divisor   =  9         110111     2's compl. of 9
0   111010       EXCEPTION
no carry
LZB_2 of Dividend  =  9         001001
LZB_2 of Divisor   =  2         111110
...