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

Lectures

Class meets Mondays and Wednesdays, 1:00 - 4:10 PM, May 27 - July 1 in online.

Staff

Name Email Office hours Location
Prof. Stephen A. Edwards sedwards@cs.columbia.edu F 2-4 Online
Lucie le Blanc ll3163@barnard.edu 9-11AM Tu, Th Online
Chris Calloway c.calloway@columbia.edu 12-2PM Th, Fr Online

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
Wed May 27 Representing Numbers
(annotated)
pdf
pdf
1.4

Fri May 29 Boolean Logic
(annotated)
pdf
pdf
1.5,2.1-2.7

Mon Jun 1 Combinational Logic
(annotated)
pdf
pdf
2.8,2.9,5.2

Wed Jun 3 Sequential Logic
(annotated)
Finite State Machines
(annotated)
pdf
pdf
pdf
pdf
3.1-3.3,3.5

3.4

Fri Jun 5 svg HW 1
pdf HW 1
Mon Jun 8 Transistors
(annotated)
Memory Elements
(annotated)
pdf
pdf
pdf
pdf


5.5

Wed Jun 10 The MIPS Instruction Set
(annotated)
The SPIM Simulator
(annotated)
pdf
pdf
pdf
pdf
6.1-6.7



Sun Jun 14 svg HW 2
pdf HW 2
Mon Jun 15 (MIPS ISA continued)

Wed Jun 17 MIPS Microarchitecture
(annotated)
pdf
pdf
7.1-7.3

Sun Jun 21 pdf HW 3
pdf hw3.zip
Mon Jun 22 A Multicycle MIPS Processor
(annotated)
pdf
pdf
7.4

Wed Jun 24 Pipelining MIPS
(annotated)
pdf
pdf
7.5

Mon Jun 29 Caches
(annotated)
pdf
pdf
8.3

Tue Jun 30 svg HW 4
Wed Jul 1 Final Review
(Boolean annotated)
(combinational annotated)
(sequential annotated)
(transistors annotated)
(memory annotated)
(MIPS ISA annotated)
pdf
pdf
pdf
pdf
pdf
pdf
pdf







Wed Jul 1 24-hr take-home exam

The Digital Circuit Simulator

We will be using the Digital Circuit Simulator which is an open-source Java program. To run it, download and unpack the Digital.zip file, then launch Digital.jar. The documentation is quite good.

The Inkscape SVG Editor

You will edit SVG homework files using the open-source Inkscape program.\ Please install it on your computer (Windows, Mac OS, and Linux all supported).

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