Microcode Patch Propagation in Multicore Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-core microprocessors face challenges in efficient communication and synchronization between cores for tasks like power management, cache management, and debugging, as existing methods lack speed, precision, and system-level transparency.

Innovation Solution

A microprocessor architecture that includes a plurality of processing cores, each capable of executing microcode and applying microcode patches, where a first core informs and applies the patch to all other cores, ensuring synchronized operations without executing other microcode instructions during the patching process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If semaphores located in system memory are used for inter-core communication, then system-level transparency is achieved, but communication speed and precision are insufficient

Engineering Contradiction:
Improvecommunication speedVSAvoidsystem-level transparency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the microcode execution space by introducing a dedicated microcode patch execution region that is separate from regular microcode instructions. This allows patch application to occur in an isolated environment, enabling faster and more precise inter-core communication without compromising system-level transparency. The segmentation creates a specialized execution context for patching operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a dedicated patch execution microcode sequence that mediates between the need for fast communication and system-level transparency. This intermediary layer handles the patch application process, allowing cores to communicate efficiently while maintaining the transparency required for system-wide operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If microcode patches are applied to multiple cores simultaneously, then synchronization precision is improved, but complexity of coordinating patch application increases

Engineering Contradiction:
Improvesynchronization precisionVSAvoidcoordination complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the patch application process across multiple cores by having all cores execute the same microcode patch simultaneously from a shared microcode storage location. This consolidation approach achieves precise synchronization without requiring complex coordination logic at each core, as all cores follow the same execution path for patch application.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent prepares the microcode patch in advance in a dedicated storage region before it needs to be applied. The patch is pre-validated and staged in a format ready for simultaneous execution across all cores. This preliminary preparation reduces the coordination complexity during actual patch application, as the cores simply need to retrieve and execute the pre-prepared patch without complex negotiation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If other microcode instructions are executed during patching, then processor productivity is maintained, but patch application reliability decreases

Engineering Contradiction:
Improveprocessor productivityVSAvoidpatch application reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts the patch application process from the regular microcode execution stream by dedicating a specific microcode patch execution region. This extraction isolates the patching operation from other microcode instructions, ensuring that no other instructions are executed during patch application. This maintains reliability while the dedicated region is designed to minimize disruption to overall processor productivity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2843546B1Propagation of microcode patches to multiple cores in multicore microprocessor
Publication Date: 2023.10.11 VIA TECH INC
  • EP2843546B1 patent drawingFigure 1
  • EP2843546B1 patent drawingFigure 2
  • EP2843546B1 patent drawingFigure 3

AI summary

A microprocessor includes a plurality of processing cores, wherein each of the plurality of processing cores executes microcode and comprises hardware to patch the microcode. A first core of the plurality of processing cores is configured to encounter an instruction that instructs the first core to apply a microcode patch. The first core of the plurality of processing cores is further configured to, in response to encountering the instruction, inform each core of the other of the plurality of processing cores of the microcode patch and apply the microcode patch to the hardware of the first core. Each core of the plurality of processing cores other than the first core is configured to apply the microcode patch to the hardware of the core, in response to being informed by the first core.