Scheda programma d'esame
COMPUTER ARCHITECTURE AND DIGITAL SYSTEMS
LUCA FANUCCI
Anno accademico2018/19
CdSEMBEDDED COMPUTING SYSTEMS
Codice601II
CFU12
PeriodoSecondo semestre
LinguaInglese

ModuliSettore/iTipoOreDocente/i
COMPUTER ARCHITECTURE ING-INF/05LEZIONI60
COSIMO ANTONIO PRETE unimap
DIGITAL SYSTEMSING-INF/01LEZIONI60
LUCA FANUCCI 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.

Lo studente apprenderà la capacità di gestire l'esplorazione dello spazio di progetto nella progettazione di circuiti integrati digitali secondo le principale metriche di progetto (complessità, velocità di elaborazione, consumo di potenza, robustezza e flessibilità). Saranno considerate le più moderne metodologie e strumenti software di ausilio alla progettazione e alla verifica per tecnologie integrate semi-custom ed FPGA. Inoltre lo studente apprenderà come progettare sistemi elettronici embedded basati su sensori con particolare riferimento all'acquisizione dei dati, al condizionamento dei segnali e alla loro elaborazione.

Knowledge

The student who successfully completes the course will be able to demonstrate a solid knowledge of the main issues related to computer architecture and digital systems. 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.The student will understand the high-performance and energy-efficient computer architecture, as a basis for informed software performance engineering and as a foundation for advanced work in computer architecture, compiler design, operating systems and parallel processing.

The student will also acquire the ability to master digital integrated circuit design trade-offs according to main performance metrics (area, speed, power consumption and flexibility) by exploiting state-of-the-art electronic design automation tools and high-level design methodologies for FPGA and semi-custom technologies. He or she will acquire the ability to understand sensor based electronic systems including sensor data acquisition, sensor conditioning and sensor data fusion.

Modalità di verifica delle conoscenze

Lo studente sarà valutato sulla sua capacità di discutere i contenuti del corso utilizzando la terminologia appropriata. Lo studente deve dimostrare la capacità di mettere in pratica ed eseguire le attività illustrate o svolte sotto la guida dell'insegnante durante il corso. Allo studente viene chiesto eseguire un progetto in gruppo per le due parti (architettura del computer e progettazione del sistema digitale).

metodi:

Prova orale finale
Rapporto orale
Rapporto scritto

Assessment criteria of knowledge

The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology. The student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course. At the student is also requested to perform a practical design project for both parts (computer architecture and digital system design).

Methods:

  • Final oral exam
  • Oral report
  • Written report
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.

Lo studente che completa con successo il corso è in grado di gestire l'esplorazione dello spazio di progetto per un circuito integrato digitale secondo le principali metriche di costo (area, velocità, costo, consumo di potenza, robustezza e flessibilità) e sfruttando le più moderne metodologie e strumenti software di ausilio alla progettazione ad alto livello di astrazione per tecnologie semi-custom ed FPGA. Inoltre lo studente è in grado di progettare sistemi elettronici embedded basati su sensori con particolare riferimento all'acquisizione dei dati, al condizionamento dei segnali e alla loro elaborazione.

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.

The student who completes the course is also able to master digital integrated circuit design trade-offs according to main performance metrics (area, speed, cost, power consumption, robustness  and flexibility) by exploiting state-of-the-art computer aided design tools and high-level design methodologies for FPGA and semi-custom technologies. The student is able to design sensor based electronic systems including sensor data acquisition, conditioning and data fusion.

Modalità di verifica delle capacità

Lo studente deve preparare e presentare i documenti relativi all'attività del 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 e sistemi digitali.

Prerequisites

Basic knowledge of computer systems architectures and digital systems.

Prerequisiti per studi successivi

Conoscenze di base di architetture dei sistemi di elaborazione e sistemi digitali.

Prerequisites for further study

Basic knowledge of computer systems architectures and digital system.

Indicazioni metodologiche

Attività didattiche:

frequentando le lezioni
partecipazione al seminario
partecipazione alle discussioni
lavoro di gruppo
Lavoro di laboratorio
Frequenza: consigliata

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

Attendance: Advised

Teaching methods:

  • Lectures
  • Seminar
  • laboratory
  • project work
Programma (contenuti dell'insegnamento)

Il corso è organizzato in due parti. La prima comprende:

-Classi di computer, tendenze tecnologiche, consumo energetico, prestazioni, valutazione e benchmark

-gerarchie di memoria, cache e memoria virtuale

-Instruction Level Parallelism, dynamic planning, multiple issue, speculation e multithreading

-Sistemi paralleli, processori vector, SIMD and GPU, multiprocessore simmetrico a memoria condivisa, multiprocessore a memoria condivisa distribuita, coerenza della cache e modelli di coerenza della memoria-

La seconda parte comprende:

- Metriche e metodologie per la progettazione di circuiti integrati digitali semi-custom ed FPGA.

- Strumenti software di ausilio alla progettazione (HW/SW) e alla verifica di circuiti integrati digitali.

- Progettazione di circuiti ed architetture (MAC, ALU, etc,) per l’elaborazione digitale dei segnali con cui sintetizzare sistemi complessi rispetto ai requisiti di area, velocità di elaborazione, consumo di potenza ed affidabilità

- Tecniche di progetto per la riduzione del consumo di potenza.

- Progettazione di sistemi elettronici embedded basati su sensori. Acquisizione dei dati, condizionamento dei segnali e loro elaborazione con particolare riferimento ai sensori di temperatura, MEMS inerziali e per la misurazione di parametri vitali.

Syllabus

The course is organized in two parts. The first one covers:

-Classes of computers, technology trends, power consumption, performance, evaluation and benchmarks -Memory hierarchy, cache and virtual memory

-Instruction Level Parallelism, dynamic scheduling, multiple issue, speculation and multithreading

-Vector architecture, SIMD and Graphics Processing Unit

-Symmetric shared-memory multiprocessors, distributed shared-memory multiprocessor, cache coherence and memory consistency

The second part covers:

-Design metrics and methodologies for digital integrated circuits design including FPGA.

-High-level EDA tools including HW/SW co-design.

-CMOS logic, latch and flop, ALU and MAC, power supply and clock distribution and I/O design.

-Design techniques for reduction of CMOS power consumption

-Sensor data acquisition, compensation, and fusion with emphasis on temperature,  inertial MEMS sensors and human vital parameters. 

Bibliografia e materiale didattico

Per la parte di computer architecture:

- 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

Per la parte di digital system design:

- J. M. Rabaey, A. Chandrakasan, B. Nikolic, Digital Integrated Circuits 2/E, Prentice-Hall

- K.C. Chang, “Digital Systems Design with VHDL and Synthesis”, IEEE Computer Society.

Ulteriori materiali saranno forniti dai docenti.

Bibliography

Recommended reading includes:

For the computer architecture part:

- 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

For the digital system design part:

- J. M. Rabaey, A. Chandrakasan, B. Nikolic, Digital Integrated Circuits 2/E, Prentice-Hall

- K.C. Chang, “Digital Systems Design with VHDL and Synthesis”, IEEE Computer Society .

Further materials will be provided by the lecturers.

Indicazioni per non frequentanti

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.

Ultimo aggiornamento 13/03/2019 09:30