Norm's ENCM 369 L02 Home Page

Winter 2019

Norm Bartley

Watch here for notes from the document camera in ENE 241 following each of Norm's Winter 2019 lectures in ENCM 369 L02.

Please go to Steve Norman's ENCM 369 Home Page for 2019 course information. There, you'll find additional links to course documents, handouts, lab material, and his L01/T01/T02 lecture notes.

Norm's 2019 L02 Lecture Notes

Week 1 (Jan 10 - Jan 11)

Day Date Key Topics Notes
Thu Jan 10 A PowerPoint introduction to ENCM 369; organization of a simple computer. link
Fri Jan 11 Main memory, registers, memory reads/writes, sequences of machine instructions. link

Week 2 (Jan 14 - Jan 18)

Day Date Key Topics Notes
Mon Jan 14 MIPS memory organization, registers, machine language, assembly language. link
Wed Jan 16 More MIPS instruction examples, memory transfers, organizing MIPS registers. link
Fri Jan 18 Load and store instructions; accessing array elements; branching and jumping. link

Week 3 (Jan 21 - Jan 25)

Day Date Key Topics Notes
Mon Jan 21 [Revised] Comparisons, left-shifting, MIPS pseudoinstructions, procedure calling. link
Wed Jan 23 Leaf and non-leaf procedures; the stack; handling $ra register conflicts. link
Fri Jan 25 Handling s-register and a-register conflicts; two ways to handle a-register conflicts. link

Week 4 (Jan 28 - Feb 1)

Day Date Key Topics Notes
Mon Jan 28 Local variables on the stack; character arrays and strings; "little endian" byte addressing. link
Wed Jan 30 Byte access continued; a string-copy procedure; character arrays on the stack. link
Fri Feb 01 Logic instructions (or, ori, lui, etc.); encoding of branch and jump instructions. link

Week 5 (Feb 04 - Feb 08)

Day Date Key Topics Notes
Mon Feb 04 Compiling and building C programs; the gcc toolchain; object and executable files. link
Wed Feb 07 The linker and relocation information; static and dynamic linking. Two's-complement numbers. link
Fri Feb 09 Signed and unsigned numbers in MIPS; four facts about 2's-complement. link

Week 6 (Feb 11 - Feb 15)

Day Date Key Topics Notes
Mon Feb 11 2's-complement addition and signed overflow; the add/addu/addi/addiu instructions. link
Wed Feb 13 Unsigned addition overflow; signed and unsigned subtraction and subtraction overflow. link
Fri Feb 15 Introduction to Microarchitecture, review of DFFs; processor components. link

Week 7 (Feb 25 - Mar 1)

Day Date Key Topics Notes
Mon Feb 25 Processor components: register file, data memory; the single-cycle processor. link
Wed Feb 27 The sign-extender and the ALU; the single-cycle machine, and the 'lw' and 'sw' instructions. link
Fri Mar 01 Datapath for R-type instructions, and 'beq'; the main control unit. link

Week 8 (Mar 4 - Mar 8)

Day Date Key Topics Notes
Mon Mar 04 Timing analysis in a single-cycle processor; introduction to pipelining. link
Wed Mar 06 The five pipeline stages; pipelined execution of instructions; pipeline hazards. link
Fri Mar 08 Solutions to data and control hazards; introduction to pipelining hardware. link

Week 9 (Mar 11 - Mar 15)

Day Date Key Topics Notes
Mon Mar 11 Tracing an R-type instuction throught the pipeline; pipeline control; managing hazards. link
Wed Mar 13 Data- and control-hazard management; introduction to exception handling. link
Fri Mar 15 Final comments on exceptions; introduction to memory systems. link

Week 10 (Mar 18 - Mar 22)

Day Date Key Topics Notes
Mon Mar 18 Cache introduction continued; locality of reference; a direct-mapped cache. link
Wed Mar 20 Direct-mapped caches, continued; set-bit conflicts; set-associative caches. link
Fri Mar 22 Multi-word blocks; set-associative cache-replacement strategies. link

Week 11 (Mar 25 - Mar 29)

Day Date Key Topics Notes
Mon Mar 25 The write buffer; the write-back and write-through caches; multi-level caches. link
Wed Mar 27 Introduction to virtual memory. link
Fri Mar 29 Address translation, the page table and the TLB; TLB hits and misses. link

Week 12 (Apr 01 - Apr 05)

Day Date Key Topics Notes
Mon Apr 01 Context switching; multiple-process support for the TLB; floating-point numbers. link
Wed Apr 03 Floating-point numbers: Single-precision and double-precision; FP registers. link
Fri Apr 05 MIPS FP instruction examples, pointers, FPR calling conventions. link

Week 13 (Apr 08 - Mar 12)

Day Date Key Topics Notes
Mon Apr 08 Integer multiplication concepts; MIPS mult and multu instructions. link
Wed Apr 10 Integer division: the MIPS div and divu instructions. link