Mask Register Conversion Logic for Vector Processing Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors do not fully realize the performance advantages of mask registers due to limited methods of masking operations, leading to potential performance bottlenecks in vector architectures, especially in wide or large width vector architectures.

Innovation Solution

The implementation of instructions and processing logic that allow conversions between a mask register and a general-purpose register or memory, enabling the construction, modification, and operation of masks using a full set of instructions available for general-purpose registers, thereby eliminating the need for vector length registers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional pipelined vector comparison is used to set the mask register, then the mask register can be configured, but the performance advantages of the mask register are not fully realized due to pipeline bottlenecks

Engineering Contradiction:
Improvepipeline throughputVSAvoidtime to configure and use mask register
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by allowing mask register values to be pre-loaded from general-purpose registers or memory before vector operations are executed. This eliminates the need for time-consuming pipelined vector comparisons during operation, as the mask is already prepared in advance in the desired format.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism by enabling direct data transfer between general-purpose registers/memory and the mask register through specialized load instructions. This intermediary pathway bypasses the traditional pipelined comparison route, providing a more efficient channel for mask configuration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If pipelined testing of the mask register is used to selectively disable operations, then masking can be achieved, but the masked operations are still performed in the pipeline negating performance advantages

Engineering Contradiction:
Improveeffective masking efficiencyVSAvoidenergy wasted on performing masked operations
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies the taking out principle by extracting the masked elements from the execution pipeline entirely. Instead of allowing masked operations to proceed and then discard results, the system prevents their execution by using the mask register to control operation issuance, so wasted work never enters the pipeline.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The mask register performs self-service by directly controlling the execution unit's operation selection. The mask register works autonomously to prevent unwanted operations from being issued, eliminating the need for post-execution filtering and reducing overall system resource consumption.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If limited masking operation methods are used, then the mask register can function, but the full performance advantages of wide vector architecture are not realized

Engineering Contradiction:
Improvemasking operation flexibilityVSAvoidvector architecture performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies universality by making the mask register accessible through multiple pathways: it can be loaded from general-purpose registers, loaded from memory, and used to control various vector operations. This multi-functional approach allows the mask register to serve different purposes and integrates seamlessly with the broader processor architecture.

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

Solution Approach 2:

The patent introduces another dimension by adding direct memory-to-mask-register loading capability. This creates a new operational dimension beyond register-to-mask transfer, enabling more diverse data sources for mask configuration and better utilization of available data in the processor hierarchy.

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

Data Source

PatentUS10203954B2Instruction and logic to provide conversions between a mask register and a general purpose register or memory
Publication Date: 2019.02.12 INTEL CORP
  • US10203954B2 patent drawing
  • US10203954B2 patent drawing
  • US10203954B2 patent drawing

AI summary

Instructions and logic provide conversions between a mask register and a general purpose register or memory. Some embodiments, responsive to an instruction specifying: a destination operand, a mask length corresponding to a number of mask data fields, and a source operand; values are read from data fields in the source operand, corresponding to the specified mask length, and stored to corresponding data fields in the destination operand specified by the instruction, wherein one of the source or the destination operands is a mask register. Values indicative of masked vector elements may be stored to any data fields in the destination operand other than the number of data fields corresponding to the specified mask length. For some embodiments, the other one of the source or the destination operands may be a general purpose register or a memory location.