ECEn 324 Winter 2010
Schedule and Assignments At a Glance

(Click to see homework and lab assignments.)
Monday
Tuesday
Wednesday
Thursday
Friday
Jan 4: First class Jan 5 Jan 6 Jan 7 Jan 8
Jan 11 Jan 12: HW 1 due Jan 13 Jan 14: HW 2 due Jan 15
Jan 18: Holiday Jan 19: Lab 1 due Jan 20 Jan 21: HW 3 due Jan 22
Jan 25 Jan 26 Jan 27 Jan 28: HW 4 due Jan 29
Feb 1 Feb 2: Lab 2 due Feb 3 Feb 4: HW 5 due Feb 5
Feb 8 Feb 9: Midterm 1 Feb 10: Midterm 1 Feb 11 Feb 12
Feb 15: Holiday Feb 16: Monday classes
Lab 3 due
Feb 17 Feb 18: HW 6 due Feb 19
Feb 22 Feb 23 Feb 24 Feb 25: HW 7 due Feb 26
Mar 1 Mar 2: Lab 4A,4B due Mar 3 Mar 4: HW 8 due Mar 5
Mar 8 Mar 9: Lab 4C due Mar 10 Mar 11: HW 9 due Mar 12
Mar 15 Mar 16 Mar 17 Mar 18: HW 10 due Mar 19
Mar 22 Mar 23: Lab 5 due Mar 24 Mar 25: HW 11 due Mar 26
Mar 29 Mar 30: Midterm 2 Mar 31: Midterm 2 Apr 1 Apr 2
Apr 5 Apr 6 Apr 7 Apr 8: HW 12 due Apr 9
Apr 12: Last class Apr 13 Apr 14: Reading day Apr 15: Reading day Apr 16: Finals
Apr 19: Finals Apr 20: Finals Apr 21: Finals Apr 22 Apr 23


Reading and Lecture Schedule

 You are expected to read the assigned sections before the class in which they are discussed. (Remember, you MUST complete the quiz on the assigned sections by 11:00 pm on each day of class!) Sections identified as "less critical" can be skimmed with less attention to details.
 
 
 
Date 
Topic 
Reading 

Mon Jan 4 Introduction and overview Preface, Chapter 1, Class web pages
Wed Jan 6 Information storage 2.1
Fri Jan 8 Integer representations 2.2


Mon Jan 11 Integer arithmetic 2.3
Wed Jan 13 Floating point numbers and operations 2.4 - 2.5 Slides, part I
Fri Jan 15 Program encodings, data formats 3.1 - 3.4


Wed Jan 20 Data operations, control 3.5 - 3.6.4
Fri Jan 22 Loops and switches 3.6.5 - 3.6.6


Mon Jan 25 Procedures 3.7
Wed Jan 27 Arrays 3.8 Slides, part II
Fri Jan 29 Structs, alignment, pointers 3.9 - 3.11


Mon Feb 1 GDB, buffer overflow 3.12 - 3.13
Wed Feb 3 Floating point code, embedded assembly 3.14 - 3.16 (less critical: 3.14, 3.15) Slides, part III
Fri Feb 5 The Y86 ISA 4.1


Mon Feb 8 Logic design, sequential stages 4.2 - 4.3.1
Wed Feb 10 Sequential hardware and timing 4.3.2 - 4.3.5 Slides, part IV
Fri Feb 12 Pipelining principles 4.4


Tue Feb 16 Pipeline registers, branches, hazards 4.5.1 - 4.5.4
Wed Feb 17 Stalling, forwarding 4.5.5 - 4.5.8
Fri Feb 19 Control logic, performance analysis 4.5.9 - 4.5.10


Mon Feb 22 Exceptions, advanced pipelining 4.5.11 - 4.6 Slides, part V
Wed Feb 24 Performance, loops, procedure calls 5.1 - 5.6
Fri Feb 26 Modern CPUs 5.7


Mon Mar 1 Loops, pointers, parallelism 5.8 - 5.10
Wed Mar 3 Branch penalties, profiling, Amdahl's law 5.11 - 5.16 (less critical: 5.13) Slides, part VI
Fri Mar 5 Storage technologies 6.1


Mon Mar 8 Locality, memory hierarchies 6.2 - 6.4.1
Wed Mar 10 Cache memories 6.4.2 - 6.4.7
Fri Mar 12 Writing cache friendly code, memory mountains 6.5 - 6.6.1


Mon Mar 15 Blocking, exploiting locality 6.6.2 - 6.8 Slides, part VII
Wed Mar 17 Static linking, object files, symbol tables 7.1 - 7.6
Fri Mar 19 Symbol resolution, relocation, dynamic linking 7.7 - 7.14 (less critical: 7.12)


Mon Mar 22 Exceptions, processes 8.1 - 8.2
Wed Mar 24 Systems calls, process control 8.3 - 8.4
Fri Mar 26 Signals, non-local jumps 8.5 - 8.8


Mon Mar 29 Measuring time, cycle counters 9.1 - 9.4.2
Wed Mar 31 Time-of-day measurements, K-best approach 9.4.3 - 9.10
Fri Apr 2 Virtual memory 10.1 - 10.5


Mon Apr 5 Address translation 10.6
Wed Apr 7 Pentium/Linux memory system 10.7
Fri Apr 9 Memory mapping 10.8


Mon Apr 12 Memory related bugs 10.11 - 10.13
  Apr 16-21 FINAL EXAM, in testing center