Computer System Design: Advanced Concepts of Modern Microprocessors
Offered By: Chalmers University of Technology via edX
Course Description
Overview
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.“
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.
Taught by
Per Stenström
Tags
Related Courses
Computer ArchitecturePrinceton University via Coursera Advanced Computer Architecture
Indian Institute of Technology Guwahati via Swayam High Performance Computer Architecture
Georgia Institute of Technology via Udacity