Question
Problem 1. Exploring Instruction Flow and and Instruction level parallelism: Calculate the ILP for each of the following scenarios. Use a table to record the
Problem 1. Exploring Instruction Flow and and Instruction level parallelism:
Calculate the ILP for each of the following scenarios. Use a table to record the relevant dependencies as part of your answer. A sample table is provided at the end of this problem. a. Observe all register data (RAW, WAR, WAW) and control dependencies and assume the conditional branch (statement E) is not-taken (falls through to F). b. Repeat (a), but only for true dependencies (and no control dependencies; I.e., (F) will be executed in the instruction stream) c. Repeat (a), but only for true dependencies (no control dependencies) and assuming (E) is taken (branch to J). HINT: The intention of the problem is not to use a specific pipeline. It is however, to identify different kinds of data dependences and the degree of ILP (Instruction Level Parallelism) achievable.
Normally you want do this graphically using a data flow graph. Where a node of the graph is one instruction (A, B, C, ...) and you have a directed edge from one node to the other if there is a dependence. You may want to use a different color for different dependence types. Once you have the graph, you can find out what would be the maximum parallelism you would obtain for that graph (computation) if you had all the hardware you needed. So then the depth of the data flow graph gives us the minimum execution time possible for the graph. The total number of instructions in the graph will give up the execution time with out any extra hardware. This means every thing must be executed sequentially and one at a time. Then ILP is defined as = (Number of instructions in dataflow graph)/(depth of dataflow graph). Sample table to produce to show your work for each senarion: If there is a RAW dependency between A and C and WAR dependency between F and C then
I am looking for a precise answer please answer it if you know the concept please explain each section to help me to understand the answers perfectly. thanks
Top: A. LOAD R 1=Mem[1234] B. LOAD R2 = Mem[42] C. ADDR4=R1+R2 D. LOAD R3 = Mem[1976] E. BEQ R4, \#0, Foo F. SUB R 1=R3#1 G. XOR R5 =R10xffffffff H. ADDR1=R1+1 I. JUMP Bar Foo: J. LOADR3 =Mem[2000] K. ADDR2=R4+#13 L. MULR3=R3R2 Bar: M. ADDR2=R4+R5 N. SUB R4 =R1#8 O. XOR R 1=R3 ^ 0xf0f0f0f0 \begin{tabular}{|l|l|l|} \hline RAW & WAR & WAW \\ \hline A-C & F-C & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline & & \\ \hline \end{tabular}Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started