Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Implement a calculation mechanism that evaluates the equations developed in Section 4.3.3 of our textbook for cycles per instruction and pipeline throughput for both cases

Implement a calculation mechanism that evaluates the equations developed in Section 4.3.3 of our textbook for cycles per instruction and pipeline throughput for both cases (without branch prediction and with branch prediction). You may do this by writing a program(s) in the language of your choice, or by developing a spreadsheet(s) in Excel or a compatible spreadsheet program. In either case, the user should be able to specify values for the various parameters in the equations and have the program/spreadsheet generate the corresponding performance data (average cycles per instruction and average throughput). Once you have this "pipeline calculator" working, you will then use it to undertake investigations into what happens as the equation parameters are varied.

Part A: Investigate the effects of varying Pb, Pt, and b (the probabilty of a given instruction being a branch, the probabilty of a branch being taken, and the branch penalty in clock cycles) on the performance of a pipeline without branch prediction. Your investigation should consider a range of values for each parameter, covering at least the ranges of 0.2 to 0.3 for Pb, 0.5 to 0.7 for Pt, and b = 3 to 4 clock cycles. You may go beyond these ranges, and are encouraged to do so if you spot any interesting trends in the data. Within each range, be sure to simulate several intermediate values of the parameter in question in order to get enough data points to produce meaningful graphs. [Note: Bar graphs, pie charts, etc. are not appropriate to illustrate trends in this type of data. A good layout here would have cycles/instruction or throughput on the vertical axis vs. Pb on the horizontal axis. Graphing series of data for various values of Pt should give you a "family of curves" for each value of b, somewhat similar in appearance to the graphs of hit ratio and average memory access time from Assignment 2.] Make tables and graphs of your data for cycles/instruction and pipeline throughput. Thoroughly analyze and discuss your results, noting (and making your best attempt to explain) anything that appears particularly significant or interesting.

Part B: Now investigate the effect of branch prediction on the performance of the pipeline. Set the parameters from Part A to constant values of Pb = 0.25, Pt = 0.60, and b = 4, and vary Pc (the probability of a correct branch prediction) over at least the range of 0.4 to 0.8, with c (the reduced penalty for a correctly predicted taken branch) varied from 0 to 1 to 2 clock cycles. Again, you may go beyond these parameter ranges and are encouraged to do so if you spot any interesting trends in the data. Make tables and graphs of your data (here it would be appropriate to place cycles/instruction or throughput on the vertical axis vs. Pc on the horizontal axis, parameterizing the curves by differing values of c) for cycles/instruction and pipeline throughput. Thoroughly analyze and discuss your results, noting (and making your best attempt to explain) anything that appears particularly significant or interesting.

Each student must submit a report including all of the above data and analysis. You must also submit your spreadsheet file(s) or program(s) that were used to generate the performance data. If you write a custom program, I will need both the source code (in whatever language you chose) and a file(s) I can execute to replicate your calculations, if needed during the grading process. For either a spreadsheet or a custom program, make sure to document the file(s) with sufficient comments so I can tell what is going on and where/how data are input and output.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Neo4j Data Modeling

Authors: Steve Hoberman ,David Fauth

1st Edition

1634621913, 978-1634621915

More Books

Students also viewed these Databases questions

Question

Discuss communication challenges in a global environment.

Answered: 1 week ago