Advanced computer architecture (2012/2013)

Course code
Name of lecturer
Nicola Bombieri
Nicola Bombieri
Number of ECTS credits allocated
Academic sector
Language of instruction
II semestre dal Mar 4, 2013 al Jun 14, 2013.

Lesson timetable

II semestre
Day Time Type Place Note
Monday 8:30 AM - 11:30 AM lesson Lecture Hall C  
Wednesday 2:30 PM - 4:30 PM lesson Laboratory Gamma  

Learning outcomes

The course will provide theoretical and practical knowledge on definition, design and analysis of advanced computer architecture with more emphasis on multicore and GP-GPU architectures.


Module THEORY (32h):
-) Introduction to parallelism and parallel architectures.
-) Parallel architecture models and programming.
-) Performance evaluation and analysis
-) Amdhal’s law and metrics for performance measurement.
-) Pipeline basics and advanced concepts.
-) Instruction-level parallelism (ILP).
-) Advanced branch prediction, static scheduling e speculation.
-) Memory hierarchy: basics and advanced concepts.
-) Virtual memory.
-) Thread-level parallelism (TLP).
-) Cache coherence in shared memory architectures.
-) Snoopy protocols.
-) Data-level parallelism (DLP).
-) General purpose Graphic Processing Unit (GP-GPU).
-) GP-GPU programming: CUDA and OpenCL.
-) Introduction to Grid and Cloud Computing.

Module LAB (24h):
-) Parallel compilers for multicore architectures (OpenMP).
-) Parallel compilers for clusters (MPI).
-) GP-GPU programming: CUDA, OpenCL.

To attend the teaching successfully, it is recommended that the student has already acquired skills in:
*) Basics of computer architectures. In particular: the instruction set, processing unit, memory hierarchy, pipeline.
*) Basics of operating systems. In particular: the concept of process and thread, memory virtualization.
*) Basics of Programming. In particular: basic concepts of C programming and Assembly

Reference books
Author Title Publisher Year ISBN Note
John L. Hennessy and David A. Patterson Computer Architecture - A Quantitative Approach (Edizione 4) Morgan Kaufmann 2007

Assessment methods and criteria

Preliminary test + lab project