Multi-threaded Processor Instruction Sampling Hardware Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-threaded processors, the replication of sampling mechanisms for each thread leads to increased implementation cost and complexity due to the replication of architectural state, which is not efficiently addressed by existing technologies.

Innovation Solution

A sampling mechanism that shares a single set of hardware for all threads, with per-thread filtering criteria, allowing software to specify which samples are of interest and discarding uninteresting ones, thereby avoiding unnecessary replication and using a single set of hardware filtering criteria.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the sampling mechanism is replicated for each thread, then the sampling accuracy and completeness for each thread is improved, but the implementation cost and device complexity increase significantly

Engineering Contradiction:
Improvesampling accuracyVSAvoidimplementation cost
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a universal sampling mechanism that serves multiple threads simultaneously. A single sampling unit with shared history registers and filtering logic processes instructions from all threads, eliminating the need for separate sampling hardware per thread while maintaining sampling functionality across the entire multi-threaded processor

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

Solution Approach 2:

The patent merges the sampling resources (history registers, filtering logic, tagging mechanisms) into a single shared structure that all threads access. Instead of having independent sampling units for each thread, the system combines these resources into one communal sampling infrastructure that reduces overall hardware complexity

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If the sampling mechanism is shared among all threads, then the implementation cost and device complexity are reduced, but the ability to capture thread-specific sampling patterns may be compromised

Engineering Contradiction:
Improveimplementation costVSAvoidthread-specific sampling capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the sampling configuration into thread-specific filtering criteria while maintaining a unified sampling execution unit. Each thread has its own set of filtering parameters and selection criteria that can be independently configured, allowing the shared sampling mechanism to adapt to different thread-specific sampling requirements

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic thread identification and filtering within the shared sampling mechanism. The system dynamically determines which thread an instruction belongs to and applies appropriate thread-specific filtering criteria, enabling the shared hardware to adaptively handle different sampling requirements for different threads

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8826241B2Instruction sampling in a multi-threaded processor
Publication Date: 2014.09.02 SUN MICROSYSTEMS INC
  • US8826241B2 patent drawing
  • US8826241B2 patent drawing
  • US8826241B2 patent drawing

AI summary

A method of sampling instructions executing in a multi-threaded processor which includes selecting an instruction for sampling, storing information relating to the instruction, determining whether the instruction includes an event of interest, and reporting the instruction if the instruction includes an event of interest on a per-thread basis. The event of interest includes information relating to a thread to which the instruction is bound.