Division Unit With Normalization Circuit And Multiple Divide Engines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High latencies in executing divide and square root instructions in processors due to their complexity, which negatively impact processor performance despite their low occurrence in most applications.

Innovation Solution

An integrated circuit with a division unit that includes multiple divide engines and a normalization circuit to normalize operands, along with a scheduler unit that manages instruction issuance to prevent collisions and optimize execution, allowing for parallel execution of multiple divide instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single divide engine is used to execute divide instructions, then the device complexity is reduced, but the execution latency increases significantly

Engineering Contradiction:
Improvedivision unit structureVSAvoidexecution latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The division unit is segmented into multiple divide engines (first divide engine, second divide engine, etc.) that can execute divide instructions in parallel. Each divide engine is a functional subset capable of independent operation, allowing simultaneous processing of multiple instructions and thereby reducing overall execution latency without requiring a completely complex redesign of the division unit

Inventive Principle:
Principle #1Segmentation

2Loss of time

If multiple divide engines are used to execute divide instructions in parallel, then the execution latency is reduced, but the device complexity increases

Engineering Contradiction:
Improveexecution latencyVSAvoiddivision unit structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Multiple divide engines are merged into a single division unit that shares common resources including the normalization circuit, post-engine, and arbitration unit. This merging approach allows parallel execution capability while avoiding the full complexity of completely independent divide engines, as shared resources reduce the total component count and interconnections required

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The normalization circuit and post-engine are designed as universal resources that can serve multiple divide engines. The normalization circuit normalizes operands for any divide engine, and the post-engine processes results from any engine, creating a multi-functional architecture that reduces overall device complexity while maintaining parallel execution capability

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

3Measurement precision

If a normalization circuit is added to normalize operands before division, then the execution accuracy is improved, but the device complexity increases

Engineering Contradiction:
Improvedivision accuracyVSAvoidnormalization circuit
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The normalization circuit performs preliminary normalization of dividend and divisor operands before they are passed to the divide engines. By preparing the operands in advance (shifting and exponent adjustment), the division operation itself can proceed more accurately and efficiently, improving execution precision while the normalization is handled as a preparatory step rather than an interruptive process

Inventive Principle:
Principle #10Preliminary action

4Productivity

If a scheduler unit with counter management is implemented to manage instruction issuance, then the productivity is improved, but the device complexity increases

Engineering Contradiction:
Improveinstruction throughputVSAvoidscheduler unit
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduler unit uses counters (first counter, second counter) that provide feedback about the current execution state and resource availability. The scheduler monitors counter values and adjusts instruction issuance accordingly, creating a feedback-controlled system that optimizes throughput by dynamically adapting to the current state of the division unit without requiring complex external control logic

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9086890B2Division unit with normalization circuit and plural divide engines for receiving instructions when divide engine availability is indicated
Publication Date: 2015.07.21 ORACLE INT CORP
  • US9086890B2 patent drawing
  • US9086890B2 patent drawing
  • US9086890B2 patent drawing

AI summary

Techniques are disclosed relating to integrated circuits that include hardware support for divide and/or square root operations. In one embodiment, an integrated circuit is disclosed that includes a division unit that, in turn, includes a normalization circuit and a plurality of divide engines. The normalization circuit is configured to normalize a set of operands. Each divide engine is configured to operate on a respective normalized set of operands received from the normalization circuit. In some embodiments, the integrated circuit includes a scheduler unit configured to select instructions for issuance to a plurality of execution units including the division unit. The scheduler unit is further configured to maintain a counter indicative of a number of instructions currently being operated on by the division unit, and to determine, based on the counter whether to schedule subsequent instructions for issuance to the division unit.