TORONTO METROPOLITAN UNIVERSITY

Course Outline (W2026)

COE818: Advanced Computer Architecture

Instructor(s)Dr. Andy Ye [Coordinator]
Office: ENG319
Phone: (416) 979-5000 x 554901
Email: agye@torontomu.ca
Office Hours: Tuesdays 11:30am to 12:30pm
Calendar DescriptionThe main topics include: instruction set architecture for advanced processor, advanced pipelining, including branch predication, instruction level parallelism. It also covers advanced architecture including superscalar VLIW, speculative, vector processors, multithreading and multi-processors. It discusses the performance limitations and scalability issues and introduces real-world examples including MMX technology, and Pentium architectures. The laboratory work includes performance evaluation of advanced architectures.
PrerequisitesCOE 758
Antirequisites

None

Corerequisites

None

Compulsory Text(s):
  1. John L. Hennessy and David A. Patterson, "Computer Architecture: A Quantitative Approach," 6th Edition, 2019, Morgan Kaufmann Publishers, Cambridge, MA, ISBN: 978-0-12-811905-1
  2. Laboratory Manual: Available through D2L and http://www.ee.ryerson.ca/~courses/ele818
Reference Text(s):
Learning Objectives (Indicators)  

At the end of this course, the successful student will be able to:

  1. Uses numerical and analytical models to predict, control, and design component, system. (1b)
  2. Identifies potential hazards and checks for alternative solutions. (2a)
  3. Compares model predictions with real-world data Proposes model improvements (2b)
  4. Appraises the validity/reliability of data relative to the degrees of error and limitations of theory and measurement (3a)
  5. Anticipates the needs of the project, customizes design processes, analyzes progress, and revises plans as necessary. Uses strategic planning in more complex design problems/systems. (4a)
  6. Uses strategic planning in more complex design problems/systems. (4c)
  7. Generates solutions for more complex design engineering problems/systems. (4b)
  8. Designs and develops simple tools (software, hardware) to perform given tasks as required by the project. (5a)

NOTE:Numbers in parentheses refer to the graduate attributes required by the Canadian Engineering Accreditation Board (CEAB).

Course Organization

3.0 hours of lecture per week for 13 weeks
1.0 hours of lab per week for 12 weeks
0.0 hours of tutorial per week for 12 weeks

Teaching AssistantsDivya Bharathi Kannappan, divya.kannappan@torontomu.ca, 012-LAB 092-LAB 022-LAB
 Harkartik Singh, harkartik.singh@torontomu.ca, 042-LAB 032-LAB 052-LAB
 Karan Hayer, karan.hayer@torontomu.ca, 082-LAB 072-LAB 062-LAB
 
Course Evaluation
Theory
Midterm Exam 25 %
Final EXam 50 %
Laboratory
Lab Reports 25 %
TOTAL:100 %

Note: In order for a student to pass a course, a minimum overall course mark of 50% must be obtained. In addition, for courses that have both "Theory and Laboratory" components, the student must pass the Laboratory and Theory portions separately by achieving a minimum of 50% in the combined Laboratory components and 50% in the combined Theory components. Please refer to the "Course Evaluation" section above for details on the Theory and Laboratory components (if applicable).


ExaminationsMidterm exam in Week 7, for two hours, closed book (covers Weeks 1-6).
 Final exam, during the exam period, two and half hours, closed-book (covers Weeks 1-13).
Other Evaluation InformationUse of Generative AI (e.g. ChatGPT, Grammarly, Perplexity, DeepL Translator) to develop or assist with any ideas or material submitted for coursework is expressly prohibited in this course. Use of Generative AI in this manner will be considered a breach of Policy 60.
Teaching MethodsLecture time Mondays from 12pm to 3pm DCC208
Other InformationNone

Course Content

Week

Hours

Chapters /
Section

Topic, description

1 (Jan 5 - 11)

3

A.1 - A.5

Instruction Set Principles
   - Review and Introduction
   - Classifying Instruction Set Architecture
   - Memory Addressing
   - Type and Size of Operands
   - Operations in the Instruction Set


2 (Jan 12 - 18)

3

A.6 - A.9

Instruction Set Principles
   - Instructions for Control Flow
   - Encoding an Instruction Set
   - The Role of Compilers
   - The RISC-V Architecture


3 (Jan 19 - 25)

3

C.1 - C.2

Pipelining Basic and Intermediate Concepts
   - Introduction
   - Pipeline Hazards
 


4 (Jan 26 - 1)

3

C.3 - C.4

Pipelining Basic and Intermediate Concepts
   - How is Pipelining Implemented?
   - What Makes Pipelining Hard to Implement?


5 (Feb 2 - 8)

