Fundamentals of Computer Systems


CSEE 3827, Spring 2016



Lectures

Lectures will be held on TuTh 8:40am-9:55am in 501 Schermerhorn Hall.

Instructor

Teaching Assistants

Upcoming Office Hours

.

Questions and Announcements

Please register for Piazza, where you can ask technical questions, contact TAs, and receive course-wide announcements.

Course Overview

This course examines how the 1s and 0s that form the foundation of digital computing are organized, structured, and manipulated to produce full-fledged computer systems. In bridging this gap, the course will cover many subjects beginning with binary logic, combinatorial and sequential circuit design, memory structures, instruction set architectures, and, ultimately, basic processor design.

Prerequisites

An introductory programming course, such as COMS 1004 or 1007. You need to understand the basics of imperative, sequential programming to understand the assembly language programming we will discuss.

Late Policy

Each homework assignment is due in the CSEE 3827 box in the TA room by 5PM on the due date. Late submissions will not be accepted. We will drop each student's lowest homework grade when calculating final grades.

Collaboration and Academic Integrity

We take academic honesty extremely seriously, and expect the same of you. You may discuss homework problems with your classmates, however, each student is to write up his or her own solution and is expected to be able to explain and reproduce the work he or she submits. Please note the names of your collaborators at the top of your homework submission. Apart from these exceptions, the Computer Science Department's Academic Honesty policy is in effect.

Grading Rubric

Top Five Homeworks: 40%
In Class Tests: 30% + 30%

Textbooks

There are no required texts. If you want to use a text, we recommend:

Syllabus

DateTopic(s)ReadingSlidesHomework Due
Tue 1/19Representing Numbers (Prof. Edwards)
  • M&K: 1, 4.3-4.4, 10.7
  • H&H: 1.4
  • P&H: 3.5
  • binary.pdf
    Thu 1/21Admin; Boolean Logic
  • M&K: 2.1-2.5, 2.8, 2.9
  • H&H: 1.5, 2.1-2.7
  • admin.pdf
    boolean.pdf
    Tue 1/26
    Thu 1/28Combinational Logic
  • M&K: 3.1, 3.3, 3, 3.6-3.9, 4.1-4.2, 4.5, 9.4
  • H&H: 2.8,2.9,5.2
  • combinational.pdf
    Tue 2/2hw1.pdf
    hw1-solutions.pdf
    Thu 2/4Sequential Logic
  • M&K: 5.1-5.3, 5.6
  • H&H: 3.1-3.3,3.5
  • sequential.pdf
    Tue 2/9
    Thu 2/11Finite State Machines
  • M&K: 5.4-5.5
  • H&H: 3.4
  • fsms.pdf
    hw2.pdf
    hw2-solutions.pdf
    Tue 2/16
    Thu 2/18Memory Elements
  • M&K: 6.8, 7.1-7.3, 8.1-8.7
  • H&H: 5.5
  • memory.pdf
    Tue 2/23
    Thu 2/25Lecture cancelled.
    Fri 2/26Not a lecture day; Homework due.hw3.pdf
    hw3-solutions.pdf
    Tue 3/1Review #1
    Thu 3/3
    Test #1
    test1-solutions.pdf
    Tue 3/8The MIPS Instruction Set
  • H&H: 6.1-6.7
  • P&H: 2.1-2.8, 2.10
  • mips-isa.pdf
    Thu 3/10
    Tue 3/15
    No class (Spring Break)
    Thu 3/17
    No class (Spring Break)
    Tue 3/22
    Thu 3/24MIPS Microarchitecture
  • H&H: 7.1-7.3
  • P&H: 4.1-4.4
  • mips-uarch.pdf
    Tue 3/29
    Thu 3/31
    Tue 4/5Lecture cancelled -- MK travelhw4.tar.gz
    hw4-solutions.s
    Thu 4/7Pipelined MIPS
  • H&H: 7.5
  • P&H: 4.5-4.8
  • mips-pipeline.pdf
    Tue 4/12hw5.pdf
    hw5-solutions.pdf
    Thu 4/14Caches
  • H&H: 8.3
  • P&H: 5.1-5.2
  • caches.pdf
    Tue 4/19
    Thu 4/21Advanced Topics / TBDhw6.pdf
    hw6-solutions.pdf
    Tue 4/26Review #2
    Thu 4/28
    Test #2