CODICE |
65938 |
---|
ANNO ACCADEMICO |
2020/2021 |
---|
CFU |
12 cfu al 2° anno di 8719 INGEGNERIA INFORMATICA (L-8) - GENOVA
|
---|
SETTORE SCIENTIFICO DISCIPLINARE |
ING-INF/05 |
---|
LINGUA |
Italiano |
---|
SEDE |
GENOVA
|
---|
PERIODO |
Annuale |
---|
MATERIALE DIDATTICO |
AULAWEB |
---|
PRESENTAZIONE
Il corso vuole mettere in grado lo studente di comprendere e descrivere caratteristiche, funzioni e interazioni delle principali componenti di un moderno calcolatore elettronico sia dal punto di vista architetturale che del sistema operativo.
OBIETTIVI E CONTENUTI
OBIETTIVI FORMATIVI
Il corso nella prima parte presenta l'architettura di un calcolatore elettronico, le funzioni delle unità hardware che lo compongono e le interazioni fra di loro; nella seconda parte descrive la struttura dei sistemi operativi, le funzioni dei moduli in cui sono organizzati, gli algoritmi e le strutture software che utilizzano.
OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO
Parte I – Architettura dei calcolatori
- Instruction Set Architecture: il caso del processore MIPS.
- Aritmetic Logic Unit. Architettura interna.
- Architettura del processore. Pipelining delle istruzioni. Conflitti sui dati e sui controlli. Data forwarding e hazard detection.
- Unità di controllo. Implementazione cablata. Implementazione microprogrammata
- Gerarchia di memoria. Memoria cache: principi di funzionamento, elementi di progettazione.
- Memorie a dischi magnetici. Sistemi RAID. Memorie a dischi ottici.
- Metodi e strumenti per la valutazione delle prestazioni.
Parte II – Sistemi Operativi
- Concetti base, struttura monolitica e a microkernel. Macchine virtuali.
- Le chiamate a sistema e loro gestione.
- La gestione dei processi e dei thread. Lo scheduling della CPU.
- La comunicazione e sincronizzazione fra processi. Corse e regioni critiche. Mutua esclusione e polling attesa. Semafori e loro utilizzo per mutua esclusione e sincronizzazione.
- La gestione della memoria. Gestione paginata. Gestione segmentata.
- Il file system. Metodi di implementazione. Problematiche di protezione e condivisione.
- La gestione dell’input-output. Architettura DMA. Gestione dei dischi. Gestione clock.
MODALITA' DIDATTICHE
Lezioni ed esercitazioni
PROGRAMMA/CONTENUTO
Parte I – Architettura dei calcolatori
- Introduzione al corso. Definizione di architettura dei calcolatori e sua virtualizzazione e astrazione. Evoluzione e prestazioni dei calcolatori. Progettazione in funzione delle prestazioni.
- Instruction Set Architecture: il caso del processore MIPS. Caratteristiche delle istruzioni: elementi, rappresentazione, tipi, numero di indirizzi, progettazione del repertorio di istruzioni. Tipi di operandi. Tipi di operazioni. Modi di indirizzamento. Formati delle istruzioni. Supporto alle procedure. Interazioni con il Compilatore e ottimizzazioni del codice.
- Aritmetic Logic Unit. Architettura interna. Rappresentazioni dei numeri reali (IEEE 754). Somma moltiplicazione e divisione di numeri in virgola mobile.
- Il processore centrale. Architettura del processore. Organizzazione dei registri. Ciclo di esecuzione delle istruzioni. Pipelining delle istruzioni. Conflitti sui dati e sui controlli. Data forwarding e hazard detection.
- Unità di controllo. Fasi di una istruzione e microoperazioni. Controllo del processore: requisiti funzionali, segnali di controllo, organizzazione interna. Implementazione cablata. Implementazione microprogrammata: microistruzioni, unità di controllo microprogrammata.
- La memoria primaria. Gerarchia di memoria. Memoria cache: principi di funzionamento, elementi di progettazione (dimensione, funzioni di traduzione, algoritmi di sostituzione, politica di scrittura, dimensionamento delle linee, cache multiple). Tipi memoria (ROM, DRAM e SRAM) e loro organizzazione.
- Memorie a dischi magnetici: meccanismi di lettura e scrittura, organizzazione e formattazione dei dati, sistemi RAID. Memorie a dischi ottici.
- La valutazione delle prestazioni dei calcolatori. Metodi e strumenti per la valutazione delle prestazioni. Parametri misurabili e loro attendibilità. Interpretazione delle misure di prestazione.
TESTI/BIBLIOGRAFIA
Materiale didattica disponibile su Aulaweb.
Bibliografia: Struttura e progetto dei calcolatori di D. Patterson, J. Hennessy, Zanichelli.
DOCENTI E COMMISSIONI
MODALITA' DI ACCERTAMENTO
capacità di risolvere semplici problemi di progettazione e di programmazione sugli argomenti del corso
conoscenza degli argomenti trattati a lezione e capacità di analisi e discussione delle tematiche trattate