Instruction Pipeline Functional Unit for Variable Chunk Shifting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current instruction execution pipelines in computing systems face challenges in efficiently processing packed data operands, as they often require shifting different chunks of data by varying amounts, which complicates operations like parallelized bit manipulation and vector operations.

Innovation Solution

The implementation of a functional unit within the instruction execution pipeline that allows for the shifting of different chunks of a packed data operand by different amounts, utilizing an output multiplexer circuitry to select contiguous bits from the input operand based on control elements, enabling flexible and efficient processing of vector instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional instruction execution pipelines process packed data operands with uniform shifting, then the hardware design remains simple, but the capability to perform parallelized bit manipulation and vector operations is limited

Engineering Contradiction:
Improvecapability to perform parallelized bit manipulation and vector operationsVSAvoidhardware design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The functional unit divides the packed data operand into multiple chunks, with each chunk processed independently by dedicated circuitry. This segmentation enables different shifting amounts to be applied to different chunks simultaneously, providing the versatility needed for parallelized bit manipulation and vector operations while keeping each segment's hardware design manageable

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of control by adding control elements that specify different shifting amounts for different chunks. This dimensional expansion transforms the traditional uniform shifting approach into a multi-dimensional shifting capability, enabling complex vector operations without proportionally increasing overall hardware complexity

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the pipeline shifts all chunks of packed data by the same amount, then the circuitry remains simple, but efficiency in processing large data structures is reduced

Engineering Contradiction:
Improveefficiency of processing large data structuresVSAvoidcomplexity of shifting circuitry
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The functional unit applies local quality by allowing different shifting amounts to be applied to different chunks based on control element specifications. This localized differentiation enables efficient processing of large data structures where different regions require different transformations, while the overall circuitry complexity is managed through modular design

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The shifting amount for each chunk is made dynamic rather than fixed, allowing the circuitry to adapt to different processing requirements. The control elements provide dynamic control signals that enable the same hardware to efficiently handle various vector operations and data structures without requiring multiple dedicated circuits

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If multiple functional units are added to handle different operations, then operational versatility improves, but the device complexity and resource consumption increase

Engineering Contradiction:
Improveinstruction set supportVSAvoidnumber of functional units
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The functional unit achieves multi-functionality by incorporating control elements that can specify different shifting amounts for different chunks. This single functional unit can support a wide range of vector operations and bit manipulation instructions by varying the control signals, eliminating the need for multiple dedicated functional units and reducing overall device complexity

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

Data Source

PatentUS10496411B2Functional unit for instruction execution pipeline capable of shifting different chunks of a packed data operand by different amounts
Publication Date: 2019.12.03 INTEL CORP
  • US10496411B2 patent drawing
  • US10496411B2 patent drawing
  • US10496411B2 patent drawing

AI summary

A method is described that includes fetching an instruction. The method further includes decoding the instruction. The instruction specifies an operation, a first operand and a second operand. The method further includes fetching the first and second operands of the instruction. The first and second operands are each composed of a plurality of larger chunks having constituent elements. The method further includes performing the operation specified by the instruction including generating a resultant composed of a plurality of larger chunks having constituent elements. The generating of the resultant includes selecting for each element in the resultant a contiguous group of bits from a same positioned chunk of the first operand as the chunk of the element in the resultant, the contiguous group of bits being identified by a same positioned element of the second operand as the element in the resultant.