Processor Pipeline Splitting Multi-destination Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processor architectures face inefficiencies in handling multi-destination instructions, which require additional hardware and can lead to increased power consumption and area usage, as well as potential performance reductions due to the need for extra pipeline stages and ports.

Innovation Solution

The processor pipeline splits multi-destination instructions into single-destination operations early in the pipeline, which are then processed and merged back into multi-destination operations later in the pipeline, simplifying hardware requirements and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor directly handles multi-destination instructions with dedicated hardware, then instruction processing capability is improved, but processor area and power consumption increase

Engineering Contradiction:
Improveinstruction processing capabilityVSAvoidprocessor area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent segments a multi-destination instruction into multiple single-destination micro-operations. Each micro-operation specifies a single destination register, allowing the processor to use standard single-destination execution units rather than requiring specialized multi-destination hardware. This segmentation enables the same processing capability to be achieved with existing infrastructure, reducing the need for additional processor area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary decoding stage that translates multi-destination instructions into sequences of single-destination micro-operations. This intermediary layer acts as a mediator between the instruction fetch unit and the execution units, allowing complex multi-destination operations to be broken down into simpler operations that can be handled by standard processor components without requiring dedicated multi-destination hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the processor directly handles multi-destination instructions with dedicated hardware, then instruction processing capability is improved, but power consumption increases

Engineering Contradiction:
Improveinstruction processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

By segmenting multi-destination instructions into single-destination micro-operations, the processor can execute them using existing execution units that are already powered and optimized for single-destination operations. This avoids the need to power additional specialized multi-destination execution hardware, thereby reducing overall power consumption while maintaining instruction processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent effectively creates copies of single-destination micro-operations from the original multi-destination instruction. Instead of creating new specialized hardware for multi-destination operations, the system copies the proven single-destination execution pathway and applies it multiple times, once for each destination register, thereby leveraging existing low-power execution infrastructure.

Inventive Principle:
Principle #26Copying

3Productivity

If the processor uses extra pipeline stages to handle multi-destination instructions, then instruction processing capability is improved, but pipeline complexity and processing speed decrease

Engineering Contradiction:
Improveinstruction processing capabilityVSAvoidpipeline complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The segmentation of multi-destination instructions into micro-operations occurs during the decode stage, before the instruction enters the execution pipeline. The resulting micro-operations are then processed through the standard pipeline stages alongside regular single-destination instructions. This approach avoids the need for separate, complex multi-destination pipeline stages, keeping the pipeline structure simple and regular while still providing multi-destination functionality.

Inventive Principle:
Principle #1Segmentation

4Productivity

If the processor uses extra pipeline stages to handle multi-destination instructions, then instruction processing capability is improved, but processing speed decreases

Engineering Contradiction:
Improveinstruction processing capabilityVSAvoidprocessing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

By segmenting multi-destination instructions into micro-operations that can be executed in parallel with other instructions through the standard pipeline, the patent avoids adding sequential processing stages that would slow down execution. The micro-operations are issued to execution units at the same rate as single-destination instructions, maintaining pipeline throughput and processing speed while enabling multi-destination functionality.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9223577B2Processing multi-destination instruction in pipeline by splitting for single destination operations stage and merging for opcode execution operations stage
Publication Date: 2015.12.29 APPLE INC
  • US9223577B2 patent drawing
  • US9223577B2 patent drawing
  • US9223577B2 patent drawing

AI summary

Various techniques for processing instructions that specify multiple destinations. A first portion of a processor pipeline is configured to split a multi-destination instruction into a plurality of single-destination operations. A second portion of the pipeline is configured to process the plurality of single-destination operations. A third portion of the pipeline is configured to merge the plurality of single-destination operations into one or more multi-destination operations. The one or more multi-destination operations may be performed. The first portion of the pipeline may include a decode unit. The second portion of the pipeline may include a map unit, which may in turn include circuitry configured to maintain a list of free architectural registers and a mapping table that maps physical registers to architectural registers. The third portion of the pipeline may comprise a dispatch unit. In some embodiments, this may provide certain advantages such as reduced area and/or power consumption.