ChalmersX: Computer System Design: Advanced Concepts of Modern Microprocessors

ChalmersX: Computer System Design: Advanced Concepts of Modern Microprocessors

by Chalmers University of Technology

Course Overview: Advanced Computer Architecture

This course, provided by ChalmersX, focuses on the advanced concepts that underlie the design of modern multicore-based computers, looking closely at how design decisions influence performance and energy efficiency.

Course Description

This computer science course covers advanced architecture topics necessary for understanding and designing modern multicore-based computing systems. Crucial aspects such as out-of-order execution, branch prediction, exception handling, and advanced memory systems including cache coherency, prefetching, will be discussed in detail.

What Students Will Learn

  • The structure and operation of multicore-based computer systems.
  • Advanced design concepts in modern computer architecture.
  • The impact of computer design on energy efficiency and processing speed.
  • Practical applications of design concepts in current multicore systems.

Prerequisites

Students should have a foundational understanding of basic computer structure and design, including concepts like pipelining and memory caches. A suitable preparation course is ChalmersX's “Computer System Design - Improving Energy Efficiency and Performance”.

Course Coverage

  • Instruction and thread-level parallelism
  • Models for parallel and out-of-order execution
  • Speculative execution including Out of Order (OoO) execution, branch prediction, and exception handling
  • Advanced cache and memory system designs
  • Designing for multicore: multithreading and cache coherence issues

Who This Course Is For

This course is ideal for professionals and students with a background in computer science or engineering, who wish to advance their knowledge in computer architecture, especially regarding multicore systems and computational efficiency.

Application of Skills in the Real World

The skills and knowledge gained from this course can be directly applied in the design and development of more efficient and effective computing systems. Professionals can leverage these insights to optimize current architectures or innovate new designs that better meet the demands of modern applications.

Syllabus

Week 1: Instruction and Thread-Level Parallelism

  • Fundamentals of multicore systems and parallelism.
  • Microarchitecture and memory systems fundamentals.
  • Performance and energy efficiency strategies.

Week 2: Speculative Execution

  • Out-of-order completion and Tomasulo algorithm.
  • Branch prediction and exception handling techniques.

Week 3: Advanced Topics on Cache Design

  • Memory design fundamentals and the 3C model.
  • Prefetching and replacement algorithms in caches.

Week 4: Multicore Design

  • Multithreading fundamentals and design alternatives.
  • Concepts of cache coherence and interconnections.
Similar Courses
Course Page   ChalmersX: Computer System Design: Advanced Concepts of Modern Microprocessors