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.