Question: Consider the following code: LDR r1,[r6] ; Load r1 from memory. r6 is a pointer ADD r1,r1,#1 ; Increment r1 by 1 LDR r2,[r6,#4] ;

Consider the following code:

LDR r1,[r6] ; Load r1 from memory. r6 is a pointer ADD r1,r1,#1 ; Increment r1 by 1 LDR r2,[r6,#4] ; Load r2 from memory ADD r2,r2,#1 ; Increment r2 by 1 ADD r3,r1,r2 ; Add r1 and r2 with total in r3 ADD r8,r8,#4 ; Increment r8 by 4 STR r2,[r6,#8] ; Store r2 in memory SUB r2,r2,#64 ; Subtract 64 from r2 

The processor has a five-stage pipeline F O E M S; that is, instruction fetch, operand fetch, operand execute, memory, operand writeback to register file.

a. How many cycles does this code take to execute assuming internal forwarding is not used?

b. How many cycles does this code take to execute assuming internal forwarding is used? State any assumptions you have about the forwarding used.

c. How many cycles does the code take to execute assuming that it can be reordered, with no internal forwarding? show the re-ordering.

d. How many cycles does the code take to execute assuming both reordering and internal forwarding are used?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!