Packed Instruction Set Architecture for Processor Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in achieving high throughput for all instructions, particularly complex ones like floating-point operations and load/store operations, which require more execution time and resources, impacting overall performance.

Innovation Solution

The implementation of a packed instruction set architecture that includes execution units capable of handling SIMD instructions, allowing for simultaneous operations on multiple data elements within a register, thereby accelerating multimedia and scientific applications by utilizing the full data bus width and reducing the need for sequential data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential data transfers and single-element operations are used, then device complexity is reduced, but processor throughput and execution speed deteriorate

Engineering Contradiction:
Improveprocessor throughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data into packed formats where multiple data elements are grouped together in registers (e.g., 8 packed single-precision floating-point numbers in a 128-bit register). This allows the processor to handle multiple data elements simultaneously through vectorized operations, improving throughput without requiring separate handling of each element

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple single-element operations into single packed instructions. Instead of executing separate add, multiply, or data transfer operations for each element sequentially, the processor executes a single instruction that operates on all elements in the packed register simultaneously, thereby improving throughput while maintaining manageable instruction complexity

Inventive Principle:
Principle #5Merging (Combining)

2Speed

If complex floating-point operations are executed sequentially, then execution time increases, but instruction complexity is reduced

Engineering Contradiction:
Improveexecution speedVSAvoidexecution unit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The execution unit is segmented into specialized sub-units (e.g., packed single-precision floating-point execution unit, packed double-precision floating-point execution unit) that can handle specific operation types in parallel. This segmentation allows complex floating-point operations to be divided into manageable chunks that execute simultaneously, improving speed while keeping each sub-unit's complexity controlled

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor dynamically selects which execution unit to use based on the operation type and data precision requirements. The instruction set architecture provides flexible selection mechanisms that allow the processor to adaptively route operations to appropriate execution units, improving execution speed without requiring all possible operation types to be handled by a single complex unit

Inventive Principle:
Principle #15Dynamics

3Productivity

If full data bus width is not utilized, then device complexity is reduced, but processor performance and throughput deteriorate

Engineering Contradiction:
Improveprocessor performanceVSAvoiddata transfer complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple data elements into packed formats that match the data bus width (e.g., 128-bit packed single-precision floating-point numbers). This allows the processor to transfer and process multiple data elements simultaneously over the data bus, fully utilizing the bus width to improve performance without increasing the complexity of individual data transfer operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The packed instruction set architecture provides universal packed instructions that can handle various data types and operations uniformly. The same packed instruction mechanism works for floating-point operations, integer operations, and data transfers, simplifying the data transfer complexity while maximizing data bus utilization across different operation types

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

Data Source

PatentUS9990196B2Instruction, circuits, and logic for piecewise linear approximation
Publication Date: 2018.06.05 INTEL CORP
  • US9990196B2 patent drawing
  • US9990196B2 patent drawing
  • US9990196B2 patent drawing

AI summary

A processor includes a linear approximator and a front end including circuitry to assign linear approximation of a nonlinear function to a linear approximator. The linear approximator includes circuitry to divide a range of values for the linear approximation into a defined number of segments, perform linear approximation for each segment, move borders between the segments to reduce discontinuity moving along segments of variable length, repeat linear approximation for each segment until convergence, and return values for the linear approximation.