Single Cycle Instruction Pipeline Scheduling via Segmented Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional single-cycle instruction pipelines face limitations due to timing constraints that restrict the number of instructions that can be held in the scheduler queue, as they require broadcasting destination register information within a single cycle, which can be insufficient for instructions with longer latencies, such as floating-point operations.

Innovation Solution

Implementing a processor with a dual-pipeline architecture that supports both single-cycle and multi-cycle latency, where dependent instructions are marked as ready as soon as all older single-cycle instructions are ready, eliminating the need for destination register broadcasting and allowing for program-order execution, thereby avoiding hazards and optimizing pipeline utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If single-cycle latency pipeline is used to pick and broadcast destination register information in one cycle, then pipeline throughput is improved, but the number of instructions that can be held in the scheduler queue is limited due to timing constraints

Engineering Contradiction:
Improvepipeline throughputVSAvoidnumber of instructions in scheduler queue
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The instruction pipeline is segmented into multiple independent pipelines with different latency characteristics. Single-cycle pipelines handle instructions that can complete in one cycle, while multi-cycle pipelines handle instructions requiring longer execution time. This segmentation allows each pipeline type to be optimized independently, resolving the contradiction between throughput and queue capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically allocates instructions to appropriate pipelines based on their latency requirements. Instructions are classified as single-cycle or multi-cycle instructions, and the scheduler dynamically directs them to the suitable pipeline type. This dynamic adaptation allows the system to maintain high throughput for single-cycle instructions while accommodating longer-latency instructions in multi-cycle pipelines without compromising the overall queue capacity.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multi-cycle latency pipeline is used to accommodate longer latency instructions, then instructions with longer execution times can be processed, but dependent instructions have to wait two or more cycles before determining readiness

Engineering Contradiction:
Improveability to process longer latency instructionsVSAvoidwaiting time for dependent instructions
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The pipeline system is divided into single-cycle and multi-cycle pipeline segments. Single-cycle instructions are processed in the single-cycle pipeline with immediate destination register broadcasting, eliminating wait time for dependent instructions. Multi-cycle instructions are processed in dedicated multi-cycle pipelines, isolating their longer latency impact to specific instruction types rather than affecting the entire pipeline.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduler acts as an intermediary that classifies instructions and directs them to appropriate pipeline types. By inserting this intermediary layer, the system can match instruction latency requirements with pipeline capabilities, preventing unnecessary waiting for dependent instructions while still accommodating long-latency operations through proper routing to multi-cycle pipelines.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If destination register broadcasting is performed in a single cycle, then timing constraints are satisfied, but the number of entries in the scheduler queue that can receive broadcast values is limited

Engineering Contradiction:
Improvebroadcasting speedVSAvoidnumber of entries receiving broadcast values
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The broadcasting function is segmented and applied selectively: single-cycle pipelines perform immediate destination register broadcasting within one cycle for instructions that complete quickly, while multi-cycle pipelines use deferred broadcasting for instructions with longer execution times. This segmentation allows the system to maintain fast broadcasting speed where applicable while expanding queue capacity for instructions that don't require immediate broadcasting.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9959122B2Single cycle instruction pipeline scheduling
Publication Date: 2018.05.01 ADVANCED MICRO DEVICES INC
  • US9959122B2 patent drawing
  • US9959122B2 patent drawing
  • US9959122B2 patent drawing

AI summary

A method includes allocating a first single-cycle instruction to a first pipeline that picks single-cycle instructions for execution in program order. The method further includes marking at least one source register of the first single-cycle instruction as ready for execution in the first pipeline in response to all older single-cycle instructions allocated to the first pipeline being ready and eligible to be picked for execution. An apparatus includes a decoder to decode a first single-cycle instruction and to allocate the first single-cycle instruction to a first pipeline. The apparatus further includes a scheduler to pick single-cycle instructions for execution by the first pipeline in program order and to mark at least one source register of the first single-cycle instruction as ready for execution in the first pipeline in response to determining that all older single-cycle instructions allocated to the first pipeline are ready and eligible.