Answered step by step
Verified Expert Solution
Question
1 Approved Answer
You are given the following code. Note that floating - point instructions use floating point registers labeled f . Integer instructions use integer registers labeled
You are given the following code. Note that floatingpoint instructions use floating point registers labeled f Integer instructions use integer registers labeled x Remember that the first operand is the destination. The memory address referenced in fld and fsd are obtained by adding the displacement to the value in the index register.
loop: fld fx
fld fx
fadd fff
fsub fff
fmul f f f
fsd fx
subi x x
subi xx
bnz x loop
We are given the following latencies for the different types of instructions.
Floating Point AddSub
Floating point Multiply
LoadStore
Integer arithmetic
Branch if not taken
Branch if taken
a Show how many cycles are needed to complete one iteration without reordering. DO NOT use delayed branch.
b Reorder instructions and show how many cycles are needed to complete one iteration. BE CAREFUL
TO ADJUST OFFSETS WITH fsd WHEN YOU REORDER INSTRUCTIONS.
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