ENGS 116/COSC 107: Computer Architecture
Fall Term 2009
Instructor
Instructor: Vincent Berk
E-mail: Firstname.Lastname@Dartmouth.EDU
Lectures
MacLean 132: Monday, Wednesday, and Friday 10:00-11:05am, x-hour Thursday 12:00-12:50pm
Course Description
This course is a graduate level introduction covering the broad field of Computer Architecture. The development of the field is studied from the first vacuum tube computers to the newest modern-day computing clusters. Topics will include the fundamental principles of performance, basic architecture and RISC/CISC instruction set design, exploitation of instruction-level parallelism at the hardware and compiler sides, memory hierarchy design, caches, storage systems, multiprocessors, computer networks, and clusters. In addition to the course book, many fundamental and historic papers are reviewed, and a research project has to be completed. The goal of the course is to create a solid understanding of the issues and developments that drive the field of Computer Architecture.
Prerequisites
COSC 37 (Computer Organization) or an equivalent course. Contact Vincent Berk if you have any questions related to prerequisites.
Textbooks
- John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach FOURTH EDITION, 2007
- Mark Hill, Gurindar Sohi, and Norm Jouppi, Readings in Computer Architecture, 2000
Other books on reserve at Feldberg (i.e. recommended reading):
- John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach THIRD EDITION, 2003
- Carl Hamacher, Zvonko Vranesic, and Safwat Zaky, Computer Organization FIFTH EDITION, 2002
- John Paul Shen and Mikko H Lipasti, Modern Processor Design: Fundamentals of Superscalar Processors, 2003
Schedule
| Week | M | Tu | W | Th | F |
|---|---|---|---|---|---|
| Sep. 21 - Sep. 25 |
21 - |
22 - |
23
(1) Introduction, Chapter 1; Cost/Performance, Overview |
24 - |
25
(2) Chapter 1; Amdahls law, Speedup, Benchmarking |
| Sep. 28 - Oct. 2 |
28
(3) Appendix B; Instruction set design, Memory addressing |
29 - |
30
(4) Appendix B; Instruction set design II, Pipelining |
1 - |
2
(5) Appendix A; Pipelining and Hazards |
| Oct. 5 - Oct. 9 |
5
Catch-up day. |
6 - |
7
(6) Appendix A; Pipelining difficulties, exceptions, and the MIPS R4000 |
8 - |
9
(7) Appendix A; Dynamic Scheduling, Scoreboarding |
| Oct. 12 - Oct. 16 |
12
(8) Chapter 2; Instruction Level Parallelism |
13 - |
14
(9) Chapter 2; Dynamic Branch Prediction |
15 - |
16
(10) Chapter 3; Tomasulo's algorithm |
| Oct. 19 - Oct. 23 |
19
Group Challenge. |
20 - |
21
Midterm Review Lecture |
22 - |
23
Home Coming (No Class) |
| Oct. 26 - Oct 30 |
26
Midterm |
27 - |
28
(12) Appendix C; Memory Hierarchy and Caches |
29 - |
30
(13) Appendix C and Chapter 5; Caches and Virtual Memory |
| Nov. 2 - Nov. 6 |
2
(14) Chapter 5; Caches and Main Memory |
3 - |
4
(15) Chapter 4; Multiprocessors and Thread-Level Parallelism |
5 - |
6
Complex Systems Symposium (No Class??) |
| Nov. 9 - Nov. 13 |
9
(16) Chapter 4; Multiprocessors and Cache Coherency |
10 - |
11
(17) Chapter 6: Storage systems and I/O |
12 - |
13
(18) Chapter 6: I/O, Queueing Theory and RAID |
| Nov. 16 - Nov. 20 |
16
(19) Interconnection Networks |
17 - |
18
Extra material |
19 - |
20
Catch-up day |
| Nov. 23 - Nov. 27 |
23
Final Review Project reports due |
24 Thanksgiving Recess |
25 Thanksgiving Recess |
26 Thanksgiving Recess |
27 Thanksgiving Recess |
| Nov. 30 - Dec. 4 |
30 Project presentations |
1 - |
2 Project presentations |
3 Pre-exam break |
4
Pre-exam break |
| Dec. 7 - Dec. 11 |
7 Finals |
8 Finals |
9 Finals Submit take-home exam |
10 - |
11 - |
Blackboard
More information about this course can be found on Blackboard. You can login to Blackboard using your DND username and password.