Vector Functional Unit for Variable-Length Integer Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures are limited in performing vector operations efficiently, as they primarily implement scalar or SIMD multiply operations, lacking the capability to effectively execute vector multiply add instructions and other vector-specific calculations, such as vector count leading zeroes, trailing zeroes, and parity instructions, which are essential for handling variable-length vectors and arithmetic exceptions.

Innovation Solution

A vector processing functional unit is designed with multiple scalar logic units that perform scalar operations on elements of input vectors to execute vector multiply add, vector count leading zeroes, vector count trailing zeroes, and vector parity instructions, incorporating a masking layer to enable variable-length vector operations and handle arithmetic exceptions by allowing only valid elements to participate in calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If scalar or SIMD multiply operations are implemented in semiconductor processors, then basic arithmetic operations can be performed, but vector multiply add instructions and vector-specific calculations (count leading zeroes, trailing zeroes, parity) cannot be executed efficiently

Engineering Contradiction:
Improveinstruction capabilityVSAvoidprocessor architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal vector functional unit that can execute multiple types of instructions including vector multiply add, vector count leading zeroes, vector count trailing zeroes, and vector parity instructions. This multi-functional design allows a single processor architecture to handle diverse vector operations without requiring separate dedicated hardware for each instruction type, thereby improving adaptability while controlling complexity

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

2Ease of operation

If fixed-length vector operations are performed, then simple register-based processing can be used, but variable-length vector operations with precise exception handling cannot be achieved

Engineering Contradiction:
Improvevector operation simplicityVSAvoidexception handling precision
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the vector operation processing into multiple components: a masking layer that identifies valid elements, a functional unit that performs calculations only on valid elements, and exception handling logic that processes arithmetic exceptions precisely. This segmentation allows the system to handle variable-length vectors with precise exception handling while maintaining operational simplicity through modular design

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8667042B2Functional unit for vector integer multiply add instruction
Publication Date: 2014.03.04 INTEL CORP
  • US8667042B2 patent drawing
  • US8667042B2 patent drawing
  • US8667042B2 patent drawing

AI summary

A vector functional unit implemented on a semiconductor chip to perform vector operations of dimension N is described. The vector functional unit includes N functional units. Each of the N functional units have logic circuitry to perform: a first integer multiply add instruction that presents highest ordered bits but not lowest ordered bits of a first integer multiply add calculation, and, a second integer multiply add instruction that presents lowest ordered bits but not highest ordered bits of a second integer multiply add calculation.