Informazioni Generali

Risultati dell'apprendimento

CFU

9 CFU, 90 ore di didattica frontale distribuite in 6 ore a settimana (lezioni da 105 minuti).

Prerequisiti

Si consiglia vivamente che lo studente abbia seguito e superato il corso di Fondamenti di Informatica.

Orario delle lezioni

Orario valido dal 24/9/2018 al 19/1/2019 (primo semestre)
  • Martedì dalle 11:30 alle 13:15, aula 3 edificio didattica
  • Mercoledì dalle 11:30 alle 13:15, aula 3 edificio didattica
  • Venerdì dalle 11:30 alle 13:15, aula 1 edificio didattica

Piattaforma di Q&A

Per la registrazione e l'accesso: Piazza


Docenti

Francesco Lo Presti
Tel.: 067259 7725
E-mail: img (è necessario specificare [CE1819] nell'oggetto della mail)
Ufficio: stanza D1-12, corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.
Orario di ricevimento:
  • mercoledì dalle 10:00 alle 11:30 in ufficio.

Valeria Cardellini
Tel.: 067259 7388
E-mail: img (è necessario specificare [CE1819] nell'oggetto della mail)
Ufficio: stanza D1-17, corpo D dell'edificio "Ingegneria dell'Informazione", primo piano.
Orario di ricevimento:

  • mercoledì dalle 10:00 alle 11:00 in ufficio.

Tutor: Gabriele Russo Russo
E-mail: (è necessario specificare [CE1819] nell'oggetto della mail)


Avvisi

  • new 3 marzo 2019 - Visione/Discussione prove del secondo appello:
    • Mercoledì 6 marzo ore 15:00 presso lo studio del Prof. Lo Presti.
    • Giovedì 7 marzo dalle ore 10:00 alle ore 11:00 presso lo studio della Prof.ssa Cardellini.
    • Giovedì 7 marzo ore 15:00 presso lo studio del Prof. Lo Presti.
  • new 3 marzo 2019 - Sono disponibili i risultati della prova di laboratorio del 27 febbraio (vedi Appelli).
  • 28 febbraio 2019 - Sono disponibili i risultati del secondo esonero del 13 febbraio ed i risultati finali degli esoneri (vedi Appelli).
  • 25 febbraio 2019 - Sono disponibili i risultati dell'appello del 13 febbraio (vedi Appelli).
  • 16 febbraio 2019 - La prova di laboratorio del 27 febbraio verterà sul linguaggio C.
  • 9 febbraio 2019 - Per motivi logistici l'esame del 13 febbraio si terrà nelle aule B1 (II appello) e 4 (compito).
  • 9 febbraio 2019 - Visione/Discussione prove del primo appello: martedì 12 febbraio ore 11:00 presso lo studio del Prof. Lo Presti.
  • 9 febbraio 2019 - Verbalizzazione esami del primo appello: martedì 12 febbraio ore 10:00 presso lo studio del Prof. Lo Presti.
  • 7 febbraio 2019 - Sono disponibili i risultati del secondo esonero del 29 gennaio ed i risultati finali degli esoneri (vedi Appelli).
  • 5 febbraio 2019 - Sono disponibili i risultati dell'appello del 29 gennaio ed il testo della prova scritta (vedi Appelli).
  • 3 febbraio 2019 - E' disponibile il testo della prova di laboratorio in itinere (vedi Appelli).
  • 22 gennaio 2019 - Sono disponibili i testi degli esercizi su gerarchia di memorie e memoria virtuale svolti durante la lezione del 15 gennaio (es_GerarchiaMemorie.pdf, es_MemoriaVirtuale.pdf).
  • 20 gennaio 2019 - Sono disponibili le date della prove di laboratorio (vedi Appelli).
  • 14 gennaio 2019 - La lezione di martedì 15 gennaio si terrà in aula 1 alle ore 9:30.
  • 11 gennaio 2019 - Martedì 15 gennaio alle ore 9:30 si terrà una lezione di esercitazione sulla gerarchia di memorie; l'aula sarà comunicata lunedì.
  • 2 gennaio 2019 - Disponibili gli esercizi sulla rappresentazione dei numeri in virgola mobile (es_FloatingPoint.pdf).
  • 2 gennaio 2019 - Aggiunti i lucidi da 69 in poi in GerarchiaMemoria.pdf.
  • 25 dicembre 2018 - Sono state fissate le date delle sessioni invernali.
  • 25 dicembre 2018 - Sono disponibili i testi degli scritti di anni precedenti (vedi Esami).
  • 18 dicembre 2018 - Sono disponibili i voti della prova di laboratorio dell'11 dicembre.
  • 8 dicembre 2018 - Sono disponibili i voti della prova di esonero del 28 novembre e il calendario della prova di laboratorio (vedi Appelli). Si ricorda di effettuare la prenotazione su Delphi.
  • 26 novembre 2018 - La lezione di tutoraggio del 27/11 si terrà alle ore 11,30 in Aula 3 (e non alle ore 9,30).
  • 16 novembre 2018 - Si ricorda di effettuare la prenotazione su Delphi per la prova in itinere del 28 novembre (vedi Appelli).
  • 16 novembre 2018 - La prova di laboratorio in itinere si terrà martedì 11 dicembre 2018 (vedi Appelli).
  • 29 ottobre 2018 - La lezione ed il tutoraggio di martedì 30 ottobre non si terranno a causa della sospensione in detta giornata dell’attività didattica dell’Università degli Studi di Roma "Tor Vergata" per le condizioni meteorologiche previste per la mattinata di domani.
  • 21 ottobre 2018 - Per chi ha difficoltà ad accedere alla posta elettronica d'Ateneo, vedere la guida.
  • 9 ottobre 2018 - La prova in itinere è stata fissata per mercoledì 28 novembre, aule 1 e B2 ore 9:00.
  • 6 ottobre 2018 - Martedì 9 ottobre alle 9:30 in Aula 1 si terrà la prima lezione di tutoraggio.
  • 25 settembre 2018 - Per la discussione relativa al corso, useremo Piazza, una piattaforma di question-and-answer (Q&A), che è adatta per ottenere un aiuto veloce ed efficiente dai colleghi di corso e dai docenti.
    Per la registrazione e l'accesso: https://piazza.com/uniroma2.it/fall2018/ce1819/
  • 25 settembre 2018 - Per l'iscrizione al corso, usare Delphi.

Materiale Didattico

Testo consigliato

Calendario e lucidi delle lezioni


Giorno Argomento Lucidi Ultima modifica
25/9/2018 Organizzazione del corso
Introduzione
Organizz.pdf
Introduzione.pdf
25/9/2018
25/9/2018
26/9/2018 Introduzione
Codifica Binaria
Vedi lezione del 25/9
Codifica.pdf
 
26/9/2018
28/9/2018 Codifica Binaria Vedi lezione del 26/9
2/10/2018 Reti Combinatorie

3/10/2018 Reti Combinatorie

5/10/2018 Linguaggio C: introduzione
C_intro.pdf
C_intro_esempi.zip
7/10/2018
7/10/2018
9/10/2018 Linguaggio C: variabili e controllo
C_control.pdf
C_control_esempi.zip
11/10/2018
11/10/2018
10/10/2018 Flip Flop

12/10/2018 Linguaggio C: funzioni
C_funzioni.pdf
C_funzioni_esempi.zip
20/10/2018
20/10/2018
16/10/2018 Reti sequenziali
Set di Istruzioni MIPS

Set_Istruzioni.pdf
 
18/10/2018
17/10/2018 Set di Istruzioni MIPS Vedi lezione del 16/10
19/10/2018 Linguaggio C: array
 
Linguaggio C: puntatori
 
C_array.pdf
C_array_esempi.zip
C_puntatori.pdf C_puntatori_esempi.zip
21/10/2018
21/10/2018
10/11/2018
10/11/2018
23/10/2018 Set di Istruzioni MIPS Vedi lezione del 16/10
24/10/2018 Set di Istruzioni MIPS
Procedure
Vedi lezione del 16/10
Procedure.pdf
 
25/10/2018
26/10/2018 Procedure Vedi lezione del 24/10  
31/10/2018 SPIM SPIM.pdf 3/11/2018
6/11/2018 Assemblatore Assemblatore.pdf 11/11/2018
7/11/2018 ALU e Registri ALU_Reg.pdf 11/11/2018
9/11/2018 Linguaggio C: puntatori
Linguaggio C: stringhe
 
Linguaggio C: strutture e liste collegate
 
Vedi lezione del 19/10
C_stringhe.pdf
C_stringhe_esempi.zip
C_liste.pdf
C_liste_esempi.zip
 
10/11/2018
10/11/2018
18/11/2018
18/11/2018
13/11/2018 CPU Monociclo - Datapath CPU_Monociclo.pdf 23/11/2018
14/11/2018 CPU Monociclo - Unità di Controllo Vedi lezione del 13/11
16/11/2018 Rappresentazione dei numeri in virgola mobile Floating.pdf 18/11/2018
20/11/2018 CPU Multiciclo - Datapath Processore Multiciclo (dalla terza edizione)
CPU_Multiciclo.pdf
5/12/2018
21/11/2018 CPU Multiciclo - Datapath Vedi lezione del 20/11  
23/11/2018 Esercizi sulla rappresentazione dei numeri in virgola mobile
Gerarchia di memorie: introduzione
es_FloatingPoint.pdf
GerarchiaMemoria.pdf
2/1/2019
2/1/2019
30/11/2018 C: Allocazione dinamica di matrici
Correzione dell'esercizio in C della prova in itinere
Gerarchia di memorie: località e migrazione tra livelli
C_matrici_alloc_din.pdf
Esercizio4-Esonero.c
vedi lezione del 23/11
3/12/2018
3/12/2018
 
4/12/2018 CPU Multiciclo - Unità di Controllo Vedi lezione del 20/11  
5/12/2018 CPU Multiciclo - Unità di Controllo Vedi lezione del 20/11  
7/12/2018 Gerarchia di memorie: cache ad indirizzamento diretto Vedi lezione del 20/11  
14/12/2018 Correzione della prova di laboratorio
Gerarchia di memorie: cache completamente associative e set-associative, politiche di sostituzione, strategie di scrittura
ProvaLab.c
vedi lezione del 23/11
15/12/2018
 
18/12/2018 CPU - Pipeline Pipeline_Intro.pdf 25/12/2018
19/12/2018 CPU - Pipeline Vedi lezione del 18/12
Esempio Criticità Dati
 
21/12/2018 Gerarchia di memorie: migliorare le prestazioni
Memoria virtuale: introduzione
Vedi lezione del 23/11
MemoriaVirtuale.pdf
 
12/1/2019
8/1/2019 Dispositivi I/O - Introduzione Dispositivi-Short.pdf
DispositiviIO.pdf (dalla terza edizione)
20/1/2019
11/1/2019 Memoria virtuale Vedi lezione del 21/12  
15/1/2019 Esercitazione su gerarchia di memorie e memoria virtuale es_GerarchiaMemorie.pdf
es_MemoriaVirtuale.pdf
es_MemoriaVirtuale_sol.pdf
22/1/2019
22/1/2019
22/1/2019

Programmazione

Linguaggio C
Argomento Materiale
Tutoraggio 1: introduzione al C tutoraggio1.pdf
tutoraggio1.zip
Tutoraggio 2 Esercizi 1-5
Esercizi 6-10
Tutoraggio 3: array e puntatori Esercizi 11-25
puntatori.c
Tutoraggio 4-5 Esercizi C 26-30
Tutoraggio 6 Esercizi C 31-34
Alcune soluzioni

Assembly MIPS
Argomento Materiale
Numeri di Fibonacci
Fibonacci1.s
Fibonacci2.s
Tutoraggio 4-5 Esercizi ASM 0-4
Tutoraggio 6 Esercizi ASM 5-9
es9.s

Altri link utili

I seguenti link forniscono delle fonti per approfondimenti.


Programma preliminare

Introduzione. Organizzazione ed architettura di un calcolatore. Struttura e funzionalità. Livelli di astrazione. Tecnologia costruttiva. Breve rassegna storica.
Rappresentazione dell'informazione. Rappresentazione degli interi. Aritmetica degli interi. Rappresentazione in virgola mobile (formato IEEE 754). Aritmetica in virgola mobile. Codifica dei caratteri.
Reti logiche.
Programmazione in C.
Il set delle istruzioni. Le istruzioni. Le operazioni svolte dall'hardware. Gli operandi dell'hardware. Rappresentazione delle istruzioni all'interno del calcolatore. Modi di indirizzamento. Istruzioni aritmetiche. Istruzioni di load/store. Istruzioni di salto. Istruzioni logiche. Pseudo-istruzioni. Direttive. Chiamate di sistema. Dalla compilazione all'esecuzione di un programma: assemblatore, linker e loader. Confronto tra architetture RISC e CISC.
Unità logico-aritmetica. La costruzione di una ALU. Memoria. I sistemi di memorizzazione e le tecnologie di memorizzazione. Memoria principale. Lettura e scrittura di una RAM. Gli elementi di memoria.
Il processore: unità di elaborazione dati e unità di controllo. Introduzione. Progetto dell'unità di elaborazione dati: unità a ciclo singolo e multi-ciclo. L'unità di controllo per l'ALU. Definizione dell'unità di controllo. La microprogrammazione: il progetto dell'unità di controllo.
Pipelining. Introduzione. L'unità di elaborazione pipelined. Il controllo. Introduzione alle criticità.
La gerarchia di memorie.
Input/Output. Tipi e caratteristiche dei dispositi di I/O. Dischi. Bus sincroni ed asincroni.
Valutazione delle prestazioni. Introduzione alla valutazione delle prestazioni. La misura delle prestazioni. Relazioni tra le metriche. Benchmark.
Introduzione ai processori paralleli.

Esami

Modalità di esame

L'esame si compone di:

  • Prova scritta;
  • Prova di laboratorio.

Tali prove si terranno nelle sessioni di esami previste.
Non ci sono vincoli sulla partecipazione alle prove (eccetto la prenotazione obbligatoria per le prove scritte).
Tuttavia, la partecipazione ad una prova scritta (anche in caso di ritiro dalla prova) comporta la rinuncia automatica ad un voto sufficiente conseguito in una prova scritta precedente.
L'esame orale è solo su eventuale richiesta dei docenti.

Prova scritta

La prova scritta verte sugli argomenti dell'intero corso e prevede domande a risposta aperta ed esercizi.

E' prevista una prova in itinere durante il mese di novembre sulla prima parte del programma.
Il superamento con esito positivo della prova in itinere esonera lo studente - per la sola sessione invernale - dal dover svolgere la parte di prova scritta che verte sulla prima parte del programma.

Prova di laboratorio

Per accedere alla prova di laboratorio occorre aver superato la prova scritta (o la prova in itinere, per la sola prova di laboratorio che si terrà a dicembre).

Prove scritte di anni precedenti

Appelli

  • Prova in itinere Mercoledì 28 novembre 2018, ore 9:00 aule 1 e B2 edificio Didattica.
  • Prova di laboratorio in itinere (riservata agli studenti che hanno superato la prova in itinere) Martedì 11 dicembre 2018, aula Laboratorio Informatica:
    • Cognomi A-I ore 9:30
    • Cognomi L-Z ore 11:00
    E' obbligatoria la prenotazione su Delphi (contattare il Prof. Lo Presti in caso di problemi entro il pomeriggio del 10 dicembre).

  • I appello sessione invernale
    • Prova Scritta Martedì 29 gennaio 2019, ore 10:00 aule B1 e B3
    • Prova in Laboratorio Venerdì 8 febbraio 2019, ore 9:30 aula Laboratorio di Informatica.
      E' obbligatoria la prenotazione su Delphi (contattare il Prof. Lo Presti in caso di problemi entro il pomeriggio del 7 febbraio).

  • II appello sessione invernale
    • Prova Scritta Mercoledì 13 febbraio 2019, ore 10:00 aule B1 e 4
    • Prova in Laboratorio Mercoledì 27 febbraio 2019, ore 9:30 aula Laboratorio di Informatica
    • E' obbligatoria la prenotazione su Delphi (contattare il Prof. Lo Presti in caso di problemi entro il pomeriggio del 26 febbraio).

  • I appello sessione estiva
  • II appello sessione estiva
  • I appello sessione autunnale
  • II appello sessione autunnale

  •