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 | Tue, 1/21 | About the course | ||
2 | Thu,1/23 | Intro to computers | ||||
2 | Ch.2 Representing and Manipulating Information | 3 | Tue,1/28 | Binary, octal, decimal, hexa numbers, integer representation | HW1 on reality | |
4 | Thur,1/30 | Binary to integer to unsigned and back | ||||
3 | 5 | Tue,2/4 | Integer addition, integer multiplication | HW 2 on ints | ||
6 | Thur,2/6 | Floating point representation and operationsn | ||||
4 | Ch.3 Machine-Level Representation of Programs - Linux assembly and machine languages | 7 | Tue,2/11 | Floating point continues. Data types, registers, | HW 3 on floats | |
8 | Thur, 2/13 | C to assembly to machine code, Data movement instructions | ||||
5 | 9 | Tue,2/18 | Test 1, for an hour and 20 mins | |||
10 | Thur,2/20 | Data movement instructions, address computation | ||||
6 | 11 | Tue,2/25 | Control: jump instructions, conditional branches | HW 4 on basic assembly | ||
12 | Thur,2/27 | Loops and switch statements, push, pop | ||||
7 | 13 | Tue,3/4 | Procedures and recursions | HW 5 on control | ||
14 | Thur,3/6 | Array allocation and access, pointers | ||||
8 | 15 | Tue,3/11 | Multi-dimension arrays, matrix, structs, | HW 6 on procs, recurs | ||
16 | Thur,3/13 | Stack overflow detection and prevention, varible stack | ||||
9 | 17 | Tue,3/25 | Floating point instructions using mmx...zmm registers, avx,sse | HW 7 on stack overflow | ||
9 | Ch.4 Processor Architecture | 18 | Thur,3/27 | Sequential computers - instruction set, add, mov | ||
10 | 19 | Tue,4/1 | Test 2, for an hour and 20 mins | |||
20 | Thur,4/3 | Sequential computers - add, mov, load, store | ||||
11 | 21 | Tue,4/8 | Sequential computers - load, store, push, pop, call, ret | HW 8 on instr exec | ||
22 | Thur,4/10 | Pipelined computers - data and branch hazards | ||||
12 | 23 | Tue,4/15 | Pipelined computers - solutions to the hazards | |||
12 | Ch.6 Memory Hierarchy | 24 | Thur,4/17 | Main memory, cache memory, locality of reference | HW 9 on issues | |
13 | 25 | Tue,4/22 | Cache memory - mapping, placement | |||
26 | Th,4/24 | Cache memory - placement, replacement, memory mountain, matrix multiplcation | HW 10 on cache | |||
14 | Ch.9 Virtual Memory | 27 | Tu,4/29 | Paging, page tables, address translation, example 1 | ||
28 | Thu,5/1 | Address translation example 2, dynamic memory allocation | HW 11 on virtual mem | |||
15 | --- | Final | See the registrar's page for the time and location |