Processor Pipeline Selection Logic for Gradient Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures face inefficiencies when performing operations like gradient calculations, as they require additional logic and memory access, leading to increased chip area and processing time, especially in graphics processing where parallel processing is common.

Innovation Solution

The processor incorporates selection logic to dynamically switch between data supply lines, allowing the same data to be supplied to multiple processing elements, reducing the need for additional logic and optimizing chip area by using a controller to select the appropriate mode of operation based on instructions, such as gradient, maximum, or averaging operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If additional logic is provided to optimize particular operations in a processor, then processing efficiency for those operations is improved, but chip area increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidchip area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The processor pipeline is designed to perform multiple functions using the same hardware resources. The pipeline can operate in different modes (first mode and second mode) to handle different types of operations, eliminating the need for separate dedicated hardware for each operation type. This multi-functionality allows the processor to achieve operation-specific optimization without proportionally increasing chip area.

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

Solution Approach 2:

The processor employs dynamic mode switching between first mode and second mode of operation based on the type of operation being performed. The controller dynamically selects the appropriate mode, allowing the same hardware to adapt its behavior for different operations (e.g., gradient operations vs. other operations). This dynamic reconfiguration enables optimization for particular operations without requiring static dedicated hardware for each case.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If data is fetched from memory for each thread in serial processing, then memory access is simplified, but processing time increases

Engineering Contradiction:
Improvememory access complexityVSAvoidprocessing time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The processor performs preliminary actions by fetching and making data available to multiple processing elements simultaneously before the actual processing operation. In the second mode, data is fetched from memory and made available to multiple pipelines in advance, allowing parallel processing elements to operate concurrently without waiting for serial data access. This preliminary data preparation reduces the overall processing time while maintaining relatively simple memory access patterns.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4006719B1Efficient data selection for a processor using the same data in a processing pipeline
Publication Date: 2024.05.15 IMAGINATION TECH LTD
  • EP4006719B1 patent drawingFigure 1~2
  • EP4006719B1 patent drawingFigure 3a~3b
  • EP4006719B1 patent drawingFigure 4~5a

AI summary

A processor comprising a plurality of processing pipelines, each pipeline comprising a processing element having a first input and a second input, wherein at least one pipeline of the plurality of processing pipelines further comprises: first selection logic operable to select a data supply line so that data from the selected data supply line is received at the first input via the first selection logic, second selection logic operable to select a data supply line so that data from the selected data supply line is received at the second input via the second selection logic, wherein, in a first mode of operation and for the at least one pipeline: the first selection logic is configured to select a first data supply line of the pipeline, the second selection logic is configured to select a second data supply line of the pipeline, and the same data is provided on both the first and second data supply lines of the pipeline.