Processor Writeback Hazard Elimination Using Temporary Result Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processors, writeback conflicts occur when multiple instructions become ready for writeback at the same time, leading to inefficiencies and potential pipeline bottlenecks, as existing techniques may not fully address the simultaneous writeback of results exceeding the predefined maximal number of results per clock cycle.

Innovation Solution

A processor design incorporating a processing pipeline with result-storage elements and writeback logic that detects writeback conflicts by temporarily storing excess results in these elements and subsequently writing them back to the result storage, using Round-Robin scheduling to manage simultaneous results with differing processing latencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple instructions are allowed to execute concurrently in the processing pipeline, then processing productivity is improved, but writeback conflicts occur when simultaneous results exceed the predefined maximal number of results per clock cycle

Engineering Contradiction:
Improveprocessing throughputVSAvoidwriteback conflict avoidance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the writeback process by introducing separate temporary storage elements for each execution unit. Each execution unit has its own dedicated temporary storage element, allowing results to be staged independently before being written to the common result storage. This segmentation eliminates writeback conflicts by providing individual buffer paths for each unit while maintaining high throughput.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the pipeline allows more than one result to be written back per clock cycle, then processing efficiency is improved, but complexity of managing simultaneous writebacks increases

Engineering Contradiction:
Improvewriteback throughputVSAvoidwriteback management logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each execution unit is equipped with its own temporary storage element and associated control logic, enabling self-service for result buffering. The execution units independently manage their own result staging without requiring complex centralized arbitration logic, thereby simplifying the overall writeback management while supporting multiple simultaneous writebacks.

Inventive Principle:
Principle #25Self-service

3Reliability

If results are temporarily stored in additional storage elements before writing to result storage, then writeback conflicts are eliminated, but power consumption increases

Engineering Contradiction:
Improvewriteback conflict eliminationVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements local temporary storage elements positioned immediately at each execution unit, allowing results to be buffered locally without long-distance data movement. This local buffering eliminates writeback conflicts while minimizing power consumption by avoiding extensive data transmission and by enabling selective activation of storage elements only when conflicts are detected.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11755331B2Writeback hazard elimination using a plurality of temporary result-storage elements
Publication Date: 2023.09.12 APPLE INC
  • US11755331B2 patent drawing
  • US11755331B2 patent drawing
  • US11755331B2 patent drawing

AI summary

A processor includes a processing pipeline, a plurality of result-storage elements, and writeback logic. The processing pipeline is configured to process program operations and to write, to a result storage, up to a predefined maximal number of results of the processed program operations per clock cycle. The result-storage elements are configured to store respective ones of the results. The writeback logic is configured to (i) detect a writeback conflict event in which the processing pipeline produces simultaneous results that exceed the predefined maximal number of results, for writing to the result storage, in a same clock cycle, (ii) in response to detecting the writeback conflict event, to temporarily store at least a given result, from among the simultaneous results, in a given result-storage element, and (iii) to subsequently write the temporarily-stored given result from the given result-storage element to the result storage.