Arithmetic Processing Device Dual-Holder Reservation Station
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The efficiency of arithmetic processing devices decreases when the number of instructions held in reservation stations increases, leading to delayed detection of dependencies and reduced processing efficiency.
Innovation Solution
The device incorporates a dual-holder system within the instruction hold unit, where a first holder with multiple entries holds decoded instructions and a second holder with fewer entries registers selected instructions for dependency detection, allowing for faster identification of executable instructions and improved bypass processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of instructions held in reservation stations increases, then the efficiency of instruction processing improves, but the time required for dependency detection increases
Solution Approach 1:
The reservation station is divided into two separate holders: a first holder that receives and holds decoded instructions, and a second holder that holds instructions ready for execution. This segmentation allows the system to manage large numbers of instructions efficiently while keeping dependency detection fast by limiting the scope of comparison to the smaller second holder.
Solution Approach 2:
The system performs preliminary action by detecting dependencies between instructions in the first holder and instructions in the second holder before execution. This advance detection allows the scheduler to identify and resolve dependencies early, preventing delays in instruction execution while maintaining the ability to hold many instructions.
2Productivity
If the number of instructions held in reservation stations increases, then more instructions can be processed in parallel, but the detection of dependencies may not end within the same cycle
Solution Approach 1:
By segmenting the reservation station into two holders with different functions, the system ensures that dependency detection is performed on a limited set of instructions in the second holder, guaranteeing completion within one cycle while still allowing many instructions to be processed in parallel through the first holder.
Solution Approach 2:
The second holder acts as an intermediary between the first holder (which holds all decoded instructions) and the execution units. This intermediary structure enables efficient dependency detection by providing a small, manageable set of candidate instructions for comparison, ensuring reliable detection completion while maintaining high parallel processing capability.
3Device complexity
If a single holder is used to hold all decoded instructions, then device complexity is reduced, but dependency detection becomes slower
Solution Approach 1:
The reservation station is segmented into two holders with distinct roles: the first holder for receiving and storing decoded instructions, and the second holder for holding instructions ready for execution with fast dependency detection. This segmentation achieves fast dependency detection by limiting the comparison scope to the smaller second holder, while the overall device complexity remains manageable through clear functional separation.
Data Source
AI summary
An arithmetic processing device includes an instruction decode unit, an instruction execution unit and an instruction hold unit, wherein the instruction hold unit includes; a first holder including a plurality of first entries each configured to hold a decoded instruction; a second holder including a smaller number of second entries than the number of the first entries; a first selector configured to select an instruction to be registered in the second holder from instructions held in the first entries and store identification information that identifies the selected instruction into any of the second entries; and a second selector configured to sequentially select an executable instruction from instructions registered in the second holder, input the selected executable instruction to the instruction execution unit, and detect a dependency between the instruction inputted to the instruction execution unit and the instructions registered in the second holder.


