subject

Problems in this exercise refer to the following sequence of instructions: or r1,r2,r3
or r2,r1,r4
or r1,r1,r2
Also, assume the following cycle times for each of the options related to forwarding:
LvwIno-KNMFEHQcgLMwL0r3E6xL95nbeRNo mFEPV
Part 1: Indicate dependences and their type.
Read after write dependency in r1 between Instructions 1 and 2 & 3.
Read after write dependency in r2 between Instructions 2 and 3.
Write after read in r2 from Instruction 1 to 2.
Write after read in r1 from Instruction 2 to 3.
Write after read in r1 from Instruction 1 to 3.
Part 2: Assume there is no forwarding in this pipelined processor. Indicate hazards and add nop instructions to eliminate them.
No hazards from write after read and write after write, since there are 5 stages.
Read after writes cause data hazards.
or r1, r2, r3
NOP
NOP
or r2, r1, r4
NOP
NOP
or r1, r1, r2
Part 3: Assume there is full forwarding. Indicate hazards and add NOP instructions to eliminate them.
In full forwarding the data hazards above are eliminated, thus there is no need for NOP instructions.
Part 4: What is the total execution time of this instruction sequence without forwarding and with full forwarding?
Without forwarding:
TotalExecutionTime=(7 + 4) x 250ps = 2750ps
Full forwarding:
TotalExecutionTime=(7 + 0) x 300ps = 2100ps
What is the speedup achieved by adding full forwarding to a pipeline that had no forwarding?
Speed up: 2750 / 2100 = 1.3095
Part 5: Add nop instructions to this code to eliminate hazards if there is ALU-ALU forwarding only (no forwarding from the MEM to the EX stage).
Part 6: What is the total execution time of this instruction sequence with only ALU-ALU forwarding? What is the speedup over a no-forwarding pipeline?

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 11:30
Write a function so that the main program below can be replaced by the simpler code that calls function original main program: miles_per_hour = float( minutes_traveled = float( hours_traveled = minutes_traveled / 60.0 miles_traveled = hours_traveled * miles_per_hour print('miles: %f' % miles_traveled) sample output with inputs: 70.0 100.0 miles: 116.666667
Answers: 3
question
Computers and Technology, 23.06.2019 00:30
Which of the following would you find on a network
Answers: 3
question
Computers and Technology, 23.06.2019 18:30
Report all segments of identity by descent longer than 20 polymorphisms between pairs of individuals in the following cohort of 15 individuals across 49 polymorphisms: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 numeric input 2 points possible (graded) you have 2 attempts to complete the assignment below. for example if the sequence is "bcd", which occurs in "abcdef" , the starting point would be 2 (b), and the finishing point would be 4(d). individuals 7,10 between positions
Answers: 1
question
Computers and Technology, 24.06.2019 22:00
Ican’t open these when it’s just a comment. someone pls explain why this is happening
Answers: 1
You know the right answer?
Problems in this exercise refer to the following sequence of instructions: or r1,r2,r3
or r2...
Questions
question
Mathematics, 28.09.2019 18:10
Questions on the website: 13722362