Answered step by step
Verified Expert Solution
Question
1 Approved Answer
3.2 [10] kl. 8, 3.1, 3.2 Think about what latency numbers really mean they indi- cate the number of cycles a given function requires to
3.2 [10] kl. 8, 3.1, 3.2 Think about what latency numbers really mean they indi- cate the number of cycles a given function requires to produce its output, nothing more. If the overall pipeline stalls for the latency cycles of each functional unit, then you are at least guaranteed that any pair of back-to-back instructions (a "pro- ducer" followed by a "consumer will execute correctly. But not all instruction pairs have a producer/consumer relationship. Sometimes two adjacent instruc tions have nothing to do with each other. How many cycles would the loop body in the code sequence in Figure 3.48 require if the pipeline detected true data dependences and only stalled on those, rather than blindly stalling everything just because one functional unit is busy? Show the code with stall inserted where necessary to accommodate stated latencies. (Hint: An instruction with latency +2 requires two cycles to be inserted into the code sequence. Think of it this way: A one-cycle instruction has latency 1 0, meaning zero extra wait states. So, latency 1 1 implies one stall cycle; latency 1 N has N extra stall cycles
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started