- Level Expert
- المدة
- الطبع بواسطة Chalmers University of Technology
- Total students 2,911 enrolled
-
Offered by
عن
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.
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."
What you will 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
Skills you learn
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.
Auto Summary
Embark on a journey through the intricate world of modern microprocessors with the "Computer System Design: Advanced Concepts of Modern Microprocessors" course. This advanced course is tailored for IT and Computer Science enthusiasts and professionals who seek to deepen their understanding of multicore-based computer design and its impact on energy efficiency and performance. Led by expert instructors from edX, this course delves into the nuanced aspects of computer architecture, covering pivotal topics such as exploiting parallelism, out-of-order execution, branch prediction, exception handling, and sophisticated memory systems including prefetching and cache coherency. These advanced concepts are critical for anyone aiming to contribute to the future of computing efficiency. Participants will also benefit from a vibrant community of like-minded learners, fostering an environment of shared knowledge and collaborative learning. This course builds on foundational knowledge in computer design, making it perfect for those who have completed introductory courses like "Computer System Design - Improving Energy Efficiency and Performance." While the course duration is flexible, it is designed for those at an expert level and is available under professional subscription options, ensuring you have the resources and support needed to excel. Join now to elevate your expertise in modern microprocessor design and stay ahead in the ever-evolving field of computer science.

Per Stenström