| Date |
Lecture/Lab |
|
Reading |
Homework |
|
| Week 1: Representing and Manipulating Information |
| Mon |
Jan |
17 |
Overview |
|
1 |
HW1 (datalab) out (pdf) |
| Wed |
Jan |
19 |
Bits, Bytes, Ints |
|
2.1 |
|
| Thur |
Jan |
20 |
Lab1: Logisim Basics; C logicals |
|
|
|
| Fri |
Jan |
21 |
Quiz1; Ints |
|
2.2 |
|
|
| Week 2: Signed/Unisgned Integers |
| Mon |
Jan |
24 |
No class -- MLK Observance |
|
|
|
| Wed |
Jan |
26 |
Casting, Sign Ext., Truncation |
|
2.3 |
|
| Thur |
Jan |
27 |
Lab2: Breadboard Basics; Datalab tricks |
|
|
|
| Fri |
Jan |
28 |
Quiz2; Negation, Addition, Binary fixed point |
|
|
|
|
| Week 3: Floating Point |
| Mon |
Jan |
31 |
Floats: IEEE 754 |
|
2.4 (light read 2.4.4) |
HW1 due; HW2 (bomblab) out (pdf) |
| Wed |
Feb |
2 |
Class cancelled due to weather |
|
|
|
| Thur |
Feb |
3 |
Lab3: Combinational Logic and K-Maps |
|
|
|
| Fri |
Feb |
4 |
Quiz3; Finish float; Intro Machine Prog |
|
3.1-3.3 |
|
|
| Week 4: Assembly Language and Flow of Control |
| Mon |
Feb |
7 |
Machine Prog: Basics II |
|
3.4-3.6 |
|
| Wed |
Feb |
9 |
Registers, Moves and Arithmetic Instructions |
|
|
|
| Thur |
Feb |
10 |
Lab4: Two Bit Adder |
|
|
|
| Fri |
Feb |
11 |
Quiz4; Control |
|
More 3.6 (omit 3.6.6) |
|
|
| Week 5: The Stack |
| Mon |
Feb |
14 |
Jump tables; Begin procedures |
|
3.7-3.8 |
|
| Wed |
Feb |
16 |
Procedures and Stack discipline |
|
end of topics for midterm |
|
| Thur |
Feb |
17 |
Lab5: BCD Coder (lab5.circ) |
|
|
|
| Fri |
Feb |
18 |
Quiz5; Arrays and Data (3.8) |
|
3.9-3.10, 3.12 |
HW2 due |
|
| Week 6: |
| Mon |
Feb |
21 |
Midterm 1 |
|
|
HW3 (buflab) out (pdf) |
| Wed |
Feb |
23 |
Memory Hierarchy |
|
6.1-6.3 |
|
| Thur |
Feb |
24 |
Lab6: Mystery Circuits |
|
|
|
| Fri |
Feb |
25 |
Quiz6; Memory and Storage |
|
6.4-6.7 |
|
|
| Week 7: |
| Mon |
Feb |
28 |
Cache Memories I |
|
|
|
| Wed |
Mar |
2 |
Cache Memory II |
|
|
HW4 (cachelab part a) out (pdf)
cachesim.c |
| Thur |
Mar |
3 |
Lab7: Finite State Machines |
|
|
|
| Fri |
Mar |
4 |
Quiz7; Set Associativity, Applications |
|
|
HW3 due |
|
| Week 8: |
| Mon |
Mar |
7 |
Cache wrapup; Intro to Linking |
|
|
|
| Wed |
Mar |
9 |
Linking |
|
Ch. 7 |
|
| Thur |
Mar |
10 |
Lab8:FSM Garage Controller |
|
|
|
| Fri |
Mar |
11 |
Quiz8; Linking |
|
|
|
|
Spring Break |
|
| Week 9: |
| Mon |
Mar |
21 |
Linking finale |
|
|
|
| Wed |
Mar |
23 |
Intro to Y86 architecture |
|
Ch. 4.1 |
HW4 part b (transpose.c) out |
| Thur |
Mar |
24 |
Lab9: Y86 ALU |
|
|
|
| Fri |
Mar |
25 |
Quiz9; Y86 Sequential CPU |
|
Ch. 4.3 |
|
|
| Week 10: |
| Mon |
Mar |
28 |
No Class |
|
|
HW4b due, ALU due (by midnight) |
| Wed |
Mar |
30 |
Y86 Assembly and Encoding |
|
|
|
| Thur |
Mar |
31 |
Lab10: Y86 Datapath |
|
|
|
| Fri |
Apr |
1 |
Quiz10; Y86 Assembly; SEQ Design |
|
|
|
|
| Week 11: |
| Mon |
Apr |
4 |
Control Design for SEQ components |
|
|
HW5 Part A out (pdf) |
| Wed |
Apr |
6 |
SEQ performance |
|
|
|
| Thur |
Apr |
7 |
Lab11: Y86 Control |
|
|
|
| Fri |
Apr |
8 |
Midterm 2 |
|
|
|
|
| Week 12: |
| Mon |
Apr |
11 |
Pipelining I |
|
Ch 4.4, 4.5 |
|
| Wed |
Apr |
13 |
Pipelining II |
|
|
HW5 Part A due (by midnight) |
| Thur |
Apr |
14 |
Lab12: Y86 Extensions |
|
|
|
| Fri |
Apr |
15 |
Pipelining III; Exceptions intro |
|
|
HW5 Parts B/C due (by midnight) |
|
| Week 13: |
| Mon |
Apr |
18 |
Exceptional Control Flow |
|
Ch. 8, Sec. 8.1-8.2 |
HW6 Shell Lab out |
| Wed |
Apr |
20 |
Process Control |
|
8.3-8.4 |
|
| Thur |
Apr |
21 |
Signals |
|
8.5-8.6 |
|
| Fri |
Apr |
22 |
Course Evals; Chap. 8 Wrapup |
|
|
|
|
| Week 14: |
| Mon |
Apr |
25 |
Virtual Memory |
|
Ch 9, Sec 1-3 |
|
| Wed |
Apr |
27 |
Virtual Memory II |
|
9.4-9.6 |
|
| Thur |
Apr |
28 |
Lab14: Shell Lab work day |
|
|
|
| Fri |
Apr |
29 |
Quiz14; Virtual Memory Wrapup |
|
|
|
|
| Mon |
May |
2 |
Review |
|
|
HW6 due |
|
| | | |
Final Exam |