Professional Training

Computer System Design: Advanced Concepts of Modern Microprocessors

edX, Online
Length
7 weeks
Next course start
Start anytime See details
Course delivery
Self-Paced Online
Length
7 weeks
Next course start
Start anytime See details
Course delivery
Self-Paced Online
Visit this course's homepage on the provider's site to learn more or book!

Course description

Computer System Design: Advanced Concepts of Modern Microprocessors

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.

Upcoming start dates

1 start date available

Start anytime

  • Self-Paced Online
  • Online
  • English

Suitability - Who should attend?

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.

Outcome / Qualification etc.

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

Training Course Content

Instruction and thread-level parallelism and models for parallel and out-of-order execution

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

Speculative execution = OoO + branch prediction + Exception handling

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

Advanced topics on cache design

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

Multicore design: multithreading and cache coherence

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

Course delivery details

This course is offered through Chalmers University of Technology, a partner institute of EdX.

4-6 hours per week

Expenses

  • Verified Track -$49
  • Audit Track - Free
Ads