Università degli Studi di Siena
Facoltà di Ingegneria
Course of
High Performance Computer Architecture
 
 
 Latest News (home)
 Registration
 Lessons
(restricted access)
 Errata slides
 Tools for lab
 Syllabus
 Office Hours
 Mid-terms
 Projects
 Group registration
(restricted access)
 Exam Rules
 Feedback
 RELATED LINKS
 BEST PROJECTS
bgcolor="#FFFFFF" width="840" height="3900" border="0" cellpadding="0" cellspacing="0" valign="top" align="left">
 FIRST PART SLIDES (THEORY) IN A SINGLE FILE
 SECOND PART SLIDES (THEORY) IN A SINGLE FILE

COURSE SCHEDULE (TENTATIVE): THE FOLLOWING DATES ARE INDICATIVE AND RELATED TO THE HYPOTHETIC REGULAR PROGRESS OF THE LESSONS. NOTE (THIS HAS BEEN ASKED TO ME ...) THE NUMBERING OF LESSON REFERS ONLY TO THE TOPIC, IT DOES NOT IMPLY BY ANY MEANS THAT THE LESSONS WILL BE GIVEN IN A CERTAIN ORDER.

NOTE: the actual schedule will be updated weekly.

BIBLIOGRAPHIC REFERENCES:
  • M. Dubois, M. Annavaram, P. Stenstrom, "Parallel Computer Organization and Design", Cambridge University Press, 2012, ISBN: 978-0-521-88675-8

 LESSON #01 of 01-Oct-2019 (14:00-17:00)
Introduction, Evaluating Computers
Dubois Chap. 1,3.3
(Hennessy-Patterson-4 - 2.1,2.2)
(Hennessy-Patterson-5 - 3.1,3.2)
 LESSON #02 of 02-Oct-2019 (10:00-12:00)
