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 can either work individually or in groups of two or three. Each group will turn in a single report for the open-ended portion of the lab. You are free to participate in different groups for different lab assignments.
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) Problem 3.3: Performance Bottlenecks
-
(Open-ended) Problem 4.1: Designing Your Own Branch Predictor
-
(Open-ended) Problem 4.2: Recreating Spectre Attacks
-
(Directed) Problem 5: Feedback
Feedback Portion
In order to improve the labs for the next offering of this course, we would like your feedback. Please append your feedback to your individual report for the directed portion.
-
How many hours did you spend on the directed and open-ended portions?
-
What did you dislike most about the lab?
-
What did you like most about the lab?
-
Is there anything that you would change?
-
Is there something else you would like to explore in the open-ended portion?
-
Are you interested in modifying hardware designs as part of the lab?
Feel free to write as much or as little as you prefer (a point will be deducted only if left completely empty).
Team Feedback
In addition to feedback on the lab itself, please answer a few questions about your team:
-
In a few sentences, describe your contributions to the project.
-
Describe the contribution of each of your team members.
-
Do you think that every member of the team contributed fairly? If not, why?
Acknowledgments
This lab is heavily based on the original CS 152 lab that used BOOM, developed by Christopher Celio, which was itself partially inspired by the preceding lab developed by Henry Cook. Special thanks goes to Jerry Zhao and other members of the Berkeley Architecture Research group who continue to develop BOOM.