Spring 2013: Introduction to Computer Architecture
ECE 496, TuTh 1:25PM - 2:40PM, Hudson 208
[Syllabus]
The objective of this course is to learn how
computers work, focusing on how hardware
executes software. Topics include instruction
sets, computer arithmetic, processor design,
memory system design, and input/output. Teams of
students will design and build a computer in
real hardware and then run programs on
it. Pre-requisites: ECE52 and ability to program
in a high-level language (e.g., C, C++, Java).
Teaching Team
Professor Benjamin Lee
benjamin.c.lee@duke.edu
Office Hours: Fr 4-5pm and by appt.
Office: Hudson 210
Oliver Fang (Teaching Assistant)
oliver.fang@duke.edu
Office Hours: Mo 3-4pm
Office: Hudson 202A
James Hong (Teaching Assistant)
james.hong@duke.edu
Office Hours: We 430-530pm
Office: Hudson Link
Amay Jhaveri (Teaching Assistant)
amay.jhaveri@duke.edu
Office Hours: Th 5-6pm
Office: Hudson 202A
Zachary Michaelov (Teaching Assistant)
zachary.michaelov@duke.edu
Office Hours: Mo 1-2pm
Office: Hudson 202A
Mason Meier (Teaching Assistant)
mason.meier@duke.edu
Office Hours: Tu 5-6pm
Office: Hudson 202A
Required Textbook
D.A. Patterson and J.L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 4th Edition, Morgan-Kaufmann.
Lecture Slides
1/10 | Introduction and Overview (slides) |
1/17 | Instruction Set Architecture (slides) |
1/29 | Arithmetic and ALU Design (slides) |
2/12 | Processor and Datapath Design (slides) |
2/19 | Pipelining (slides) |
3/18 | Caches (slides) |
4/2 | Memory (slides) |
4/11 | I/O (slides) |
4/16 | Multicore (slides) |
Homework
1/22 | Homework 1 (pdf) |
2/7 | Homework 2 (pdf) |
2/19 | Homework 3 (pdf) |
3/7 | Homework 4 (pdf) |
4/16 | Homework 5 (pdf) |
Project
ISA | Instruction Set Architecture (pdf) |
1/18 | 1. Register File (pdf) |
1/25 | 2. Memory (pdf) |
2/8 | 3. Shifter/Adder (pdf) |
2/21 | 4. ALU (pdf) |
3/19 | 5. Unpipelined CPU (pdf) |
4/9 | 6. Pipelined CPU (pdf) |
4/23 | 7. Assembly Challenge (pdf) |