Processor Dynamic Instruction Scheduling Operand Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor architectures are inefficient in executing instructions that require results from previous operations as operands, leading to suboptimal execution of arithmetic-intensive algorithms and graphics applications.

Innovation Solution

A novel processor architecture that schedules instructions based on operand availability, allowing results to be propagated and stored efficiently, enabling execution of instructions when all necessary operands are ready, and using a routing table to direct results to subsequent instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If instructions are executed in a fixed sequential order, then the processor architecture is simple, but execution efficiency deteriorates when operands are not yet available

Engineering Contradiction:
Improveexecution efficiencyVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor implements dynamic instruction scheduling where the execution order of instructions is not fixed but adapts based on operand availability. The scheduling logic dynamically determines when each instruction can be executed by checking whether required operands are present, allowing the processor to optimize execution flow in real-time without requiring complex hardware reconfiguration

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The processor performs preliminary checks to determine operand availability before executing instructions. By evaluating whether required operands are ready in advance, the processor can schedule instructions optimally without stalling, effectively performing the scheduling decision work before the actual execution phase

Inventive Principle:
Principle #10Preliminary action

2Productivity

If results are immediately propagated to all potential subsequent instructions, then execution efficiency improves, but memory structure complexity increases

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidmemory structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor introduces an intermediary operand storage structure that temporarily holds results until they are needed by subsequent instructions. This intermediary layer decouples the production of results from their consumption, allowing efficient result propagation without requiring complex direct interconnections between all instruction units

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The operand storage is segmented into multiple regions or slots, each potentially holding results for different subsequent instructions. This segmentation allows organized storage and retrieval of operands, improving access efficiency while maintaining a manageable memory structure that can be scaled without proportionally increasing complexity

Inventive Principle:
Principle #1Segmentation

3Reliability

If the processor waits for all operands to be available before executing an instruction, then execution accuracy is ensured, but execution time increases

Engineering Contradiction:
Improveexecution correctnessVSAvoidinstruction execution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor implements a feedback mechanism where the scheduling logic continuously monitors operand availability and adjusts instruction execution timing accordingly. This feedback loop ensures that instructions are executed at the optimal moment when all operands are ready, maintaining execution correctness while minimizing delays by not waiting unnecessarily

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7716455B2Processor with automatic scheduling of operations
Publication Date: 2010.05.11 STMICROELECTRONICS INT NV
  • US7716455B2 patent drawing
  • US7716455B2 patent drawing
  • US7716455B2 patent drawing

AI summary

A high speed processor. The processor includes terminals that each execute a subset of the instruction set. In at least one of the terminals, the instructions are executed in an order determined by data flow. Instructions are loaded into the terminal in pages. A notation is made when an operand for an instruction is generated by another instruction. When operands for an instruction are available, that instruction is a “ready” instruction. A ready instruction is selected in each cycle and executed. To allow data to be transmitted between terminals, each terminal is provided with a receive station, such that data generated in one terminal may be transmitted to another terminal for use as an operand in that terminal. In one embodiment, one terminal is an arithmetic terminal, executing arithmetic operations such as addition, multiplication and division. The processor has a second terminal, which contains functional logic to execute all other instructions in the instruction set. The invention is useful for arithmetic intensive applications, such as graphic processors.