Official Description: An examination of the designs for hierarchical
memory systems including caches and virtual memory systems, pipeline
design techniques, characteristics of RISC/CISC machines,
multi-computer systems including multiprocessors and loosely-coupled
computer systems, the micro engine and microprogrammed machines, vector
and array processors, and the cost/performance trade-offs in all of the
above designs
Class meets MW
5:30-6:45
Prerequistes: CS310 and its prerequisite, CS240, i.e. Java
programming and C programming, data structures.
Syllabus
Textbook: Computer Organization and Design: The
Hardware/Software Interface, Fourth Edition by David A. Patterson, John
L. Hennessy partial
ebook
(chapter
1) materials
and
errata
First week (Jan.
24, 26):
Get a UNIX/Linux account for cs641 by running apply in S/3/158, even if
you already have
a UNIX/Linux
account here. This account is used for delivery of projects. Set up an
email forwarding file if you want to avoid reading email at our
site. Start on hw1.
Mon., Jan. 24 notes Intro, RISC vs. CISC
Wed., Jan. 26 notes Intro to MIPS assembly
language handout: SPIM screenshot
Mon., Jan. 31 notes MIPS assembly language
handouts:
String
Processing Example 1/31/11, MIPS Cross Compiler Setup and First
Example (P&H
so far: 1.1-1.3, 2.1-2.3, 2.6, 2.7, 2.9, B.9, B.10)
Wed., Feb. 2 University closed.(hw1 is still due Thurs, Feb. 3)
Mon, Feb. 7 notes Function Calling and
Stack Usage. Handout: Assembler
Function
Examples (also see Calling Conventions doc linked below) (Sec. 2.8)
Wed., Feb. 9 notes Logical Operations (Sec
2.6), Sort Example (Sec. 2.13, 2.14)
Mon., Feb 14 notes Floating Point
representation, example of code (Sec.
3.5
pp.
242-250,
259-266)
Handout
Wed., Feb 16 notes Signed and Unsigned
Numbers (Sec. 2.4), Instruction formats (Sec. 2.5) handout
Mon., Feb. 21 Holiday
Wed., Feb 23 notes Building C Programs
(Sec. 2.12, B1.-B.4) handout,
Memory Hierarchy,
Direct-Mapped Cache (Sec. 1.3,. 5.2)
Mon, Feb. 28 notes Cache-Memory Interface
(Sec.5.1, 5.2, start on 5.3)
Wed., Mar. 2 notes Cache Performance (Sec.
5.3), Start on Multi-cores (Sec. 1.5, 1.6, start on 7.1)
Mon. Mar 7 notes Parallel Processing (Sec
7.2), Multicores, Clusters (Sec. 7.4), SIMD, GPUs (Sec. 7.7, A.2),
start on
SMP (Sec. 7.3)
Wed., Mar 9 notes SMP (Sec. 7.3) (handout) (also see Mandelbrot
links below), intro Cache Coherence (Sec. 5.8)
Mon., Mar 21 notes Synchronization (Sec.
2.11) (handout, code), start on Logic
Circuits (not on midterm)
Wed., Mar 23 notes Combinational Logic
Circuits (demo image)
Mon., Mar. 28 notes Midterm Review (hw4 #6 memtest results)
Mon., Apr. 4 notes. Start on Sequential
Circuits (see Syllabus for handouts)
Wed., Apr. 6 notes Sequential Circuits,
FSMs.
Mon., Apr. 11 notes Sequential Circuits
Wed., Apr. 13 notes Intro Verilog (handout), MUXs, ALUs
Wed., Apr. 20 notes Finish adder, more on
Verilog
Mon., Apr. 25 notes Verilog registers,
accumulator, FSMs, netlists (handout)
Wed., Apr. 27 notes Simple ALU in Verilog,
register files, start on Chap. 4
Mon., May 2 notes The CPU: single-cycle
design, pipelined design (Sec. 4.1-4.4, start on 4.5)
Wed., May 4 notes Tiny computer in Verilog (handout), pipelining (Sec.
4.5-4.8)
Mon, May 9 notes Branch Prediction (handout) (Sec. 4.8, 4.10, 4.11)
Wed., May 11 notes Review
Final Exam: Mon, 5/16, 6:30 (6:05 if possible) M-1-612:on material since we started on circuit theory