Instruction Rearrangement for Pipeline Dependency Delays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In processor pipelining, instructions with dependencies can lead to reduced execution efficiency due to suspended execution until previous instructions yield results, resulting in longer execution times.
Innovation Solution
A program instruction rearrangement method that calculates dependency depth and rearranges instructions based on dependencies, removing redundant move instructions and optimizing execution order to reduce dependency delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If instructions are executed in original program order through pipelining, then instruction execution can be parallelized, but execution is suspended when dependency conflicts occur, reducing execution efficiency
Solution Approach 1:
The patent performs preliminary analysis of instruction dependencies before execution, calculating dependency depths and identifying instructions that can be safely reordered. This preliminary preparation enables the pipeline to execute instructions in an optimized order without encountering dependency conflicts during runtime, thereby improving execution efficiency and reducing suspension delays
2Reliability
If instructions with register dependencies are executed sequentially in pipeline, then data correctness is maintained, but the pipeline stalls waiting for previous instructions to complete, increasing total execution time
Solution Approach 1:
The patent dynamically determines the execution order of instructions based on calculated dependency depths. Instructions are assigned dynamic execution slots that reflect their actual dependency relationships rather than following static program order. This dynamic reordering maintains data correctness while maximizing pipeline throughput by preventing stalls
3Ease of manufacture
If redundant move instructions are present in the program, then program logic is explicit, but execution time increases and pipeline efficiency decreases
Solution Approach 1:
The patent identifies and removes redundant move instructions from the program before execution. By analyzing register usage patterns and dependency relationships, the system discards unnecessary intermediate move operations that do not contribute to the final computation, thereby reducing execution time and improving pipeline efficiency while preserving program functionality
Data Source
AI summary
A program instruction rearrangement method calculates the dependency depth of each instruction of a program based on dependency between instructions, based on register access order, and rearranging instructions based on the dependency depth. Additionally, the dependency between instructions can be utilized to locate and remove redundant instructions.


