The content of student presentations will not be included in this quiz but may be covered on the final exam. This quiz covers pipelining and code optimization. Review the hints for Quiz 4, since Quiz 5 also involves assembly language programming. For this quiz, also be able to: -- Describe the tasks performed in each stage of the Fetch-Decode-Execute-Memory-Writeback-PC pipeline. -- Schedule instructions in such a pipeline, and see where bubbles occur due to data dependencies and branches. -- Explain why function calls and possible memory aliasing block optimization by compilers. -- Use loop unrolling, reassociation, and separate accumulators to reduce cycles per inner iteration. -- Use latencies and cycles/issue to predict program performance. -- Solve B&H Chapter 4 Practice Problems 4.26, 4.27. -- Solve B&H Chapter 5 Practice Problems 5.1 -- 5.8. -- Solve the October 31 exercises. --------------------------------------------------------------------- Notes: -- I will provide a copy of the 1-page summary of assembly language instructions for you to use during the quiz, if needed. I'll collect it for reuse after the quiz, so try to save a tree by not writing on it. -- I will also provide a copy of the handout from Oct 24, posted as https://www.cs.umd.edu/users/oleary/c662/pipeline, if it is needed for this quiz. -- "Describe" means "explain in English, program in Matlab, and illustrate on an example." -- If I ask you to write Matlab on a quiz, I'm expecting about 5-10 lines of Matlab code as your answer. -- Minor Matlab syntax errors will not hurt your grade, as long as what you mean is clear. Include a Matlab comment if you are unsure of clarity because of syntax issues.