Question: Problem 6 Consider the following segment of a program. Assume all registers were initialized to 0 before execution. ADD R 1 , R 1 ,
Problem
Consider the following segment of a program. Assume all registers were initialized to before
execution.
ADD R R #
MUL R R #
DIV R R #
ADD R R #
SUB R R R
This code is run on a pipelined, outoforder machine with functional units add subtract,
multiply, divide The add and subtract functional units take cycle to execute. The multiply
functional unit takes cycles to execute, and the divide functional unit takes cycles to
execute.
Depict a dataflow diagram of the program segment.
How many cycles would this program segment take to run, if the machine were utilizing
the original Tomasulo algorithm, ie no Reorder Buffer.
How many cycles would this program segment take to run, if the machine were utilizing
the improved Tomasulo algorithm, ie there is a Reorder Buffer.
Compare your answers to questions and Is the original version faster? Is it closer in
execution to your dataflow diagram from question If so why do we prefer the
improved version? Is the problem of the original algorithm showcased in this program
segment?
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
