logohome

Computer Architecture

CS 4515
C-Term 2009

This is an advanced undergraduate course about computer architecture. Topics include fundamentals of computer design, processor organization, pipelining, instruction-level parallelism, parallel computer organizations, and memory hierarchies. The course is aimed at a cross-section of Computer Science students and Computer Engineering students.

For all students, a goal of the course is to provide quantitative tools for understanding existing computer architectures and computer architectures that have yet to be invented.

Course organization

The course will be organized as a reading and team-learning-and-teaching course. Students will be expected to read most, of not all, of the primary textbook, Computer Architecture, 4th edition, by Hennessy and Patterson. A significant written homework problem will be assigned approximately once per week. Students are encouraged to work on the assigned problems together, but then each student must write up the solution in his/her own words.

In addition, the class will be divided into five teams of roughly equal size. Each team will be responsible for reading, understanding, and presenting one major topic of the course to the rest of the class. Presentations should occupy most or all of a two-hour class period. Team members responsible for the presentation for a particular week are exempted from homework assignments due that same week. Each team must meet with the instructor at least one week prior to its assigned presentation.

There will be a final exam on the last day of the course. This will be an open-book, open-notes exam. Students should bring calculators, but laptops or other devices to connect to the web are not permitted.

Index


Prerequisites

You must have a solid background in CS-3013 and/or an equivalent Operating Systems course. You must also have a background in machine organization, assembly language, and/or microprocessor design — for example, CS 2011, Introduction to Machine Organization and Assembly Language or ECE 3803, Microprocessor System Design.

In addition, it would help if at least some students have a background in compiler construction, for example CS 4533, Techniques of Programming Language Translation.

top

Course Information

CS-4515 meets for two 2-hour classes per week for a seven-week undergraduate term (28 hours).

Time and Place: Tuesdays and Fridays, 8:00 — 9:50 AM, Fuller Labs 320
January 16 – March 3, 2009.

Class cancellations and snow dates: Consult official WPI sources regarding the cancellation of classes due to snow and for rescheduling of those classes.

Professor: Hugh C. Lauer

Email: <professor’s last name>@cs.wpi.edu

Office hours: by appointment, or (normally) 1 hour after each class and Fridays, noon–1:00 PM

Office: Fuller Labs, Room 137

 

Teaching Assistants:

Jeremy Denham (e-mail: jdenham)
Office hours: Tuesdays and Thursdays, 6-8 PM in Fuller A22

Rabin Karki (email: rabin)
Office hours: Tuesdays, 3-5 PM and Wednesdays, 1:30-3:30 PM, Fuller A22
           

 

Textbook: John L. Hennessy and David A. Patterson, Computer Architecture: a Quantitative Approach, 4nd edition, Morgan Kaufman, 2007.

Students may want to refer to the following intermediate level textbook, which will be placed on reserve in the library:–

o       David A. Patterson and John L. Hennessy, Computer Organization and Design, 4th edition, Morgan Kaufman, 2009.

Class e-mail lists: The following two lists are in the domain cs.wpi.edu:–

o       cs4515-all  — to reach all students, TAs, and the professor

o       cs4515-staff — to reach just the TAs and the professor

Course web site: http://web.cs.wpi.edu/~cs4515/c09/

Course materials: In order to conform to copyright requirements, course materials and lecture notes will be stored on myWPI, a password-protected web site.

Students needing to be absent from class should notify the professor by e-mail or in person as soon as possible. Likewise, students needing to schedule assignments or presentations around religious holidays should notify the professor at the beginning of the course.

top


Grading Policy

Final grades will be computed as follows:

Final grades will reflect the extent to which you have demonstrated understanding of the material, completed the written assignments, participated in class discussions, and contributed to your team’s presentation to the class. This is a difficult course. A grade of “A” will be awarded for full and active participation in all aspects of the course and for general understanding of its concepts. Lower grades may be awarded for lesser participation and less levels of understanding.

It is unlikely for a student to pass this course if he/she does not submit homework assignments, take an active part in a team presentation, or attend class regularly.

If there are any circumstances that limit or restrict your participation in the class or the completion of assignments, please contact the professor as soon as possible in order to work something out.

Academic Honesty

Students are strongly encouraged to work together, help each other, reinforce each others’ knowledge, and consult experts and resources outside the course on all topics. Like most professional environments in your future, success depends upon how well the team does as a whole, not on competition among individuals.

Once you and your colleagues have developed a solution to a problem, you must write it up in your own words. Some assignments may be team assignments. For these, it is expected that all members participate with roughly equal levels of effort. When you put your name on a team submission of an assignment, not only are you testifying that you have fully participated in that assignment, but also your teammates are also testifying that you have fully participated.

For both individual and team assignments, the WPI Academic Honesty Policy applies:–

                          http://www.wpi.edu/Pubs/Policies/Honesty/policy.html    

Late Policy

Unless you have arranged otherwise with the professor at least one day prior to the due date, late submissions will be penalized 10% of total assignment value per day or partial day (with the weekend counting as one day), and no assignments will be accepted after seven days beyond the due date. All assignments are due at the start of class on the due date. Exceptions to these rules can be made only beforehand.

top


BS/MS Project

Students wishing to receive both BS and MS credit for this course must complete an additional research project. This project involves an investigation of some aspect of computer architecture that is beyond the scope of this course, followed by a research report of 10-15 pages of the result of that investigation.

Project proposals for BS/MS credit are due at the start of class on January 23, 2009, and project reports are due on the last day of class, March 3, 2009.

top


Course Outline and Team Presentations

The following is a rough outline of the course. Note that topics are similar to those of ECE 4801 but are presented in a different order.

·        Week 1 (Jan. 16 & 20):– Fundamentals of Computer Design
Chapter 1

·        Week 2 (Jan. 23 & 27):– Pipelining: Basic and Intermediate Concepts
Appendix A

·        Week 3 (Jan. 30 & Feb. 3):– Instruction-level Parallelism
Chapter 2
Team A presentation to introduce this topic

·        Week 4 (Feb. 6 & 10):– Caches and Memory Hierarchy
Appendix C and part of Chapter 5
Team B presentation to introduce this topic

·        Week 5 (Feb. 13 & 17):– Limitations on Instruction-level Parallelism
Chapter 3
Team C presentation to introduce this topic

·        Week 6 (Feb. 20 & 24):– Multiprocessors and Thread-level Parallelism
Chapter 4
Team D presentation to introduce this topic

·        Week 7 (Feb. 27 & Mar. 3):– Other Architectures & Final Exam
Appendix  F (Vector Processors) or
Appendix G (Hardware and Software for VLIW and EPIC)
Team E to select one of these topics and present it

There is clearly more material in the text than there is time in seven weeks to present it. It is proposed that we cover each topic to the depth that time allows and then move on to the next topic. This will at least give the student an idea of what the critical issues are and where or how to look for more depth, should the need arise in a professional situation.

top


Reference Material                                  

The following papers are relevant to the material presented in class:–

top