Floating-Point FMA Pipeline for Single-Instruction Data Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing conversion operations between integer and floating-point data in computer processors are inefficient, leading to reduced throughput and impaired ability to provide inputs to consuming circuitry, particularly in matrix multiply acceleration hardware.

Innovation Solution

Incorporation of up-conversion and down-conversion circuitry within a floating-point fused multiply-add pipeline to support single-instruction quantization and de-quantization operations, allowing for improved throughput in processing integer and floating-point data formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple instructions are used for conversion operations between integer and floating-point data, then conversion accuracy is maintained, but throughput is reduced and the ability to provide inputs to consuming circuitry is impaired

Engineering Contradiction:
ImprovethroughputVSAvoidnumber of conversion instructions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple separate conversion instructions into a single fused instruction that performs both integer-to-floating-point and floating-point-to-integer conversions. This merging of functions into one instruction stream increases throughput by reducing the number of instruction cycles required while maintaining conversion accuracy through integrated conversion logic.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The fused conversion instruction implements multi-functionality by handling both up-conversion (integer to floating-point) and down-conversion (floating-point to integer) operations within a single instruction framework. This universal approach allows the same instruction to serve multiple conversion purposes, improving productivity without requiring separate specialized instructions for each conversion type.

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

2Productivity

If traditional multiple-instruction conversion operations are used, then data format conversion is achieved, but the ability to provide inputs to matrix multiply acceleration hardware is affected

Engineering Contradiction:
Improveinput generation speed for matrix multiply hardwareVSAvoidconversion operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The fused conversion instruction performs data format conversions in advance, preparing inputs for matrix multiply acceleration hardware before they are needed. By consolidating conversion operations into a single instruction that executes beforehand, the system reduces conversion time and ensures that properly formatted data is ready for immediate processing by the acceleration hardware, improving overall productivity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12405786B1Hardware support for conversion between integer and floating-point data
Publication Date: 2025.09.02 APPLE INC
  • US12405786B1 patent drawing
  • US12405786B1 patent drawing
  • US12405786B1 patent drawing

AI summary

Techniques are disclosed relating to conversion operations in the context of integer and floating-point processor operations. In some embodiments, floating-point pipeline circuitry is configured to execute a single instruction to convert an N-bit integer value to an M-bit floating-point result. To execute the instruction, source modifier circuitry may generate an intermediate M-bit representation based on the N-bit integer value. Fused multiply-add circuitry may perform a fused multiply-add operation to generate the M-bit floating-point result, where the fused multiply-add operation operates on: the intermediate M-bit representation, a quantization scale factor value indicated by the instruction, and a zero-point value indicated by the instruction. In some embodiments that support down-conversion, the floating-point pipeline circuitry is also configured to execute a single instruction to convert an M-bit floating-point value to an N-bit integer result value.