Tips for COMP311

Computer Organization

This course has a lot of math with Binary numbers. Be sure to start assignments early and to go to office hours early and regularly. Be sure to practice and experiment with code. Take notes of the information.

The below is from Professor Connor McMahon's syllabus.

Content

  • Arithmetic of Number Systems and their conversions: Binary, Octal, Decimal, Hexadecimal
  • Representation of Numbers: Signed, Unsigned, One's complement, Two's Complement
  • Bitwise Operation
  • Pointer Arithmetic
  • Logic Gates
  • Transistors
  • Forming Equations from Logic Diagrams
  • Forming Equations from Truth Tables(Sum of Products)
  • Minimizing Transistor Count
  • The Laws of Boolean Algebra
  • K-Maps
  • Adders
  • Muxes
  • Comparators
  • ALU
  • Timing with Propagation Delay
  • Waveform Diagrams
  • Timing without Propagation Delay
  • Flip Flops and Registers
  • MIPS Assembly Language: Reading, Writing, pseudoinstructions
  • MARS Assembly Language Editor: How to use and Debugging
  • C Language to MIPS
  • MIPS: R-Format, I-Format Instructions
  • Loops in MIPS
  • Arrays in MIPS
  • Syscalls
  • Branch Encoding
  • Extending Datapath
  • Jump Encoding
  • Stack Pointer
  • Calling Convention
  • Pipelining
  • Data Hazards, Forwarding, Control Signals, Hazard Detection
  • Control Hazards, Branch Prediction
  • Common Misconceptions of Everything Covered So Far
  • Professor Brent Munsell, in his version of the course, also teaches "SAP"

Learning Objectives

  • How to Program Computer Hardware at a Lower Level (in Assembly Language)
  • How Computer Hardware is Designed Using Transistors and Logic Gates
  • The Relationship Between Hardware and Software.

This course will be beneficial both to students who want to pursue further studies in the field of computer architecture and design and to students who simply want a basic understanding of computer hardware so they can write better software.

Check the Study Strategy.

Support the Author

Donate to the Author