Multithreaded Processor Fast Slow Path Pipeline Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessor performance improvements through increased clock speed and pipeline reorganization often result in impaired performance-per-cycle due to longer pipelines, which can lead to increased latency and reduced instructions per clock cycle, especially when handling both general-purpose and digital signal processing functions.

Innovation Solution

Implementing multiple pipelines of differing lengths, with intelligent instruction scheduling that routes instructions based on their requirements, and replicating the arithmetic pipeline to maintain low latency for easier instructions while allowing more cycles for complex DSP operations, effectively managing latency and clock speed improvements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the pipeline is reorganized to increase clock speed, then the clock speed is improved, but the performance-per-cycle is impaired due to longer pipeline

Engineering Contradiction:
Improveclock speedVSAvoidperformance-per-cycle
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The pipeline is segmented into multiple execution paths with different lengths. The fast path is optimized for simple RISC instructions with shorter latency, while the slow path handles complex DSP instructions with longer latency. This segmentation allows the pipeline to maintain high clock speed while preserving performance-per-cycle for different instruction types by routing them through appropriate paths.

Inventive Principle:
Principle #1Segmentation

2Speed

If the pipeline length is increased to improve clock speed, then the clock speed is improved, but the latency is increased

Engineering Contradiction:
Improveclock speedVSAvoidlatency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

Different parts of the pipeline are given different qualities and lengths. The fast path contains fewer pipeline stages optimized for quick execution of simple instructions, while the slow path has more stages for complex instructions. This local differentiation allows the system to achieve high clock speed overall while maintaining low latency for the majority of simple RISC instructions that pass through the fast path.

Inventive Principle:
Principle #3Local quality

3Loss of time

If multiple pipelines are implemented to maintain low latency, then the latency is reduced, but the device complexity is increased

Engineering Contradiction:
ImprovelatencyVSAvoidpipeline structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Multiple execution paths are merged into a unified pipeline structure that shares common resources such as the instruction fetch unit, decode logic, and register file. The fast and slow paths converge at key stages, allowing the system to provide low-latency execution for simple instructions while handling complex instructions through the extended path, without duplicating entire pipeline structures and thereby controlling device complexity.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If instructions are routed to different pipelines based on requirements, then the instructions per clock cycle is improved, but the scheduling complexity is increased

Engineering Contradiction:
Improveinstructions per clock cycleVSAvoidscheduling logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The instruction scheduler performs preliminary classification and routing of instructions before they enter the execution pipeline. Instructions are pre-analyzed and directed to the fast or slow path based on their type and complexity requirements. This preliminary action ensures that instructions are optimally distributed across execution paths, maximizing instructions per clock cycle while keeping scheduling logic manageable through rule-based classification rather than complex dynamic optimization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8560813B2Multithreaded processor with fast and slow paths pipeline issuing instructions of differing complexity of different instruction set and avoiding collision
Publication Date: 2013.10.15 MIPS TECH INC
  • US8560813B2 patent drawing
  • US8560813B2 patent drawing
  • US8560813B2 patent drawing

AI summary

A method and apparatus are provided for executing instructions from a plurality of instruction threads on a multi-threaded processor. The instruction threads may each include instructions of different complexity. A plurality of pipelines for executing instructions are provided and an instruction scheduler determines on each clock cycle the pipelines upon which instructions will be executed. Some of the pipelines are configured to appear to the instruction threads as single pipelines but in fact include two pipeline paths, one for executed instructions of lower complexity and the other. The instruction scheduler determines on which of the two pipeline paths an instruction should execute.