ADVANCED COMPUTER ARCHITECTURES

Academic Year 2021/2022 - 1° Year
Teaching Staff: Giuseppe ASCIA
Credit Value: 6
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 35 hours
Exercise: 15 hours
Term / Semester:
ENGLISH VERSION

Learning Objectives

The course presents the concepts related to advanced architectures in modern information processing systems.
Starting from the basic architectures, the course addresses the problems and solutions relating to the execution of applications and presents the hardware and software methodologies for optimizing performance for the different forms of parallelism (instruction-level, data-level, thread-level ).
Knowledge and understanding
The student will know and understand:
- techniques for the optimal execution of applications in pipeline processors with floating point instructions
- issues and solutions related to exceptions in pipeline processors.
- branch prediction techniques
- the problems and solutions relating to the static and dynamic scheduling of instructions
- processor architectures that exploit forms of data level parallelism
- the different forms of thread-level parallelism and their implementations
- multiprocessor architectures
- problems and solutions for the coherence of cache memories in multiprocessor systems

Applied knowledge and understanding
The student will be able to evaluate the performance of modern microprocessor systems, to choose the best form of parallelism for a specific application and to propose possible optimizations.
Making judgements
The student will be able to evaluate the impact of architectural choices on the performance of computers.

Communication skills

The student will be able to clearly and rigorously present the acquired knowledge and how to apply it for the evaluation of the different architectural choices.

Learning skills

The student will be able to independently learn further advanced features of processor architectures


Course Structure

The course will be organized in lectures and exercises.

If the teaching is given in a mixed or remote mode, the necessary changes with respect to what was previously stated may be introduced, in order to respect the program planned and reported in the syllabus.


Detailed Course Content

1) Basic Computer Architecture:

Pipelined processors (problems and solutions, implementation)

Branch prediction

Exceptions with pipelined execution

2) Instruction level parallelism

Static and dynamic scheduling.

Hardware-based Speculation, Multi-issue execution. Superscalar architectures: principles and problems.

VLIW (Very Long Instruction Word) architectures, examples of architectures families.

3) Data-level parallelism

Vector processors.

SIMD extensions.

4) Multiprocessors and thread level parallelism

Taxonomy, topologies, communication management, memory management.

Cache coherence protocols, examples of architectures

5) Application Specific Architectures


Textbook Information

[T1] Hennessy & Patterson: Computer architecture, a quantitative approach (Morgan Kaufmann eds.) 5 ed.

[T2] Patterson & Hennessy: “Struttura e progetto dei calcolatori”. Zanichelli 4. Ed

[T3] On line Course material