Advanced computer architecture (2010/2011)

Course code
Name of lecturer
Nicola Bombieri
Nicola Bombieri
Number of ECTS credits allocated
Academic sector
Language of instruction
II semestre dal Mar 1, 2011 al Jun 15, 2011.

Lesson timetable

II semestre
Day Time Type Place Note
Wednesday 8:30 AM - 10:30 AM lesson Lecture Hall I  
Thursday 8:30 AM - 10:30 AM laboratorio Research Laboratory Laboratorio ESD  
Friday 11:30 AM - 1:30 PM lesson Lecture Hall I  

Learning outcomes

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


Module THEORY (32h):

0. CPU families (CISC vs RISC).
1. Introduction to parallelism.
2. Parallel architecture:
-) taxonomy
-) shared memory
-) cache coherence
-) snooping
3. Parallel programming models:
-) shared memory
-) threads
-) message passing
-) data parallel
-) hybrid
4. Parallel computing patterns, task organization and scheduling:
5. Task migration and message passing.
6. Performance evaluation of digital systems:
-) network performance
-) Hardware/Software system performance
-) real-time system performance
-) Amdhal’s law, metrics
-) distributed system performance
7. Pipelining:
-) MIPS pipeline
-) enhancing performance with pipelining.
8. DSP architectures
9. Memory hierarchy and performance:
-) technology and basis
10. Introduction to power consumption.

Module LAB (24h):
Lab.0 Distributed systems simulation tools howto
Lab.1 Parallel compilers for multicore architectures (OpenMP)
Lab.2 Parallel compilers for clusters (MPI)
Lab.3 Programming massively parallel processors
All the lab lessons will be based on the Wind River Simics platform MPC8572 ( )

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