June 24, 2007
June 24, 2007
June 27, 2007
12.97.1 - 12.97.8
A Processor Design Project for a First Course in Computer Organization Abstract
Although computers are part of our daily lives, students taking their first class in computer organization paradoxically often find computer design abstract and difficult to visualize. To make the material more tangible, we have developed a novel three part term project that requires students to develop and simulate their own processor. Students work in teams to devise and encode their own instruction set, design a datapath and microcontrol instructions to execute their instruction set, and simulate a model of their processor on a computer.
While similar CPU design projects have been offered at other institutions, this project is unique for three reasons. First, it gives students freedom to be creative by letting them design their own instruction sets, while constraining them to practical limits by requiring them to encode their instruction set and compile a small program for it. Second, by building a simulator for their processor, students can actually see their processor run a program. Third, the project needs no special hardware or software, and does not require the students to have any extensive background experience either in digital logic design or programming. It can consequently be offered in programs that do not have access to specialized equipment, and is suitable for students across diverse disciplines.
This project has been given to two classes of electrical engineering students and one class of computer science students at different universities, and qualitative feedback has been solicited. Students have universally expressed that this project has made the subject matter feel more tangible to them and has greatly increased their enjoyment of the course. Students have tended to take advantage of the design freedom given to them by experimenting with unusual instruction sets, and in one case a team actually built their processor in hardware.
This paper describes the project itself in depth. It further discusses the student populations on which the project has been tried and the course contexts in which it was given. Finally, the paper looks at the student response to the project and the creativity of their submissions.
Many students have difficulty when encountering computer organization for the first time. This is due partly to the unfamiliarity of the material, but is also because computer architecture as a discipline is different from the fields that students encountered earlier. Unlike calculus or circuit design, computer design has little underlying theoretical foundation. Instead, from its beginnings, computer design has always been a process of trial and error, with modern computers being designed the way they are because “it works best”, rather than any deeper theoretical reason. Students encountering the field for the first time need to understand not just how computers work, but why they work that way, and what the process was that convinced architects to build computers the way they do.
Black, M., & Franklin, M. (2007, June), A Processor Design Project For A First Course In Computer Organization Paper presented at 2007 Annual Conference & Exposition, Honolulu, Hawaii. https://peer.asee.org/2600
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2007 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015