CO-2206 Introduction to Computer Organisation

Students are expected to read both CO-2103 Introduction to Assembly Language and CO-2206 Introduction to Computer Organisation in parallel. The two courses complement each other.

Acknowledgement: The course materials have been curated from various sources including books, online resources and teaching materials from other lecturers. Please see the acknowledgement in Introduction slides.

Course Content (Lectures):

  1. Introduction
  2. Digital Logic
    • Analog vs Digital
    • Digital Systems
    • Logic Signal
    • Integrated Circuit (IC)
    • Logic Gates
    • Boolean Algebra
  3. Logic Circuit Design
    • The Process
    • Standard Forms
    • Simplification techniques
      • Algebraic manipulation
      • Karnaugh Map (K Map)
      • Quine-McCluskey method
    • Implementation matters
      • Circuit Implementation
      • 2-level implementations
      • XOR Implementation
      • Hi-Z and Enable
  4. Combinational Logic Networks
    • Design process refined
    • Design example
    • Combinational Functional Blocks
      • Decoders / Encoders
      • Multiplexers / Demultiplexers
      • Arithmetic
  5. VHSIC Hardware Description Language
    • Hardware Description Language
    • VHDL History
    • VHDL Characteristics
    • Abstract Levels in IC Design
    • Abstract Levels and VHDL
    • VHDL – file structure, syntax
    • VHDL Models: Structural, Behavioral
    • Test Bench
  6. Sequential Logic Networks
    • Basics
    • Building Blocks: Latches and Flip-Flops
    • Sequential Circuit Analysis
    • Sequential Circuit Design
  7. Registers and Register Transfers
    • Registers
      • Register with Parallel Load
    • Register Transfer Operations
      • Microoperations
    • Register Transfer Language
    • Shift Registers
    • Counters
    • Register Cell Design
    • Register Transfer Structures
    • Serial Operations
  8. Computer Design Basics
    • Digital Systems – Datapath and Control Unit
    • Datapath
      • Arithmetic Logic Unit
      • Shifter
      • Function Unit
      • Control Word
    • Control Unit
      • Instruction Set Architecture
      • Instruction Format
      • Instruction Specification
      • Single-cycle Hardwired Control
      • Instruction Decoder
    • Single Cycle Computer Issues
  9. RISC and CISC
    • RISC vs CISC
    • Pipelining
    • RISC Implementation
      • Modifications
      • ISA
      • Organization
    • Data Hazard
    • Data Hazard Solutions
    • Control Hazard
    • Control Hazard Solutions
  10. Memory Basics
    • Memory hierarchy
    • Key characteristics
    • Memory chip structure
    • SRAM vs DRAM
    • Memory mapping
    • Memory address decoding

Tutorials:

  1. Tutorial 01: Introduction (Solution)
  2. Tutorial 02: Digital Logic (Solution)
  3. Tutorial 03: Logic Circuit Design (Solution)
  4. Tutorial 04: Combinational Logic (Solution)
  5. Tutorial 05: VHDL (Solution)
  6. Tutorial 06: Sequential Logic (Solution)
  7. Tutorial 07: Registers and RTL (Solution)
  8. Tutorial 08: Computer Design Basics (Solution)
  9. Tutorial 09: RISC and CISC (Solution)

Labs:

  1. Lab 01: Basic Logic Circuit
  2. Lab 02: VHDL Simili and Sonata
  3. Lab 03 (multiple): Xilinx ISE Simulator (ISim)