EdX

Computer System Design: Advanced Concepts of Modern Microprocessors (edX)

Computer System Design: Advanced Concepts of Modern Microprocessors (edX)

Learn about advanced computer design concepts, including how to make modern multicore-based computers both fast and energy efficient. 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.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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.“
This course is part of the Computer System Design: Concepts of Modern Microprocessors Professional Certificate.

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

Syllabus

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.
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Excel: Gestión de datos (edX) EdX
Universitat Politècnica de València,UPValenciaX

Excel: Gestión de datos (edX)

En este curso profundizarás en las herramientas para el tratamiento y manejo de datos que ofrece Excel. Este es un curso de nivel intermedio que te permitirá trabajar con datos para su tratamiento y extraer conclusiones mediante el agrupamiento de datos, el uso de tablas y gráficos dinámicos, la realización de análisis de hipótesis y la vinculación de datos de otras hojas de cálculo.

Self Paced
Self-Paced
How to Code: Simple Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Simple Data (edX)

Learn systematic program design - how to write programs that tell a clear story about what they do, are well-tested, and easy to improve. This programming course takes a unique approach, as it focuses on learning a systematic programming method rather than a programming language. This practical approach will help you channel your creativity so that you can program well in any language.

Self Paced
Self-Paced
Laboratorio di Programmazione (edX) EdX
University of Naples Federico II,FedericaX

Laboratorio di Programmazione (edX)

Impara a risolvere problemi complessi attraverso l'uso del computer e avvicinati alla magia degli algoritmi. Il linguaggio di programmazione è uno degli strumenti che abbiamo per interpretare e risolvere i problemi di tutti i giorni. Un linguaggio che è alla base di problemi comuni, come le previsioni del tempo o l'analisi della deformazione di una struttura di un'auto in un incidente stradale.

Self Paced
Self-Paced
Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX) EdX
Tsinghua University,TsinghuaX

Data Structures and Algorithm Design Part I | 数据结构与算法设计(上) (edX)

Learn the basics of data structures and methods to design algorithms and analyze their performance. 本课程旨在围绕各类数据结构的设计与实现,揭示其中的规律原理与方法技巧;同时针对算法设计及其性能分析,使学生了解并掌握主要的套路与手段。

Self Paced
Self-Paced
Introduction to Linux (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to Linux (edX)

Never learned Linux? Want a refresh? Develop a good working knowledge of Linux using both the graphical interface and command line across the major Linux distribution families. Develop a good working knowledge of Linux using both the graphical interface and command line, covering the major Linux distribution families.

Self Paced
Self-Paced
HTML5 and CSS Fundamentals (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 and CSS Fundamentals (edX)

Learn how to build Web sites using HTML5 and basic CSS, directly from W3C, creator of the latest Web standards. Learn the basics of Web design and style to give your Web sites a professional look and feel. The Microsoft team and experts from the World Wide Web Consortium (W3C) will guide you step-by-step in how to use the latest Web standards to create a site to be proud of.

Self Paced
Self-Paced
Computational Thinking and Big Data (edX) EdX
University of Adelaide,AdelaideX

Computational Thinking and Big Data (edX)

Learn the core concepts of computational thinking and how to collect, clean and consolidate large-scale datasets. Computational thinking is an invaluable skill that can be used across every industry, as it allows you to formulate a problem and express a solution in such a way that a computer can effectively carry it out.

Self Paced
Self-Paced
LAFF – On Programming for Correctness (edX) EdX
University of Texas at Austin,UTAustinX

LAFF – On Programming for Correctness (edX)

Learn to apply formal methods to systematically develop correct, loop-based programs, an essential skill for computer programmers. Is my program correct? Will it give the right output for all possible permitted inputs? Computers are now essential in everyday life. Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master.

Self Paced
Self-Paced
Fundamentos TIC para profesionales de negocios: Aplicaciones empresariales (edX) EdX
Universitat Politècnica de València,UPValenciaX

Fundamentos TIC para profesionales de negocios: Aplicaciones empresariales (edX)

¿Tienes que trabajar con las Tecnologías de la Información y te faltan conocimientos? Conoce los fundamentos de los sistemas de información para la empresa. Este curso forma parte de una serie de 5 cursos de introducción al uso de sistemas de información en las empresas que te introducirá en el apasionante mundo de las TIC.

Self Paced
Self-Paced
Computer System Design: Improving Energy Efficiency and Performance (edX) EdX
Chalmers University of Technology,ChalmersX

Computer System Design: Improving Energy Efficiency and Performance (edX)

Learn the elements of computer design needed for programmers to make the most of computers’ speed and to write energy-effective programs. In this computer science course, you will learn the basic foundations underpinning the design of modern multicore-based computers. In addition, you will learn how design decisions affect how fast programs execute and how much energy is wasted.

No session available
5-12 Weeks