Advanced Computer Architecture

Key Learning Outcomes:
  1. Mastering Dynamic Scheduling: Explore microarchitectural techniques like Scoreboarding and the Tomasulo algorithm for modern out-of-order processors.
  2. Optimizing Branch Prediction: Analyse static and dynamic prediction methods to evaluate their impact on processor efficiency.
  3. Ensuring Cache Coherence: Understand snoopy and directory-based protocols to maintain data integrity in multi-processor systems.