Syllabus - 361-1-4201 & 381-1-0107

Introduction and fundamental concepts, ISA and MIPS, MIPS architecture, Single-cycle and Multi-cycle CPU, Pipeline architecture, Memory Hierarchy, Exceptions, Caches, Parallelization (instruction level, data level and multi-threading).

Schedule - Spring semester 2021

Meeting Date Topic Material Lab/Assignment
20/3/22 Beginning of Semester
1

24/3/22

  • Administration and requirements
  • Introduction and Course Overview
  • Fundamental Concepts
  • Course Administration
    Introduction and Basics 1
    Introduction and Basics 2
    Fundamental Concepts
    2

    31/3/22

    ISA Tradeoffs ISA tradeoffs
    ISA tradeoffs and MIPS ISA
    (381) Lab1: VHDL part1
    3

    7/4/22

  • MIPS ISA
  • MIPS/RISC-V assembly
  • ISA tradeoffs (cont.) and MIPS ISA
    ECE-361: MIPS Architecture - Chapter 6 from H&H
    CE-381: MIPS (see ECE-361) and RISC-V Architectures - extract Chapter 6 from the zip file from H&H
    4

    14/4/22 via zoom

  • Datapath and Control unit separation
  • Pipeline design
  • Simulators
  • Pipeline design
  • Datapath and Control unit
  • Simulators:
    ECE-361: MIPS MARS (click on Download and download the jar file)
    CE-381: MIPS MARS (see ECE-361) and RISC-V RARS (Download the jar file)
  • Home assignment #1
    (381) Lab2: VHDL part 2
    no class

    21/4/22

    Passover vacation
    5

    28/4/22

    Microarchitecture
  • Single-cycle MIPS microarchitecture
  • Multi-cycle MIPS microarchitecture
  • Single cycle microarchitecture
    no class

    5/5/22

    Independence day
    6

    12/5/22

  • Multi Cycle MIPS Control
  • Microprogramming
  • Multi-cycle microarchitecture (381) Lab3: Datapath and Control unit separation based design
    (Task 1)
    7

    19/5/22

    Pipelining - part 1
  • Data dependence
  • Microprogrammed Microarchitectures and Pipelining I
    8

    26/5/22

    Pipelining - part 2
  • data dependence
  • Pipelining II Home assignment #2
    (381) Lab4: FPGA , Quartus
    (Task 2)
    9

    2/6/22

    Control dependence
  • Branch and Prediction - part 1
  • Branch and Prediction I
    10

    9/6/22

    Control dependence
  • Branch and Prediction - part 2
  • Branch and Prediction II (381) Lab5: Pipelined MIPS architecture
    (Task 3)
    11

    16/6/22

  • Precise Exceptions, State Maintenance, State Recovery
  • Exceptions State, Maintenance State and Recovery

    Home assignment #3
    12

    23/6/22

  • Precise Exceptions, State Maintenance, State Recovery
  • Out of Order
  • Exceptions State, Maintenance State and Recovery - cont'
    Out of Order Execution

    13

    30/6/22

  • Out of Order (cont')
  • ECE-361: SIMD architecture

    and GPUs and VLIW

    CE-381: Out of Order Execution - cont'

    Course summary

    (381) Lab6: Project presentation

    1/7/22 End of Semester
    25/7/22 Final exam, term A
    15/8/22 Final exam, term B

    Grades

    see the official syllabus in the Moodle!

    References

    Recommended text books:
    1) John Hennessy and David Patterson - Computer Architecture.
    5th Edition (MIPS for the present course).
    Computer Architecture

    6th Edition (RISC-V in the near future...).
    Computer Architecture

    2) David Money Harris and Sarah L. Harris, "Digital Design and Computer Architecture", second edition
    Digital Design and Computer Architecture


    This course is heavily based on "18-447 Introduction to Computer Architecture – Spring 2015" by Prof. Onur Mutlu from Carnegie Mellon University.
    Slides and videos are available here. The videos are also available on Youtube.
    Another excellent reference is ELE475 from Princeton University by Prof. David Wentzlaff
    This course is also available on Coursera.

    Reading materials (papers) and home assignments are published at the course Moodle.

    About

    Where: Virtual via Zoom
    When: Thursdays, 3pm-6pm (381), 6pm-9pm (361).
    Reception hour: immediately after class.
    Lecturer: Dr. Guy Tel-Zur.
    Contact: guycomputing @ gmail . com