Constant Division Circuitry Using Carry-Save Modulo Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for performing division by a constant in graphics processors are inefficient, particularly due to the growth of lookup tables with increasing divisors, redundancy in multiplication arrays, and failure to return a quotient when the remainder is non-zero.

Innovation Solution

The implementation of circuitry that performs constant division and modulo operations using carry-save modulo reduction, optimizing the processing of division and modulo operations within graphics processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If lookup tables are used for constant division, then division operation can be performed, but the lookup tables grow exceptionally as the divisor increases

Engineering Contradiction:
Improvedivision operation capabilityVSAvoidlookup table size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the division operation into multiple smaller steps using a tree structure of lookup tables. Instead of using a single large lookup table, the division is broken down into a series of smaller lookup tables organized in a binary tree structure, where each node performs a partial division and the results are combined to achieve the final quotient.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a one-dimensional linear lookup table to a two-dimensional tree structure. The lookup tables are organized hierarchically in levels, with each level performing a portion of the division operation. This dimensional change allows the system to handle larger divisors without proportionally increasing the total storage requirements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If multiplying by the reciprocal is used for division, then division can be performed, but multiplication arrays have repeated entries producing redundant gates

Engineering Contradiction:
Improvedivision operation capabilityVSAvoidmultiplication array redundancy
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts only the necessary multiplication operations from a full multiplication array. Instead of implementing a complete multiplication table with all possible combinations (including repeated entries), the method identifies and implements only the unique multiplication operations required for the specific constant divisor, eliminating redundant gates.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the approach from general multiplication to optimized multiplication by the reciprocal. Instead of using a full multiplication array, the system calculates the reciprocal of the divisor and performs multiplication operations that are tailored to the specific constant, reducing the number of required gates while maintaining accuracy.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If shift adds are used for specific divisor values, then division can be performed, but the quotient is not returned when the remainder is non-zero

Engineering Contradiction:
Improvedivision operation for specific valuesVSAvoidquotient calculation accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent creates a universal division method that works for all divisor values, not just specific ones. The tree structure of lookup tables and the multiplication by reciprocal approach can handle any constant divisor, unlike shift-add methods that are limited to specific values. This universal approach ensures the quotient is correctly returned regardless of the remainder.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent incorporates feedback mechanisms to verify and correct the division results. The system checks whether the calculated quotient and remainder are correct by multiplying the quotient by the divisor and adding the remainder, then comparing this result to the original dividend. If there is an error, the system adjusts the quotient accordingly, ensuring accurate results for all cases including when the remainder is non-zero.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240134603A1Constant division and modulo via carrysave modulo reduction
Publication Date: 2024.04.25 INTEL CORP
  • US20240134603A1 patent drawing
  • US20240134603A1 patent drawing
  • US20240134603A1 patent drawing

AI summary

The techniques described in the detailed description above enable the manufacturing of circuits with increased performance and efficiency when performing division by a constant number. One embodiment provides circuitry including an input circuit to receive an input value including a plurality of bits, a logarithmic tree coupled with the input circuit, the logarithmic tree configured to compute an array of values based on a plurality of multi-bit groups of the plurality of bits of the input value, each value in the array of values includes a modulus of a corresponding multi-bit group with respect to the constant, a binary array adder to compute a quotient of the division operation based on the array of values, the input value, and the constant, and an output circuit to output the quotient.