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