Fundamentals of Computer Systems


CSEE 3827, Fall 2015



Lectures

Lectures will be held on TuTh 10:10am-11:25am 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 at at the beginning of lecture 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 she 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%
Exams: 30% + 30%

Textbooks

There are no required texts. Recommended texts are:

Syllabus

DateTopic(s)ReadingSlidesHomework Due
Tue 9/8Representing Numbers
  • M&K: 1, 4.3-4.4, 10.7
  • H&H: 1.4
  • P&H: 3.5
  • intro.pdf
    Thu 9/10Boolean Logic
  • M&K: 2.1-2.5, 2.8, 2.9
  • H&H: 1.5, 2.1-2.7
  • boolean.pdf
    Tue 9/15
    Thu 9/17Combinational 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 9/22
    Thu 9/24Sequential Logic
  • M&K: 5.1-5.3, 5.6
  • H&H: 3.1-3.3,3.5
  • sequential.pdfhw1.pdf
    hw1-solutions.pdf
    Tue 9/29
    Thu 10/1Finite State Machines
  • M&K: 5.4-5.5
  • H&H: 3.4
  • fsms.pdf
    Tue 10/6hw2.pdf
    hw2-solutions.pdf
    Thu 10/8Memory Elements
  • M&K: 6.8, 7.1-7.3, 8.1-8.7
  • H&H: 5.5
  • memory.pdf
    Tue 10/13The MIPS Instruction Set
  • H&H: 6.1-6.7
  • P&H: 2.1-2.8, 2.10
  • mips-isa.pdf
    Thu 10/15Review Sessionhw3.pdf
    hw3-solutions.pdf
    Tue 10/20
    Midterm #1
    midterm-solutions.pdf
    Thu 10/22
    Tue 10/27
    Thu 10/29
    Tue 11/3
    Election Day (No class!)
    Thu 11/5MIPS Microarchitecture
  • H&H: 7.1-7.3
  • P&H: 4.1-4.4
  • mips-uarch.pdf
    Tue 11/10hw4.tar.gz
    hw4-solutions.s
    Thu 11/12A Multicycle MIPS Processor
  • H&H: 7.4
  • mips-multicycle.pdf
    Tue 11/17Pipelined MIPS
  • H&H: 7.5
  • P&H: 4.5-4.8
  • mips-pipeline.pdf
    Thu 11/19
    Class cancelled (MK Travel)
    Tue 11/24hw5.pdf
    hw5-solutions.pdf
    Thu 11/26
    Thanksgiving (No class!)
    Tue 12/1Caches
  • H&H: 8.3
  • P&H: 5.1-5.2
  • caches.pdf
    Thu 12/3
    Tue 12/8Review Sessionhw6.pdf
    hw6-solutions.pdf
    Thu 12/10
    Midterm #2
    midterm2-solutions.pdf