Operation Accelerator for Mixed Data Type MAC Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


