Fastpath Microcode Sequencer for Reduced Access Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processors face performance bottlenecks due to slow microcode sequence access times, which introduce stall cycles when implementing instructions requiring multiple operations, as current microcode storage units are relatively slow and inefficient.

Innovation Solution

Implementing a multi-level microcode unit with a smaller, faster structure for frequently executed instructions and a larger, slower structure for infrequently executed instructions, allowing for faster retrieval of microcode sequences through a multi-path microcode sequencer that dynamically routes instructions based on execution frequency and complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a large microcode storage unit is used to store all microcode sequences, then all instructions can be decoded, but access time increases and stall cycles are introduced

Engineering Contradiction:
Improveinstruction coverageVSAvoidmicrocode access time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the microcode storage system into two separate units: a first microcode unit for frequently executed instructions and a second microcode unit for infrequently executed instructions. This segmentation allows the system to optimize access time for common instructions while maintaining comprehensive instruction coverage through the second unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different parts of the microcode storage system. The first microcode unit is designed with faster access characteristics (smaller size, optimized for speed) while the second microcode unit is designed with larger capacity characteristics (slower access, optimized for storage). This local quality differentiation resolves the contradiction between speed and coverage.

Inventive Principle:
Principle #3Local quality

2Loss of time

If a small fast microcode storage unit is used, then access time is reduced, but fewer instructions can be decoded

Engineering Contradiction:
Improvemicrocode access timeVSAvoidinstruction coverage
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent segments the microcode storage into a first unit optimized for speed with limited capacity, and a second unit with larger capacity for less frequently used instructions. This segmentation allows the system to achieve fast access for common instructions while maintaining the ability to decode a broad range of instructions through the second unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic instruction decode unit that can dynamically route instructions to appropriate microcode units based on execution frequency and instruction type. This dynamic routing optimizes access time for frequently executed instructions while ensuring comprehensive instruction coverage when needed.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If microcode sequences are stored in a large ROM or RAM, then comprehensive instruction support is achieved, but access speed decreases introducing stall cycles

Engineering Contradiction:
Improveinstruction supportVSAvoidmicrocode access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent segments the large microcode storage into two separate units with different access characteristics. The first microcode unit provides fast access for frequently executed instructions, while the second microcode unit provides comprehensive storage for all other instructions. This segmentation resolves the contradiction between comprehensive instruction support and fast access speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different microcode storage locations. The first microcode unit is optimized for speed with smaller size, while the second microcode unit is optimized for capacity with slower access. This local quality differentiation allows the system to achieve both comprehensive instruction support and fast access speed for critical instructions.

Inventive Principle:
Principle #3Local quality

4Device complexity

If a single microcode storage unit is used, then device complexity is reduced, but performance is degraded due to slow access for frequently executed instructions

Engineering Contradiction:
Improvemicrocode unit structureVSAvoidprocessor performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the microcode storage into two units to improve processor performance. Although this increases structural complexity, the performance gain from faster access to frequently executed instructions outweighs the added complexity. The segmented structure enables the processor to execute common instructions faster while maintaining the ability to handle all instruction types.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11467838B2Fastpath microcode sequencer
Publication Date: 2022.10.11 ADVANCED MICRO DEVICES INC
  • US11467838B2 patent drawing
  • US11467838B2 patent drawing
  • US11467838B2 patent drawing

AI summary

Systems, apparatuses, and methods for implementing a fastpath microcode sequencer are disclosed. A processor includes at least an instruction decode unit and first and second microcode units. For each received instruction, the instruction decode unit forwards the instruction to the first microcode unit if the instruction satisfies at least a first condition. In one implementation, the first condition is the instruction being classified as a frequently executed instruction. If a received instruction satisfies at least a second condition, the instruction decode unit forwards the received instruction to a second microcode unit. In one implementation, the first microcode unit is a smaller, faster structure than the second microcode unit. In one implementation, the second condition is the instruction being classified as an infrequently executed instruction. In other implementations, the instruction decode unit forwards the instruction to another microcode unit responsive to determining the instruction satisfies one or more other conditions.