Project 3 – Research Project

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

Develop a learning tool for students of computer architecture. Your tool should be useful for an audience of 206 or 320-level students.
Some ideas could be:
– An interactive datapath. Given a specific instruction the datapath animates the signals used.
– An online MIPS pipeline diagram generator
– An interactive branch prediction tool
 – An online cache designer (block size, cache size, index bits, etc)

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

80 Points total
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.
Print Friendly

CC BY-NC-SA 4.0
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Posted in Projects Tagged with: