Question

In: Computer Science

Assume that a machine includes a floating point (FP) unit, which contains an FP square root...

Assume that a machine includes a floating point (FP) unit, which contains an FP square root

(FPSQR) instruction. Suppose we have the following measurements. Frequency of FP operations = 20%, Frequency of FPSQR = 4% Average CPI of FP operations = 4.0, CPI of FPSQR = 20

Average CPI of other instructions (non-FP instructions) = 1.4

  1. What is the average CPI of the machine?

  2. If the average CPI of FP is decreased to 3, what is the average CPI of the new machine?

  3. If the CPI of FPSQR is decreased to 2, what is the average CPI of the new machine?

  4. Which design improvement is better of b and c?

Solutions

Expert Solution

SOLUTION-

Given,
Frequency of FP operations =20%,
Frequency of FPSQR = 4%
Average CPI of FP operations = 4.0,
CPI of FPSQR=20
Average CPI of other instructions(no-FP instructions) = 1.4
100 - 20 (Freq FP ) = 80 (Freq non-FP)

(a) What is the average CPI of the machine?
Answer:
CPI machine= (CPI FP ∗ Freq FP) + (CPI non−FP ∗ Freq non−FP)

= (4.0∗20%) + (1.4∗80)
= (4.0∗0.2) + (1.4∗0.8)
= 0.8 + 1.92
= 2.72 (Average CPI original)

(b) If the average CPI of FP is decreased to 3, what is the average CPI of the new machine?Answer:
CPI new = CPI avg − Freq FP ∗ (CPI FP − CPI FPnew)

= 2.72 − 20 ∗ (4−3)
= 2.72 − 0.2 ∗ (4−3)
= 2.72 - 0.2 * 1
= 2.52 (CPI new average)

(c) If the CPI of FPSQR is decreased to 2, what is the average CPI of the new machine?Answer:
CPI new=CPI avg−Freq FPSQR∗(CPI FPSQR−CPI FPSQRnew)

= 2.72 − 4 ∗ (20−2)
= 2.72 − 0.04 (18)
= 2.72 − 0.72
= 2 (CPI new average)

(d) Which design improvement is better of b and c?
Answer:
Speed FP = CPI avg / CPI new

= 2.72 / 2.52
= 1.07

Speed FP = CPI avg / CPI new
= 2.72 / 2
= 1.36

So we can say that B is a better improvement.

IF YOU HAVE ANY DOUBT PLEASE COMMENT DOWN BELOW I WILL SOLVE IT FOR YOU:)
----------------PLEASE RATE THE ANSWER-----------THANK YOU!!!!!!!!----------


Related Solutions

Assume that you have a 12-bit floating point number system, similar to the IEEE floating point...
Assume that you have a 12-bit floating point number system, similar to the IEEE floating point standard, with the format shown below and a bias of 7. The value of a floating point number in this system is represented as    FP = (-1)^S X 1.F X 2^(E-bias) for the floating point numbers A = 8.75 and B = -5.375. The binary representation of A is given as A = 0101 0000 1100 Show the hexidecimal representation of B.
show the root sum square method for describing the total uncertainty of a quantity, which depends...
show the root sum square method for describing the total uncertainty of a quantity, which depends on a set of parameters called Xi (i=1,n) explain the roll of the sensitivity coefficient of each parameters. This is experimental fluid dynamics question, please explain nicely
Write a function double mysqrt( double x ) which computes the value of the square root...
Write a function double mysqrt( double x ) which computes the value of the square root of x using the bisection method. First you need to set the left and right bounds for x. If 0<x<1 then lt = x and rt = 1 and the sqrt(x) is somewhere in between. If x > 1 then lt = 1 and rt = x and sqrt(x) is somewhere in between. In a loop you need to compute the mid value between...
Chi-square test. The past output of a machine indicates that each unit it produces will be...
Chi-square test. The past output of a machine indicates that each unit it produces will be P(top grade) = 40% P(high grade) = 30% P(medium grade) = 20% P(low grade) = 105 A new machine produces 500 units and shows the following results Top = 234 high =117 medium = 81 and low = 68 Can the difference in output be solely due to chance?
**C++** Output each floating-point value with two digits after the decimal point, which can be achieved...
**C++** Output each floating-point value with two digits after the decimal point, which can be achieved by executing cout << fixed << setprecision(2); once before all other cout statements. (1) Prompt the user to input a wall's height and width. Calculate and output the wall's area. (2 pts) Note: This zyLab outputs a newline after each user-input prompt. For convenience in the examples below, the user's input value is shown on the next line, but such values don't actually appear...
Choose a point at random from the unit square [0, 1] × [0, 1]. We also...
Choose a point at random from the unit square [0, 1] × [0, 1]. We also choose the second random point, independent of the first, uniformly on the line segment between (0, 0) and (1, 0). The random variable A is the area of a triangle with its corners at (0, 0) and the two selected points. Find the probability density function (pdf) of A.
Q1)Calculate the root mean square velocity and kinetic energy of CO,CO2and SO3 at 298K. •Which has...
Q1)Calculate the root mean square velocity and kinetic energy of CO,CO2and SO3 at 298K. •Which has the greatest velocity? •the greatest kinetic energy? •the greatest effusion rate? Q2)Calculate the rate effusion rates for Ar and Kr.
6. Pick a uniformly chosen random point (X, Y ) inside a unit square [0, 1]×[0,...
6. Pick a uniformly chosen random point (X, Y ) inside a unit square [0, 1]×[0, 1], and let M = min(X, Y ). Find the probability that M < 0.3.
Which option below provides the best description of the relationship between a quadratic parent function and a square root parent function?
Which option below provides the best description of the relationship between a quadratic parent function and a square root parent function?  A. The square root function is the quadratic function reflected across the y-axis.  B. The quadratic function and square root functions have no inverse.  C. The square root function is the quadratic function reflected across the line y = x, with a limited domain.  D. The square root function is the quadratic function reflected across the x-axis
We will now simulate numpy.random(), which produces floating-point values in the range [0..1). To do this,...
We will now simulate numpy.random(), which produces floating-point values in the range [0..1). To do this, it is simply necessary to convert integers in the range [0..?)[0..m) returned by my_random_int() to floating point numbers in the range [0..1).[0..1). Hint: Easily done by division! # my_random returns a random floating-point number within [0, 1) def my_random(): # your code here return 0   # just to get it to compile # Test it! my_seed(0) for x in range(0,10): print(my_random()) CODE GIVEN: a...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT