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
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
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
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
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
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
Software Construction: Data Abstraction (edX) EdX
The University of British Columbia,UBCx

Software Construction: Data Abstraction (edX)

Learn powerful data abstraction and decomposition techniques to build large, complex programs. The course begins with the topic of data abstraction - from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code. The course wraps up with a discussion of how to design robust classes.

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
Data Science Ethics (edX) EdX
University of Michigan,MichiganX

Data Science Ethics (edX)

Learn how to think through the ethics surrounding privacy, data sharing, and algorithmic decision-making. As patients, we care about the privacy of our medical record; but as patients, we also wish to benefit from the analysis of data in medical records. As citizens, we want a fair trial before being punished for a crime; but as citizens, we want to stop terrorists before they attack us. As decision-makers, we value the advice we get from data-driven algorithms; but as decision-makers, we also worry about unintended bias.

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