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

Smart Cities, Management of Smart Urban Infrastructures (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

Smart Cities, Management of Smart Urban Infrastructures (edX)

In the era of Smart Cities, learn the principles of urban infrastructure management and find ways to incorporate smart technologies into legacy infrastructures. Over the past few years, advancements in the Information and Communication Technologies (ICTs) have significantly challenged the traditionally stable landscape of urban infrastructure services. The result is an increasing interest in the transitioning of cities towards so-called “smart cities” – an interest expressed both by technology vendors and public authorities.

Self Paced
Self-Paced
CSS Basics (edX) EdX
World Wide Web Consortium - W3C,W3Cx

CSS Basics (edX)

Learn, from Microsoft and W3C experts, how to take your Web pages from bland to bold with the power of CSS styling. Have you just begun your journey into Web development? This course will introduce you to the basics of Web design and teach you how to style your Web site for a professional look and feel.

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

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

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
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
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

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
Computer Graphics (edX) EdX
University of California, San Diego,UC San DiegoX

Computer Graphics (edX)

Learn to create images of 3D scenes in both real-time and with realistic raytracing in this introductory computer graphics course. Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual simulators, visualization and even imaging products and cameras.

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

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

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

Self Paced
Self-Paced
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
Using Python for Research (edX) EdX
HarvardX,Harvard University

Using Python for Research (edX)

Take your introductory knowledge of Python programming to the next level and learn how to use Python 3 for your research. This course bridges the gap between introductory and advanced courses in Python. While there are many excellent introductory Python courses available, most typically do not go deep enough for you to apply your Python skills to research projects.

Self Paced
Self-Paced