Threaded Instruction Issue Logic for Hazard-Aware Pipeline Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-thread CPUs for servers face significant hardware overhead and energy waste due to inefficient instruction fetching and execution, particularly in managing multiple software threads.

Innovation Solution

An instruction fetch mechanism that fetches entire cache blocks for multiple hardware threads, storing them in temporary storage locations associated with each thread, and executes instructions from these threads in an interleaved manner, with logic to manage conflicts and hazards using finite state machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-thread CPUs use traditional instruction fetching mechanisms, then high performance can be achieved, but hardware overhead and energy consumption increase significantly

Engineering Contradiction:
Improveprocessing performanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The instruction cache is divided into multiple independent storage locations, with each location dedicated to a specific hardware thread. This segmentation allows each thread to have its own instruction fetch buffer, eliminating the need for complex arbitration and shared buffering logic, thereby reducing hardware overhead and energy consumption while maintaining parallel processing performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instructions are fetched in advance into the temporary storage locations associated with each hardware thread before execution is needed. This preliminary action allows the execution units to operate continuously without waiting for instruction fetch operations, improving productivity while the dedicated storage structure minimizes the hardware required compared to traditional shared caches

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multi-thread CPUs use traditional instruction fetching mechanisms, then high performance can be achieved, but hardware complexity increases significantly

Engineering Contradiction:
Improveprocessing performanceVSAvoidhardware overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The instruction cache is divided into multiple independent storage locations, with each location dedicated to a specific hardware thread. This segmentation allows each thread to have its own instruction fetch buffer, eliminating the need for complex arbitration and shared buffering logic, thereby reducing hardware overhead and energy consumption while maintaining parallel processing performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of using a shared instruction cache that requires complex access control, the system creates separate copies of the instruction cache for each hardware thread. This copying approach simplifies the hardware architecture by removing arbitration logic while enabling parallel instruction fetching without interference between threads

Inventive Principle:
Principle #26Copying

3Device complexity

If instructions are fetched one at a time, then hardware resources are simplified, but execution pipeline efficiency decreases

Engineering Contradiction:
Improvehardware simplicityVSAvoidexecution pipeline efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Instructions are fetched in advance into the temporary storage locations associated with each hardware thread before execution is needed. This preliminary action allows the execution units to operate continuously without waiting for instruction fetch operations, improving productivity while the dedicated storage structure minimizes the hardware required compared to traditional shared caches

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If multiple hardware threads share a common instruction cache, then hardware overhead is reduced, but resource conflicts and hazards increase

Engineering Contradiction:
Improvehardware overheadVSAvoidresource conflict management
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The instruction cache is divided into multiple independent storage locations, with each location dedicated to a specific hardware thread. This segmentation allows each thread to have its own instruction fetch buffer, eliminating the need for complex arbitration and shared buffering logic, thereby reducing hardware overhead and energy consumption while maintaining parallel processing performance

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260017059A1Offer-choose processor
Publication Date: 2026.01.15 INTENSIVATE INC
  • US20260017059A1 patent drawing
  • US20260017059A1 patent drawing
  • US20260017059A1 patent drawing

AI summary

A system can include a plurality of hardware threads, one or more schedulers, and one or more execution pipelines. At least one hardware thread of the plurality of hardware threads can include one or more finite state machines. At least one finite state machine of the one or more finite state machines can be of a first type. The at least one finite state machine can process hazards on instructions. The at least one finite state machine can determine cycles in which the instructions are safe to issue to at least one of the one or more execution pipelines.