Merge Execution Unit for Microinstruction Permutation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microprocessors, merge and permutation instructions consume significant processing time and power due to the need to regenerate each byte of the result in every instruction execution, even if only some data bytes have changed, as partially writing a register is impossible in out-of-order machines.

Innovation Solution

A high-efficiency merge execution circuit using a bank of multiplexers (MUXs) that selectively outputs data elements to a destination register based on merge control words, allowing simultaneous generation of multiple data elements in a merge result, reducing the number of micro-operations required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each byte of the result is generated in each instruction execution, then the merge and permutation result is complete and accurate, but processing time and power consumption increase significantly

Engineering Contradiction:
Improvemerge result accuracyVSAvoidinstruction execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the merge and permutation operation into individual byte-level micro-operations. Each byte position is handled independently through separate micro-instructions, allowing the processor to execute only the necessary bytes rather than regenerating all bytes. This segmentation enables selective execution while maintaining result accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by allowing execution of only the necessary portion of the merge operation. When combined with the merge hint mechanism, the processor can determine which bytes have changed and execute micro-operations only for those bytes, avoiding excessive generation of unchanged data and reducing overall execution time.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If each byte of the result is generated in each instruction execution, then the merge result is complete, but power consumption increases significantly

Engineering Contradiction:
Improvemerge result completenessVSAvoidprocessing power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the power-consuming merge operation into discrete byte-level micro-operations. By controlling execution at the byte level through the micro-code interpreter, the system consumes power only for the necessary bytes rather than all bytes, reducing overall power consumption while maintaining result completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by executing only the necessary micro-operations for changed bytes. The merge hint mechanism enables the processor to identify which bytes require processing and execute only those partial operations, avoiding excessive power consumption from regenerating unchanged data.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If a bank of multiplexers is used to simultaneously generate multiple data elements, then processing speed increases, but device complexity increases

Engineering Contradiction:
Improvemerge operation speedVSAvoidmerge unit structure
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent employs dynamic control of the merge unit through a micro-code interpreter that dynamically selects and sequences micro-operations based on the specific merge requirements. This dynamic approach allows the use of a bank of multiplexers for parallel processing while managing complexity through software-controlled operation sequences rather than hardwired logic for all possible operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a micro-code interpreter as an intermediary between the instruction set and the merge unit hardware. This intermediary translates high-level merge instructions into sequences of simple micro-operations that control the multiplexer bank, enabling complex merge functionality while keeping the hardware structure manageable through layered control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11385897B2Merge execution unit for microinstructions
Publication Date: 2022.07.12 MARVELL INT LTD
  • US11385897B2 patent drawing
  • US11385897B2 patent drawing
  • US11385897B2 patent drawing

AI summary

A merge unit configured to perform merge and permutation micro-operations by multiplexing data bytes of the inputs to simultaneously produce multiple data bytes of a merge and permutation result. Particularly, the merge unit includes a bank of MUXs arranged in parallel, each corresponding to one or more different data bytes in the merge result. When the merge unit is provided with a set of inputs, each MUX multiplexes the data bytes of the set of inputs (e.g., all the data bytes of the set of inputs) to selectively output a data byte to a particular location of the destination register storing the merge result. The selection by each MUX is individually controlled by a set of merge control words which identify a data byte location in an input and identify an input from the set of inputs.