Iterative Operation Processing Circuitry for Clock Frequency Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing data processing circuitry to support complex instructions within timing constraints imposed by desired clock frequencies is challenging, particularly for iterative operations where each iteration's performance impact is compounded, leading to potential slowdowns in processing workloads.

Innovation Solution

The processing circuitry includes preliminary information generating circuitry to start processing for the next iteration in parallel with the result generating circuitry completing the current iteration, allowing for higher clock frequencies by overlapping preliminary and remaining processing portions, thereby reducing per-iteration latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If iterative operations are implemented with sequential processing for each iteration, then correctness is ensured, but processing time increases and clock frequency scaling is limited

Engineering Contradiction:
Improveclock frequencyVSAvoidper-iteration processing time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing preliminary processing for the next iteration before the current iteration completes. The preliminary information generating circuitry starts processing operands for iteration n+1 while the result generating circuitry is still completing iteration n, thereby preparing data in advance to reduce per-iteration latency and enable higher clock frequencies

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a temporal dimension by overlapping iterations in time through parallel processing. Instead of strictly sequential execution, the preliminary information generation for the next iteration is executed in parallel with the remaining portion of the current iteration, creating a pipelined structure that improves throughput without sacrificing correctness

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

2Loss of time

If more processing stages are added to complete complex iterative operations within a single clock cycle, then per-iteration latency is reduced, but device complexity increases

Engineering Contradiction:
Improveper-iteration latencyVSAvoidprocessing circuit logic
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the iterative operation processing into distinct functional stages: preliminary information generating circuitry and result generating circuitry. This segmentation allows each stage to be optimized independently and enables parallel execution of preliminary processing for the next iteration while completing current iteration results, reducing per-iteration latency without proportionally increasing overall complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the preliminary information generation for the next iteration with the remaining portion processing of the current iteration into a parallel execution framework. This merging of operations across iteration boundaries allows resource sharing and reduces the critical path length, achieving lower per-iteration latency without linearly increasing device complexity

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10970070B2Processing of iterative operation
Publication Date: 2021.04.06 ARM LTD
  • US10970070B2 patent drawing
  • US10970070B2 patent drawing
  • US10970070B2 patent drawing

AI summary

An apparatus has processing circuitry to perform, in response to decoding of an iterative-operation instruction by the instruction decoder, an iterative operation comprising at least two iterations of processing where one iteration depends on an operand generated in a previous iteration. Preliminary information generating circuitry performs a preliminary portion of processing for a given iteration to generate preliminary information. Result generating circuitry performs a remaining portion of processing for the given iteration, to generate a result value using the preliminary information. Forwarding circuitry forwards the result value as an operand for a next iteration of the iterative operation, for iterations other than the final iteration. The preliminary information generating circuitry starts performing the preliminary portion for the next iteration in parallel with the result generating circuitry completing the remaining portion for the current iteration, to improve performance.