Non-atomic Microinstruction Scheduling for Floating-Point Rounding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microprocessor designs face challenges in efficiently executing the ROUND instruction for floating-point operations due to high latency and unnecessary circuit component utilization, particularly when converting between floating-point and integer values, which is exacerbated by the need for special-purpose hardware or sequential circuit connections.

Innovation Solution

A microprocessor architecture that translates the ROUND instruction into two microinstructions (XROUND1 and XROUND2) allowing for out-of-order dispatch and execution, minimizing latency by separating operations into minimal circuit groups and avoiding additional architectural state, thus enabling efficient execution without special-purpose hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential circuit connections are used to perform floating-point to integer conversion and integer to floating-point conversion, then the required conversion capabilities are provided, but the latency is high and circuit utilization is poor

Engineering Contradiction:
Improveconversion capabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the ROUND instruction execution into two separate microinstructions: XROUND1 performs the floating-point to integer conversion, and XROUND2 performs the integer to floating-point conversion. This segmentation allows the conversions to be executed in separate circuit groups rather than sequential connections, reducing latency and improving circuit utilization.

Inventive Principle:
Principle #1Segmentation

2Reliability

If special-purpose hardware is provided for floating-point to integer conversion and integer to floating-point conversion, then the conversion capabilities are available, but valuable die space is consumed

Engineering Contradiction:
Improveconversion capabilityVSAvoiddie space
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent designs the conversion circuits to be multi-functional, allowing the same circuit groups to handle both floating-point to integer conversion and integer to floating-point conversion operations. This eliminates the need for separate special-purpose hardware for each conversion type, reducing die space consumption while maintaining full conversion capabilities.

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

3Area of stationary object

If maximally utilized circuit elements are used rather than special-purpose hardware, then die space is saved, but any calculation not requiring some portion of the sequential connection is penalized with intrinsic delay

Engineering Contradiction:
Improvedie spaceVSAvoidcircuit delay
Core Design Contradiction:
Area of stationary objectVSLoss of time

Solution Approach 1:

The patent implements dynamic scheduling that allows microinstructions to be dispatched and executed out of order based on circuit availability. The XROUND1 and XROUND2 microinstructions can be executed in separate circuit groups at different times, with the scheduler optimizing the execution sequence to minimize delays while maximizing circuit utilization.

Inventive Principle:
Principle #15Dynamics

4Loss of time

If floating-point to integer conversion and integer to floating-point conversion are scheduled temporally sequentially using separate circuit groups, then total latency per calculation is reduced, but additional architectural state and special-case logic are required

Engineering Contradiction:
ImprovelatencyVSAvoidarchitectural state
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent uses the existing intermediate result from the floating-point to integer conversion as the input for the integer to floating-point conversion without requiring additional architectural state to store intermediate values. The circuit groups share the intermediate data through standard data paths, avoiding the need for special-purpose storage elements or additional state management logic.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8386755B2Non-atomic scheduling of micro-operations to perform round instruction
Publication Date: 2013.02.26 VIA TECH INC
  • US8386755B2 patent drawing
  • US8386755B2 patent drawing
  • US8386755B2 patent drawing

AI summary

A microprocessor executes an instruction specifying a floating-point input operand having a predetermined size and that instructs the microprocessor to round the floating-point input operand to an integer value using a rounding mode and to return a floating-point result having the same predetermined size. An instruction translator translates the instruction into first and second microinstructions. An execution unit executes the first and second microinstructions. The first microinstruction receives as an input operand the instruction floating-point input operand and generates an intermediate result from the input operand. The second microinstruction receives as an input operand the intermediate result of the first microinstruction and generates the floating-point result of the instruction from the intermediate result. The intermediate result is the same predetermined size as the instruction floating-point input operand. The microprocessor executes the first and second microinstructions such that the commencement of their executions may have indeterminate separation in time.