ECEn 324 Fall 2009 Course Schedule

 

L#

Date

Topic

Reading

HW / Lab Due

Exam

1

Mon 8/31

Introduction and Overview

Preface, Chapter 1, Web pages

 

 

 

Tue 9/1

 

 

 

 

2

Wed 9/2

Information Storage

2.1

 

 

 

Thu 9/3

 

 

 

 

3

Fri 9/4

Integer Representations

2.2

 

 

 

Mon 9/7

Labor Day Holiday

 

 

 

 

Tue 9/8

 

 

 

 

4

Wed 9/9

Integer Arithmetic

2.3

 

 

 

Thu 9/10

 

 

HW #1

 

5

Fri 9/11

Floating point numbers and operations

2.4, 2.5

 

 

6

Mon 9/14

Program Encodings, Data Formats

3.1-3.4

 

Last day to drop

 

Tue 9/15

 

 

HW #2

 

7

Wed 9/16

Data Operations and Control

3.5 - 3.6.4

 

 

 

Thu 9/17

 

 

Lab 1

 

8

Fri 9/18

Loops and Switches

3.6.5 – 3.6.6

 

 

9

Mon 9/21

Procedures

3.7

 

 

 

Tue 9/22

 

 

HW #3

 

10

Wed 9/23

Arrays

3.8

 

 

 

Thu 9/24

 

 

HW #4

 

11

Fri 9/25

Structs, alignment, pointers

3.9-3.11

 

 

12

Mon 9/28

GDB, Buffer Overflow

3.12-3.13

 

 

 

Tue 9/29

 

 

 

 

13

Wed 9/30

Floating point code, embedded assembly

3.14-3.16, Less critical 3.14, 3.15

 

 

 

Thu 10/1

 

 

Lab 2

 

14

Fri 10/2

The Y86 ISA

4.1

 

 

15

Mon 10/5

Logic Design, Sequential Stages

4.2 – 4.3.1

 

Last day to withdraw

 

Tue 10/6

 

 

HW #5

Exam 1

16

Wed 10/7

Sequential Hardware and Timing

4.3.2 – 4.3.5

 

Exam 1

 

Thu 10/8

 

 

 

 

17

Fri 10/9

Pipelining Principles

4.4

 

 

18

Mon 10/12

Pipeline registers, Branches, Hazards

4.5.1 – 4.5.4

 

 

 

Tue 10/13

 

 

 

 

19

Wed 10/14

Stalling, Forwarding

4.5.5 – 4.5.8

 

 

 

Thu 10/15

 

 

Lab 3

HW #6

 

20

Fri 10/16

Control Logic, Performance Analysis

4.5.9 – 4.5.10

 

 

21

Mon 10/19

Exceptions, Advanced Pipelining

4.5.11 – 4.6

 

 

 

Tue 10/20

 

 

 

 

22

Wed 10/21

Performance, Loops, Procedure Calls

5.1 – 5.6

 

 

 

Thu 10/22

 

 

HW #7

 

23

Fri 10/23

Modern CPUs

5.7

 

 

24

Mon 10/26

Loops, Pointer, and Parallelism

5.8 – 5.10

 

 

 

Tue 10/27

 

 

Lab 4A,B

 

25

Wed 10/28

Branch penalties, Profiling, AmdahlÕs law

5.11 – 5.16, 5.13 less critical

 

 

 

Thu 10/29

 

 

HW #8

 

26

Fri 10/30

Storage Technologies

6.1

 

 

27

Mon 11/2

Locality, Memory hierarchies

6.2 – 6.4.1

 

 

 

Tue 11/3

 

 

Lab 4C

 

28

Wed 11/4

Cache Memories

6.4.2 – 6.4.7

 

 

 

Thu 11/5

 

 

HW #9

 

29

Fri 11/6

Writing cache friendly code, Memory mountains

6.5 – 6.6.1

 

 

30

Mon 11/9

Blocking, Exploiting locality

6.6.2 – 6.8

 

 

 

Tue 11/10

 

 

 

 

31

Wed 11/11

Static linking, Object files, Symbol tables

7.1 – 7.6

 

 

 

Thu 11/12

 

 

HW #10

 

32

Fri 11/13

Symbol resolution, Relocation, Dynamic linking

7.7 – 7.14,

7.12 less critical

 

 

33

Mon 11/16

Exceptions, Processes

8.1 – 8.2

 

 

 

Tue 11/17

 

 

Lab 5

 

34

Wed 11/18

System Calls, Process control

8.3 – 8.4

 

 

 

Thu 11/19

 

 

HW #11

 

35

Fri 11/20

Signals, Non-local jumps

8.5 – 8.8

 

 

36

Mon 11/23

Measuring time, Cycle counters,

9.1 – 9.4.2

 

Exam 2

37

Tue 11/24

Time-of-day measurements, K-best approach

9.4.3 – 9.10

 

Exam 2

 

11/25 – 11/27

Thanksgiving Holiday

 

 

 

38

Mon 11/30

Virtual Memory

10.1 – 10.5

 

 

 

Tue 12/1

 

 

 

 

39

Wed 12/2

Address Translation

10.6

 

 

 

Thu 12/3

 

 

HW #12

 

40

Fri 12/4

Pentium/Linux memory system

10.7

 

 

41

Mon 12/7

Memory Mapping

10.8

 

 

 

Tue 12/8

 

 

 

 

42

Wed 12/9

Memory related bugs

10.11 – 10.13

 

 

 

Thu 12/10

 

 

 

 

 

Mon12/14

Final Exam 11:00 AM – 2 PM
See http://saas.byu.edu/classSchedule/finals/fall.php