1. Define setup time and hold time in the context of CPU design.
What are setup time and hold time in microarchitecture design, and how do they impact the performance and reliability of a CPU?
2. Discuss the concept of out-of-order execution in CPU processing.
Can you explain what out-of-order execution is and how it affects CPU performance?
3. Explain branch prediction and its role in CPU design.
What is branch prediction in the context of CPU design, and why is it important?
4. Where would you place the forwarding and hazard detection units in a pipelined CPU?
Considering the design of a pipelined CPU, where would you integrate the forwarding unit and the hazard detection unit within the pipeline stages?
5. Describe the 5 stages of a pipelined CPU and how hazard detection is implemented.
In the context of microarchitecture design, explain the 5 stages of a 5-staged pipelined CPU and discuss the implementation of hazard detection within these stages.