3

C.5 - C.6

Pipelining Basic and Intermediate Concepts
   - Extending the RISC V Integer Pipeline to Handle Multicycle Operations
   - The MIPS R4000 Pipeline


6 (Feb 9 - 15)

3

3.1 - 3.4

Instruction-Level Parallelism:
   - Instruction-Level Parallelism: Concept and Challenges
   - Basic Compiler Level Techniques for Exposing ILP
   - Reducing Branch Costs With Advanced Branch Prediction
   - Overcoming Data Hazards With Dynamic Scheduling
 


(Feb 16 - 22)

3

Reading Week


7 (Feb 23 - 1)

3

Midterm (90 minutes, Feb 23, in class)


8 (Mar 2 - 8)

3

3.5 - 3.8

Instruction-Level Parallelism:
   - Dynamic Scheduling: Examples and the Algorithm
   - Hardware-Based Speculation
   - Exploiting ILP Using Multiple Issue and Static Scheduling
   - Exploiting ILP Using Dynamic Scheduling, Multiple Issue, and Speculation


9 (Mar 9 - 15)

3

3.9 - 3.12

Instruction-Level Parallelism:
   - Advanced Techniques for Instruction Delivery and Speculation
   - Cross-Cutting Issues
   - Multi-threading: Exploiting Thread-Level Parallelism to Improve Uniprocessor Throughput
   - The Intel Core i7 6700 and ARM Cortex-A53


10 (Mar 16 - 22)

3

4.1 - 4.3

Data-Level Parallelism in Vector, SIMD, and GPU Architectures
   - Introduction
   - Vector Architecture
   - SIMD Instruction Set Extensions for Multimedia


11 (Mar 23 - 29)

3

4.4 - 4.7

Data-Level Parallelism in Vector, SIMD, and GPU Architectures
   - Graphics Processing Units
   - Detecting and Enhancing Loop-Level Parallelism
   - Cross-Cutting Issues
   - Embedded Versus Server GPUs and Tesla Versus Core i7


12 (Mar 30 - 5)

3

5.1 - 5.4

Thread-Level Parallelism
   - Introduction
   - Centralized Shared-Memory Architectures
   - Performance of Symmetric Shared-Memory Multiprocessors
   - Distributed Shared-Memory and Directory-Based Coherence


13 (Apr 6 - 12)

3

5.5 - 5.8

Thread-Level Parallelism
   - Synchronization: The Basics
   - Models of Memory Consistency: An Introduction
   - Cross-Cutting Issues
   - Putting It All Together: Multicore Processors and Their Performance


Laboratory(L)/Tutorials(T)/Activity(A) Schedule

Week

L/T/A

Description

2-3

ENG412

Using SIMPLESCALAR Simulator

4

ENG412

Evaluating  Performance of Computer System

5-9

ENG412

Using NVIDIA GPU Part 1

10-12

ENG412

Using NVIDIA GPU Part 2

University Policies & Important Information

Students are reminded that they are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the Senate website

Refer to the Departmental FAQ page for furhter information on common questions.

Important Resources Available at Toronto Metropolitan University

Lab Safety (if applicable)

Students are to strictly adhere and follow:

  1. The Lab Safety information/guidelines posted in the respective labs,
  2. provided in their respective lab handouts, and
  3. instructions provided by the Teaching Assistants/Course instructors/Technical Staff.

During the lab sessions, to avoid tripping hazards, the area around the lab stations should not be surrounded by bags, backpacks etc, students should place their bags, backpacks etc against the walls of the labs and/or away from their lab stations in such a way that it avoids tripping hazards.

Accessibility

Academic Accommodation Support

Academic Accommodation Support (AAS) is the university's disability services office. AAS works directly with incoming and returning students looking for help with their academic accommodations. AAS works with any student who requires academic accommodation regardless of program or course load.

Academic Accommodations (for students with disabilities) and Academic Consideration (for students faced with extenuating circumstances that can include short-term health issues) are governed by two different university policies. Learn more about Academic Accommodations versus Academic Consideration and how to access each.

Wellbeing Support

At Toronto Metropolitan University, we recognize that things can come up throughout the term that may interfere with a student’s ability to succeed in their coursework. These circumstances are outside of one’s control and can have a serious impact on physical and mental well-being. Seeking help can be a challenge, especially in those times of crisis.

If you are experiencing a mental health crisis, please call 911 and go to the nearest hospital emergency room. You can also access these outside resources at anytime:

If non-crisis support is needed, you can access these campus resources:

We encourage all Toronto Metropolitan University community members to access available resources to ensure support is reachable. You can find more resources available through the Toronto Metropolitan University Mental Health and Wellbeing website.