Processor Instruction Scheduler Using Pre-Computed Ready State

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designers of instruction set architectures (ISAs) face challenges in balancing power consumption and performance, as increasing one often leads to a decrease in the other, and existing processors struggle to efficiently execute instructions due to rediscovery of control and data dependencies at runtime.

Innovation Solution

The processor employs a method where a compiler generates and uses pre-computed ready state information to schedule instructions for execution before fetching or decoding, allowing instructions to be executed atomically and reducing the need for hardware resources, thereby optimizing power consumption and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If instructions are scheduled after fetching and decoding, then the processor can dynamically adapt to runtime conditions, but the processor load and energy consumption increase due to rediscovery of dependencies at runtime

Engineering Contradiction:
Improvedynamic adaptationVSAvoidenergy consumption
Core Design Contradiction:
Extent of automationVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-computing ready state information during compilation. The compiler analyzes control and data dependencies before runtime, generating ready state information that enables the processor to schedule instructions without rediscovering dependencies during execution. This shifts the computational work from runtime to compile time, reducing processor load and energy consumption during actual instruction execution.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If pre-computed ready state information is used for scheduling, then processor load and energy consumption are reduced, but the compiler complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcompiler complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the complex dependency analysis work from the runtime processor and relocates it to the compiler phase. By taking out the dependency discovery function from the execution path and placing it in the compilation phase, the processor is relieved of this computational burden during runtime, improving processing efficiency while concentrating the complexity in the compiler toolchain.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If instructions are executed in traditional order, then the control flow is simple to manage, but pipeline flushes increase due to dependency waiting

Engineering Contradiction:
Improvecontrol flow managementVSAvoidpipeline flushes
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent uses preliminary action by pre-determining instruction readiness states during compilation. This allows the processor to execute instructions as soon as their dependencies are satisfied, regardless of their original program order, without incurring pipeline flushes. The ready state information acts as a pre-computed execution roadmap that guides out-of-order execution while maintaining control.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If more hardware resources are allocated, then instruction execution performance improves, but power consumption increases

Engineering Contradiction:
Improveexecution performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent applies dynamics by enabling dynamic instruction scheduling based on pre-computed ready state information. Instead of allocating fixed large amounts of hardware resources for parallel execution, the system dynamically selects which instructions to execute next based on their readiness state, achieving high utilization of available resources without requiring excessive hardware allocation. This dynamic approach improves performance while keeping power consumption proportional to actual work done.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3289444B1Explicit instruction scheduler state information for a processor
Publication Date: 2019.03.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3289444B1 patent drawingFigure 1
  • EP3289444B1 patent drawingFigure 2~3
  • EP3289444B1 patent drawingFigure 4

AI summary

A method including fetching a group of instructions, where the group of instructions is configured to execute atomically by a processor, is provided. The method further includes scheduling at least one of the group of instructions for execution by the processor before decoding the at least one of the group of instructions based at least on pre-computed ready state information associated with the at least one of the group of instructions.