- Oggetto:
- Oggetto:
Architettura degli Elaboratori II
- Oggetto:
Computer Architecture II
- Oggetto:
Anno accademico 2023/2024
- Codice dell'attività didattica
- MFN0969
- Docenti
- Daniele Gunetti (Titolare)
Marco Aldinucci (Titolare) - Corso di studi
- [008515] Laurea magistrale in informatica
- Anno
- 1° anno 2° anno
- Periodo didattico
- Primo semestre
- Tipologia
- Caratterizzante
- Crediti/Valenza
- 6 CFU (Ore aula: 48)
- SSD dell'attività didattica
- INF/01 - informatica
- Modalità di erogazione
- Tradizionale
- Lingua di insegnamento
- Italiano
- Modalità di frequenza
- Facoltativa
- Tipologia d'esame
- Orale
- Prerequisiti
- Agli studenti è richiesta una conoscenza di base dell’architettura di un computer (secondo quanto studiato nel corso di Architetture degli Elaboratori I) e dei concetti di base dei sistemi operativi (secondo quanto studiato nel corso di Sistemi operativi).
Insegnamenti propedeutici (forniscono le competenze attese in ingresso): Architetture degli elaboratori I e Sistemi OperativiStudents must have a basic knowledge of computer achitectures (accordingly to what studied in the course on Computer Architecture I) and of Operating systems (accordingly to what studied in the course on Operating Systems)
Preparatory courses (providing the expected entry skills): Computer Architecture I and Operating Systems. . - Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
La conoscenza approfondita dell’architettura interna dei moderni computer è un requisito fondamentale del curriculum di qualsiasi professionista dell’informatica. Conoscere le diverse tipologie di processori offerti dal mercato permette di scegliere quelli più adeguati per il tipo di problema che si vuole risolvere e del tipo di servizio che si vuole fornire, raggiungendo il giusto compromesso tra costi e prestazioni. Questo insegnamento concorre agli obiettivi formativi degli ambiti "Reti e Sistemi Informatici", "Realtà Virtuale" e "Sistemi per il Trattamento dell'Informazione" del Corso di Laurea Magistrale in Informatica.In depth knowledge of the internal achitecure of modern computers is a fundamental requirement in the curriculum of every professional in computer science. Knowing the different kind of processors available on the market allows to choose those more suited for a particular problem that has to be solved and for a certain service that has to be provived, so as to reach the right trade-off between costs and performance. This teaching contributes to the educational objectives of the areas "Computer Networks and Systems," "Virtual Reality," and "Information Processing Systems" of the Master of Science in Computer Science degree program.- Oggetto:
Risultati dell'apprendimento attesi
Le studentesse e gli studenti acquisiranno la conoscenza dettagliata dell'architettura e del funzionamento dei moderni processori, e saranno in grado di ragionare qualitativamente sulle prestazioni che ogni tipologia di processori è in grado di fornire in base al tipo di problema e algoritmo adottato. Avranno inoltre appreso i fondamenti della programmazione delle moderne applicazioni basate su GPGPU.CONOSCENZA E CAPACITÀ DI COMPRENSIONE: le studentesse e gli studenti acquisiranno la padronanza della terminologia tecnica delle architetture e del loro funzionamento, in particolare del modo in cui programmi vengono eseguiti all'interno del processore per massimizzare le prestazioni. Capiranno anche come vari parametri al contorno: il tipo di compilatore usato, le dimensioni della cache, la presenza di una memoria primaria in cui risiedono dati e programmi, possono influire pesantemente sulle prestazioni del processore.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: le studentesse e gli studenti acquisiranno le competenze di base per ragionare sul funzionamento di un generico processore moderno sul grado di prestazioni che sarà in grado di fornire per diversi tipi di applicazioni, e se questo sia adeguato per il tipo di prestazioni che si vogliono raggiungere, ed eventualmente come intervenire per migliorarne l'efficienza.
AUTONOMIA DI GIUDIZIO: le studentesse e gli studenti saranno in grado di compiere in modo autonomo scelte e decisioni che impattano sulla scelta di un processore, sulla sua configurazione e sul suo funzionamento, incluse eventualmente le caratteristiche al contorno che deve avere la macchina su cui è impiegato quel processore.
ABILITÀ COMUNICATIVE: la terminologia specifica dei processori moderni, la loro configurazione interna e specifiche tecniche, acquisita dalle studentesse e dagli studenti e testata in fase di esame, permetterà loro di interloquire con altre figure professionali informatiche nonché con utenti eventualmente non competenti in materia.
CAPACITÀ DI APPRENDIMENTO: acquisizione di capacità autonome di apprendimento e di autovalutazione sugli argomenti del corso.
Students will gain detailed knowledge of the architecture and operation of modern processors, and will be able to reason qualitatively about the performance that each type of processor is capable of providing based on the type of problem and algorithm adopted. They will also have learned the fundamentals of programming modern GPGPU-based applications.KNOWLEDGE AND UNDERSTANDING: students will master the technical terminology of architectures and how they work, particularly how programs are executed within the processor to maximize performance. They will also understand how various boundary parameters-the type of compiler used, the size of the cache, the presence of primary memory in which data and programs reside-can heavily affect processor performance.
APPLYING KNOWLEDGE AND UNDERSTANDING: students will acquire the basic skills to reason about the operation of a generic modern processor about the degree of performance it will be able to provide for different types of applications, and whether this is adequate for the type of performance to be achieved, and if necessary, how to intervene to improve its efficiency.
MAKING JUDGEMENTS: students will be able to autonomously make choices and decisions that impact the choice of a processor, its configuration and functioning, including possibly the characteristics that the machine on which that processor is employed must have.
COMMUNICATION SKILLS: the specific terminology of modern processors, their internal configuration and technical specifications, acquired by the students and tested in the examination phase, will enable them to interact with other IT professionals as well as with users who may not be proficient in the field.
LEARNING SKILLS: Acquisition of independent learning and self-assessment skills on course topics.
- Oggetto:
Modalità di insegnamento
Sono previste 48 ore di lezione frontali che seguono il programma riportato qui sopra, integrate da casi di studio di processori e architetture reali.48 hours of lessons following the syllabus given above, supplemented by case studies of real processors and architectures.- Oggetto:
Modalità di verifica dell'apprendimento
Esame orale, nel quale si verificherà la capacità di studentesse e studenti di ragionare e di mettere in relazione fra loro gli argomenti del corso. Durante il corso domande, esercizi e discussioni con le studentesse e gli studenti su temi scelti.Oral examination, in which students' ability to reason and relate course topics to each other will be tested. During the course questions, exercises and discussions with students on selected topics.- Oggetto:
Programma
* PARTE I:o Concetti di base delle architetture RISCo Concetti di base del Pipelining o Instruction Level Parallelism o Instruction Level Parallelism o Concetti fondamentali di Caching * PARTE II: o Introduzione -- Multithreading o Architetture Multiprocessore o Architetture Multicomputer, Processori vettoriali o GPGPU (prof. Aldinucci)
- PART I:
o Introduction to RISC architectures: basic concepts o Pipelining o Instruction Level Parallelism o Instruction Level Parallelism o Caching * PART II: o Introduction and Multithreading o Multiprocessor Architectures o Multicomputers Architectures, Vector Processors o GPGPU (prof. Aldinucci)
.
- PART I:
Testi consigliati e bibliografia
- Oggetto:
D. A. Patterson & J. L. Hennessy: Computer organization and
Design: the Hardware / Software Interface. 5th edition. Elsevier, 2014J. L. Hennessy & D. A. Patterson: Computer Architecture:
A Quantitative Approach, 6th edition. Elsevier - Morgan Kaufmann, 2019A. S. Tanenbaum: Structured Computer Organization, 5th ed.
Pearson, 2005.- Oggetto: