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

Diseña presentaciones eficaces con Powerpoint (edX) EdX
Universitat Politècnica de València,UPValenciaX

Diseña presentaciones eficaces con Powerpoint (edX)

Aprende las bases para realizar una presentación eficaz con Powerpoint que llegue a tu público objetivo. Hoy en día prácticamente cualquiera con algo de responsabilidad en una organización tiene que hacer en algún momento una presentación eficaz con la que comunicar sus ideas o los resultados de su trabajo.

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
Introduction to Java Programming: Writing Good Code (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

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

Fundamentos TIC para profesionales de negocios: Programación (edX)

¿Tienes que trabajar con las Tecnologías de la Información y te faltan conocimientos? Conoce los fundamentos de la programación software. 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
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

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

Software Engineering: Introduction (edX)

Learn how to apply engineering principles, such as Agile, to build a full-stack software system. You will learn software engineering principles that are applicable to the breadth of large-scale software systems. The course explores topics such as agile development, REST and Async programming, software specification, design, refactoring, information security, and more.

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
UML Class Diagrams for Software Engineering (edX) EdX
KU Leuven University,KULeuvenX

UML Class Diagrams for Software Engineering (edX)

Learn how unified modeling language (UML) class diagrams are created and used to visualize and conceptualize the design of a system. Have you ever wondered how software architects, requirements engineers and business analysts sketch and draw out their plans for a software system? In this computer science course, you will gain an in-depth understanding of Unified Modeling Language (UML) class diagrams, which are used to visually represent the conceptual design of a system.

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
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