Operation Accelerator for Mixed Data Type MAC Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional operation accelerators are limited in performing operations between floating-point and integer data, leading to reduced efficiency as they can only handle operations between integer data (INT×INT) or floating-point data (FP×FP), with idle operators when processing different data types.

Innovation Solution

An operation accelerator is designed to efficiently perform operations between various data types, including floating-point and integer data, by using a data converter to convert floating-point data into integer operation targets, a data setting unit to divide data into uniform units, an arithmetic unit for MAC operations, and a merger to adjust the operation results for scale compensation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional operation accelerator structure is used, then operations between integer data (INT×INT) or floating-point data (FP×FP) can be performed, but operations between floating-point and integer data (FP×INT) cannot be performed and operators become idle

Engineering Contradiction:
Improvedata type compatibilityVSAvoidoperator utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The operation accelerator is designed with a unified operator that can perform multiple data type operations (INT×INT, FP×FP, and FP×INT) through a single structure. The data converter dynamically converts floating-point input to integer format, allowing the same operator to handle different operation types without requiring separate dedicated operators for each data type combination.

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

Solution Approach 2:

A data converter is introduced as an intermediary component between the input and the operator. This converter dynamically transforms floating-point data into integer format based on the operation type, enabling the operator to process mixed data types (FP×INT) that would otherwise be incompatible with a single operator design.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is divided into units of same size for processing, then processing efficiency is improved, but original scale information is lost requiring compensation

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidscale information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system performs preliminary recording of scale information before dividing data into uniform units for processing. The merger component uses this pre-recorded scale information to compensate for the loss after processing, restoring the original magnitude of the result without affecting the efficiency gains from uniform data division.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system temporarily discards scale information during the data division and processing phase to achieve efficient uniform processing, then recovers and applies this information in the merger stage to compensate for the loss and restore the correct scale of the final result.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS20250199769A1Accelerator for operations between pieces of data of various data types and operation method thereof
Publication Date: 2025.06.19 SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
  • US20250199769A1 patent drawing
  • US20250199769A1 patent drawing
  • US20250199769A1 patent drawing

AI summary

An operation accelerator for processing an operation between floating-point data and integer data includes a data converter configured to receive one of the integer data and the floating-point data as first input data and to output integer operation target data; a data setting unit configured to divide the integer operation target data into units of a same size and to transmit the integer operation target data to an arithmetic unit; the arithmetic unit configured to perform a multiply and accumulation (MAC) operation on second input data received as an integer and the integer operation target data received from the data setting unit; and a merger configured to adjust an operation result of the arithmetic unit by compensating for an original scale omitted in a process of dividing the integer operation target data into the units of the same size.