Execution Unit Opcode Splitting for Pipeline Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing complex opcodes in processor execution units is inefficient due to internal dependencies, leading to increased chip area, power requirements, and decreased processing efficiency, as existing designs often require splitting instructions into multiple parts and waiting for one part to be completed before processing the other, resulting in bottlenecks and resource inefficiencies.

Innovation Solution

An integrated circuit with an execution unit featuring multiple pipelines and a scheduler unit configured with a 40 opcode queue, where each queue position supports up to four sources and a destination, allowing for the splitting of complex opcodes into load/store and simple opcode components and creating internal sources/destinations to facilitate efficient processing by utilizing both load/store and simple opcode support.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If complex opcodes are processed by splitting into multiple parts and waiting for completion, then processing accuracy is improved, but processing speed deteriorates

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent pre-allocates multiple queue positions for complex opcodes and prepares execution resources in advance. The scheduler identifies complex opcodes before execution and reserves necessary pipeline resources, eliminating waiting time during execution and enabling continuous processing without compromising accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transitions from sequential single-pipeline processing to parallel multi-pipeline processing by allocating complex opcodes to multiple execution pipelines simultaneously. This dimensional change from time-sequential to space-parallel processing maintains processing accuracy while dramatically improving throughput and eliminating bottlenecks.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If dedicated pipeline queues are used for multi-pipeline execution, then processing speed is improved, but scheduling complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a unified scheduler that can handle both simple and complex opcodes across multiple pipelines using the same scheduling logic and data structures. This universal approach maintains high processing speed through parallel execution while avoiding the complexity of separate scheduling mechanisms for different instruction types.

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

Solution Approach 2:

The patent segments the scheduling process into distinct phases: identification of complex opcodes, allocation of queue positions, and distribution to execution pipelines. This segmentation simplifies the overall scheduling complexity by breaking down the complex task into manageable, systematic steps that can be executed efficiently.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If instructions are split into multiple parts for processing, then resource utilization is improved, but chip area increases

Engineering Contradiction:
Improveresource utilizationVSAvoidchip area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent ensures continuous utilization of execution pipelines by pre-allocating queue positions for complex opcodes and maintaining ready queues for both simple and complex instructions. This continuity allows pipelines to operate at full capacity without idle cycles, improving resource utilization without requiring additional chip area for buffer storage.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent merges the handling of simple and complex opcodes into a unified execution framework with shared queue structures and pipeline resources. By combining resource management for different instruction types into a single system, the patent achieves high resource utilization while minimizing the additional chip area that would result from separate dedicated structures.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9176738B2Method and apparatus for fast decoding and enhancing execution speed of an instruction
Publication Date: 2015.11.03 ADVANCED MICRO DEVICES INC
  • US9176738B2 patent drawing
  • US9176738B2 patent drawing
  • US9176738B2 patent drawing

AI summary

Method and apparatus for fast decoding of microinstructions are disclosed. An integrated circuit is disclosed wherein microinstructions are queued for execution in an execution unit having multiple pipelines where each pipeline is configured to execute a set of supported microinstructions. The execution unit receives microinstruction data including an operation code (opcode) or a complex opcode. The execution unit executes the microinstruction multiple times wherein the microinstruction is executed at least once to get an address value and at least once to get a result of an operation. The execution unit processes complex opcodes by utilizing both a load/store support and a simple opcode support by splitting the complex opcode into load/store and simple opcode components and creating an internal source/destination between the two components.