160 likes | 288 Vues
This problem set focuses on identifying data dependencies within a given code segment and examining pipeline execution stages for specific instructions. Students are required to determine the number of data dependencies affecting the given operations involving registers and to analyze the execution cycles based on pipelining principles. Furthermore, the exercise encourages optimizing instruction sequences by inserting independent instructions to minimize stalls and improve performance, providing a comprehensive understanding of instruction-level parallelism.
E N D
Problem 1 1. Identify data dependencies in the code segment below. # of dependencies: ____________? i:R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
i: R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
i: R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
i: R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
i: R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
i: R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
i: R2 R0 + R1 j: R3 R0 * R2 k: R5 R2 – R3 l: R2 R6 – R7
Problem 2 2. For the given sequence of instructions, fill the table below with the pipeline stages for each instruction. The first row is already filled for you. Assuming no memory latency, how many cycles does it take to execute his piece of code?
Problem 3 2. Repeat problem 2 but with some independent instruction inserted to reduce stalls.