ECE 550D: Fundamentals of Computer Systems and Engineering — Fall 2019

Class meeting time and location: TTh 3:05–4:20 and 4:40–5:55 (2 sections) — Teer 203

Recitation meeting time and location: F 1:25–2:40 — Hudson Hall 207 & 208

Image
based on a diagram by Dr. Tyler Bletsch

Instructor: Dr. Rabih Younes
Duke e-mail: rabih.younes
Office: Hudson Hall 204
Office phone: 660-5051
Office hours: by appointment (the link to make appointments is posted on Sakai)
To provide anonymous feedback about anything related to the course, please follow this link (password posted on Sakai).

TAs: TAs office hours (location: Hudson Hall 214):

Course Description

Fundamentals of computer systems and engineering for Master's students whose undergraduate background did not cover this material. Topics covered include: Digital logic, assembly programming, computer architecture, memory hierarchies and technologies, IO, and hardware implementation in HDL. Undergraduates may not take this course, and should take ECE 250D, ECE 353, and/or ECE 356 instead. Instructor: Younes. 3 units. Co-requisite: ECE 551D.

Learning Outcomes

Having successfully completed this course, the student will be able to:

Textbook and Other Course Material

David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface, 5th edition, Morgan-Kaufmann. (Amazon, AddAll) — (Not the "ARM" edition or the "Revised Printing").
All other material will be posted on Sakai. I will always try to have slides posted before class time so that you can take notes on them if you would like to.

Grading Policy

Important Notes

***Extremely important advice:

All announcements are posted on Piazza. Make sure you can receive Piazza email notifications.

We can only grade what we receive. Always check what you are submitting and make sure you submit the right files.

Contacting the instructor and the TAs:

Misconduct

Communications Support at Pratt

Graduate Communications and Intercultural Programs (GCIP) offers customized communications support for all graduate students at Pratt. They offer one-on-one coaching in the Graduate Communications Center (GCC) for all communications needs (e.g., academic writing, cover letters, presentations, pronunciation, master's theses/projects, PhD dissertations/publication/prelims). Additionally, GCIP offers a communication workshop series to help build specific communication skills throughout the academic year. Visit this link or email gcc-pratt@duke.edu.

Summary of Important Dates

Detailed Schedule

Week Date Topic Homework Project Recitation (Friday)
1 Tue 8/27 Syllabus + Intro
1 Thu 8/29 Transistors to Gates Quartus + Verilog Intro
2 Tue 9/3 Combinational Logic
2 Thu 9/5 Implementing Arithmetic Adder
3 Tue 9/10 Guest Lecture (professor traveling)
3 Thu 9/12 Guest Lecture (professor traveling) 1 due Multiplier
4 Tue 9/17 Storage and Clocking
4 Thu 9/19 Finite State Machines FSM
5 Tue 9/24 ISAs and MIPS ALU due (extended by 1 week)
5 Thu 9/26 ISAs and MIPS 2 due PS2
6 Tue 10/1 ISAs and MIPS Register File due (extended by 1 week)
6 Thu 10/3 Datapaths VGA
7 Tue 10/8 NO CLASS (Fall Break)
7 Thu 10/10 Datapaths VGA
8 Tue 10/15 Exam 1 Review 3 due
8 Thu 10/17 Pipelining Exam 1 (weeks 1–7)
9 Tue 10/22 Pipelining + Exam 1 Muddiest Points
9 Thu 10/24 Memory Hierarchy Work on processor
10 Tue 10/29 Memory Hierarchy
10 Thu 10/31 Memory Hierarchy Work on processor
11 Tue 11/5 Virtual Memory
11 Thu 11/7 Virtual Memory 4 due Processor due (extended by 1 week) Work on project
12 Tue 11/12 Interrupts and Exceptions
12 Thu 11/14 I/O Work on project
13 Tue 11/19 OS 5 due
13 Thu 11/21 Exam 2 Review Work on project
14 Tue 11/26 NO CLASS. Exam 2 @4:40 (weeks 8–13)
16 Wed 12/11 Final Project Demo

Green This course has achieved Duke's Green Classroom Certification. The certification indicates that the faculty member teaching this course has taken significant steps to green the delivery of this course. Your faculty member has completed a checklist indicating their common practices in areas of this course that have an environmental impact, such as paper and energy consumption. Some common practices implemented by faculty to reduce the environmental impact of their course include allowing electronic submission of assignments, providing online readings and turning off lights and electronics in the classroom when they are not in use. The eco-friendly aspects of course delivery may vary by faculty, by course and throughout the semester. Learn more at this link.