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

Lectures

Class meets Mondays and Wednesdays, 5:30 - 8:40 PM, May 23 - June 29 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 Th 4-6 TA Room, 1st Floor Mudd
Fatima Koli fak2116@barnard.edu T 12-2 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 23 Representing Numbers
Boolean Logic
pdf
pdf
1.4
1.5,2.1-2.7
Wed May 25 Combinational Logic
pdf
2.8,2.9,5.2
Mon May 30 No Lecture
Wed Jun 1 Sequential Logic
pdf
3.1-3.3,3.5
Fri Jun 3 Finite State Machines
Transistors
pdf
pdf
3.4

pdf HW 1
pdf solutions
Mon Jun 6 Memory Elements
pdf
5.5
Wed Jun 8 The MIPS Instruction Set
The SPIM Simulator
pdf
pdf
6.1-6.7

Mon Jun 13 MIPS Microarchitecture
pdf
7.1-7.3
pdf HW 2
pdf solutions
Wed Jun 15 A Multicycle MIPS Processor
pdf
7.4
Mon Jun 20 Pipelining MIPS
pdf
7.5
Wed Jun 22 Caches
pdf
8.3
pdf HW 3
pdf strncat.s
pdf strncat.s
pdf solutions
Mon Jun 27 Final Review
pdf

Wed Jun 29 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

Required Text

David Harris and Sarah Harris.
Digital Design and Computer Architecture.
Morgan-Kaufmann, 2007.

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