Lecture 1 - Programs and Data
Lecture 2 - Data Representation
Lecture 3 - Registers and Memory
Lecture 4 - Instructions, Addressing Modes
Lecture 5 - A RISC Instruction Set
Lecture 6 - A RISC Instruction Set (Continued...)
Lecture 7 - Function Call and Return
Lecture 8 - Function Call and Return (Continued...)
Lecture 9 - Instruction Execution
Lecture 10 - Instruction Execution (Continued...)
Lecture 11 - Software organization
Lecture 12 - System Calls
Lecture 13 - Virtual memory
Lecture 14 - Virtual memory (Continued...)
Lecture 15 - Virtual Memory (Continued...)
Lecture 16 - Process
Lecture 17 - Process scheduling
Lecture 18 - Process lifetime
Lecture 19 - Interprocess communication
Lecture 20 - Concurrent programming
Lecture 21 - Pipelining
Lecture 22 - Pipeline hazards
Lecture 23 - Pipeline hazards (Continued...)
Lecture 24 - Pipeline hazards (Continued...)
Lecture 25 - Cache memory
Lecture 26 - Memory hierarchy
Lecture 27 - Cache operation
Lecture 28 - Cache operation (Continued)
Lecture 29 - Cache aware programming
Lecture 30 - Cache aware programming (Continued...)
Lecture 31 - More on cache
Lecture 32 - Measuring time
Lecture 33 - Program Profiling
Lecture 34 - Secondary storage
Lecture 35 - Files and disks
Lecture 36 - Directories
Lecture 37 - Protection and Performance
Lecture 38 - Parallel architecture
Lecture 39 - Cache coherence
Lecture 40 - MPI programming
Lecture 41 - MPI programming (Continued...)