Skip to main content

ChalmersX: Computer System Design: Advanced Concepts of Modern Microprocessors

Learn about advanced computer design concepts, including how to make modern multicore-based computers both fast and energy efficient.

8 weeks
4–6 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

5,951 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Mar 28
Ends Aug 27

About this course

Skip About this course

In this computer science course, you will learn advanced concepts underpinning the design of today’s multicore-based computers. Additionally, you will learn how design decisions affect energy efficiency and performance.

Overall, topics include fundamentals on exploiting parallelism among instructions such as out-of-order execution, branch prediction, exception handling and advanced concepts of memory systems including prefetching and cache coherency. These concepts are fundamental for future computer systems to maximize compute efficiency.

You will also engage with a community of learners with similar interests to share knowledge.

The course is derived from Chalmers’s advanced graduate course in computer architecture. Prospective students should have a foundation in basic computer design, as offered by, for example, in “Computer System Design - Improving Energy Efficiency and Performance.“

At a glance

  • Institution: ChalmersX
  • Subject: Computer Science
  • Level: Advanced
  • Prerequisites:

    This course addresses students/professionals with an undergraduate degree from a computer science/engineering program with basic knowledge in computer organization including familiarity with basic concepts of computer design, as well as pipelining and caches. Students lacking familiarity to these concepts can learn those from ChM007x.

What you'll learn

Skip What you'll learn
  • The anatomy of a multicore-based computer
  • Advanced design concepts used in future multicore-based computers
  • How computer design affects how energy-efficiently and fast a program can execute on future computer systems
  • How taught design concepts are used in modern multicore-based computer systems

Week 1: Instruction and thread-level parallelism and models for parallel and out-of-order execution (1 hour)

  • Multicore systems: It is all about parallelism. Fundamentals.
  • Microarchitecture fundamentals.
  • Memory systems fundamentals.
  • Performance fundamentals.
  • Energy fundamentals.
  • Putting it together.

Week 2: Speculative execution = OoO + branch prediction + Exception handling (1 hour)

  • Baseline model and out-of-order completion.
  • Tomasulo algorithm: step 1.
  • Tomasulo algorithm: step 2.
  • Branch prediction.
  • Exception handling.
  • Speculative execution.

Week 3: Advanced topics on cache design (1 hour)

  • Fundamentals of memory design.
  • The 3C model.
  • Replacement algorithms.
  • Prefetching algorithms.
  • Memory systems (DRAM).
  • Memory systems (Virtual memory and virtualization).

Week 4: Multicore design: multithreading and cache coherence (1 hour)

  • Multicore design challenges.
  • Multithreading fundamentals.
  • Multithreading design alternatives (fine/course, SMT).
  • Cache coherence concepts.
  • Interconnection concepts.
  • Putting it together.

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

This course is part of Computer System Design: Concepts of Modern Microprocessors Professional Certificate Program

Learn more 
Expert instruction
2 skill-building courses
Self-paced
Progress at your own speed
4 months
4 - 6 hours per week

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.