We will release the Fall 2014 assignments as the semester moves
along. The contents of this calendar for days more than two weeks in
the future may be missing.
The final version of the slides will be updated after each class.
| Monday | Tuesday |
Wednesday | Thursday |
Friday |
2014-09-15 |
2014-09-16 |
2014-09-17
LEC 1: Machine-Independent Optimization
Preparation: Book sections 5.2, 5.3, 5.4~5.6, 5.1
Slides: Lecture-1
|
2014-09-18
Lab #7: Processor
|
2014-09-19
LEC 2: More Code Optimization and Modern Processors
Preparation: Book sections 5.8~5.12, 5.7
Slides: Lecture-2
Assigned: Homework #1 (updated)
|
2014-09-22 |
2014-09-23 |
2014-09-24
LEC 3: Modern Processors & More Code Optimization
Preparation: Book sections 5.7, 5.8
Slides: Lecture-3
Group Information: Groups
|
2014-09-25 |
2014-09-26
LEC 4: More Code Optimization & Memory Hierarchy
Preparation: Book sections 5.7, 5.8, 6.1
Slides: Lecture-4
DUE: Homework #1 Solution #1
Assigned: Homework #2
|
2014-09-29 |
2014-09-30 |
2014-10-01
National Day
|
2014-10-02 |
2014-10-03 |
2014-10-06 |
2014-10-07 |
2014-10-08
LEC 5: Memory Hierarchy
Preparation: Book sections 6.1
|
2014-10-09
DUE: Lab #7 stat
|
2014-10-10
LEC 6: Memory Hierarchy
Preparation: Book sections 6.1, 6.2, 6.3, 6.4
Slides: Lecture-5
DUE: Homework #2 Solution #2
Assigned: Homework #3
|
2014-10-13 |
2014-10-14 |
2014-10-15
LEC 7: Memory Hierarchy
Preparation: Book sections 6.4
Slides: Lecture-6
|
2014-10-16 |
2014-10-17
LEC 8: Memory Hierarchy & Exceptional Control Flow
Preparation: Book sections 6.5, 6.6, 1.7, 8.2.1, 8.2.2, 8.2.3
Slides: Lecture-7
Slides: Lecture-8
DUE: Homework #3 Solution #3
Assigned: Homework #4
|
2014-10-20
Lab #8: Cache
Reference: Waside Blocking
|
2014-10-21 |
2014-10-22
LEC 9: Exceptional Control Flow II
Preparation: Book sections 8.1.4, 8.2, 8.3, 8.4
Slides: Lecture-9
Tutorial: Measurement of cache parameters
|
2014-10-23 |
2014-10-24
LEC 10: Exceptional Control Flow III
Preparation: Book sections 8.4
Slides: Lecture-10
DUE: Homework #4 Solution #4
Assigned: Homework #5
|
2014-10-27 |
2014-10-28 |
2014-10-29
LEC 11: Exceptional Control Flow IV
Preparation: Book sections 8.4, 8.5.1~8.5.3
Slides: Lecture-11
|
2014-10-30 |
2014-10-31
LEC 12: Exceptional Control Flow V
Preparation: Book sections 8.5, 8.6
Slides: Lecture-12
DUE: Homework #5 Solution #5
Assigned: Homework #6
|
2014-11-03
DUE: Lab #8
|
2014-11-04 |
2014-11-05
LEC 13: System-Level I/O
Preparation: Book sections 10.1~10.3, 10.5~10.7, 10.4, 10.8
Slides: Lecture-13
|
2014-11-06
Lab #9: Shell
|
2014-11-07
LEC 14: Robust & Standard I/O
Preparation: Book sections 10.4, 10.8
Slides: Lecture-14
DUE: Homework #6 Solution #6
Assigned: Homework #7
|
2014-11-10 |
2014-11-11 |
2014-11-12
LEC 15: Networking Programming
Preparation: Book sections 11.3, 11.4
Slides: Lecture-15
|
2014-11-13 |
2014-11-14
LEC 16: Networking Programming
Preparation: Book sections 11.4
Slides: Lecture-16
DUE: Homework #7 Solution #7
Assigned: Homework #8
|
2014-11-17 |
2014-11-18 |
2014-11-19
Middle Exam: 10:00~12:00
Location: ZY 205 ZY 209
Paper
Solution
Stat.
|
2014-11-20 |
2014-11-21
SJTU sports meeting
|
2014-11-24 |
2014-11-25 |
2014-11-26
LEC 17: Networking Programming
Preparation: Book sections 11.4
|
2014-11-27
DUE: Lab #9
|
2014-11-28
LEC 18: Middle Exam Solution
Slides: Problem 4,5,6
Slides: Problem 1,2,3,7
DUE: Homework #8 Solution #8
|
2014-12-01 |
2014-12-02 |
2014-12-03
LEC 19: Concurrent Programming
Preparation: Book sections 12.1-12.3
Slides: Lecture-17
Tutorial: ARP RARP
|
2014-12-04
Lab #10: Proxy
|
2014-12-05
LEC 20: Concurrent Programming
Preparation: Book sections 12.1-12.3
Assigned: Homework #9
|
2014-12-08 |
2014-12-09 |
2014-12-10
LEC 21: Shared Variable & Semaphores
Preparation: Book sections 12.4,12.5
Slides: Lecture-18
|
2014-12-11 |
2014-12-12
LEC 22: Issues
Preparation: Book sections 12.5-12.7
Slides: Lecture-19
DUE: Homework #9 Solution #9
|
2014-12-15 |
2014-12-16 |
2014-12-17
LEC 23: Virtual Memory
Preparation: Book sections 9.1-9.5
Slides: Lecture-20
Tutorial: TLB
|
2014-12-18
DUE: Lab #10
|
2014-12-19
LEC 24: Virtual Memory II
Preparation: Book sections 10.6
Slides: Lecture-21
Assigned: Homework #10
|
2014-12-22 |
2014-12-23 |
2014-12-24
LEC 25: Virtual Memory III
Preparation: Book sections 9.7
Slides: Lecture-22
Problem: Page Table
|
2014-12-25 |
2014-12-26
LEC 26: Virtual Memory IV
Preparation: Book sections 10.7, 10.8
Slides: Lecture-23
DUE: Homework #10 Solution #10
Assigned: Homework #11
|
2014-12-29 |
2014-12-30 |
2014-12-31
LEC 27: BROP
Slides: Lecture-BROP
|
2015-01-01 |
2015-01-02
LEC 28: Review
Slides: Lecture-REVIEW
DUE: Homework #11 Solution #11
|
2015-01-05
Final exam week
|
2015-01-06
Final exam week
|
2015-01-07
Final Exam : 8:00 ~ 10:00
Location: : DZY 4-201 DZY 4-301
Paper-A
Solution-A
Paper-B
Solution-B
Stat.
|
2015-01-08
Final exam week
|
2015-01-09
Final exam week
|
2015-01-12
Final exam week
|
2015-01-13
Final exam week
|
2015-01-14
Final exam week
|
2015-01-15
Final exam week
|
2015-01-16
Final exam week
|
We will release the Spring 2014 assignments as the semester moves
along. The contents of this calendar for days more than two weeks in
the future may be missing.
| Monday | Tuesday |
Wednesday | Thursday |
Friday |
feb 24
|
feb 25
LEC 1: Introduction
Preparation: Book prefaces 7~9, and book sections 1.2, 1.4.1, Before 1.7.1, 1.7.3, 1.8, 1.9.1
Slides: Lecture-1
|
feb 26
TUT 1: Env Setup, Shell, Tools
Preparation: VMware Player
Debian
Slides: Tutorial-1
Tasks: Shell
Reference: Create VM (Slides)
Install Debian (Slides
Video)
|
feb 27
|
feb 28
LEC 2: C Programming Language, Bits & Bytes
Preparation: Book sections 1.1, 2.1.1
Slides: Lecture-2
Assigned: Homework #1
|
mar 3
|
mar 4
LEC 3: Bit-level Ops
Preparation: Book sections 1.2, 2.1.3 2.1.7-2.1.8
Slides: Lecture-3
|
mar 5
TUT 2: APT, SVN and Toolchain
Preparation: Debian & Shell
Slides: Tutorial-2
Tasks: Tools
|
mar 6
|
mar 7
LEC 4: Logical Ops
Preparation: Book sections 2.1.9-2.1.10, 2.1.2
Slides: Lecture-4
DUE: Homework #1 Solution #1
Assigned: Homework #2
|
mar 10
|
mar 11
LEC 5: Data Representation
Preparation: Book sections 2.1.3-2.1.6
Slides: Lecture-5
|
mar 12
TUT 3: Debugging
Preparation: C Programing
Slides: Tutorial-3
Tasks: Debugging
|
mar 13
Lab #1: Bit-level Ops
|
mar 14
LEC 6: Encodings
Preparation: Book sections 2.2
Slides: Lecture-6
DUE: Homework #2 Solution #2
Assigned: Homework #3 |
mar 17
|
mar 18
LEC 7: Conversions & Arithmetic Ops
Preparation: Book sections 2.2, 2.3
Slides: Lecture-7
|
mar 19
|
mar 20
|
mar 21
LEC 8: Memory & Registers
Preparation: Book sections 3.1-3.4
Slides: Lecture-8
DUE: Homework #3 Solution #3
Assigned: Homework #4 |
mar 24
|
mar 25
LEC 9: Data Movement Instructions & C Pointers
Preparation: Book sections 3.1-3.4
Slides: Lecture-9
|
mar 26
TUT 4: Assembly & GDB
Preparation: Assembly
Slides: Tutorial-4
Tasks: Assembly
Reference: GDB-Ref
|
mar 27
DUE: Lab #1
|
mar 28
LEC 10: Data Manipulation, Conditional Code
Preparation: Book sections 3.5, 3.6.1, 3.6.2
Slides: Lecture-10
DUE: Homework #4 Solution #4
Assigned: Homework #5 |
mar 31
|
apr 1
LEC 11: Control Flow Constructs in ASM
Preparation: Book sections section 3.6
Examples: strcmp strcpy
Slides: Lecture-11
|
apr 2
EXE 1:
Slides: Group1&2
|
apr 3
Lab #2: Bombing
Reference: Stats
|
apr 4
LEC 12: Procedure Call
Preparation: Book sections 3.6
Slides: Lecture-12
DUE: Homework #5 Solution #5
Assigned: Homework #6
|
apr 7
|
apr 8
LEC 13: Array
Preparation: Book sections 3.7
Slides: Lecture-13
|
apr 9
EXE 2:
|
apr 10
|
apr 11
LEC 14: Pointer & Struct & Union
Preparation: Book sections 3.8, 3.9
Slides: Lecture-14
DUE: Homework #6 Solution #6
Assigned: Homework #7
|
apr 14
|
apr 15
LEC 15: Buffer Overflow
Preparation: Book sections 3.10, 3.12
Slides: Lecture-15
|
apr 16
EXE 3:
|
apr 17
DUE: Lab #2
|
apr 18
LEC 16: x86-64
Preparation: Book sections 3.13
Slides: Lecture-16
DUE: Homework #7 Solution #7
Assigned: Homework #8
|
apr 21
|
apr 22
LEC 17: Floating Point
Preparation: Book sections 2.4
Slides: Lecture-17
|
apr 23
EXE 4:
|
apr 24
Lab #3: Buffer Overflow
Code: Handout
Reference: Scoreboard
|
apr 25
LEC 18: Y86
Preparation: Book sections 4.1
Slides: Lecture-18
Reference: y86 instruction set
DUE: Homework #8 Solution #8
Assigned: Homework #9
|
apr 28
|
apr 29
LEC 19: Static Linking
Preparation: Book sections 7.1-7.5
Slides: Lecture-19
|
apr 30
|
may 1
Labor Day
|
may 2
Labor Day
|
may 5
|
may 6
LEC 20: Symbols & Symbol Table
Preparation: Book sections 7.5-7.7
Slides: Lecture-20
|
may 7
Middle Exam: 18:00~20:00
Location: DSY 203 DSY 204
Paper Solution Stat.
|
may 8
DUE: Lab #3
Lab #4: Y86 Simulator
|
may 9
LEC 21: Relocation & Dynamic Linking
Preparation: Book sections 7.6-7.9
Slides: Lecture-21
DUE: Homework #9 Solution #9
Assigned: Homework #10
|
may 12
|
may 13
LEC 22: PIC
Preparation: Book sections 7.10-7.12
Slides: Lecture-22
|
may 14
Online Test: 18:00~20:00
Location: SE Machine Room
Group-1: 18:00~19:00
Group-2: 19:00~20:00
Reference: Stats
Scoreboard Handout
|
may 15
|
may 16
LEC 23: Logical Design & HCL
Preparation: Book sections 4.1-4.2
Slides: Lecture-23
DUE: Homework #10 Solution #10
Assigned: Homework #11
|
may 19
|
may 20
LEC 24: SEQ Stages
Preparation: Book sections 4.3.1-4.3.3
Slides: Lecture-24
Reference: cheatsheet
|
may 21
|
may 22
DUE: Lab #4
Lab #5: Y86 Assembler Intro
|
may 23
LEC 25: SEQ Implementation
Preparation: Book sections 4.3.2, 4.3.4
Slides: Lecture-25
DUE: Homework #11 Solution #11
Assigned: Homework #12
|
may 26
|
may 27
LEC 26: Principles of Pipelining & SEQ+
Preparation: Book sections 4.4, 4.5.1-4.5.4
Slides: Lecture-26
|
may 28
EXE 5:
|
may 29
|
may 30
LEC 27: Data Hazard
Preparation: Book sections 4.5.5-4.5.7
Slides: Lecture-27
DUE: Homework #12 Solution #12
Assigned: Homework #13
|
jun 2
Dragon Boat Festival
|
jun 3
LEC 28: Control Hazard
Preparation: Book sections 4.5.8, 4.5.10-4.5.11
Slides: Lecture-6
|
jun 4
EXE 6: Answers
|
jun 5
DUE: Lab #5
|
jun 6
LEC 29: Exception
Preparation: Book sections 4.5.9, 4.5.12
Slides: Lecture-8
DUE: Homework #13 Solution #13
Assigned: Homework #14
|
jun 9
|
jun 10
LEC 30: Dynamic Memory Allocation
Preparation: Book sections 9.9
Slides: Lecture-30
|
jun 11
EXE 7:
|
jun 12
|
jun 13
LEC 31: Simple Memory Allocator
Preparation: Book sections 9.9
Slides: Lecture-31
DUE: Homework #14 Solution #14
Assigned: Homework #15 Solution #15
|
jun 16
Final exam week |
jun 17
Final exam week |
jun 18
Final exam week |
jun 19
Final exam week |
jun 20
Final Exam: 8:00~10:00
Location: DZY 4-301 DZY 4-401
Paper-A Solution-A Paper-B Solution-B Stat.
|
jun 23
Final exam week |
jun 24
Final exam week |
jun 25
Final exam week |
jun 26
Final exam week |
jun 27
Final exam week |
jun 30
|
jul 1
Lab #6: Memory Allocator
|
jul 2
|
jul 3
|
jul 4
|
jun 7
|
jun 8
|
jun 9
|
jun 10
|
jun 11
|
jul 14
DUE: Lab #6
|
jul 15
|
jul 16
|
jul 17
|
jul 18
|
jul 21
|
jul 22
|
jul 23
|
jul 24
|
jul 25
|