Norm's ENCM 369 L02 Home Page

Winter 2017

Norm Bartley

Watch here for notes from the document camera in ST 141 following each of Norm's Winter 2017 lectures in ENCM 369 L02.

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

Norm's 2017 L02 Lecture Notes

Week 1 (Jan 9 - Jan 13)

Day Date Key Topics Notes
Mon Jan 09 An introduction to ENCM 369; organization of a simple computer. link
Wed Jan 11 Main memory, registers, memory reads/writes, sequences of machine instructions. link
Fri Jan 13 Registers and memory; MIPS processors, memory organization and access; registers. link

Week 2 (Jan 16 - Jan 20)

Day Date Key Topics Notes
Mon Jan 16 Introduction to MIPS registers, machine language, assembly language. From Steve Norman's Slide Set 1, slides 49-64. Steve kindly covered today's lecture for me. link
Wed Jan 18 Load/Store instructions; accessing array elements in MIPS; programming loops. link
Fri Jan 20 Comparisons, left-shifting, MIPS pseudoinstructions, procedure calling. link

Week 3 (Jan 23 - Jan 27)

Day Date Key Topics Notes
Mon Jan 23 Jump instructions; leaf and non-leaf procedures; the stack; register conflicts. link
Wed Jan 25 Handling $ra, s-register, and a-register conflicts. link
Fri Jan 27 Two ways to handle a-register conflicts; local variables on the stack. link

Week 4 (Jan 30 - Feb 3)

Day Date Key Topics Notes
Mon Jan 30 Character arrays and strings; "little endian" memory organization; byte access. link
Wed Feb 01 Byte access continued; a string-copy procedure; characters arrays on the stack; logic insrtuctions. link
Fri Feb 03 Logic instructions (or. ori, lui, etc.); encoding of branch and jump instructions. link

Week 5 (Feb 06 - Feb 10)

Day Date Key Topics Notes
Mon Feb 06 Compiling and building C programs; the gcc toolchain; object and executable files. link
Wed Feb 08 The linker and relocation information; static and dynamic linking. link
Fri Feb 10 Introduction to numbers and arithmetic; signed and unsigned numbers; 2's-complement. link

Week 6 (Feb 13 - Feb 17)

Day Date Key Topics Notes
Mon Feb 13 2's-complement addition and signed overflow; the add/addu/addi/addiu instructions. link
Wed Feb 15 Unsigned addition overflow; signed and unsigned subtraction and subtraction overflow. link
Fri Feb 17 Information about Computer Engineering Minor; completion of integer arithmetic. link

Week 7 (Feb 27 - Mar 3)

Day Date Key Topics Notes
Mon Feb 27 Introduction to microarchitecture; DFFs, the PC, instruction memory, register file. link
Wed Mar 01 The register file, data memory, introduction to the single-cycle machine. link
Fri Mar 03 The sign-extender and ALU; datapath for the 'lw' and 'sw' instructions. link

Week 8 (Mar 6 - Mar 10)

Day Date Key Topics Notes
Mon Mar 06 Data path for R-type and beq instructions; the main control unit. (Link fixed!). link
Wed Mar 08 Timing analysis in single-cycle processor; introduction to pipeline processing. link
Fri Mar 10 The five pipeline stages; pipelined execution of instructions; pipeline hazards. link

Week 9 (Mar 13 - Mar 17)

Day Date Key Topics Notes
Mon Mar 13 Solutions to data hazards; solutions to control hazards; pipeline registers. link
Wed Mar 15 Tracing an R-type instuction throught the pipeline; pipeline control; managing hazards. link
Fri Mar 17 Data- and control-hazard management; introduction to exception handling. link

Week 10 (Mar 20 - Mar 24)

Day Date Key Topics Notes
Mon Mar 20 Final comments on exceptions; introduction to memory systems. link
Wed Mar 22 Cache introduction continued; locality of reference; a direct-mapped cache. link
Fri Mar 24 Direct-mapped caches, continued; set-bit conflicts; set-associative caches. link

Week 11 (Mar 27 - Mar 31)

Day Date Key Topics Notes
Mon Mar 27 More on set-associative caches; multi-word blocks, hits and misses. link
Wed Mar 29 Set-associative cache-replacement strategies; cache write policies. link
Fri Mar 31 The write-through cache, multi-level caches; introduction to virtual memory. link

Week 12 (Apr 03 - Mar 07)

Day Date Key Topics Notes
Mon Apr 03 Address translation and the TLB; TLB hits and misses. link
Wed Apr 05 Context switching; multiple-process support for the TLB; floating-point numbers. link
Fri Apr 07 Single-precision and double-precision numbers; special number formats; FPRs. link

Week 12 (Apr 03 - Mar 07)

Day Date Key Topics Notes
Mon Apr 10 Copying to and from the FPU; MIPS FP instruction examples; calling conventions; pointers. Please see also Steve Norman's online notes about integer multiplication and division. link
Wed Apr 12 Some final words on floating-point performance. link