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 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 (scoreboard or Tomasulo).
– implement superscalar issue.
Option 2 – Computer Architecture Learning Tool
– An interactive datapath simulator. Given a specific sequence of instructions, the datapath animates the signals used and shows all data values.
– An online MIPS pipeline diagram or scoreboard or Tomasulo 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 class-long presentation (30-40 minutes) of the material for the rest of the class. Your class must include an interactive activity and quiz (10-20 minutes).
Choose a challenge from InnoCentive that relates to Computer Architecture. Develop a proposed solution and proof of concept solution. Present your solution to the class.
|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 thought 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 on 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 didn’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.