Introduction and Goals
The goal of this laboratory assignment is to study out-of-order processor design in the Chisel simulation environment. You will be provided a complete implementation of a speculative out-of-order superscalar RISC-V core to experiment with and analyze. You can also choose to improve the design as part of the open-ended portion.
While students are encouraged to discuss solutions to the lab assignments with each other, you must complete the directed portion of the lab yourself and submit your own lab report for these problems. For the open-ended portion of each lab, students must work in groups of two or three. Each group will turn in a single report for the open-ended portion of the lab.
Graded Items
All reports are to be submitted through Gradescope. Please label each section of the results clearly. All directed items need to be turned in for evaluation. Your group only needs to submit one of the problems in the open-ended portion.
-
(Directed) Performance Bottlenecks: the CPI table for the four BOOM design points and answers to the questions
-
(Open-ended) Option 1 - Designing Your Own Branch Predictor: the IPC and branch-prediction accuracy of your predictor on all benchmarks, your design approach, and answers to the questions
-
(Open-ended) Option 2 - Recreating Spectre Attacks: your attack code, an explanation of how it works, and answers to the questions
-
(Directed) Feedback: submitted through a Google Form
Each open-ended option has a detailed section on what materials should be submitted for the report. Make sure to read through that section to ensure you have included all the necessary materials in your submission.
Feedback Portion
In order to improve the labs for the next offering of this course, we would like your feedback. As in Lab 2, fill out the Lab 3 feedback form. Every student should submit the form individually, including the questions about your team.
Feel free to write as much or as little as you prefer (a point will be deducted only if the form is left completely empty).
Acknowledgments
This lab is heavily based on the original CS 152 BOOM lab developed by Christopher Celio, which was itself partially inspired by the preceding lab developed by Henry Cook. Special thanks go to Jerry Zhao and other members of the Berkeley Architecture Research group who continue to develop BOOM.