Stephen A. Edwards Columbia University Crown
CSEE W3827
Fundamentals of Computer Systems
Summer 2017

Lectures

Class meets Mondays and Wednesdays, 1:00 - 4:00 PM, May 22 - June 28 in 627 Mudd.

Staff

Name Email Office hours Location
Prof. Stephen A. Edwards sedwards@cs.columbia.edu by appointment 462 CSB
Gabrielle Taylor gat2118@columbia.edu 2-4 Tue TA Room, 1st Floor Mudd
Zane Zemboain zzz2113@columbia.edu 12-1 Sun; 5:30-6:30 Wed TA Room, 1st Floor Mudd

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.

Schedule

Date Lecture Notes Reading Due
Mon May 22 Representing Numbers
Boolean Logic
pdf
pdf
1.4
1.5,2.1-2.7
Wed May 24 Combinational Logic
pdf
2.8,2.9,5.2
Wed May 31 Sequential Logic
pdf
3.1-3.3,3.5
Fri Jun 2 Finite State Machines
Transistors
pdf
pdf
3.4

pdf HW 1
Mon Jun 5 Memory Elements
pdf
5.5
Wed Jun 7 The MIPS Instruction Set
The SPIM Simulator
pdf
pdf
6.1-6.7

Mon Jun 12 MIPS Microarchitecture
pdf
7.1-7.3
pdf HW 2
Wed Jun 14 A Multicycle MIPS Processor
pdf
7.4
Mon Jun 19 Pipelining MIPS
pdf
7.5
Wed Jun 21 Caches
pdf
8.3
Mon Jun 26 Final Review
pdf

pdf HW 3
pdf strspn.s
pdf eval.s
Wed Jun 28 Exam

Logisim

Logisim For some of the homework assignments, you will need to use Logisim, which runs on many platforms. Download it here.

MIPS Resources

Optional Text

David Harris and Sarah Harris.
Digital Design and Computer Architecture.
Morgan-Kaufmann, Second Edition, 2012.

A perfect fit for our class, half of this book is devoted to classical digital logic design; the other half to processor architecture centered on the practical, but teachable, MIPS processor.

Cover of Digital Design and Computer Architecture

Homework

Grading

40% Homeworks
60% Final

Academic Honesty Policy

You may discuss homework problems with your classmates, but you must write up your solution independently and understand it. Students turning in copied homeworks will be referred to the dean. See the Columbia CS department academic policies for more details.

Other

Valid HTML 4.01Valid CSS