Issue Queue Control Circuitry for Wide Operand Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The issue queue in data processing apparatuses faces significant size and power consumption challenges when accommodating wide operand execution units, as traditional methods require increasing the queue's size to store operand data, which is costly and inefficient, especially since not all instructions utilize wider operand data.

Innovation Solution

The solution involves generating re-combinable control data blocks for instructions suitable for wide operand execution units, allowing these blocks to be stored in multiple slots of the issue queue, where each slot holds up to M bits of operand data, and then recombining them into a single combined control data block for processing by the wide operand execution unit, thereby reducing the need for increased queue size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the issue queue is extended to store full N bits of operand data for wide operand execution units, then the execution capability for wide operand instructions is improved, but the size and power consumption of the issue queue increases significantly

Engineering Contradiction:
Improveexecution capability for wide operand instructionsVSAvoidsize of issue queue
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The operand data storage is segmented across multiple issue queue slots. Instead of requiring each slot to store the full N bits, the operand data is divided and distributed across multiple slots, each storing only M bits. This segmentation allows the issue queue to support wide operand instructions while maintaining a compact slot size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple control data blocks from different slots are merged together to form a complete wide operand instruction. The issue queue combines the control data blocks and their associated operand data from multiple slots, reconstructing the original wide operand instruction for execution by the wide operand execution unit.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If the issue queue size is increased to accommodate wide operand data, then wide operand execution is enabled, but power consumption increases

Engineering Contradiction:
Improvesupport for wide operand execution unitsVSAvoidpower consumption of issue queue
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

By segmenting the operand data storage across multiple slots, the issue queue avoids allocating excessive resources in each slot. This segmentation enables the queue to support wide operand execution while keeping the per-slot storage compact, thereby reducing overall power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of operand data width that each slot stores from N bits to M bits. This parameter change allows the issue queue to support wide operand instructions through combination of multiple slots while maintaining lower power consumption associated with smaller storage width per slot.

Inventive Principle:
Principle #35Parameter changes

3Area of stationary object

If each slot stores only M bits of operand data, then the issue queue size is reduced, but the ability to store complete wide operand instructions is compromised

Engineering Contradiction:
Improveissue queue slot sizeVSAvoidcompleteness of operand data
Core Design Contradiction:
Area of stationary objectVSLoss of information

Solution Approach 1:

The system merges control data blocks from multiple slots to reconstruct the complete wide operand instruction. By combining the M bits of operand data from each slot along with their associated control data blocks, the system recovers the full N bits of operand information needed for wide operand execution.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The control data block acts as an intermediary that links multiple operand data segments. Each control data block contains information that identifies and connects to other control data blocks, enabling the system to reconstruct the complete instruction by following these intermediary links across multiple slots.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9424045B2Data processing apparatus and method for controlling use of an issue queue to represent an instruction suitable for execution by a wide operand execution unit
Publication Date: 2016.08.23 ARM LTD
  • US9424045B2 patent drawing
  • US9424045B2 patent drawing
  • US9424045B2 patent drawing

AI summary

An apparatus and method includes execution circuitry including a wide operand execution unit configured to allow up to N bits of operand data to be processed during execution of a single instruction. Decoder circuitry decodes and generates, for each instruction, at least one control data block identifying an operation to be performed by the execution circuitry and at least two re-combineable control data blocks for the instruction. Issue queue control circuitry then allocates a slot in the issue queue for each of the at least two data blocks and up to M bits of associated operand data, and marks those allocated slots to identify that they contain re-combineable control data blocks. The issue queue control circuitry issues the combined block to said wide operand execution unit along with the operand data contained in each of the allocated slots for said at least two control data blocks.