Processor Link Stack Synchronization via Detection Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Processor architectures often fail to accurately recognize procedure return sequences, leading to link stack misalignment and erroneous return address predictions, which can cause instruction fetching errors and performance issues.
Innovation Solution
Incorporating detection logic circuitry within the processor to identify POP and branch instruction sequences as procedure return sequences, allowing for early retrieval of return addresses from a link stack instead of a software stack, thereby maintaining correct instruction fetching.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the processor uses traditional software stack retrieval for procedure returns, then the implementation is simple, but the link stack becomes out of sync leading to address mispredictions
Solution Approach 1:
The detection logic circuitry performs preliminary identification of POP and branch instruction sequences before execution, allowing the fetch logic to proactively retrieve return addresses from the link stack in advance, preventing synchronization issues before they occur
Solution Approach 2:
The detection logic circuitry acts as an intermediary between the instruction decode logic and the fetch logic, analyzing instruction sequences and triggering appropriate fetch operations based on detected POP-branch patterns
2Productivity
If the processor waits for instruction execution to retrieve return addresses, then the hardware logic is simple, but instruction fetching efficiency decreases
Solution Approach 1:
The fetch logic circuitry performs preliminary retrieval of return addresses from the link stack upon detecting POP-branch sequences, rather than waiting for instruction execution to complete, thereby overlapping fetch operations with execution and improving throughput
Solution Approach 2:
By proactively fetching return addresses upon detection of return sequences, the fetch logic maintains continuous operation without idle waiting periods, keeping the instruction pipeline full and improving overall productivity
3Speed
If the processor uses link stack for speculative fetching, then instruction fetching is accelerated, but erroneous return address information causes address mispredictions
Solution Approach 1:
The detection logic circuitry provides feedback to the fetch logic about identified POP-branch sequences, enabling the fetch logic to selectively use link stack addresses only when appropriate, preventing mispredictions while maintaining speed benefits
Data Source
AI summary
A method for retrieving a return address from a link stack when returning from a procedure in a pipeline processor is disclosed. The method identifies a retrieve instruction operable to retrieve a return address from a software stack. The method further identifies a branch instruction operable to branch to the return address. The method retrieves the return address from the link stack, in response to both the instruction and the branch instruction being identified and fetches instructions using the return address.


