Vector Instruction Queue Decoupling for AI Processor Layout

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The high parallelism in AI processors causes challenges in chip layout and wiring, necessitating a high-performance vector processing architecture to reduce design and verification complexity.

Innovation Solution

A method and apparatus that decouple vector processing from scalar processing by generating a vector instruction queue after scalar instruction completion, performing instruction decoding, broadcasting control signals, and detecting instruction execution readiness before issuing to the vector processing unit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If high parallelism is used in AI processor to match high computing power, then processing capability is improved, but chip layout and wiring complexity increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidchip layout and wiring complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is divided into two independent parts: a scalar processing unit and a vector processing unit. The scalar unit handles control flow and scalar operations, while the vector unit handles parallel data processing. This segmentation allows the vector unit to achieve high parallelism without increasing the overall chip complexity, as each unit has dedicated resources and clear functional boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A vector instruction queue is introduced as an intermediary buffer between the scalar instruction stream and the vector processing unit. The queue decouples the instruction fetch/decode pipeline from the vector execution pipeline, allowing the vector unit to process multiple data elements in parallel while the scalar unit maintains control flow. This intermediary structure enables high productivity without requiring complex interconnections.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If vector processing and scalar processing are coupled, then instruction execution is simplified, but design and verification complexity increases

Engineering Contradiction:
Improveinstruction execution simplicityVSAvoiddesign and verification complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The processing architecture is segmented into independent scalar and vector processing units with distinct instruction queues and control logic. The scalar unit executes scalar instructions sequentially, while the vector unit executes vector instructions in parallel. This segmentation simplifies verification by allowing each unit to be tested independently, reducing overall design complexity despite maintaining operational simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The vector instruction queue acts as a mediator that translates scalar instruction semantics into vector execution operations. It manages the conversion of scalar control flow into parallel vector operations without requiring complex inter-unit communication, thereby maintaining ease of operation while reducing design and verification complexity through clear interface boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250284538A1Data processing method and apparatus, chip, device, medium, and program product
Publication Date: 2025.09.11 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US20250284538A1 patent drawing
  • US20250284538A1 patent drawing
  • US20250284538A1 patent drawing

AI summary

Embodiments of this application provide a data processing method and apparatus to implement decoupling of vector processing and scalar processing. The data processing method includes generating a vector instruction queue according to a plurality of vector instructions in an instruction bundle after execution of a scalar instruction in the instruction bundle is completed; decoding a first instruction in the vector instruction queue to obtain a control signal set and an instruction code of the first instruction, the first instruction being a vector instruction in the vector instruction queue; broadcasting the control signal set to a vector processing unit, and detecting the first instruction according to the instruction code to obtain a detection result; issuing the first instruction to the vector processing unit when the detection result indicates that the first instruction is allowed to be issued; and executing the first instruction according to the control signal set.