Shared Decoder Clusters for High-Throughput Instruction Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processors face a challenge in optimizing decoding throughput while minimizing hardware resource waste due to excessive decoders in decoder clusters, leading to inefficiencies when the number of instructions exceeds the decoder capacity.

Innovation Solution

Implement a shared decoder architecture where a second decoder cluster shares decoders with a first decoder cluster, allowing spare instructions to be decoded by the shared decoders when the first cluster is insufficient, thereby reducing the overall number of decoders needed and maintaining throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the quantity of decoders in a decoder cluster is increased to improve decoding throughput, then the decoding throughput is improved, but the hardware resources of the processor are wasted

Engineering Contradiction:
Improvedecoding throughputVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges decoder resources across multiple decoder clusters by introducing a shared decoder mechanism. When a decoder cluster has idle decoders while another cluster has excess instructions, the idle decoders are dynamically allocated to handle the excess instructions, thereby combining scattered decoder resources into a unified pool that serves multiple clusters.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared decoder is designed with multi-functionality, serving both its home decoder cluster and other decoder clusters that may have decoding demands. This universal design allows the same decoder hardware to perform decoding tasks for multiple different instruction queues, maximizing resource utilization without requiring dedicated decoders for each cluster.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If the quantity of decoders in a decoder cluster is reduced to save hardware resources, then the hardware resources are saved, but the decoding throughput may be insufficient

Engineering Contradiction:
Improvehardware resourcesVSAvoiddecoding throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic decoder allocation where the assignment of instructions to decoders is not fixed but adapts based on real-time workload conditions. The instruction selection module dynamically determines whether to use local decoders or shared decoders based on the current state of the instruction queue and decoder availability, allowing the system to flexibly adjust resource utilization to match actual decoding demands.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The shared decoder acts as an intermediary resource between multiple decoder clusters. When local decoders are insufficient, the shared decoder mediates by accepting instructions from other clusters' instruction queues, effectively bridging the gap between supply and demand without requiring each cluster to maintain full decoder capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If shared decoders are used to decode instructions from multiple decoder clusters, then the utilization of decoder resources is improved, but the complexity of instruction assignment increases

Engineering Contradiction:
Improveresource utilizationVSAvoidinstruction assignment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The instruction selection module within each decoder cluster autonomously manages the assignment of instructions to shared decoders without requiring external coordination. When local decoders are unavailable, the instruction selection module automatically selects instructions from its own instruction queue and assigns them to the shared decoder, enabling self-service resource management that reduces overall system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12596551B2Method and system for assigning instructions to decoders in decoder clusters
Publication Date: 2026.04.07 HYGON INFORMATION TECH CO LTD
  • US12596551B2 patent drawing
  • US12596551B2 patent drawing
  • US12596551B2 patent drawing

AI summary

A method for parallel decoding which is applied to a processor including a first decoder cluster and a second decoder cluster, the second decoder cluster being provided with at least one shared decoder shared by the first decoder cluster. In the method, if a quantity of a plurality of instructions is greater than a quantity of decoders in the first decoder cluster, the processor assigns, from the plurality of instructions, first instructions with a quantity corresponding to the quantity decoders of the first decoder cluster to a decoder in the first decoder cluster for decoding, and the processor assigns, from the plurality of instructions, at least one second instruction other than the first instructions to the at least one shared decoder for decoding. The processor then writes micro-ops obtained by decoding the first instructions and micro-ops obtained by decoding the at least one second instruction into a first micro-op queue.