This is an archive of a course I taught Spring 2016, preserved here as a resource for future students.

ECE 250D: Computer Architecture

Section 002, Spring 2016


Fig. 1: This computer costs more than your car.

Overview

Course location: French Science 2231
Course time: MW, 4:40PM - 5:55PM

Instructor: Dr. Tyler Bletsch
Email: Tyler.Bletsch AT duke.edu
Office Hours: After class or by appointment

Graduate Teaching Assistants:

Undergraduate Teaching Assistants: UTA Office Hours: See this pinned post on Piazza

Course Textbook: 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")

Links:

Schedule

#DateTopicReadingHomework due
(11:55:00pm)
L01Wed 1/13Intro/OverviewChapter 1
R01Thu 1/14Recitation: Unix, text editing
Mon 1/18MLK DAY
L02Wed 1/20C programming(See Resources below)
R02Thu 1/21Recitation: Intro to writing C program
L03Mon 1/25C programming(See Resources below)
L04Wed 1/27From C to binarySec 2.1-2.4, 3.2, 3.5
R03Thu 1/28Recitation: C programming: Pointers and memory management
L05Mon 2/1 AssemblySec 2.5-endHomework 1,
homework1.tar.gz,
prog.c
(Formerly due 1/27)
L06Wed 2/3 AssemblySec 2.5-end
R04Thu 2/4 Recitation: Assembly programming examples & using SPIM
L07Mon 2/8 Combinational logicSec 4.1-4.2, B.1-B.3, B.5
basic_logic.circ
L08Wed 2/10Review day
R05Thu 2/11Recitation: Assembly programming examples: focus on calling conventions
Mon 2/15Snow dayHomework 2,
homework2.tar.gz,
prog_part.c,
simple.s
(+24hr extension)
L09Wed 2/17Sequential logicSec B.7-B.11
R06Thu 2/18Recitation: Digital design examples & using Logisim
L10Mon 2/22EXAM 1Past exam 1
Past exam 1 solutions
Reference sheet
Study guide
L11Wed 2/24Finite state machines,
Datapath design
Sec B.10, 4.3-4.4
combo_lock.circ
R07Thu 2/25Recitation: Using Logisim for larger projects
L12Mon 2/29Exceptions/interrupts/syscalls (latter part of deck)Sec 4.9Homework 3
L13Wed 3/2 Memory hierarchies (first part of deck)Sec 5.1-5.5
R08Thu 3/3 Recitation: Register file and ALU
L14Mon 3/7 Caches (latter part of deck)Sec 5.1-5.5
L15Wed 3/9 Caches (latter part of deck)Sec 5.1-5.5
R09Thu 3/10Recitation: Caching and Memory
Mon 3/14SPRING BREAK
Wed 3/16SPRING BREAK
Thu 3/17Recitation: SPRING BREAK
L16Mon 3/21Virtual MemorySec 5.6-5.9
L17Wed 3/23Virtual MemorySec 5.6-5.9
R10Thu 3/24Recitation: review for midterm #2 (see study guide questions)
Mon 3/28EXAM 2Study guide
↑ practice questions here
Reference sheet
L18Wed 3/30I/OSec A.8
R11Thu 3/31Recitation: Cache+virtual memory examplesDue Fri 4/1
Homework 4
Assembler and simulator
L19Mon 4/4 I/OSec A.8
L20Wed 4/6 Pipelined coresSec 4.5-end
R12Thu 4/7 Recitation: Starting the cache simulator project
L21Mon 4/11Pipelined coresSec 4.5-end
L22Wed 4/13Pipelined coresSec 4.5-end
R13Thu 4/14Recitation: Real world pipelinesDue Fri 4/15
Homework 5
hw5-helper-kit.tgz
Helper kit updated 4/15
L23Mon 4/18MulticoreChapter 6
L24Wed 4/20MulticoreChapter 6
R14Thu 4/21Recitation: pipelining exercises (plus review for final)
L25Mon 4/25Intel x86Example code,
Intel developer manual
(pages 1..3908)
L26Wed 4/27Review for the final
Sat 5/7 FINAL (9am-12pm)Study guide
Practice final

Syllabus & policies

Course synopsis

Computer structure, machine language, instruction execution, addressing techniques, and digital representation of data. Computer systems organization, logic design, microprogramming, and interpreters. Symbolic coding and assembly systems.

Prerequisite: Computer Science 201 or consent of instructor.

Grading

This course will require readings from the textbook, problem sets, programming assignments, and digital logic design. Grading breakdown:

Category%
Homework50%
Exam 110%
Exam 210%
Final exam25%
Recitation5%

You are expected to complete the homework individually unless otherwise stated. However, you may discuss topics covered in the class.

Late homework submissions incur penalties as follows:

NOTE: If you feel in advance that you may need an extension, contact the instructor. We can work with you if you see a scheduling problem coming, but extensions cannot be granted at or near the due date!

Recitation is where you'll learn concrete skills to complement the lecture's theoretical material, and is essential. Recitation grading works as follows:

Grade appeals

All regrade requests must be in writing. Email [TA TO BE DETERMINED] with your questions. After speaking with the TA, if you still have concerns, contact the instructor

All regrade requests must be submitted to the instructor no later than 2 weeks after the assignment was returned to you.

Academic integrity

I take academic integrity extremely seriously. Academic misconduct will not be tolerated, and all suspected violations of the Duke Undergraduate Honor Code will be referred to the Office of Student Conduct. A student found responsible for academic dishonesty faces formal disciplinary action, which may include suspension. A student twice suspended automatically faces a minimum 5-year separation from Duke University.

In addition to the measures taken by the Office of Student Conduct, the affected assignment(s) will receive zero credit, or possibly -100% in egregious cases.

If you are considering this course of action, please see me instead, and we can work something out! I want every student in my course to be successful.

Resources