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

On mobile devices swipe the table right-left

In the table below wherever there are differences CE-381 is in blue and ECE-361 is in red.
Meeting Date Topic Material Lab/Assignment
28/2/21 Beginning of Semester
1

3/3/21

4/3/21

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

    10/3/21

    11/3/21

    ISA Tradeoffs ISA tradeoffs
    ISA tradeoffs and MIPS ISA
    Lab1: VHDL part1
    3

    17/3/21

    18/3/21

  • MIPS ISA
  • MIPS assembly
  • ISA tradeoffs (cont.) and MIPS ISA
    MIPS Architecture - Chapter 6 from H&H
    no class

    24/3/21 and 31/3/21

    25/3/21 and 1/4/21

    Passover vacation
    4

    7/4/21

    8/4/21

  • Datapath and Control unit separation
  • Pipeline design
  • Pipeline design
  • Datapath and Control unit
  • Home assignment #1
    Lab2: VHDL part 2
    no class

    14/4/21

    15/4/21

    Memorial day and Independence day
    5

    21/4/21

    22/4/21

    Microarchitecture
  • Single-cycle MIPS microarchitecture
  • Multi-cycle MIPS microarchitecture
  • Single cycle microarchitecture
    6

    28/4/21

    29/4/21

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

    5/5/21

    6/5/21

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

    12/5/21

    13/5/21

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

    19/5/21

    20/5/21

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

    26/5/21

    27/5/21

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

    2/6/21

    3/6/21

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

    12

    9/6/21

    10/6/21

  • Out of Order
  • Out of Order Execution

    Home assignment #3
    13

    16/6/21

    17/6/21

  • Out of Order (cont')
  • and in addition:

    (381) Memory Hierarchy and Memory Hierarchy Design

    (381) if time permits: Caches I and Caches II

    (361) SIMD Processors

    (381) LAB6: Project presentation

    18/6/21 End of Semester
    29/6/21 Final exam, term A
    20/7/21 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, 5pm-8pm.
    Reception hour: immediately after class.
    Lecturer: Dr. Guy Tel-Zur.
    Contact: guycomputing @ gmail . com