Digital Design & Computer Architecture D9: Problem-Solving Session 9 (Spring 2026)

Onur Mutlu Lectures
Onur Mutlu LecturesMay 4, 2026

Why It Matters

Effective branch prediction minimizes pipeline stalls, directly enhancing CPU throughput and energy efficiency in modern high‑performance systems.

Key Takeaways

  • Branch prediction mitigates control dependencies in pipelined processors.
  • Simple predictors (always taken, backward‑taken) trade accuracy for hardware simplicity.
  • Two‑bit saturating counters improve prediction stability over one‑bit schemes.
  • Per‑branch predictors reduce interference in nested loop scenarios.
  • Microbenchmark analysis reveals pipeline depth and branch stall cycles.

Summary

The video walks through a problem‑solving session on branch prediction, a core technique for handling control dependencies in modern pipelined CPUs. After a brief recap of terminology such as control dependency and branch‑resolution penalty, the instructor introduces several classic prediction strategies and explains how they fit into the processor pipeline. Key insights include the trade‑offs between ultra‑simple predictors—like PC+4 (always taken) or backward‑taken/forward‑not‑taken heuristics—and more sophisticated schemes that use finite‑state machines. Two‑bit saturating counters are highlighted for their ability to avoid rapid state flips, while compile‑time hints (branch direction) contrast with runtime predictors that learn from actual outcomes. The discussion also covers per‑branch predictor tables to prevent interference between nested loops. Illustrative examples feature the always‑taken predictor’s “guess‑and‑squash” behavior, the last‑time predictor’s state diagram, and a microbenchmark designed to reverse‑engineer pipeline depth and branch stall cycles. The instructor walks through how varying the loop counter R1 and measuring dynamic instruction counts can reveal both the number of pipeline stages and the stall penalty for a conditional branch. The implications are clear: accurate branch prediction directly reduces pipeline stalls, boosting instruction‑throughput and overall CPU performance. Understanding these fundamentals equips designers and engineers to balance hardware complexity against prediction accuracy, a critical consideration as processors scale to deeper pipelines and higher clock rates.

Original Description

Digital Design and Computer Architecture, ETH Zürich, Spring 2026 (https://safari.ethz.ch/ddca/spring2026/)
D9: Problem-Solving Session 9
Lecturer: Prof. Onur Mutlu
Date: 4 May 2026
Recommended Reading:
====================
A Modern Primer on Processing in Memory
Memory-Centric Computing: Solving Computing's Memory Problem
Memory-Centric Computing: Recent Advances in Processing-in-DRAM
Intelligent Architectures for Intelligent Computing Systems
RowHammer: A Retrospective
Fundamentally Understanding and Solving RowHammer
Accelerating Genome Analysis via Algorithm-Architecture Co-Design
From Molecules to Genomic Variations: Accelerating Genome Analysis via Intelligent Algorithms and Architectures
RECOMMENDED LECTURE VIDEOS & PLAYLISTS:
========================================
Digital Design and Computer Architecture Spring 2025 Livestream Lectures Playlist:
Fundamentals of Computer Architecture Fall 2025 Livestream Lectures Playlist:
Seminar in Computer Architecture Spring 2025 Livestream Lectures Playlist:
Computer Architecture Fall 2024 Lectures Playlist:
Interview with Professor Onur Mutlu:
TCuARCH meets Prof. Onur Mutlu
Arch. Mentoring Workshop @ISCA'21 - Doing Impactful Research
The Story of RowHammer Lecture:
Accelerating Genome Analysis Lecture:
Memory-Centric Computing Systems Tutorial at IEDM 2021:
Intelligent Architectures for Intelligent Machines Lecture:
Featured Lectures:

Comments

Want to join the conversation?

Loading comments...