View syllabus
COMPUTER ARCHITECTURE
COSIMO ANTONIO PRETE
Academic year2022/23
CourseCOMPUTER ENGINEERING
Code588II
Credits9
PeriodSemester 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
COMPUTER ARCHITECTUREING-INF/05LEZIONI90
COSIMO ANTONIO PRETE unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Lo studente apprenderà elementi dei sistemi di elaborazione moderni attraverso una combinazione di comprensione teorica e conoscenze tecniche e pratiche. I principi di base e le soluzioni architetturali  sono discussi analizzando gli attuali sistemi multicore ARM e Intel. Lo studente che completa con successo il corso è in grado di segliere il sistema di elaborazione adatto ad una specifica applicazione, di tener conto delle caratteristiche dell'architettura nello sviluppo di software efficente, usare benchmark per fare previsioni sulle prestazioni finali di un'applicazione, di essere in grado di ottimizzare applicazioni inefficienti già sviluppate.

Knowledge

The student will learn elements of modern computing systems through a combination of theoretical understanding, technical and practical knowledge. The basic principles and architectural solutions are discussed by analyzing the current ARM and Intel multicore systems. The student who successfully completes the course is able to choose the processing system suitable for a specific application, to take into account the characteristics of the architecture in the development of efficient software, to use benchmarks to make predictions about the final performance of an application, to be able to optimize inefficient applications.

Modalità di verifica delle conoscenze

Durante la prova orale lo studente deve essere in grado di dimostrare la propria competenza sugli argomenti affrontati nel corso.

Assessment criteria of knowledge

During the oral examination, students must be able to demonstrate their knowledge and skills on the topics covered during the course.

Capacità

Lo studente che completa con successo il corso è in grado di segliere il sistema di elaborazione adatto ad una specifica applicazione, di tener conto delle caratteristiche dell'architettura nello sviluppo di software efficente, usare benchmark per fare previsioni sulle prestazioni finali di un'applicazione, di essere in grado di ottimizzare applicazioni inefficienti già sviluppate.

Skills

The student who completes the course is able to choose the processing system suitable for a specific application, to take into account the features of the processing system in the development of efficient software, to use benchmarks to make predictions about the final performance of an application, to be able to optimize inefficient applications.

Modalità di verifica delle capacità

Lo studente deve preparare e presentare i documenti relativi all'attività di progetto (come parte dell'esame).

Durante la discussione del progetto, lo studente deve dimostrare la capacità di mettere in pratica e di eseguire le attività illustrate o svolte durante il corso.

Assessment criteria of skills

The student must prepare and present the documents related to the activity of the project (as part of the exam).

During the discussion of the project, the student must demonstrate the ability to put into practice, with critical awareness, the activities illustrated or carried out in the course.

Comportamenti

Gli studenti acquisiranno consapevolezza nella risoluzione dei problemi relativi alla progettazione di sistemi di elaborazione con determinati requisiti di performance, consumo e costo.

Gli studenti saranno in grado di svolgere lavoro di gruppo in modo efficace.

Behaviors

Students will acquire awareness in solving problems related to the design of processing systems with specific performance, consumption and cost requirements. Students will be able to perform group work effectively.

Modalità di verifica dei comportamenti

Verranno valutati i comportamenti durante le attività di gruppo relative allo sviluppo del progetto.

Assessment criteria of behaviors

Behaviors during group activities in project development will be evaluated.

Prerequisiti (conoscenze iniziali)

Conoscenze di base di architetture dei sistemi di elaborazione.

Prerequisites

Basic knowledge of computer systems architectures.

Indicazioni metodologiche

Attività didattiche:

frequentando le lezioni
partecipazione ai seminari
partecipazione alle discussioni
lavoro di gruppo
lavoro di laboratorio

Metodi di insegnamento:

lezioni
seminario
laboratorio
lavoro di progetto

Teaching methods

Learning activities:

  • attending lectures
  • participation in seminar
  • participation in discussions
  • group work
  • laboratory work

Teaching methods:

  • lectures
  • seminar
  • laboratory
  • project work
Programma (contenuti dell'insegnamento)

Il corso presenta la struttura dei sistemi di elaborazione general purpose ed embedded, con particolare riferimento alle micro-architetture Intel ed ARM. In partcolare, vengon trattati:

Principi di Computer Design: analisi delle caratteristiche delle applicazioni, trend nella tecnologia, consumo energetico e costi.

La gerarchia della memoria, la memoria virtuale, la memoria cache e le macchine virtuali,

Parallelismo e architetture parallele: microprocessori superscalari, multiprocessor, multithread  e GPU.

Architecture doman-specific  e sistemi a logica programmabile.

Organizzazione, caratteristiche ed architetture di sistemi per  servizi complessi.

 

Syllabus

The course presents the structure of general purpose and embedded processing systems, with particular reference to the Intel and ARM micro-architectures. In particular, are treated:

Principles of Computer Design: analysis of application characteristics, trends in technology, energy consumption, and costs.

The hierarchy of memory, virtual memory, cache memory, and virtual machines,

Parallelism and parallel architectures: superscalar microprocessor, multiprocessor, multithreaded and GPU.

Domain-specific architecture and programmable logic systems.

Organization, features and architecture of systems for complex services.

Bibliografia e materiale didattico
  • Computer Architecture, Fifth Edition: A Quantitative Approach, John L. Hennessy, David A. Patterson
  • Advanced Computer Architecture and Computing,S.S. Jadhav.
  • Microprocessor Architecture: From Simple Pipelines to Chip Multiprocessors, Jean-Loup Baer
  • Parallel computer organization and design, M. Dubois, M. Annavaram, P. Stenstrom
Bibliography
  • Computer Architecture, Fifth Edition: A Quantitative Approach, John L. Hennessy, David A. Patterson
  • Advanced Computer Architecture and Computing,S.S. Jadhav.
  • Microprocessor Architecture: From Simple Pipelines to Chip Multiprocessors, Jean-Loup Baer
  • Parallel computer organization and design, M. Dubois, M. Annavaram, P. Stenstrom
Indicazioni per non frequentanti

Nessuna indicazione specifica. La frequenza non è obbligatoria ma fortemente consigliata.

Non-attending students info

Attendance is not mandatory but strongly recommended.

Modalità d'esame

Gli studenti devono svolgere un'attività di progetto (in gruppo) come parte dell'esame.

L'esame consiste nella presentazione e nella discussione del progetto tecnico e di una prova orale.

Assessment methods

Students must perform a project activity (in a group) as part of the exam.

The exam consists of a presentation and discussion of the technical project and of an oral exam.

Updated: 15/09/2022 14:16