Dynamic Instruction Scheduling
Dubois Chap. 3.4,3.4.1
(Hennessy-Patterson-4 - 2.4,2.5)
(Hennessy-Patterson-5 - 3.4,3.5)
  • An Efficient Algorithm for Exploiting Multiple Arithmetic Units
  • tomasulo.c
  •  PRACTICING/LAB #01 of 02-Oct-2019 (02:00-03:00)
    Dynamic Scheduling exercize.
  • Exercize from a previous test (23/6/2005).
  •  LESSON #03 of 08-Oct-2019 (14:00-16:00)
    Branch Prediction: speculation of branch condition and branch target, BPRED, BTB.
    Dubois - 3.3.4,3.4.3
    (Hennessy-Patterson-4 - 2.3)
    (Hennessy-Patterson-5 - 3.3)
  • Paper [Yeh, Patt - 1992]
  • Paper [Nair - 1995]
  • Paper [Young - 1995]
  •  LESSON #04 of 08-Oct-2019 (02:00-03:00)
    Predictor types, Bimodal, BHSR, BHT, PHT, 2-level adaptive, GAg, PAg, PAs. Other predictors (gshare, gselect, tournament).
  • Paper [McFarling - 1993]
  •  PRACTICING/LAB #90 of 09-Oct-2019 (10:00-13:00)
    Introduction to Linux (PART A)
     LESSON #05 of 15-Oct-2019 (14:00-16:00)
    Introduction to Superscalar Processors: general scheme and Renaming.
    Dubois 3.3.3,3.4.6(Hennessy-Patterson-4 - 2.6-2.9)
    (Hennessy-Patterson-5 - 3.6-3.10)
     LESSON #06 of 15-Oct-2019 (02:00-03:00)
    Superscalar execution example: Re-Order Buffer and Instruction Window. Case studies: MIPS, Alpha, AMD, Intel, ARM.
  • Dubois 3.4.4,3.4.5,3.4.7,3.4.8,3.4.9
  • detailed output of the example analyzed during the lesson.
  •  PRACTICING/LAB #02 of 16-Oct-2019 (10:00-11:00)
    Using the Superscalar simulator FREESS
  • Educational Simulator FreeSs
  • Exam of 22/06/2015 (exercize No.1) and solution and detailed output.
  •  LESSON #08 of 16-Oct-2019 (01:00-03:00)
    Software methods to extract Instruction Level Parallelsim.
  • Animated slide for software pipelining example.
  • Exercize #1 of the Exam of 30/06/2008 and solution
  • Dubois 3.3.5,3.5,3.5.1-5 (see also Hennessy-Patterson-4 2.7-2.8)
  •  PRACTICING/LAB #03 of 22-Oct-2019 (14:00-17:00)
    Exercizes on SUPERSCALAR AND VLIW processors.
  • detailed output of the example analyzed during the lesson (SS-EX1.pdf)
  •  PRACTICING/LAB #04 of 23-Oct-2019 (10:00-13:00)
    Exercizes on Dynamic Scheduling and various excersizes.
  • Exam of 07/07/2009 and solution
  • Exam of 16/01/2012 (exercize 1)
  •  PRACTICING/LAB #05 of 29-Oct-2019 (14:00-17:00)
    Exercizes on branch prediction and verious excercizes.
  • Exam of 05/07/2006 and solution
  • Exam of 07/11/2014 and solution
  •  30-Oct-2019 - MIDTERM TEST (10:00-13:00)

     LESSON #11 of 05-Nov-2019 (14:00-16:00)
    Introduction to multiprocessor systems, Flynn's taxonomy, UMA, NUMA, COMA systems, programming models
    Dubois 5.1,5.4 (see also Culler-Singh, Cap.1).
     LESSON #12 of 05-Nov-2019 (02:00-03:00)
    Coherence Protocols: Write Update, Write Invalidate, Hybrid. Snoopy based protocols: the MESI and DRAGON protocols (PART A)
    Dubois 5.4,5.5,7.3 (see also Culler-Singh, Cap.5).
     LESSON #12 of 06-Nov-2019 (10:00-12:00)
    Coherence Protocols: Write Update, Write Invalidate, Hybrid. Snoopy based protocols: the MESI and DRAGON protocols (PART B)
     LESSON #14 of 06-Nov-2019 (02:00-03:00)
    Memory Consistency Models: Sequential Consistency and Relaxed Consistency (PART A)
    Dubois 7.4,7.5,7.6,7.7 (v. Culler-Singh, cap. 5.2, 5.5)
  • Litmus Tests for checking Memory Models
  •  LESSON #14 of 12-Nov-2019 (14:00-15:00)
    Memory Consistency Models: Sequential Consistency and Relaxed Consistency (PART B)
     PRACTICING/LAB #09 of 12-Nov-2019 (01:00-03:00)
    Exercizes on Coherency from past exams.
  • Exercize on cache coherence 20/01/2010;
  • spreadsheet for this excercize
  •  LESSON #15 of 13-Nov-2019 (10:00-11:00)
    Introduction to Parallel Programming
     LESSON #16 of 13-Nov-2019 (01:00-02:00)
    Parallelsim and Performance
     PRACTICING/LAB #11 of 13-Nov-2019 (02:00-03:00)
    Experimenting several programming models: Pthreads, OpenMP, TBB, Cilk
  • Source code of the examples in Pthreads, OpenMP, TBB, Cilk
  • Using CILKTOOLS (cilkview,cilkscreen)
  •  LESSON #21 of 19-Nov-2019 (14:00-16:00)
    Introduction to CUDA parallel programming model
  • Bill Dally @ SC-2010
  •  LESSON #22 of 19-Nov-2019 (02:00-03:00)
    CUDA Threads, Atomics, and Memory (PART A)
     LESSON #22 of 20-Nov-2019 (10:00-11:00)
    CUDA Threads, Atomics, and Memory (PART B)
     PRACTICING/LAB #12 of 20-Nov-2019 (01:00-03:00)
     LESSON #60 of 26-Nov-2019 (14:00-16:00)
    Introduction to FPGAs
     PRACTICING/LAB #07 of 26-Nov-2019 (02:00-03:00)
    Introduction to FPGA programming with Xilinx Vivado HLS (PART A)
     PRACTICING/LAB #07 of 27-Nov-2019 (10:00-13:00)
    Introduction to FPGA programming with Xilinx Vivado HLS (PART B)
     LESSON #61 of 03-Dec-2019 (14:00-15:00)
    Introduction to a dataflow parallel programming model.
    The support material is provided during the seminar: please visit this web page
     PRACTICING/LAB #09 of 03-Dec-2019 (01:00-03:00)
    Programming examples of dataflow programming on MAXELER platform (PART A)
    The support material is provided during the seminar: please visit this web page
     PRACTICING/LAB #09 of 04-Dec-2019 (10:00-13:00)
    Programming examples of dataflow programming on MAXELER platform (PART B)
     LESSON #30 of 10-Dec-2019 (14:00-15:00)
    Clusters
     LESSON #40 of 10-Dec-2019 (01:00-02:00)
    Introduction to MPI
    Dubois 5.2.2, 5.3
     PRACTICING/LAB #17 of 10-Dec-2019 (02:00-03:00)
     PRACTICING/LAB #12 of 11-Dec-2019 (10:00-13:00)
    Various exercizes from previous exams.
  • Exam of 20/01/2010 (exercize No.2 - Cilk)
  • Exam of 19/12/2017 (exercize No.2 - CUDA)
  • Exam of 19/12/2018 (exercize No.2 - OpenMP)
  • Exam of 16/01/2015 (exercize No.1 - Competitive Protocol)
  •  PRACTICING/LAB #19 of 17-Dec-2019 (14:00-17:00)
    Various exercizes from previous exams.
  • Exam of 07/07/2009 (exercize No.3 - coherence)
  • Exam of 31/01/2011 (exercize No.1 - coherence)
  • Exam of 15/12/2018 (exercize No.2 - coherence)
  • Exam of 21/12/2016 (exercize No.1 - coherence)
  •  18-Dec-2019 - FINAL TEST (10:00-13:00)






    To visualize the content of the above presentations in Acrobat format (.pdf) you can use Acrobat Reader, freely realesed by Adobe (Download Acrobat Reader)