Università degli Studi di Siena
Facoltà di Ingegneria
Course of
High Performance Computer Architecture
 Latest News (home)
(restricted access)
 Errata slides
 Tools for lab
 Office Hours
 Group registration
(restricted access)
 Exam Rules
bgcolor="#FFFFFF" width="840" height="2080" border="0" cellpadding="0" cellspacing="0" valign="top" align="left">
Knowledge of the techniques for supporting the parallelism in computer systems. Ability to implement parallel applications.
Computer Architecture 1
* Introduction, Pipeline review. * Dynamic Instruction Scheduling * Tomasulo: An Efficient Algorithm for Exploiting Multiple Arithmetic Units * Branch Prediction: speculation of branch condition and branch target. * Predictor types, Bimodal, BHSR, BHT, PHT, 2-level adaptive, GAg, PAg, PAs. Other predictors (gshare, gselect, tournament). * Introduction to Superscalar Processor: general scheme and Renaming. * Full-System Simulator for single-core and multi-core systems. * Superscalar execution example: Re-Order Buffer and Instruction Window. Case studies: MIPS, Alpha, AMD, Pentium. * Software methods to extract Instruction Level Parallelism. * Introduction to multiprocessor systems, Flynn's taxonomy, UMA, NUMA, COMA systems, programming models * Coherence Protocols: Write Update, Write Invalidate, Hybrid. Snoopy based protocols: the MESI and DRAGON protocols * Memory Consistency Models: Sequential Consistency and Relaxed Consistency * Introduction to parallel programming. * Parallelsim and Performance * CUDA Architecture and Programming Elements * Introduction to OpenMP, Cilk, OpenMPI, Dataflow programming models. * Advanced topics: reconfigurable computing; datacenters.
  • M. Dubois, M. Annavaram, P. Stenstrom, "Parallel Computer Organization and Design", Cambridge University Press, 2012, ISBN: 978-0-521-88675-8

  • J.L. Hennessy, D.A. Patterson, "Computer Architecture: A Quantitative Approach" 5th Edition, Morgan Kaufman/Elsevier, 2012, ISBN: 978-0-12-383872-8.
  • D. Culler, J.P. Singh, A. Gupta, "Parallel Computer Architecture: A Hardware/Software Approach", Morgan Kaufman/Elsevier, 1998, ISBN-10 1558603433.
  • M.J. Flynn, "Computer Architecture: Pipelined and Parallel Processor Design", Jones and Bartlett Publishers, Inc., 1995, ISBN 0867202041
  • David B. Kirk and Wen-mei W. Hwu, "Programming Massively Parallel Processors: A Hands-on Approach", Morgan Kaufmann (February 5, 2010) ISBN 0123814723.