Reduced Size Register View Data Structure for Microprocessor Context Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures face inefficiencies in handling multiple threads due to the overhead of duplicating architecture state elements for each thread, leading to increased area, power consumption, and complexity, especially when dealing with fine-grain parallelism and context switching.

Innovation Solution

Implementing a reduced size register view data structure in a microprocessor by grouping instructions into blocks, using multiplexers to access ports of a scheduling array, and storing instruction blocks as chunks, which reduces the number of registers needed and optimizes context switching through instruction block management and dependency tracking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If hardware duplicates all architecture state elements for each supported thread, then context switch overhead is eliminated, but area, power consumption, and complexity increase

Engineering Contradiction:
Improvecontext switch overheadVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The architecture state is segmented into two parts: a small set of explicitly supported hardware threads with full state duplication, and a larger set of software threads that share the hardware resources. This segmentation allows the system to eliminate context switch overhead for hardware threads while avoiding the complexity of duplicating state for all threads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware architecture is designed to support multiple functions: it can explicitly support a limited number of hardware threads with full state duplication, while simultaneously providing a mechanism to handle a much larger number of software threads through shared resources and software-managed context switching.

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

2Loss of time

If hardware duplicates all architecture state elements for each supported thread, then context switching between hardware threads is eliminated, but area and power consumption increase

Engineering Contradiction:
Improvecontext switch timeVSAvoidhardware area
Core Design Contradiction:
Loss of timeVSArea of stationary object

Solution Approach 1:

The thread support is segmented into hardware threads with full state duplication for fast switching, and software threads that share hardware resources. This allows the system to achieve fast context switching for hardware threads without duplicating state elements for all possible threads, thus reducing hardware area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of creating physical copies of all state elements for every possible thread, the system creates copies only for explicitly supported hardware threads. Software threads share the physical hardware state elements, reducing the total area required while maintaining fast switching capability for hardware threads.

Inventive Principle:
Principle #26Copying

3Loss of time

If a large number of threads are supported in hardware with duplicate context-state storage, then context switch overhead is reduced, but the system becomes less efficient for fine-grain parallelism

Engineering Contradiction:
Improvecontext switch overheadVSAvoidfine-grain parallelism efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system segments thread management into hardware-supported threads for coarse-grain parallelism and software-managed threads for fine-grain parallelism. This allows hardware to optimize for fast context switching while software handles the overhead of fine-grain thread management, achieving efficiency in both domains.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Software acts as an intermediary between the hardware thread mechanism and fine-grain parallelism requirements. The hardware provides fast context switching for explicitly supported threads, while software manages the creation, synchronization, and coordination of fine-grain threads, eliminating hardware overhead for fine-grain parallelism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9891924B2Method for implementing a reduced size register view data structure in a microprocessor
Publication Date: 2018.02.13 INTEL CORP
  • US9891924B2 patent drawing
  • US9891924B2 patent drawing
  • US9891924B2 patent drawing

AI summary

A method for implementing a reduced size register view data structure in a microprocessor. The method includes receiving an incoming instruction sequence using a global front end; grouping the instructions to form instruction blocks; using a plurality of multiplexers to access ports of a scheduling array to store the instruction blocks as a series of chunks.