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.
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.
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.
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.
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:
Email:
<professor’s last name>@cs.wpi.edu
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 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/c11/
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.
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.
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.
|
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
8:00 |
|
Class |
|
Class |
|
9:00 |
|
|
|||
10:00 |
|
HCL |
|
|
|
11:00 |
|
|
|
|
|
Noon |
|
|
|
|
|
1:00 |
|
|
YW |
|
HCL |
2:00 |
|
|
|||
3:00 |
YW |
|
|
|
|
4:00 |
|
|
|
|
|
Professor
Lauer’s office hours will be held in Fuller 235; Yutao
Wang’s office hours will be held in Fuller 312.
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