CSSE232 - Computer Architecture I
Rose-Hulman Institute of Technology
Computer Science and Software Engineering Department
Fall 2024-2025
Course description
Computer instruction set architecture and implementation. Specific topics include historical perspectives, performance evaluation, computer organization, instruction formats, addressing modes, computer arithmetic, single cycle and multicycle data paths, and processor control. Assembly language programming is used as a means of exploring instruction set architectures. The final project involves the complete design and implementation of a miniscule instruction set processor.
Course prerequisites
CSSE 120 and ECE 233
Technical prerequisites
We assume that students in this course are familiar with a number of topics including parameterized procedures, combinational and sequential digital logic circuits, 2's complement representation of signed integers, and hexadecimal representation. The first homework assignment is a review, which will help students assess their own skills with respect to these prerequisite topics.
Social prerequisites
We expect students in this course to:
- Interact with others in technical setting
- Communicate online effectively
- Maintain professional communication in course matters
Schedule
See the main course page for schedule details.
Schedule
Section 1 : WF 1:00p in O267
Section 2 : MTRF 10:00a in O257
Instructors
Stephen Sher
Moench D218
sher@rose-hulman.edu
Robert Williamson - Robert's schedule
Moench F205
williarj@rose-hulman.edu
Course objectives
This is what you will learn through this course.
- Apply the principle of abstraction in analysis and design problems.
- Given the syntax and semantics for an assembly language, design, implement, test, and debug simple programs in that language that involve arithmetic operations, input and output, various control structures (including selection, iteration, and recursive procedures), and interrupts.
- Design an instruction set architecture that is appropriate for a given application, taking into consideration key computer organization design principles.
- Design a hardware implementation of an instruction set architecture, and use modern computer aided design tools to model, simulate, test, and debug that implementation.
- Analyze the performance of an instruction set architecture and implementation in terms of metrics such as CPU execution time, instruction count, cycles per instruction (CPI), clock frequency, throughput, and response time.
Required resources
Book: Computer Organization and Design RISC-V Edition, 2nd edition
D. A. Patterson & J. L. Hennessy
Morgan Kaufmann, 2021 ISBN 978-0-12-820331-6
Reading
It is to your benefit to do the reading assignments before they are covered in class so we can devote class time to discussing difficult ideas and algorithms. You are responsible for all the material in the assigned sections of the book, whether explicitly discussed in class or not.
Homework Assignments
There will be several written homework assignments. Your homework should be presented using good style. Your name and mailbox number should appear at the top of each page. Be sure to state any assumptions that you make to solve the problem. Above all it must be legible-if the graders can't read it, you won't earn credit.
Worksheets
Daily worksheets will be given out to help you focus on the material we cover. Worksheets will be distributed at the beginning of class and will be picked up at the end of the lecture.
Practical Assignments
There are several practicals listed on the on the schedule. Some use the RARS RISC-V Simulator. Others focus on the processor project and use the Quartus and ModelSim tools. Practical assignments are available on the course web site. Completed practicals are submitted via gradescope and git. The grades for later practical assignments will be adjusted based on the CATME evals you recieve from your team members. This applies to Practicals 5-9, the grade adjustment will be a multiplier between 0.85 and 1.05.
To pass the course, you must have a passing average on at least one of the single cycle or pipelined processor assignment series.
Quizzes
There will be five quizzes throughout the quarter, where you have the opportunity to demonstrate your own mastery of the material. You must make a good-faith attempt on all quizzes and have a passing average (D or higher) on the quizzes to pass the course.
Grading
Quizzes | 40% |
Practical Assignments | 40% |
Homework | 15% |
Worksheets | 5% |
Student Engagement Policy
The cumulative nature, complexity, and fast pace of the course make engagement in course material a necessity. There are also important benefits to be gained from entering into classroom discussion, learning to express one’s own ideas, and learning from the ideas of others. We expect regular engagement in course content. This includes completing the following on time: daily quizzes, video lessons, attending virtual classes, and participating during in-class labs, activities, and discussions.
We will permit make-up work to be done when a student has legitimate conflicting obligations, such as illness, quarantine, or emergency. These conflicts do not excuse the student from course responsibilities. The student is responsible for informing the instructor of any legitimate issues and making arrangements for make-up work, if permitted, as soon as possible. Whenever possible, the student must discuss unavoidable absences with instructors in advance. A lack of engagement may result in the student receiving a failing grade for the course.
Collaboration
Collaboration is encouraged on homework, quizzes, and laboratories. It is prohibited on exams. When you collaborate, you must properly credit your collaborators and clearly indicate the extent of the collaboration. In all cases, each individual is responsible for understanding and writing out the entire solution. For example, on homework, this means that once a group solution has been achieved, each collaborator must rework the problem and write up the solution independently. Copying is not collaboration. See section on Academic Integrity below.
Most importantly, any actions that reduce your ability or your opportunity to learn can be considered academic misconduct. Make sure you learn!
Academic Integrity and CSSE Integrity Committee Procedures
It is critical to maintain academic integrity. It is essential for all students to cite any and all sources of help received in completing coursework. This practice not only fosters a culture of honesty and transparency but also prevents misunderstandings that might otherwise escalate to formal proceedings. Students should also be aware of what is appropriate help on homework assignments – see What Constitutes Misconduct. To ensure fairness and responsibility, any instances of suspected misconduct will be handled through the CSSE Integrity Committee.
If a case of suspected misconduct arises, it will be submitted to the CSSE Integrity Committee for review (see Policies and Procedures and possible penalties). The process includes an initial review of the evidence by the committee, a time for students to explain or admit to potential misconduct, and potentially a hearing to examine the circumstances and evidence. Students are encouraged to continue their studies and engage with the course material and instructor normally throughout the investigation.
Resources
Rose provides a number of resources to help you:
- For accessibility information, see Rose's Disability Services policies.
- Be aware of relevant services and policies regarding student life.
- Make sure you know the academic policies.
Concerns or Feedback
If you have any concerns about any course matters, you should tell someone. You can email your instructor, speak to your instructor, or leave anonymous feedback in Moodle. You can also contact the department head, Student Affairs, or another Rose employee you feel comfortable with.
While you are more than welcome to consult any member of our department if you have concerns, we realize it's helpful to have a few names to start with. If you have a concern and are not sure where to go, the following CSSE faculty have volunteered to be help out with any concerns you may have: Amanda Stouder (F222) and Kim Tracy (D216).