Lecture schedule - Topics may change according to class pace
See http://csapp.cs.cmu.edu/3e/home.html for lecture notes.
Week | Chapter | Lecture | Date | Section | Homework |
---|---|---|---|---|---|
1 | Ch.1 A Tour of Computer Systems | 1 | Wed,9/4 | About the course | |
2 | Mon,9/9 | Intro to computers | |||
2 | Ch.2 Representing and Manipulating Information | 3 | Wed,9/11 | Binary, octal, decimal, hexa numbers, integer representation | HW1 on reality |
4 | Mon,9/16 | Binary to integer to unsigned and back | |||
3 | 5 | Wed,9/18 | Integer addition, integer multiplication | HW 2 on ints | |
6 | Mon,9/23 | Floating point representation and operations | |||
4 | 7 | Wed,9/25 | Floating point continues. Data types, registers, | HW 3 on floats | |
4 | Ch.3 Machine-Level Representation of Programs - Linux assembly and machine languages | 8 | Mon,9/30 | C to assembly to machine code, Data movement instructions | |
5 | 9 | Wed,10/2 | Test 1, for an hour and 15 mins | ||
10 | Mon,10/7 | Data movement instructions, address computation | |||
6 | 11 | Wed,10/9 | Control: jump instructions, conditional branches | HW 4 on basic assembly | |
12 | Mon,10/14 | Loops and switch statements, push, pop | |||
7 | 13 | Wed,10/16 | Procedures and recursions | HW 5 on control | |
14 | Mon,10/21 | Array allocation and access, pointers | |||
8 | 15 | Wed,10/23 | Multi-dimension arrays, matrix, structs, | HW 6 on procs, recurs | |
16 | Mon,10/28 | Stack overflow detection and prevention, varible stack | |||
9 | 17 | Wed,10/30 | Floating point instructions, Intel AVX, GPU programming using Nvidia CUDA | HW 7 on stack overflow | |
9 | Ch.4 Processor Architecture | 18 | Mon,11/4 | Sequential computers - instruction set, add, mov | |
10 | 19 | Wed,11/6 | Test 2, for an hour and 15 mins | ||
20 | Mon,11/11 | Sequential computers - add, mov, load, store | |||
11 | 21 | Wed,11/13 | Sequential computers - load, store, push, pop, call, ret | HW 8 on instr exec | |
22 | Mon,11/18 | Pipelined computers - data and branch hazards | |||
12 | 23 | Wed,11/20 | Pipelined computers - solutions to the hazards | ||
12 | Ch.6 Memory Hierarchy | 28 | Wed,11/25 | Main memory, cache memory, locality of reference | HW 9 on issues |
13 | 25 | Mon,12/2 | Cache memory - mapping, placement | ||
26 | Wed,12/4 | Cache memory - placement, replacement, memory mountain, matrix multiplcation | HW 10 on cache | ||
14 | Ch.9 Virtual Memory | 27 | Mon,12/9 | Paging, page tables, address translation, example 1 | |
28 | Wed,12/11 | Address translation example 2, dynamic memory allocation | HW 11 on virtual mem | ||
15 | --- | Final | See the registrar's page for the time and location |