Project Description
This project is the culminating experience for the course. For this project you have the opportunity to further explore (research and implement) a topic in computer architecture.
Option 1 – Verilog CPU Advanced Feature
After completing the pipelined CPU, your group might choose to implement an advanced feature to add add to your CPU. Some ideas could be:
– implement several cache designs (instruction and/or data) and evaluate their performance in your CPU.
– implement a branch predictor (or predictors) and evaluate its performance
– implement dynamic scheduling (scoreboarding or tomasulo)
– implement superscalar issue
Option 2 – Computer Architecture Learning Tool
– An interactive datapath. Given a specific instruction the datapath animates the signals used.
– An online MIPS pipeline diagram generator
Option 3 – Computer Architecture Research
Teach us a topic broadly in the field of computer architecture from the Morgan & Claypool Synthesis Lectures on Computer Architecture. Choose one of the topics, read and understand the concept. Then prepare a presentation of the material for the rest of the class. Your class must include an activity and quiz.
Grading Rubric
Sophisticated [20-18] | Competent [18-15] | Basic [15-12] | Needs Improvement [<12] | |
---|---|---|---|---|
Challenge: How challenging is your topic (to implement in 5 weeks)? | Challenging for any senior to beginning grad-level CS/CPE student (estimate >10 hrs/week/person) | Challenging, but most good students would be able to complete with 6-10 hrs/week/person. | Some though was required but anyone in the class could do the same with little effort (2-6 hrs/week/person). | Not challenging to anyone in the class. (<2 hrs/week/person) |
Implementation: Did the group successfully implement the feature they proposed? | Yes and it is genuinely useful. Future students will benefit from this innovation. Significantly better than anything currently available. | Yes it works, but has little impact in performance or learning. | Mostly working but with some minor problems. Does illustrate the concept but the group seems to have run out of time. | Unusable. Major problems prevent the group from demonstrating their solution. |
Experimentation: Did you perform interesting experiments/description that demonstrates your mastery of the concept. | The presentation / learning tool provides several (>3) useful examples of interesting results derived from the project. Better than reading the textbook / Wikipedia / etc. | A few (2-3) moderately interesting results were presented, slightly better than existing resources. | A few (2-3) results were presented but doesn’t explain/illustrate the idea any better than existing sources. | 1 or fewer results. |
Presentation and packaging: Your presentation should clearly explain your project, how you implemented it, tested, and what you learned from the experience. | The presentation was clear and the project is fully documented and packaged so that new students could pick it up and use it. | The presentation was clear and the project could be used/extended in the future with some effort. | The presentation wasn’t fully clear and/or it would be difficult to continue the work later. | The presentation was unclear/disorganized and the project needs to be significantly rewritten to be useful. |
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.