Pre-decoding Circuitry Incomplete Operation Flagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing apparatuses, significant power is consumed in decoding instructions, especially when handling multiple instruction sets, and incomplete pre-decoding can lead to corrupted instructions due to partial access across cache line boundaries, causing incorrect operation.

Innovation Solution

The implementation of pre-decoding circuitry that generates pre-decoded instructions with an indication of incomplete operations, allowing the processing circuitry to flag and correct potential corruption, and optionally buffering instruction portions to avoid incomplete pre-decoding situations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If pre-decoding circuitry performs pre-decoding operations on instructions fetched from memory, then power consumption is reduced and performance is improved, but instructions that cross cache line boundaries may be incompletely pre-decoded leading to corrupted instructions

Engineering Contradiction:
Improvepower consumptionVSAvoidinstruction correctness
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The pre-decoding circuitry performs pre-decoding operations on instructions before they are stored in the cache. This preliminary action identifies instruction boundaries and prepares decoding information in advance, reducing the power consumption of the main decoding circuitry while ensuring instructions are correctly processed even when they cross cache line boundaries.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback mechanisms to detect when an instruction crosses a cache line boundary and may have been incompletely pre-decoded. The decoding circuitry monitors the pre-decoded instructions and can identify corrupted instructions, triggering appropriate error handling or re-fetching operations to maintain instruction correctness.

Inventive Principle:
Principle #23Feedback

2Reliability

If pre-decoding circuitry processes instructions across cache line boundaries, then complete instructions can be pre-decoded, but the complexity of the pre-decoding circuitry increases

Engineering Contradiction:
Improvecomplete pre-decodingVSAvoidpre-decoding circuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The pre-decoding circuitry is designed to process instructions in segments corresponding to cache line boundaries. It can identify when an instruction is split across boundaries and handle each segment appropriately, reducing the complexity of managing entire instructions that may span multiple cache lines while ensuring complete pre-decoding capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary structures such as buffers and control logic that mediate between the pre-decoding circuitry and the cache. These intermediaries help manage the complexity of cross-boundary instructions by providing temporary storage and coordination mechanisms, allowing the pre-decoding circuitry to handle boundary cases without becoming overly complex.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If instructions are stored in a wider format in the cache to accommodate pre-decoded information, then decoding performance is improved, but the cache memory usage increases

Engineering Contradiction:
Improvedecoding performanceVSAvoidcache memory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The cache stores instructions in a wider format only where necessary - specifically in the portions of the cache that hold pre-decoded instruction data. The patent applies different storage formats locally: pre-decoded instructions use the wider format with additional decoding information, while other cache portions maintain the original format. This selective approach improves decoding performance for pre-decoded instructions while minimizing the overall increase in cache memory usage.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7917735B2Data processing apparatus and method for pre-decoding instructions
Publication Date: 2011.03.29 ARM LTD
  • US7917735B2 patent drawing
  • US7917735B2 patent drawing
  • US7917735B2 patent drawing

AI summary

A data processing apparatus and method are provided for pre-decoding instructions. The data processing apparatus has pre-decoding circuitry for receiving instructions fetched from memory and for performing a pre-decoding operation to generate corresponding pre-decoded instructions, which are then stored in a cache for access by processing circuitry. For a first set of instructions, each instruction comprises a plurality of instruction portions, and the pre-decoding circuitry generates a corresponding pre-decoded instruction comprising a plurality of pre-decoded instruction portions. If when applying the pre-decoding operation to an instruction in the first set, the pre-decoding circuitry does not have access to all of the plurality of instruction portions of that instruction, the pre-decoding circuitry is arranged to provide in association with at least one pre-decoded instruction portion that it does generate, an indication that the pre-decoded instruction portion relates to an incomplete pre-decoding operation. This provides a simple and effective mechanism for detecting situations where a pre-decoded instruction as later read from the cache may have become corrupted by the pre-decoding operation, and accordingly should not be relied upon.