www.cs.amherst/~ccm/cs14/syllabus.html
Computer Science 14 Syllabus
Here is a week-by-week listing of the course topics
and lab projects in the course.
- (J28) Read Wirth Chapter 2.
Course Overview: Virtual layers, parts of a computer.
Logic, truth tables, gate symbols, Boolean Algebra.
Basic combinational circuits: muxes and demuxes, voter circuits,
parity circuits, adders, comparers, etc.
Lab 1: Introduction to the lab, build a simple
circuit (half-adder).
- (F4) Computer arithmetic. Wirth Chapter 2 and PH Chapter 3.
Number representation and binary arithmetic.
ALU design
Floating point numbers; multiplication circuits.
Lab 2: Build a bit-sliced incrementer/decrementer.
- (F12) Memories. Wirth Chapter 3.
Latches and flipflops; registers; memories.
Shift registers, counters.
Circuits with state.
Lab 3:A clocked combinatorial/memory circuit.
- (F18) Control. Wirth Chapter 4.
Design Project I: Design a controlled datapath/state machines.
State Machines design and implementation: Examples.
Example: Multiplier Circuit..
Lab 4: Start working on design project. Designs Due.
- (F25) MIPS Instruction set. Chapter 2, Chapter 5.
Types of instructions.
Instruction sets: Addressing modes, operators and operands.
More instructions. Writing assembly language fragments.
Lab 5:Circuit design project.
- (M3) Instruction sets and datapaths. PH Chapter 5.
MIPS Instruction formats.
Review for test.
TEST on logic, combinational and combinatorial circuits,
instruction sets, memory circuits, state machines, and instruction
sets.
Lab 6:Work on circuit design project.
- (M10) Instruction sets and Datapath PH Chapter 5
Jumps, branching, and the PC.
Single-cycle datapath to implement the MIPS instruction set.
Controlling the datapath: control signals, timing, state machines,
multi-cycle datapath.
Lab 7:Work on design project.
- (M17)SPRING BREAK
- (M26) The pipelined datapath.
Pipelined datapaths. Pipeline hazards: structural, data, branch.
Measuring and evaluating datapaths.
Lab 8:Finish design project.
- (M31) Introducton to Robots and PIC assembly language.
How the robots work; PIC ASM. Design project II: Dancing robots.
The PIC cpu and datapath.
Lab 8:Programming in PIC ASM
- (A7)
Review for test.
Test on Instruction Set Design; Datapaths and Control;
Assembly Language programming.
Lab 9:Programming in PIC. Designs due.
- (A14) Memory Heirarchy: Cacheing
Types of caches; how they work.
Evaluating caches.
Lab 10:Programming a robot. Develop robot designs.
- (A21) Memory Heirarchy: Virtual Memory
How VM and Cache work together
Lab 11 Robots
- (A28) (Handouts) Operating Systems.
- Program management.
- Interactions with the outside world: interrupts, busses, networking.
LAB 12Robots
- (M5) (Handouts) Operating Systems.
LAB 13Robot demos
- Final Exam.