Left-Shift Packed Quadwords Sign Preservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current single instruction multiple data (SIMD) microarchitectures require multiple instructions to perform multiply-accumulate operations, which can be inefficient for digital signal processing tasks, particularly in shifting and extracting packed data elements.

Innovation Solution

The introduction of a vector friendly instruction format that supports operations like right-shift and left-shift of quadword data elements, allowing these operations to be performed in a single instruction, enhancing efficiency in digital signal processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple instructions are used to perform multiply-accumulate operations in existing SIMD microarchitectures, then the operations can be completed with current hardware, but the processing efficiency is reduced and the number of instructions increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidnumber of instructions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple separate instructions (multiply instruction followed by addition instruction) into a single multiply-accumulate instruction. This merging of operations allows the processor to execute digital signal processing tasks in fewer cycles, directly improving productivity while reducing the complexity of instruction sequences required

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The new instruction format provides multi-functionality by enabling a single instruction to perform both multiplication and accumulation operations that previously required separate instructions. This universal approach allows the same hardware to efficiently handle various digital signal processing operations including shifting and extracting packed data elements

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

2Speed

If multiple instructions are used for shifting and extracting packed data elements, then current microarchitectures can execute these operations, but the processing speed decreases

Engineering Contradiction:
Improveprocessing speedVSAvoidexecution time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent merges shifting operations and extracting operations into a single integrated instruction. Instead of executing a shift instruction followed by an extract instruction, the new format performs both operations atomically in one execution cycle, thereby increasing processing speed and reducing the time loss associated with multiple instruction fetches and executions

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10496403B2Apparatus and method for left-shifting packed quadwords and extracting packed doublewords
Publication Date: 2019.12.03 INTEL CORP
  • US10496403B2 patent drawing
  • US10496403B2 patent drawing
  • US10496403B2 patent drawing

AI summary

An apparatus and method for performing right-shifting operations on packed quadword data. For example, one embodiment of a processor comprises: a decoder to decode a left-shift instruction to generate a decoded left-shift instruction; a first source register to store a plurality of packed quadword data elements, each of the packed quadword data elements including a sign bit; execution circuitry to execute the decoded left-shift instruction, the execution circuitry comprising shift circuitry with sign preservation logic to left-shift first and second packed quadword data elements from first and second packed quadword data element locations, respectively, in the first source register by an amount specified in an immediate value or in a control value in a second source register, the left-shifting to generate first and second left-shifted quadwords, the shift circuitry to write zeroes into bit positions exposed by the left-shifting of the packed quadword data elements; the sign preservation logic to maintain a copy of the sign bit while the shift circuitry performs the left-shift operations; the execution circuitry to cause selection of 32 most significant bits of the first and second left-shifted quadwords, including the sign bit, to be written to 32 least significant bit regions of first and second quadword data element locations, respectively, of a destination register, writing the sign bit to the most significant bit position of each 32 least significant bit region.