Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: logohome

Computer Architecture

CS 4515
C-Term 2011



This is an advanced undergraduate course about computer architecture. By computer architecture, we mean the design and organization of computer systems, including how much and how fast data moves from one part of a system to another. 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 course. Students will be expected to read most, if 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, each student will be responsible for one oral presentation to the class of a homework problem assignment.

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 and any devices that connect to the web are not permitted.


Course Outline

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 0 (Jan. 14):– Fundamentals of Computer Design
Chapter 1

·         Week 1 (Jan. 18 & 21):– Pipelining: Basic and Intermediate Concepts
Appendix A

·         Week 2 (Jan. 25 & 28):– Instruction-level Parallelism
Chapter 2

·         Week 3 (Feb. 1 & 4):– Caches and Memory Hierarchy
Appendix C and part of Chapter 5

·         Week 4 (Feb. 8 & 11):– Limitations on Instruction-level Parallelism
Chapter 3

·         Week 5 (Feb. 15 & 18):– Multicore processors and Thread-level Parallelism
Chapter 4

·         Week 6 (Feb. 22 & 25):– Graphics Processing Units and/or other architectures
Appendix  A of Computer Organization and Design (Graphics and GPUs) or
Appendix  F (Vector Processors) or
Appendix G (Hardware and Software for VLIW and EPIC)

·         Week 7 (Mar. 1) Final Exam

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.


Recommended Background

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.


Logistics and 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, Salisbury Labs 406
January 14 – March 1, 2011.

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>

Office hours: by appointment, or consult the schedule below

Office: Fuller Labs, Room 235


Teaching Assistant:

Yutao Wang (e-mail: yutaowang)
Office hours: Mon 3-4 PM, Wed 1-2 PM in Fuller 312


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–

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:

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

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.


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:–


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.


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. Two potential projects are described here:– .doc, pdf

Project proposals for BS/MS credit are due at the start of class on February 4, 2011, and project reports are due on the last day of class, March 1, 2011.


Office Hours and Schedule





















































Professor Lauer’s office hours will be held in Fuller 235; Yutao Wang’s office hours will be held in Fuller 312.


Reference Material

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

Mutlu, O. Stark, J., Wilkerson, C., and Patt, Y. N., “Runahead Execution: An Alternative to Very Large Instruction Windows for Out-of-order Processors,” Proceedings of the 9th International Symposium on High-Performance Computer Architecture (HPCA-9’03), February 2003. pdf

Herlihy, Maurice, “Wait –Free Synchronization,” ACM Transactions on Programming Languages and Systems, Vol. 11, No 1, January 1991, Pages 124-149. pdf